1 / 21

Introduksjon til in 140

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

robert-barr
Download Presentation

Introduksjon til in 140

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. Introduksjon til in 140 Systemering

  2. 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/

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

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

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

  6. 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?

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

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

  9. 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?

  10. 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?

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

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

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

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

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

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

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

  18. Hvilke egenskaper har god programvare? • Brukbarhet • Vedlikeholdbarhet • Robusthet • Effektivitet

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

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

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

More Related