582104 - PowerPoint PPT Presentation

About This Presentation
Title:

582104

Description:

582104 Ohjelmistojen mallintaminen Unified Modeling Language (UML) * – PowerPoint PPT presentation

Number of Views:78
Avg rating:3.0/5.0
Slides: 24
Provided by: Vih9
Category:
Tags: booch | identity | object

less

Transcript and Presenter's Notes

Title: 582104


1
582104 Ohjelmistojen mallintaminen Unified
Modeling Language (UML)
2
Olioperustaisuus
  • Olio toimii mallinnuksen perusyksikkönä eri
    abstraktiotasoilla
  • Järjestelmän rajaus, suunnittelu, ohjelmointi,
    suoritus..
  • Järjestelmä koostuu joukosta olioita (object),
    jotka yhdessä tuottavat järjestelmän palvelut
  • Olio on kokonaisuus (entity), joka suorittaa
    omaan tietosisältöönsä perustuvia palveluita
  • Olio kapseloi omat tietonsa tarjoamiensa
    palveluiden kautta käytettäviksi
  • Oliolla on identiteetti (identity), joka pysyy
    vaikka olion tila (state) tai käyttäytyminen
    (behavior) muuttuisivat

3
Luokka
  • Samanrakenteiset oliot kuuluvat samaan luokkaan
    (class)
  • Eli ovat ko. luokan ilmentymiä (instance)
  • Pitäisikö määritellä luokat kirahvi ja leijona ?

4
Luokka ja olio
public class Eläin int eläinNumero String laji Color väri float paino public Eläin(int numero, String laji, Color väri, float paino) . public float getPaino()
Eläin leoLeijona new Eläin(.) Eläin
kiraKirahvi new Eläin(..) leoLeijona.syö(kira
Kirahvi)
5
Unified Modeling Language (UML)
  • ohjelmistojen, liiketoiminnan ja muiden
    järjestelmien määrittelemiseen, visualisointiin,
    rakentamiseen ja dokumentointiin tarkoitettu
    kieli. UML Specification 2003
  • Alun perin yhdistelmä vanhemmista
    oliotekniikoista
  • OMT (Rumbaugh) Booch OOSE (Jacobson)
  • Kehitetty Rational Softwaren toimesta vuodesta
    1996 lähtien
  • Nykyisin teollisuusstandardi
  • Useiden CASE-välineiden valinta
  • Sisältää kymmenkunta (13) kaaviotyyppiä

6
UMLn kaaviotyypit
Wikipedia
7
OmniGraffle-työkalun kategoria UML Use Case
8
OmniGraffle-työkalun kategoria UML General
9
OmniGraffle-työkalun kategoria UML Sequence
10
UMLn malli- ja kaaviotyypit rakennemalli
  • Ohjelman staattinen rakenne
  • Kaaviotyypit
  • Luokkakaavio ja oliokaavio
  • Järjestelmän tietosisältö ja käytettävissä olevat
    luokkien tarjoamat palvelut
  • Käytössä määrittely- ja suunnittelutasolla
  • Toteutuskaaviot eli komponentti- ja
    sijoittelukaavio (component diagram, deployment
    diagram)
  • Ohjelmiston koostuminen komponenteista ja niiden
    suoritusaikainen sijoittuminen

11
Luokkakaavioesimerkki Ostoskori
12
UMLn malli- ja kaaviotyypit käyttäytymismalli
  • Järjestelmän palvelut ja niiden toteuttaminen
  • Kaaviotyypit
  • Käyttötapauskaavio (use case diagram)
  • Mitä järjestelmällä tehdään
  • Tekstuaaliset kuvaukset olennaisia
  • Vuorovaikutuskaaviot eli sekvenssi- (sequence) ja
    kommunikointikaavio (communication diagram
  • Palveluiden toteuttaminen olioiden välisenä
    yhteistyönä
  • Sekvenssikaavio korostaa palveluiden käyttämistä
    aikajärjestyksessä
  • Kommunikointikaavio korostaa olioiden kytkentöjä

13
Käyttötapaukset
  • Keskeisin tekniikka järjestelmän ulkoisesti
    havaittavien ominaisuuksien ja käyttäytymisen
    mallintamiseen määrittelytasolla UMLssä
  • UML määrittelee käyttötapauskaavion, mutta
    kaaviotekniikkaa olennaisempaa on kunkin
    käyttötapauksen tekstuaalinen kuvaus
  • Käyttötapauksia voi kuvata eri tarkkuustasolla,
    mutta ne eivät muodosta varsinaista hierarkkista
    rakennetta

14
Käyttötapaus ja käyttäjä
  • Käyttötapaus (use case)
  • Looginen tavoitteellinen tehtäväkokonaisuus,
    jolla on lähtökohta ja lopputulos
  • Usein järjestelmälle asetettava toiminnallinen
    vaatimus
  • Käyttäjä (actor)
  • Rooli, jota järjestelmään liittyvä taho esittää
  • Usein ihminen, mutta voi olla myös ulkoinen
    järjestelmä
  • Toimii vuorovaikutteisesti järjestelmän kanssa

15
Käyttötapauksen tekstikuvaus
  • Sisältää tyypillisesti ainakin
  • Käyttötapaukseen liittyvät käyttäjät
  • Käyttötapauksen kulku askelittain
  • Usein myös
  • Annettavat syötteet ja saatavat tulosteet /
    tulokset
  • Säännöt, vaatimukset, määrät
  • Suhteet muihin tapauksiin, erikois- ja
    poikkeustilanteet

16
Käyttötapausesimerkki ostoskori
17
UML vuorovaikutuskaaviot sekvenssikaavio
  • Keskeisin tekniikka käyttäytymisen mallintamiseen
    suunnittelutasolla UMLssä
  • Visualisoi olioiden välisen viestinvälityksen
  • Viesti (message) kuvataan nuolena oliosta toiseen
  • Kaaviossa aika kulkee ylhäältä alas, viestit
    merkitään aikajärjestykseen
  • Viesti aktivoi metodin (eli palvelun tai
    operaation) suorituksen vastaanottavassa oliossa
  • Aktivaatio (activation) kuvataan suorakaiteena
    olion elämänviivassa (lifeline)

18
Tärkeimmät sekvenssikaavion elementit
  • Kutsuja-olio kutsuu Kutsuttava-olion metodia
    nimeltä metodiKutsu()
  • Paksunnettu pystypalkki kuvaa aktivaatiota
  • Horisonaaliset viivat kuvaavat viestien kulkua

19
UML malli- ja kaaviotyypittilanmuutosmalli
(state change model)
  • Järjestelmän tilan mahdolliset muutokset
  • Aktiviteettikaavio (activity diagram)
  • Kontrollin kulku prosessissa tai olion
    operaatiossa
  • Sisältää ehtoja ja haaraumia
  • Tilakaavio (statechart diagram)
  • Olion tilamuutokset esitetään tilakoneena
  • Tapahtumat (event) laukaisevat tilasiirtymiä
    (state transition) ja
  • Tuottavat toimintoja (actions)

20
Tilakaavio lyhyesti
  • Yksittäisten olioiden käyttäytymistapa voi olla
    erilainen eri tilanteissa
  • Kirjastoesimerkissä luokan Kirja oliot
    käyttäytyvät eri tavalla ollessaan lainassa kuin
    ollessaan hyllyssä
  • Olion käyttäytyminen siis riippuu sen tilasta
  • Kun kirja on lainassa, ei sille voi suorittaa
    operaatiota lainaa
  • Kun kirja palautetaan, vaihtuu sen tila jälleen
    sellaiseksi, että uusi lainaus on mahdollista

21
Aktiviteettikaavio lyhyesti
  • Tilakaaviot kuvaavat lähinnä yksittäisen olion
    toimintaa
  • Aktiviteettikaavioilla on mahdollisuus kuvata
    suurempaa toiminnallista kokonaisuutta, esim.
  • Kokonaista liiketoimintaprosessia
  • Tiedon ja työn kulkua järjestelmässä monen
    toimijan kannalta
  • Käyttötapauksen etenemislogiikkaa
  • Aktiviteettikaavioissa kuvataan sarja toimintoja
    ja niiden suoritusjärjestys

22
Esimerkki tilauksen vastaanottamisen
mallintamisesta aktiviteettikaaviona
23
Millä kaaviot kannattaa piirtää?
  • Kaikkea ei tarvitse eikä kannata tunkea samaan
    kuvaan
  • Kukin malli valitsee tietyn näkökulman
  • Kynä ja paperia tai valkotaulu
  • Paperi talteen tai roskiin
  • Tarvittaessa skannaus tai digikuva
  • Tarjolla paljon (liikaa?) ilmaisia työkaluja
  • MS Paint, Dia, Umbrello, Xfig, OmniGraffle,
    Office..
  • Paljon maksullisia vaihtoehtoja, esim. MS Visio
  • Visio löytyy laitoksen ohjelmistojakelusta
  • ks. www.cs.helsinki.fi/compfac/ohjeet/msdnaa
  • Tämän kurssin tarpeisiin kynä ja paperia riittää
    enemmän kuin hyvin
Write a Comment
User Comments (0)
About PowerShow.com