Johdatus ohjelmointiin Ohjelmistosuunnittelu Jaana Holvikivi
Ohjelmien suunnittelun yleisperiaatteita Rakenteellinen suunnittelu Käyttöliittymien suunnittelu ja ohjelmointi Dokumentointi Testaaminen
Rakenteellinen suunnittelu Kokonaisuudesta osiin, top-down Päämäärät: helppokäyttöinen ja yleispätevä virheettömästi toimiva sovellus, joka täyttää käyttäjien tarpeet Toiminnan yleiskuvaus: tavoitteet, toiminta, kaaviot, ja vaiheet Määrittele näytöt, syötteet, tulosteet Luettelo tapahtumista ja niistä seuraavista toimenpiteistä (events & procedures)
Jaa moduleiksi (yksi kokonainen tehtävä / moduli) Modulien välinen tiedonvaihto: globaalit ja lokaalit muuttujat Noudata selkeää nimeämiskäytäntöä ja kommentoi Algoritmien määrittely (toiminta) kullekin modulille Muista virhetilanteiden käsittely Osien suunnittelu, ohjelmointi ja testaus loogisessa järjestyksessä Kokonaisuuden testaus
Käyttöliittymien suunnittelu ja ohjelmointi Suunnittelu Ulkoasun piirtäminen Ominaisuuksien asettaminen: käyttöympäristön hienosäätö Koodin kirjoittaminen: aliohjelmat Toiminnan kuvauksen täydentäminen Testaus - debugging
Dokumentointi selkeä dokumentointi on avain ymmärrettävyyteen tarpeen ylläpidon ja edelleenkehittämisen vuoksi rakennekaaviot vuokaaviot, algoritmit tietoluettelot, taulukot; tietorakenne käsitekaaviot, olio-ohjelmointi
Testaamista suoritetaan monessa vaiheessa Käytettävyystestaus suoritetaan loppukäyttäjien kanssa: toiminnan läpikäyminen (löytääkö käyttäjä toiminnot ja osaako hän edetä Ohjelmoinnin aikainen testaus poistaa koodivirheet Järjestelmätestaus käy koko järjestelmän toiminnan läpi osista kokonaisuuteen. Tavoitteena ohjelman oikeellisuuden todistaminen.
Testauksen suunnittelu prosessit ja testidata: käy läpi mahdolliset tilanteet ja virhetilanteet määrittele kaikki testit ja niiden järjestys suorita testaus normaalitilanteissa ja kuormitustilanteissa analysoi tulokset toista, kunnes virheitä ei enää löydy
Testauksen tasot modulit modulien integrointi: yhteistoiminta virheetöntä systeemitestaus: kokonaisuuden toiminta, kapasiteetti ergonomian testaus
OS, compilers Middleware software Embedded Custom software Package software Software as service Massmarket software Web programming platforms Ohjelmistokehityksen lähestymistavat
Työpöytäsovelluksen suunnittelu Päämäärät: helppokäyttöinen ja yleispätevä virheettömästi toimiva sovellus, joka täyttää käyttäjien tarpeet Toiminnan yleiskuvaus: tavoitteet kaaviot, selostus ja näytöt Luettelo tapahtumista ja niistä seuraavista toimenpiteistä (events & procedures)
Sovelluksen rakentaminen Jokainen proseduuri on oma yhtenäinen kokonaisuutensa, yksi tehtävä (ei tehtävän jakoa osiin tai tehtävien niputtamista) - suunnittele niiden algoritmit Kuvaa lomakkeet ja tärkeimmät ohjaimet ohjainten nimet ja ominaisuudet muuttujat ja vakiot Valmistele muu tarvittava materiaali: kuvat, data Muista virhetilanteiden käsittely Noudata selkeää nimeämiskäytäntöä ja kommentoi Etene vaiheittain
Objektit eli oliot Luokka - käsite Instance - ilmentymä, todellinen yksilö Members - toiminnot: ominaisuudet, vakiot, metodit Olion kanssa kommunikoidaan rajapinnan kautta (metodit ja ominaisuudet), olio on kapseloitu eli näkyy vain rajapintana muille olioille ja prosesseille, sen sisäinen toiminta on "musta laatikko" Kapselointi: data ja käyttäytyminen Inheritance, periytyminen luokkien sisällä
Oliosuunnittelun perusvaiheet etsi luokat (käsiteanalyysi) luokkien metodit luokkien väliset suhteet esimerkiksi kortisto luokat: asiakaskortti, koko kortisto, hakemisto metodit: lisää kortti, poista kortti, päivitä hakemisto, lajittele kortit