Chapter 16: The Design Workflow Chapter 17: Design Classes

Slides:



Advertisements
Similar presentations
Software Architecture Design Chapter 12 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Activity Diagrams [Arlow and Neustadt, 2005] CS 425 / 625 Seminar on Software Engineering University of Nevada, Reno Department of Computer Science & Engineering.
Chapter 5: Advanced Use Case Modeling [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno Department of Computer Science.
Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno.
1 CS 426 Senior Projects Chapter 4: Use Case Modeling [Arlow and Neustadt, 2002] February 8, 2007.
1 CS 426 Senior Projects Chapter 19: Interfaces and Components [Arlow & Neustadt 2005] February 28, 2008.
1 CS 426/CPE 426 Senior Projects Chapter 5: Advanced Use Case Modeling [Arlow and Neustadt, 2002] February 13, 2007.
1 CS 691z/791z Topics on Software Engineering CS 691z/791z Topics on Software Engineering Software Processes Based on Chapter 4 of the book [SE-8] Ian.
Chapter 5: Advanced Use Case Modeling [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno Department of Computer Science.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] February 10, 2009.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
1 CS 426/CPE 426 Senior Projects Chapter 5: Advanced Use Case Modeling [Arlow and Neustadt, 2005] February 14, 2008.
1 CS 426 Senior Projects Chapter 4: Use Case Modeling [Arlow and Neustadt, 2005] February 5, 2009.
1 CS 691z / 791z Topics on Software Engineering Chapter 17: Interfaces and Subsystems [Arlow & Neustadt, 2002] March 6, 2007.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
The Design Discipline.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Logical Architecture and UML Package Diagrams 徐迎晓 复旦大学软件学院.
Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 18. Review User interface Design principles Design Guidelines.
Object Oriented Analysis & Design & UML (Unified Modeling Language)1 Part V: Design The Design Workflow Design Classes Refining Analysis Relationships.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Design Deriving a solution which satisfies software requirements.
Systems Analysis and Design in a Changing World, 3rd Edition
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
Design Analysis builds a logical model that delivers the functionality. Design fully specifies how this functionality will be delivered. Design looks from.
Chapter 4: Use Case Modeling [Arlow and Neustadt, 2005] CS 790M Project preparation (II) University of Nevada, Reno Department of Computer Science & Engineering.
Design CIS 4800 Kannan Mohan Department of CIS Zicklin School of Business, Baruch College Copyright © 2009 John Wiley & Sons, Inc. Copyright © 2008 Course.
Chapter 19: Interfaces and Components [Arlow and Neustadt, 2005] University of Nevada, Reno Department of Computer Science & Engineering.
Chapter 14: Activity Diagrams November 2015 [Arlow and Neustadt, 2005] CS 425/625 Senior Projects University of Nevada, Reno Department of Computer Science.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Chapter 6: The Analysis Workflow Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426 Senior Projects in.
Basic Characteristics of Object-Oriented Systems
Chapter 9: Relationships Chapter 10: Inheritance and Polymorphism [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada,
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
Design Concepts ch-8
CSE784 – Software Studio Jim Fawcett Fall 2002.
UML Diagrams: Class Diagrams The Static Analysis Model
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Chapter Nine The Strategy Pattern
Chapter 4: Use Case Modeling
Software Design AITI GP John Paul Vergara.
SOFTWARE DESIGN AND ARCHITECTURE
CS 691z / 791z Topics on Software Engineering
Chapter 3: The Requirements Workflow
Chapter 19: Interfaces and Components
CS 426 Senior Projects Chapter 9: Relationships
Chapter 18: Refining Analysis Relationships
Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes
Chapter 5: Advanced Use Case Modeling
Chapter 4: Use Case Modeling
Chapter 14: Activity Diagrams
Software Engineering Lecture #45
Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes
Chapter 19: Interfaces and Components
Chapter 19: Interfaces and Components
Chapter 14: Activity Diagrams
Chapter 4: Use Case Modeling
Chapter 14: Activity Diagrams
Design Yaodong Bi.
Interfaces and Components
Design.
Chapter 19: Interfaces and Components
Logical Architecture & UML Package Diagrams
Presentation transcript:

Chapter 16: The Design Workflow Chapter 17: Design Classes CS 426 Senior Projects in Computer Science Chapter 16: The Design Workflow Chapter 17: Design Classes [Arlow and Neustadt, 2005] University of Nevada, Reno Department of Computer Science & Engineering

Outline The design workflow The design metamodel Design workflow details UP activity: architectural design UP activity: design a class Anatomy of a design class Well-formed design classes Inheritance, templates, & nested classes

The Design Workflow Chapter 16 roadmap

The Design Workflow Design emphasized in Elaboration and Construction phases

The Design Metamodel

The Design Metamodel

The Design Metamodel Design models are made up of Design subsystems Design classes Interfaces Use case realizations (design) [An early] deployment diagram

Artifact Trace Relationships

Should We Maintain Two Models?

Should We Maintain Two Models? The analysis view is useful for: Introducing new people to the project Understanding the system long time after delivery Understanding how the system satisfies requirements Providing requirements traceability Planning maintenance and evolution Understanding the logical architecture of the system Outsourcing the construction of the system

Should We Maintain Two Models? Guidelines: An analysis view should be preserved for large, complex, strategic, potentially long-lived systems Is the system is small, not strategic, or has a short expected life, separate analysis and design models might be overkill Caution though: many systems long outlive their projected life span

Design Workflow Detail

UP Activity: Architectural Design

Chapter 17 Roadmap

UP Activity: Designing a Class

What Are Design Classes?

Anatomy of a Design Class

Well-formed Design Classes Characteristics of well-formed design classes Complete and sufficient Primitive High cohesion Low coupling

Inheritance Aggregation versus inheritance Inheritance is the strongest form of coupling Encapsulation is weak within a class hierarchy (fragile base class problem) Inheritance is the most inflexible type of relationship

Inheritance

Multiple Inheritance

Templates

Templates

Templates

Templates

Nested Classes