1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.

Slides:



Advertisements
Similar presentations
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Advertisements

Object-Oriented Analysis and Design
Mastering Object-Oriented Analysis and Design with UML Module 4: Analysis and Design Overview.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Development Processes UML just is a modeling technique, yet for using it we need to know: »what do we model in an analysis model? »what do we model in.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Site Skin Structure Services Space plan Stuff Software Architecture and Software Architecture Patterns (1)
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process.
Unified Modeling (Part I) Overview of UML & Modeling
Rational Worldwide Software Symposium
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Object Oriented Analysis and Design Using the UML
Principles of Object Technology Module 1: Principles of Modeling.
UML - Development Process 1 Software Development Process Using UML (2)
RUP Fundamentals - Instructor Notes
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Rational Unified Process Fundamentals Module 4: Disciplines II.
An Introduction to Software Architecture
RUP Design RUP Artifacts and Deliverables
Unified Modeling Language, Version 2.0
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Object Oriented Analysis and Design using the UML CIS 520 Advanced Object-Oriented Design.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process Adapted by Dr. Spiegel.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
RUP Life Cycle Software Engineering Learning Programme Software Engineering Foundation.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 9: Describe the Run-time Architecture.
Analysis and Design Overview 12/14/ Objectives Review the key Analysis and Design terms and concepts Introduce the Analysis and Design process,
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Architectural Analysis.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
UML Diagrams for Caradon developers Daniel DG Moth Core Development Group, Research Student University of Brighton, MSc Object Oriented Software Technology.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
The principles of an object oriented software development process Week 04 1.
Introduction to Rational Unified Process
1 Unified Modeling Language, Version 2.0 Chapter 2.
Rational Unified Process Fundamentals Module 3: Core Workflows I - Concepts Rational Unified Process Fundamentals Module 3: Core Workflows I - Concepts.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
4+1 View Model of Software Architecture
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
OOAD Using the UML - Describe Concurrency, v 4.0 Copyright  Rational Software, all rights reserved 1 R Thread Process X Thread Process ZProcess.
Basic Characteristics of Object-Oriented Systems
Quality Consulting Module 7 Solution Development.
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.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
UML: Unified modeling language
Recall The Team Skills Analyzing the Problem (with 5 steps)
Rational Worldwide Software Symposium
Rational Unified Process
Rational Worldwide Software Symposium
Object Oriented Analysis and Design Using the UML
4+1 View Model of Software Architecture
Object Oriented Analysis and Design Using the UML
4+1 View Model of Software Architecture
Rational Worldwide Software Symposium
Software Development Process Using UML Recap
From Use Cases to Implementation
Presentation transcript:

1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview

2 Objectives: Analysis and Design Overview  Review the key Analysis and Design terms and concepts  Introduce the Analysis and Design process, including roles, artifacts and workflow  Explain the difference between Analysis and Design

3 Analysis and Design in Context The purposes of Analysis and Design are to:  Transform the requirements into a design of the system-to-be.  Evolve a robust architecture for the system.  Adapt the design to match the implementation environment, designing it for performance. The purposes of Analysis and Design are to:  Transform the requirements into a design of the system-to-be.  Evolve a robust architecture for the system.  Adapt the design to match the implementation environment, designing it for performance.

4 Supplementary Specification Use-Case Model Design Model Data Model Architecture Document Analysis and Design Analysis and Design Overview Glossary

5 Analysis & Design Overview Topics  Key Concepts  Analysis and Design Workflow

6 Analysis Versus Design AnalysisDesign  Focus on understanding the problem  Idealized design  Behavior  System structure  Functional requirements  A small model  Focus on understanding the solution  Operations and attributes  Performance  Close to real code  Object lifecycles  Nonfunctional requirements  A large model

7 Design Classes Subsystems Use Cases Analysis and Design Are Not Top-Down or Bottom-Up Analysis Classes Bottom Up Top Down (Define a middle level) Analysis and Design

8 What Is Architecture?  Software architecture encompasses a set of significant decisions about the organization of a software system.  Selection of the structural elements and their interfaces by which a system is composed  Behavior as specified in collaborations among those elements  Composition of these structural and behavioral elements into larger subsystems  Architectural style that guides this organization Grady Booch, Philippe Kruchten, Rich Reitman, Kurt Bittner; Rational (derived from Mary Shaw)

9 Architecture Constrains Design and Implementation  Architecture involves a set of strategic design decisions, rules or patterns that constrain design and construction. Architecture decisions are the most fundamental decisions, and changing them will have significant effects. Architecture Design Implementation Code

10 Software Architecture: The “4+1 View” Model Process ViewDeployment View Logical View Use-Case View Implementation View End-user Functionality Programmers Software management Performance, scalability, throughput System integrators System topology, delivery, installation, communication System engineering Analysts/Designers Structure

11 Analysis & Design Overview Topics  Key Concepts  Analysis and Design Workflow

12 Analysis and Design Workflow Analysis Design [Early Elaboration Iteration] [Inception Iteration (Optional)] Define a Candidate Architecture Perform Architectural Synthesis Analyze Behavior Refine the Architecture Design Components Design the Database (Optional)

13 Analysis and Design Activity Overview Architect Designer

14 Software Architect’s Responsibilities Architect Software Architecture Document  The Software Architect leads and coordinates technical activities and artifacts. Reference Architecture Analysis ModelDesign Model Deployment ModelImplementation Model

15 Designer’s Responsibilities Designer Use-Case Realization Package Class/Subsystems  The designer must know use- case modeling techniques, system requirements, and software design techniques.

16 Review: Analysis and Design Is Use-Case Driven  Use cases defined for a system are the basis for the entire development process.  Benefits of use cases:  Concise, simple, and understandable by a wide range of stakeholders.  Help synchronize the content of different models. Withdraw Money Check Balance Customer

17 What Is a Use-Case Realization? Class Diagrams Use Case Communication Diagrams Use-Case ModelDesign Model Use CaseUse-Case Realization Sequence Diagrams

18 Analysis and Design in an Iterative Process Iteration n Iteration n + 1 Use Case A Scenarios 1 & 2 Use-Case Realization A Start of iteration End of iteration Use Case B Scenario 1 Use-Case Realization A Use Case A Scenario 3 Use-Case Realization B

19 Review: Analysis and Design Overview  What is the purpose of the Analysis and Design Discipline?  What are the input and output artifacts?  Name and briefly describe the 4+1 Views of Architecture.  What is the difference between Analysis and Design?  What is architecture?

20