Upload
hoangthuy
View
216
Download
2
Embed Size (px)
Citation preview
4/29/13
1
PreparedbyShahlizaAbdHalim
RecaponSDLCPhases&ArtefactsDomain Analysis
@ Business Process
Requirement
Analysis
Design
Implementation
Testing & Deployment
Maintenance & Evolution
Domain Model (Class Diagram)
1) Functional & Non-Functional requirement 2) Use Case diagram
1) System Sequence Diagram 2) Activity Diagram
1) Class Diagram (refined) 2) Detail Sequence Diagram 3) State Diagram
1) Application Source Code 2) User Manual Documentation
1) Test Cases 2) Prototype
1) Change Request Form
SRS
4/29/13
2
Domain Analysis
Requirement
Analysis
Early Design : Architectural Design
Detailed Design
Domain Model 1) Class Diagram
Requirement Models 1) Functional & Non-Functional requirement 2) Use Case diagram
Analysis Models 1) System Sequence Diagram 2) Activity Diagram
Architectural Models 1) Package Diagram (Subsystem)
Design Models 1) Class Diagram (refined) 2) Sequence Diagram (refined) 3) State Diagram
SRS
SDD
4/29/13
3
WWSdescrip>on(pg.180Sommerville)
• To help weather climate change and to improveaccuracy of weather forecast in remote areas;whichseveralhundredsweathersta>onaredeployintheiden>fiedareas.
• AWildernessWeather Sta>on (WWS) is a packageof soOware controlled instrumentswhich collectsdata,performssomedataprocessingandtransmitsthis data for further processing. The instrumentsinclude air and ground thermometers, ananemometer,awindvane,abarometerandaraingauge.Dataiscollectedperiodically.
5
WWSdescrip>on
• When a command is issued to transmit theweather data, theweather sta>onprocesses andsummarises the collected data. The summariseddataistransmiRedtothemappingcomputerwhenarequestisreceived.
4/29/13
6
WWSSUseCaseDiagram
11
Usecasedescrip>on—ReportStatusscenario
System WeatherstaQon
Usecase ReportStatus
Actors WeatherOperator
Descrip>on 1.Theweatheroperatorsendsasummaryoftheweatherdatathathasbeencollectedfromtheinstrumentsinthecollec>onperiodtotheweatherinforma>onsystem.2. Thedatasenttothemaximum,minimum,andaveragegroundandair
temperatures;3. Thedatasenttothebarometerarethemaximum,minimum,andaverage
airpressures;themaximum,minimum,andaveragewindspeeds;thetotalrainfall;andthewinddirec>onassampledatfive‐minuteintervals.
12
4/29/13
8
STAGE:EARLYDESIGN(ARCHITECTURALDESIGN)
Recap
• Architecturaldesign:– Thedesignprocessfor idenQfyingthesub‐systemsmaking up a system andtheframeworkforsub‐systemcontrolandcommunicaQon.
• It involves idenQfying major systemcomponentsandtheircommunicaQons.
• RepresentsthelinkbetweenspecificaQonanddesignprocesses.– Linkcanbeexplicitlydescribedbyhaving
traceability
4/29/13
9
RecaponArchitecturalDesignClassifica>on
ArchitecturalDesign
SystemOrganisa/on(Style/
Pa5ern)
RepositoryModel
Client‐ServerModel
Layered(Tiers)Model
Pipe&Filter
Model‐View‐ControllerControlStyle
Model
Centralised
Call‐Return
Manager
Event‐Driven Broadcast
Interrupt‐Driven
ModularComposi/on
Object‐Oriented
Func>on‐Oriented
Architecturaldesigndecisions(9QUESTIONS)
1. Whatapproachwillbeusedtostructurethesystem?(4+1views)2. Whatarchitecturalstylesareappropriate?(5basicstyles/paRerns:
Repository,Client‐Server,Layered,Pipe&Filter,MVC)3. Whatcontrolstrategyshouldbeused?(Centralisedvs.Event‐driven)4. Howwillthestructuralcomponentsbedecomposedinto
subcomponents?(Object‐orientedvs.Func>onal‐oriented/structured)5. IsthereagenericapplicaQonarchitecturethatcanbeused?
(Data|Transac>on|Event|LanguageProcessingapplica>on)6. Whatarchitecturalorganiza>onisbestfordeliveringthenonfuncQonal
requirements?(Performance|Security|Safety|Availability|Maintainability)
7. Howwillthesystembedistributed?(visualiseinDeploymentdiagram)8. Howwillthearchitecturaldesignbeevaluated?(ATAMmethod)9. Howshouldthearchitecturebedocumented?(SoOwareDesign
Document‐SDD)
18
4/29/13
10
Architecturaldesigndecision–architecturalstyle
Packagediagram
• Showshowthedesignisorganisedintologicallyrelatedgroupsofobjects.
• IntheUML,theseareshownusingpackages‐anencapsula>onconstruct.Thisisalogicalmodel.Theactualorganisa>onofobjectsinthesystemmaybedifferent.
• Inthiscasestudy,packagesisusedtologicallyorganisedlayers,packagesinlayersandclassdiagramineachpackages.
4/29/13
11
Layeredarchitecture–3layersforWWSSwithdependencyrela>onships
DependencyRela>onships
GuidelinetoDetermineClassesSuitableforLayersandPackages
A) FromObjectClassIden>fica>on
B) FromSequenceDiagram‐<<boundary>>,<<control>>and<<en>ty>>classes
4/29/13
12
A)FromObject‐ClassIden>fica>on• Useagramma>calapproachbasedonanatural
languagedescrip>onofthesystem(usedinOODmethod).– ObjectsandaRributesarenouns;opera>onsandservices
areverbs• Basetheiden>fica>onontangiblethingsinthe
applica>ondomain.– AircraO,roles(mangers,doctors),events(request,
response),loca>ons(offices),organiza>ons(UTM,FSKSM).
• Useabehaviouralapproachandiden>fyobjectsbasedonwhatpar>cipatesinwhatbehaviour.
• Useascenario‐basedanalysis.Theobjects,aRributesandmethodsineachscenarioareiden>fied.
ExampleObject–ClassIden>fica>onforWWSS
• Objectclassiden>fica>onintheweathersta>onsystemmaybebasedonthetangiblehardwareanddatainthesystem:1. Groundthermometer,Anemometer,Barometer
• Applica>ondomainobjectsthatare‘hardware’objectsrelatedtotheinstrumentsinthesystem.
2. WeatherstaQon• Thebasicinterfaceoftheweathersta>ontoitsenvironment.Itthereforereflectstheinterac>onsiden>fiedintheuse‐casemodel.
3. Weatherdata• Encapsulatesthesummarizeddatafromtheinstruments.
4/29/13
13
B)FromSequenceDiagram‐<<boundary>>,<<control>>and<<en>>y>>classes
PresentaQonLayer• Boundaryandcontrolclassesisrecommendedtobeintheapplica>on
layer• youcangrouptheclassesintoasuitablepackages–i.ebasedonyouruse
caseetc.
BusinessLogicLayer• En>tyclassesisrecommendedtobeinthebusinessservicelayer(control
classwithheavyprocessingetcisalsorecommendedinthislayer• Youcangrouptheclassesintoasuitablepackages
Middlewarelayer• Containscomponents,subsystemsorclasseswhichareusedfor
connec>ngtoexternalsystem,databases,orhardware.• Recommendedforlibrariesyouusetoconnectbetweendatabaseand
alsoyourapplica>on.Canbeanylibrariesyouusedi.ejavadevelopmentkitlibraryetc.
LayeredArchitectureStyle,PackageandClassesforWWSS
Layer
Packages:i.eData
DisplayandDataCollec>on
ClassesinData
Collec>onPackage
4/29/13
14
STAGE:DETAILEDDESIGNCLASSDIAGRAMRELATIONSHIPS,ATTRIBUTESANDOPERATIONSSTATEDIAGRAM
GuidelineforClassDiagramDetailDesign
A) DetermineClassDiagramRela>onshipsandOpera>onsusingSequenceDiagram
B) DetermineClassesARributesandopera>onsfromyourownunderstanding
4/29/13
15
A)DetermineClassDiagramRela>onshipsandOpera>onsusingSequenceDiagram
• Rela>onshipsareiden>fiedbyexamininginterac>ondiagrams– Iftwoobjectsmust“talk”theremustbeassocia>onrela>onshipsbetweentheclasses
– Opera>onaddStudent(String)isopera>onforCourseClass
Registra>onManager
Math101:Course
3:addstudent(joe)
addStudent(String)
ClassDiagramforPresenta>onLayer
4/29/13
16
B)DetermineClassesARributesandopera>onsfromyourownunderstanding
ClassesaRributesandopera>onsforWeatherInstrumentPackage
GuidelineforStateDiagram
• Noteveryclassneedsastatediagram• OOen:Statediagramnotverycomplexexceptfor
certainapplica>onsi.e.real‐>mesystems• StatediagramsareoOenusedforUIandcontrol
objects
32
AsanexampleWeatherSta>on
suitableforState
Diagram
4/29/13
17
Weathersta>onstatediagram
WeatherStaQonclass
WeatherStaQonstatediagram
TRACEBILITYBETWEENUSERREQUIREMENTS,USECASEANDDESIGN
4/29/13
18
Traceability
• Whenyoubuildormodelasystem,youstartatawithrequirementsandliRledetail.Then,youproceedtoalowerlevelofabstrac>on;forexample,toadesignwithmoredetail.
• Viewingthesystemfromdifferentlevelsofabstrac>oncanhelpstakeholderssuchasprojectmanagers,developers,andtestersbeRerunderstandhowthesystemworks.
• Youcantraceanelementineitheraforwardorbackwarddirec>on.
BackwardTraceabilitybetweenuserrequirements;usecaseandArchitectureDesignforWWSS
Userrequirements Usecase ArchitectureDesign
4/29/13
19
Traceabilitytable
Requirement Source / ID Use Case Realization Design Reference
Requirement Source / ID
The Unique Requirement ID / System Requirement Statement where the requirement is referenced in the Software Requirement Specification Document
Use case realization Describe which use case related to the user requirements
Design Reference Specify subsystem which can be traced back to the use case
TraceabilityTable
RequirementsIDD UseCaseRealizaQon DesignReference
REQ11
RetrieveWeatherReport DataCollec>onREQ12
REQ13
REQ024 ManageDataArchive DataArchiving
REQ031 Restart,Shutdown,Powersave,
RemoteControl,ReconfigureInstuments
HardwareInterface
… Reportstatus DataDisplay
…. …. …..