UML metamallina. Seminaariesitelmä Minna Majuri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
|
|
- Tapani Aho
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Seminaariesitelmä HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
2 Sisällys 1 Johdanto 1 2 UML:n perusteet Kaaviot Yleiskäsitteet ja käyttötapauskaavio Luokkakaavio Tilasiirtymäkaavio Vuorovaikutuskaaviot Toteutustason kaaviot Kattavuus 5 3 UML metamallina Arkkitehtuuri Miten metamalli määritellään? Esimerkki pakkauksen määritelmästä Miten metamallia voi hyödyntää? Stereotyypit eli lajit Metamallin ongelmat 11 4 Lähteet 13
3 1 Johdanto Unified Modeling Language (UML) on kuvauskieli, jota voidaan käyttää apuvälineenä erityisesti komponentti- ja olioperustaisen ohjelmistotuotannon eri vaiheissa. Sen kehittivät Grady Booch, Ivar Jacobson ja Jim Rumbaugh Rational Software -yhtiössä. Kehittäjien tavoitteena oli luoda helppokäyttöinen ja tehokas visuaalinen kuvauskieli, joka tukee erilaisten korkean tason ratkaisujen, kuten suunnittelumallien ja komponenttien käyttöä. Kielen haluttiin olevan myös laajennettavissa ja erikoistettavissa, mikäli se on tarpeen jonkin erikoisalan ratkaisujen kuvaamisessa. Kehityksen perustana käytettiin erityisesti erilaisia oliomenetelmiä (object oriented methods), mutta myös olioihin perustumattomilla menetelmillä (non-oo influences) ovat vaikuttaneet UML:ään. UML:ssä käytetään kaavioita suunnitteluongelmien esittämiseen ja ratkaisujen kuvaamiseen. Määrittelyvaiheessa selvitetään asiakkaan vaatimuksia ja esitellään suunnitelmia esimerkiksi käyttötapauskaavioiden avulla. Suunnittelu- ja toteutusvaiheessa ohjelmiston ja sen osien loogista rakennetta ja kontrollin kulkua kuvataan vaikkapa luokka- ja sekvenssikaavioilla. Järjestelmän dokumentaatiossa kaaviot auttavat kokonaiskuvan hahmottamisessa. Kaavioiden avulla luodaan myös erilaisia näkymiä järjestelmään 4+1"-mallin mukaisesti [Kru95]. 1
4 2 UML:n perusteet UML tarjoaa kuvaustekniikoita ohjelmistotuotteiden määrittelyyn (VSHFLI\LQJ), visualisointiin (YLVXDOL]LQJ), rakentamiseen (FRQVWUXFWLQJ) ja dokumentointiin (GRFXPHQWLQJ). Määrittelyn apuvälineenä kaaviot kertovat havainnollisesti, mitä järjestelmältä vaaditaan ja miten se pitäisi toteuttaa. Suunnitteluvaiheessa esitetään erilaisin kaavioin järjestelmän kokonaisrakenne ja tärkeät yksityiskohdat. Näin ratkaisut säilyvät tallessa ja niihin voidaan palata tai vedota myöhemmin suunnitteluvaiheessa. Määrittely-, suunnittelu- ja toteutusvaiheen ratkaisuja kuvaavat kaaviot on hyvä sisällyttää järjestelmän dokumentaatioon, siten saadaan jatkokehityksen ja ylläpidon kannalta arvokasta tietoa järjestelmän elinkaaresta [Sia98a]. 2.1 Kaaviot Perus-UML tarjoaa paljon kaaviotyyppejä eri tarkoituksiin [Rat00]. Järjestelmän käyttötapauksia kuvataan käyttötapauskaaviolla. Loogista rakennetta kuvataan luokkakaavioilla ja kontrollin kulun kuvaamiseen käytetään tilasiirtymä- ja sekvenssikaavioita. Komponenttijakoa ja laitteistosijoittelua kuvataan komponentti- ja laitteistotkaavioin. Yleiskatsauksen eri osapuolten välisestä yhteistyöstä saa yhteistyökaaviosta Yleiskäsitteet ja käyttötapauskaavio Yleiskäsitteitä (General purpose concepts) ovat pakkaus (package), ja riippuvuussuhteen selitys (dependency note). Niitä kuvaavia symboleja voidaan käyttää kaikissa kaavioissa. Käyttötapauskaavion (Use-case diagram, kuva 2.1) avulla esitetään ja tarkennetaan käyttäjien ja ohjelman välista vuorovaikutusta ohjelmistosuunnittelun alkuvaiheessa. Käyttötapauskaavioon liittyviä käsitteitä ovat toimija (actor), käyttötapaus (use case) ja yhteys (association). 2
5 2.1.2 Luokkakaavio Erityisesti suunnittelu- ja toteutusvaiheessa on hyötyä järjestelmän loogista rakennetta - luokkia ja niiden välisiä suhteita - kuvaavista luokkakaavioista (Class diagram, kuva 2.2). Luokkakaavioon liittyviä käsitteitä ovat mm. Luokka, Rajoitteet, Ominaisuudet tai Yleistys/Erikoistus Kuva 2-2 Luokkakaavio 3
6 2.1.3 Tilasiirtymäkaavio Tilasiirtymäkaavio (State transition diagram ) (kuva 2.3) perustuu David Harelin kehittämään kuvaustekniikkaan. Kaaviossa näkyvät järjestelmän mahdolliset tilat, tapahtumat jotka aiheuttavat siirtymisen tilasta toiseen ja tilasiirtymän seurauksena tapahtuvat tapahtumat. Kuva 2-3 Tilasiirtymäkaavio Vuorovaikutuskaaviot Sekvenssikaavio (Sequence diagram) ja yhteistyökaavio (Collaboratin diagram) havainnollistavat järjestelmän olioiden vuorovaikutusta (kuva 2.4). Kuva 2-4 Vuorovaikutuskaavio 4
7 2.1.5 Toteustutason kaaviot Toteutusta kuvaavat komponentti- ja laitekaaviot (component and deployment diagrams) (kuva 2.5). Komponenttikaavio kuvaa komponenttien välisiä riippuvuuksia ja deploymentkaavio kuvaa ajonaikaisten elementtien konfiguraatiota. Nämä kaaviot ovat erityisen hyödyllisiä ohjelmiston ylläpidettävyyden ja jatkokehityksen kannalta. Kuva 2-5 Toteutustason kaaviot 2.2 Kattavuus (Scope of UML) UML on työväline, jota käyttäen ohjelmistotuotteeseen liittyvää tietoa voidaan esittää kuvallisesti. Kuvallinen esitys on usein helpommin hahmotettavissa kuin pelkkään tekstiin perustuva, joten UML-kaavioita voidaan käyttää esimerkiksi tiedon välitykseen ohjelmiston tuottajalta asiakkaalle ja ohjelmoijalta toiselle, sekä apuna järjestelmän suunnittelussa ja ongelmien ratkaisemisessa. UML ei ole visuaalinen ohjelmointikieli vaan visuaalinen kuvauskieli. Vaikka sitä voidaan käyttää apuna suunnitteluongelmien ratkaisemisessa, se ei itsessään ole mikään ongelmanratkaisuväline [Sia98b]. 5
8 3 UML metamallina Koska UML on kieli, vaikkakin kuvallinen, sillä on semantiikka ja kielioppi (syntaksi) niinkuin kaikilla kielillä. UML:n semantiikka ja syntaksin kuvaillaan sen metamallissa. Siinä määritellään kaikki UML:n käsitteet ja kuvataan niiden väliset suhteet UML:n omalla luokkakaavionotaatiolla. UML on siis osaksi määritelty itsellään! Metamalli toimii perustana erilaisille UML:ää tukeville työkaluille. Työkalun on mahdollistettava tiettyjen standardielementtien käyttö, mutta siinä voi olla myös metamallia laajentamalla aikaansaatuja uusia elementtejä [Kos97]. 3.1 Arkkitehtuuri UML:n arkkitehtuuri perustuu neljän tason metamalliin (four-layer metamodel structure). Ylimmällä tasolla on meta-metamalli (meta-metamodel), seuraavalla metamalli (metamodel), sitten malli (model) ja alimpana, konkreettisimpana, käyttäjän objektit (user objects). Esimerkiksi metamallin Luokka on metametamallin MetaLuokan ilmentymä. UML-määritelmässä sanaa metamalli käytetään hieman häiritsevästi sekä koko neljän tason arkkitehtonisesta kokonaisuudesta, että yhdestä sen tasoista. Taulukko 3.1 Neljän tason metamallinnusarkkitehtuuri (metamodelling arch.) Taso Kuvaus Esimerkki PHWDPHWDPDOOL 0HWDPDOOL 0DOOL.l\WWlMlREMHNWLWXVHUGDWD 0HWDPDOOLUDNHQWHHQSHUXVWD.XYDDNLHOHQMROODPHWDPDOOL PllULWHOOllQ 0HWDPHWDPDOOLQLOPHQW\Pl.XYDDNLHOHQMROODPDOOL PllULWHOOllQ 0HWDPDOOLQLOPHQW\Pl.XYDD NLHOHQMROODVRYHOOXVDOD LQIRUPDWLRQGRPDLQ NXYDLOODDQ 0DOOLQLOPHQW\Pl.XYDD VRYHOOXVDOXHHQ 0HWD&ODVVV0HWD$WWULEXWH 0HWD2SHUDWLRQ &ODVVV$WWULEXWH2SHUDWLRQ &RPSRQHQW 6WRFN6KDUHDVN3ULFH 6HOO/LPLW2UGHU 6WRFN4XRWH6HUYHU $FPHB6:B6KDUHB! VHOOBOLPLWBRUGHU 6
9 Neljän tason metamalli kuvaa vain UML:n loogisen rakenteen. Olioparadigman mukaisesti metamalli määrittelee rajapinnan, jota toteutuksen pitää vastata. Fyysinen rakenne ja toteutus siis piilotetaan. Koska toteutuksesta ei anneta tarkkaa kuvausta, saattavat eri ohjelmistoyrittäjien UML-kaavionpiirto-ohjelmat olla suorituskyvyltään hyvinkin erilaisia. Myöskään symbolien ulkoasuun ei puututa metamallin määritelmässä vaan ne kuvataan erikseen UML:n määritelmässä (UML Notation Guide)[OMG99]. Myös metamallitaso on jaettu loogisiin kokonaisuuksiin. Pakkauksia on kolme: Foundation, Behavioral Elements ja Model Management (kuva 3.1), jotka vuorostaan on jaettu pakkauksiin tarpeen mukaan. Esimerkiksi Foundation sisältää Core-, Extension Mechanisms- ja Data Types -pakkaukset (kuva 3.2). Kuva 3-1 Metamallitason pakkaukset Kuva 3-2 Foundation-pakkauksen alipakkaukset 7
10 3.2 Miten metamalli määritellään? UML:n metamallin virallinen määritelmä löytyy Rational Softwaren WWWsivuilta. Kielioppi kuvataan UML-kaaviolla, muotosäännöt ja semantiikka luonnolisella tai formaalilla kielellä. Taulukko 3.2 Metamallin määritelmän osat Määritelmän osa Abstrakti kielioppi (Abstract Syntax) Muotosäännöt (Well-Formedness Rules) Semantiikka (Semantics) Vakioelementit (Standard Elements) Huomautukset (Notes) Tarkoitus UML-notaatiolla tehty luokkakaavio Sanallinen tai formaalikielinen (Object Constrant Language) kuvaus UMLmetaluokkien pysyvistä (static) ominaisuuksista. Sanallinen selitys rakenteiden merkityksestä. Aiemmin samassa osassa määriteltyjen metaluokkien stereotyyppien kuvaukset, mahdollisesti muotosääntöineen. Sanallinen selitys esimerkiksi metamallin ratkaisujen syistä tai käytännön neuvoja tai esimerkkejä Esimerkki pakkauksen määritelmästä Esimerkkinä metamallin määritelmästä esitetään alku Extension Mechanisms - pakkauksen määritelmästä. Määritelmä on otettu suoraan UMLspesifikaatiosta[OMG99]. $EVWUDFW6\QWD[ 8
11 &RQVWUDLQW 7KHFRQVWUDLQWFRQFHSWDOORZVQHZVHPDQWLFVWREHVSHFLILHGOLQJXLVWLFDOO\IRUD PRGHOHOHPHQW... $WWULEXWHV ERG\ $ERROHDQH[SUHVVLRQGHILQLQJWKHFRQVWUDLQW([SUHVVLRQVDUH ZULWWHQDVVWULQJVLQDGHVLJQDWHGODQJXDJH)RUWKHPRGHOWREH ZHOOIRUPHGWKHH[SUHVVLRQPXVWDOZD\V\LHOGDWUXHYDOXHZKHQ HYDOXDWHGIRULQVWDQFHVRIWKHFRQVWUDLQHGHOHPHQWVDWDQ\WLPH ZKHQWKHV\VWHPLVVWDEOHLHQRWGXULQJWKHH[HFXWLRQRIDQ DWRPLFRSHUDWLRQ $VVRFLDWLRQV FRQVWUDLQHG(OHPHQW$QRUGHUHGOLVWRIHOHPHQWVVXEMHFWWRWKHFRQVWUDLQW7KH FRQVWUDLQWDSSOLHVWRWKHLULQVWDQFHV,IWKHHOHPHQWLVDVWHUHRW\SH WKHQWKHFRQVWUDLQWDSSOLHVWRWKHHOHPHQWVFODVVLILHGXVLQJLW :HOO)RUPHGQHVV5XOHV 7KHIROORZLQJZHOOIRUPHGQHVVUXOHVDSSO\WRWKH([WHQVLRQ0HFKDQLVPV SDFNDJH &RQVWUDLQW... &RQVWUDLQWVRQDQ\LQKHULWHG6WHUHRW\SHRUDVVRFLDWHGZLWKWKH EDVH&ODVV -- cannot be specified with OCL FRQIOLFWZLWKDQ\FRQVWUDLQWVRQWKHDWWDFKHGFODVVLI\LQJ6WHUHRW\SH QRUZLWKWKH&ODVVWKH EDVH&ODVVRIWKH0RGHO(OHPHQW -- cannot be specified with OCL 0RGHO(OHPHQWVFODVVLILHGE\WKDW6WHUHRW\SHDQGPXVWQRWFRQIOLFWZLWK DQ\FRQVWUDLQWVRQWKHDWWDFKHGFODVVLI\LQJ6WHUHRW\SHQRUZLWKWKH &ODVVWKHEDVH&ODVVRIWKH0RGHO(OHPHQW -- cannot be specified with OCL 9
12 3.3 Miten metamallia voi hyödyntää? Vaikka UML:n peruskaaviot ovatkin hyvin ilmaisuvoimaisia ja yleiskäyttöisiä, toisinaan sovellusalan mukaiseksi räätälöity kaavio olisi tarpeen. Miten tämä onnistuisi? UML:ä voi laajentaa ja räätälöidä valmiiden laajennusmenetelmien (extension mechanisms) avulla. Laajennusmenetelmiä ovat stereotyyppien määrittely, metamallin elementin ominaisuuksien muuttaminen, rajoitteiden määrittely ja avainsana-arvo parien (tagged values) määrittely. Näillä keinoin saa lisättyä uudentyyppisiä elementtijä UML-kaavioon tai muutettua olemassa olevien elementtien ominaisuuksia paremmin sovellusalaa vastaaviksi. Laajennuksia tehdessä täytyy kuitenkin muistaa, etteivät ne enää ole yhtä laajalti tunnistettuja ja ymmärrettyjä kuin perus-uml Stereotyypit eli lajit Jokaiseen kaavion yksittäiseen elementtiin (model element) voidaan liittää sen laji (stereotype). Laji ilmoittaa elementin metaluokan, siis sen luokan, jonka ilmentymä kyseinen elementti on kaavion metamallissa (mallissa, joka kuvaa itse kaavion). Perusnotaatioon kuuluu kokoelma lajeja, mutta lajeja voidaan myös lisätä valmiita elementtityyppejä laajentamalla [Kos97]. Elementtejä voidaan jaotella (classify) niiden lajien perusteella. Yleisen luokan eri lajeje voisivat esimerkiksi olla interface, controller tai metaclass [Kos97]. Elementtiä voidaan laajentaa määrittelemällä sille uusia ominaisuuksia (properties), rajoitteita (constraints) tai avain-arvopareja (tagged values). Uudella elementtilajilla on henkilökohtaisten ominaisuuksiensa lisäksi myös lajityypilliset ominaisuudet. Niiden avulla UML-työkalu osaa käsitellä myös laajennettua elementtiä. Alkuperäinen laji näytetään kaksoiskulmasulkujen <<>> 10
13 sisällä luokkalaatikossa. Uudella lajilla saattaa olla myös oma kuvallinen esitysmuoto. Kuva 3-2 Luokan symboli Kehitystyön tavoitteena on ollut, että laajentaminen onnistuu ilman lisäyksiä tai muutoksia metamalliin. Toisaalta, laajennuksia voi tehdä myös metamallia muokkaamalla. Tällä hetkellä UML:ssä on kaksi valmista laajennosta, Objectory Process ja Business Engineering. 3.4 Metamallin ongelmat UML määrittelee seuraavat säännöt laajennusmekanismien käyttöön liittyen. Elementti (Model Element) on nimetty abstraktio mallinnuksen kohteena olevan järjestelmän osasta. Kattaa kaikki metaluokat. Luokittelija (Classifier) on elementti, joka kuvaa käyttäytymistä (behavioral) tai rakennetta (structural features). Luokittelija kattaa siis esimerkiksi mallitason luokat, tietotyypit ja rajapinnat. Ilmentymä (Instance) on elementti, jolla on tila ja tilan muuttamiseen käytettäviä operaatioita. Kaikki käyttäjän tason oliot ovat ilmentymiä ylemmän tason luokista. Elementti Lajisääntö: Elementti voidaan liittää korkeintaan yhteen Lajiin. Laji voidaan liittää nollaan tai useampaan elementtiin. Luokittelija - Ilmentymäsääntö: Ilmentymä saa liittyä yhteen tai useampaan luokittelijaan. Luokittelija voi liittyä nollaan tai useampaan ilmentymään. Luokittelija Ilmentymä Laji sääntö: Ilmentymällä täytyy olla sama Laji kuin sen luokittelijalla. Ilmentymän ei kuitenkaantarvitse visuaalisesti näyttää lajiaan. Luokittelijanotaatiosääntö: Luokittelija-käsitteen (luokan) ilmentymä 11
14 (objekti) kuvataan symbolina, jolla voi olla nimi (merkkijono), joka on alleviivattu. Luokittelijasuhteen (Classifier association) ilmentymä (link) kuvataan viivana, jolla voi olla nimi. Yhteys saattaa myös näyttää osapuolten nimet, jolloin ne pitää alleviivata. Lajin kuvaussääntö: (concept) Luokan tai olion laji kuvataan symbolilla, jossa käsitteen nimi on kaksoiskulmasulkujen sisällä << Nimi >>. Samoin suhteen laji nimi on kulmasulkeiden sisällä. Metamallissa on kuitenkin muutamia virheitä ja ristiriitoja, jotka ilmenevät edellä esiteltyjen laajennussääntöjen yhteydessä [Sia99]. Luokittelija Ilmentymä Lajisääntö on ongelmallinen, sillä säännön mukaisesti olioiden lajit eivät välttämättä näy kaavioista. Ongelma ratkeaisi sallimalla ilmentymien piirtää lajinsa näkyviin. Elementti Laji -sääntö ja Luokittelija Ilmentymäsääntö ovat ristiriitaiset. Jälkimmäinen sääntö sanoo, etttä Ilmentymä voi liittyä yhteen tai useampaan Luokittelijaan, joten Ilmentymällä voi sen takia olla nolla tai enemmän lajeja (yksi per Luokittelija). Toisaalta ensimmäinen sääntö sanoo, että elementtiin voi liittyä yksi tai ei-yhtään lajia. Kun kerran Ilmentymä on elementti, sillä ei saisi olla kuin korkeintaan yksi laji, mutta toisaalta sillä saa olla useampikin, koska se saa jälkimmäisen säännön mukaan liiittyä usempaan Luokittelijaan. Luokittelijanotaatio- ja lajinotaatiosäännöt ovat epäyhtenevät: Käsitteen (concept) laji ja suhteen laji kuvataan kulmasulkeilla täsmälleen samoin. Käsitteen luokittelu (classification) ja suhteen luokittelu (classification) kuvataan kuitenkin eri tavoin (mokkula ja viiva). Koska uusien lajien muodostaminen (stereotyping) ja luokittelu ovat kumpikin ilmentymänteon (instantiating) muotoja, ne pitäisi piirtää jollain yhtenäisemmällä tavalla. 12
15 4 Lähteet Kru95 Kruchten P.,B.: The 4+1 View Model of Architecture, IEEE Software, Nov 1995, pp Sia98a Si Allhir, S. What is the Unified Modelling language (UML)? Rat00 Rational Software Corporation, Quick Reference for Rational Rose KWWSZZZUDWLRQDOFRPXPOUHVRXUFHVTXLFNXPOBSRVWHUMVS Sia98b Si Alhir, S., Applying the Unified Modeling Language (UML), OMG99 OMG Unified Modeling Language Specification Kos97 Koskimies, K. Pieni oliokirja, Suomen atk-kustannus, Espoo, Suomi Sia99 Si Alhir, S. Extending the Unified Modeling Language (UML) 13
Ohjelmistotekniikan menetelmät, UML
582101 - Ohjelmistotekniikan menetelmät, UML 1 Sisältö DFD- ja sidosryhmäkaavioiden kertaus Oliomallinnus UML:än kaaviotyypit 2 Tietovuokaaviot Data flow diagrams, DFD Historiallisesti käytetyin kuvaustekniikka
LisätiedotUML:n yleiskatsaus. UML:n osat:
UML:n yleiskatsaus - voidaan hyödyntää hyvin laajasti. - sopii liiketoimintamallinnukseen, ohjelmistomallinnukseen sen jokaiseen vaiheeseen tai minkä tahansa pysyviä ja muuttuvia ominaisuuksia sisältävän
LisätiedotUML-kielen formalisointi Object-Z:lla
UML-kielen formalisointi Object-Z:lla Kalvot ja seminaarityö WWW:ssä: http://users.jyu.fi/~minurmin/opiskelu/form/ UML UML == Unified Modelling Language. OMG:n standardoima kieli ohjelmistojärjestelmien,
LisätiedotOhjelmistojen mallintaminen Unified Modeling Language (UML)
582104 Ohjelmistojen mallintaminen Unified Modeling Language (UML) 1 Olioperustaisuus Olio toimii mallinnuksen perusyksikkönä eri abstraktiotasoilla Järjestelmän rajaus, suunnittelu, ohjelmointi, suoritus..
LisätiedotOhjelmistojen mallintaminen, mallintaminen ja UML
582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti
LisätiedotTIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely
Lyhyt UML-opas UML -pikaesittely UML, Unified Modeling Language Standardoitu, yleiskäyttöinen mallinnuskieli, jota ylläpitää/hallitsee (Object Management Group) OMG Historiaa: 90-luvulla oli paljon kilpailevia
LisätiedotUML - unified modeling language
UML - unified modeling language Lähtökohtana: Booch, Rumbaugh, Jacobsson Tavoitteena Unified Method - syntyykö? Kehittäjänä: Rational Inc. Standardointi: Object Management Group (OMG) - vaiheessa Lähteet:
LisätiedotOhjelmistojen mallintaminen
Ohjelmistojen mallintaminen - Mallit - Ohjelmiston kuvaaminen malleilla 31.10.2008 Harri Laine 1 Malli: abstraktio jostain kohteesta Abstrahointi: asian ilmaiseminen tavalla, joka tuo esiin tietystä näkökulmasta
LisätiedotOhjelmistojen mallintaminen kertausta Harri Laine 1
kertausta 5.12.2008 Harri Laine 1 Ohjelmiston elinkaari, elinkaarimallit Yleinen puitemalli (reference model) - abstrakti kokonaiskuva ei etenemiskontrollia, ei yksityiskohtia Ohjelmistoprosessimallit
LisätiedotUnified Modeling Language
Unified Modeling Language Confuse 25.11.2001 Tila Versio: 1.0 Vaihe: T1 Jakelu: Julkinen Luontipäivä: 15.11.2001 Antti Haapakoski Muutettu viimeksi: 25.11.2001 Antti Haapakoski Sisältö 1 Yleistä 1 2 Mallinnuksesta
Lisätiedot2 Ohjelmistoarkkitehtuurien kuvaus
2 Ohjelmistoarkkitehtuurien kuvaus 2.1 Arkkitehtuurikuvauksen merkityksestä 2.2 Arkkitehtuurin kuvaukseen liittyvät käsitteet 2.3 Arkkitehtuurikuvaukset eri tasoilla 2.4 Arkkitehtuurinäkymät ja kuvaustyypit
LisätiedotOlioperustaisuus (object oriented)
DO NOT PRINT THIS DOCUMENT Olioperustainen ohjelmistokehitys Olioperustaisuus (object oriented) järjestelmä (system) muodostuu joukosta olioita (object), jotka yhteistyössä toimien tuottavat järjestelmän
LisätiedotJohdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustaisuus (object oriented)
DO NOT PRINT THIS DOCUMENT Olioperustainen ohjelmistokehitys Olioperustaisuus (object oriented) järjestelmä (system) muodostuu joukosta olioita (object), jotka yhteistyössä toimien tuottavat järjestelmän
LisätiedotJohdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustainen ohjelmistokehitys
DO NOT PRINT THIS DOCUMENT Olioperustainen ohjelmistokehitys Olioperustaisuus (object oriented) järjestelmä (system) muodostuu joukosta olioita (object), jotka yhteistyössä toimien tuottavat järjestelmän
Lisätiedot2 Description of Software Architectures
2 Description of Software Architectures 2.1 Significance of architectural descriptions 2.2 Context of architectural descriptions 2.3 Levels of architectural descriptions 2.4 Viewpoints and types in architecture
LisätiedotArkkitehtuuripankki. Mallintamisen metamalli ja notaatiot
Arkkitehtuuripankki Mallintamisen metamalli ja notaatiot 21.2.2018 Sisältö Kuvaustapa (notaatio) ja standardit Mallityypit Metamalli Muuta Kuvaustavat ja hyödynnetyt standardit JHS179 template ArchiMate
LisätiedotMalliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki
Malliperustainen ohjelmistokehitys - MDE 25.9.2007 Pasi Lehtimäki MDE Miksi MDE? Mitä on MDE? MDA, mallit, mallimuunnokset Ohjelmistoja Eclipse, MetaCase Mitä jatkossa? Akronyymiviidakko MDE, MDA, MDD,
LisätiedotOhjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1
Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa 14.11.2008 Harri Laine 1 Oliot ohjelmiston mallinnuksessa käyttötapaus käyttää Käyttämämme oliokeskeinen perusmalli ohjelmistojen
LisätiedotOhjelmistojen mallintaminen, kesä 2010
582104 Ohjelmistojen mallintaminen, kesä 2010 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin
LisätiedotOhjelmistotekniikan menetelmät, kesä 2008
582101 - Ohjelmistotekniikan menetelmät, kesä 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön
LisätiedotHieman lisää malleista ja niiden hyödyntämisestä
Hieman lisää malleista ja niiden hyödyntämisestä Ohjelmistojen mallintaminen Kesä 2012 (Avoin yliopisto) Toni Ruokolainen, 23.8.2012 Mallit Mallit ovat todellisuuden abstraktioita, jotka on muodostettu
LisätiedotOhjelmistojen mallintaminen, kesä 2009
582104 Ohjelmistojen mallintaminen, kesä 2009 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin
LisätiedotOhjelmistotekniikan menetelmät, kevät 2008
582101 - Ohjelmistotekniikan menetelmät, kevät 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön
LisätiedotOhjelmistotekniikan menetelmät, mallintaminen ja UML
582101 - Ohjelmistotekniikan menetelmät, mallintaminen ja UML 1 Mallintaminen ja UML (Ch 2.) Ohjelmistojen mallintamisesta ja kuvaamisesta Strukturoitu mallinnus Tietovuo- ja ER-kaaviot Oliomallinnus ja
LisätiedotTIE = JOTU. VH5 - MagicDraw
TIE-02300 = JOTU VH5 - MagicDraw TIE-02300 2 VH5 kaavionpiirtelyharjoitus Tässä harjoituksessa opetellaan tunnistamaan ja piirtämään tavallisimpia ja käytetyimpiä ohjelmistotuotannon kaavioita: käyttötapauskaavio
LisätiedotTenttikysymykset. + UML- kaavioiden mallintamistehtävät
Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä
LisätiedotCopyright by Haikala. Ohjelmistotuotannon osa-alueet
Copyright by Haikala Ohjelmistotuotannon osa-alueet Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary
LisätiedotUML-MALLINNUSKIELI JA SEN HYÖDYNTÄMINEN OHJELMISTOKEHITYKSESSÄ
Juha Rautiainen UML-MALLINNUSKIELI JA SEN HYÖDYNTÄMINEN OHJELMISTOKEHITYKSESSÄ Tietotekniikan kandidaatintutkielma 20.3.2011 Jyväskylän yliopisto Tietotekniikan laitos Tekijä: Juha Rautiainen Yhteystiedot:
LisätiedotOhjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1
2 Ohjelmistoarkkitehtuurien kuvaus 2.1 Arkkitehtuurin kuvaukseen liittyvät käsitteet 2.2 Arkkitehtuurikuvaukset eri tasoilla 2.3 Arkkitehtuurinäkökulmat ja kuvaustyypit 2.4 Arkkitehtuuriviipaleiden kuvaus
LisätiedotOhjelmistojen mallintaminen luokkamallin lisäpiirteitä
582104 Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä 1 Luokkamallin lisäpiirteitä Erilaiset yhteystyypit kooste kompositio Muita luokkien välisiä suhteita riippuvuudet periytyminen eli luokkahierarkia
LisätiedotUML- mallinnus: Tilakaavio
UML- mallinnus: Tilakaavio Karkea kuvaus UML- kaavioiden käytöstä ohjelmistonkehityksen eri vaiheissa ja tehtävissä. Mallinnus tilakaavioilla Tilakaaviolla kuvataan yhden luokan olioiden tilan muuttumista
LisätiedotKaaviotekniikoista (erityisesti UML) (ajan riittäessä pikkasen projekteista)
Kaaviotekniikoista (erityisesti UML) (ajan riittäessä pikkasen projekteista) Kari Systä 05.10.2015 9/30/2013 Jotu2013/KSY 1 Ajankohtaista kurssista Keskiviikon viimeinen viikkoharjoitus saatetaan lopettaa
LisätiedotSisällys. 19. Unified Modeling Language (UML) Johdanto. Johdanto. Johdanto. Luokkakaavio:
Sisällys 9. Unified Modeling Language (UML) Perustuu Kai Koskimiehen Oliokirjaan ja aikaisempaan luentomateriaaliin. Johdanto. Luokkakaavio: Luokkasymboli, attribuutit ja metodit. Suhteet: Assosiaatiot:
LisätiedotUML Luokkakaavio 14:41
UML Luokkakaavio UML Olio-ohjelman luokkien pääpiirteet voidaan kätevähkösti esittää ns. UML-luokkakaaviona. Näin usein tehdäänkin esim. suunniteltaessa, millaisia luokkia ohjelmaan on tarkoitus laatia,
LisätiedotOhjelmistotuotanto, kuvaustekniikat Syksy Kuvaustekniikat. Miksi kuvaustekniikoita? Abstraktiotasot. Abstrahointi UML
5. Kuvaustekniikat Miksi kuvaustekniikoita? Tämä luku perustuu Sommervillen lisäksi seuraaviin kirjoihin: Martin Fowler, UML Distilled - Second Edition. Addison-Wesley, 2000. Roger S. Pressman, Software
LisätiedotUML-mallinnus ja prosessien kuvaaminen Microsoft Visiolla (versio 2003 professional) Jouni Huotari 11.1.2005
UML-mallinnus ja prosessien kuvaaminen Microsoft Visiolla (versio 2003 professional) Jouni Huotari 11.1.2005 Tutustumiskierros Vision UML-kaavioihin Avaa ChampionzoneUML.vsd-tiedosto Tutustu malliin eli
LisätiedotAnalyysi on tulkkaamista
Analyysi on tulkkaamista Petri: Pitää osata menetelmiä, arkkitehtuureja, suunnittelumalleja, eli miten [ohjelmistoja] ylipäänsä kehitetään. Pitää olla viestintätaitoja. Perttu: Pitää ymmärtää miten projekti
LisätiedotUML työvälineenä ja tutkimuskohteena
UML työvälineenä ja tutkimuskohteena Kai Koskimies, Johannes Koskinen, Mika Maunumaa, Jari Peltonen, Petri Selonen, Mika Siikarla & Tarja Systä Tampereen teknillinen yliopisto Ohjelmistotekniikan laitos
LisätiedotSisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki
Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.
LisätiedotUML-kuvauskielten käyttö ohjelmistojen vaatimusmäärittelyissä
UML-kuvauskielten käyttö ohjelmistojen vaatimusmäärittelyissä Hannu A Heikkinen Helsinki 18.02.2008 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos ii Sisältö 1 Johdanto 1 2 Ohjelmistojen vaatimusmäärittely
LisätiedotToiminnot eli käyttäytyminen. Tieto eli rakenteelliset ominaisuudet
Toiminnot eli käyttäytyminen Tieto eli rakenteelliset ominaisuudet Olio (ks. määritelmä): rajattavissa ja yksilöitävissä oleva asia tai käsite, joka on merkityksellinen käsillä olevan tarkastelun kannalta
LisätiedotUML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI 11.1.2005 14.2.2010
UML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI 11.1.2005 14.2.2010 TUTUSTUMISKIERROS VISION UML-KAAVIOIHIN Avaa ChampionzoneUML.vsd-tiedosto Tutustu malliin eli eri sivuilla oleviin kaavioihin (napsautus
LisätiedotMallinnus UML-yleiskatsaus
2 Mallinnus UML-yleiskatsaus Tule maalle - näe mullin malli. Tämän osan sisältö Mallinnus ohjelmistoprojekteissa Mallinnuskielet UML-yleiskatsaus Oliopohjainen ajattelu UML-kaaviot rakennetta kuvaavat
LisätiedotOhjelmistojen mallintaminen, mallinnustekniikat käytännössä
582104 Ohjelmistojen mallintaminen, mallinnustekniikat käytännössä 1 Sisältö Oliomenetelmien taustaa Kirjastojärjestelmän käyttötapaukset Kirjastojärjestelmän luokkamalli 2 Oliosuuntautunut suunnittelumenetelmä
Lisätiedot2 Ohjelmistoarkkitehtuurien kuvaus
2 Ohjelmistoarkkitehtuurien kuvaus 2.1 Arkkitehtuurikuvauksen merkityksestä 2.2 Arkkitehtuurin kuvaukseen liittyvät käsitteet 2.3 Arkkitehtuurikuvaukset eri tasoilla 2.4 Arkkitehtuurinäkymät ja kuvaustyypit
LisätiedotSisällys. Ratkaisumallien historia. Ratkaisumalli. Ratkaisumalli [2] Esimerkki: Composite [2] Esimerkki: Composite. Jaakko Vuolasto 25.1.
Sisällys Ratkaisumallien historia Jaakko Vuolasto 25.1.2001! Ratkaisumalli! Christopher Alexander! Ohjelmistotuotannosta arkkitehtuuriin! Henkilöhistoriaa! Ensimmäisiä käyttökokemuksia! Yhteenveto 25.1.2001
LisätiedotTällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.
MagicDraw-pikaohje Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia. Alkuvalmistelut Windows (sali TC205) 1) Kirjaudu sisään TTY:n intra-tunnuksella.
LisätiedotAnalyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio
Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia
Lisätiedot812347A Olio-ohjelmointi, 2015 syksy 2. vsk. II Johdanto olio-ohjelmointiin
812347A Olio-ohjelmointi, 2015 syksy 2. vsk II Johdanto olio-ohjelmointiin Sisältö 1. Abstraktiosta 2. Olio-ohjelmoinnin historiaa 3. Olioparadigmasta 4. Peruskäsitteiden esittely 2 II.1 Abstraktiosta
LisätiedotAnalyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio
Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia
LisätiedotOhjelmistojen suunnittelu
Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer
LisätiedotJoskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita.
Moniperintä 2 Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita. Oliomallinnus TITE.2040 Hannu K. Niinimäki 1 Delegointi 1 Moniperinnän toteuttaminen
LisätiedotKertaus: yleistys-erikoistus ja perintä
Kertaus: yleistys-erikoistus ja perintä Nauta, Lehmä ja Kuttu ovat Kotieläimiä, Kotieläimet Eläimiä Kotieläimillä (siis myös Naudoilla, Lehmillä ja Kutuilla) on Omistaja Kuttu ja Lehmä toteuttavat rajapinnan
Lisätiedot3a. Projektin hallinta (lisäys lukuun 3)
3a. Projektin hallinta (lisäys lukuun 3) Tehokas projektin hallinta keskittyy kolmeen osaalueeseen: henkilökuntaan, tehtävään ja prosessiin. Henkilökunta: on yrityksen tärkein voimavara, oikea henkilö
LisätiedotOhjelmistoarkkitehtuurit, syksy
Ohjelmistoarkkitehtuurit 2 Rajapinnat 24.9.2012 1 Arkkitehtonisen näkymän esittäminen Luonnollinen kieli + vapaamuotoinen grafiikka taustalla on oltava joku malli, jonka mukaisia asioita kuvaukseen otetaan
Lisätiedotkäyttötapaukset mod. testaus
käyttötapaukset Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Kartta hyväksyntä määrittely suunnittelu suunnittelu mod. testaus integrointi sys. testaus Ylläpito koodaus (toteutus)
LisätiedotOhjelmistojen mallintaminen, sekvenssikaaviot
582104 - Ohjelmistojen mallintaminen, sekvenssikaaviot 1 Vuorovaikutussuunnittelu Oliojärjestelmän toiminta perustuu olioiden vuorovaikutukseen ja yhteistyöhön Olioiden yhteistyö toteutuu operaatioiden
LisätiedotVaatimusten keräys ja hallinta
Vaatimusten keräys ja hallinta Inka Vilpola 19.4.2006 Sisältö Vaihe ISO 13407 -prosessissa Vaatimusten lajit (teoria) Vaatimukset hyvälle vaatimukselle Vaatimusten hallinta Vaatimusten kerääminen Vaatimusten
LisätiedotOhjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1
3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti? 3.3 Komponentit ohjelmistoyksikköinä 3.4 Rajapinnat 3.6 Komponenttien räätälöinti
Lisätiedot812341A Olio-ohjelmointi, I Johdanto
812341A Olio-ohjelmointi, 2016 I Johdanto Sisältö 1. Abstraktiosta 2. Olio-ohjelmoinnin historiaa 3. Olioparadigmasta 4. Peruskäsitteiden kertausta 812341A Olio-ohjelmointi, Johdanto 2 1 Abstraktiosta
LisätiedotLuokka- ja oliokaaviot
Luokka- ja oliokaaviot - tärkeimmät mallinnuselementit : luokat, oliot ja niiden väliset suhteet - luokat ja oliot mallintavat kuvattavan järjestelmän sisältöä ja niiden väliset suhteet näyttävät, kuinka
LisätiedotOhjelmistojen mallintaminen, mallintaminen ja UML
582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML (Ch 2.) Ohjelmistojen mallintamisesta ja kuvaamisesta Strukturoitu mallinnus Tietovuo- ja ER-kaaviot Oliomallinnus ja UML
LisätiedotMäärittely- ja suunnittelumenetelmät
Menetelmädokumentti Määrittely- ja suunnittelumenetelmät Versio Päiväys Tekijä Kuvaus 0.01 5.12.01 Pekka Koskinen Alustava sisällysluettelo 0.1 7.12.01 Pekka Koskinen Ensimmäinen luonnos 1.0 11.12.01 Pekka
LisätiedotTenttikysymykset. + UML- kaavioiden mallintamistehtävät
Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä
LisätiedotYhteenveto. Menettelytavat
Yhteenveto Ohjelmistotuotanto: Luotettavien ja tehokkaiden ohjelmistojärjestelmien tuottamista noudattaen hyviksi havaittuja menettelytapoja. Menettelytavat Prosessimalli (vesiputous/spiraali/kasvattava)
LisätiedotOhjelmistojen mallintaminen Luokkakaaviot Harri Laine 1
Ohjelmistojen mallintaminen Luokkakaaviot 5.12.2008 Harri Laine 1 Olioiden palvelut Palvelun kuvauksessa annettavat tiedot näkyvyys (kuten attribuuttien kohdalla) nimi (ainoa välttämätön osa) parametrit
LisätiedotThe OWL-S are not what they seem
The OWL-S are not what they seem...vai ovatko? Verkkopalveluiden koostamisen ontologia OWL-S Seminaariesitelmä 15.4.2013 Emilia Hjelm Internet on hankala Nykyinternet on dokumenttien verkko Asiat, joita
LisätiedotHELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu
HELIA 1 (14) Luento 7 Käyttöliittymäolio... 2 Olioajattelun perusteet... 3 Tavoitteet... 3 Peruskäsitteet... 4 Olio / Olioinstanssi / Olion esiintymä... 4 Ominaisuudet... 4 Toiminnot... 4 Olioluokka /
LisätiedotOhjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development Harri Laine 1
Ohjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development 2.12.2008 Harri Laine 1 Jacobson jakaa ohjelmiston oliot kolmeen tyyppiin liittymäolioiksi (interface objects, boundary objects)
LisätiedotOhjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely
582101 - Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely 1 Vaatimukset ja käyttötapaukset Vaiheittainen mallintaminen ja abstraktiotasot Järjestelmän rajaaminen sidosryhmäkaaviolla
LisätiedotVisual Case 2. Miika Kasnio (C9767) 23.4.2008
Visual Case 2 Miika Kasnio (C9767) 23.4.2008 Työn tarkasti: Jouni Huotari 24.4.2008 1 SISÄLTÖ 1. TYÖN LÄHTÖKOHDAT... 2 2. PERUSTIEDOT... 2 3. ASENTAMINEN... 2 4. OMINAISUUDET... 3 4.1. UML-kaaviot... 4
LisätiedotPaikkatiedon mallinnus Dokumentoinnin ymmärtäminen. Lassi Lehto
Paikkatiedon mallinnus Dokumentoinnin ymmärtäminen Lassi Lehto INSPIRE-seminaari 23.08.2012 Sisältö Tietotuoteselosteen rakenne (ISO 19131) Unified Modeling Language (UML) Luokkakaaviotekniikan perusteet
LisätiedotTenttikysymykset. + UML-kaavioiden mallintamistehtävät
Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä
LisätiedotOhjelmistojen mallintaminen, kurssikoe esimerkkivastauksia
Ohjelmistojen mallintaminen, kurssikoe 15.12. esimerkkivastauksia Tehtävä 1 a: Ohjelmistotuotantoprosessi sisältää yleensä aina seuraavat vaiheet: määrittely, suunnittelu, toteutus, testaus ja ylläpito.
LisätiedotAVOIMEN LÄHDEKOODIN UML-MALLINNUSVÄLINEIDEN VERTAILU PIENTEN OHJELMISTOPROJEKTIEN TARPEISIIN
Juha Rautiainen AVOIMEN LÄHDEKOODIN UML-MALLINNUSVÄLINEIDEN VERTAILU PIENTEN OHJELMISTOPROJEKTIEN TARPEISIIN Tietotekniikan pro gradu -tutkielma, 15.1.2014 Jyväskylän yliopisto Tietotekniikan laitos Tekijä:
Lisätiedot5. Järjestelmämallit. Mallinnus
5. Järjestelmämallit Käyttäjävaatimukset pitää kirjoittaa luonnollisella kielellä. Niitä lukevat myös asiakkaat ja loppukäyttäjät. Järjestelmävaatimukset kannattaa kirjoittaa jollain rakenteisella kuvaustavalla.
LisätiedotUML OHJELMISTOPROSESSIEN TUKENA
UML OHJELMISTOPROSESSIEN TUKENA Kimmo Kampman 11.5.2001 Joensuun yliopisto Tietojenkäsittelytiede Pro gradu -tutkielma TIIVISTELMÄ Ohjelmistojen teko muuttuu jatkuvasti vaativammaksi. Ohjelmiston mallintamisen
Lisätiedot2. Olio-ohjelmoinnin perusteita 2.1
2. Olio-ohjelmoinnin perusteita 2.1 Sisällys Esitellään peruskäsitteitä yleisellä tasolla: Luokat ja oliot. Käsitteet, luokat ja oliot. Attribuutit, olion tila ja identiteetti. Metodit ja viestit. Olioperustainen
LisätiedotUML työvälineenä ja tutkimuskohteena
UML työvälineenä ja tutkimuskohteena Kai Koskimies, Johannes Koskinen, Mika Maunumaa, Jari Peltonen, Petri Selonen, Mika Siikarla & Tarja Systä Tampereen teknillinen yliopisto Ohjelmistotekniikan laitos
LisätiedotPerusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.
Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita. Arkkitehtuuriin vaikuttavat ympäristötekijät Jo kehittämisen alkuvaiheessa on tarpeellista hahmotella arkkitehtuurin perusratkaisu. Lähtökohdat
LisätiedotUML-laajennusten arviointi: sovellusalueena WWW-sovellukset
Jouni Turpeinen UML-laajennusten arviointi: sovellusalueena WWW-sovellukset Tietojärjestelmätieteen pro gradu -tutkielma 30.7.2004 Jyväskylän yliopisto Tietojenkäsittelytieteiden laitos Jyväskylä TIIVISTELMÄ
LisätiedotOhjelmistojen mallintaminen Ohjelmistoarkkitehtuuri Harri Laine 1
Ohjelmistojen mallintaminen Ohjelmistoarkkitehtuuri 25.11.2008 Harri Laine 1 Buschmann et al: Software architecture is a description of the subsystems and components of a software system and relations
LisätiedotPalvelusuuntautunut ohjelmistotuotanto Luento 6: Malliperustaisen ohjelmistotuotannon perusteet; palvelutuotannon mallit Toni Ruokolainen, 5.2.
CINCO Collaborative and interoperable computing Palvelusuuntautunut ohjelmistotuotanto Luento 6: Malliperustaisen ohjelmistotuotannon perusteet; palvelutuotannon mallit Toni Ruokolainen, 5.2.2010 Luennon
LisätiedotOhjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus
Yhteenveto Ohjelmistotuotanto vs. muut insinööritieteet Monimutkaisuus Näkymättömyys (Usein näennäinen) luotettavuus ja edullisuus Muunnettavuus Epäjatkuvuus virhetilanteissa Skaalautumattomuus Copyright
LisätiedotTietojärjestelmän osat
Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto
LisätiedotOhjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista
582101 - Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 1 Ohjelmistotuotannon työkaluuista Projektinhallintatyökalut (ei käsitellä tällä kurssilla) CASE- ja mallinnustyökalut (esim. Poseidon)
LisätiedotUML-kaaviot. Jouni Kylä-Nikkilä
UML-kaaviot Jouni Kylä-Nikkilä Tampereen yliopisto Tietojenkäsittelytieteiden laitos Tietojenkäsittelyoppi Pro gradu -tutkielma Huhtikuu 2008 Tampereen yliopisto Tietojenkäsittelytieteiden laitos Tietojenkäsittelyoppi
LisätiedotTilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , )
Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss. 121-133, 135 141) Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Sisältö Sekvenssikaaviot ja tilakaaviot osana UML:ia Sekvenssikaaviot
LisätiedotOhjelmistojen mallintaminen Olioiden yhteistyö. 18.11.2008 Harri Laine 1
Ohjelmistojen mallintaminen Olioiden yhteistyö 18.11.2008 Harri Laine 1 Olioiden yhteistyö Oliokeskeisen ohjelmistonäkemyksen mukaan ohjelmiston palvelut tuotetaan olioiden yhteistyön tuloksena. Ohjelmisto
LisätiedotHAAGA-HELIA Käyttötapaukset 1 Tietojenkäsittely Tietosysteemin määritys. Käyttötapaukset
HAAGA-HELIA Käyttötapaukset 1 Käyttötapaukset 1. Käyttötapausmalli 2. Käyttötapaus (Use Case) 3. Toimija (Actor) 4. Käyttötapausmallin sisältö ja rakenne 5. Käyttötapausmalli vs. luokkamalli 6. Käyttötapausmalli
LisätiedotKäyttötapausten mallintaminen
Käyttötapausten mallintaminen Vaatimukset ja testauslähtöisyys, swd4tn001 Anne Valsta 1.3.2011 (ent. 11.2.2011) Sisällysluettelo 1 Käyttötapaukset ohjelmiston vaatimusten määrityksessä... 2 1.1 Käyttötapauskartta...
LisätiedotMallinnus. 5. Järjestelmämallit. Abstraktiot. Mallinnuksen etuja. Arkkitehtuurimalli. Yhteysmallit. Ohjelmistotuotanto, järjestelmämallit Kevät 2005
5. Järjestelmämallit Käyttäjävaatimukset pitää kirjoittaa luonnollisella kielellä. Niitä lukevat myös asiakkaat ja loppukäyttäjät. Järjestelmävaatimukset kannattaa kirjoittaa jollain rakenteisella kuvaustavalla.
LisätiedotOhjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja
582104 Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja 1 Arkkitehtuurisuunnittelu Ohjelmistoarkkitehtuurin määritelmä & arkkitehtuurisuunnittelun lähtökohta ja tavoitteet Kerrosarkkitehtuuri
LisätiedotHarjoitustehtävät ja ratkaisut viikolle 48
Harjoitustehtävät ja ratkaisut viikolle 48 1. Tehtävä on jatkoa aiemmalle tehtävälle viikolta 42, missä piti suunnitella älykodin arkkitehtuuri käyttäen vain ennalta annettua joukkoa ratkaisuja. Tämäkin
LisätiedotOhjelmistoarkkitehtuurit. Kevät
Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ Tervetuloa Oulun yliopisto, Tampereen yliopisto, Turun yliopisto, Tampereen teknillinen yliopisto 2 Kurssin tavoitteet
LisätiedotJAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?
JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,
Lisätiedot1. Tarkastellaan seuraavaa kaaviota
HELSINGIN YLIOPISTO TIETOJENKÄSITTELYTIETEEN LAITOS JOHDATUS SOVELLUSSUUNNITTELUUN (JSS) 19.12.2001 (H.Laine) 1. Tarkastellaan seuraavaa kaaviota Mitkä seuraavista väitteistä ovat kaavion mukaisia t.s.
LisätiedotOhjelmistojen mallintamisen ja tietokantojen perusteiden yhteys
Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty
Lisätiedot812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton
2015 syksy 2. vsk IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton Sisältö 1. Johdanto luontimalleihin 2. Proxy 3. Factory Method 4. Prototype 5. Singleton Suunnittelumallit Proxy et.
Lisätiedot3. Komponentit ja rajapinnat
3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti? 3.3 Komponentit ohjelmistoyksikköinä 3.4 Rajapinnat 3.6 Komponenttien räätälöinti
Lisätiedot