Järjestelmäsuunnitteluvaiheen edistymisraportti
v1.0
29.11.95
Vaiheen kuluessa ylimmän tason tietovirtakaaviota on edelleen kehitetty
ja on saatu määriteltyä ohjelman neljän pääosan väliset
rajapinnat. Nämä on määritelty lopulliseen tarkkuuteensa asti eli C++:n
.h tiedostomuotoon. Tämä ei kuitenkaan tarkoita, että ne välttämättä
pysyisivät täysin muuttumattomina seuraavan vaiheen aikana.
Järjestelmästä tehtiin korkean tason kuvaus Use Case Map notaatiota
käyttäen.
Ryhmä on koonnut ensimmäisen version järjestelmäkäsikirjasta, johon
sisältyy myös käyttöohje. Järjestelmäkäsikirjan osat ulkoinen ja sisäinen
kuvaus sekä käyttöohje ovat varsin pitkällä. Toteutuksen kuvaus tulee
täydentymään prototyyppivaiheen aikana.
Eri osien edistymiset lyhyesti:
Prosessori
Prosessori on jaettu viideksi eri luokaksi (Ohjaus, Parseri, CPU, IO-laitteet
ja Liitantarima) ja niiden julkiset funktiot on määritelty luokkien
.h-tiedostoissa.
Tietovirtakaaviota on tarkennettu prosessorin osalta.
Prosessorin manuaalit on saatu ja niihin on tutustuttu. Vielä puuttuu
prosessorin datalehti, mutta se varmaan saadaan lähiaikoina.
Valmis simulaattorin koodi on todettu käyttökelpoiseksi ja se paketoidaan
omaksi C++-luokakseen (CPU).
Lisäyksiä siihen pitää vielä tehdä aika paljon. Keskeytysten ja I/O-
laitteiden toteutus puuttuu kokonaan.
Työnjako koodausvaihetta varten on tehty siten, että Tiina tekee prosessoriin
puuttuvat osat (keskeytykset ja I/O-laitteet) ja liitäntäriman.
Anu tekee ohjausosan, jonka tehtävänä on hoitaa breakpointit ja
lokitulostukset ym. ja kommunikointi muiden osien kanssa.
Käyttöliittymä
Käyttöliittymästä on tehty tietovirtakaavio. Luokkajaon tekeminen on aloitettu.
Käyttöliittymän ulkoasu on suunniteltu melko pitkälle ja näistä suunnitelmista
on tehty kuvia ja jonkin verran koodia generaattorilla. Konsoli-ikkunasta
on olemassa dummy-versio. Koodi ei sellaisenaan
kelpaa, mutta siitä saa X:n resurssien arvot otettua kätevästi (tämä resurssien
tekeminen on yleensä ilman mitään WYSIWYG-työkalua varsin työlästä).
Käyttöliittymä päätettiin tehdä C++:lla ja Xlib:in päälle rakennetulla
Motif-widget setillä. Aluksi harkittiin Pythonia tai Tcl/Tk:ta, mutta
aikaisemman kokemuksen ja VXP työkalun löydyttyä päädyttiin nykyiseen
ratkaisuun.
Toimilaitteet
Toimilaiteosan luokkajako on määritelty. Muut toimilaitteet sisältävän
ja ne ulkomaailmasta erottavan Laitteet-luokan rajapinnat on
määritelty siten, että tarvittavat muut ohjelmanosat voivat niitä kutsua.
Toimilaiteosan tietovirtakaavio on suunniteltu ja piirretty.
Toimilaitteiden olemusta on pohdittu tarkemmin ja samalla suunniteltu
niiden toteutusta.
Fysiikkamalli
Fysiikkamallin liitännät ulkomaailmaan on määritelty Auto-luokan
jäsenfunktioina. Mallista on piirretty suppeahko tietovirtakaavio,
jossa toiminnallisuus on jaettu kahteen osaan. Fysiikkamallin
toteutusta ja testausta on suunniteltu.
Ajankäyttö
Ajankäyttöä seurattiin tekemällä vaiheen alussa työsuunnitelma arvioituine
tuntimäärineen excel-taulukkoon ja syöttämällä sinne lopuksi
järjestelmäsuunnitteluvaiheeseen käytetyt tunnit.
Tunteja kului yhteensä hieman vähemmän kuin aluksi arvioitiin. Ero
suunnitellun ja toteutuneen ajankäytön välillä oli yhteensä 29 tuntia.
Tehdyt tunnit henkilöittäin