RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch



Similar documents
Chap 1. Introduction to Software Architecture

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Developing SOA solutions using IBM SOA Foundation

The Role of the Software Architect

The Unified Software Development Process

Applying 4+1 View Architecture with UML 2. White Paper

Basic Unified Process: A Process for Small and Agile Projects

Rational Unified Process for Systems Engineering RUP SE1.1. A Rational Software White Paper TP 165A, 5/02

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

Asset Based Development

Object-oriented design methodologies

Software Architecture Document

Object-Oriented Design Guidelines

The Rap on RUP : An Introduction to the Rational Unified Process

Development Methodologies

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

How To Develop Software

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Developing Business Architecture with TOGAF

3C05: Unified Software Development Process

To introduce software process models To describe three generic process models and when they may be used

Custom Software Development Approach

The role of integrated requirements management in software delivery.

Managing Small Software Projects - An Integrated Guide Based on PMBOK, RUP, and CMMI

Chapter 3. Technology review Introduction

Realizing business flexibility through integrated SOA policy management.

SOMA, RUP and RMC: the right combination for Service Oriented Architecture

Software Development Life Cycle (SDLC)

Fidelity National Financial Drives Improvements in Software Development and Reuse with IBM Rational Software Development Platform and Flashline

Masters of Science in Software & Information Systems

Weighted Total Mark. Weighted Exam Mark

Design Patterns for Complex Event Processing

JOURNAL OF OBJECT TECHNOLOGY

Object-Oriented Systems Analysis and Design

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

A Comparison of SOA Methodologies Analysis & Design Phases

Software Service Engineering Architect s Dream or Developer s Nightmare?

Integrated Information Services (IIS) Strategic Plan

ISO 9001:2000 Its Impact on Software

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Software Development Methodologies

Scalable End-User Access to Big Data HELLENIC REPUBLIC National and Kapodistrian University of Athens

Implementation Workflow

Engineering Design. Software. Theory and Practice. Carlos E. Otero. CRC Press. Taylor & Francis Croup. Taylor St Francis Croup, an Informa business

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

Analysis of the Specifics for a Business Rules Engine Based Projects

Analysis and Design with UML

Business Solutions Manager Self and contribution to Team. Information Services

Karunya University Dept. of Information Technology

How To Understand The Software Process

System Design Approaches. System Design. Model-Driven Approaches Modern Structured Design. Model-Driven Approaches

Component Based Development Methods - comparison

Time Monitoring Tool Software Development Plan. Version <1.1>

A Software Development Platform for SOA

Microsoft Solutions for Security. Delivering the Windows Server 2003 Security Guide

Reaching CMM Levels 2 and 3 with the Rational Unified Process

How to Plan and Design for Case Management Projects with EMC Documentum xcp

STSG Methodologies and Support Structure

VDI 2206 Prof. Dr. Magdy M. Abdelhameed

Objectives. Chapter 12. System Design. Model-Driven Approaches. System Design Approaches Systems Design

Project Management in the Rational Unified Process

BUSINESS INTELLIGENCE COMPETENCY CENTER (BICC) HELPING ORGANIZATIONS EFFECTIVELY MANAGE ENTERPRISE DATA

Select the right configuration management database to establish a platform for effective service management.

ArchiMate and TOGAF. What is the added value?

JOURNAL OF OBJECT TECHNOLOGY

Software Architecture Professional Certificate

CS4507 Advanced Software Engineering

An Integrated Quality Assurance Framework for Specifying Business Information Systems

Components Of Successful Software Development. Mobi-Sys Internet Solutions Inc. Software Development Solutions and Consulting

Data Modeling Basics

Plan-Driven Methodologies

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

ENTERPRISE ARCHITECTUE OFFICE

TDWI strives to provide course books that are content-rich and that serve as useful reference documents after a class has ended.

The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.

Using EMC Documentum with Adobe LiveCycle ES

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Incorporating database systems into a secure software development methodology

How To Adopt Rup In Your Project

Architecture Definitions

A Review of an MVC Framework based Software Development

AN OVERVIEW OF SYSTEMS ANALYSIS: SYSTEMS ANALYSIS AND THE ROLE OF THE SYSTEMS ANALYST. Lecture , Tuesday

How your business can successfully monetize API enablement. An illustrative case study

Major Process Future State Process Gap Technology Gap

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

SOA Success is Not a Matter of Luck

Module F13 The TOGAF Certification for People Program

Cloud Computing for Architects

A Guide to Open Source Transformation Services. How and Why Organizations are Making the Move to Open Source

Unit I Page No. 1 System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML

Software Development Methodologies

I219 Software Design Methodology

WebSphere Business Modeler

Transcription:

RUP Design RUP Artifacts and Deliverables RUP 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. 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. 1

Define Candidate Architecture Workflow Login Use Case Realization Login Class Diagram 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. 2

Analyze Behavior 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 - 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. 3

Use Case View Logical View Architecture Overview Process View - Processes Process View Process to Design Process View Process to Design Model Dependencies 4

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 Design Real Time Components - Purpose Design Real Time Components Workflow 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 5

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 Design the Database Workflow 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. Analysis & Design Activity Overview Analysis & Design Artifact Overview 6