Kiến trúc máy tính và hợp ngữ - Chapter 8: Moving on to design
Set the context
Cluster classes together based on shared relationships
Model clustered classes as a package
Identify dependency relationships among packages
Place dependency relationships between packages
32 trang |
Chia sẻ: huyhoang44 | Lượt xem: 689 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Kiến trúc máy tính và hợp ngữ - Chapter 8: Moving on to design, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chapter 8:Moving on to DesignObjectivesUnderstand the verification and validation of the analysis models.Understand the transition from analysis to design.Understand the use of factoring, partitions, and layers.Be able to create package diagrams.Be familiar with the custom, packaged, and outsource design alternatives.Be able to create an alternative matrix.Key IdeasThe purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase is to figure out how to provide it.The steps in both analysis and design phases are highly interrelated and may require much “going back and forth”Avoiding Classic Design MistakesReducing design timeFeature creepSilver bullet syndromeSwitching tools in mid-projectVERIFYING AND VALIDATING (V&V) THE ANALYSIS MODELSWalkthroughsPeer reviews of models and diagrams created during analysisConducted by teams of analysts, designers, and clientsMain purposes:Test the fidelity of the modelsUncover errors or faultsPotential danger is that analysts be punished for errors uncovered Functional Model V&VEvents in Use Case descriptions should map to activities in the Activity DiagramObject node in an activity diagram must be mentioned in Use Case descriptionsSequential ordering within the Use Cases should match ordering in Activity DiagramThere must be a one-to-one correspondence of Use Cases in the Use Case Diagram and Use Case descriptions.Functional Model V&V (cont’d)All actors listed in a use case description must be portrayed on the use-case diagramInclude stakeholders listed in the use case description as actors in the use-case diagramAll relationships listed in a use-case description must be portrayed on a use-case diagramStructural Model V&VEvery CRC card should be associated with a class on the class diagramResponsibilities listed on the CRC card must be operations in a class on a class diagramCollaborators on the CRC card imply some type of association on the class diagramAttributes listed on CRC cards must be attributes in a class on a class diagramStructural Model V&V (cont’d)Class attributes with a type that is another class imply a relationship between classesRelationships on the CRC cards must show up on the class diagramUse association classes only if the association has unique attributes not on either classBehavioral Model V&VActors & objects on sequence diagrams must be included on communication diagramsMessages on sequence diagrams require associations on communications diagramsEvery message on a sequence diagram must appear as a message on an association in the corresponding communication diagramGuard conditions messages in sequence diagrams require equivalent guard conditions on the corresponding communication diagramsStructural Model V&V (cont’d)The sequence number on message labels in communications diagrams must correspond to the top-down ordering of the messages being sent on the sequence diagramState machine transitions must be associated with a messages on sequence & communication diagramsAll entries in a CRUD matrix imply a message being sent between an actor or object and anotherEVOLVING THE ANALYSIS MODELS INTO DESIGN MODELSFactoringCreating modules that account for similarities and differences between units of interestNew classesGeneralizationAggregationAbstractingRefinementPartitions and CollaborationsCreating “subsystems” or larger unitsGrouping units that collaborateMay have collaboration among units or partitionsThe more messages or contracts between objects, the more likely they are in the same partitionLayersConsider system environment information to help evolve the analysis modelModel-view-controller (MVC) architectureSeparating application logic from user interface logic5 LayersFoundationProblem DomainData ManagementHuman-Computer InteractionPhysical ArchitecturePACKAGES AND PACKAGE DIAGRAMSPackageA general construct that groups units togetherUsed to reduce complexity of modelsA package diagram shows packages onlyPackage Diagram for 5 LayersBuilding Package DiagramsSet the contextCluster classes together based on shared relationshipsModel clustered classes as a packageIdentify dependency relationships among packagesPlace dependency relationships between packagesDESIGN STRATEGIESCustom DevelopmentAllows for meeting highly specialized requirementsAllows flexibility and creativity in solving problemsEasier to change componentsBuilds personnel skillsMay tax firm’s resourcesMay add significant riskPackaged SoftwareSoftware already writtenMay be more efficientMay be more thoroughly tested and provenMay range from components to tools to whole enterprise systemsMust accept functionality providedMay require change in how the firm does businessMay require significant “customization” or “workarounds”System IntegrationThe process of combining packages, legacy systems, and new softwareKey challenge is integrating dataWrite data in the same formatRevise existing data formatsDevelop “object wrappers”OutsourcingHire external firm to create systemMay have more skillsMay extend existing resourcesNever outsource what you don’t understandCarefully choose vendorPrepare contract and payment style carefullySelecting a Design StrategyBusiness needIn-house experienceProject skillsProject managementTime frameSelecting a Design StrategyUse Custom Development whenUse a Packaged System whenUse Outsourcing whenBusiness NeedThe business need is uniqueThe business need is commonThe business need is not core to the businessIn-house ExperienceIn-house functional and technical experience existsIn-house functional experience existsIn-house functional or technical experience does not existProject SkillsThere is a desire to build in-house skillsThe skills are not strategicThe decision to outsource is a strategic decisionProject ManagementThe project has a highly skilled project manager and a proven methodologyThe project has a project manager who can coordinate vendor’s effortsThe project has a highly skilled project manager at the level of the organization that matches the scope of the outsourcing dealTime frameThe time frame is flexibleThe time frame is shortThe time frame is short or flexibleDEVELOPING THE ACTUAL DESIGNThe Alternative MatrixCombines several feasibility analyses into one gridRevisits technical, economic, and organizational feasibilityRequest for ProposalsDescription of the system you propose to be builtVendors, developers, service providers respond with proposals including how they will address needs as well as stating cost and time requirements.SummaryVerifying and Validating the Analysis ModelsEvolving the Analysis Models into Design ModelsPackages and Package DiagramsDesign StrategiesDeveloping the Actual Design
Các file đính kèm theo tài liệu này:
- ch08_2524.ppt