Design Analysis builds a logical model that delivers the functionality. Design fully specifies how this functionality will be delivered. Design looks from.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Documenting a Software Architecture By Eng. Mohanned M. Dawoud.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
© Copyright Eliyahu Brutman Programming Techniques Course.
1 CS 691z / 791z Topics on Software Engineering Chapter 17: Interfaces and Subsystems [Arlow & Neustadt, 2002] March 6, 2007.
Use Case Analysis – continued
SE 555 Software Requirements & Specification Requirements Analysis.
SE-565 Software System Requirements More UML Diagrams.
The Design Discipline.
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
UML - Development Process 1 Software Development Process Using UML (2)
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
An Introduction to Software Architecture
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Approaching a Problem Where do we start? How do we proceed?
Chapter 7 System models.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
TAL7011 – Lecture 4 UML for Architecture Modeling.
Object-Oriented Analysis and Design. Lesson 1: Introduction to Software Engineering.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
Chapter 3: Introducing the UML
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
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.
Unit 1 Object-Oriented Design Concepts. Key Concepts Development methodologies Classes and objects Attributes and methods Inheritance and polymorphism.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 April 13, 2005.
1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 November 30, 2004.
System Architecture CS 560. Project Design The requirements describe the function of a system as seen by the client. The software team must design a system.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
UML Diagrams By Daniel Damaris Novarianto S..
UML Diagrams Jung Woo.
The Object Oriented Approach to Design
Analysis models and design models
Class Diagrams.
An Introduction to Software Architecture
Design Yaodong Bi.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CIS 375 Bruce R. Maxim UM-Dearborn
Design.
Software Development Process Using UML Recap
Presentation transcript:

Design Analysis builds a logical model that delivers the functionality. Design fully specifies how this functionality will be delivered. Design looks from the implementation point of view.

Goals Flexible, Flexible, Flexible Should be fluid enough to modify and extend Efficiency Secure and reliable Look for available components

Each package becomes a subsystem Details for interfaces is emphasized For small systems you may take the analysis model and convert it into the design model For large complex systems maintain two models Ensure that these two models are consistent with each other

Deliverables Design classes – with all details Design subsystems – with all details Interfaces Use-case realization design Deployment diagram

Flexibility Model-View-Controller Architecture UI Application Database Three separate pieces that are developed independently Interfaced with each other

Design considerations Concurrency issues Language issues Administrative issues –Procedures –Versioning –Permissions and security –Responsibilities –Documentation –Schedules and testing

Design classes Ready to be implemented classes Interface and implementation Detailed and Refined analysis classes Implementation required classes All attributes and operations are to be specified Figure 15.2 Completeness and sufficiency for users of the class

High cohesion and low coupling Use inheritance with care In analysis inheritance is used only when an “is- a” relationship exists between analysis classes In design you may use inheritance for the sake of code re-use Inheritance is the strongest form of coupling and most inflexible Template classes (general-purpose classes) that can be parameterized at runtime may be used

Relationship - design Refining associations into aggregation or composition Implementing all forms of associations (1-1, 1-n, n-n) Aggregation and composition implements 1-1 and 1-n and n-1 Issues with reflexive association Implementing association classes Clarifying all of this is refining analysis relationship into design relationship

Associations can have properties – particularly when multiplicity is allowed This clarifies cases of every instance of association Composition, Aggregation, Collection When to use collection? Many to Many association needs to be reified – concretized Bidirectional associations needs to reified to avoid cyclical ownership!!

Analysis may have Association class!! Simple association constraints since it depicts only one association for every instance of the object pair associated Otherwise you need a separate class then inter-relate them appropriately Navigation through a multiple association can be qualified using a qualifier (like member-id) as part of the association

Sample Relationship Manager manages one office Supervisor may manage many projects Supervisor’s time is broken-up over projects A vendor works with many offices An office uses many vendors A project is assigned the necessary personnel

Sample Relationship Corporation has a head office and many other offices Offices co-ordinate many projects and warehouses Projects may have warehouses assigned Projects may choose from one or another plant Offices may be added or eliminated Newer warehouses may be added

Collection class These specialize in managing collection of other objects Essentially an ADT handler Vector class is an example Implements 1 to * Reify for n-n or * - * – what does that mean?

Interfaces Interface defines a contract Separates definition from implementation Class defines an interface and an implementation Interfaces do not carry any attributes and relationships Derived classes gets the interface, attributes, and relationships from the parent class

Interfaces contribute only contracted operations and can be used for plug-in components Do not carry relationship One may use pure abstract classes without relations – instead Interfaces can become complex – why? Interfaces have additional overhead – how?

Figure 17.3, 17.4 shows the use of interface Section 17.4 describes how to design using interfaces Subsystems are designed to –Separate design concerns –Represent large grain component –Wrap legacy systems Figure Adv. And dadv. of interfaces

Use-case design Detail the steps of use-case – sequence diagram. Fig 18.2,3,4 Refine activity diagrams Develop state charts

State Chart Similar to DFA Defines states and transitions of one Reactive Object Reactive objects respond to external events, clear lifecycle and state dependent behavior Start node and potential end-node Other nodes are intermediate well-defined states of the element State transitions are triggered by system events Events can be guarded Transitions can also have actions Figure 19.4, 19.5

State Info State name Entry with action Exit with action Internal transitions and actions Internal activity Actions are atomic/uninterruptible Activities may be interrupted by events

Call event Signal event –one way asynchronous communication Change event –Boolean condition change Time event –Absolute time –Elapsed time There can be composite states - with decomposition indicators

There can be concurrent composite states –Fork and/or join –Indicative of concurrency within the object –Can communicate between concurrent states using attributes Sync states –Synchronization/communication between sub- machines History of an object –Shallow and deep history Fig

Implementation Implement class Implement subsystem Perform unit testing

Component Physical replaceable part of a system Each component may contain many classes and realize many interfaces A class can be shown to be inside a component in 2 ways - fig 22.2 Components usually are used to implement significant aspects of the system

Database access Issues pertaining to distributed system –Synchronization –Replication –Failure handling Transaction processing Persistence Security Resource Pooling User Interface

Deployment Map of software architecture to hardware architecture Type and possible deployments Nodes, relationships and component on nodes

Objectives of Design Streamline Implementation Faster delivery Standardized product Cheaper Components Patterns Framework

Topics for CASE tool Engineering/toolcat.html#label233http:// Engineering/toolcat.html#label asetool.htmlhttp:// asetool.html