Introduksjon til in 140 Systemering In 140 Systemering

  • Slides: 21
Download presentation
Introduksjon til in 140 Systemering

Introduksjon til in 140 Systemering

In 140 Systemering n Forelesninger Rom B 137 – Mandag 1015 -1200 – Onsdag

In 140 Systemering n Forelesninger Rom B 137 – Mandag 1015 -1200 – Onsdag 1015 -1200 Foreleser: Hans F. Nordhaug n Lærebok: n – Sommerville, Ian. Software Engineering – 6. utgave H 2000. – Innebærer en god del innholdsendring fra 5. utgave n Hjemmeside – http: //kursinfo. himolde. no/in-kurs/in 140/

In 140 Systemering (Forts) n Prosjektoppgaver/øvinger i grupper – grupper på 4 -5 personer

In 140 Systemering (Forts) n Prosjektoppgaver/øvinger i grupper – grupper på 4 -5 personer – Obligatoriske prosjektoppgaver med fire milepæler/innleveringer – Visio og/eller Rational Rose – Felles veiledning/gjennomgang av øvelser med hjelpelærer. To mulige tidspunkt: • Beskjed kommer – Arbeidskrav: 16 timer i uken: 4 t forelesning, 2 timer lesing til forelesning, 4 t prosjekt/veiledning, 6 t arbeid med prosjekt oppgave

In 140 Systemering (Forts) n Gruppeetablering – Dele studentene inn på de to alternative

In 140 Systemering (Forts) n Gruppeetablering – Dele studentene inn på de to alternative dagene – Innenfor disse dagene er det stor frihet til å etablere grupper selv – Hjelpelærer/foreleser har det endelige ordet hvis det oppstår problemer n Eksamen – Eksamen fire timer – 8. juni.

Introduksjon n Mål – Introdusere og klargjøre betydningen av systemering. – Svare på grunnleggende

Introduksjon n Mål – Introdusere og klargjøre betydningen av systemering. – Svare på grunnleggende spørsmål om systemering. – Introdusere etiske og profesjonelle spørsmål.

Systemering n Datasystemer har stor økonomisk betydning. – – Økonomien er avhengig dem. Flere

Systemering n Datasystemer har stor økonomisk betydning. – – Økonomien er avhengig dem. Flere og flere systemer inneholder programvare. Programvarekostnaden kan være dominerende. Vedlikeholdet koster mer enn utviklingen. Formålet med systemering er profesjonell kosteffektiv utvikling og vedlikehold av programvare. n Ingen fysisk begrensning på programvare – Dermed ingen grenser for kompleksiteten. n MEN: HVORFOR SKAL DU INTRESSERE DEG FOR SYSTEMERING? n

Personlig motivasjon n Systemutvikling er mer enn programmering. – Systemutvikling medfører organisatoriske endringer –

Personlig motivasjon n Systemutvikling er mer enn programmering. – Systemutvikling medfører organisatoriske endringer – Systemutvikling kan medføre endringer i samfunnet – Være med på innovasjoner og nyskapning

Softwarekrise? n Fra 1968 Software engineering vs. software crisis. – Mange skandaløse prosjekter –

Softwarekrise? n Fra 1968 Software engineering vs. software crisis. – Mange skandaløse prosjekter – Nye teknikker og metoder skulle mestre kompleksiteten som ikke kunne takles med uformelle metoder.

I dag n Mange metoder og teknikker i bruk. – Utviklingsprosessen er sterkt forbedret.

I dag n Mange metoder og teknikker i bruk. – Utviklingsprosessen er sterkt forbedret. n Kompleksiteten stadig større. n Sammensmelting av kommunikasjonsog datasystemer. n Fortsatt problemer (Se for eksempel (http: //www. dagbladet. no/print/? /nyheter /2001/06/28/266200. html) n Permanent softwarekrise? n Framgang?

Hva er programvare n Hensikten med systemering er å lage programvareprodukter (som fungerer i

Hva er programvare n Hensikten med systemering er å lage programvareprodukter (som fungerer i en gitt kontekst) – Består av programsystemer + dokumentasjon n To hovedklasser programvareprodukter – Standardprodukter som lages for salg på det åpne markedet. (COTS) – Skreddersydde produkter som bestilles av en bestemt kunde og som bygges for denne kunden. – Hva med freeware & shareware og open source?

Hva er systemering n En ferdighet som dreier seg om alle sider av programvareproduksjon

Hva er systemering n En ferdighet som dreier seg om alle sider av programvareproduksjon fra tidlige faser av spesifikasjonen til vedlikehold etter at systemet er tatt i bruk. – – Få ting til å virke med teori, metoder, verktøy eller uten. organisatoriske og økonomiske rammer. Alle sider av programvareproduksjon. • • Teknisk Organisatorisk Prosjektorganisering Utvikling av metoder og teorier. – Systematisk og organisert tilnærming fordi det er mest effektivt.

Hva er forskjellen mellom informatikk og systemering. n Informatikk er et generelt fag om

Hva er forskjellen mellom informatikk og systemering. n Informatikk er et generelt fag om datamaskiner og programvare. n Systemering gjelder de praktiske problemene med å designe, utvikle, implementere og vedlikeholde programvare.

Hva er systemerings-prosessen Definisjon: En mengde aktiviteter og resultater som lager eller videreutvikler et

Hva er systemerings-prosessen Definisjon: En mengde aktiviteter og resultater som lager eller videreutvikler et programprodukt. n Fire grunnleggende aktiviteter n – – n Spesifikasjon –Hva skal systemet kunne utføre Utvikling – Hvordan vi kan lage et slik system Validering – Virker systemet som spesifisert. Vedlikehold/Videreutvikling Rekkefølge og tidsforbruk varierer sterkt – Etter utviklingsorganisasjon – Etter produktet man vil utvikle

Hvilke systemeringsprosessmodeller har vi n Fossefallsmetoden – Grunnleggende aktiviteter - Trinn for trinn n

Hvilke systemeringsprosessmodeller har vi n Fossefallsmetoden – Grunnleggende aktiviteter - Trinn for trinn n Evolusjonær systemutvikling – Trinnene gjentas gang etter gang. – Første versjon raskt klar. – Videre utvikling derfra sammen med kunden. n Formell transformering – Bygger på formell matematisk spesifikasjon som omformes til et program ved hjelp av matematiske metoder. Gir sikkert korrekt resultat. Systembygging fra gjenbrukbare komponenter – Forutsetter at delene til systemet allerede eksisterer. Da går det ut på å lime delene sammen til et hele.

Hva er kostnadene med systemutvikling n Sterkt variabel fordeling mellom aktivitetene. – Fossefallmodellen –

Hva er kostnadene med systemutvikling n Sterkt variabel fordeling mellom aktivitetene. – Fossefallmodellen – Evolusjonær systemutvikling – Utvikling vs Vedlikehold – Standardsystem på PC

Hva er systemerings-metoder Strukturert tilnærming til utvikling der målet er høy kvalitet per kostnad.

Hva er systemerings-metoder Strukturert tilnærming til utvikling der målet er høy kvalitet per kostnad. n Kjente metoder n – Strukturert analyse ca 1980. Funksjonsorientert. – Objektorienterte metoder samlet rundt UML ca 1998 Felles ide: Lage grafiske modeller (kart) av systemet. Kartet er spesifikasjon og design. n Metodene består av: Modellbeskrivelse og notasjon, regler, anbefalinger og framgangsmåte. n

Hva er CASE Computer Aided Software Engineering n Programmer til støtte i systemutviklingsprosessen. n

Hva er CASE Computer Aided Software Engineering n Programmer til støtte i systemutviklingsprosessen. n Alle metoder har CASE teknologi n – – – – Notasjonseditorer Analysemoduler Rapportgeneratorer Evt. Kodegeneratorer Debuggere Programanalyseverktøy Testgeneratorer Programeditorer

Hvilke egenskaper har god programvare? n Brukbarhet n Vedlikeholdbarhet n Robusthet n Effektivitet

Hvilke egenskaper har god programvare? n Brukbarhet n Vedlikeholdbarhet n Robusthet n Effektivitet

Hva er hovedutfordringene for systemering n Sosio-tekniske problemstillinger – Hvordan implementere IT i en

Hva er hovedutfordringene for systemering n Sosio-tekniske problemstillinger – Hvordan implementere IT i en organisasjon? n Den eksisterende programvaren – Nødvendige systemer må holdes ved like på en pålitelig og økonomisk måte. n Heterogene miljøer – Normalt må systemene virke i nettverk med ulike operativ-system og maskinvare. n Leveringstid. – Forandringstakten er stor og krever rask omstilling også av programsystemene.

Profesjonelt og etisk ansvar n n n Ikke bare tekniske ferdigheter. Skal vi få

Profesjonelt og etisk ansvar n n n Ikke bare tekniske ferdigheter. Skal vi få respekt må du handle etisk og moralsk. Å følge loven er ikke nok. Standard for ærlighet og integritet. Profesjonelt ansvar: – – Taushetsplikt Kompetanse Opphavsrett Misbruk av datasystemer

Profesjonelt og etisk ansvar (forts. ) n Bransjeorganisasjoner: – Code of professional conduct n

Profesjonelt og etisk ansvar (forts. ) n Bransjeorganisasjoner: – Code of professional conduct n ACM/IEEE – Public – Client and employer – Product – Judgement – Management – Profession – Colleagues – Self