SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 7 Requirements and Domain Classes SWE 316: Software Design and Architecture.

Slides:



Advertisements
Similar presentations
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture # 16 Finalizing the Application Design SWE 316: Software Design and.
Advertisements

INFO415 Approaches to System Development: Part 1
Object-Oriented Analysis and Design
Chapter 1 Object Oriented Analysis and Design. UML, Patterns, and Object-Oriented Analysis and Design  The essential skills for the creation of well-designed,
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Design 15 February. Software Engineering: Elaborated Steps Concept (contract, intro on web site) Requirements (use cases, requirements) Architecture Design.
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
The case study ‘Encounter’ Section ‘About case studies’ 4 th Workshop “Software Engineering Education and Reverse Engineering” Zagreb, 5 – 12 September.
Itntroduction to UML, page 1 Introduction to UML.
Introduction To System Analysis and design
UML - Development Process 1 Software Development Process Using UML (2)
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture # 05: Design Principles I - Correctness and Robustness SWE 316: Software.
Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.
REQUIREMENTS ANALYSIS II
DESIGN 2: DETAILED DESIGN
Software Engineering CS B Prof. George Heineman.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
Chapter 10 Introduction to Components. Process Phases Discussed in This Chapter Requirements Analysis Design Implementation ArchitectureFramework Detailed.
Prologue: The Software Process. Main Phases of Software Process 1. Requirements Analysis (answers “WHAT?”) Specifying what the application must do 2.
Lecture # 06 Design Principles II
Lecture 9 Architectures and Frameworks
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Chapter 13 Requirements and Domain Classes. Process Phases Discussed in This Chapter Requirements Analysis Design Implementation ArchitectureFrameworkDetailed.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
REQUIREMENTS ANALYSIS. Initialize Use Case for Encounter Encounter foreign character player designer Set rules actors Encounter Travel to adjacent area.
OHTO -99 SOFTWARE ENGINEERING LECTURE 5 Today: - An overview to OO Analysis and OO Design - Introduction of Assignment 2.
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Systems Analysis and Design in a Changing World, 3rd Edition
The Systems Development Life Cycle
Object-Oriented Analysis and Design Fall 2009.
1. The Context of Software Engineering. Definition of “Engineering” The profession in which a knowledge of the mathematical and natural sciences gained.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
SWE 316: Software Design and Architecture Objectives Lecture # 18 Introduction to Components SWE 316: Software Design and Architecture To learn:  benefits.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
Systems Analysis and Design in a Changing World, Fourth Edition
ANU comp2110 Software Design lecture 5 COMP2110 Software Design in 2003 lecture 5 Requirements Specifications lecture 3 of 3 The Encounter game case study.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 13 Creational Design Pattern SWE 316: Software Design and Architecture.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Project Deliverables CEN Engineering of Software 2.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
© 2010 John Wiley & Sons Ltd. Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
ANU comp2110 Software Design lecture 8 COMP2110 Software Design in 2004 lecture 8 Software Architecture 1 of 2 (design, lecture 3 of 6) Goal of this small.
COMP2110 Software Design in 2003 ● a(nother) framework for Software Engineering ● the Software Engineering ideas and concepts in comp2110 ● Organisation.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
CSC480 Software Engineering Lecture 7 September 16, 2002.
4 REQUIREMENTS ANALYSIS II. Plan project Integrate & test system Analyze requirements Design Maintain Test unitsImplement Software Engineering Roadmap:
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Use Case, Component and Deployment Diagrams University of Sunderland.
Object Oriented Analysis & Design By Rashid Mahmood.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
CSC 480 Software Engineering
…… Notes …… Lecture 06 - Measurements and Metrics in Design
…… Notes …… Lecture 8: Structural Design Patterns Monday Nov 05, 2012
UML Diagrams: Class Diagrams The Static Analysis Model
Modelling Concepts Based on Chapter 5 Bennett, McRobb and Farmer
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
…… Notes …… Lecture 2: Design Attributes and Goals
COMP2110 Software Design in 2004 lecture 09 High level design
Chapter 13 Requirements and Domain Classes
4 REQUIREMENTS ANALYSIS CASE STUDY
RPG Video Game Architecture Packages -- showing domain classes only
Classes for Encounter Video Game
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Initialize Use Case for Encounter
Presentation transcript:

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 7 Requirements and Domain Classes SWE 316: Software Design and Architecture  Understand distinctions:  OO analysis vs. design  Traditional application development vs. OO analysis & design  Domain vs. non-domain classes Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission. Ch 13

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Process Phases Discussed in This Chapter Requirements Analysis Design Implementation ArchitectureFrameworkDetailed Design x Key:= secondary emphasis x = main emphasis OO Analysis and DesignObtaining Domain Classes1- Use Cases2- Sequence Diagrams3- Harvesting 2/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Relation of software architecture to other development tasks Applied Software Architecture by C. Hofmeister et al OO Analysis and DesignObtaining Domain Classes1- Use Cases2- Sequence Diagrams3- Harvesting 3/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser The Activities of Application Development 1.Gather requirements Specify Customer-oriented requirements specs Specify Developer-oriented requirement specs 2.Create design Select architecture Specify detailed design 3.Implement design Sec 13.1 OO Analysis and DesignObtaining Domain Classes1- Use Cases2- Sequence Diagrams3- Harvesting 4/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Characteristics of OO Analysis & Design  Approach is initially through the application’s domain classes (its “ingredients”) -- rather than its required functionality  Like starting a recipe by listing the ingredients  Typically obtain from introducing use cases then transforming these into sequence diagrams  Introduces domain classes at requirements time  Remaining classes at design time  Supports iterative development processes OO Analysis and Design Obtaining Domain Classes1- Use Cases2- Sequence Diagrams3- Harvesting 5/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser The basic OOA&D approach  Emphasis is on objects (state and behavior) [ingredients]  What is the application about?  Individual words (nouns) that answer the question are the domain classes OO Analysis and Design Obtaining Domain Classes1- Use Cases2- Sequence Diagrams3- Harvesting 6/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser The Basic OOA&D Approach 1.State the main use cases 2.Convert the use cases to sequence diagrams 3.Select the resulting (“domain”) classes refine select OO Analysis and Design Obtaining Domain Classes1- Use Cases2- Sequence Diagrams3- Harvesting 7/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Jacobson et al. list of the differences between OO analysis and design AnalysisDesign 1. Conceptual & abstract1. Concrete: implementation blueprint 2. Applicable to several designs2. Specific for an implementation 3. «control», «entity» & «boundary» stereotypes 3. No limit on class stereotypes 4. Less formal4. More formal 5. Less expensive to develop 5. More expensive to develop (  5×) 6. Outlines the design6. Manifests the design 7. Emerges from conceptual thinking7. May use tools (e.g. visual, round-trip engineering) 8. Few layers8. Several layers 9. Relatively unconstrained9. Constrained by the analysis & architecture OO Analysis and Design Obtaining Domain Classes1- Use Cases2- Sequence Diagrams3- Harvesting 8/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Seek domain classes from other sourcesGather domain classes Develop use cases with customer Convert use cases to sequence diagrams Introduce design patterns or components Finalize design (class model, use case model, ….) I. Requirements analysis phase II. Architecture phase III. Detailed Design phase Determine architecture Consider Framework (existing, modified, or new) OOA&D Roadmap (to be explained) OO Analysis and Design Obtaining Domain Classes1- Use Cases2- Sequence Diagrams3- Harvesting 9/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Case Study: Encounter (1/2)  Summary Specification:  Role-playing game which simulates all or part of the lifetime of the player's character.  Game characters not under the player’s control called "foreign" characters.  Game characters have a number of qualities such as strength, speed, patience etc.  Each quality has a value  Characters engage each other when in the same area. OO Analysis and DesignObtaining Domain Classes1- Use Cases2- Sequence Diagrams3- Harvesting 10/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Case Study: Encounter (2/2)  Summary Specification:  The result of an engagement depends on the area in which it takes place, and on the values of the characters’ relevant qualities  Players may reallocate the values of their qualities when the foreign character is absent  Reallocation takes effect after a delay  Success is measured by life points accumulated, by living as long as possible etc. OO Analysis and DesignObtaining Domain Classes1- Use Cases2- Sequence Diagrams3- Harvesting 11/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Encounter Area Configuration Dressing room Courtyard DungeonStudy Key:= connection Living room Kitchen Foreign Character Freddie’s Image OO Analysis and DesignObtaining Domain Classes1- Use Cases2- Sequence Diagrams3- Harvesting 12/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Obtaining Domain Classes Use Case Requirements Description Converting Use Cases to Sequence Diagrams Harvesting Domain Classes from Sequence Diagrams 13.3 OO Analysis and Design Obtaining Domain Classes 1- Use Cases2- Sequence Diagrams3- Harvesting 13/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser OOA&D Roadmap: Parts Discussed in This Section OO Analysis and Design Obtaining Domain Classes 1- Use Cases2- Sequence Diagrams3- Harvesting 14/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Use Case Requirements Description Engage foreign character player Set rules actors Travel to adjacent area Initialize 1. Application displays player’s main character in the dressing room. 2. Application displays a window for setting his character's qualities. 3. Player allocates the qualities of his main character. 4. Player chooses an exit from the dressing room. Initialize Use case titles Use case detail Designer “Initialize” Use Case for Encounter Case Study OO Analysis and DesignObtaining Domain Classes 1- Use Cases 2- Sequence Diagrams3- Harvesting 15/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Travel To Adjacent Area Use Case Initialize Encounter Travel to adjacent area Set rules Travel to Adjacent Area 1. Player hits hyperlink connecting displayed area to adjacent area. 2. Application displays the indicated adjacent area, including the player’s character. Engage foreign character Designerplayer Use Cases … are a beginning point for requirements and analysis. OO Analysis and DesignObtaining Domain Classes 1- Use Cases 2- Sequence Diagrams3- Harvesting 16/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Converting:Use Cases to Sequence Diagrams Player :Encounter- Game main player character: Player Character 1*.1 create and display 5. move Sequence Diagram for Initialize Use Case * Numbering keyed to use case 1.2 create and display 2. create and display 3.2 set quality values :Player quality window dressing room: Area 4. select exit for character 3.1 set quality values OO Analysis and DesignObtaining Domain Classes1- Use Cases 2- Sequence Diagrams 3- Harvesting 17/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser User :Connection Hyperlink 1.1 hit 1.2 display other area :AreaConnection :Area 2.1 display 2.2 display :PlayerCharacter Sequence Diagram for Travel to Adjacent Area Use Case OO Analysis and DesignObtaining Domain Classes1- Use Cases 2- Sequence Diagrams 3- Harvesting 18/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Harvesting Domain Classes from Sequence Diagrams OO Analysis and DesignObtaining Domain Classes1- Use Cases2- Sequence Diagrams 3- Harvesting 19/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Classes in Initialize Sequence Diagram EncounterGame - a class with a single object PlayerCharacter - with object mainPlayerCharacter Area - with object dressingRoom, and PlayerQualityWindow - a GUI class included to complete the use case. OO Analysis and DesignObtaining Domain Classes1- Use Cases2- Sequence Diagrams 3- Harvesting 20/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Harvesting Classes From the Sequence Diagrams Area PlayerForeignCharacter EncounterCharacter GameCharacterEngagement EncounterAreaConnection EngagementDisplay ConnectionHyperlink OO Analysis and DesignObtaining Domain Classes1- Use Cases2- Sequence Diagrams 3- Harvesting 21/22

SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Summary of This Chapter  OO Analysis = Requirements analysis + Domain class selection  Product = Complete requirements document + Domain class model + Basic sequence diagrams  OO Design = All other activities except coding  Product = Complete detailed design ready for coding  Traditional application development: Function-oriented  OO analysis & design: “Ingredients-oriented”  Domain classes = “Ingredients”  Obtained via use cases  sequence diagrams, and  Brainstorming / Editing process  Use domain classes to organize requirements OO Analysis and DesignObtaining Domain Classes1- Use Cases2- Sequence Diagrams3- Harvesting 22/22