Object Oriented Analysis and Design using the UML CIS 520 Advanced Object-Oriented Design.

Slides:



Advertisements
Similar presentations
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Advertisements

Gerhard Dueck -- CS3013Capturing Requirements as Use Cases 1 Capturing the Requirements as use Cases  Requirements Description  We need to describe –The.
Unified Modeling Language
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.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Rational Worldwide Software Symposium
© Copyright Eliyahu Brutman Programming Techniques Course.
SwE 313 Introduction to Rational Unified Process (RUP)
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Object Oriented Analysis and Design Using the UML
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 RUP Architecture.
Object-Oriented Analysis and Design
Principles of Object Technology Module 1: Principles of Modeling.
The Design Discipline.
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.
RUP Implementation and Testing
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 Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Systems Analysis and Design in a Changing World, 3rd Edition
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
Analysis and Design Overview 12/14/ Objectives Review the key Analysis and Design terms and concepts Introduce the Analysis and Design process,
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Rational Unified Process Fundamentals Module 3: Core Workflows I - Concepts Rational Unified Process Fundamentals Module 3: Core Workflows I - Concepts.
310414IMPLEMENTATION1 IMPLEMENTATIONIMPLEMENTATION SOFTWARE ENGINEERING SOFTWARE ENGINEERING.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
Process 4 Hours.
UML Diagrams By Daniel Damaris Novarianto S..
1.Introduction to Rational Unified Process (RUP)
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
Rational Worldwide Software Symposium
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Rational Worldwide Software Symposium
Object oriented analysis and design
SYS466 Domain Classes – Part 1.
Object Oriented Analysis and Design Using the UML
An Introduction to Software Architecture
Object Oriented Analysis and Design Using the UML
Design Yaodong Bi.
Rational Worldwide Software Symposium
Software Development Process Using UML Recap
Presentation transcript:

Object Oriented Analysis and Design using the UML CIS 520 Advanced Object-Oriented Design

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  Understand the difference between analysis and design

3 Management Environment Test Analysis & Design Preliminary Iteration(s) Iter. #1 Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Configuration & Change Mgmt Requirements ElaborationTransitionInceptionConstruction The purposes of Analysis and Design are:  To transform the requirements into a design of the system to-be.  To evolve a robust architecture for the system.  To adapt the design to match the implementation environment, designing it for performance. Analysis and Design in Context The Analysis and Design workflow is related to other process workflows. The Business Modeling workflow provides an organizational context for the system. The Requirements workflow provides the primary input for Analysis and Design. The Test workflow tests the system designed during Analysis and Design. The Environment workflow develops and maintains supporting artifacts used during Analysis and Design. The Management workflow plans the project and each iteration (described in an Iteration Plan).

4 Supplementary Specification Use-Case Model Design ModelData Model Architecture Document Analysis and Design Analysis and Design Overview Glossary Input Artifacts from requirements workflow

5 Analysis & Design: Outcome The result of analysis and design is a Design Model that serves as an abstraction of the source code the design model acts as a "blueprint" of how the source code is structured and written. the Design Model consists of design classes structured into design packages it also contains descriptions of how objects of these design classes collaborate to perform use cases (use-case realizations). Design activities are centered around the notion of architecture. Production and validation of architecture is the main focus of early design iterations. Architecture is represented by a number of architectural views. capture the major structural design decisions. architectural views are abstractions or simplifications of the entire design, important characteristics are made more visible by leaving details aside.

6 Analysis Versus Design  Analysis  Focus on understanding the problem  Idealized design  Behavior  System structure  A small model  Design  Focus on understanding the solution  Operations and Attributes  Performance  Close to real code  Object lifecycles  A large model

7 Top Down Bottom Up Design Classes Subsystems Use Cases (start in middle) Analysis and Design is not Top-Down or Bottom-Up Middle down Middle up Analysis Classes

8 What Is Architecture?  Software architecture encompasses the set of significant decisions about the organization of a software system  Selection of the structural elements and their interfaces  Behavior as specified in collaborations among those elements  Composition of these structural and behavioral elements into larger subsystems

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

10 Analysis and Design Workflow A workflow is a sequence of activities that produces a result of observable value A mere enumeration of all workers, activities and artifacts does not constitute a process. We should describe: the activities a useful result interactions between workers..

11 Analysis and Design Activity Overview For analysis and design, start out with use-case model and supplementary specifications from the Requirements workflow End up with the design model that serves as an abstraction of the source code. Design activities are centered around the notion of architecture. Production and validation of this architecture is the main focus of early design iterations. The architecture is an important vehicle not only for developing a good design model, but also for increasing the quality of any model built during system development.

12 Architect Software Architecture Document Design Model Designer Use-Case Realization Package/ Subsystem Class Database Designer Data Model Architecture Reviewer Design Reviewer Workers and Their Responsibilities

13 Class Diagrams Sequence Diagrams Use Case Collaboration Diagrams What is a Use-Case Realization? Use-Case ModelDesign Model Use CaseUse-Case Realization

14 Iteration nIteration n + 1Iteration n + 2 Use Case A Use-Case Realization A Start of iteration End of iteration Use Case B Use-Case Realization B Use-Case Realization C Use Case C During the analysis and design workflow in an iteration, a use-case will serve as the primary input artifact. By going through the a series of activities defined in the analysis and design workflow, the development team will produce an associated use-case realization that describes how a particular use-case will be realized. Analysis and Design In An Iterative Process