uml design & modelling - telemark university...

25
Week Assignment UML Design & Modelling Hans-Petter Halvorsen B. Lund. Lunch. Available: http://www.lunchstriper.no, http://www.dagbladet.no/tegneserie/lunch/ 2017.01.31

Upload: lynhan

Post on 18-Mar-2018

230 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

WeekAssignmentUMLDesign&Modelling

Hans-PetterHalvorsenB.Lund.Lunch.Available:http://www.lunchstriper.no,http://www.dagbladet.no/tegneserie/lunch/

2017.01.31

Page 2: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

WeekAssignment1. CreateUMLdiagramsforyourpartofthe

systemandtheoverallsystem.2. StartImplement/UpdateCodeaccordingtothe

UMLDesignTheUMLdiagramswithdescriptionsshouldbepartoftheRequirementsandDesigndocument(s):SRS/SDD→SRD

SeeNextSlidesformoredetails...

AllDocuments,Code,etc.shouldbeuploadedtoVisualStudioTeamServices(VSTS)

Page 3: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

Introduction

Hans-PetterHalvorsen,M.Sc.

UMLDesign&Modelling

Page 4: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

RequirementsAnalysis

Design

Implementation

Testing

Maintenance

PlanningDeployment

SRS

SDD

STD

Code

InstallationGuides

UserGuides

GanttChart

withERDiagram,UMLDiagrams,CADDrawings

TestDocumentation

SoftwareRequirementsSpecifications

SoftwareDesignDocumentsSystemDocumentation

TestPlan

ProjectPlanning

End-UserDocumentation

SystemDocumentation

SoftwareTestDocumentation

SDPSoftwareDevelopment

Plan

GanttChart

TheSoftwareDevelopment

Lifecycle(SDLC)

Page 5: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

WhyspendtimeonRequirements&Design?

SoftwareDevelopmentLifeCycle(SDLC)

Costperdefectsandchanges

Page 6: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

TypicalSoftwareDocumentation

High-LevelRequirementsandDesignDocuments

UserManuals

SystemDocumentation

InstallationGuides

TestPlans

TestDocumentation

DetailedRequirementsandDesignDocuments

ERDiagram(Database)UMLDiagrams(Code)

Time

Start

Finish

HowtoTest/WhattoTest

CADDrawings,etc.

1.Planning

2.Testing

3.End-userDocumentation(Thepeoplethatshallactuallyusethesoftware)

TechnicalStuff

Howtouseit

Howtoinstallit

Proofthatyouhavetestedandthatthesoftwareworksasexpected

(Thestakeholders,thesoftwareteam;architects,UXdesigners,developers)

(QApeople)

(SuperUser/ITdep.)

WHATHOW

(EndUser)ProjectM

anagem

ent(Ga

nttC

hart,etc.)

(SRS)(SDD)

(STP)(STD)

SoftwareDevelopmentPlan (SDP)

2.Requierements/Design

Page 7: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

SoftwareRequirements&DesignRequirements(WHAT):• WHAT thesystemshoulddo• DescribewhatthesystemshoulddowithWordsandFigures,etc.• SRS – SoftwareRequirementsSpecificationSoftwareDesign(HOW):• HOW itshoulddoit• Examples:GUIDesign,UML,ERdiagram,CAD,etc.• SDD – SoftwareDesignDocument

Note!Manydon'tseparateSRSandSDDdocuments,butincludeeverythinginaRequirements&DesignDocument(SRD).èInpractice,RequirementsandDesignareinseparable.

Page 8: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

SRS/SDDDocument(s)

DatabaseDiagram(s)

UMLDiagrams

WrittenHigh-LevelRequirements

SystemSketches,FlowCharts,etc.

CADDrawings

DiagramsasFigures+Descriptionsofeach

DiagramsasFigures+OverallDescriptionsanddescriptionsforeachtable

DiagramsasFigures+Descriptionsofeach

DesignSketches-bothSystemArcitecture

andGUImockups

UseCaseDocument?

etc.

etc.

Usefulwhenyourprojectinvolveshardware

RequirementsAnalysis

Page 9: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

Documents

ThefollowingDocumentsshouldbe“finished”*withinthisWeekAssignment!• SoftwareDevelopmentPlan(SDP)• SoftwareRequirementsandDesign(SRD)

*Buttheycanandshouldbecontinuouslyupdatedthroughouttheprojectchangesoccur

Page 10: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams
Page 11: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

UML• ThefollowingUMLdiagramsforyoursystemshouldbecreated:1. UseCase Diagrams2. Sequence Diagrams3. Class Diagrams

• UMLTools:WewilluseVisualStudioEnterprise(orMSVisio)asourUMLTool.

• IncludetheUMLdiagramsaspartofyourrequirementsanddesigndocument(s)

SeeNextSlidesformoredetails...

Page 12: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

CreatingUML- ApracticalApproach

WrittenRequirements

UseCaseDiagramsCreateUseCasesfromyour

writtenRequirements

Agraphical/visualrepresentationoftheRequirements

WHATthesystemshalldo

SequenceDiagrams

HOW

WHAT

DESIGN

TypicallycreateoneSequenceDiagramforeachUseCase

ClassDiagram

YougettheClassNamesfromthedifferentSequenceDiagrams

12

34

CreateoneClassDiagramthatgivesanoverviewofallyourclassesandtherelationshipbetweenthem

HOW

Interactionsbetweenasystemanditsenvironment

Page 13: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

WhyuseUML?• Design

– ForwardDesign:doingUMLbeforecoding.Makesiteasiertocreatethecodeinastrucured manner

– BackwardDesign:doingUMLaftercodingasdocumentation

– WhendoingchangesintheDesign,makesuretoupdatetheCodeaccordingtothenewDesign

• Code– SomeToolscanAuto-generateCodefromUML

diagrams– WhendoingchangesintheCode,makesureto

updatetheUMLDiagrams

http://geek-and-poke.com

Page 14: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

UMLResources• Mer omUML:http://slideplayer.no/slide/2081288/• Modellering av objektorienterte systemer:

http://aitel.hist.no/fag/oos/lek02/oos-ls-modellering.pdf• AnIntroductiontoUMLinSoftwareEngineering:

http://home.hit.no/~hansha/documents/subjects/IA4412/resources/uml/BScIaSysEngUML.pdf

• ...

Page 15: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

TypesofUMLDiagrams

http://en.wikipedia.org/wiki/Unified_Modeling_Language

Page 16: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

UMLDiagramsMainDiagrams:• RequirementsAnalysisPhase(WHAT):

1. UseCaseDiagrams• DesignPhase(HOW):

2. SequenceDiagrams(TypicallyoneSequencediagramforeachUseCase)

3. ClassDiagrams(justoneClassdiagramintotal)

Page 17: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

UseCaseDiagram

http://en.wikipedia.org/wiki/Use_case

UseCaseExampleforaRestaurant:

Ausecaseisalistofsteps,typicallydefininginteractionsbetweenarole(knowninUMLasan"actor")andasystem,toachieveagoal.

Theactorcanbeahumanoranexternalsystem.

Actor

UseCase

Page 18: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

SequenceDiagram

http://en.wikipedia.org/wiki/Sequence_diagram

Page 19: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

ClassDiagram

19http://en.wikipedia.org/wiki/Class_diagram

Page 20: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

UMLinVisualStudioEnterprise

http://channel9.msdn.com/Series/Visual-Studio-2012-Premium-and-Ultimate-Overview/Visual-Studio-Ultimate-2012-Improving-architecture-through-modeling

Page 21: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

UseCaseandScrum(Agile)• TheTeamworkscloselytogetherwiththeProductOwner

• Lessneedfordetaileddescriptionsandrequirements

• Agile/ScrumusesUserStoriesinstead(whichcouldbeconsideredasalightversionofUseCase)

• TheUserStoriesarethebasefortheProductBacklogandtheSprintBacklog

Page 22: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

UMLSummary• YoushouldcreateDesignandSpecifications(includingUML)before

youstartCoding• ButUMLcanalsobeusedtodocumentyourcodeafterwards

(ReverseEngineering)• UMLdiagramsisageneralmethod/standardtodojustthat• Thismakesiteasiertocreatestructuredcode• Agoodwaytodocumentyourcodeproperly.• Coderefactoring:UseUMLaspartofthecontinuouscode

improvementsprocess• Note!Ifyouupdatethecode,makesuretoupdatetheUMLandvice

versa!

Page 23: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams
Page 24: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

Coding• MaketheoverallCodeStructureaccordingtotheUMLDesign

• StartcreatingClasses,etc.accordingtoyourUMLdesign

• MakesurethatyoucodereflectstheUMLdesignregardingclasses,etc.Ifyouupdateyourcode,youneedtoupdatetheUMLdiagramsandviceversa.

• Itisimportantthatwehaveaworkingsoftwareatalltimes(soitcanbereviewed,tested,etc.)!

Page 25: UML Design & Modelling - Telemark University Collegehome.hit.no/~hansha/documents/subjects/IA4412/week_assignments... · UML Design & Modelling ... Database Diagram(s) UML Diagrams

Hans-PetterHalvorsen,M.Sc.

UniversityCollegeofSoutheastNorwaywww.usn.no

E-mail:[email protected]:http://home.hit.no/~hansha/