HELIA 1 (23) Outi Virkki Käyttöliittymät ja ohjelmiston suunnittelu

Samankaltaiset tiedostot
HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

HELIA 1 (11) Outi Virkki Käyttöliittymät ja ohjelmiston suunnittelu

Ohjelmistotekniikka - Luento 2

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Tuotemallipohjaisen toimintaprosessin mallintaminen

T Johdatus käyttäjäkeskeiseen tuotekehitykseen. suunnitteluprosessissa. Käyttäjän huomiointi. Iteroitu versio paljon kirjoitusvirheitä

Käyttäjäkeskeinen suunnittelu

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu

TOIMINNALLINEN MÄÄRITTELY MS

Oleelliset vaikeudet OT:ssa 1/2

Tietokannan suunnittelu

Haaga-Helia / TIKO-05 1 (12) Tietokannan suunnittelu ja Toteutus Outi Virkki

Siltatiedon tarkkuustason määrittäminen Taitorakennerekisterissä. Maria Vinter

Käyttövaltuushallinnan hyödyt tehokkaasti käyttöön. Johanna Lampikoski, RM5 Software Juha Arjonranta, TeliaSonera Finland

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Harjoitustyö Case - HelpDesk

Ohjelmistojen suunnittelu

Projektityö

Merlin Systems Oy. Kommunikaatiokartoitus päätöksenteon pohjaksi. Riku Pyrrö, Merlin Systems Oy

Luento 3 Tietokannan tietosisällön suunnittelu

Tuotteistaminen käytännössä: TPY:n malli

ADE Oy Hämeen valtatie TURKU. Tuotekonfigurointi. ADE Oy Ly Tunnus:

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Suunnitteluvaihe prosessissa

Integrointi. Ohjelmistotekniikka kevät 2003

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Ohjelemistotuotanto, syksy 1998 /Prosessi Prosessimallit

TeliaSonera Identity and Access Management

Tapahtuipa Testaajalle...

Ohjelmistotuotanto, s

Ohjelmiston testaus ja laatu. Testaustasot

Tietojärjestelmän osat

Ohjelmistoprojektien hallinta Vaihejakomallit

Soft QA. Vaatimusten muutostenhallinta. Ongelma

Käyttöohje. Versiohistoria: versio Mari Kommenttien perusteella korjattu versio

Yhteenveto. Menettelytavat

Uudelleenkäytön jako kahteen

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Tietojärjestelmien hankinta ja ICT-projektit

Mikä on avoimen tuotteen hallintamalli perustiedot ja taustoitus. Jukka Kääriäinen, Tapio Matinmikko, Raija Kuusela

Yhteenvetoa, pieniä laajennuksia, tulevaisuuden haasteita

Ohjelmistojen mallinnus, s2008 HY/TKTL, 28/10/2008. Harri Laine 1. Ohjelmisto

Verkkopokerijärjestelmä. Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

IPT 2 Syventävä työpaja : Suunnittelun suunnittelu

Työkaluja esimiestyön tehostamiseen

HELIA 1 (20) Outi Virkki Tiedonhallinta

Prosessiajattelu. Organisaation prosessikuvaus - CMMI. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessien määritys CMMI käytänteet

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Mallintamisen mahdollisuudet. vuorovaikutuksen lisäämiseksi infran ylläpidossa. Manu Marttinen Työpäällikkö NCC Roads Oy 1

Kurssin hallinta -työväline

Oppeja ja kokemuksia Pisararadan suunnittelun tiedonhallinnasta

Fiksumpi käyttöliittymä kuntaan. Miten kuntien tietojärjestelmät saadaan palvelemaan kuntalaisia? LapIT-päivät 2015

Ei näyttöä tai puheen tasolla

Kansallisten määritysten, toiminnan ja ATJ:n yhteensovittaminen. SosKanta-hanke, webcast-info Jaana Taina ja Kati Utriainen

TIETOKANNAN SUUNNITTELU

Valtioneuvoston kanslia VAIN VIRKAKÄYTTÖÖN Hallinto- ja palveluosasto/hallintoyksikkö Terja Ketola PTJ2008-työsuunnitelma 1 (5)

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Tutkimusraportti - tulokset

Ohjelmistojen mallintaminen, mallintaminen ja UML

Yhteisön kehitystyöhön osallistumisen mahdollisuudet ja mallit

Projektinhallinnan periaatteita ja hyviä käytänteitä - case Leonardo da Vinci

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

Simulointi. Tapahtumapohjainen

OT-s200: Prosessimallit

Liikeidea. Etunimi Sukunimi

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

TIE Ohjelmistojen suunnittelu. Luento 2: protot sun muut

Järjestelmäarkkitehtuuri (TK081702) Yritysarkkitehtuuri. Muutostarpeet

Ohjelmiston toteutussuunnitelma

ABB Drives and Controls, Koneenrakentajan ja laitetoimittajan yhteistoiminta toiminnallisen turvallisuuden varmistamisessa

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1

IPT 2 Syventävä työpaja : TVD-prosessi Ryhmätöiden tuotokset

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

käyttötapaukset mod. testaus

Robotiikan hyödyntäminen taloushallinnossa

Tietokantojen suunnittelu, relaatiokantojen perusteita

3. Käsiteanalyysi ja käsitekaavio

Ohjelmistojen mallintaminen, mallinnustekniikat käytännössä

2. Ohjelmistotuotantoprosessi

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

Kirjastoverkkopalvelut-TOSU 2012 Kärki- ja kehittämishankkeet. Kristiina Hormia-Poutanen Sektorikokous

Enterprise SOA. Nyt. Systeemi-integraattorin näkökulma

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä

VALDA-tietojärjestelmän j versio 1

Esityksen sisältö Määrittelyjen mukaisuudesta varmistuminen - PlugIT-leima

Orientaatio ICT-alaan. Projekti

Määrittely- ja suunnittelumenetelmät

Käyttökokemusta voi suunnitella - case UXUS. Design for Life -tilaisuus, Kiasma, Hanna Koskinen, VTT

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

HELIA 1 (17) Outi Virkki Tiedonhallinta

Espoon projekti- ja ohjelmajohtamisen malli EsPro

Uusilla konsepteilla oikeanlaisia palveluita Helsinkiin

Transkriptio:

HELIA 1 (23) Luento 8 Ohjelmiston suunnittelusta... 2 Suunnittelumenetelmä... 2 Mihin menetelmää tarvitaan?... 3 Yleinen vaihejakomalli ja tietojärjestelmän elinkaari... 4 Tavoitteiden asettaminen - Esitutkimus... 6 Sisällön määrittely... 7 Rakenteen ja toiminnan suunnittelu... 8 Toteutus... 8 Testaus... 9 Käyttöönotto... 10 Ylläpito... 11 Suunnittelun lähestymistavat (suunnitteluparadigmat)... 12 Toimintokeskeinen lähestymistapa... 12 Tietokeskeinen lähestymistapa... 13 Objektipohjainen lähestymistapa... 15 Dialektinen kehitysennuste?... 16 Suunnittelun lähestymistavat ja ohjelmistotyökalut... 17 Suunnittelun prosessimallit... 17 Erillinen määrittely- ja toteutusvaihe: Vesiputousmalli... 18 Käyttöliittymän näkökulma... 18 Etuja... 18 Ongelmia... 18 Prototyyppisuunnittelu: Kehittyvä prosessimalli... 19 Käyttöliittymän näkökulma... 19 Etuja... 20 Ongelmia... 20 Kompromissi?... 21 Lisätekniikoita... 22 Osittaminen... 22 RAD (Rapid Application Development)... 23

HELIA 2 (23) Ohjelmiston suunnittelusta Suunnittelumenetelmä 1. Mistä lähtökohdista ongelmaa tarkastellaan 2. Miten projekti jaetaan vaiheisiin? 3. Mitä tehtäviä kunkin vaiheen aikana tehdään? 4. Mitä tulosteita tuotetaan ja missä vaiheessa? 5. Mitä sääntöjä noudatetaan? 6. Millaisia työkaluja voidaan käyttää? Recommended collection of philosophies, procedures, rules, techniques, tools, documentation, management of information systems Suunnittelumenetelmiä on satoja ellei tuhansia

HELIA 3 (23) Mihin menetelmää tarvitaan? 1. Kokonaisuuden hallinta lopputuloksen abstraktisuus J jako osiin konkretisoi J kaikkea ei tarvitse itse pohtia, tietää ja muistaa; "pyörä on jo keksitty..." 2. Projektin hallinta aikataulu resurssien allokointi projektin ohjaus & koordinointi J vaihejako tukee suunnittelua, seurantaa ja ohjausta Í laadukas rakennusprosessi J laadukas järjestelmä / tuote J tyytyväinen asiakas Ä menetelmä ei takaa onnistunutta tuotetta!

HELIA 4 (23) Yleinen vaihejakomalli ja tietojärjestelmän elinkaari 1. Esitutkimus 2. Sisällön suunnittelu 3. Rakenteen ja toiminnan suunnittelu 4. Toteutus 5. Käyttöönotto 6. Ylläpito Valitse oikea mittakaava (Riittävän hierarkian periaate): Mittava ongelma vaati mittavat työkalut, pieni ongelma saadaan selvitettyä kevyemmällä kalustolla. Määritys 10 % Suunnittelu 20 % Toteutus 25 % Käyttöönotto 5 % Ylläpito ja 40 % jatkokehittäminen

HELIA 5 (23) Hyödyt hyödyt. perusinvestointi juoksevat kustannukset ylläpitoinvestoinnit aika Rakentaminen Käyttö ja ylläpito Kustannukset Kustannusten jakautuminen elinkaaren eri vaiheisiin

HELIA 6 (23) Tavoitteiden asettaminen - Esitutkimus Tärkeintä tietojärjestelmäprojektissa on selvittää, mitä tavoitellaan. Ä Keitä tietosysteemi palvelee? Ä Mitkä ovat tietosysteemin tavoitteet? (kvalitatiiviset & kvantitatiiviset) Ä Mitä mahdollisia haittavaikutuksia? Ä Mikä on kokonaishyöty (hyödyt / kustannukset)? Ydinkysymys: Miksi? Tavoitteet ovat aluksi usein abstrakteja ja selkiintymättömiä. Å Projektivaiheiden / suunnittelutehtävien on tuettava tavoitteiden asteittaista tarkentumista. liikkumavara Projektin edistyminen 1. Tilannekartoitus 2. Tavoitteenasettelu

HELIA 7 (23) Sisällön määrittely Mitä tietoja tarvitaan lopputulosten tuottamiseksi? Mitä tietoja kohdealueella käsitellään? Miten tulostiedot voidaan tuottaa määritetyistä lähtötiedoista? Ydinkysymys: Mitä? 1. Toimintojen määrittely 2. Tietosisällön määrittely

HELIA 8 (23) Rakenteen ja toiminnan suunnittelu Ydinkysymys: Miten? Miten tietosysteemi toimii? Millaisista toiminnallisista osista tietosysteemi koostuu? Pyri modulaarisuuteen! Rajanveto rakenteen ja toiminnan suunnittelun ja toteutuksen välillä on häilyvä Esim. raporttien tulosteet ja käynnistystavat voidaan määritellä melko tarkkaan etukäteen käyttöliittymiä ei kannata suunnitella liian tiukasti, testausvaiheessa järjestelmä saattaa tuottaa ikävän yllätyksen Å hyvä käyttöliittymäratkaisu ratkeaa usein vasta konkreettisessa koekäyttötilanteessa. Toteutus

HELIA 9 (23) Testaus jokaisen projektivaiheen jälkeen saavutettua (ja dokumentoitua) tilaa verrataan alkuperäisiin tavoitteisiin keskeisintä kun tietosysteemi on saavuttanut konkreettisen muodon ja järjestelmän käyttöön (palveluihin ja käyttöliittymään) liittyvät yksityiskohtaiset ratkaisut kiinnitetään tee testaus systemaattisesti, laadi suunnitelma 1. Modulitestaus 2. Systeemitestaus 3. Käyttöönottotestaus Ä Testaus kattaa koko toteutetun atk-järjestelmän (ohjelmat, käyttöohjeet, tiedostoratkaisut), mahdollisesti myös manuaalisesti hoidettavien tehtävien ohjeistuksen, lomakkeet yms.

HELIA 10 (23) Käyttöönotto a) uuden ja vanhan järjestelmän rinnakkainajo? b) vaiheittainen käyttöönotto? c) kerrasta poikki? tee hallitusti, tee suunnitelma 1. Tekniset valmiudet 2. Toiminnalliset valmiudet 3. Perustiedot & tietovarastot

HELIA 11 (23) Ylläpito 1. Ylläpito käyttäjien ja käyttöoikeuksien hallinta laiteresurssien hallinta ohjelmistoversioiden hallinta ylläpitorutiinien automatisointi resurssienkäytön seuranta virhetilanteista toipuminen ja niiden ennaltaehkäisy uusien työntekijöiden kouluttaminen käyttöohjeiden ym. dokumenttien pito ajantasalla 2. Muutostarpeiden dokumentointi käyttäjien ja hyväksikäyttäjien palautteen systemaattinen käsittely järjestelmän käytönaikainen systemaattinen seuranta (resurssien käyttö, virhetilanteet) Määritys 10 % Suunnittelu 20 % Toteutus 25 % Käyttöönotto 5 % Ylläpito ja 40 % jatkokehittäminen

HELIA 12 (23) Suunnittelun lähestymistavat (suunnitteluparadigmat) Toimintokeskeinen lähestymistapa kulta-aika 70-luvulla, edelleen laajalti käytössä Uudestisyntyi 90-luvulla: prosessikeskeisenä lähestymistapana suunnitellaan aluksi toiminta, edetään toiminnan suunnittelusta toimintojen ja tehtävien suunnitteluun paikannetaan toimintoihin ja tehtäviin liittyvät tiedot perusajatuksena on, että tieto ikään kuin 'virtaa' tietosysteemin / toiminnon / tehtävän lävitse tyypillinen tapa lähestyä tietotarpeita on informaatioanalyysi, l. kartoitetaan toiminnoittain / tehtävittäin halutut tulostiedot sekä näiden aikaansaamiseksi tarvittavat syöttötiedot vanhemmat systeemisuunnittelun menetelmät (ISAC, SADT) ovat toimintokeskeisiä

HELIA 13 (23) Tietokeskeinen lähestymistapa 80-luku, nykyään laajalti käytössä tieto ei 'virtaa' vaan muodostaa tietosysteemin pysyvän ytimen, kohdealueen kuvauksen, jonka päälle sovelluksia voidaan rakentaa tietotarpeet määritellään käsiteanalyysin avulla, (kohdealueen oliot, niiden ominaisuudet ja niiden väliset suhteet) määrittelyn tulos esitetään käsitekaaviona. Toimintojen suunnittelu voi edetä samanaikaisesti, mutta ohjelman suunnittelu rakentuu tietokannan päälle

HELIA 14 (23) Ongelmia: Käsitekaavio ei sellaisenaan kuvaa tietojärjestelmän toimintaa. Toimintokeskeinen suunnittelu (esim. toimintomatriisi) taas ei kykene kuvaamaan järjestelmän tietojen välisiä riippuvuussuhteita. Tietokannan eheyden turvaaminen on tällöin huomattavasti ongelmallisempaa. Tietokantojen suunnittelussa Tietokeskeinen suunnittelu ja käsiteanalyysi eli tietojen muodostaman kokonaisuuden kuvaus Turvaa parhaiten tietokannan eheyden, johdonmukaisuuden ja luotettavuuden Ohjelmiston suunnittelussa Toimintokeskeinen suunnittelu Jos toimintojen, työtapojen, käyttöliittymien ja näyttöjen suunnittelu on laiminlyöty, kostautuu se toteutusvaiheessa ainakin työn hitautena Myös prototyyppisuunnittelu soveltuu ohjelmistojen suunnitteluun Käyttöliittymän suunnittelussa Kannatta hyödyntää molempia: Käsiteanalyysi antaa lähtökohdan näyttöjen tietosisällöstä ja tietojen välisistä suhteista Toimintoanalyysi antaa lähtökohdan toimintojen ryhmittelylle, näyttöjen tietosisällölle ja toiminnoille

HELIA 15 (23) Objektipohjainen lähestymistapa 90-luku, tällä hetkellä erittäin voimakkaassa kasvussa. Pyrkii tavallaan yhdistämään em. paradigmat ja ylittämään niille tyypilliset ongelmat Objektisuunnittelun perustehtävä on objektimallintaminen, joka muistuttaa suuresti käsiteanalyysiä Objektianalyysin jälkeen dynaaminen mallintaminen (tilasiirtymät) ja funktionaalinen mallintaminen (toiminnallisuus) Ä Onko oliomaailman sisälläkin tieto- ja toimintopohjainen koulukunta? Rumbaugh (OMT): Olio käsite Jacobson (OOSE): Käyttötapaus tehtävä Å Unified method, jossa OMT ja OOSE yhdistetään

HELIA 16 (23) Dialektinen kehitysennuste? SYNTEESI ANTITEESI TEESI MONTA VEHNÄJYVÄÄ VEHNÄKASVI VENHÄNJYVÄ OLIO- / PROSESSIKESKEINEN? (1990) TIETOKESKEINEN (1980) TOIMINTOKESKEINEN (1970)

HELIA 17 (23) Suunnittelun lähestymistavat ja ohjelmistotyökalut Monet välineet ovat joko tieto- tai toimintoorientoituneita ja soveltuvat erilailla erityyppiseen suunnitteluun: Perinteiset 3 GL välineet on kehitetty tyypillisesti toimintopohjaiseen suunnitteluun ja toteutukseen 4 GL välineet on kehitetty tyypillisesti tietopohjaiseen suunnitteluun ja toteutukseen Oliokielet on kehitetty oliopohjaiseen suunnitteluun ja toteutukseen Suunnittelun prosessimallit 1. Erillinen määrittely- ja toteutusvaihe (vesiputousmalli) 2. Prototyyppiavusteinen suunnittelu 3. RAD

HELIA 18 (23) Erillinen määrittely- ja toteutusvaihe: Vesiputousmalli perinteinen tapa, 1970-luvulta lähtien tietojärjestelmä voidaan määritellä "loppuun asti" eli hyvin suunniteltu on 95% tehty vaiheet toteutetaan peräkkäisinä työvaiheina, joissa edellisen työvaiheen tulokset dokumentoidaan ja ne toimivat seuraavan vaiheen lähtötietoina Käyttöliittymän näkökulma Käyttöliittymän suunnittelu suunnitteluvaiheen loppupuolella, toteutus toteutusvaiheessa Käyttöliittymän suunnittelu ja toteutus ilman käyttäjäpalautetta Etuja Selkeä ohjeistus Tuttu, perinteinen ja laajalle levinnyt Useimmat CASE-tuotteet tukevat Ongelmia Käyttäjien on vaikea hahmottaa tulevaa tietosysteemiä pelkkien määrittelyasiakirjojen ja keskustelujen perusteella! Yksityiskohtatasolle viety "paperisuunnittelu" on raskasta. etenkin käyttöliittymän suunnittelu on "epäluonnollista" Konkreettinen palaute tehdyistä ratkaisuista vasta kuukausien päästä!

HELIA 19 (23) Prototyyppisuunnittelu: Kehittyvä prosessimalli 1980-luvulla mikrotietokoneiden esiinmarssin myötä samanaikaisesti määrittelyjen edetessä rakennetaan tietojärjestelmää välitön palaute: tarkistukset ja korjaukset voidaan toteuttaa ja testata välittömästi. Sovellus kehitetään iteratiivisina kehityskierroksina Määrittelyn lähtötietoina 1 kierroksella käyttäjien haastattelu, seuraavilla kierroksilla arvioinnit Sovellus on valmis kun arviointivaiheessa ei enää löydy oleellisia parannusesityksiä 1. Määrittely 2. Suunnittelu 3. Prototyypin toteutus 4. Testaus Käyttöliittymän näkökulma Käyttöliittymää kehitetään iteratiivisesti käyttäjäpalautteen perusteella

HELIA 20 (23) Etuja Kussakin iteraatiossa mukana sekä suunnittelua että toteutusta Kukin iteraatiokierros tuottaa lopputuloksen (proton) Yksittäisten suunnitteluideoiden kustannusarviointi helppoa Ongelmia Menetelmää ei ole tarkoin määritelty Suunnittelutyön dokumentointi ei ole tuettu Alkuvaiheessa tehdyt ratkaisut saattavat roikkua mukana painolastina Projekti ei koskaan valmistu, eli raja suunnitteluprosessin ja tuotantokäytön välillä hämärtyy Suorituskyky usein huonompi kuin perinteisesti toteutettujen systeemien

HELIA 21 (23) Kompromissi? Prototyyppisuunnittelun vahva alue on käyttöliittymän suunnittelu ts. miten tietojärjestelmä näyttäytyy käyttäjälle Tietojen välisten suhteiden ja niiden muodostaman kokonaisuuden hahmotus ei saa jäädä pelkäksi protoiluksi! Å Prototyyppiä käytetään suunnitelmien "testaustyökaluna". Å Suunnitteluprosessi viedään kuitenkin päätökseen, l. määritellään ja kiinnitetään tietojärjestelmän ominaisuudet (tietosisältö, toiminnallisuus, käyttöliittymä) Ohjelma (ja tietokantakuvaukset) kirjoitetaan tarvittaessa uudestaan

HELIA 22 (23) Lisätekniikoita Osittaminen Ä Sekä vesiputousmallia että prototyyppimallia voidaan tukea osittamalla: Kokonaisuus jaetaan pienempiin helpommin hahmotettaviin osakokonaisuuksiin Tavoitteena mahdollisimman itsenäiset osakokonaisuudet Ä Jakaminen voidaan tarvittaessa toistaa... Ä Yleissuunnitelma osien välisestä kommunikaatiosta Ä Kunkin osan suunnittelu ja toteutus melko itsenäisesti Å Modulaarisuus ( -> olioajattelu) Ä Osat voivat valmistua myös eri aikaan Etuja yksinkertaisempia osakokonaisuuksia suunniteltavaksi ja toteutettavaksi osia voidaan priorisoida tarpeen mukaan Haittoja Osiin jako kriittinen! Uusi suunnitteluongelma: osien yhteensovittaminen Mahd. epäyhtenäinen toimintatapa

HELIA 23 (23) RAD (Rapid Application Development) Tavoitteena toteuttaa sovellus mahdollisimman nopeasti Ei tarkasti määritelty menetelmä vaan joukko löyhästi yhteensidottuja sovelluskehitysperiaatteita 1. Kehittämistarpeiden kartoitus 1 2 vko 2. Sovelluksen rajaus ja määrittely 1 3 vko 3. Käyttöliittymän suunnittelu 3 5 vko 4. Toteutus & testaus 4 17 vko 5. Käyttöönotto 1 3 vko Alustava tietojärjestelmän määritys Suunnitteluistunnot, jossa määritystä (tyypillisesti tietovirtakaaviota) käydään läpi CASE työkalujen ja sovelluskehittimien hyödyntäminen Suunnittelupäätösten dokumentointi (ja allekirjoitukset!) Iteratiivinen suunnitteluprosessi Usein olio-lähestymistapa