Lataa esitys
Esittely latautuu. Ole hyvä ja odota
1
Olioperustainen ohjelmistoprosessi
Yleisesittely olioperustaisen ohjelmistokehitysprosessin vaiheista Kalvot: Roope Raisamo, osin Kai Koskimiehen Oliokirjaan perustuen
2
Olioperustainen ohjelmistokehitysprosessi
1990-luvun aikana olioperustaista ohjelmistokehitystä pyrittiin systematisoimaan tuloksena erilaisia menetelmiä ja ohjelmiston kuvaustapoja Tässä käsitellään yksinkertaistettua mallia luo pohjan erilaisten laajempien menetelmien opettelulle hyvin käyttökelpoinen esitetyssäkin muodossa
3
Olioperustainen ohjelmistokehitysprosessi
Tyypilliset vaiheet: Vaatimusmäärittely (Requirement specification) Toteutettavuuskartoitus – tässä välissä yleensä vielä tarkastetaan, onko toteutus realistista Vaatimusanalyysi / Olioanalyysi Arkkitehtuurisuunnittelu Oliosuunnittelu / Yksityiskohtainen suunnittelu) Toteutus Testaus
4
Rakenne ja käyttäytyminen
Järjestelmän mallintamisen keskeiset osat: staattinen mallintaminen (rakenne) dynaaminen mallintaminen (käyttäytyminen) riippuvat toisistaan eri tavoin ohjelmistokehityksen vaiheissa tarkastellaan ohjelmistoa näistä kahdesta näkökulmasta
5
Ohjelmistokehitysprosessin rakenne
Vaatimus- analyysi Arkkitehtuuri- suunnittelu Yksityiskohtainen suunnittelu Toteutus Rakenne Käyttäytyminen
6
UML:n kaaviotyypit Korkean tason toiminnalisuus Ohjelmisto- kehitys
Rakenne Käyttö- tapauskaaviot Käyttäytyminen Esimerkkejä Oliokaaviot Sekvenssi- kaaviot Yhteistyö- kaaviot Sijoittelu- kaaviot Luokka- kaaviot Tilakaaviot Aktiviteetti- kaaviot Komponentti- kaaviot
7
Vaatimusanalyysi Vaatimusanalyysissä kerätyt vaatimukset analysoidaan ja täsmennetään tavoitteena ymmärrys siitä, mitä järjestelmää ollaan toteuttamassa ei siitä, miten toteutus tehdään! toteutustekniset näkökohdat jätettävä syrjään, koska hämärtäisivät käsitteellistä mallia vaatimusanalyysiin liittyy usein myös sovellusalueen analyysi (domain analysis) täsmentää järjestelmän toimintaympäristön käsitteistön
8
Vaatimus/olioanalyysi
Tuloksena : joukko käyttötapausten kuvauksia niistä johdettu tehtävälista järjestelmän käsitteellinen malli luokkakaaviona käyttötapausten sekvenssikaaviot olioanalyysimallin luokkia käyttäen [mahdollisesti myös sovellusalueen käsitteellinen malli luokkakaaviona] Siis järjestelmän kuvaus abstraktissa mielessä.
9
Vaatimusanalyysi Analyysin kulku: identifioidaan käyttötapaukset
määritellään niiden suhteet käyttötapauskaaviolla kuvataan ne tarkemmin sekvenssikaavioilla yksi sekvenssikaavio käyttötapausta kohden tavallisimmasta tapauksesta poikkeustilanteet voidaan kuvata erikseen oikeastaan nämä pitää tehdä tai tarkentaa sitten, kun olioanalyysin osana on tuotettu luokkakaavio
10
Vaatimusanalyysi Käyttötapaukset edustavat analyysivaiheen käyttäytymisnäkökulmaa laadittu siten, että ovat mielekkäitä sekä järjestelmän käyttäjille että suunnittelijoille Tehtäväluettelo saadaan käyttötapauksista laadittujen sekvenssikaavioiden perusteella lähtökohtana käyttöliittymän suunnittelulle Käsitteellisen mallin lähtökohtana vaatimusmäärittely ja käyttötapaukset
11
Vaatimusanalyysi Käsitteellisen mallin rakentamisen vaiheita:
luokkien identifiointi assosiaatioiden tunnistaminen alustavien attribuuttien tunnistaminen luokkien vastuiden määrittely mallin tarkistaminen mallisanaston koostaminen käsitteelliseen malliin kuuluvien tunnusten selitys esim. luokat ja assosiaatiot
12
Arkkitehtuurisuunnittelu
Vaatimusanalyysin jälkeen lähestytään asteittain varsinaista toteutusta Arkkitehtuurisuunnittelussa kiinnitetään järjestelmän arkkitehtuuriin kuuluvat valinnat
13
Arkkitehtuurisuunnittelu
Arkkitehtuurivalintoja: järjestelmän kerrokset merkittävät komponentit korkean tason suunnittelumallit arkkitehtuurityylit mahdollisen kehysarkkitehtuurin ydin ohjelmistojen sijoittelu laitteistoihin ohjelmistoalustat prosessit ja niiden kommunikointi käyttöliittymäratkaisut [muut keskeiset ratkaisut]
14
Arkkitehtuurisuunnittelu
Rakenteen kuvaukseen käytetään esimerkiksi: luokkakaavioita komponenttikaavioita sijoittelukaavioita Pakkaukset hyödyllisiä kuvaamaan alijärjestelmiä
15
Arkkitehtuurisuunnittelu
Käyttäytymisen kuvaamiseen käytetään sekvenssikaavioita. osallistujina arkkitehtuuritason elementtejä kuten komponentteja tarkentavat vaatimusanalyysin sekvenssikaavioita kuvaavat tehtävien suorituksen arkkitehtuuritason yksiköiden välisenä vuorovaikutuksena
16
Yksityiskohtainen suunnittelu
Yksityiskohtaisessa suunnittelussa kunkin osan toteutus suunnitellaan tarkemmin. Vältetään sitoutumista tiettyyn toteutuskieleen. Rakennetta kuvataan luokkakaavioilla lähtökohtana analyysivaiheen luokkakaaviot tarkennetaan huomioimalla tehokkuus muunneltavuus ylläpito
17
Yksityiskohtainen suunnittelu
Yksityiskohtaisen suunnittelun aikana tehostetaan suoritusta lisäämällä johdettuja assosiaatioita ja attribuutteja suunnitellaan assosiaatioiden toteutus parannetaan joustavuutta ja muunneltavuutta esimerkiksi soveltamalla suunnittelumalleja uudelleenorganisoidaan luokkarakennetta, rajapintoja ja periytymistä lisätään toteutuksen kannalta tarpeelliset operaatiot ja luokat suunnitellaan käyttöliittymän toteutus
18
Yksityiskohtainen suunnittelu
Arkkitehtuurisuunnittelun sekvenssikaavioita tarkennetaan tehtävät järjestelmän olioiden välisenä vuorovaikutuksena Aktiiviset luokat identifioidaan ja niiden käyttäytyminen kuvataan tilakaavioina Tilakaavioiden toteutustavat suunnitellaan Luokkien operaatiot identifioidaan sekvenssikaavioiden perusteella
19
Yksityiskohtainen suunnittelu
Merkittävimmät tai monimutkaisimmat operaatiot kuvataan tarkemmin tulo- ja jättöehtoineen operaation toimintaan liittyvä olioiden vuorovaikutus esitetään sekvenssikaavioilla muutoin kuvaus voidaan antaa esimerkiksi pseudokielellä
20
Yksityiskohtainen suunnittelu
Yksityiskohtaisen suunnittelun käyttäytymisnäkökulmaa kuvaavat: sekvenssikaaviot tilakaaviot operaatiokuvaukset
21
Yksityiskohtainen suunnittelu
Lopuksi varmistetaan rakenne- ja käyttäytymisnäkökulmien yhtäpitävyys tarkastetaan, että kaikkien operaatioiden suoritukseen tarvittavat assosiaatiot ovat olemassa tarkastetaan, että luokkakaavioissa ja sekvenssikaavioissa esiintyvät samat operaatiot tarkastetaan, että tilakaaviot sallivat sekvenssikaavioissa kuvattujen toimintojen suorittamisen
22
Toteutus Toteutusvaihe on periaatteessa suoraviivainen: yksityiskohtaisen suunnittelun mallit esitetään valitulla toteutuskielellä. Mallit ovat kuitenkin ohjelmointikieltä abstraktimmalla tasolla. Siksi: toteutusta voidaan joutua täydentämään uusilla attribuuteilla, operaatioilla ja jopa luokilla joudutaan tekemään kielestä riippuvia toteutusratkaisuja Voitaisiin jossakin määrin automatisoida.
23
Inkrementaalinen kehittäminen
Inkrementaalinen kehittäminen on (suuren) ohjelmiston kehittämistä paloittain. käyttötapauksista lähtevä ohjelmistokehitys tähän luonteva tapa käyttötapaus = toiminnallinen kokonaisuus voidaan edetä syklittäin valitsemalla ensin vain muutama keskeisin käyttötapaus suunniteltavaksi näiden perusteella voidaan toteuttaa ohjelmiston ensimmäinen prototyyppi, ja saada siitä palautetta. tämän pohjalta käyttötapauksia (ja vaatimuksia) täsmennetään asiakkailla koko kehityksen ajan tuntuma järjestelmään inkrementaalisessa ohjelmistokehityksessä on tärkeää pyrkiä valitsemaan rakennettavat osat siten, että edelliset eivät riipu niitä seuraavista -> jo rakennettua ei periaatteessa tarvitse muuttaa
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.