1 ohjelmistotekniikka johdanto kevät 2003 hanna-kaisa lammi ltkk/tite
Post on 21-Dec-2015
222 views
TRANSCRIPT
![Page 1: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/1.jpg)
1
OhjelmistotekniikkaOhjelmistotekniikkajohdantojohdanto
Kevät 2003Hanna-Kaisa LammiLTKK/Tite
.
![Page 2: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/2.jpg)
2
Miksei vain koodata?Miksei vain koodata?
Kerrostaloa ei voi rakentaa samoilla tiedoilla kuinkoirankoppia.
Vastaavasti kaupallisia ohjelmistoja ei voi tehdä pelkällä ohjelmointitaidolla.
Ohjelmoijan ja ohjelmistotuottajan suhdetta voikin tietyssä mielessä verrata kirvesmiehen ja insinöörin suhteeseen
![Page 3: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/3.jpg)
3
Mitä on ohjelmistotuotanto?Mitä on ohjelmistotuotanto?
Ohjelmistotuotanto käsittää ohjelmistojen tuotantoprosessit, niiden hallitsemisen ja niissä käytettävät menetelmät, eli– tavat, kuinka ohjelmistoja tuotetaan– kuinka tuotantoprosessia hallitaan niin, että
lopputuotos on sellainen kuin haluttiin– millä menetelmillä lopputulos saavutetaan
![Page 4: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/4.jpg)
4
Tyypillisiä kysymyksiäTyypillisiä kysymyksiä
Miten saan aikaiseksi asiakkaan tarpeet täyttävän ohjelmiston?
Kuinka teen luotettavasti toimivan järjestelmän?
Kuinka suunnittelen ohjelmiston niin, että eri osat toimivat saumattomasti yhteen?
Kuinka saan tehtyä ohjelmiston sovitun aikataulun puitteissa
jne…
![Page 5: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/5.jpg)
5
Ohjelmistotuotannon Ohjelmistotuotannon sovellusalueitasovellusalueita
Lähde: Haikala, Märijärvi: Ohjelmistotuotanto, 2000.
![Page 6: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/6.jpg)
6
Ohjelmistotyyppejä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
![Page 7: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/7.jpg)
7
Ohjelmistotuotannon Ohjelmistotuotannon kasvunäkymätkasvunä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
![Page 8: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/8.jpg)
8
Ohjelmistotuotannon osa-alueitaOhjelmistotuotannon osa-alueitaLiiketoiminta, johtaminen
Laatujärjestelmä
Hankkeiden hallinta (tuotteen tasolla)
Projektinhallinta
Projektinhallinta
Projektinhallinta
tuotteenhallinta
laadunvarmistus
dokumentointi
määrit- tely
käyt- töönotto, ylläpito
testausohjel- mointi
suun- nittelu
vaatimustenhallinta...
Haikala, Märijärvi: Ohjelmistotuotanto, 2000.
![Page 9: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/9.jpg)
9
Ohjelmistotuotannon standardit Ohjelmistotuotannon standardit ja mallitja 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
Tuotelaatu - Software Product Quality ISO/IEC 9126 - Product quality
![Page 10: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/10.jpg)
10
Ohjelmistotuotannon standardit Ohjelmistotuotannon standardit ja mallitja mallit
Laatujärjestelmä - Quality System 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
MSQH - Modelling a Software Quality Handbook
Tietoturvallisuus - Security Techniques SSE-CCM - Systems Security Engineering CMM
![Page 11: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/11.jpg)
11
MääritelmiäMääritelmiäSoftware -- ohjelmistoComputer 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
![Page 12: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/12.jpg)
12
Ohjelmistoa kuvaavat Ohjelmistoa kuvaavat ominaisuudetominaisuudet
Ohjelmiston koko ja käsiteltävän tiedon määrä
Vasteaika- ja reaaliaikaisuusvaatimuksetLuotettavuusHajautusTuotteistusaste
![Page 13: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/13.jpg)
13
EsimerkkijärjestelmiäEsimerkkijärjestelmiäominaisuus
sovellus
koko tieto-kannan koko
vasteaika hajautus luotettavuus tuotteistus-
aste
matkapuhelin-keskus
ROM-muistin koko 1MB
- kovia reaaliaikaisuus-vaatimuksia
hajautettu moniprosessorijärjestelmä
kahdennettuja komponentteja
tuote, asiakaskoh-taisia piirteitä
televisio-vastaanotin
ROM-muistin koko 1 MB
- kovia reaaliaikaisuus-vaatimuksia
2 prosessoria, useita signaali-prosessoreita
massa-
tuote
suurehko hissi-järjestelmä
50 000 koodiriviä - kovia reaaliaikaisuus-vaatimuksia
hajautettu, CAN-väylä
virhetoiminnot estetty erillisellä elektroniikalla
tuotteistettu,
konfiguroita-va ko. rakennukseen
vakuutusten hoito-järjestelmä
300 000 koodiriviä, 100 näyttöä
100 relaatio-tietokan-nan taulua
vasteaika alle sekunnin
keskitetty järjestelmä, satojen päätteiden verkko
käyttökatkok-set haittaavat asiakas-palvelua
räätälöity
![Page 14: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/14.jpg)
14
Prosessi- ja tuotantoautomaatio
Tuotteiden suunnittelu, operatiiviset järjestelmät,
tuotannonohjaus, materiaalihallinto,
logistiikka
Taloushallinto
Johdon tietojärjestelmät,
päätöksenteon tuki
Markkinointi
Tietotekniikka tuotteissa
Infrastuktuuri: tietoliikenne, toimistoautomaatio, ryhmätyö, asianhallinta, palvelimet...
Yrityksen tietovarastot
Yrityksen tietotekniikkaYrityksen tietotekniikka
Haikala, Märijärvi: Ohjelmistotuotanto, 2000.
![Page 15: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/15.jpg)
15
Yrityksen kilpailutilanneYrityksen kilpailutilanne
Liiketoimintaympäristö
Liikeidea
Strategia, kilpailutekijät
Tietohallinto- strategia
AsiakkaatKilpailijat
Tietotekniikan kehitys
Oma liiketoiminta
Oma tietojärjestelmätoiminta
Tietohallinto
Kehittämis- hankkeet
Projektit
Haikala, Märijärvi: Ohjelmistotuotanto, 2000.
![Page 16: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/16.jpg)
16
Ohjelmistotuotannon ongelmiaOhjelmistotuotannon ongelmia
![Page 17: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/17.jpg)
17
Ohjelmistotuotannon ongelmiaOhjelmistotuotannon ongelmia
korkeat kustannuksettyö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
![Page 18: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/18.jpg)
18
Ohjelmistotekniikka Ohjelmistotekniikka kansanperinteestä tieteeksikansanperinteestä tieteeksi
[Shaw 1990]
ad hoc-menetelmät
kansan-perinne
kiteyty-minen
mallit,teoriat
soveltaminenkäytäntöön
uudetongelmat
koulutus jatutkimus
![Page 19: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/19.jpg)
19
Ohjelmistojen erityspiirteitäOhjelmistojen erityspiirteitä
monimutkaisuusnäkymättömyysmuunnettavuusainutkertaisuusmenetelmien skaalautumattomuusepäjatkuvuus
![Page 20: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/20.jpg)
20
Kannattaako edes yrittää?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
![Page 21: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/21.jpg)
21
Onnistumisen teesejä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
![Page 22: 1 Ohjelmistotekniikka johdanto Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite](https://reader036.vdocuments.pub/reader036/viewer/2022062516/56649d5f5503460f94a40379/html5/thumbnails/22.jpg)
22
Onnistumisen teesejä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