RUP Design RUP Artifacts and Deliverables

Slides:



Advertisements
Similar presentations
Deliverable #8: Detailed Design - Overview due: Wednesday, 7 March All Deliverable materials are to be posted into Team Concert. Your to.
Advertisements

Chapter 2 – Software Processes
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
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.
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.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Chapter 6 Functional Modeling
SwE 313 Introduction to Rational Unified Process (RUP)
Iterative development and The Unified process
Object Oriented Analysis and Design Using the UML
Enterprise Architecture
The chapter will address the following questions:
What is Software Architecture?
Developing Enterprise Architecture
The Design Discipline.
UML - Development Process 1 Software Development Process Using UML (2)
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
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.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
RUP Implementation and Testing
Rational Unified Process Fundamentals Module 4: Disciplines II.
An Introduction to Software Architecture
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Information System Development Courses Figure: ISD Course Structure.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
10 Software Architecture CSCU 411 Software Engineering.
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.
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.
Object Oriented Analysis and Design using the UML CIS 520 Advanced Object-Oriented Design.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
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.
Software Engineering COSC 4460 Class 4 Cherry Owen.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
PRJ566 Project Planning & Management Software Architecture.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
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,
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
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.
310414IMPLEMENTATION1 IMPLEMENTATIONIMPLEMENTATION SOFTWARE ENGINEERING SOFTWARE ENGINEERING.
UML - Development Process 1 Software Development Process Using UML.
4+1 View Model of Software Architecture
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
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 (
Gerhard Dueck -- CS3013Architecture 1 Architecture-Centric Process  There is more to software development then going blindly through the workflows driven.
Basic Characteristics of Object-Oriented Systems
Enterprise Architectures. Core Concepts Key Learning Points: This chapter will help you to answer the following questions: What are the ADM phase names.
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.
Process 4 Hours.
OO Methodology OO Architecture.
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Object oriented analysis and design
An Introduction to Software Architecture
Design Yaodong Bi.
Use-Case Design in Context
Chapter 6: Architectural Design
Software Development Process Using UML Recap
Presentation transcript:

RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Purpose of Analysis & Design 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 & Design Workflow

Define Candidate Architecture Create an initial sketch of the architecture of the system Identify analysis classes from the architecturally significant use cases Update the use-case realizations with analysis class interactions

Create Initial Architecture Sketch Define an initial set of architecturally significant elements to be used as the basis for analysis Define an initial set of analysis mechanisms Define the initial layering and organization of the system Define the use-case realizations to be addressed in the current iteration

Define Candidate Architecture - Staffing These activities are best carried out by a small team staffed by cross-functional team members. Issues that are typically architecturally significant include performance, scaling, process and thread synchronization, and distribution. The team should also include members with domain experience who can identify key abstractions. The team should also have experience with model organization and layering. The team will need to be able to pull all these disparate threads into a cohesive, coherent(albeit preliminary) architecture.

Define Candidate Architecture Workflow

Login Use Case Realization

Login Class Diagram

Analysis & Design Workflow

Analyze Behavior - Purpose Transform the behavioral descriptions provided by the use cases into a set of elements upon which the design can be based

Analyze Behavior - Staffing The Activity: Use-Case Analysis is best conducted by a small group with a blend of skills; staffing guidelines are presented in Work Guidelines: Use-Case Analysis Workshop. The Activity: IdentifyDesign Elements requires a broader perspective of the architecture and the results of other use-case analysis workshops, and requires some experience in the implementation technology and any frameworks being used on the project. Reviews should be staffed with people who have both in-depth knowledge of the implementation technologies as well as an understanding of the problem domain.

Analyze Behavior Workflow

Analysis & Design Workflow

Refine the Architecture - Purpose Provide the natural transition from analysis activities to design activities, identifying: - appropriate design elements from analysis elements - appropriate design mechanisms from related analysis mechanisms Maintain the consistency and integrity of the architecture, ensuring that: - new design elements identified for the current iteration are integrated with pre-existing design elements. - maximal re-use of available components and design elements is achieved as early as possible in the design effort. Describe the organization of the system's run-time and deployment architecture Organize the implementation model so as to make the transition between design and implementation seamless

Refine the Architecture - Staffing These activities are best carried out by a small team staffed by cross-functional team members. The team should also include members with domain experience who can identify key abstractions. The team should also have experience with model organization and layering. The team will need to be able to pull all these disparate threads into a cohesive, coherent (albeit preliminary) architecture. The architecture team will need to shift members or expand to include people with distribution and deployment expertise (if those issues are architecturally significant).

Refine the Architecture Workflow

Software Architecture Document - Purpose The software architecture document provides a comprehensive overview of the architecture of the software system. It serves as a communication medium between the architect and other project team members regarding architecturally significant decisions which have been made on the project.

Software Architecture Document Use Case View

Software Architecture Document Logical View – Architecture Overview

Software Architecture Document Process View - Processes

Software Architecture Document Process View – Process to Design

Software Architecture Document Process View – Process to Design Model Dependencies

Analysis & Design Workflow

Design Components - Purpose Refine the definitions of design elements by working out the 'details' of how the design elements implement the behavior required of them. Refine and update the use-case realizations based on new design element identified (i.e. keeping the use-case realizations updated) Reviewing the design as it evolves Implementing the design elements as components Testing the implemented components to verify functionality and satisfaction of requirements at the component/unit level

Design Components - Staffing Typically, one person or a small team is responsible for a set of design elements, usually one or more packages or subsystems containing other design elements. The individuals or teams responsible for designing classes should be knowledgeable in the implementation language as well as possessing expertise in the algorithms or technologies to be employed by the class. Individuals or teams responsible for subsystems should be more generalists, able to make decisions on the proper partitioning of functionality between design elements, and able to understand the inherent trade-offs involved in various design alternatives. The individuals or teams responsible for use-case realizations need to have broader understanding of the behavior required by the use cases and of the trade-offs of different approaches to allocating this behavioramongst design elements.

Design Components Workflow

Analysis & Design Workflow

Design Real Time Components - Purpose Refine the definitions of design elements (including capsules and protocols) by working out the 'details' of how the design elements implement the behavior required of them. Refine and update the use-case realizations based on new design element identified (i.e., keeping the use-case realizations updated) Reviewing the design as it evolves Implementing the design elements as components Testing the implemented components to verify functionality and satisfaction of requirements at the component/unit level

Design Real Time Components Workflow

Analysis & Design Workflow

Design the Database - Purpose Identify the persistent classes in the design Design appropriate database structures to store the persistent classes Define mechanisms and strategies for storing and retrieving persistent data in such a way that the performance criteria for the system are met

Design the Database - Staffing The Designers responsible for persistent classes need to have an understanding of the persistence in general and the persistence mechanisms in specific. The Database Designer needs to understand the persistent classes in the design model and so must have a working understanding of object-oriented design and implementation techniques. The Database Designer also needs a strong background in database concurrency and distribution issues.

Design the Database Workflow

Analysis & Design Activity Overview

Analysis & Design Artifact Overview