Design.

Slides:



Advertisements
Similar presentations
By Philippe Kruchten Rational Software
Advertisements

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
Use Case Analysis – continued
Architectural Design, Distributed Systems Architectures
IV&V Facility Model-based Design Verification IVV Annual Workshop September, 2009 Tom Hempler.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
Objectives Design Class Diagrams Issues in system design Generalization Review UML papers.
INFO 355Week #61 Systems Analysis II Essentials of design INFO 355 Glenn Booker.
The Design Discipline.
UML - Development Process 1 Software Development Process Using UML (2)
ANALYSIS REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Architectural Design, Distributed Systems Architectures
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
An Introduction to Software Architecture
Software Engineering Chapter 8 Fall Analysis Extension of use cases, use cases are converted into a more formal description of the system.Extension.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architecting Web Services Unit – II – PART - III.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Software Engineering CSC 342/Dr. Ghazy Assassa Chapter 10, Architectural Design “Sommerville +.. “ Slide 1 CSC 342 Semester II: H ( G)
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Design Analysis builds a logical model that delivers the functionality. Design fully specifies how this functionality will be delivered. Design looks from.
ANALYSIS - II REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Introduction to OOAD & Rational Rose cyt. 2 Outline RUP OOAD Rational Rose.
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Architectural Analysis.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
 Building Block Building Block  Things in the UML Things in the UML  Structural Things Structural Things  Behavioral Things Behavioral Things  Grouping.
Feb. 9, 2004CS WPI1 CS 509 Design of Software Systems Lecture #4 Monday, Feb. 9, 2004.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
310414IMPLEMENTATION1 IMPLEMENTATIONIMPLEMENTATION SOFTWARE ENGINEERING SOFTWARE ENGINEERING.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Gerhard Dueck -- CS3013Analysis 1. Gerhard Dueck -- CS3013Analysis 2 Why analysis?  Yield a more precise specification of the requirements.  Introduce.
Gerhard Dueck -- CS3013Architecture 1 Architecture-Centric Process  There is more to software development then going blindly through the workflows driven.
Two New UML Diagram Types Component Diagram Deployment Diagram.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1 Use Case Analysis – Part 4 Analysis Mechanisms.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Software Architecture
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Documenting SW Architecture
Object-Oriented Analysis and Design
Architecting Web Services
Systems Analysis and Design With UML 2
Software Architecture
Architecting Web Services
OO Methodology OO Architecture.
Part 3 Design What does design mean in different fields?
University of Central Florida COP 3330 Object Oriented Programming
Use Case Realization Describes a collaboration among analysis classes that shows how a specific use case is realized Consists of flow-of-events analysis,
Unified Modeling Language
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Software Architecture
Architectural Design.
Object oriented analysis and design
Starting Design: Logical Architecture and UML Package Diagrams
IMPORTANT NOTICE TO STUDENTS:
Analysis models and design models
An Introduction to Software Architecture
Software Analysis.
Design Yaodong Bi.
Use Case Analysis – continued
Software Development Process Using UML Recap
Segments Introduction: slides minutes
Software Architecture
Implementation Plan system integration required for each iteration
Presentation transcript:

Design

Develop blueprints for implementation Role of Design Develop blueprints for implementation Q: What does this mean?

Design Model Hierarchy

Difference Between Analysis and Design Models

Example

Design as Use Case Realization Collaboration within design model describes how a use case is realized Should maintain traceability to use case realization in analysis model Provides physical realization of the use case and handles non-functional requirements

Design Subsystems Subsystems organizes system into manageable pieces Subsystems can be very large and hierarchical But, a subsystem should be cohesive, and they should be loosely coupled Top level subsystems normally have direct trace to analysis packages Can represent reused software products or legacy systems by wrapping them - means of integration

Architectural View of Design Model Decomposition of design model into subsystems, their interfaces, and dependency between them - subsystems and their interfaces make up fundamental structure of software system Key design classes - those trace to architecturally significant analysis classes, those general and central (e.g. abstract classes), those having many relationships Designs that realize key use cases

Deployment Model Object model describing physical distribution of system in terms of how functionality distributed among computational nodes Each node a computational resource, e.g. processor Nodes have relationship representing means of communication Has major impact on design and implementation Q. Why?

Architectural Design Purpose is to outline the design and deployment models and their architecture by identifying: Nodes and their network configurations Subsystems and their interfaces Architecturally significant classes Generic design mechanisms handling common requirements, e.g. performance, persistency, distribution Many possibilities to consider, need to weight what’s more important

I/O of Architectural Design

Identifying Nodes and Network Configurations Network configuration often have major impact on system architecture, including active classes required and distribution of functionality among network nodes Which nodes involved and what’s their processing power and memory size? What types of connections between the nodes, and what protocols Bandwidth, availability, quality? Need for redundant capacity, fault tolerance, process migration, backup, etc.?

Example

Identifying Subsystems and Interfaces

Middleware Layer

Identifying Subsystem Interfaces From subsystem dependencies Inherit from analysis packages analysis class interfaces that are referenced from another package

Identifying Active Classes Performance, throughput, availability factors System distribution onto nodes System startup and termination, liveness, deadlock avoidance, starvation avoidance, reconfiguration of nodes, and capacity of connections Q: what kind of objects most likely to be active objects?

Identifying Generic Design Mechanisms Persistency Transparent object distribution Security features Error detection and recovery Transaction management Concurrency control, etc.

Example: Generic Collaboration Used in Several Use Case Realizations

Mapping to Invoice Buyer Use Case

Design Use Case Purpose: Identify design classes and/or subsystems whose instances are needed to perform the use case flow of events Distributed the behavior of the use case to interacting design objects and/or subsystems Define requirements on the operations of design classes and/or subsystems and their interfaces Capture implementation requirements for the use case

Identifying Participating Design Classes Identify design classes that trace to those participating classes in the analysis model Identify design classes that implement non-functional requirements From analysis model Discovered in the design process Identify missing classes

Pay Invoice Use Case Realization

Describe Object Interactions When use sequence diagrams If there are multiple flows, use one sequence diagram for each flow Should be based on object interaction defined in analysis model (traceability) Each design class identified in the realization of the use case should have at least one object in the sequence diagram Focus on sequence of interaction or message exchange Should handle all relationships of the use case

Example

Identifying Participating Subsystems and Interfaces

Design a Class Its operations Attributes Relationship it participates in Methods (that realize the operations) Its imposed states Its dependency to any generic design mechanisms Requirements relevant to its implementation Correct realization of any interface it is required to provide