Mida oleks koduülesandeid tehes vaja silmas pidada?
1. Ülesannete kirjeldused on pealiskaudsed, mittetäielikud, ja võivad sisaldada vasturääkivaid nõudeid ja soove. Nii ligikaudse kirjelduse alusel ei ole võimalik korralikult toimivat süsteemi realiseerida. Kõigepealt peaks esitatud probleemi tegeliku rakenduse seisukohast läbi mõtlema (näiteks lõppkasutaja vaatepunktist) ja ülesande kirjeldusele lisama puuduvad detailid, faktid, eeldused, kitsendused.
2. Ärge unustage, et Teie ülesandeks ei ole programmijupi tegemine, vaid süsteemi projekteerimine ja (võib-olla kunagi hiljem) realiseerimine. Kuna süsteem peab ise hankima andmeid väliskeskkonnast, siis peab ta ise ka garanteerima, et need andmed on mõistlikud. Kui süsteem saab andmeid teistest arvutitest või otse inimeselt, peab ta kontrollima, kas need andmed on sobivad. Kui tekib viga, või vea kahtlus, peab süsteem ise olukorrast väljapääsu leidma ja võimaluse korral inimest mitte tülitama. Kõik otsused ja tulemused, mida süsteem saadab välismaailma, peavad õigel ajal jõudma välismaailma adressaadini -- vastutus selle eest langeb Teie poolt projekteeritud süsteemile. Ärge lootke, et arvuti töötab tõrgeteta ja et Teie programmis ei ole vigu – hoolitsege selle eest, et vaatamata vigadele saaks süsteem oma ülesanded täita.
3. Ülikool (s.t. automaatika instituut ja reaalajasüsteemide õppetool) suudavad tagada juurdepääsu ainult ühele tarkvaratehnika keskkonnale (Select Yourdan). Kui kellelgi on mugavam juurdepääs mõnele teisele keskkonnale võib ta kasutada seda. Sajaprotsendiliselt käsitsi tehtud töö on ka hinnatav süsteemi analüüsi ja projekteerimise seisukohalt, kuid kursuse peamiseks eesmärgiks on siiski tarkvaratehnika keskkonna kasutamise kogemuse saamine. Pealegi algavad tavaliselt käsitsitööl baseeruvad probleemid alles pärast nõuete spetsifikatsiooni kirjeldamist keskkonnas (näiteks riskianalüüs, riskihaldusülesannete lahendamine, töö lõplik jagamine inimeste vahel ja lõpliku ajakava koostamine saab toimuda alles pärast lõpliku spetsifikatsiooni olemasolu). Enne nõuete spetsifikatsiooni ja/või süsteemi spetsifikatsiooni, ei ole võimalik riskianalüüsiga seotud töö tulemusi kuigi põhjendatult hinnata.
4. Järgige võimalikult täpselt kasutatava keskkonna metoodikat ja loengutel antud soovitusi, kasvõi selleks et oma kogemuste (ja mitte ainult laiskuse või harimatuse) põhjal hiljem metoodikat muuta. Eriti puudutab see projekteerimise algetappe -- konteksti diagramm, sündmused, juhtimisteisendused (või vastavad mõisted objekt-orienteeritud metoodikast). On soovitav teha stsenaariume ja need läbi mängida -- selleks, et kontrollida algetapi mõistlikkust enne kui vale algetapi tõttu palju asjatut tööd saab tehtud. Üritage kasutada projektisõnastikku nii põhjalikult kui võimalik.
5. Kui kasutada ära kõik tarkvaratehnika keskkonna poolt pakutud võimalused ja püüda maksimaalselt vastata loengutes esitatud küsimustele, ning kõik see kommenteeritult kirja panna, annavad peaaegu kõik koduülesanded välja kursusetöö mahu (valikprojekt LAP 5004), mis ei tohiks olla selle semestri eesmärk. Sellepärast soovitan kontsentreeruda keskkondade kasutamisvõimaluste uurimisele, või spetsifikatsiooni/projekti riskianalüüsile ja stsenaaariumite läbimängimisele koostatud projektil. Stsenaariumid peaksid katma, lisaks tavalisele töörezhiimile, tüüpilisi (või äärmiselt ohtlikke) veaolukordi.
6. Reeglina on andmevoo mudelite puhul minimaalselt vajalik konteksti diagrammi (CTX), andmevoo diagrammi (DFD) või nende hierarhia, ning olemdiagrammi (ERD) koostamine ning põhjendamine. Objekt-orienteeritud metoodikate puhul tuleb esitada objektmudel, vähemalt mõne objekti kohta ka olekudiagramm ja objekti operatsioonide vaheliste seoste selgitamiseks andmevoodiagramm. Andmesõnastik on vajalik mõlemi meetodi korral. Stsenaariumid, riski analüüs jms on soovitav.