1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 4: RUP Content.

Slides:



Advertisements
Similar presentations
1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 3: RUP Structure and Navigation.
Advertisements

® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 4: Phase Management - Elaboration.
Static Structure: Process Description
PRJ270: Essentials of Rational Unified Process
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.
SE 470 Software Development Processes James Nowotarski 21 April 2003.
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.
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process.
SwE 313 Introduction to Rational Unified Process (RUP)
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
Iterative development and The Unified process
4. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the elements of project management and the responsibilities of a.
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.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 RUP Architecture.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 3: Phase Management - Inception.
RUP Requirements RUP Artifacts and Deliverables
UML - Development Process 1 Software Development Process Using UML (2)
Rational Unified Process
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Unified Software Development Process (UP) Also known as software engineering process SEP describes how requirements are turned into software Defines who,
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.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Rational Unified Process (Part 1) CS3300 Fall 2015.
RUP Implementation and Testing
Rational Unified Process Fundamentals Module 4: Disciplines II.
Identify steps for understanding and solving the
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Object Oriented Design and Analysis Rational Unified Process.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
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.
RUP Fundamentals Instructor Notes
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 (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
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.
The principles of an object oriented software development process Week 04 1.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Introduction to Rational Unified Process
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
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
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.
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 PROCESS FRAMEWORK OVERVIEW.
1.Introduction to Rational Unified Process (RUP)
UML: Unified modeling language
Rational Unified Process
Chapter 2 – Software Processes
Software engineering -1
Software Development Process Using UML Recap
Presentation transcript:

1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 4: RUP Content

2 Module 4 Objectives Be introduced to the content of RUP and its application by investigating:  RUP disciplines Requirements Business Modeling Configuration & Change Management Environment Project Management Analysis & Design Implementation Test Deployment

3 Review: RUP Organization Based on Content The disciplines are:  Business Modeling  Requirements  Analysis & Design  Implementation  Test RUP content is organized into disciplines. Discipline: a collection of activities that are all related to a major “area of concern.”  Deployment  Configuration & Change Management  Project Management  Environment

4 RUP Disciplines RUP has disciplines. Artifacts from each discipline evolve over the iterative process.

5 Disciplines Produce and Share Models Various disciplines produce Models … Analysis & Design Require- ments Business Modeling Implement- ation Implemented By Implementation Model Design Model Use-Case Model Business Use- Case Model Business Object Model Realized By Automated By Realized By Test Verified ByValidated By BBB B … each of those models is Assessed Deployment Input To

6 Requirements Discipline Purpose  Establish and maintain agreement with the customers and other stakeholders on what the system should do  Provide system developers with a better understanding of the system requirements  Define the boundaries of (delimit) the system  Provide a basis for planning the technical contents of iterations  Provide a basis for estimating cost and time to develop the system  Define a user-interface for the system, focusing on the needs and goals of the users

7 Requirements Types  Features: used for scoping the project  Main audience: Stakeholders  Documented in the Vision artifact  Functional Requirements: specifying interactions with system users  Main audience: users and project team  Modeled in the Use-Case Model artifact  Supplementary Requirements: specifying functionality, usability, reliability, performance, supportability requirements, and design constraints  Main audience: architects and designers  Documented in the Supplementary Specifications artifact

8 Major Concepts in the Use-Case Model An actor represents a person or another system that interacts with the system. A use case defines a sequence of actions a system performs that yields a result of observable value to an actor. Actor Use Case

9 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.

10 Charlie C d harlieas epotstaff DepotStaff Charlieasdepot manager DepotManager A User Can Act as Several Actors

11 Use Case  A use case specifies 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.

12 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. Register for Courses Student Course Catalog

13 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

14 What Is in a Use-Case Model?  Actors and their descriptions  Use-case diagrams showing relationships  For each use case:  Name and brief description  Textual specification of: Flow of events Pre-conditions and post-conditions (optional) Special requirements Other diagrams, such as activity or state diagrams

15 Review: Disciplines Produce and Share Models Various disciplines produce Models … Analysis & Design Require- ments Business Modeling Implement- ation Implemented By Implementation Model Design Model Use-Case Model Business Use- Case Model Business Analysis Model Realized By Automated By Realized By Test Verified ByValidated By BBB B … each of those models is Assessed Deployment Input To

16 Use Cases as a Basis for Iteration Planning Use-Case Model Supplementary Specifications Iteration Plan Fine-grained plan for a single iteration Project Management Constraints During Elaboration, use cases are implemented to validate the architecture.

17 Use Cases as a Basis for System Modeling (1) verification realizatio n Use-Case Model (requirements) Implementation Model (source code) Test Scripts influence Design Model (classes and objects)

18 Use Cases ExecAnalysis Classes Design Classes Source Code Use Cases as a Basis for System Modeling (2)

19 Use Cases as a Basis for Test Planning The complete behavior of a use case is tested using Test Scripts and Test Suites. Test Suite Test Script Test Suite

20 Requirements Traceability Trace product requirements (features) into detailed requirements Trace requirements into design Trace requirements into test procedures Trace requirements into user documentation and training materials

21 Business Modeling Discipline  Purpose  Understand problems in target organization and identify potential improvements  Ensure customer and end user have common understanding of target organization  Derive system requirements to support target organization  Understand structure and dynamics of organization in which system is to be deployed  This discipline uses an approach very similar to that of system development

22 Two Business Models What Business Models Show  Customers and vendors  Business processes  Organizational structure  Roles and responsibilities  Products  Internal deliverables  Events Business Use-Case Model Business Analysis Model

23 Business Modeling and Software Development Business Modeling acts as:  Input to Requirements  Business Use-Case Models help you to understand the requirements of the system and identify system use cases  Input to Analysis & Design  Business entities from the Business Analysis Model help identify entity classes in the Analysis Model

24 Configuration & Change Management Discipline Purpose: controls change to, and maintains the integrity of, a project’s artifacts.

25 Configuration Management (CM) Configuration Management tools Support members of the project team (especially those involved in development) by enabling:  Baselining of versions and concurrent development  Configuration identification and management  Configuration status accounting and change tracking  Version selection  Software manufacture  Measurement accounting by element  A framework for Work Breakdown Structure design The Product Directory Structure contains elements of the product under development

26 Sample Product Directory Structure The structure should be initiated during Inception and detailed as the product is defined.

27 Change Request Management (CRM) Two basic types of requests need to be managed:  Defects  CRM supports all members of the team by managing the processes to acquire, assign, correct, and report defect-related activities.  Enhancement Requests  CRM supports the Change Control Board in the administration of assessment and disposition of product change proposals.

28 Change Request Management (CRM)

29 Measurement  Quality:  Describes the state of the product based on the type, number, rate, and severity of defects found and fixed during the course of product development  Progress:  Measurements derived under this aspect, either through audits or raw data, are useful in determining the overall completeness status of the project.

30 Environment Discipline  Purpose: Focuses on the activities necessary to configure the process for a project. Defines what improvements are realistic under the project’s circumstances: Current process Current tools Current staff skills and capabilities for change Current problems and possible improvement objectives

31 Important Environment Artifacts Development Process: is a configuration of the underlying RUP framework that meets the needs of the project following it. Development Case: describes the development process that you have chosen to follow in your project.

32 Development Case  Reflects decisions made by team leaders of the project  Describes the development process that you have chosen to follow in your project  Is contained in Environment discipline  Is created early in Inception, and updated during project Development Case Select from RUP knowledge base Minimize cost of process definition

33 Development Case (Partial Example) ArtifactsHow to UseReview Details Tools Used / Templates / Examples IncepElabConstTrans GlossaryMust Formal – External MS Word/Template: Glossary Requirements Management Plan Must Formal – External RequisitePro/Template: Requirements Management Software Requirements Specification Must Formal – External MS Word/Template: Software Requirements Specification Supplementary Specification Must Formal – External RequisitePro/Template: Supplementary Specification Use-Case ModelShouldMust Formal – External Rose/Template: Use-Case Model Use-Case PackageCould InformalRose/Embedded Stakeholder Requests Must Formal – External ClearQuest/Template: Stakeholder Requests VisionMust Formal – External RequisitePro/Template: Vision

34 Project Management Discipline 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. Main artifacts are:  Project Plan  Risk Management Plan  Business Case  Iteration Plans

35 Business Case  Involves estimation of development costs based on:  The current Product Directory Structure  Make, buy, reuse decisions made by the architect  Estimation of project benefits to establish ROI  Estimation fidelity improves as the project goes through phases (shown before)  Typically the “justification” is made for the next phase, with scoped estimates for the rest.

36 Iteration Plan  Focus during Inception and Elaboration  Project scoping and risk reduction, especially architectural risks  Focus during Construction and Transition  Development efficiency and product quality

37 Discussion: Strategies for Iterative Development Evolutionary (2) Incremental delivery (3) “Grand design” (4) Conceptual prototype Architectural baseline ReleaseDelivery #1#2#n+1#..#m#m+1#m+2.. Iter. No. Prel. Iteration Elabo- ration ConstructionTransitionInception Incremental (1)

38 Planning for Iterative Development Iteration Plan (next) Iteration Plan (current) Fine-grained Plans Phase Plan Iterations for each phase Number of iterations Objectives Duration Coarse-grained Plan Phases and major milestones What and when Project Plan “Roadmap”

39 RUP Planning Guide for Microsoft® Project 2002  Free download available on RDN  Allows you to rightsize your project plan by helping you to:  plan the number of iterations to include in each project phase  incrementally plan each iteration by selecting from a suggested list of: tasks to be undertaken potential deliverables and artifacts to be produced roles to be responsible.  Contains one-click access to RUP

40 What You Can Do in the RUP Planning Guide Wizards allow you to select how many iterations you want in each phase, as well as which discipline- based RUP activities you want in each iteration. Wizards allow you to select what deliverables you want in each iteration, and to attach activities or roles to them.

41 Analysis & Design Discipline Purpose:  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 Primary artifact is the Design Model.

42 A Design Model:  Is an object model describing the realization of use cases  Serves as an abstraction of the implementation model and its source code  Is used as essential input to activities in implementation and test

43 Use Cases Drive Analysis & Design Supplementary Specifications Use-Case Model Analysis and Design Design Model Data Model Architecture Document Analysis Model (optional)

44 Use-Case Realization in Analysis & Design Use Case (Use-Case Model) Use-Case Realization (Design Model) > Class Diagrams Sequence Diagrams Collaboration Diagrams Use Case

45 Use-Case Analysis & Design  The complete behavior of a use case is allocated to collaborating classes.

46 Sample UML Class Diagram 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() >

47 Sample UML Sequence Diagram : Student : :RegisterForCoursesForm : :RegistrationController : Course Catalog : :CourseCatalogSystem 1: create schedule( ) 5: display course offerings( ) 2: get course offerings( ) 3: get course offerings(forSemester) 6: display blank schedule( ) 4: get course offerings( )

48 Implementation Discipline Purpose:  Implement classes and objects in terms of components and source code  Define the organization of the components in terms of implementation subsystems  Test the developed components as units  Create an executable system Primary artifact is Implementation Model.

49 What is an Implementation Model? Trading Services Telephone Banking A B > Components and implementation subsystems in a Telephone Banking System.  An Implementation Model consists of:  Components  Implementation Subsystems  Components include:  Deliverable components, such as executables  Components from which the deliverables are produced, such as source code files

50 Build A build:  Is an operational version of a system or part of a system.  Demonstrates a subset of the capabilities provided in the final product.  Is an integral part of the iterative lifecycle.  Provides review points.  Helps uncover integration problems as soon as they are introduced.

51 Test Discipline Purpose:  Finding and documenting defects in software quality  Generally advising about perceived software quality  Proving the validity of the assumptions made in design and requirement specifications through concrete demonstration  Validating the software product functions as designed  Validating that the requirements have been implemented appropriately The Test discipline:  Focuses primarily on the evaluation or assessment of quality realized through a number of core practices  Acts in many respects as a service provider to the other disciplines

52 Types of Test  Functionality  Function test  Security test  Volume test  Usability  Usability test  Reliability  Integrity test  Structure test  Stress test  Performance  Benchmark test  Contention test  Load test  Performance profile  Supportability  Configuration test  Installation test Notice the match with Supplementary Specifications Types.

53 Test Automation and Tools  Data acquisition tools  Static measurement tools  Dynamic measurement tools  Simulators or Drivers  Test management tools

54 Deployment Discipline  Purpose: Manage the activities associated with ensuring that the software product is available for its end users, such as:  Product deployment  Testing at the installation and target sites  Beta testing  Creating end-user support material  Creating user training material  Releasing to customer (in the form of shrink- wrapped package, download site, etc.)

55 Use Cases and End-User Documentation Deployment End-User Support Material User’s Guide Online Help Demos Tutorials Training Material Use-Case Model Supplementary Specification

56 Review  RUP content is organized into disciplines. A discipline is a collection of related activities that are related to a major “area of concern.”  Disciplines group:  Activities that are related  The roles that perform those activities  The artifacts that result from those activities  Most disciplines produce models.  Activities in disciplines have dependencies that cross discipline boundaries.

57 Exercises Complete Module 4 Exercise 1: Artifact Evolution Through Phases in the Exercises section of your student manual. This exercise will allow you to become familiar with some RUP artifacts and how they evolve through phases. Complete Discussion Points associated with Exercise 2.

58