RUP Life Cycle Software Engineering Learning Programme Software Engineering Foundation.

Slides:



Advertisements
Similar presentations
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Advertisements

1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 3: RUP Structure and Navigation.
Static Structure: Process Description
Mastering Object-Oriented Analysis and Design with UML Module 4: Analysis and Design Overview.
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.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
SE 470 Software Development Processes James Nowotarski 21 April 2003.
Requirements Specification
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process.
Rational Worldwide Software Symposium
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
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
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
Object Oriented Analysis and Design Using the UML
Principles of Object Technology Module 1: Principles of Modeling.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
UML - Development Process 1 Software Development Process Using UML (2)
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.
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
RUP Implementation and Testing
Rational Unified Process Fundamentals Module 4: Disciplines II.
RUP Fundamentals - Instructor Notes
Identify steps for understanding and solving the
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
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.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
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.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
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:
RUP Fundamentals Instructor Notes
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
The principles of an object oriented software development process Week 04 1.
RequisitePro Software Requirement Management Tool A peresentation by: Mojdeh Jalali-Heravi Maryam Daneshi.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Introduction to Rational Unified Process
1 Unified Modeling Language, Version 2.0 Chapter 2.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Introduction to UML.
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
1.Introduction to Rational Unified Process (RUP)
Unified Process Source & Courtesy: Jing Zou.
UML: Unified modeling language
Introduction to Software Engineering
Rational Worldwide Software Symposium
Rational Unified Process
Introduction to UML.
Rational Worldwide Software Symposium
Software engineering -1
Rational Worldwide Software Symposium
Presentation transcript:

RUP Life Cycle Software Engineering Learning Programme Software Engineering Foundation

Producer/ddmmyy - Title - author / 2 Module Objectives  To understand the main concepts - RUP Fundamentals - Terminology / context / deliverables  To understand the benefits and best practices  Understand the role of the SE within RUP  Understand what input deliverables are needed and where do they come from  Which output deliverables are used as input for roles further in the process and how they are used Delivery Guidelines Format: Webcast / and intructor-intro Duration: 3 hours / 60 Minutes

Producer/ddmmyy - Title - author / 3 Module Topics  What about RUP  Background and why use it,  RUP  Best practices  Model Visually  Requirements management  Importance of traceability  Importance of configuration management  RUP language  Terminology and symbols  Deliverables  SE role level 1

Producer/ddmmyy - Title - author / 4 RUP – what about it and why use it?  The "Rational Way" is:  Iterative and incremental  Object-oriented  Managed and controlled  Highly automated  It is generic enough to be tailorable to a wide variety of software products and projects, both in size and application domain. It is centered around three poles:  People  Process  Tools and methods

Producer/ddmmyy - Title - author / 5 RUP – history.  1998 Rational Unified Process (RUP) released to the public.  Result of from team collaborations and three software developers. “Three Amigo’s”  RUP successor of Rational Objectory Process (ROP), includes all aspects of the software development life-cycle.  1999 OMG issues a request for proposal (RFP).  Goal to provide an industry standard for tools and technologies for the software development lifecycle.  May 2000, Rational Software Corporation, IBM, et al, submit the Unified Process Model (UPM)  And now… “Object-Oriented Modelling and Design” (1991) “Object-Oriented Software Engineering: A Use Case Driven Approach” (1992) “Object-Oriented Software Engineering: A Use Case Driven Approach” (1992) GRADY BOOCH IVAR JACOBSON IVAR JACOBSON JAMES RUMBAUGH JAMES RUMBAUGH “Object-Oriented Design with Applications” (1993) “Object-Oriented Design with Applications” (1993)

Producer/ddmmyy - Title - author / 6 Phases, Disciplines and Milestones Time Content

Producer/ddmmyy - Title - author / 7 Best practices Develop Iteratively Manage Requirements Model Visually Use Component Architectures Continuously Verify Quality Control Change Best Practices

Producer/ddmmyy - Title - author / 8 Best Practice 4 Model Visually  Capture the structure and behavior of architectures and components  Show how the elements of the system fit together  Hide or expose details as appropriate for the task  Maintain consistency between a design and its implementation  Promote unambiguous communication  Visual modeling improves our ability to manage software complexity The Unified Modeling Language (UML) is a language for specifying, visualizing, constructing, and documenting the artifacts of software systems.

Producer/ddmmyy - Title - author / 9 Diagrams are view of a Model

Producer/ddmmyy - Title - author / 10 Best practice 2 Manage Requirements

Producer/ddmmyy - Title - author / 11 Requirement and Requirements Management  A requirement describes a condition or capability to which a system must conform..  Types:  Functional requirements  Non-functional requirements  packaged Software Requirements Specification (SRS))  Requirements management is a systematic approach to finding, documenting, organizing and tracking the changing requirements of a system  White Paper: Applying Requirements Management with Use Cases White Paper: Applying Requirements Management with Use Cases

Producer/ddmmyy - Title - author / 12 Business Needs drive Customer Needs which drive User Needs which demand Product Features that drive Software Requirements that we developers Implement and Test E. Magaziner ‘96 What is Requirements Traceability?

Producer/ddmmyy - Title - author / 13 Why Use Requirements Traceability?  The purpose is to:  Verify that all requirements of the system are fulfilled by the implementation.  Verify that the application does only what it was intended to do  Help manage change  A proven technique for assuring quality  Practiced by high-reliability system developers  Mandated by standards (e.g.: DOD, FDA)  Recommended by IEEE and CMM  A proven technique for understanding the impact of changes

Producer/ddmmyy - Title - author / 14 Sample Queries Using Requirement Links  Show me user needs which are not linked to product features  Show me the status of tests on all use cases in iteration #3?  Show me all supplementary requirements linked to tests whose status is untested  Show me the results of all tests which failed, in order of criticality  Show me the features scheduled for this release, which user needs they satisfy, and their status

Producer/ddmmyy - Title - author / 15 Determine Your Requirement Traceability Strategy Stakeholder Requests Vision Design Model Supplementary Specification End-User Documentation Materials and Training Materials Use-Case Model Test Model Features Software Requirements Needs

Producer/ddmmyy - Title - author / 16 1.Trace top level requirements into detailed requirements 2.Trace requirements into design 3.Trace requirements into test procedures 4.Trace requirements into user documentation plan Design Software Design Descriptions Object Models Test Suites Test 2 3 Req A 1 Product Requirements (Features) Detailed Requirements (Use Cases) Req B Documentation Plan User Docs 4 Establish Traceability Paths

Producer/ddmmyy - Title - author / 17 Viewing Links - Traceability Matrix

Producer/ddmmyy - Title - author / 18 Viewing Links - Tree Report Tree reports provide the ability to trace linkages through the document hierarchy.

Producer/ddmmyy - Title - author / 19 What is Configuration Management?  Configuration Management is a discipline which enables you to identify the components of a system, so that you can:  Control all changes to the components  Maintain integrity and traceability through the whole application life cycle

Producer/ddmmyy - Title - author / 20 Why Configuration Management?  To follow the progress of developments  To follow the evolution of one particular component  To ensure the use of the right component  To allow sharing of one component between several developers without conflicts and loss of data  To ensure the safety of components  To allow regeneration of complete and up-to-date application versions  To provide visibility on the development / maintenance cycle

Producer/ddmmyy - Title - author / 21 Configuration Management Software  CM Software Provides the Ability to :  Maintain a single copy of system elements  Control access to data  Maintain an exhaustive inventory of software components  Maintain a history of changes  Follow and control a defined process  Manage the security of different environments (development, QA, production)

Producer/ddmmyy - Title - author / 22 RUP – terminology  RUP uses roles, disciplines, phases and artifacts  Some terms are new for developers;  Know the RUP language!

Producer/ddmmyy - Title - author / 23 Schedule oriented terms in the RUP InceptionConstruction phase Elaboration Transition proces iteration development cycle milestone release Final production release product increment = delta release Initial Operational Capability LifeCycle Architecture Milestone LifeCycle Objectives Milestone

Producer/ddmmyy - Title - author / 24 RUP Terminology: Discipline All activities you may go through to produce a particular set of artifacts. The contents of each discipline in RUP are organized as shown in the Environment discipline example.

Producer/ddmmyy - Title - author / 25 Disciplines Produce Models Use-Case Model Implementation Model implemented by realized by (Analysis) Design (Model) Model automated by Analysis & Design Requirements Implementation Test Business Modeling Business Use- Case Model Business Object Model

Producer/ddmmyy - Title - author / 26 RUP Terminology : Workflow Disciplines > Test > WorkflowDisciplinesTest  Workflows: Each Discipline contains one Workflow which shows a typical sequence of events when conducting the flow of work.  Workflows are expressed in terms of Workflow Details which are ordered conditionally. Workflow Details

Producer/ddmmyy - Title - author / 27 RUP Terminology : Workflow Details Example: Disciplines > Test > Workflow > Improve Test AssetsDisciplinesTestWorkflow  Workflow Details are groupings of activities that are done "together," presented with input and resulting artifacts.  Disciplines are explained using Workflow Details.

Producer/ddmmyy - Title - author / 28 RUP Terminology : Activity  A piece of work a role may be asked to perform  Granular: usually takes a few hours to a few days  Repeated, as necessary, in each iteration  Example Thinking Performing Evaluating Activity: Find use cases and actors  Step: Find Actors  Step: Find Use Cases  Step: Describe How Actors & Use Cases Interact  Step: Package Use Cases and Actors  Step: Present Use-Case Model in U-C Diagrams  Step: Develop a Survey of the Use-Case Model  Step: Evaluate Your Results

Producer/ddmmyy - Title - author / 29 RUP Terminology : Artifact  A piece of information that is produced, modified, or just used by a process  Defines an area of responsibility  Likely to be subject to configuration control  Kinds of artifacts:  Models  Model elements  Documents  Artifacts may contain other artifacts

Producer/ddmmyy - Title - author / 30 Example: Artifact Overview Diagram Example: Disciplines-> Requirements-> Artifact Overview

Producer/ddmmyy - Title - author / 31 RUP Terminology : Role  A role defines the behavior and responsibilities of an individual, or a set of individuals, working together as a team  Behavior: a set of cohesive activities  Responsibilities: usually defined relative to certain artifacts  A role is a “hat” worn by an individual RUP role set Analysts Developers Testers Managers Other roles

Producer/ddmmyy - Title - author / 32 Example: Role Responsibility Diagram Example: Systems Analyst Example: Implementor

Producer/ddmmyy - Title - author / 33 Guidelines  Rules, recommendations, heuristics that support artifacts and activities  Add the benefit of experience to activities  Describe well-formed artifacts, focus on qualities  Describe specific techniques  Transformations from one artifact to another  Use of UML  Used also to assess the quality of artifacts  Can be tailored by the organization  Work guidelines:  Provide work and documentation techniques, often complements to the formal artifacts defined in the RUP  Can be used as an aid in more than one of the activities  Focus on techniques that help team communication

Producer/ddmmyy - Title - author / 34 Tool Mentors  Similar to guidelines  Explain how to use a specific tool to perform an activity or steps in an activity  Linked by default to Rational tools:  Rational RequisitePro: requirements management  Rational Rose: visual modeling, using UML  Rational SoDA: documentation generation  Rational ClearQuest: change management, defect tracking  …. and more

Producer/ddmmyy - Title - author / View Model Process View Deployment View Logical View Implementation View Programmers Software management System Integrators Performance Scalability Throughput System Engineering System topology Delivery, installation communication Use-Case View End-user Functionality Analysts/Testers Behavior

Producer/ddmmyy - Title - author / 36 Summary  What about RUP  Background and why use it,  RUP  Best practices  Model Visually  Requirements management  Importance of traceability  Importance of configuration management  RUP language  Terminology and symbols  Deliverables  SE role level 1

Producer/ddmmyy - Title - author / 37 More to know….  Sources used when developing the RUP product  Explore the RUP knowledge base.  RUP Glossary  RUP Resource Center online  Visit and Rational developers networkwww.therationaledge.com  Books: The Rational Unified Process an Introduction Philippe Kruchten Building J2ee Applications with the Rational Unified Process Peter Eeles Building Web Applications with UML Jim Conallen  Examples white papers  Reaching CMM Levels 2 and 3  Applying Requirements Management with Use Cases  Developing Large-Scale Systems with the Rational Unified Process The Ten Essentials of RUP — The Essence of an Effective Development Process Using the Rational Unified Process for Small Projects: Expanding Upon eXtreme Programming

Producer/ddmmyy - Title - author / 38 Exercise 1/1 1.What’s the relationship between a Role, Artifact and Activity? 2.What are the roles the CGEY Software Engineer can realize? 3.How do Workflows, Workflow Details and Activities fit together? 4.What is the importance of the iteration plan for a SE? 5.Right or Wrong? (explain your vote !) 1.In the discipline Analyse And Design the analyst performs use case analysis. 2.The System Architect is responsible for the analysis model 3.The Designer is responsible for the activity Find Business actors and use cases 4.The Use case template should always completely been used. 5.The Designer is not responsible for the design Model. 6.The Test Designer performs Unit Tests 7.The Implementer plans and integrates subsystems 8.The Integrator is responsible for the integration build plan 9.The deployment unit is an artifact for which the deployment manager is responsible. 10.Use case realizations are realized in requirements.

Producer/ddmmyy - Title - author / 39 Exercise 1/2 1.What artifact the SE is responsible for contains other artifacts? 2.Are there any changes for the developer in the new version of RUP (2003) 3.Take 5 artifacts a SE will be responsible for. Describe for each artifact the RUP role responsible and in which view (of the 4 in 1 model view) this artifact is described. 4.What Tools will be used by a CGEY SE in the different roles? 5.Are all tools necessary for a development cycle? What is the minimum set? 6.How do Tool Mentors work in RUP?

Producer/ddmmyy - Title - author / 40 Questions