1 / 26

Ohjelmistotuotanto

Ohjelmistotuotanto. Lea Kutvonen Tietojenkäsittelytieteen laitos Syksy 1999. Ensiluento. Kurssi tavoite ja asema järjestelyt ja materiaali sisältö Asiaan … Johdanto Mitä ohjelmistotuotannolla tarkoitetaan? Mitä projektityö on? Mitä taitoja ja tietoja tarvitaan?. Kurssin tavoite.

carsyn
Download Presentation

Ohjelmistotuotanto

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ohjelmistotuotanto Lea Kutvonen Tietojenkäsittelytieteen laitos Syksy 1999

  2. Ensiluento • Kurssi • tavoite ja asema • järjestelyt ja materiaali • sisältö • Asiaan … Johdanto • Mitä ohjelmistotuotannolla tarkoitetaan? • Mitä projektityö on? • Mitä taitoja ja tietoja tarvitaan?

  3. Kurssin tavoite • Tietoisuus ohjelmistotuotantoprosessin tekijöistä: • prosessimallit, ohjelmistomallit, laatu, ihmiset resursseina, riskit ja niiden hallinta • Käytännön taidot • suunnittelu, toteutus, valvonta, dokumentointi, arviointi, testaus, tiimityö, … • käytäntöön Ohtu-projektissa

  4. ? Seminaarit OHTU-projekti Tieteellinen kirjoittaminen Ohjelmistotuotanto Ohjelmointi Suunnittelu Tietokannat Tietoliikenne Tietorakenteet

  5. Ohjelmistotekniikan erikoistumislinja Ohjelmistojen tuotteistaminen Ohjelmistojen - testaus - suorituskyvyn suunnittelu Ohjelmistoprojektien johtaminen + ht Ohjelmistoarkkitehtuurit Ohjelmistoprosessit ja ohltjen laatu Seminaarit OHTU-projekti Tieteellinen kirjoittaminen Ohjelmistotuotanto Ohjelmointi Suunnittelu Tietokannat Tietoliikenne Tietorakenteet

  6. Suorittaminen • Luennot, ke 16-18, pe 10-12 (9-12) • Pressman, 4ed.; lukuluettelo www-sivuilla • artikkeleita • poikkeuksia 22.9(ei), 24.9 (3h), 29.9 & 1.10(ei) • Harjoitukset täydentävät materiaalia • huom aloitus vasta 27.9 • ma 12-14, ti 14-16, to 14-16, pe 8-10, pe 12-14*

  7. Suorittaminen ... • Koe: 16.11 Auditorio • Uusintakoe joulukuussa • projektiin vain kurssin läpäisseet! • Ohjelmistotuotanto-projekti • ryhmätyö • noudatetaan opittuja periaatteita ja käytäntöjä • n. 20 viikkotuntia • tutkimusprojekteille, firmoille, laitokselle, … • “mestari-kisälli”

  8. Ohjelmistotuotanto = ... Software engineering: The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines. NATO Science Committee /Naur & Randell (eds) 1968

  9. Ohjelmistotuotannon aikakaudet 60-luku 1 toteuttaja pieniä ohjelmia programming in the small 70-luku 1 toteuttaja suuria ohjelmia programming in the large 80-luku monta toteuttajaa suuria ohjelmistoja programming in the many

  10. Ohjelmistojen aikakaudet • 50-60 -luvut • batch orientation, limited distribution, custom software • 65-75 -tietämissä • multiuser, real-time, database, product software • 73-88 -tienoot • distributed systems, embedded intelligence, low cost hardware, consumer impact • 85-> • powerful desktops, OO technologies, expert systems, parallel computing, networks

  11. Ohjelmistotyön ongelmia • Ohjelmistojen koko ja monimutkaisuus • tuotantoprosessin hallinta • tuotteen määrittely • tuotteen laadun ja toimivuuden varmistaminen • jälkitöiden raskaus: “ohjelmistokin kuluu” • etukäteisarviointi • standardiosien puute • tieteellisen pohjan puuttuminen • tutkimus <> käytäntö

  12. Ohjelmistotuotantotekniikka • projektin hallintaa • ryhmätyötä • standardimenetelmiä, standardiratkaisuja • laadunvarmistusta ja riskienhallintaa • automaattisia työkaluja • käyttäjäkoulutusta jne. • ylläpitoa

  13. Käsitteitä Ohjelma Ohjelmistojärjestelmä * useita yhteenliittyviä ohjelmia * rajapintoja * useita tekijöitä * tekijänä yksi henkilö * henkilökohtaiseen käyttöön * kustannukset helppo arvioida kustannus n yksikköä kustannukset: 5*n yksikköä Ohjelmatuote * laajaan käyttöön * yleispätevä * dokumentoitu * ylläpidettävä * ryhmätyön tulos kustannukset: 5*n yksikköä

  14. Käsitteitä Ohjelma Ohjelmistojärjestelmä * useita yhteenliittyviä ohjelmia * rajapintoja * useita tekijöitä * tekijänä yksi henkilö * henkilökohtaiseen käyttöön * kustannukset helppo arvioida kustannus n yksikköä kustannukset: 5*n yksikköä Ohjelmatuote Ohjelmistotuote * laajaan käyttöön * yleispätevä * dokumentoitu * ylläpidettävä * ryhmätyön tulos kustannukset: 5*n yksikköä kustannukset: 25*n yksikköä

  15. Käsitteitä • Ohjelmistotuotantomenetelmä • Ohjelmistotuotantoprosessi • Ohjelmistotuotantotyökalu • Tietokoneavusteinen ohjelmistotuotanto • Prosessiteknologia

  16. Projektityö • Projekti = mikä tahansa kokonaisuutena ohjattu, kertaluonteinen ja tavoitteellinen työsuoritus • ohjaus, johto • aikataulu: alku, loppu • projektisuunnitelma • toteuttajana projektiryhmä • tulosten arvointi

  17. Projektityö OHJAUS aloittaminen suunnittelu toimeenpano ja valvonta lopettaminen TOTEUTUS projektin toteutus TULOS

  18. Projektityö • Projektisuunnitelma • tavoitteet ja rajaukset • osittaminen tehtäviin • työmäärien arviointi • projektiorganisaation suunnittelu • projektin aikataulu ja kustannukset • tiedotus- ja hyödyntämissuunnitelma • Valvonta -> iterointi • mm. rahoitushakemuksissa tarpeen!

  19. Projektityö määrittelijä asiakas toteuttaja henkilöstö- johtaja dokumentoija menetelmä- asiantuntija tekninen johto suunnittelija kouluttaja testaaja

  20. Ryhmätyö 4. hyvä tiimi hyvä suoritus hyvä yhteistyö 3. Ryhmänormien muodostuminen yhteistyön paraneminen 2. Ryhmän sisäinen kilpailu klikit, myrskyt, kuohunta 1. työryhmän muodosttuminen varovainen yhteistyö

  21. Työryhmän muodostuminen * heikko rakenne * heikko sitoutuminen * varovaisuutta, epäilyä, pelkoa * vähän todellista kommunikointia * paineita Ryhmätyö suoritus/tulokset Aito, toimiva tiimi * selvä rakenne ja suunta * voimakas sitoutuminen * tehtävät yhteistyössä * keskenäiset suhteet ja odotukset selvät * avoin suora viestintä * ongelmat käsitellään rakentavasti * sisäiset asiat eivät vaikuta tuloksen tekoon Kilpailutilanne, kuohunta *selvä rakenne ja suunta * heikko sitoutuminen * johtajuus epäselvä * jäsenten välinen kilpailu * kiukkua, turhautumista *klikkien muodostumista ‘Onnellinen perhe’ * heikko rakenne * voimakas sitoutuminen * ystävällisyyttä, kohteliaisuutta * huolenpitoa ryhmän jäsenten tarpeista * konfliktien välttelyä * painopiste harmonian säilymisessä henkilösuhteet/sitoutuminen

  22. Ongelmia projektityössä • Arvioinnin vaikeus • aikaisempi kokemus • tutkimustulokset • Myytit 40 % sääntö • myöhässä -> lisää väkeä • Osa-alueiden laiminlyönti • kommunikointi • opiskelu, esitutkimus

  23. Ammattilaisen ominaisuuksia • Kehittää taitojaan • Tuntee projektityön • Osaa toimia ryhmässä, myös vetäjänä • Tuntee laatumittarit • projektille & ohjelmistotuotteelle • Osaa arvioida ja hallita riskit: P & OT • Tuntee alansa tutkimustiedon • Tuntee ohjelmisto- ja tuotantostandardit

  24. Siksi siis kurssin sisältö ... • OSA I: Ammattilaisen tietoisuus • Ohjelmistotuotannon prosessimallit • Projektin hallinta • Ohjelmiston ja projektin laatu • Asenne ratkaisee: minä vaikutan tuotteeseen

  25. Sisältö ... • OSAII: Käytännön rutiinitaitoja • Projektin suunnittelu, valvonta, hallinta • Ohjelmistovaatimusten määrittely • Ohjelmiston suunnittelu • ohjelmistoarkkithetuureista, standardiratkaisuista • standardi-suunnittelumenetelmistä • Ohjelmointiparadigmat • Testaus ja muu laadunvarmistus • Ylläpito • Tiimityö

  26. Kysymyksiä • Oletko atk-alan töissä ? • Oletko osallistunut projektiin? (> 3kk) • Oletko ollut projektipäällikkönä? • Oliko projektisi toimintaperiaate selkeä? • Mitattiinko projektin etenemistä? Miten? • Osaatko nimetä projektissasi käytetyn prosessimallin? • Oletko osallistunut ryhmätyökoulutukseen?

More Related