Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

1 Yleistä ohjelmistosuunnittelusta RASE 8.5.2006.

Samankaltaiset esitykset


Esitys aiheesta: "1 Yleistä ohjelmistosuunnittelusta RASE 8.5.2006."— Esityksen transkriptio:

1 1 Yleistä ohjelmistosuunnittelusta RASE 8.5.2006

2 2 Yleistä ohjelmistotuotannosta  ATK osaksi jokapäiväistä toimintaa 1960- ja 1970-luvuilla  Ohjelmistotekniikkaa hyödynnetään päivittäin  pankkiautomaatit  puhelimet  kaukosäätimet  potilashallintojärjestelmät  toimistosovellukset  Jne..

3 3  Software Engineering  = ohjelmistotekniikka tai ohjelmistotuotanto  tarkoittaa ohjelmistotyötä, jonka tuloksena syntyvät järjestelmät täyttävät käyttäjiensä kohtuulliset toiveet ja odotukset, valmistuvat määritellyn aikataulun ja arvioitujen kustannusten puitteissa Yleistä ohjelmistotuotannosta

4 4  Ohjelmistotekniikalla ei ole mitään tiettyä sovellusaluetta  varus- ja työkaluohjelmistot  Esim. tekstinkäsittely, kääntäjät, käyttöjärjestelmät  teknis-tieteellinen laskenta  Esim. luonnonilmiöiden mallinnus  tietämyspohjaiset järjestelmät  Esim. lainsäädäntöä toteuttavat sovellusalueet, asiantuntijajärjestelmät, sairaalajärjestelmät Sovellusalueet

5 5  kaupallishallinnolliset ohjelmistot  Esim. palkanlaskenta, varastonvalvonta  prosessinohjaus- ja prosessiautomaatiojärjestelmät  Esim. paperikoneen ohjaus, matkapuhelinverkon hallintajärjestelmä  sulautetut järjestelmät  Esim. television, videon, matkapuhelimen ja pesukoneen toimintaa ohjaavat ohjelmistot  reaaliaikajärjestelmät (reaktiiviset järjestelmät)  Esim. kaukosäätimet, auton vakionopeuden säädin, graafinen käyttöliittymä  verkko-opetus  Esim. verkko-oppimisalusta  Monet järjestelmät ovat edellisten kombinaatioita Sovellusalueet

6 6  Ohjelmiston koko ja käsiteltävän tiedon määrä  koko voidaan ilmoittaa tavuina, koodiriveinä, toimintojen lukumääränä, näyttöjen määränä tai tietokannan koolla/monimutkaisuudella  ohjelmistojen koot voivat vaihdella muutamasta sadasta koodirivistä kymmeniin miljooniin riveihin  Vasteaika- ja reaaliaikaisuus  vasteaika kuvaa järjestelmän nopeutta vastata tiettyihin ulkoisiin tapahtumiin  termiä reaaliaikaisuus käytetään kuvaamaan vasteajan vaatimuksia  eräajo-ohjelmistoissa ei yleensä vasteaikavaatimuksia  prosessinohjausjärjestelmissä kovat vasteaikavaatimukset (kovuus ei tarkoita välttämättä lyhyttä vasteaikaa…) Ohjelmistojen luonne

7 7  Luotettavuus  tarkoitetaan suojautumista ohjelmiston virheitä ja laitteiston ja ympäristön häiriöitä vastaan  ohjelmistojen virheitä vastaan voidaan suojautua ohjelmoimalla ylimääräisiä tarkistuksia  laitteistojen ongelmia vastaan voidaan suojautua monistamalla laitteiston osia tai ohjelmoimalla laitteistoon toipumismenettelyjä  Hajautus  nykyajan järjestelmät tyypillisesti hajautettuja  myös sulautetut järjestelmät ja prosessinohjausjärjestelmät voivat olla hajautettuja Ohjelmistojen luonne

8 8  Tuotteistusaste  räätälöidyt ohjelmistot tehdään tietyn asiakkaan tarpeisiin ja tietylle toimialalle  räätälöinti voidaan toteuttaa täysin uudesta sovelluksesta tai muokataan käytössä olevaa sovellusta  tuotekehitysprojekti tähtää tuotteeseen, joka soveltuu monille asiakkaille  monet ohjelmistot näiden kahden tapauksen väliltä Ohjelmistojen luonne

9 9  Ohjelmistotuotannon historia on lyhyt  teollisia tuotteita tuotettu vasta muutamia vuosikymmeniä  Tietotekniikan nopea kehitys mahdollistanut tuotteiden koon kaksinkertaistumisen muutaman vuoden välein  Nykyiset isot järjestelmät / ohjelmistot ovat monimutkaisimpia insinöörityön näytteitä ihmiskunnan historiassa  kymmenien tuhansien koodirivien määrä yleistä, suurimmat kymmeniä miljoonia rivejä…  Ohjelmistotuotteet ovat monimutkaisia  tavallisessa salapoliisiromaanissa noin 10 000 lausetta  miljoonan rivin ohjelmisto vastaisi 100-osaista salapoliisiromaanisarjaa, jossa henkilöt, johtolangat, murhaajat ja kaikki pienimmätkin asiat ovat ristiriidattomia  Ohjelmistotuotannossa valmiiden tuotteiden muokkaaminen on yleistä  2/3 alan työstä on vanhojen ohjelmien korjaamista, muuttamista ja jatkokehittelyä Ohjelmistotuotannon ongelmia

10 10  Mikään ohjelmisto ei ole virheetön  Yritysten kannalta ongelmia aiheuttavat korkeat kustannukset ja myttyyn menneet hankkeet  Suomessakin on yrityksiä ajautunut konkurssiin ohjelmistotekniikan vuoksi  Työmäärät ja aikataulut arvioidaan yleensä väärin  tutkimuksen mukaan yli puolet ohjelmistoprojekteista myöhästyy ja ylittää kustannuksensa  Miksi kustannuksen ja työmäärät arvioidaan väärin? Ohjelmistotuotannon ongelmia

11 11  Yritysten kannalta ongelmia aiheuttavat korkeat kustannukset ja myttyyn menneet hankkeet  Suomessakin on yrityksiä ajautunut konkurssiin ohjelmistotekniikan vuoksi  Työmäärät ja aikataulut arvioidaan yleensä väärin  tutkimuksen mukaan yli puolet ohjelmistoprojekteista myöhästyy ja ylittää kustannuksensa  Miksi kustannukset ja työmäärät arvioidaan väärin?  jos samassa yrityksessä tehty aikaisemmin saman alan vastaavanlainen projekti, niin onnistumisen mahdollisuudet paranevat  ei ole laskentatietoa tarjolla ja yleensä vanhoja projekteja ei voida suoraan verrata uuteen  saadaanko osaavimmat ja kokeneimmat resurssit projektiin. Ihmisten tuottavuus saattaa vaihdella huomattavasti  todellinen työmäärä = arvioitu työmäärä * PII * 30% (alan humoristista kansanperinnettä, joka ei kyllä ole kaukana totuudesta…) Ohjelmistotuotannon ongelmia

12 12 Frederik Brooks ”There is no silver bullet”:  Monimutkaisuus  ongelmat monimutkaisia->ohjelmistot monimutkaisia  hyvälläkään ohjelmistosuunnittelulla monimutkaisuutta ei saada pois, mutta huonolla pystytään helposti lisäämään  monimutkaisuuden minimointi ja rajapintojen määrän minimointi, selkeys ja yksinkertaisuus ohjelmistosuunnittelun keskeisiä periaatteita  Näkymättömyys  keskeneräisen projektin valmiusastetta erittäin vaikea arvioida  projekti voi olla edellä aikataulua, vaikka yli puolet ajasta jo käytetty ja koodausta ei ole edes aloitettu. Toinen projekti taas saattaa olla myöhässä, vaikka puolet ajasta vielä käyttämättä ja ollaan jo testaus-vaiheessa  projektin vaiheistaminen ja välietapit projektipäällikön työkalut  mitä pienempiin osiin tehtävät voidaan jakaa sitä helpompaa on projektin etenemisen seuranta Ohjelmistotekniikan kehitys

13 13  Muunnettavuus  yleensä jo projektin aikana ohjelmistoon tehdään jatkuvasti muutoksia ja ylläpitovaiheessa tahti kiihtyy  jos kehitetään rinnan laitteistoa ja ohjelmistoa ja laitteistossa huomataan testeissä vikaa, niin yleensä ohjelmistoa muutetaan.  toimintaympäristön muutokset, ohjelmiston virheet ja muuttuvat vaatimukset kasaavat ohjelmistolle muutospaineita koko sen elinkaaren ajan  huolellinen määrittely ja suunnittelu vähentävät muutostarpeita, mutta eivät kokonaan poista niitä  ohjelmistojen ylläpidettävyys on erittäin tärkeä ominaisuus  Ainutkertaisuus  projektit yleensä ainutlaatuisia, kerran toteutettavia. Ei suoraan hyödynnettävää aikaisempaa kokemusta ja karttuvaa tietotaitoa ei voida välttämättä suoraan hyödyntää tulevissakaan projekteissa  seurausta alan nopeasta kehityksestä ja nuoruudesta. Uutta teknologiaa virtaa alalle jatkuvasti ja tämän seurauksena uusia sovellusalueita  millainen olisi rakennustyömaa, jos se tehtäisiin kuten ohjelmistoprojektit? Ohjelmistotekniikan kehitys

14 14  Skaalautumattomuus  se mikä toimii pienessä projektissa ei välttämättä toimi ollenkaan isossa projektissa  pienessä projektissa ei välttämättä tehdä kunnon suunnitelmia, kaikki tuntevat suurin piirtein koko ohjelmiston, dokumentaatiota ei välttämättä tehdä jne. Yksittäinen uroteko saattaa pelastaa uppoavissa olevan projektin  suuri projekti vaatii hyvän projektinohjauksen, dokumentaation. Suurta projektia ei yksittäinen uroteko pysty pelastamaan. Auttaako resurssien lisääminen?  Epäjatkuvuus  perinteisen tekniikan kohdalla yleensä näin ei käy. Yhden pultin irtoaminen pilvenpiirtäjän katolta ei luhista taloa  ohjelmistoissa oleva virhe aiheuttaa yleensä epäjatkuvuuskohdan. Ohjelma kaatuu  yhdenkin bitin virhe saattaa aiheuttaa miljoonien eurojen vahingot  testaamalla ei millään saada kaikkia epäjatkuvuuskohtia kiinni. Erikoistilanteita on niin paljon Ohjelmistotekniikan kehitys


Lataa ppt "1 Yleistä ohjelmistosuunnittelusta RASE 8.5.2006."

Samankaltaiset esitykset


Iklan oleh Google