análise de sistemas (as) - departamento de informáticangarcia/aulas/asi1213/ubi asi 1213 aula...

30
João Paulo Fernandes, [email protected] Nuno M. Garcia, [email protected] Análise de Sistemas (AS) Ano LecDvo 2012/2013 * 1º Semestre Curso de Licenciatura em Tecnologias e Sistemas de Informação UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de InformáDca João Paulo Fernandes, [email protected] Aula 3 1

Upload: lyquynh

Post on 18-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

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