170 likes | 398 Views
IMT3102 Objektorientert systemutvikling. 10 studiepoeng – studieretning Programvareutvikling Emnet forutsetter IMT2242 Systemutvikling 6 timer pr uke : forelesning, diskusjon, case, mappearbeid Evalueringsform : mappeevaluering !!! Tre individuelle arbeider – to skal i presentasjonsmappa
E N D
IMT3102 Objektorientert systemutvikling • 10 studiepoeng – studieretning Programvareutvikling • Emnet forutsetter IMT2242 Systemutvikling • 6 timer pr uke : forelesning, diskusjon, case, mappearbeid • Evalueringsform : mappeevaluering !!! • Tre individuelle arbeider – to skal i presentasjonsmappa • Tre gruppe arbeider – to skal i presentasjonsmappa • Karakter settes ut fra presentasjonsmappa – ingen eksamen • Utstrakt tilbud om veiledning gjennom semesteret, men IKKE retting underveis – kan forbedre arbeidene • Et prosjektarbeid utføres mot en reell oppdragsgiver – dette inngår som enkelte av mappearbeidene Forelesning 1 i IMT3102 høst 2005
Målformuleringen i emnebeskrivelse • Studentene skal ha kunnskaper om inkrementelle og iterative systemutviklingsprosesser • og kunne gjennomføre analyse og design basert på objektorientert modellering i modelleringsspråket UML. • Videre skal de også ha kjennskap til bruk av Patterns ved design av programvare. Forelesning 1 i IMT3102 høst 2005
Temaer Kursets hovedtemaer ”Vekt” • Systemutviklingsmetodologier/ prosessrammeverk (30) • Objektorientert analyse og design med anvendelse av Unified Modelling Language (40) • Arkitektur og Design Patterns (30) Sitat fra pensumboka (Larman) : ”This is an introduction to OOA/D while applying the Unified Modeling Language (UML), patterns, and the Unified Process” s.4 Forelesning 1 i IMT3102 høst 2005
Repetisjon IMT2242 Systemutvikling:Tradisjonelle Systemutviklingsmodeller Forelesning 1 i IMT3102 høst 2005
forts. repetisjon Moderne tilnærminger til systemutvikling EXTREME PROGRAMMING : • Verdigrunnlag : Communication, Simplicity, Feedback, Courage • 12 pratices : On-site Customer Test før kode System Metafor Refactoring Små releaser Enkelt Design (DTSTTCPW) Planning Game Kontinuerlig integrasjon Par programmering Kode standard Felles eierskap 40 timers uke Forelesning 1 i IMT3102 høst 2005
forts repetisjon • Systemutviklingsprosjekter bør alltid forankres i en utviklingsmodell. Denne danner rammeverket for hele prosessen, og gir oss den grunnleggende strukturen for arbeidet i prosjektet. Generiske aktiviteter som Spesifikasjon, Utvikling, Testing må ivaretas • Det er ingen direkte føringer mellom det å drive objektorientert systemutvikling og bestemte utviklingsmodeller, men valg av modell og metodeverk må sees i sammenheng. Tendensen er en dreiningen mot utviklingsmodeller som ”dyrker” iterasjoner og inkrementell utvikling. Forelesning 1 i IMT3102 høst 2005
Systemutviklingsmetoder Bruk av metodebegrepet • I IMT3102 tillegges begrepet systemutviklingsmetode det faglitteratur omtaler som ”methodology” Noen definisjoner / beskrivelser : • The American Miriam-Webster dictionary : “Methodology :1) a series of related methods or techniques; 2) the study of methods • Avison & Fitzgerald – 95 “ A system of procedures, techniques, tools and documentation aids, usually based on some philosophical view, which help the system developers in their efforts to implement a new information system.” • Cockburn - 99 “Methodology means the role definitions, job descriptions, activities and exchange deliverables of everyone on the project.” Koblinger mellom metodologi, modell, metode, teknikk, prosessrammeverk .. Forelesning 1 i IMT3102 høst 2005
The New Methodology Artikkelsamling, art.1, M.Fowler Det finnes ingen enerådende klassifisering av systemutviklingmetoder, men de senere årene har skillet mellom såkalte ”Heavy methodologies” og ”Agile methodologies” blitt stadig mer etablert. Fowler skiller mellom ”Predictive” og ”Adaptive” metoder. Aktuelle Agile metoder : • XP • Crystal, ASD, Scrum, FDD, DSDM Eksempler på Heavy metoder : • Fossefall, rendyrket inkrementell utivkling Hvor plasserer vi for eksempel : • RUP, Open Source Forelesning 1 i IMT3102 høst 2005
SCRUM http://www.controlchaos.com/about/ Forelesning 1 i IMT3102 høst 2005
Myke metoder og teknikkerArtikkelsamling, 2, Avison m.fl. Definering av prosjektspesifikke metoder der man selv ”syr” sammen sitt eget prosessrammeverk blir mer og mer vanlig. Her blir kjennskap til den ”flora” av komplementære metoder og teknikker viktig for å kunne sette opp et eget prosessrammeverk. Mykere metoder / teknikker omtalt i Avison : Ethics, SSM, Rike bilder, CATWOE Forelesning 1 i IMT3102 høst 2005
Soft System Methodlogy • Ser organisasjonen som helhet, ikke ”bare” funksjonene til fremtidig IT-løsning • Menneskelig adferd det vanskelige i SU, ikke modellering av data og prosesser • Benytter teknikker som Rike Bilder og Rotdefinisjon (CATWOE) • En ”front end” for harde metodologier Forelesning 1 i IMT3102 høst 2005
Soft System Methodlogy Rotdefinisjon : • Client - mottaker • Actor - den utførende • Transformation - hva blir gjort • Weltanschauung - perspektiv • Owner - ansvarshavende • Environment - omgivelser Forelesning 1 i IMT3102 høst 2005
ETHICS • Menneskeorientert metodologi • Fokus på sosio-tekniske forhold • Teknologien må fungere i en sosial og organisasjonsmessig sammenheng • Ikke ren SU, ser mest på Organisasjonsutvikling og Personalutvikling • Medvirkning er det bærende element (konsultere, representere, konsensus) • 15 steg der teknisk design inngår, men ikke er sterkt fokusert Forelesning 1 i IMT3102 høst 2005
Methodology topics and samples (Artsaml. 4 : Cockburn – Fig. 1) / Forelesning 1 i IMT3102 høst 2005
Methodology dimentions (Cockburn – Fig. 2) Forelesning 1 i IMT3102 høst 2005
Valg av metodologi • Har man reell valgmulighet i vanlige SU-prosjekter ? • På organisasjonsnivå • På prosjektnivå • På prosjektets livssyklus-nivå • Kan uansett påvirke arbeidprosessen innen en ”definert metodologi” • Kunnskap om alternative metodologier og deres styrker og svakheter blir viktig for for å løse problemet på en hensiktsmessig måte (”optimal” vil være å sikte for høyt !) Forelesning 1 i IMT3102 høst 2005
Strategier for metodevalg • Velge i liste over metodologier (Davis, 1982) • Velge ut fra problemsituasjonen (Avison & Taylor, 1997) • Ha innsikt i metodeklassifiseringer og dermed økt bevissthet rundt valg (Cockburn, 1999, Kroll, 2003) • Velg en adaptive og menneskeorientert prosess ved uklare krav, motivete utviklere og deltagende kunder (Fowler, 2003) Forelesning 1 i IMT3102 høst 2005