Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Ohjelmistotekniikka johdanto Kevät 2002 Päivi Ovaska LTKK/Tite.

Samankaltaiset esitykset


Esitys aiheesta: "Ohjelmistotekniikka johdanto Kevät 2002 Päivi Ovaska LTKK/Tite."— Esityksen transkriptio:

1 Ohjelmistotekniikka johdanto Kevät 2002 Päivi Ovaska LTKK/Tite.

2 Miksei vaan koodata? Kerrostaloa ei voi rakentaa samoilla tiedoilla kuin koirankoppia. Vastaavasti kaupallisia ohjelmistoja ei voi tehdä pelkällä ohjelmointitaidolla. Ohjelmoijan ja ohjelmistotuottajan suhdetta voikin tietyssä mielessä verrata kirvesmiehen ja insinöörin suhteeseen

3 Ohjelmistotuotanto/ ohjelmistotekniikka Ohjelmistotuotanto käsittää ohjelmistojen tuotantoprosessit, niiden hallitsemisen ja niissä käytettävät menetelmät. Ohjelmistotuotanto etsii vastauksia sellaisiin kysymyksiin kuin miten saan aikaiseksi asiakkaan tarpeiden mukaisen järjestelmän kuinka tehdä luotettavasti toimiva järjestelmä miten hallitsen monimutkaisen järjestelmän kehittämisen niin että järjestelmän eri osat toimivat saumattomasti yhdessä kuinka järjestelmä onnistutaan tekemään sovitun aikataulun puitteissa...

4 Ohjelmistotuotannon kasvunäkymät TEKES / Suomen ohjelmistoteollisuuden kasvun strategia ja haasteet (1999): Ohjelmistoala kasvaa kaikkialla maailmassa paljon nopeammin kuin talous keskimäärin Ohjelmistoteollisuus kasvaa lähivuosina todennäköisesti yhdeksi Suomen teollisuusklustereista Ohjelmistoteollisuuden liikevaihto vuonna 1998 oli Suomessa noin 10 miljardia markkaa ja alalla työskenteli noin 20'000 henkilöä; ohjelmistoalalla toimivia yrityksiä on Suomessa tuhansia Henkilöstöpula on maailmanlaajuinen ilmiö ohjelmistoalalla Ohjelmistoyritykset toivovat saavansa puolet työvoimastaan yliopistotasolta

5 Ohjelmistotekniikan sovellusalueita

6 Ohjelmistotuotannon standardit ja mallit Ohjelmistoprosessin arviointi ja parantaminen - Software Process Assesment and Improvement SPICE - Software Process Improvement and Capability dEtermination SW-CMM - Capability Mature Model for Software Trillium Ohjelmiston elinkaariprosessit - Software life-cycle processes ISO/IEC 12207 - Software life-cycle processes ISO/IEC 12207 - Software life-cycle processes Tuotelaatu - Software Product Quality ISO/IEC 9126 - Product quality

7 Ohjelmistotuotannon standardit ja mallit Laatujärjestelmä - Quality System ISO 9001 - Quality systems: Assurance of design/development, production, installation and servicing capability ISO 9001 - Quality systems: Assurance of design/development, production, installation and servicing capability ISO 9000-3 - Guidelines for the application of ISO 9000 to the development, supply and maintenance of software ISO 9000-3 - Guidelines for the application of ISO 9000 to the development, supply and maintenance of software MSQH - Modelling a Software Quality Handbook Tietoturvallisuus - Security Techniques SSE-CCM - Systems Security Engineering CMM

8 Software -- ohjelmisto Computer programs, procedures, rules, documentation, and data pertaining to the operation of a computer system. Software Engineering – Ohjelmistotuotanto, ohjelmistotekniikka “The art of producing high quality software - in schedule and - in budged.” “The application of a systematic; disciplined, quantifiable approach to the development, operation, and maintenance of software [IEE 610.12] Vapaa tulkinta: Ohjelmistotuotanto – ohjelmistotyö, jonka tuloksena syntyvät järjestelmät täyttävät käyttäjiensä kohtuulliset toiveet ja odotukset ja tämän lisäksi valmistuvat laadittujen aikataulujen ja kustannusarvioiden puitteissa Määritelmiä

9 Ohjelmistotyyppejä Varus- ja työkaluohjelmistot Teknis-tieteelliset laskentaohjelmistot Tietämyspohjaiset järjestelmät Kaupallis-hallinnolliset järjestelmät Prosessinohjaus- ja prosessiautomaatiojärjestelmät Sulautetetut järjestelmät WWW-pohjaiset ohjelmistot Reaaliaikajärjestelmät, reaktiiviset järjestelmät

10 Ohjelmistoa kuvaavat ominaisuudet Ohjelmiston koko ja käsiteltävän tiedon määrä Vasteaika- ja reaaliaikaisuusvaatimukset Luotettavuus Hajautus Tuotteistusaste

11 Esimerkkijärjestelmiä ominaisuus sovellus kokotietokan nan koko vasteaikahajautusluotettavuustuotteistus- aste matkapuhelin keskus ROM-muistin koko 1MB -kovia reaaliaikaisuusvaa timuksia hajautettu moniprosessori järjestelmä kahdennettuja komponentteja tuote, asiakaskohtai sia piirteitä televisiovasta anotin ROM-muistin koko 1 MB -kovia reaaliaikaisuusvaa timuksia 2 prosessoria, useita signaaliprosess oreita massa- tuote suurehko hissijärjestelm ä 50 000 koodiriviä-kovia reaaliaikaisuusvaa timuksia hajautettu, CAN-väylä virhetoiminnot estetty erillisellä elektroniikalla tuotteistettu, konfiguroitav a ko. rakennukseen vakuutusten hoitojärjestel mä 300 000 koodiriviä, 100 näyttöä 100 relaatiotiet okannan taulua vasteaika alle sekunnin keskitetty järjestelmä, satojen päätteiden verkko käyttökatkokse t haittaavat asiakaspalvelu a räätälöity

12 Yrityksen tietotekniikka

13 Yrityksen kilpailutilanne

14 Ohjelmistotuotannon ongelmia

15 korkeat kustannukset työmäärät ja aikataulut arvioitu väärin (yli puolet ohjelmistoprojekteista myöhästyy) ohjelmistotuonnon ongelmat näyttävät pääasiassa liittyvän itse tuotantoprosessiin eikä uusiin menetelmiin tai tekniikoihin alan tutkimus tulisi kohdistaa tuotantoprosessiin

16 Ohjelmistotekniikan kehittyminen kansanperinteestä tieteeksi [Shaw 1990]

17 ”There is no Silver Bullet” Frederic Brooks Ohjelmistojen – monimutkaisuus – näkymättömyys – muunnettavuus – ainutkertaisuus – menetelmien skaalautumattomuus – epäjatkuvuus

18 Kannattaako edes yrittää? ”Parhaiten onnistuvat ne, jotka eivät luota liikaa viimeisimpiin poppakonsteihin, mutta ovat silti valmiita itse kokeilemaan uusia ideoita, vaikka ne esitettäisiinkin karnevaalihumussa mainosmiesten pötypuheiden seassa” [Weinberg 1982] Mikään ei korvaa ratkaistavan ongelman perusteellista ymmärtämistä- joskus voi tosin käydä hyvä tuuri Mikään ratkaisu ei sovellu kaikkiin tehtäviin ja johonkin tilanteeseen parhaiten soveltuva lähestymistapa voi olla toisessa tilanteessa kaikista huonoin

19 Onnistumisen teesejä On olemassa monia hyödyllisiä lähestymistapoja, jotka toimivat useammassa kuin yhdessä tilanteessa, joten kannattaa tutustua sellaiseen mikä on toiminut aikaisemmin Ongelman ratkaisun niksi ei ole pelkästään miten menetelmiä sovelletaan (know-how) vaan mieluummin milloin niitä sovelletaan (know- when)- tämä antaa mahdollisuuden sovittaa ratkaisumenetelmä ongelmaan eikä päinvastoin

20 Onnistumisen teesejä Riippumatta siitä, kuinka hyvin taidat miten ja milloin, on olemassa ongelmia, jotka ovat nykytietämyksellä mahdottomia ratkaista tai joiden perimmäisiä ominaisuuksia kukaan ei ymmärrä riittävän hyvin: nöyryys on siis aina paikallaan

21 Virhekustannusten väheneminen eräässä ohjelmistoyrityksessä


Lataa ppt "Ohjelmistotekniikka johdanto Kevät 2002 Päivi Ovaska LTKK/Tite."

Samankaltaiset esitykset


Iklan oleh Google