Arkkitehtuuri-suunnittelu

Slides:



Advertisements
Samankaltaiset esitykset
Rajapintaluokat Rajapintaluokka luettelee metodit, joille tulee löytyä toteutus asianomaisen rajapinnan toteuttavista luokista. Rajapintaluokka on siis.
Advertisements

Ohjelmiston tekninen suunnittelu
Testaus ja testausympäristöt
Tietojärjestelmät 2.
Suunnitelma ohjelmiston testaukseen
Luokkakaaviot Luokkakaaviot Tekninen suunnittelu.
Tietokanta.
Web-sovellusten arkkitehtuurit K1103TK CodeIgniter - perusteet Jouni Juntunen.
Julkaisukielet ja - tekniikat tMyn1 Julkaisukielet ja -tekniikat •Verkko-ohjelmointi voidaan jakaa kahteen osaan: asiakaspuolen ja palvelinpuolen ohjelmointiin.
Tietokannan suunnittelu
Tekninen suunnit-telu
Power Point – esitysgrafiikkaohjelma lyhyesti
ohje kuunteluanalyysiin
Ohjelmiston elinkaarimallit
Development Association SEPRA How to involve youth into strategic rural development work? Budapest, 8th November 2011 Euroopan maaseudun kehittämisen maatalousrahasto:
Auli Jaakkola 1 Palkkatiedustelun tietomallin mukaisen tilastovastauksen luonti Tässä esimerkissä tiedosto tuotetaan excelistä csv-muotoon. 1.Oletetaan,
Tietokannat II Lasse Bergroth Turun yliopisto, IT-laitos Kevät 2013
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
@ Leena Lahtinen Helia OHJELMOINTITAITO ICT02D 12 OP.
Korkeakoulujen ja opetusministeriön yhteinen tietohallintohanke, jota CSC koordinoi RAkenteellisen KEhittämisen Tukena TIetohallinto RAKETTI-XDW Käsitemäärittely,
Sähköinen itsepalvelu olemassa oleviin järjestelmiin
SE-02 Olioperustainen ohjelmistokehitys Tampereen yliopisto, syksy 2000 Roope Raisamo perustuu Kai Koskimiehen Oliokirjaan ja kurssin aiempiin materiaaleihin.
3. Spesifikaatioiden laatiminen
Johdatus ohjelmointiin Ohjelmistosuunnittelu Jaana Holvikivi.
GNU-ohjelmointityökalut Jussi Raunio TI09OHJ
Monikon lisääminen (1) Luetellaan kaikki lisättävän rivin arvot INSERT INTO Asiakas VALUES (4, ’Assi’, ’Asiakas’); Luetellaan vain osa arvoista; muut arvot.
Selainkäyttöliittymän tuotantoprosessi Klikkaamalla pääotsikoista tietosi karttuu. Sininen mökki toimii paluupainikkeena. Selainkäyttöliittymän tuotantoprosessi.
Ohjelmistotekniikka ja projektinhallinta, 4 op
XML Namespaces 1 XML Namespaces provide a method to avoid element name conflicts –name conflict will occur when two different documents use the same element.
Työasemasovelluksen käyttöliittymä sovelluksien käyttöliittymät voidaan jakaa kahteen pääluokkaan: –kohde-toiminto -pohjaisiin (object-action) käyttöliittymiin.
Muuttujat ja vakiottMyn1 Muuttujat ja vakiot PHP-kielen syntaksi on lainattu suurimmaksi osaksi C- kielestä. PHP on erityisesti HTML-dokumenttien sisään.
Johdanto Teppo Räisänen, Principal Lecturer Oulu University of Applied Sciences, School of Business and Information Management
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Ohjelman keskeytys virhetilanteessa tMyn1 Ohjelman keskeytys virhetilanteessa Poikkeustilanteet voidaan ryhmitellä logiikkavirheisiin ja muihin ajonaikaisiin.
Uudelleenkäyttö. Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim.
Käytettävän käyttöliittymän suunnittelu ITKP 103 Ihminen ja tietojärjestelmä Kimmo Wideroos
Testaus Testaus Testauksella pyritään löytämään virheitä, jotka sitten korjataan. Yksittäinen testi on yleensä ohjelman suoritus (tietyillä.
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
Johdetun luokan olion esittely... tMyn1 Johdetun luokan olion esittely ja määrittely Esittelyluokka tarkoittaa olion tunnuksen luokkaa. Määrittelyluokka.
DO NOT PRINT THIS DOCUMENT SQL -valintaehto CREATE TABLE opettaja ( opetunnus varchar(12) NOT NULL, nimi varchar(40) NOT NULL, puhelin varchar(12), tyohuone.
Java - Tietokanta. JDBC=Java database connectivity  ODBC:n kaltainen ohjelmointiliittymä SQL- tietokantoihin  Koostuu Java-kehitysympäristön (esim.
Graafinen käyttöliittymä, osa 1
Pakkanen * * * Komponenttipohjaisen sovellustuotannon menetelmäpilotti PlugIT-seminaari Annamari Riekkinen ja Kirsi Karvinen FixIT-DoIT / HIS-tutkimusyksikkö.
Irmeli Sinkkonen TkL, tutkija
International pages?. Comments yhteystiedot / contact –information ei resursseja kaiken kääntämiseen – linkit vastuuhenkilöille / no enough resources.
Export Marketing Veikko Laine ”Product” = ? - What the producer produces and markets - What the customer buys - Tangible & Intangible - Concrete & Abstract.
SoberIT Ohjelmistoliiketoiminnan ja –tuotannon instituutti TEKNILLINEN KORKEAKOULU T Käyttöliittymien ja käytettävyyden seminaari Kontekstiherkkyydestä.
Oikeus ja kamppailut 7. luento. Kamppailu Regiimien Juristien Tilan avaaminen Grogan, Open Door, X Dodge v. Ford Lüth Yksilöiden Dodge v. Ford.
Ohjelmistotekniikka Vaatimustenhallinta Kevät 2002 Päivi Ovaska LTKK/Tite.
Finský intensivní Titta Hänninen.  1. What is the capital of Finland? ◦ Mikä on Suomen pääkaupunki? ◦ Helsinki on Suomen pääkaupunki.  2.
CAF eTool Rekisteröitymisen kautta maksutta käyttöön Kansallinen laatuhanke /TjV 1.
Reports in Apply / eAge system
Heippa taas! Kiva nähdä!.
Kansallinen palveluväylä PERTIVA-kokous
Verbin perusmuoto 1 ’TO SING’ OR ’SING’.
KNX - DALI harjoitus 2 Ryhmä ECG-ohjaukset RATKAISU
MyData – asiakas keskiöön
Tietomallista tietokannaksi
Ohjelman keskeytys virhetilanteessa
Rajapintaluokat Rajapintaluokka luettelee metodit, joille tulee löytyä toteutus asianomaisen rajapinnan toteuttavista luokista. Rajapintaluokka on siis.
Risk analysis, risk attitudes
Probability models and decision analysis
Probability models and decision analysis : introduction
Probability models and decision analysis : introduction
Hierarchical models Biotieteellinen tiedekunta / Henkilön nimi / Esityksen nimi
DIC and BMA in BUGS Biotieteellinen tiedekunta / Henkilön nimi / Esityksen nimi
Probability models and decision analysis
Mallintamisen metamalli ja notaatiot
X-ROAD ENVIRONMENTAL MONITORING
© Haaga-Helia StartUp School
Esityksen transkriptio:

Arkkitehtuuri-suunnittelu Ohjelmiston tekninen suunnittelu Syksy 2013

Arkkitehtuurisuunnittelu 26.8.2013 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ä.

Arkkitehtuurisuunnittelu 26.8.2013 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.

Arkkitehtuurisuunnittelu 26.8.2013 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

Teknisen määrittelyn sisältö (HYTT) 26.8.2013 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

Arkkitehtuurin kuvaus 26.8.2013 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

Esimerkki: Web-sovelluksen arkkitehtuuri 26.8.2013 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

Esimerkki: Web-sovelluksen moduulikuvaus 26.8.2013 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

Arkkitehtuurisuunnittelu 26.8.2013 Arkkitehtuurisuunnittelu Linkit ja lähteet Pääasiallinen lähde Risto Pohjonen, Tietojärjestelmien kehittäminen (2002), Docendo http://templateforfree.com/technical-specification-template-for-web-applications/ Wikipedia wikipedia: Data flow diagram wikipedia: MVC