WOC2006 foranalyse workshop del 1

Slides:



Advertisements
Lignende præsentationer
Anskaffelse af ny teknologi
Advertisements

Notation Oversigt Kapitel 18.
Modul 1 - Processer.
Arkitektur - data.
06.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Brug Oversigt, principper og teknikker Kapitel 6.
Sikring af tilgængelighed er en proces!
Innovative Værksteder til udvikling af Akademiuddannelserne IVA
Iterativ udvikling og UP
UP som framework UP på 1. semester Planlægning efter UP Input til UP
Test First Development
Kommunikation i projekter
Krav og usecases Larman kap. 5 og 6 (del1) Larman kap del1
Skriv titel Synlig læring med it Agerbæk Skole og Starup Skole 2013
Udvikling – del II.
SLP 4 Samarbejde med vejleder Planlægning og styring
1. Ordreside: Køretøjerside: Brugereside: Timesedlerside: Beskederside: Oversigtskortside: Themeside: 19.
ER-diagrammer (databaser, del 4)
Arbejdet med åbne standarder – fokus på implementeringen af B 103 Oplæg ved 3. workshop for it-governance 21. februar 2007.
Regnskab & økonomistyring - Lektion 14 HD 5. semester forår 2010 v/ Jens Godik Højen, April 2010.
Økonometri 1: Specifikation og dataproblemer1 Økonometri 1 Specifikation, og dataproblemer 4. november 2005.
Tietgen Skolen Kvalitet og kvalitetssikring Review Test.
Introduktion til Access (Access, del 1)
Beskrivelses- og analyse-teknikker understøttet af Oracle Designer Del 2 af 2: Proces- og funktionsdiagrammering Aalborg Universitet, d. 9. oktober 2006.
Formål med projektet At I kommer i dybden med de faglige emner: virksomhedsforståelse, krav, design og implementering. At I lærer at arbejde i grupper.
Beskrivelses- og analyse-teknikker understøttet af Oracle Designer
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.
07.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Funktioner Oversigt, principper og teknikker Kapitel 7.
Kvalitet i almindelighed og i relation til softwareudvikling.
12.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Modelkomponent Oversigt, principper og teknikker Kapitel 12.
11.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Processer Oversigt, principper og teknikker Kapitel 11.
Opfølgning på obligatorisk opgave 1 ONK1. Ingeniørhøjskolen i Århus Slide 2 Overordnet Flere gode opgaver De samme fejl går igen.. Alle der har afleveret.
Quality Management Systems
Context- og flow-diagrammer (databaser, del 3)
Dagens gang Sidste uges opgaver Design af grænseflader
OOA&D Et Crash-kursus.
P0 erfaringsopsamling Program 8.15: Introduktion
MMP Model og Metode til Programudvikling – MMP 1 Kursusindhold: Modellering af postkontor Objekt Orienteret Programudvikling - OO* Unified Modelling.
2009NOEA/IT - Databasedesign1 Agenda Datamodellering Databasedesign Normalisering.
OPI EFFEKTMÅLINGSVÆRKTØJ
Opfølgning på obligatorisk opgave 1 ONK1. Ingeniørhøjskolen i Århus Slide 2 af 14 Overordnet Generelt rigtigt fine opgaver –Mange fyldt med gode overvejelser.
09.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Kriterier Oversigt, principper og teknikker Kapitel 9.
Reflektion over jeres egen praksis
Virksomhedens informationsbehandling
Systemudvikling og kommunikation med brugerne
08.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Grænseflader Oversigt, principper og teknikker Kapitel 8.
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
Use Case Modellering. En form for requirements engeneering – dvs. fastlæggelse af systemkrav.
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.
Økonometri 1: Specifikation og dataproblemer1 Økonometri 1 Specifikation, og dataproblemer 9. november 2004.
NOEA/IT FEN - Databaser/modellering 1 Datamodellering Den udvidede (enhanced) E/R-model (EE/R- modellen) Begreber Diagrammering Omformning til.
E/R-diagrammering 7. Semester.
 Jens Bennedsen 2002Objektorienteret systemudvikling Design klasse model ”Klassemodellen på vej til kode”
Situationsbestemt metodevalg
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.
01.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Objektorienteret Analyse & Design (OOA&D) Grundbegreber, principper og metode Kapitel 1.
IT-B: 1.07 Fasemodel og Agil Udvikling
1.08 Test.
IT-B: 1.07 Fasemodel og Agil Udvikling
Dokumentation.
Tests v/Palle.
Adgang til egne data IT-Arkitekturrådet d It-Arkitekturrådet
Værktøj 10: Forandringer og stress - Ledelsen
Præsentationens transcript:

WOC2006 foranalyse workshop del 1 Foranalyse samt OOA & OOD baseret udviklingsproces og kravspecifikation

Agenda Sidste gang: Intro til OOA & OOD baseret udviklingsproces I blev bedt om at medbringe alle relevante projektrelekvier og forberede et oplæg om hvad I har lært om problemområdet indtil nu Intro til OOA & OOD baseret udviklingsproces Kravspecifikationsaktiviteter Vi vil ved fælles hjælp udarbejde en foranalyse Alle grupper præsenterer det de har lært om problemområdet indtil videre, og hvordan de vil gribe det an Elementer: fælles vision, fælles tidsplan, fælles logisk model af systemet (hvis relevant), fælles teknisk platform (hvor relevant), fælles værktøjer (versionsstyring, UML, dokument-skabelon, udviklingsmodel) logisk opdeling af system, fælles kravspecifikation (hvis relevant), overordnet deployment diagram Aftale om fælles indhold af de ugentlige statusrapporter

Softwareudvikling uden metode: Code and Fix Er stadig meget udbredt Projektet er svært at budgettere, og det er umuligt at lave en korrekt tidsplan Ofte ændres kravene til systemet hyppigt Test foretages usystematisk og integrationstesten er ofte et mareridt Ofte bliver resultatet at både budgettet og tidsplanen overskrides Ved aflevering indeholder programmet alligevel fejl så kunden bliver utilfreds Vi skal passe på at WOC projektet ikke havner her! Det er let at opleve et kravskred med denne typer ”kunder”

Systematisk Program Udvikling Ved at følge en systematisk udviklingsproces bringes ingeniørernes disciplin ind i softwareudviklingen Kaldes for ”Software Engineering” Systematisk program udvikling er f.eks. at Opdele projektet i faser og aktiviteter Definere kravene Anvende metoder og teknikker Skabe synlighed vha. dokumentation og kørende programmer Foretages systematisk test og verifikation I kender dette fra flere tidligere projekter, bl.a. semesterprojekterne

Iterative Rapid Development Proces Spiral model slutmål Start ROPES

En Use Case drevet og iterativ udviklingsmodel Analyse og krav- specifikation Krav- spec. med Use Case Model Arki-tektur design System integrations test OO Ana- lyse SW & HW implementering af X Use Case’s Accept test Use Case Model næste iteration Denne figur viser vigtigheden af Use Cases i processen

SW & HW implementering af X Use Case’s Arki-tektur design System Integrations test SW implementering af X Use Case’s Detaljeret design Implemen- tering Unit test HW implementering af X Use Case’s Mekanistisk SW Integrations

Specifikationsaktiviteter Udarbejd en Use Case baseret Kravspecifikation Overordnet domænemodel Krav- specifikation med Use Cases Produkt- oplæg Review Udarbejd en Accepttest specifikation Udarbejd evt. en Prototype Accepttest specifikation ver. 0.x Review Prototype

Hvad er en domænemodel ? En domænemodel beskrives vha. et UML klassediagram suppleret med en kort beskrivelse af hver klasse Igen kender I domænemodellen fra tidligere projekter Vigtige ændringer: langt mere komplekst system, databasebaseret, deling af entiteter Klassediagrammet viser kun domæneklasser (dvs. ikke attributter og operationer) En domæneklasse: beskriver et begreb, der er relevant i systemets eller produktets anvendelsesområde (domæne) er en klasse som kunden/opgavestilleren kan forstå og forholde sig til Eksempler: En løber er en entitet

Hvorfor domænemodel så tidligt ? Udarbejdelse af domænemodellen er med til at definere begreberne Resultat: at der kan opnås en langt bedre og mere konsistent kravspecifikation Der opnåes en bedre forståelse af domænet når domænet udforskes og modelleres vha. klasser

Domænemodellen i øvrigt Den udarbejdes normalt af udviklerne alene I visse situationer kan kunden medvirke ved f.eks. indledende workshops - skal vi have kontaktpersoner med? WOC: flere grupper med overlappende ønsker Faldgruber: Forsøg ikke at få den komplet Brug ikke for lang tid på den Kunder forstår sjældent UML Her dog evt. en undtagelse (WOC IT-gruppen) Fælles domænemodel? Domænemodellen er ofte kun et internt mellemprodukt – et arbejdsredskab, men her er det ekstra vigtigt at I kommunikerer på tværs I visse situationer kan domæne klasse-diagrammet indgå i kravspecifikationen som bilag

Use Cases og Domænemodel Klasse A Klasse B UC1 spec. ..A...B …C... ...A...C.... Klasse C Klasse D Klasse E Use Case 2 UC2 spec. Klasse F ..C...D... …E.... ......F...C

Kravspecifikation med Use Cases System/ Produkt Aktør-kontekst diagram 1. Indledning 2. Generel beskrivelse 3. Funktionelle krav 4. Ekstern grænseflade 5. Krav til ydelse 6. Kvalitetsfaktorer 7. Design krav 8. Andre krav 9. Del-levering Use Case diagram Use Case 1 Case 2 Case n ... Følg SPU-vejledningen for KS undtagen for kapitel 3, som specificeres med brug af use case beskrivelsers

Hvorfor acceptestspecifikation ? Accepttest specifikationen (B.Douglass’s Validation test) påbegyndes samtidigt med kravspecifikationen af følgende grunde: Primært for at opnå en bedre kravspec. da det undersøges om kravene er testbare Svartiden skal være rimelig, Produktet skal være pålideligt og brugervenligt etc. Det er typisk andre personer, der skriver testspec. hvorved der stilles gode spørgsmål til kravspec. som ofte er overset Man gør sig tidligt overvejelser over hvorledes slut eller afleveringstesten skal foretages Medfører at man kan planlægge udvikling af f.eks. specielle test- og simuleringssystemer

V-modellen for test (i en iterativ proces) næste iteration Accept-testspecifikation Arkitektur-testspecifikation Udførelse af accepttest Test af arkitektur Kravspecifikation Accepttest Arkitekturdesign System integrationstest SW/HW implementering af X Use Cases

Udviklingsmodel for eksterne kunder Domæne- modellering Iterativ og inkrementel udvikling og aflevering af et antal Use Cases Kørende delsystem eller delprodukt Krav- specifikation med Use Cases næste iteration Komplet kravspecifikation = aftale/kontraktgrundlag Denne udviklingssituation anvendes typisk når man er underleverandør til en ekstern kunde, der har bestilt systemet eller produktet der udvikles.

Udviklingsmodel for egenudvikling Domæne- modellering Iterativ og inkrementel specifikation, udvikling og aflevering af et antal Use Cases Kørende delsystem eller delprodukt Krav- specifikation med Use Cases næste iteration Denne udviklingssituation kunne anvendes ved udvikling af firmaet egne systemer eller produkter – bør tilstræbes anvendt ved komplet nyudvikling

Udviklingsmodel WOC Vi må forvente at der er relativt stor risiko for kravskred givet projektets natur Vi bør sikre os mod dette ved valg af udviklingsmodellen Mulige løsninger: Planlagte iterationer: kan blive svært at nå Intensivt kravspecifikationsarbejde med fiksering af kravspec.

Hvilken model skal vi vælge? Diskussion Hvilken model skal vi vælge? Hvilke elementer skal være fælles, og hvilke grænseflader skal vi trække? Hvordan forholder vi os til: fælles vision, fælles tidsplan, fælles logisk model af systemet (hvis relevant), fælles teknisk platform (hvor relevant), fælles værktøjer (versionsstyring, UML, dokument-skabelon, udviklingsmodel) logisk opdeling af system, fælles kravspecifikation (hvis relevant), overordnet deployment diagram Aftale om fælles indhold af de ugentlige statusrapporter

Workshop Udarbejdelse af fælles domæne model Alle grupper har forberedt et oplæg om dette Udarbejdelse af overordnet aktør-kontekst diagram Udarbejdelse af fælles deployment diagram

Herfra Hvad kunne I tænke jer at høre nærmere om på næste Workshop Mere Use Case Kravspec.?