Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Arkkitehtuuri-suunnittelu

Samankaltaiset esitykset


Esitys aiheesta: "Arkkitehtuuri-suunnittelu"— Esityksen transkriptio:

1 Arkkitehtuuri-suunnittelu
Ohjelmiston tekninen suunnittelu Syksy 2013

2 Arkkitehtuurisuunnittelu
Arkkitehtuurisuunnittelu Yleistä Toiminnallinen määrittely muunnetaan järjestelmän tekniseksi määrittelyksi (technical specification) Kuvaa järjestelmän toteutuksen Ennen teknistä määrittelyä paljon sovelluksesta on jo selvillä Toiminnallinen määrittely (vaatimukset, käyttötavat) Käyttöliittymän suunnittelu yleisellä tasolla (näyttökartta) Suunnittelu jaetaan yleensä kahteen osaan Arkkitehtuurin suunnittelu määrittää yleisen rakenteen Osittaa niin pieniin osiin jotka voidaan antaa yksittäisen kehittäjän suunniteltavaksi ja toteutettavaksi Mistä moduuleista sovellus koostuu Ideana rakentaa mahdollisimman itsenäisiä moduuleita joiden välillä mahdollisimman vähän kytkentöjä Moduulisuunnittelussa suunnitellaan yksittäisten moduulien sisäinen rakenne Tarkoitus tehdä suunnitelma jonka perusteella yksittäinen kehittäjä pystyy moduulin toteuttamaan Tarkkuus sellainen että toteuttajan ei tarvitse tehdä enää suuria päätöksiä Koska tekninen määrittely liittyy toteutukseen, dokumentin merkintätavat ja keskeiset asiat ovat osittain riippuvaisia valitusta ohjelmointikielestä.

3 Arkkitehtuurisuunnittelu
Arkkitehtuurisuunnittelu MVC Yksi tapa jäsentää sovelluksen rakennetta MVC (Model – View – Controller) tarkoittaa ohjelman toiminnallisuuden jakamista kolmeen tasoon Model edustaa tiedon esitystapaa, mitä tietoja sovellus käsittelee View edustaa esitystapaa, millaisilla ohjaimilla tiedot esitetään käyttöliittymässä Controller hoitaa logiikan näkymän ja mallin välillä, tiedonkäsittely jolla oikeat asiat linkitetään käyttöliittymälle. Mallista on myös muita versioita mm. Windows Phone –kehityksessä MVVM (Model - View – ViewModel). Idea sovelluksen kolmijaosta kuitenkin sama.

4 Arkkitehtuurisuunnittelu
Arkkitehtuurisuunnittelu Serge Desmedt ja Software Design Specification and Software Module Specification Yksi esimerkki siitä mitä sovelluksen tekninen suunnittelu voi olla I think the SDS is mostly a high level view of the system design describing the interaction between the different modules of a system, where an SMS provides detailed information about the implementation of a specific module: what classes does it have, what is their responsibility, what public methods do the classes have, etc… As the SMS is more about the code itself, we create them from the code. Commenting our code and using comment extractors we create the SMS document which is then (mostly) up-to-date with our code base. The comments are those you should always write: modules: what is their logical meaning? What is their responsibility? classes: what is their responsibility? public methods: what do they do? parameters: what information do they contain, what is their purpose? What is their valid range of values? What is their direction of information flow: do they pass information into the method, or do they convey information out of the method? Luokkien kommentoinnista ja sen hyödyntämisestä Javassa (javadoc) myöhemmin Ohjelmoinnin perusteet Java –opintojaksolla. Lähde Software Design Specification and Software Module Specification

5 Teknisen määrittelyn sisältö (HYTT)
Arkkitehtuurisuunnittelu Teknisen määrittelyn sisältö (HYTT) JOHDANTO TARKOITUS JA KATTAVUUS TUOTE JA YMPÄRISTÖ MÄÄRITELMÄT, MERKINTÄTAVAT JA LYHENTEET VIITTEET YLEISKATSAUS DOKUMENTTIIN JÄRJESTELMÄN YLEISKUVAUS SOVELLUSALUEEN KUVAUS JÄRJESTELMÄN LIITTYMINEN YMPÄRISTÖÖNSÄ LAITTEISTOYMPÄRISTÖ OHJELMISTOYMPÄRISTÖ TOTEUTUKSEN KESKEISET REUNAEHDOT SOPIMUKSET JA STANDARDIT ARKKITEHTUURIN KUVAUS SUUNNITTELUPERIAATTEET OHJELMISTOARKKITEHTUURI, MODUULIT JA PROSESSIT TIETOKANTA-ARKKITEHTUURI VIRHE- JA POIKKEUSMENETTELYT MODUULI /LUOKKA/PROSESSI-KUVAUKSET MODUULI X (KUSTAKIN MODUULISTA OMA ALAKOHTANSA 4.I) Yleiskuvaus Rajapinta yleisesti Rajapintafunktiot Moduulin toteutus Virhekäsittely VALMISOSAT JA ERITYISET TEKNISET RATKAISUT HYLÄTYT RATKAISUVAIHTOEHDOT JATKOKEHITYSAJATUKSIA VIELÄ AVOIMET ASIAT

6 Arkkitehtuurin kuvaus
Arkkitehtuurisuunnittelu Arkkitehtuurin kuvaus Suunnitteluperiaatteet Sovelluksen yleiset suunnitteluperiaatteet (oliokeskeisyys, käytetyt menetelmät ja kielet, suunnittelussa käytettävät notaatiot) Ohjelmistoarkkitehtuuri Mistä osajärjestelmistä ohjelmisto koostuu Mitä moduuleita ja prosesseja ohjelmassa on Moduulikaavio Mitä moduuleja järjestelmässä on Miten moduulit ovat yhteydessä toisiinsa Tietokanta-arkkitehtuuri Taulujen rakenne, relaatiot, indeksit Tämän osion perusteella pitäisi pystyä kirjoittamaan SQL-käskyt joilla tietokanta luodaan Tietokannan rakenne esim. käsitekaaviolla (luokkakaavio, ER-kaavio) Kenttien nimet, pituudet, tietotyypit, erityismääräykset (unique) Virhe- ja poikkeusmenettelyt Nämä tarkemmin moduulitasolla, tässä vaiheessa kirjataan yleiset virhekäsittelysäännöt Onko käytössä jokin moduuli joka hoitaa virhekäsittelyn? Miten virheilmoituksia ryhmitellään? Tallennetaanko virheilmoitukset johonkin? Virheilmoitusten tekstit voidaan kirjata tähän tai myöhemmin moduulitasolla

7 Esimerkki: Web-sovelluksen arkkitehtuuri
Arkkitehtuurisuunnittelu Esimerkki: Web-sovelluksen arkkitehtuuri Näyttöjen jakaminen moduuleihin: PHP-tiedostot Numeroitu moduulit 1..6 Kuvattu mitä tauluja moduuli käyttää, missä moduuleissa lomaketietoja

8 Esimerkki: Web-sovelluksen moduulikuvaus
Arkkitehtuurisuunnittelu Esimerkki: Web-sovelluksen moduulikuvaus MS Excel-taulukossa kuvattuna sarakkeissa PHP-tiedoston nimi Näkymät (moduulit) Näytön kuvaus Superglobaalit ($_GET) Sisällytettävät tiedostot Käytettävät funktiot Tietokannan taulut Istuntomuuttujan käyttö Lähde: Leena Järvenkylä-Niemen materiaali

9 Arkkitehtuurisuunnittelu
Arkkitehtuurisuunnittelu Linkit ja lähteet Pääasiallinen lähde Risto Pohjonen, Tietojärjestelmien kehittäminen (2002), Docendo Wikipedia wikipedia: Data flow diagram wikipedia: MVC


Lataa ppt "Arkkitehtuuri-suunnittelu"

Samankaltaiset esitykset


Iklan oleh Google