130 likes | 323 Views
5 Toimintojen ja tietojen kuvaus. Toiminto voidaan kuvata Algoritmisesti Antamalla joukko toiminnon määritteleviä ehtoja Määriteltävä Ohjelmiston käsittelemien tietojen käsittelysäännöt Tietojen rakenne ja esitystapa Kuvaustekniikoita toimintojen määrittelyyn ja kuvaukseen
E N D
5 Toimintojen ja tietojen kuvaus • Toiminto voidaan kuvata • Algoritmisesti • Antamalla joukko toiminnon määritteleviä ehtoja • Määriteltävä • Ohjelmiston käsittelemien tietojen käsittelysäännöt • Tietojen rakenne ja esitystapa • Kuvaustekniikoita toimintojen määrittelyyn ja kuvaukseen • Algoritmien kuvaustekniikat • Päätöstaulut • Päätöspuut • Tulo- ja jättöehtojen esittäminen • Tietojen määrittely • tietohakemisto 5. Toimintojen ja tietojen kuvaus
5.1 Algoritmien kuvaaminen • Pseudokoodi • Ohjelmointikieltä muistuttava tekstimuotoinen esitystapa (”structured English”) • Peräkkäisrakenne, while - ja do until silmukat, ehdollinen rakenne, valintarakenne • Käytetään moduulisuunnittelussa • Pseudokoodista voi syntyä kommentointi • Kulkukaaviotekniikat • Vanha tapa esittää algoritmeja ”kuvana” • Aktiviteettikaavio UML-notaatiossa vastaa tätä: käytetään lähinnä mallinnettaessa toimintoja 5. Toimintojen ja tietojen kuvaus
Esimerkki pseudokoodista 5. Toimintojen ja tietojen kuvaus
Vastaavia kulkukaavioita 5. Toimintojen ja tietojen kuvaus
5.2 Päätöstaulut ja päätöspuut • Kuvataan monimutkaisia päätöstilanteita • Päätöstaulut hyödyllisiä, kun suoritettavat toimenpiteet riippuvat monimutkaisista ehtojen kombinaatiosta • Päätöspuut käyttökelpoisia, kun päättelyn lopputulos on pitkän päättelyketjun tulos 5. Toimintojen ja tietojen kuvaus
Päätöspuu 5. Toimintojen ja tietojen kuvaus
Päätöstaulu 5. Toimintojen ja tietojen kuvaus
5.3 Esi- ja jälkiehdot • Erityisesti määrittelyvaiheessa toiminnon spesifioiminen voidaan tehdä käyttäen esi- ja jälkiehtojen kirjaamista • Ei ota kantaa toimintojen toteutustapaan • Esim. määriteltävänä toiminto, joka lajittelee taulukon A[1..n] sisältämät positiiviset kokonaisluvut kasvavaan suuruusjärjestykseen taulukkoon B[1..n] • Esiehto: V i C 1..n: A[i] C 0..216 -1 • Jälkiehto: V i,j C 1..n: i ≤ j B[i] ≤ B[j] 5. Toimintojen ja tietojen kuvaus
5.4 Tietohakemistomäärittelyt • Tietohakemistolla voidaan kuvata • Tietovarastot • Tietovirrat • Tapahtumavirrat • Kuvauksen perusteella voidaan jopa tuottaa ohjelmointikielen syntaksin mukaiset määrittelyt • Kuvataan: esitystapa, tarkkuus, käytettävät yksiköt, rakenne • Merkintätapoja 5. Toimintojen ja tietojen kuvaus
Esimerkkejä Henkilötiedot = nimi + @henkilötiedot + siviilisääty + lapset Nimi =1{etunimi}3 + sukunimi Siviilisääty = [naimaton | naimisissa | eronnut | leski] Luottoraja = *asiakkaalle myönnettävän luoton enimmäismäärä euroina* Luottorajoitus = *vastaus luottorajan muutosyritykseen* [”Tuntematon asiakas” | ”Virheellinen luottoraja” | ”Uudeksi luottorajaksi on määritelty xx euroa”] 5. Toimintojen ja tietojen kuvaus
Opiskelijatietokanta Suoritustietokanta = *Relaatiotietokanta, joka kuvaa opiskelijat, kurssit ja suoritukset. Se koostuu tauluista opiskelijat, suoritukset ja opintojaksot.* Opiskelijat = {@op_nro + nimi + osoite + ..} Suoritukset = {@suor_nro + op_nro + oj_nro + pvm + arvosana + ope_nro} Opintojaksot = {@oj_nro + oj_nimi + ov_maara + kuvaus} Opettajat = {@ope_nro + ope_nimi + tehtava} 5. Toimintojen ja tietojen kuvaus
Esimerkki tilaussanomasta <?xml version="1.0"?> <postitilaus> <vastaanottaja> <nimi>Ahto Simakuutio</nimi> <osoite>Hermiankatu 99, 33720 Tampere</osoite> </vastaanottaja> <tavarat> <tavara> <nimeke>Muistipiiri 256MX</nimeke> <maara>2</maara> <hinta>100</hinta> </tavara> <tavara> <nimeke>Nokia 9210</nimeke> <maara>1</maara> <hinta>6250</hinta> </tavara> </tavarat> </postitilaus> b) DTD-kuvaus <!DOCTYPE postitilaus [ <!ELEMENT postitilaus (vastaanottaja, tavara*)> <!ELEMENT vastaanottaja (nimi, osoite)> <!ELEMENT tavara (nimeke, määrä, hinta)> <!ELEMENT nimi (#PCDATA)> <!ELEMENT osoite (#PCDATA)> <!ELEMENT nimeke (#PCDATA)> <!ELEMENT määrä (#PCDATA)> <!ELEMENT hinta (#PCDATA)> ]> 5. Toimintojen ja tietojen kuvaus
c) XML schema <xsd:schema xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <xsd:element name="postitilaus" type="tilaus"/> <xsd:complexType name="tilaus"> <xsd:sequence> <xsd:element name="vastaanottaja" type="osoitetiedot"/> <xsd:element name="tavarat" type="tavaroidentiedot"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="osoitetiedot"> <xsd:sequence> <xsd:element name="nimi" type="xsd:string"/> <xsd:element name=“osoite" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="tavaroidentiedot"> <xsd:element name="tavara" type="tavaratiedot" maxOccurs=“unbounded"/> </xsd:complexType> <xsd:complexType name="tavaratiedot"> <xsd:sequence> <xsd:element name=“nimeke" type="xsd:string"/> <xsd:element name="maara" type="xsd:positiveInteger"/> <xsd:element name="hinta" type="xsd:decimal"/> </xsd:sequence> </xsd:complexType> </xsd:schema> 5. Toimintojen ja tietojen kuvaus