Rational Unified Process Fundamentals Module 3: Core Workflows I - Concepts Rational Unified Process Fundamentals Module 3: Core Workflows I - Concepts.

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

Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Learning software process with UPEDU Slide 9-1  2000 École Polytechnique de Montréal & Rational Software Project Management - Outline  Defining the Project.
Mastering Object-Oriented Analysis and Design with UML Module 4: Analysis and Design Overview.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
PRJ270: Essentials of Rational Unified Process
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
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.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Chapter 2 Text Introduction to Rational Unified Process Modified.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Use Case Analysis – continued
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
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 RUP Architecture.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 19 Chapter 2 Text Introduction to Rational Unified Process.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 3: Phase Management - Inception.
Principles of Object Technology Module 1: Principles of Modeling.
UML - Development Process 1 Software Development Process Using UML (2)
1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 4: RUP Content.
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.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Rational Unified Process Fundamentals Module 4: Disciplines II.
An Introduction to Software Architecture
RUP Design RUP Artifacts and Deliverables
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.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
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.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Requirements Overview.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Chapter 2 Text Introduction to Rational Unified Process.
Rational Unified Process Fundamentals Module 3: Disciplines I.
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Chapter 2 Text Introduction to Rational Unified Process Modified.
The Rational Unified Process 1 EECS810: Software Engineering.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 9: Describe the Run-time Architecture.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Introduction to Rational Unified Process
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
Essentials of Visual Modeling w/ UML Instructor Notes
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
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
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
OOAD Using the UML - Describe Concurrency, v 4.0 Copyright  Rational Software, all rights reserved 1 R Thread Process X Thread Process ZProcess.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 Rational Unified Process – Part 2 Original slides modified.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Rational Unified Process
Software Development Process Using UML Recap
Presentation transcript:

Rational Unified Process Fundamentals Module 3: Core Workflows I - Concepts Rational Unified Process Fundamentals Module 3: Core Workflows I - Concepts

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 2 Where Are We?  Core Workflows - I  Introduction  Project Management  Requirements  Analysis & Design

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 3 Objectives  Understand the elements of a Core Workflow  Explain the purpose of Core Workflows  Understand how models result from Core Workflows  Explain important concepts for  Project Management  Requirements  Analysis & Design

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 4 Core Workflows

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 5 Core Workflows are Associated with Models

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 6 Elements of the Core Workflow  Introduction  Concepts  Workflow Details  Activity Overview  Artifact Overview  Guidelines Overview

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 7 Where Are We?  Core Workflows - I  Introduction  Project Management  Requirements  Analysis & Design

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 8 Core Workflow: Project Management  Purpose:  Provide a framework for managing software- intensive projects.  Provide practical guidelines for planning, staffing, executing, and monitoring projects.  Provide a framework for managing risk.

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 9 Key Concept: Incremental Planning Current iteration Next iteration Phases and major milestones What and when Project planPhase plan Iterations for each phase Number of iterations Objectives Duration Fine-grained Plans Coarse-grained Plan “Road-map”

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 10 Use Cases as a Basis for Iteration Planning Use-Case Model Iteration Plan Fine-grained plan for a single iteration Supplementary Specification Project Management Constraints

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 11 time InceptionElaborationConstructionTransition InceptionElaborationConstructionTransition Inception Elab... Beyond Transition: Development Cycles  A development cycle includes one execution of all four phases and produces a software generation  Most software systems require multiple cycles  Cycles may be sequential, but more commonly overlap

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 12 Incremental (1) Evolutionary (2) Incremental delivery (3) “Grand design” (4) Strategies for Iterative Development

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 13 Architecture Concerns in Project Management  Consistent architecture and development guidelines  Relationship between the architecture and organizational structures  Separation of development concerns (which will provide a basis for separation of work)  Stability of the technical infrastructures  Adherence to standards  Required skills

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 14 Key Concept: Risk  A risk is whatever may stand in our way to success, and is currently unknown or uncertain.  Success is meeting the entire set of all requirements and constraints, and satisfying stakeholder expectations.

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 15 Risk Terms  Direct risk - the project has a large degree of control  Indirect risk - the project has little or no control  Risk attributes:  Probability of occurrence  Impact on the project (severity) Risk - whatever may stand in the way of our success

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 16 Risk Management  Strategies:  Risk avoidance  Risk transfer  Risk acceptance  Risk mitigation  Confront risks  Plan for contingencies  Monitor risks  Maintain a risk list

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 17 Some Sample Risks  Resource risks  People, skills, funding,...  Business risks  Competition, ROI, supplier interfaces,...  Technical risks  Unproven technology, uncertain scope,...  Schedule risks  Only 24 hours in a day,...

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 18 Risk Reduction Drives the Iterative Lifecycle  Early iterations address the highest risks  Risk assessment is a continuous process; risks change over time  Risk profile by phase  Inception - based on unknowns and risks  Elaboration - based on risk and critical scenarios  Construction - based on use case, features, and subsystems completion  Transition - based on quality indicators

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 19 Where Are We?  Core Workflows - I  Introduction  Project Management  Requirements  Analysis & Design

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 20 Core Workflow: Requirements  Purpose: produce requirements artifacts  Stakeholders needs  Vision document  Use case model All functional requirements Some non functional requirements  Supplementary specification Other non functional requirements  User interface prototype (optional)  Traceability

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 21 Supplementary Specification Primary Requirements Artifacts RequirementFunctionalNon-Functional (URPS) Use-Cases

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 22 What Is in a Use-Case Model?  Actors and their descriptions  Use-Case diagrams showing relationships  For each use case  Name and brief description  Flow of events  Preconditions and postconditions (optional)  Special requirements  Other diagrams, such as activity or state diagrams

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 23 The Purpose of a Use-Case  Use cases capture requirements, especially functional requirements  They are usable by many stakeholders  They drive many activities in the process  They trace to several models: design model, test model

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 24 Major concepts in the Use-Case Model Actor Use Case An actor represents anything that interacts with the system. A use case (instance) defines a sequence of actions a system performs that yields a result of observable value to an actor.

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 25 Actor System Actor  Actors are not part of the system, they represent roles a user of the system can play.  An actor can actively interchange information with the system.  An actor can be a passive recipient of information.  An actor can be a giver of information.  An actor can represent a human, a machine or another system.

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 26 Charlieas depotstaff Charlieasdepot manager Charlie DepotStaff DepotManager A User Can Act as Several Actors

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 27 Use Case  A use case models a dialogue between an actor and the system.  A use case is initiated by an actor to invoke a certain functionality in the system.  A use case is a complete and meaningful flow of events.  Taken together, all use cases constitute all possible ways of using the system.

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 28 Register for Courses Student Course Catalog A Scenario - One Path Through a Use Case  A use case can have many instances.  A scenario is a described use-case instance: a specific sequence of actions that illustrates behaviors of the system.

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 29 A Sample UML Diagram: Use Cases A University Course Registration System Professor Select Courses to Teach Student Course Catalog Register for Courses Maintain Student Information Maintain Professor Information Registrar Billing System Close Registration

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 30 The Use Case Model Relates to Other Models verification realization Use-Case Model (requirements) Implementation Model (source code) Test Model (test cases and procedures) influence Design Model (classes and objects)

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 31 Use CasesAnalysis Classes Source Code ExecDesign Classes From Use Cases to Executables

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 32 Traceability Links Support Impact Assessment Trace product requirements (features) into detailed requirements Trace requirements into design Trace requirements into test procedures Trace requirements into user documentation and training materials Design ModelTest ModelEnd-User Documentation Materials and Training Materials Vision Use-Case Model Supplementary Specification Stakeholder Needs

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 33 Where Are We?  Core Workflows - I  Introduction  Project Management  Requirements  Analysis & Design

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 34 Core Workflow: Analysis and Design  Purpose:  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.  Modeling, using OO techniques & UML  Design model  Process view (concurrency)  Deployment view (distribution)

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 35 Core Workflow: Analysis & Design (cont.)  Transform requirements into classes and subsystems  Adhere to constraints of  nonfunctional requirements  implementation environment  Database design  Mapping the design model to a data model  Component identification  Subsystems and interfaces

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 36 What is a Design Model?  An object model describing the realization of use cases  Serves as an abstraction of the implementation model and its source code  Used as essential input to activities in implementation and test.

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 37 Use Cases Drive Analysis & Design Supplementary Specifications Use-Case Model Design Model Data Model Architecture Document Analysis and Design Analysis Model (optional)

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 38 Use Case Realization in Analysis & Design Use Case (Use-Case Model) Use-Case Realization (Design Model) > Class Diagrams Sequence Diagrams Collaboration Diagrams Use Case

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 39 Use-Case Analysis and Design  The complete behavior of a use case is allocated to collaborating classes

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 40 A Sample UML Diagram: Classes A University Course Registration System MainForm // select maintain schedule() > MaintainScheduleForm + // open() + // select 4 primary and 2 alternate offerings() > CourseCatalogSystem // get course offerings() > 10..* RegistrationController // add courses to schedule() // get course offerings () > 1 1 Schedule // create with offerings() >

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 41 Architecture  What is architecture?  Purpose  Definition  Architecture representation  Architectural views = slices through models  UML  Prototyping  Architecture milestone  Elaboration phase  Lifecycle architecture milestone

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 42 Purpose of Architecture  Intellectual control  Manage complexity  Maintain integrity  Basis for reuse  Component reuse  Architecture reuse  Line-of-product  Basis for project management  Planning  Staffing  Delivery

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 43 Significant Decisions About Software Architecture  the organization of a software system  the structural elements and interfaces which compose the system,  the behavior seen in the collaboration of these elements  the composition of these elements into progressively larger subsystems  the architectural style that guides the organization, composition, and collaboration of elements and their interfaces

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 44 Architecture Includes a System in Its Environment  In addition to structure and behavior, software architecture is concerned with  usage  functionality  performance  resilience  reuse  comprehensibility  aesthetics  economic and technological constraints and tradeoffs

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 45 Many stakeholders, many views  Architecture is many things to many different interested parties  end-user  customer  project manager  system engineer  developer  architect  Multidimensional reality  Multiple stakeholders  multiple views, multiple blueprints

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 46 Architectural View  An architectural view is a simplified description (an abstraction) of a system from a particular perspective or vantage point, covering particular concerns, and omitting entities that are not relevant to this perspective

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 47 Architecturally significant elements  Not all design is architecture  Main “business” classes  Important mechanisms  Processors and processes  Layers and subsystems  Architectural views = slices through models

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 48 Architecture Views Conceptual Physical 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

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 49 Where is Architecture in the Process?  Primarily from Analysis & Design  Architecture in phases and iterations  Drives the risk mitigation of iterations  Architecture baseline is an exit criterion for Elaboration

Rational Unified Process Fundamentals, v Copyright © 2000 Rational Software, all rights reserved 50 Summary: Core Workflows  How often do you go through a Core Workflow?  How does the focus on individual Core Workflows change across the Lifecycle?  What is the role of risk in the iterative Lifecycle?  What is the purpose of the Use Case Model?  What is the purpose of the Analysis and Design workflow?