introduksjon til in 140

21
Introduksjon til in 140 Systemering

Upload: robert-barr

Post on 30-Dec-2015

26 views

Category:

Documents


1 download

DESCRIPTION

Introduksjon til in 140. Systemering. In 140 Systemering. Forelesninger Rom 283 Mandag 0815-1000 Onsdag 0815-1000 Foreleser: Hans F. Nordhaug Lærebok: Sommerville, Ian. Software Engineering 6.utgave (2000) eller 7. utgave (2004). Innebærer en god del innholdsendring fra 5.utgave - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Introduksjon  til in 140

Introduksjon til in 140

Systemering

Page 2: Introduksjon  til in 140

In 140 Systemering Forelesninger Rom 283

– Mandag 0815-1000– Onsdag 0815-1000

Foreleser: Hans F. Nordhaug Lærebok:

– Sommerville, Ian. Software Engineering – 6.utgave (2000) eller 7. utgave (2004). – Innebærer en god del innholdsendring fra 5.utgave

Hjemmeside– http://kursinfo.himolde.no/in-kurs/in140/

Page 3: Introduksjon  til in 140

In 140 Systemering (Forts) Prosjektoppgaver/øvinger i grupper

– grupper på 4-5 personer– Obligatoriske prosjektoppgaver med fire

milepæler/innleveringer– ArgoUML og/eller Rational Rose (ikke Visio)– 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

Page 4: Introduksjon  til in 140

In 140 Systemering (Forts)

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

Eksamen– Eksamen fire timer– 8. juni.

Page 5: Introduksjon  til in 140

Introduksjon

Mål– Introdusere og klargjøre betydningen av

systemering.– Svare på grunnleggende spørsmål om

systemering.– Introdusere etiske og profesjonelle

spørsmål.

Page 6: Introduksjon  til in 140

Systemering 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.

Ingen fysisk begrensning på programvare – Dermed ingen grenser for kompleksiteten.

MEN: HVORFOR SKAL DU INTRESSERE DEG FOR SYSTEMERING?

Page 7: Introduksjon  til in 140

Personlig motivasjon

Systemutvikling er mer enn programmering.– Systemutvikling medfører organisatoriske

endringer– Systemutvikling kan medføre endringer i

samfunnet– Være med på innovasjoner og nyskapning

Page 8: Introduksjon  til in 140

Softwarekrise?

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.

Page 9: Introduksjon  til in 140

I dag Mange metoder og teknikker i bruk.

– Utviklingsprosessen er sterkt forbedret.

Kompleksiteten stadig større. Sammensmelting av kommunikasjons- og

datasystemer. Fortsatt problemer (Se for eksempel (

http://www.dagbladet.no/nyheter/2001/06/28/266200.html)

Permanent softwarekrise? Framgang?

Page 10: Introduksjon  til in 140

Hva er programvare Hensikten med systemering er å lage

programvareprodukter (som fungerer i en gitt kontekst)– Består av programsystemer + dokumentasjon

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?

Page 11: Introduksjon  til in 140

Hva er systemering 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.

Page 12: Introduksjon  til in 140

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

datamaskiner og programvare. Systemering gjelder de praktiske

problemene med å designe, utvikle, implementere og vedlikeholde programvare.

Page 13: Introduksjon  til in 140

Hva er systemerings-prosessen Definisjon: En mengde aktiviteter og

resultater som lager eller videreutvikler et programprodukt.

Fire grunnleggende aktiviteter– 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

Page 14: Introduksjon  til in 140

Hvilke systemerings-prosessmodeller har vi Fossefallsmetoden

– Grunnleggende aktiviteter - Trinn for trinn Evolusjonær systemutvikling

– Trinnene gjentas gang etter gang.– Første versjon raskt klar. – Videre utvikling derfra sammen med kunden.

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.

Page 15: Introduksjon  til in 140

Hva er kostnadene med systemutvikling

Sterkt variabel fordeling mellom aktivitetene.– Fossefallmodellen

– Evolusjonær systemutvikling

– Utvikling vs Vedlikehold

– Standardsystem på PC

Page 16: Introduksjon  til in 140

Hva er systemerings-metoder Strukturert tilnærming til utvikling der målet er

høy kvalitet per kostnad. Kjente metoder

– 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. Metodene består av: Modellbeskrivelse og

notasjon, regler, anbefalinger og framgangsmåte.

Page 17: Introduksjon  til in 140

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

systemutviklingsprosessen. Alle metoder har CASE teknologi

– Notasjonseditorer– Analysemoduler– Rapportgeneratorer– Evt. kodegeneratorer– Debuggere– Programanalyseverktøy– Testgeneratorer– Programeditorer

Page 18: Introduksjon  til in 140

Hvilke egenskaper har god programvare? Brukbarhet Vedlikeholdbarhet Robusthet Effektivitet

Page 19: Introduksjon  til in 140

Hva er hovedutfordringene for systemering Sosio-tekniske problemstillinger

– Hvordan implementere IT i en organisasjon?

Den eksisterende programvaren– Nødvendige systemer må holdes ved like

på en pålitelig og økonomisk måte. Heterogene miljøer

– Normalt må systemene virke i nettverk med ulike operativ-system og maskinvare.

Leveringstid.– Forandringstakten er stor og krever rask

omstilling også av programsystemene.

Page 20: Introduksjon  til in 140

Profesjonelt og etisk ansvar 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

Page 21: Introduksjon  til in 140

Profesjonelt og etisk ansvar (forts.) Bransjeorganisasjoner:

– Code of professional conduct ACM/IEEE

– Public– Client and employer– Product– Judgement– Management– Profession– Colleagues– Self