Noter til dm529. Jonas Nyrup. 11. november 2011

Relaterede dokumenter
UML til kravspecificering

Eksempel: et ordresystem note 5 Lagdeling s. 1

Udvikling af IT-system til Midtby Delebilklub - Semesterprojekt 2008

Løsningsforslag til Camp Let. Case Beskrivelse: Camp Let

Spørgeskemaer. Øjvind Lidegaard Gynækologisk klinik Rigshospitalet

Assignment #5 Toolbox Contract

DM536. Rapport og debug

Udvikling af IT-system for Swarco Technology

Nye testteknikker fra ISTQB - direkte fra hylderne. Ole Chr. Hansen

Software Construction 1 semester (SWC) Spørgsmål 1

Lektion 3. Grundlæggende programmering i VR

Notater til Systemudvikling. Vidar Jon Bauge 2005

Udvikling af IT-system til TEK-BrobygningsCenter - Semesterprojekt 2009

Indhold. Side 2 af 26

FESD-standardiseringsgruppen Att: Palle Aagaard IT- og Telestyrelsen IT-strategisk kontor Holsteinsgade København Ø

Programmering i C. Lektion december 2008

Oversigt over artefakter

Undervisningsbeskrivelse

Vejledning til udviklingsprocessen for projekt 2

Eksempel: Skat i år 2000

Udvidelse og specialisering. Klassehierarkier. Nedarvningsterminologi. Interfaces. Statiske og dynamiske typer. Polymorfi. Abstrakte klasser.

Lilleby Kommunebibliotek

1. Resultater: Krav 1

Katrines Kælder Kasseapparat

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16,

2 Abstrakte datatyper.

Indholdsfortegnelse. Systembeskrivelse kapitel 3 Forretningslogik

Case: Svømmeklubben Delfinen

Lavet af Danni jensen og David Olsen

Brugergrænseflader i VSU

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007

SYSTEM DESIGN. 18. december 2012 [Mink Farm Rapport] Dette projekt bruger UP model, som er et krav for dette semesters projekt.

Miniprojekt i Programmering (MIP) for DAT2 og SW2, Forår 2012

Underbilag 14 C: Afprøvningsforskrifter til prøver og tests

Abstrakte datatyper C#-version

ITO Problemformulering Indledning Organisation og Ledelse Generel beskrivelse af logistik og produktionssystemer...

Real-time programming safety in Java and Ada

PUT og INPUT funktionerne

Objektorienteret Analyse & Design

Hovedrapport 1. 1 Prolog Forside Synopsis Forord Indholdsfortegnelse Læsevejledning... 7

Umbrello UML Modeller-håndbogen

Procedurer for styring af softwarearkitektur og koordinering af udvikling

Midtby Delbilklub. Reservation af delebiler

DM531 - Softwarearkitektur Projekt - TaxaTracer, Statisk Kort. Martin Dissing-Hansen Alexander Poopeiko Jens Riise Danielsen

Hvordan starter man ActivBoard op og tilslutter PC mv... 3 Hvordan tilslutter jeg min bærbare PC til ActivBoard?... 4

Elaboration fase 2. semester projekt Gruppe 4

Informatik C robotter

Lær Python - Dag 4, modul 1 Objektorienteret programmering

4 Basal Objekt-orienteret Programmering I.

Lektion 2. Grundlæggende programmering i VR

Hovedrapport 1. 1 Prolog Forside Synopsis Forord Indholdsfortegnelse Læsevejledning... 6

Kapitel 21: Softwarearkitektur designprincipper

ARBEJDET MED UDVIKLING AF EN AGIL STANDARDKONTRAKT

Algoritmer og invarianter

UML-Light (Note: UML-Light T133, ver. 2004) Finn Overgaard Hansen, IHA

På nedenstående billede skal du finde den figur som optræder nøjagtig 3 gange.

Software Design (SWD) Spørgsmål 1

Threads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java

Redskaber der kan kvalificere

Sammenlign og byt. Et eksempel på dokumentering af et program

SW01: Software Design. Gruppe 4

Introduktion til ActionScript

Struktureret system udvikling Minimodul 1: Introduktion, UML og use cases

Data load og udtræk. 2. iteration: implmentation (test af backend) PHP mysql. Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON

Bucket Airlines. SW02 Projekt. Gruppe 2:

Dm071 / Dm072 - Obligatorisk projekt 3: Design af model

DM507 Algoritmer og datastrukturer

Systemudviklingsprojekt for Kühne+Nagel

Bevisteknikker. Bevisteknikker (relevant både ved design og verifikation) Matematisk induktion. Matematisk induktion uformel beskrivelse

Metoder og produktion af data

Hvad er Objekter - Programmering

Fundamentale sprogbegreber

FRA USECASE TIL TESTCASE HP TEST BRUGERKONFERENCE, 10. APRIL 2014

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004

Generel projektbeskrivelse

Side 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5

DM507 Algoritmer og datastrukturer

Bevisteknikker (relevant både ved design og verifikation)

Dokument- og Sagsstyringssystem

ER-modellen. Databaser, efterår Troels Andreasen. Efterår 2002

Forelæsning Uge 3 Mandag

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

Sag og Dokument: Eksempel på brug af generelle egenskaber

Grådige algoritmer. Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Vejledning til: Mine aktiviteter (behandler)

Underbilag 2.5 Informationsmodel. Kommunernes Ydelsessystem

Koordinering. dopsys

Supermarkedsmodellen for design af brugergrænseflade

Miniprojekt2011. Formålet er at lære og indlære god objektorienteret programudvikling og programmering med Java, samt undervejs at opfylde studiekrav.

klient Webside Forespørgsel/ Nye data Python program Database kommando svar Database

Hassansalem.dk/delpin User: admin Pass: admin BACKEND

Skriftlig eksamen i Datalogi

Høringssvar vedr. Serviceinterface for Person

Projekt - Visual Basic for Applications N på stribe

Objektorienteret Programmering

Transkript:

Noter til dm529 Jonas Nyrup 11. november 2011 Indhold 1 Kravdisciplinen: Kravmodellen og Indfangning af Krav 2 1.1 (ikke)-funktionelle krav...................... 2 1.2 Kravattributter........................... 2 1.3 Indfangning............................. 3 1.4 UP (unified process)........................ 4 2 Kravdisciplinen: Brugsmønstermodellen 4 3 Analysedisciplinen: analyseklasser 4 4 Analysedisciplinen: Brugsmønsterrealisering 5 5 Designdisciplinen: designmodellen 6 6 Implementeringsdisciplinen: konvertering fra design til kode 6 1

1 Kravdisciplinen: Kravmodellen og Indfangning af Krav 1.1 (ikke)-funktionelle krav Metamodel: En overordnet model for benyttede modeller Funktionelle krav (Det skal systemet kunne) Ikke-funktionelle krav (Hvor, hvornår, hvordan) Kvalitetskrav Betingelser FURPS (Benyttes ofte til organisering af krav) Functionality Useability Reliability Performance Supportability +Design requirement +Implementation requirement +Interface requirement +Operations requirement +Legal requirement Formelle krav: Brug syntaksten <ID> Systemet skal <funktion> Pas på generalisering: alle, altid, aldrig, ingen 1.2 Kravattributter MoSCoW (fortæller om prioritering - nøjes med brugbare attributter) Must have (skal med i systemet) Should have (Vigtige, men kan udelades) Could have (Valgfrie, hvis tiden tillader) Would have (Udskydes til senere versioner) RUP (Rational Unified Process) Attribut Værdi Betydning 2

Status Foreslået Godkendt Afvist Inkluderet Fordel (benefit) Kritisk Skal implementeres Vigtig Kan udelades, men ikke uden at påvirke brugbarhed Nyttig Kan udelades, uden at påvirke systemets antagelighed Indsats (effort) Risiko Høj Medium Lav Estimat af tids- og resursebehov Stabilitet Høj Sandsynligheden for at kravet vil ændres Medium Lav Version 1.3 Indfangning Interview Den produkt-version som kravet skal være implementeret i Vær er et neutralt sted som f.eks. en café - så begge er afslappede og åbne Stil ikke ledende spørgsmål Stil ikke ja/nej-spørgsmål Udelad tanker om et komplet system, du skal finde krav Lyt og lær - det er kunden, der skal snakke Tålmodighed - Et godt interview er grundlaget for et godt program Spørgeskemaer er farlige Brug evt. workshop/brainstorming 3

1.4 UP (unified process) Kravdisciplinen har mest betydning i Inception- og Elaboration-faserne i UP Iterativ: Store problemer deles op i mindre letløselige problemer Inkrementel: Løsninger (iterationer) bygger videre på hinanden. 2 Kravdisciplinen: Brugsmønstermodellen Aktører: Aktørbeskrivelse Aktørgeneralisering Brugsmønstre: Brugmønsterdiagram Brugsmønsterspecifikation Main flow / alternative flows Brugsmønstergeneralisering «include» «extend» UP er brugmønsterstyret: Brugmønstre bruges direkte i udviklingen. 3 Analysedisciplinen: analyseklasser Analysedisciplin: Analyse er afdækning af analyseklasser, deres indbyrdes strukturer og interaktioner gennem Analyse af et brugsmønster" 4

Navneordsanalyse på brugsmønstre for at finde klasser Analysemodel: (analyse)klassediagram Attributter Associationer: relation mellem to klasser Multiplicitet: det antal objekter der kan deltage i en relation på ethvert tidspunkt Generalisering: Generel klasse med egenskaber og adfærdsmønstre, som er fælles for subklasser Pakker: gruppering af klasser i logiske kategorier. En pakke kan erstatte en mængde klasser i klassediagram Objekt: en instans af en klasse. På en klasse knytter sig attributter og metoder. En klasse beskriver (oftest) en aktør eller en genstand i problemdomænet. I UP er vi aktive i Elaborations-fasen. 4 Analysedisciplinen: Brugsmønsterrealisering UP-aktiviteten analyse af brugsmønstre er der hvor man laver brugsmønsterrealisering, der er en aktivitet, som opretter en del af det dynamiske over af systemet. Brugmønsterbeskrivelse: Tekstuel beskrivelse af systemsekvensdiagram Systemsekvensdiagram interaktion mellem bruger og system Sekvensdiagram Interaktioner mellem livslinier «create», «destroy» (lav/dræb objekter) if, loop synkron (ufyldt) pil - implicit svarpil asynkron (ikke-udfyldt) pil - kræver eksplicit svarpil (Side 247) Operator: operationer til at kontrolellere flow et (side 257) Systemfunktionskontrakt Knytter sig til sekvensdiagram Beskriver metoderne med ansvar, formål... 5

I brugsmønsterrealisering i Designdiciplinen tager højde for public/private og datatyper 5 Designdisciplinen: designmodellen Fastlægge hvordan funktionaliteten beskrevet i analyse-modellen skal implementeres. Designklassediagram Putter private/public, datatyper på variabler, input-/ouput-datatyper på metoder Aggregering: splitte klasser op i mindre klasser (pc og printer) Komposition: Uløseligt sammenbundne klasser (tv med indbygget video) Høj samhørighed Lav kobling Interface: kontrakt om hvilke metoder og attributter klasser skal indeholde. Designsekvensdiagram Putter datatyper på variabler, input-/ouput-datatyper på metoder UP: ligger midt mellem Elaboration og Konstruktion 6 Implementeringsdisciplinen: konvertering fra design til kode At konvertere designmodellen til et kørbart program Laver klasser, metoder, attributter i forhold til designklassediagram 6