Chapter 8: System Design
Objectives Understand 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 Ideas The 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 Mistakes Reducing design time Feature creep Silver bullet syndrome Switching tools in mid-project
VERIFYING AND VALIDATING (V&V) THE ANALYSIS MODELS
Walkthroughs Peer reviews of models and diagrams created during analysis Conducted by teams of analysts, designers, and clients Main purposes: Test the fidelity of the models Uncover errors or faults Potential danger is that analysts be punished for errors uncovered
Functional Model V&V Events in Use Case descriptions should map to activities in the Activity Diagram Object node in an activity diagram must be mentioned in Use Case descriptions Sequential ordering within the Use Cases should match ordering in Activity Diagram There 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 diagram Include stakeholders listed in the use case description as actors in the use-case diagram All relationships listed in a use-case description must be portrayed on a use-case diagram
Structural Model V&V Every CRC card should be associated with a class on the class diagram Responsibilities listed on the CRC card must be operations in a class on a class diagram Collaborators on the CRC card imply some type of association on the class diagram Attributes listed on CRC cards must be  attributes in a class on a class diagram
Structural Model V&V (cont’d) Class attributes with a type that is another class imply a relationship between classes Relationships on the CRC cards must show up on the class diagram Use association classes only if the association has unique attributes not on either class
Behavioral Model V&V Actors & objects on sequence diagrams must be included on communication diagrams Messages on sequence diagrams require associations on communications diagrams Every message on a sequence diagram must appear as a message on an association in the corresponding communication diagram Guard conditions messages in sequence diagrams require equivalent guard conditions on the corresponding communication diagrams
Structural 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 diagram State machine transitions must be associated with a messages on sequence & communication diagrams All entries in a CRUD matrix imply a message being sent between an actor or object and another
EVOLVING THE ANALYSIS MODELS INTO DESIGN MODELS
Factoring Creating modules that account for similarities and differences between units of interest New classes Generalization Aggregation Abstracting Refinement
Partitions and Collaborations Creating “subsystems” or larger units Grouping units that collaborate May have collaboration among units or partitions The more messages or contracts between objects, the more likely they are in the same partition
Layers Consider system environment information to help evolve the analysis model Model-view-controller (MVC) architecture Separating application logic from user interface logic
5 Layers Foundation Problem Domain Data Management Human-Computer Interaction Physical Architecture
PACKAGES AND PACKAGE DIAGRAMS
Package A general construct that groups units together Used to reduce complexity of models A package diagram shows packages only
Package Diagram for 5 Layers
Building Package Diagrams 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
DESIGN STRATEGIES
Custom Development Allows for meeting highly specialized requirements Allows flexibility and creativity in solving problems Easier to change components Builds personnel skills May tax firm’s resources May add significant risk
Packaged Software Software already written May be more efficient May be more thoroughly tested and proven May range from components to tools to whole enterprise systems Must accept functionality provided May require change in how the firm does business May require significant “customization” or “workarounds”
System Integration The process of combining packages, legacy systems, and new software Key challenge is integrating data Write data in the same format Revise existing data formats Develop “object wrappers”
Outsourcing Hire external firm to create system May have more skills May extend existing resources Never outsource what you don’t understand Carefully choose vendor Prepare contract and payment style carefully
Selecting a Design Strategy Business need In-house experience Project skills Project management Time frame
Selecting a Design Strategy
DEVELOPING THE ACTUAL DESIGN
The Alternative Matrix Combines several feasibility analyses into one grid Revisits technical, economic, and organizational feasibility
Request for Proposals Description of the system you propose to be built Vendors, developers, service providers respond with proposals including how they will address needs as well as stating cost and time requirements.
Summary Verifying and Validating the Analysis Models Evolving the Analysis Models into Design Models Packages and Package Diagrams Design Strategies Developing the Actual Design

More Related Content

Viewers also liked (12)

PPT
Requirement analysis and specification, software engineering
PPTX
L4 RE Processes
PPT
A Conceptual Model for Building Requirements Processing
PPTX
L5 Dependability Requirements
PPTX
Requirements Engineering (CS 5032 2012)
PDF
Modelling Software Requirements: Important diagrams and templates (lecture sl...
PDF
Requirement Engineering
PDF
Requirement engineering process
PPT
Requirements Engineering Process
PPTX
Requirement Engineering Lec.1 & 2 & 3
PDF
Requirements Engineering
PPT
Requirement Engineering
Requirement analysis and specification, software engineering
L4 RE Processes
A Conceptual Model for Building Requirements Processing
L5 Dependability Requirements
Requirements Engineering (CS 5032 2012)
Modelling Software Requirements: Important diagrams and templates (lecture sl...
Requirement Engineering
Requirement engineering process
Requirements Engineering Process
Requirement Engineering Lec.1 & 2 & 3
Requirements Engineering
Requirement Engineering
Ad

Similar to Ch08 (20)

PPTX
Object Oriented System Design
PPT
Object Oriented Analysis & Design
PPTX
Software Development Life Cycle
PPT
3 analysis and design overview
PPT
OBJECT ORIENTED ANALYSIS FOR EASY UNDERSTANDING .ppt
PPT
Reqs analysis
PPTX
UNIT 01 SMD.pptx
PPT
Analysis modeling
PPTX
OOSD_UNIT1 (1).pptx
PPT
Unit-1 object oriented systems(OOSD) .ppt
PPSX
Process model rup
PPTX
Software Development Lifecycle: What works for you?
PPTX
clean architecture uncle bob AnalysisAndDesign.el.en.pptx
PDF
PDF
CS 123 Lecture 02 2023-2024.pdf take it s
PPTX
My talk at PMI Sweden Congress 2013 on Agile and Large Software Products
PDF
Systems Analysis and Design with UML 3rd Edition Alan Dennis
PPT
Oose unit 4 ppt
ODP
BIS09 Application Development - III
Object Oriented System Design
Object Oriented Analysis & Design
Software Development Life Cycle
3 analysis and design overview
OBJECT ORIENTED ANALYSIS FOR EASY UNDERSTANDING .ppt
Reqs analysis
UNIT 01 SMD.pptx
Analysis modeling
OOSD_UNIT1 (1).pptx
Unit-1 object oriented systems(OOSD) .ppt
Process model rup
Software Development Lifecycle: What works for you?
clean architecture uncle bob AnalysisAndDesign.el.en.pptx
CS 123 Lecture 02 2023-2024.pdf take it s
My talk at PMI Sweden Congress 2013 on Agile and Large Software Products
Systems Analysis and Design with UML 3rd Edition Alan Dennis
Oose unit 4 ppt
BIS09 Application Development - III
Ad

More from 蕭美蓮 (19)

PPT
Ch01
PPT
Ch01
PPT
Ch14
PPT
Ch13
PPT
Ch12
PPT
Ch11
PPT
Ch10
PPT
Ch09
PPT
Ch07
PPT
Ch06
PPT
Ch05
PPT
Ch04
PPT
Ch03
PPT
Ch02
PPT
Ch10
DOCX
完整資料表
PPT
Web2
DOCX
專案管理心得
PPT
Acer1
Ch01
Ch01
Ch14
Ch13
Ch12
Ch11
Ch10
Ch09
Ch07
Ch06
Ch05
Ch04
Ch03
Ch02
Ch10
完整資料表
Web2
專案管理心得
Acer1

Ch08

  • 2. Objectives Understand 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.
  • 3. Key Ideas The 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”
  • 4. Avoiding Classic Design Mistakes Reducing design time Feature creep Silver bullet syndrome Switching tools in mid-project
  • 5. VERIFYING AND VALIDATING (V&V) THE ANALYSIS MODELS
  • 6. Walkthroughs Peer reviews of models and diagrams created during analysis Conducted by teams of analysts, designers, and clients Main purposes: Test the fidelity of the models Uncover errors or faults Potential danger is that analysts be punished for errors uncovered
  • 7. Functional Model V&V Events in Use Case descriptions should map to activities in the Activity Diagram Object node in an activity diagram must be mentioned in Use Case descriptions Sequential ordering within the Use Cases should match ordering in Activity Diagram There must be a one-to-one correspondence of Use Cases in the Use Case Diagram and Use Case descriptions.
  • 8. Functional Model V&V (cont’d) All actors listed in a use case description must be portrayed on the use-case diagram Include stakeholders listed in the use case description as actors in the use-case diagram All relationships listed in a use-case description must be portrayed on a use-case diagram
  • 9. Structural Model V&V Every CRC card should be associated with a class on the class diagram Responsibilities listed on the CRC card must be operations in a class on a class diagram Collaborators on the CRC card imply some type of association on the class diagram Attributes listed on CRC cards must be attributes in a class on a class diagram
  • 10. Structural Model V&V (cont’d) Class attributes with a type that is another class imply a relationship between classes Relationships on the CRC cards must show up on the class diagram Use association classes only if the association has unique attributes not on either class
  • 11. Behavioral Model V&V Actors & objects on sequence diagrams must be included on communication diagrams Messages on sequence diagrams require associations on communications diagrams Every message on a sequence diagram must appear as a message on an association in the corresponding communication diagram Guard conditions messages in sequence diagrams require equivalent guard conditions on the corresponding communication diagrams
  • 12. Structural 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 diagram State machine transitions must be associated with a messages on sequence & communication diagrams All entries in a CRUD matrix imply a message being sent between an actor or object and another
  • 13. EVOLVING THE ANALYSIS MODELS INTO DESIGN MODELS
  • 14. Factoring Creating modules that account for similarities and differences between units of interest New classes Generalization Aggregation Abstracting Refinement
  • 15. Partitions and Collaborations Creating “subsystems” or larger units Grouping units that collaborate May have collaboration among units or partitions The more messages or contracts between objects, the more likely they are in the same partition
  • 16. Layers Consider system environment information to help evolve the analysis model Model-view-controller (MVC) architecture Separating application logic from user interface logic
  • 17. 5 Layers Foundation Problem Domain Data Management Human-Computer Interaction Physical Architecture
  • 19. Package A general construct that groups units together Used to reduce complexity of models A package diagram shows packages only
  • 21. Building Package Diagrams 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
  • 23. Custom Development Allows for meeting highly specialized requirements Allows flexibility and creativity in solving problems Easier to change components Builds personnel skills May tax firm’s resources May add significant risk
  • 24. Packaged Software Software already written May be more efficient May be more thoroughly tested and proven May range from components to tools to whole enterprise systems Must accept functionality provided May require change in how the firm does business May require significant “customization” or “workarounds”
  • 25. System Integration The process of combining packages, legacy systems, and new software Key challenge is integrating data Write data in the same format Revise existing data formats Develop “object wrappers”
  • 26. Outsourcing Hire external firm to create system May have more skills May extend existing resources Never outsource what you don’t understand Carefully choose vendor Prepare contract and payment style carefully
  • 27. Selecting a Design Strategy Business need In-house experience Project skills Project management Time frame
  • 28. Selecting a Design Strategy
  • 30. The Alternative Matrix Combines several feasibility analyses into one grid Revisits technical, economic, and organizational feasibility
  • 31. Request for Proposals Description of the system you propose to be built Vendors, developers, service providers respond with proposals including how they will address needs as well as stating cost and time requirements.
  • 32. Summary Verifying and Validating the Analysis Models Evolving the Analysis Models into Design Models Packages and Package Diagrams Design Strategies Developing the Actual Design