Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Mallinnustavat.

Samankaltaiset esitykset


Esitys aiheesta: "Mallinnustavat."— Esityksen transkriptio:

1 Mallinnustavat

2 Kuinka formaaleja menetelmät ovat?
Informaalit Esim. seinätaulutekniikka Puoliformaalit Ylesti käytetyt SA, OMT, UML Formaalit Työläitä Kommunikointi vaikeaa

3 Oliolähestymistavan etuja
Tuottavuuden parantuminen Selkeys, esitystavan luonnollisuus -> kommunikaatio Ylläpidon helpottuminen Kapselointi Uudelleenkäytettävyyden helpottuminen Komponenttipohjaisuus Vaatii lisätyötä!

4 Oliolähestymistavan keskeiset periaatteet
Abstrahointi Voidaan käsitellä ilman yksityiskohtia Kapselointi vähentää riippuvuutta parantaa ylläpidettävyyttä ja uudelleenkäyttöä Tiedon ja käyttäytymisen yhdistäminen Reaalimaailman mallintaminen Perintä Monimuotoisuus, polymorfismi

5 UML yleisesti Visuaalinen -> parantaa kommunikointia
Tavoitteena yksiselitteiset ja kattavat määrittelyt Riippumattomuus ohjelmointikielestä Dokumentointiin – tukee koko prosessia

6 Luokan perusominaisuudet
1. Nimi Eläin Nimi Sukupuoli liiku() syö() 2. Attribuutti 3. Operaatio (metodi) 4. Vastuu (kuvataan vapaamuotoisena tekstinä)

7 Edistyksellinen luokka
Abstraktin luokan nimi kursivoitu Eläin nimi sukupuoli + setNimi(nimi: String) # liiku() - syö() Paikallinen attribuutti alleviivattu Julkinen (public, +) Suojattu (protected, #) Yksityinen (private, -) Miksi attribuutille ie ole protected-vaihtoehtoa?? Nimeämiskäytäntö!

8 Hyvän luokan ominaisuudet
Täsmällinen abstraktio, hyvin nimetty Suppeat ja hyvin määritellyt vastuut (”delegointi” laajoissa luokissa) Ymmärrettävä, yksinkertainen, laajennettavissa Vain tärkeät ominaisuudet vs. yleiskäyttöisyys

9 Luokkakaavio Yritys Osasto nimi: String Toimisto osoite: String
1 * 1..* 1..* Osasto nimi: String Toimisto osoite: String puhelinnro: String sijainti 0..1 * * 1 * työntekijä 1..* 1 johtaja Yhteystiedot id osoite puhelinnro Henkilö nimi: String ikä: Integer setNimi() getTunnus() Työntekijä asema: String id: Integer getYhteystiedot()

10 Hyvin määritellyn luokkakaavion ominaisuudet
Keskittyy kuvaamaan yhden aspektin Sisältää ymmärtämisen kannalta vain oleelliset piirteet Pysytään asianmukaisella abstraktiotasolla vs. ei liian minimalistinen Kuvaava nimi Risteävien viivojen määrä minimoitu Loogisesti toisiin liittyvät luokat lähekkäin

11 Perintä Eläin saika: Time kuole() Nisäkäs nimi: String ääntele() Kala
kutupaikka: String ui() Koira rotu: String kuolaa() Hevonen nimi: String ravaa() Hauki pituus: Integer getPituus() Hai vaarallinen: boolean syö()

12 Tietokantakaavio Koulu nimi: String osoite: Integer Puhelinnro: String
Osasto nimi: String osoite: Integer Puhelinnro: String omistaa 0..1 1 1..* 1..* 1..* 1..* työskentelee * 1..* 1..* 0..1 Opiskelija nimi: String ID: Integer sotu: String Kurssi nimi: String ID: Integer ov: Integer Opettaja nimi: String osallistuu opettaa * * * 1..*

13 Käyttötapauskaavio (kauppa)
Rekiste-röidy Lisää tuote Myyjä Kirjaudu sisään Myyjä Selaa tuotteita Vastaa kysymykseen Tuki Tilaa

14 Sekvenssikaavio (tapahtumakaavio)
Tilaus KL l: Lomake tilaa(……: String) luoUusi() tkk: TKKäsittelijä teeTilaus(t: tilaus) onnistuminen: boolean palaute onnistumisesta

15 Formaalit menetelmät VDM ja Z Vaatii matemaattisen tarkkaa määrittelyä
Perustuu esi- ja jälkiehtoihin Ohjelman suoritus Vaati- mukset esi- ehdot jälki- ehdot


Lataa ppt "Mallinnustavat."

Samankaltaiset esitykset


Iklan oleh Google