Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Ohjelmistotuotanto.

Samankaltaiset esitykset


Esitys aiheesta: "Ohjelmistotuotanto."— Esityksen transkriptio:

1 Ohjelmistotuotanto

2 ”Mikään ei korvaa ratkaistavan ongelman perusteellista ymmärtämistä – joskus voi tosin käydä hyvä tuuri” ”Ongelman ratkaisun niksi ei ole pelkästään miten (know –how) menetelmiä sovelletaan, vaan mieluummin milloin niitä sovelletaan (know –when)” Gerald Weinberg

3 Ohjelmiston ominaisuuksia
ohjelmiston koko ja käsiteltävän tiedon määrä käsittelypainotteinen vs. tietopainotteinen vasteaika- ja reaaliaikaisuusvaatimukset kovat reaaliaikavaatimukset reaktioaika luotettavuus kahdentaminen elektroniikka- ja mekaniikkatason varmistukset hajautus paikallinen / laaja sulautetut järjestelmät - laiteväylä tuotteistusaste räätälöity vs. täysin tuotteistettu massatuote asiakasvarioituvat massatuotteet

4 Perinteinen insinöörimalli
Suunnittele Toteuta Testaa Tee-se-itse ohjelmistomalli Toteuta Kokeile Korjaa

5 Miksi on hyvä tuntea ohjelmistoprosessi(malli)?
Ohjelmistot ovat nykyisin kiinteä osa tuotetta Ohjelmiston laatu antaa usein kuvan koko tuotteen laadusta Helpompi arvioida projektin työmäärää ja aikataulua kun tuntee prosessin

6 Ohjelmistoprosessi Prosessi = toistettava toimintamalli
Laatujärjestelmät vaativat toistettavuutta ja jäljitettävyyttä suunnitelmallisuus Ohjelmistoprosessimalli Yleinen malli miten ohjelmisto tuotetaan Elinkaari, mitä vaiheita ohjelmiston kehitys sisältää Mitä saadaan vaiheiden ulostulona Dokumentit, koodit, testisuunnitelmat…. Elinkaari: aika hankkeen käynnistämisestä käytöstä poistamiseen

7 Kehitysprosessi Asiakkaan ongelma asiakasvaatimukset Määrittely
ohjelmistovaatimukset laadunvarmistus Suunnittelu tekniset vaatimukset Toteutus asiakastoimitus Seuraava tuote Hyväksymistestaus

8 Schach 1990

9 Erilaisia prosesseja Rakentaminen Kasvattaminen Kokoaminen
Edellinen vaihe pohjana seuraavalle Vesiputousmalli Kasvattaminen Luodaan toimiva malli joka laajennetaan täyttämään vaatimukset Prototypointi -> tuotanto/ ei tuotanto Kokoaminen Tuote kootaan valmiista komponenteista Ohjelmistokirjastot, customointi Ketterät prossessit (Agile) Asiakaslähtöinen, vain tarpeellinen tehdään Nopea, joustava, iteratiivinen

10 Vesiputousmalli Järjestelmä suunnittelu Vaatimus- määrittely
Ohjelmointi Testaus Lineaarinen malli Uuteen vaiheeseen siirrytään vasta kun edellinen on läpäisty (esim katselmointi, tarkastus) Käytännössä projekti ei koskaan etene näin, vaan aina tarvetta iteraatioille Käyttö & Ylläpito

11 Elinkaaren vaiheet Järjestelmäsuunnittelu Määrittelyvaihe
Järjestelmän tavoitteet, kokonaisarkkitehtuuri Anturit, toimilaitteet, kommunikointi jako SW/HW Määrittelyvaihe Ohjelmiston toiminnot Ulkoiset vaatimukset ja rajoitukset (vasteaika, käytettävyys) Suunnitteluvaihe Sw arkkitehtuuri Modulien suunnittelu

12 Elinkaaren vaiheet Ohjelmointi Testaus koodaus + virheetön käännös
V- mallin mukaan eri tasoja Moduli-, integrointi- ja järjestelmätestaus

13 Speksaus, vaatimusmäärittely
Ohjelmiston tekeminen on speksin tekemistä? Kirjoita asiakkaan näkökulmasta Etene yleiskuvauksesta yksityiskohtiin. Käytä selkeää yksinkertaista kieltä

14 Hyvä vaatimus täydellisyys: kaikki tarpeellinen, ei mitään turhaa
tarkkuus virheettömyys ymmärrettävyys testattavuus: miten voidaan "mitata", onko vaatimus täytetty jäljitettävyys: mistä vaatimus on peräisin, miten tärkeä se on sama asia vain yhdessä paikassa (ei redundanssia) (?)

15 Asiakkaalta- ohjelmoijalle
Asiakasvaatimus – tyypillisesti asiakkaan ongelma esim halutaan porata reikä automaattisesti x, y paikkaa Ominaisuus, feature – jokin asiakkaan kannalta mielekäs kokonaisuus ohjelmiston toiminnallisuudesta: tuki poran liikuttamiselle haluttuun paikkaan ja poraus Ohjelman toiminto – yksittäinen ohjelmistolla tehtävä asia siirrä pora paikkaan x,y, käynnistä ja laske terä terä, nosta ja sammuta terä, aja varsi takaisin lähtöpisteeseen automaattisesti. Tekniset vaatimukset – miten ohjelmisto toteutetaan. Koordinaattien luku käyttöliittymältä, poran siirto askelmoottorilla, porausnopeuden ja -syvyyden säätö….

16 Ohjelmistojen kaaviotekniikat
Mahdollistavat todellisuuden havainnollistamisen ja yksinkertaistamisen Sallivat eri abstraktiotasot, laajuudet ja näkökulmat Auttavat ymmärtämään sovellusaluetta Ohjaavat kysymään oikeita kysymyksiä Helpottavat kommunikointia koskien järjestelmää ja sovellusaluetta Dokumentoivat asioita


Lataa ppt "Ohjelmistotuotanto."

Samankaltaiset esitykset


Iklan oleh Google