Upload
lyquynh
View
213
Download
0
Embed Size (px)
Citation preview
JoãoPauloFernandes,[email protected],[email protected]
AnálisedeSistemas(AS)
AnoLecDvo2012/2013*1ºSemestre
CursodeLicenciaturaemTecnologiaseSistemasdeInformação
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
Aula3
1
JoãoPauloFernandes,[email protected],[email protected]
Previously...
Contentadaptedfrom
SystemsAnalysisandDesignwithUML,4thEdiDonInternaDonalStudentVersion
AlanDennis,BarbaraHaleyWixomandDavidTegarden,
Wiley,2012
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
2
JoãoPauloFernandes,[email protected],[email protected]
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
3
SystemsDevelopmentLifeCycle(SDLC)
Planning
Analysis
Design
ImplementaDon
JoãoPauloFernandes,[email protected],[email protected]
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
4
SystemsDevelopmentLifeCycle(SDLC)
Theprocessconsistsoffourphases
Eachphaseconsistsofaseriesofsteps
Eachphaseisdocumented(deliverables)
PhasesareexecutedsequenDally,incrementally,iteraDvelyorinsomeotherpa`ern
JoãoPauloFernandes,[email protected],[email protected]
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
5
QuesDonstobeAnsweredPlanningphase
Whyshouldwebuildthissystem?
Whatvaluedoesitprovide?
Howlongwillittaketobuild?
AnalysisphaseWhowilluseit?
Whatshouldthesystemdoforus?
Where&whenwillitbeused?
DesignphaseHowshouldwebuildit?
JoãoPauloFernandes,[email protected],[email protected]
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
6
SDLC:ThePlanningPhaseProjectIniDaDon
Develop/receiveasystemrequestConductafeasibilityanalysis
• Technicalfeasibility• Economicfeasibility• OrganizaDonalfeasibility
ProjectManagement(aherapproval)Developtheworkplanandproduceaprojectplan
Stafftheproject
Monitor&controltheproject
JoãoPauloFernandes,[email protected],[email protected]
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
7
SDLC:TheAnalysisPhaseDevelopananalysisstrategy
Modelthecurrentsystem
Formulatethenewsystem
GathertherequirementsDevelopasystemconcept
Createabusinessmodeltorepresent:• Businessdata
• Businessprocesses
Developasystemproposal
JoãoPauloFernandes,[email protected],[email protected]
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
8
SDLC:TheDesignPhase
Developadesignstrategyandproduceasystemspecifica>on
Designarchitecture(sw,hw,network)andinterfaces(userinterfaces,menus)
DevelopdatabasesandfilespecificaDons
Developtheprogramdesigntospecify:Whatprogramstowrite
Whateachprogramwilldo
JoãoPauloFernandes,[email protected],[email protected]
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
9
SDLC:TheImplementaDonPhase
ConstructthesystemBuildit(writetheprogrammingcode)
Testit
InstallsystemTraintheusers
Supportthesystem(maintenance)
JoãoPauloFernandes,[email protected],[email protected]
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
10
SDLC:MethodologiesMethodology:aformalizedapproachto
implemenDngtheSDLCFormalstandardsusedbygovernmentagencies;internally
developedbycompanies;developedandsoldasaproduct,…
Categories(Business)ProcessorientedDatacenteredObject‐orientedStructuredRapidacDondevelopmentAgiledevelopment
JoãoPauloFernandes,[email protected],[email protected]
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
11
ClassesofMethodologiesStructuredDevelopment(~1980)
WaterfallDevelopment(detailed,butlengthy)ParallelDevelopment(faster,butwithincreasedintegraDonefforts)
RapidApplicaDonDevelopment(~1990)(hardtomanageuserexpectaDons‐>growing#requirements)
PhasedPrototyping
AgileDevelopment(sDllunderdevelopment!Programming‐centric,modelinganddocumentaDonoverheadsareeliminated)
eXtremeProgrammingSCRUM
JoãoPauloFernandes,[email protected],[email protected]
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
12
TheSystemsAnalyst:SkillsAgentsofchange
IdenDfywaystoimprovetheorganizaDon
MoDvate&trainothers
Skillsneeded:Technical:mustunderstandthetechnology
Business:mustknowthebusinessprocesses
AnalyDcal:mustbeabletosolveproblems
CommunicaDons:technical&non‐technicalaudiences
Interpersonal:leadership&management
Ethics:dealfairlyandprotectconfidenDalinformaDon
JoãoPauloFernandes,[email protected],[email protected]
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
13
AnExpensiveFalseStartA real‐estate group in the federal government cosponsored a data wharehouse with the ITdepartment.Aformalproposalwaswri`enbyITinwhichcostswereesDmatedat$800,000,theproject duraDon was esDmated to be eight months, and the responsibility for funding wasdefinedasthebusinessunit’s.
The IT department proceeded with the project before it even knew if th project had beenaccepted.
Theprojectactuallylastedtwoyearsbecauserequirementsgatheringtookninemonthsinsteadofoneandahalf,theplanneduserbasegrewfrom200to2,500,andtheapprovalprocesstobuytechnology for the project took a year. Threeweeks prior to technical delivery, the IT directorcanceledtheproject.ThisfailedendeavorcosttheorganizaDonandtaxpayers$2.5million.
a) Whydidthissystemfail?b) Whywouldacompanyspendmoneyand>meonaproject
andthencancelit?c) Whatcouldhavebeendonetopreventthis?
JoãoPauloFernandes,[email protected],[email protected]
IntroducDonto
Object‐OrientedSystemsAnalysisandDesign
withUML
Contentadaptedfrom
SystemsAnalysisandDesignwithUML,4thEdiDonInternaDonalStudentVersion
AlanDennis,BarbaraHaleyWixomandDavidTegarden,
Wiley,2012
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
14
JoãoPauloFernandes,[email protected],[email protected]
CharacterisDcsofObject‐OrientedSystems
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
15
Classes&Objects
Object(instance):instanDaDonofaclass
A`ributes:informaDonthatdescribestheclass(Dpicallyprivate)
State:describesitsvaluesandrelaDonshipsatapointinDme
aStudent:Student
‐ Maria‐ 5thAvenue‐ 333333‐ {AS,BD,SO}
Student
‐Name‐Address‐ID‐CourseList
‐name()‐addCourse(Course)
InstanDaDon
JoãoPauloFernandes,[email protected],[email protected]
CharacterisDcsofObject‐OrientedSystems
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
16
Methods&MessagesMethods:thebehaviorofaclass
Messages:informaDonsenttoanobjecttotriggeramethod(procedurecall)
aStudent:Student
‐ Maria‐ 5thAvenue‐ 333333‐ {AS,BD,SO}
AddSItocourselist
JoãoPauloFernandes,[email protected],[email protected]
CharacterisDcsofObject‐OrientedSystems
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
17
EncapsulaDon&informaDonhidingEncapsulaDon:combinaDonofprocess&data
InformaDonhiding:funcDonalityishidden
aStudent:Student
‐ Maria‐ 5thAvenue‐ 333333‐ {AS,BD,SO}
AddSItocourselist
JoãoPauloFernandes,[email protected],[email protected]
CharacterisDcsofObject‐OrientedSystems
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
18
InheritanceGeneralclassesarecreated(superclasses)Subclassescaninheritdataandmethodsfromasuperclass
Person
StudentTeacher
Regular Erasmus
JoãoPauloFernandes,[email protected],[email protected]
CharacterisDcsofObject‐OrientedSystems
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
19
Polymorphism&dynamicbindingPolymorphism:thesamemessagecanhavedifferentmeanings
Dynamicbinding:typeofobjectisnotdeterminedunDlrun‐Dme
ContrastwithstaDcbinding
AddSItocourselist
Teacher
Student
JoãoPauloFernandes,[email protected],[email protected]
Object‐OrientedSystemsAnalysis&Design
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
20
A`emptstobalancedataandprocess
UDlizestheUnifiedModelingLanguage(UML)
CharacterisDcsofOOAD:Use‐caseDriven
ArchitectureCentricIteraDveandIncremental
JoãoPauloFernandes,[email protected],[email protected]
Object‐OrientedSystemsAnalysis&Design
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
21
Usecases:describehowusersinteractwiththesystemtoperformsome
acDvity(placinganorder,makingareservaDon,…)
Use‐casedrivenUse‐casesdefinethebehaviorofasystem
Eachuse‐casefocusesononebusinessprocess(simplicity)
JoãoPauloFernandes,[email protected],[email protected]
Object‐OrientedSystemsAnalysis&Design
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
22
Architecturecentric
FuncDonal(external)view:focusesontheuser’sperspecDve
StaDc(structural)view:focusesona`ributes,methods,classes&relaDonships
Dynamic(behavioral)view:focusesonmessagesbetweenclassesandresulDngbehaviors
JoãoPauloFernandes,[email protected],[email protected]
Object‐OrientedSystemsAnalysis&Design
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
23
IteraDve&incremental
UndergoesconDnuoustesDng&refinement
Theanalystunderstandsthesystembe`eroverDme
EachiteraDonbringsthesystemclosertorealuserneeds
JoãoPauloFernandes,[email protected],[email protected]
BenefitsofObject‐OrientedSystemsAnalysis&Design
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
24
Breakacomplexsystemintosmaller,moremanageablemodules
WorkonmodulesindividuallyandeasilypiecethemodulesbacktogethertofromandIS
SeethesystemmorerealisDcally—astheusersdo
JoãoPauloFernandes,[email protected],[email protected]ãoPauloFernandes,[email protected]
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca
Concept Supports Leadsto
Classes,objects,methodsandmessages
‐ AmorerealisDcwayforpeopletothinkabouttheirbusiness‐ Highlycohesiveunitsthatcontainbothdataandprocesses
‐ Be`ercomunicaDonbetweenuserandanalyst‐ Reusableobjects
EncapsulaDonandinformaDonhiding
Looselycoupledunits ‐ Reusableobjects‐ Fewerrippleeffectsfromchangeswithinanobjectorthesystemitself
Inheritance Allowsustouseclassesandstandardtemplatesfromwhichotherclassescanbuild
‐ Lessredundancy‐ FastercreaDonofnewclasses‐ Standardsandconsistencywithinandacrossdevelopmentefforts
PolymorphismandDynamicBinding
Minimalmessagingthatisinterpretedbyobjectsthemselves
‐Simplerprogrammingofevents‐Easeinreplacingorchangingobjectsinasystem‐Fewerrippleeffectsfromchangeswithinanobjectorthesystemitself
Use‐casedrivenandusecases
AllowsusersandanalyststofocusonhowauserwillinteractwiththesystemtoperformasingleacDvity
‐Be`erunderstandingandgatheringofuserneeds‐Be`ercomunicaDonbetweenuserandanalyst
ArchitecturecentricandfuncDonal,staDc,anddynamicviews
ViewingtheevolvingsystemfrommulDplepointsofview
‐Be`erunderstandingandmodelingofuserneeds‐MorecompletedepicDonofinformaDonsystem
IteraDveand ConDnuoustesDngandrefinementof ‐MeeDngrealneedsofusers
25
JoãoPauloFernandes,[email protected],[email protected]
Object‐OrientedSystemsAnalysis&DesignwithUML
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
26
UMLprovidesacommonvocabularyofobject‐orientedtermsanddiagrammingtechniquesrich
enoughtomodelanysystemsdevelopmentprojectfromanalysisthroughimplementaDon
Version2.0has14diagramsin2majorgroups:– Structurediagrams– Behaviordiagrams
JoãoPauloFernandes,[email protected],[email protected]
Object‐OrientedSystemsAnalysis&DesignwithUML
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
27
UMLstructurediagrams
RepresentthedataandstaDcrelaDonshipsinaninformaDonsystem
ClassObjectPackageDeploymentComponentCompositestructure
JoãoPauloFernandes,[email protected],[email protected]
Object‐OrientedSystemsAnalysis&DesignwithUML
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
28
UMLBehaviorDiagrams
DepictthedynamicrelaDonshipsamongtheinstancesorobjectsthatrepresentthebusinessinformaDonsystem
AcDvity
Sequence
CommunicaDon
InteracDonoverview
Timing
Behaviorstatemachine
Protocolstatemachine
Use‐casediagrams
JoãoPauloFernandes,[email protected],[email protected]
Diagramname Usedto PrimaryPhase
StructureDiagrams
Class IllustratetherelaDonshipsbetweenthemodeledclasses Analysis,Design
Object IllustratetherelaDonshipsbetweenthemodeledobjects.Usedwhenactualinstancesofclasseswillbe`ercommunicatethemodel.
Analysis,Design
Package GroupotherUMLelementstoformhigherlevelconstructs Analysis,Design,ImplementaDon
Deployment Showthephysicalarchitectureofthesystem PhysicalDesign,ImplementaDon
Component IllustratethephysicalrelaDonshipsamongtheswcomponents PhysicalDesign,ImplementaDon
CompositeStructure Illustratetheinternalstructureofaclass Analysis,Design
BehavioralDiagrams
AcDvity Illustratebusinessworkflowsindependentofclasses,theflowofacDviDesinausecase,ordetaileddesignofamethod
Analysis,Design
Sequence Modelthebehaviorofobjectswithinausecase.Time‐based Analysis,Design
CommunicaDon Modelthebehaviorofobjectswithinausecase.FocusesonthecommunicaDonamongasetofcollaboraDngobjectsofanacDvity
Analysis,Design
InteracDonoverview Illustrateanoverviewoftheflowofcontrolofaprocess Analysis,Design
Timing IllustratetheinteracDonthattakesplaceamongasetofobjectsandthestatechangesinwhichtheygoalongaDmeaxis
Analysis,Design
BehavioralSM Examinethebehaviorofoneclass Analysis,Design
ProtocolSM Illustratethedependenciesamingthedifferentinterfacesofaclass Analysis,Design
Use‐Case CapturebusinessrequirementsforasystemandtoillustratetheinteracDonbetweenthesystemanditsenvironment
Analysis
JoãoPauloFernandes,[email protected],[email protected]
Summary
UNIVERSIDADEDABEIRAINTERIORFaculdadedeEngenhariaDepartamentodeInformáDca JoãoPauloFernandes,[email protected]
30
Object‐orientedsystemsdifferfromtradiDonalsystems
Object‐OrientedSystemsAnalysisandDesignusesause‐case‐driven, architecture‐centric, iteraDve, andincrementalinformaDonsystemsdevelopmentapproach
TheUnifiedModeling Language, orUML, is a standardset of diagramming techniques that can be used tosupportOOSAD