Tietojärjestelmät ja Systeemisuunnittelu 2/2001 Tietojärjestelmät ja Systeemisuunnittelu 010557001 Luennoitsija: Tapio Lammi e-mail: tapi@iki.fi 1
Kurssin Toteutus Luentoja: 42 tuntia Ajankohta: 3. periodi tiistaisin klo 15-18 sali 1381 4. periodi tiistaisin klo 14-17 sali 2310. Harjoituksia: 28 tuntia Ajankohta: 3. periodi 4. periodi Harjoitusten pitäjä: Petteri Johansson petteri.johansson@lut.fi
Kurssin sisältö 1. Johdanto tietojärjestelmiin 1. Tietojärjestelmät 2. Elinkaarimallit ja järjestelmäarkkitehtuurit 3.-9. Oliopohjainen suunnittelu 3. Johdanto / prosessimallit (OMT) 4. Johdanto UML:ään 5.-6. Oliopohjainen analyysi 7.-8. Oliopohjainen suunnittelu 9. Suunnittelumallit 10.-12. Perinteiset menetelmät 11. Analyysimenetelmät 12. Suunnittelumenetelmät 13. Analyysi ja suunnitteluvaiheen mittaaminen 14. Katsaus työkaluihin
Kirjallisuutta Software Engineering - Practitioner’s approach, 5th edition, Roger S. Pressman, McGraw-Hill, 2000, ISBN: 0-07-365578-3 Oliokirja, Kai Koskimies, Suomen ATK-kustannus, 2000, ISBN: 951-762-720-3 Object Oriented Modeling And Design, James Rumbaugh, Prentice Hall, 1991, ISBN: 0-13-6300545 Unified Modeling Language User Guide, Grady Booch, Ivaar Jacobsson, James Rumbaugh, Addison-Wessley, 1999, ISBN: 0-201-57168-4 Unified Modeling Language Reference Manual, Grady Booch, Ivaar Jacobsson, James Rumbaugh, Addison-Wessley, 1999, ISBN: 0-201-30998-X
Johdatus Tietojärjestelmiin
Erilaisia tietojärjestelmiä Toiminnanohjausjärjestelmät Sulautetut järjestelmät Ohjausjärjestelmät WEB / Wireless järjestelmät Kehitystyökalut Erikoissovellukset
Toiminnanohjausjärjestelmät 1 / 2 Tyypillistä pitkät toimintaketjut Suuri määrä ulkoisia liittymiä Käyttöliittymät Järjestelmäliitynnät Suuret tapahtumamäärät Perustuvat eri tietokantoihin, joista tietoja yhdistellään
Toiminnanohjausjärjestelmät 2 / 2 Keskeisessä asemassa Eri käyttäjien ja heidän tarpeidensa tunnistaminen Toimintaketjujen mallintaminen Tietokantasuunnittelu Järjestelmäarkkitehtuu-rin suunnittelu
Sulautetut järjestelmät 1 / 2 Yleensä osa laajempaa kokonaisuutta Järjestelmäkehitys tapahtuu kokonaisjärjestelmän ehdoilla Ulkoiset liittymät hyvin rajalliset Tapahtumamäärät voivat olla suuria
Sulautetut järjestelmät 2 / 2 Järjestelmän vaatimukset yleensä hyvin tarkkaan määritelty Laitteistoarkkitehtuurin valinta keskeisessä asemassa
Ohjausjärjestelmät 1 / 2 Liitetty osaksi laajempia kokonaisuuksia Suuri määrä tarkoin määriteltyjä syötteitä ja tulosteita Merkittävässä osassa liittymät ulkoisiin järjestelmiin Toimintaympäristö voi olla epästabiili
Ohjausjärjestelmät 2/2 Järjestelmän vaatimukset yleensä selkeät Toimintaympäristöön sovitus saattaa vaatia prototyypitystä Suorituskyky yleensä tärkeä tekijä Toleranssien mallinnus
WEB ja Wireless järjestelmät 1 / 2 Runsaasti päätelaite ja -ohjelmavaihtoehtoja Perusteknologia request-response tyyppistä Käyttäjämäärät ja kuormituskäyrät vaihtelevia Käyttäjien pääteyhteydet huomioitava Tietoturva otettava huomioon
WEB- ja Wireless järjestelmät 2 / 2 Käyttöliittymä muokattava tuetuille päätelaitteille Vaatii yleensä käyttöliittymien tilanhallinnan rakentamista Tietoturvakysymykset otettava huomioon sekä fyysisessä että loogisessa mallinnuksessa
Kehitystyökalut 1 / 2 Ohjelmointikirjastoja Ulkopuoliset liittymät funktiorajapintojen kautta Toimintaympäristö ja korkean tason vaatimukset yleensä tarkoin rajattuja Lopullinen käyttö ei suunnitteluhetkellä tiedossa
Kehitystyökalut 2 / 2 Tuotehallinta ja rajapintojen suunnittelu haasteellista Saattaa vaatia useita prototyypityskierroksia Vaikka ulkoiset vaatimukset selkeitä, toteutustapoja voi olla useita
Erikoissovellukset 1 / 2 Tekevät yleensä yhtä rajattua operaatiota Tarkoin rajattu syötejoukko ja haluttu tulos Perustuvat yleensä johonkin algoritmiin jolla syötejoukko käsitellään
Erikoissovellukset 2 / 2 Datan esitystavan mallinnus saattaa olla haastavaa Algoritmit ja syötejoukko sovitettava toisiinsa Vaatii yleensä useita prototyyppejä ja testauksia oikean toimintatavan löytämiseksi
Järjestelmäkehitys
Kehitystyypit Yksittäinen räätälöity projekti Tuotekehitys Integrointiprojektit tuotteen pohjalta Olemassa olevan “tuote”pohjan muuntelu kulloistenkin tarpeiden mukaan
Huomioon otettavia seikkoja Vaatimusten jäljitettävyys Testattavuus Versionhallinta Tuotehallinta Riittävä dokumentaation taso
Vaatimusten seurattavuus Vaatimusten jäljitettävyysmatriisi Seuranta tulisi ulottaa läpi kaikkien työvaiheiden Säännölliset katselmukset R = Requirement S = Sequence diagram
Testattavuus Kunkin työvaiheen tulee synnyttää riittävä dokumentaatio jotta testaus voidaan suorittaa Testauksen V-malli
Versionhallinta Versionhallinta tarjoaa kontrolloidun tavan muutosten hallintaan Versionhallinnan merkitys korostuu mitä monimutkaisempi projekti on
Tuotehallinta Miten tuodaan uudet ominaisuudet hallitusti osaksi järjestelmää ? Miten varmistetaan etteivät uudet ominaisuudet riko jo olemassa olevia ? Miten erotellaan perustuotteen ominaisuudet ja optiot ?
Dokumentaatio Miten ja millä työkaluilla dokumentoidaan ? Mikä on dokumentaation taso jotta ylläpidettävyys säilyy ? Mikä taso asiakasdokumentaatiolta vaaditaan ? Toisaalta - ylidokumentointi on turhaa työtä.