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