Softwarekonstruktion

Slides:



Advertisements
Lignende præsentationer
Anskaffelse af ny teknologi
Advertisements

Teststrategi Engrosmodellen
Forsøgsskoleprojekt – med inspiration fra John Dewey
Hvordan programmerer man?? STREAM - en model. Programmører arbejder ofte i teams Hver programmør arbejder på sin del af en større helhed.
Modul 1 - Processer.
Arkitektur - data.
Introduktion til værdistrømsanalyser
Humanistisk fagsprog Humanistiske fag – dansk, engelsk, tysk, historie mfl. Udgangspunk i ”tekster” Forståelse og fortolkning er overordnet karakteristisk.
Iterativ udvikling og UP
UP som framework UP på 1. semester Planlægning efter UP Input til UP
Teststrategi Engrosmodellen
Opstartsmøde fase 2: Implementering og etablering af miljøerne
Interaktive test - Karakteristika & Nyskabelser
Softwarekonstruktion
Hvor mange EPJ-systemer skal Danmark have? Kan SOA fx levere varen? Hvem skal bestemme standarden? Søren Lauesen IT-Universitetet i København
TAG EJERSKAB  FJERN BARRIERER  BESLUT PÅ STEDET
Kommunikation i projekter
Krav og usecases Larman kap. 5 og 6 (del1) Larman kap del1
Ledelse af innovative medarbejdere
Udvikling og styring af en virksomhed
Udvikling – del II.
Input FMEA Output Shit in = Shit out FMEA
WOC2006 foranalyse workshop del 1
Regnskab & økonomistyring - Lektion 14 HD 5. semester forår 2010 v/ Jens Godik Højen, April 2010.
Tietgen Skolen Kvalitet og kvalitetssikring Review Test.
Humanistisk fagsprog og læringsstile Dagens program
03.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Klasser Oversigt, principper og teknikker Kapitel 3.
10.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Komponenter Oversigt, principper og teknikker Kapitel 10.
1 Dagens gang Repeter systemvalg Gennemgang af klasser og strukturer (kap. 3+4 OOA+D) Tavle opgave Gruppe opgave til næste gang.
Projektstyring dag 2.
Kvalitet i almindelighed og i relation til softwareudvikling.
Introduktion til arkitektur design Arkitektur design handler om at få en forståelse for, hvordan et system skal organiseres og designe den overordnede.
Quality Management Systems
The KaosPilots August Arne Kleven og & friends Opgaven Introduktion til analysen Praktisk gennemførsel - personlig tilbagemelding.
Context- og flow-diagrammer (databaser, del 3)
MMP Model og Metode til Programudvikling – MMP 1 Kursusindhold: Modellering af postkontor Objekt Orienteret Programudvikling - OO* Unified Modelling.
OPI EFFEKTMÅLINGSVÆRKTØJ
09.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Kriterier Oversigt, principper og teknikker Kapitel 9.
16.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Dokumentation Oversigt og principper Kapitel 16.
Virksomhedens informationsbehandling
Spørgetime. Kunde / konto eksemplet Konto åbnet( ) Beløb indsat( , 100) Konto åbnet( ) Beløb hævet ( , ) Beløb indsat( ,
Systemudvikling og kommunikation med brugerne
Use Case Modellering. En form for requirements engeneering – dvs. fastlæggelse af systemkrav.
September 20031KUP - Videndeling i udvikling Udviklingsprocessen Fremstillingsdiscipliner Identificerer kundens krav Omsætter gradvist og struktureret.
September 20031KUP - Projektstyring Formålet med projektstyring Formålet med projektstyring er at planlægge og styre et udviklingsprojekt, således at projektet.
Briding the Gaps Between Developers and Users v. Grudin Indledning Faktorer som kan påvirke bruger involvering Kontrakt udvikling Produkt udvikling Intern.
DIEB4.1 Kursusgang 4 Oversigt: Sidste kursusgang Opgaver Aktivitet 2: Generer design (fortsat) Design af interaktionselementer.
Generelt om abstraktion og modellering Tietgen Skolen.
DIEB4.1 Kursusgang 4 Oversigt: Sidste kursusgang Opgaver Aktivitet 2: Generer design (fortsat) Design interaktionselementer Analysedokumentet.
Unified Modeling Language
DIEB10.1 Kursusgang 10 Oversigt: Sidste kursusgang Eksempler på løsning af opgaven Arkitektur for brugergrænsefladen og for systemet Dokumentation af designet.
Situationsbestemt metodevalg
Indledende Programmering Uge 6 - Efterår 2006
Datalogi - 1. modul - systemudvikling - LCK 1 Håndtering af systemudvikling! Efterår 2000 Datalogi LCK.
Dagens gang Komponenter Projektetablering Opgave i komponenter til næste gang.
Systemudviklingsstrategier
 Astrid Lumbye 2002Objektorienteret systemudvikling Begreber i systemudviklingsprocessen Udviklingsmodel Metode Beskrivelsesteknik Værktøj.
Definition Kriterier Design og evaluering
01.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Objektorienteret Analyse & Design (OOA&D) Grundbegreber, principper og metode Kapitel 1.
C O N N E C T I N G B U S I N E S S & T E C H N O L O G Y Copyright © Projektmodel for Beredskabsplan.
IT-Kravspecifikation Datatekniker H5 Introduktion.
PRINCIPPER FOR PROJEKTLEDELSE IT PROJEKTLEDELSE 14. marts 2014.
Skab engagement som coach Dette er et værktøj for dig, som vil Skabe motivation, engagement og ejerskab Sikre bedre performance Skabe udvikling og læring.
SUF - gevinstrealisering
Virksomhedssamarbejde
IT-B: 1.07 Fasemodel og Agil Udvikling
Det produktive team Software kvalitet og kultur
[Projektnavn] Post mortem
Værktøj: Check dine relationer
Cost & Schedule risiko analyser (CSRA)
Præsentationens transcript:

Softwarekonstruktion Udviklingsmodeller generelt Introduktion til UML Udviklingsmodellen UP UML strukturer

Udviklingsmodel, metode og notation Et udviklingsmodel er en samling af aktiviteter, der fører frem til det færdige produkt En metode er konkrete retningslinier for, hvordan de enkelte aktiviteter skal udføres UP er både en udviklingsmodel og metode En notation er et sprog til beskrivelse og visualisering UML er en fælles standard for visualisering af modeller og understøttes af forskellige case – værktøjer UP og mange andre metoder benytter UML 07-04-2017 Lektion 4 - SWK

Udviklingsmodeller – oversigt Basis modeller: Vandfaldsmodellen Specifikation (først) og udvikling (sidst) i adskilte faser Et sekventielt gennemløb Evolutionær systemudvikling Prototyper der iterativt forbedres på baggrund af brugerinput Specifikation, udvikling og test er vævet ind i hinanden ”Moderne” modeller (UP, XP m. fl.) indeholder alle et miks af elementer fra ovennævnte basismodeller – derfor er det vigtigt at forstå deres fordele/ulemper 07-04-2017 Lektion 4 - SWK

Vandfaldsmodellen (Royce) 07-04-2017 Lektion 4 - SWK

Vandfaldsmodellen – laksen 07-04-2017 Lektion 4 - SWK

Fordele / ulemper Fordele Ulemper Anvendelse God synlighed - let at styre efter God dokumentation Ulemper Går ofte fejl af brugerne, idet beslutninger tages på grundlag af abstrakte specifikationer og med begrænset brugerinddragelse (ingen kodning/test i de første faser) Ændringshåndtering vanskelig (kun et gennemløb) Fejl-/misforståelser opdages først sidst i processen, hvor de er dyre at rette (test sent i processen) Anvendelse Modellen passer bedst til situationer, hvor kravene kan specificeres, er forståelige, og senere ændringer er begrænsede, hvilket sjældent er tilfældet 07-04-2017 Lektion 4 - SWK

Evolutionær systemudvikling (evolutionsmodellen) Udforskende udvikling Formålet at udvikle et system, mens der løbende integreres med kunden. Der startes med de mest forståelige dele Features tilføjes efterhånden af kunden Bruges i situationer, hvor det ikke er klart, hvordan systemet skal fungere Smid - væk prototyper Målet er en bedre kravspecifikation. Prototypen bruges for at afklare det reelle behov Bruges i situationer, hvor kravene til systemet kendes, men er vanskelige at forstå. 07-04-2017 Lektion 4 - SWK

Evolutionær udvikling 07-04-2017 Lektion 4 - SWK

Fordele / ulemper Fordele Ulemper Hurtig udvikling af noget der ligner et rigtigt system Stor grad af brugerdeltagelse, motiverende God opfyldelse kundekrav Ulemper Vanskelig af måle fremdrift – samt afgøre hvornår systemet er færdigt. Vanskeliggør projektledelse Mange ændringer ødelægger strukturen Specielle krav til uddannelse og værktøjer 07-04-2017 Lektion 4 - SWK

Iterative og inkrementelle modeller Set over tid vil der altid komme krav til ændringer Derfor er iterationer nødvendige Hver iteration resulterer i en udvidelse af systemet - et inkrement Moderne modeller forener det bedste fra vandfald og evolutionær Risikostyrede iterative modeller: Et første bud: Spiral modellen Et praktisk anvendeligt bud: Unified Proces (UP) 07-04-2017 Lektion 4 - SWK

Boehm’s spiralmodel eksempel 07-04-2017 Lektion 4 - SWK

Situationsbestemt udvikling Hvilken type projekt? Stabile / dynamiske krav Lille/stort Simpelt/Komplekst Fejl har store/små konsekvenser Hvilke type udviklere? Erfarne/uerfarne Selvstændige/uselvstændige Hvilken type software – hardware? Prøvet før/nyt 07-04-2017 Lektion 4 - SWK

Historien bag UML 07-04-2017 Lektion 4 - SWK

Udviklingsmodel, metode og notation Et udviklingsmodel er en samling af aktiviteter, der fører frem til det færdige produkt En metode er konkrete retnings linier for, hvordan de enkelte aktiviteter skal udføres UP er både en udviklingsmodel og metode En notation er et sprog til beskrivelse og visualisering UML er en fælles standard for visualisering af modeller og understøttes af forskellige case – værktøjer UP og mange andre metoder benytter UML 07-04-2017 Lektion 4 - SWK

Perspektiver Analyse (Hvad skal systemet indeholde?) en simplifikation af virkeligheden i et black box view gør udviklerne i stand til bedre at forstå det system de udvikler Design (Hvordan skal systemet bygges?) et white box view på systemet betragter systemet ud fra et bestemt perspektiv for bedre at forstå kompleksiteten UML binder analyse, design og kode sammen. ældre strukturerede metoder bruger forskellig notation i analyse og design 07-04-2017 Lektion 4 - SWK

UML model og kode UML modellen kan mappes til forskellige platforme fx Java, og automatisk omsættes til kode 07-04-2017 Lektion 4 - SWK

UML grundelementer er objekter UML bygger på, at det der skal modelleres, kan betragtes som en samling af interagerende objekter Der er to hovedaspekter: Den statiske struktur, som er objekterne i systemet og deres relationer Den dynamiske opførsel, der beskriver hvordan objekterne kalder hinanden i run time tilstanden 07-04-2017 Lektion 4 - SWK

UML strukturer Byggeklodser Fælles mekanismer Arkitektur symboler for ting som fx en klasse eller use case symboler for relationer diagrammer der er views af modeller over ting og deres relationer Fælles mekanismer specifikationer og semantik udvidelse med vigtige detaljer på diagrammerne fælles beskrivelser af elementer ved klassificering og interfaces udvidelse med fx egne modelleringselementer Arkitektur 07-04-2017 Lektion 4 - SWK

Oversigt over UML diagrammer 07-04-2017 Lektion 4 - SWK

Eks. Specifikationer og semantik 07-04-2017 Lektion 4 - SWK

Eks. Udvidelser af modelelement med vigtige detaljer 07-04-2017 Lektion 4 - SWK

Classifier and instance 07-04-2017 Lektion 4 - SWK

07-04-2017 Lektion 4 - SWK

Eksempler på stereotyper 07-04-2017 Lektion 4 - SWK

UP bygger på en 4+1 View arkitektur 07-04-2017 Lektion 4 - SWK

07-04-2017 Lektion 4 - SWK

UP ~ RUP 07-04-2017 Lektion 4 - SWK

Hvorfor UP ? De hidtidige metoder er utidssvarende Behov for en ”reference proces” Behov for en proces der kan guide et teams aktiviteter styre teamets og den enkeltes opgaver specificerer hvilke opgaver der skal løses angiver kriterier for overvågning og måling af et projekts resultater 07-04-2017 Lektion 4 - SWK

UP Understøtter iterationer og illustrerer god udviklingspraksis. Drevet af use cases og risici Arkitektur centreret Iterativ og inkrementel Beskrives normalt ud fra 3 perspektiver: Et dynamisk perspektiv, der viser faserne over tid Et statisk perspektiv der viser procesaktiviteterne (workflows/discipliner) Et udførende perspektiv som viser god praksis Kritiseres af nogen for at være for tung! 07-04-2017 Lektion 4 - SWK

07-04-2017 Lektion 4 - SWK

Workflows 07-04-2017 Lektion 4 - SWK

Faser Inception Mål og afgrænsning Elaboration Arkitekturens basis Construction Transition time Inception Mål og afgrænsning Elaboration Arkitekturens basis Construction Systemet gjort køreklar Transition Færdig produkt release 07-04-2017 Lektion 4 - SWK

Fokus i inception fasen I denne fase er det afgørende kriterium gennemførbarhed opnået gennem: identificering og reducering af risici arbejde med use case modellering af vigtige krav opstilling af en første arkitektur udarbejdelse af et første estimat forretningsmæssige/økonomiske overvejelser (inception kan oversættes med påbegyndelse - så der er ingen mystik 07-04-2017 Lektion 4 - SWK

Milestone efter inception 07-04-2017 Lektion 4 - SWK

Fokus i elaboration fasen I denne fase er det afgørende kriterium evnen til at bygge systemet indenfor en given økonomisk ramme ved at identificere og reducere risici af væsentlig betydning for systemets konstruktion specificere de fleste use cases og dermed systemets funktionalitet præcisering af systemets arkitektur udarbejdelse af projekt plan for konstruktionsfasen præcisering af estimater og overvejelser over den forretningsmæssige side (elaboration kan oversættes med uddybning….) 07-04-2017 Lektion 4 - SWK

Milestone efter elaboration 07-04-2017 Lektion 4 - SWK

Fokus i construction fasen Det er et afgørende kriterium at få udviklet et system som er i stand til at fungere i brugernes omgivelser Dette opnås ved en serie af iterationer, som leder til nye ”byggesten”. Gennemførligheden af systemet er synlig ud fra de konstruerede dele af systemet 07-04-2017 Lektion 4 - SWK

Milestone efter construction 07-04-2017 Lektion 4 - SWK

Fokus i transition fasen Målet med denne fase er at opnå et system, der er klar til at gå i drift. Opnås ved: at løse de problemer der ikke blev konstateret tidligere i forløbet, herunder deciderede fejl planlægge brugerkurser mv. 07-04-2017 Lektion 4 - SWK

Milestone efter transition 07-04-2017 Lektion 4 - SWK

Den iterative tilgang i UP er risikodrevet En risiko er et anliggende ved et projekt som, der er en sandsynlighed for, kan ødelægge eller påvirke systemets succes Kategorisering af risici tekniske risici ikke tekniske risici 07-04-2017 Lektion 4 - SWK

Tekniske risici Tekniske risici kan inddeles i fire grupper: Risici i forbindelse med funktionelle og ikke funktionelle krav Risici i forbindelse med ny teknologi Risici relateret til arkitektur (integration af delsystemer, kvalitet af eksterne komponenter ,,,) Risici relateret til performance 07-04-2017 Lektion 4 - SWK

Ikke tekniske risici Risici som ledelsen har mulighed for umiddelbart at tage hånd om, f.eks. urealistisk tidsplan fra en kundes side afhængighed af delleverandører, som ikke tidligere har været anvendt mangel på bestemte ressourcer Det er ikke denne type risici UP tager sigte på 07-04-2017 Lektion 4 - SWK

Håndtering af risici Når risici er identificeret og prioriteret, skal det besluttes, hvordan de håndteres Der er ifølge UP grundlæggende fire valg undgå risikoen ved at ændre planer og/eller krav begræns eller indkapsl risikoen afprøv risikoen. Hvis den materialiseres (viser sig at være reel) må den genovervejes nogle risici kan ikke fjernes, men må overvejes og besluttes ud fra en foretaget risikoanalyse 07-04-2017 Lektion 4 - SWK

Manifesto for Agile Software Development 07-04-2017 Lektion 4 - SWK

Principles of agile methods 07-04-2017 Lektion 4 - SWK

Klasser og objekter 07-04-2017 Lektion 4 - SWK

UML klasse notation 07-04-2017 Lektion 4 - SWK

07-04-2017 Lektion 4 - SWK