Introduction to RUP Spring 2006. Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.

Slides:



Advertisements
Similar presentations
September 2008Mike Woodard Rational Unified Process Key Concepts Mike Woodard.
Advertisements

1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Arlow and Neustadt ch.21 What is the unified process? People are more important than any process. Good people with a good process will outperform good.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 4: Phase Management - Elaboration.
Rational Unified Process Software Engineering Lab. Summer 2006.
Rational Unified Process
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
Software Project Transition Planning
Copyright  Larry Dribin, Ph.D. SE470_ProjMgmt_v1.ppt SE470 - ProjMgmt - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
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
COMP 350: Object Oriented Analysis and Design Lecture 2
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
The web application development process Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 1.
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.
George Blank University Lecturer. Iterative, Evolutionary, and Agile Introduction to the Rational Unified Process.
UML - Development Process 1 Software Development Process Using UML (2)
Rational Unified Process
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
Software Development *Life-Cycle Phases* Compiled by: Dharya Dharya Daisy Daisy
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.
Rational Unified Process (Part 1) CS3300 Fall 2015.
Rational Unified Process Fundamentals Module 4: Disciplines II.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
RUP Fundamentals - Instructor Notes
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.
Iterative Project Management Chapter 3.2 – The Unified Process Modified considerably by Instructor Class Discussions / Presentations.
Chapter – 9 Checkpoints of the process
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 6: Phase Management -Transition.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
RUP Fundamentals Instructor Notes
Inception Chapter 4 Applying UML and Patterns -Craig Larman.
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Chapter 8 Workflows of the Process Taken from Walker Royce’s textbook – Software Project Management plus a number of Personal Comments.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
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.
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.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Rational Unified Process (RUP)
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
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.
Iterative development and The Unified process
TK2023 Object-Oriented Software Engineering
Process 4 Hours.
Iterative, Evolutionary, and Agile Rational Unified Process
Unified Process (UP).
Introduction to Software Engineering
Object Oriented Analysis and Design
Chapter 2 – Software Processes
OO Design and Development
Presentation transcript:

Introduction to RUP Spring 2006

Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition

Sharif Univ. of Tech.3 What is RUP? Shows how you can apply best practices of software engineering, and how you can use tools to automate your software engineering process Rational Unified Process is created to be: –Iterative incremental Risks, changes, continuous integration, etc. –Architecture centric Understand the purpose, skeleton of the system, foster reuse, technical risks, etc. –Use case driven Develop use-case by use-case, traceability, etc. RUP uses UML

Sharif Univ. of Tech.4 Why RUP Risks –Early and continuous documentation of the most urgent and the most probable risks. (Assignment) –Planning to which part focus UML (Common and Standard Modeling language ) Use cases Iterative development –By doing a piece of work at the time, review it and test its functionality. Actually saves time because early mistakes can be reveal

Sharif Univ. of Tech.5 Best Practices Develop iteratively –In a waterfall lifecycle, you cannot verify whether you have stayed clear of a risk until late in the lifecycle –In an iterative lifecycle, you will select what increment to develop in an iteration based on a list of key risks Benefits: –Accommodating changes –Mitigating risks –Increasing reuse –Learning –Higher quality

Sharif Univ. of Tech.6 Best Practices (Cont.) Manage requirements Modeling visually (UML) Use component architectures Verify quality continuously Manage change

Sharif Univ. of Tech.7 RUP should be customized

Sharif Univ. of Tech.8 Inception Goals Establishing the project's software scope and boundary conditions, including: –an operational vision –acceptance criteria –what is intended to be in the product –what is not. Discriminating –the critical use cases of the system –the primary scenarios of operation that will drive the major design trade-offs. Exhibiting, and maybe demonstrating, at least one candidate architecture against some of the primary scenarios

Sharif Univ. of Tech.9 Inception Goals (Cont.) Estimating –the overall cost –and schedule for the entire project –and more detailed estimates for the elaboration phase that will immediately follow Estimating potential risks (the sources of unpredictability) Preparing the supporting environment for the project.

Sharif Univ. of Tech.10 Inception Essential Activities Formulating the scope of the project. Planning and preparing a business case. Synthesizing a candidate architecture. Preparing the environment for the project. …

Sharif Univ. of Tech.11 Inception Artifacts Vision: The project's core requirements, key features, and main constraints are documented. Stakeholders … Glossary: defines important terms used by the project. Business Case: provides the necessary information from a business standpoint to determine whether or not this project is worth investing in. Software Development Plan: all information required to manage the project. (Risk, time and durations, needed tools, changes, documentations) Use-case model: a model of the system's intended functions and its environment, and serves as a contract between the customer and the developers.

Sharif Univ. of Tech.12 Elaboration Goals To ensure stability of: –Architecture; –Requirements; –Plans. To be able to predictably determine: –Cost; –Schedule. To address all significant risks of the project, and to ensure all of them will be mitigated. To establish a baseline architecture –Derived from addressing the architectural significant scenarios

Sharif Univ. of Tech.13 Elaboration Goals (Cont.) To produce an evolutionary prototype Verify baseline architecture –Demonstrate that the architecture will support requirements of the system at a reasonable cost and time. To establish a supporting environment.

Sharif Univ. of Tech.14 Elaboration Activities Defining, validating the baseline architecture. Refining the Vision. Creating detail of iteration plans for the construction phase. Refining the development case and putting in place the development environment Refining the architecture and selecting components.

Sharif Univ. of Tech.15 Elaboration Artifacts Software Architecture Document: provides a comprehensive architectural overview of the system, using a number of different architectural views to depict different aspects of the system. Prototypes: One or more executable architectural prototypes have been created to explore critical functionality and architecturally significant scenarios. Design model: an object model describing the realization of use cases, and serves as an abstraction of the implementation model and its source code. Data model: a subset of the implementation model which describes the logical and physical representation of persistent data in the system. Testing Mechanisms and refining previous Iteration’s artifacts.

Sharif Univ. of Tech.16 Construction Goals Minimizing development costs by optimizing resources and avoiding unnecessary scrap and rework. Achieving adequate quality as rapidly as practical Achieving useful versions (alpha, beta, and other test releases) Completing the analysis, design, development and testing of all required functionality. To decide if the software, the sites, and the users are all ready for the application to be deployed. To achieve some degree of parallelism in the work of development teams.

Sharif Univ. of Tech.17 Construction Activities Resource management, control and process optimization Complete component development and testing against the defined evaluation criteria Assessment of evaluation of product releases against acceptance criteria for the vision.

Sharif Univ. of Tech.18 Construction Artifacts The System: The executable system itself, ready to begin "beta" testing. Training materials: the material that is used in training programs or courses to assist the end-users with product use, operation and/or maintenance. Testing results and refining previous Iteration’s artifacts.

Sharif Univ. of Tech.19 Transition Goals Beta testing to validate the new system against user expectations Beta testing and parallel operation relative to a legacy system that it's replacing Training of users and maintainers Roll-out to the marketing, distribution and sales forces Tuning activities such as bug fixing, enhancement for performance and usability

Sharif Univ. of Tech.20 Transition Goals (Cont.) Achieving user self-supportability Achieving stakeholder concurrence that deployment baselines are complete

Sharif Univ. of Tech.21 Transition Activities Executing deployment plans Finalizing end-user support material Testing the deliverable product at the development site Creating a product release Getting user feedback Fine-tuning the product based on feedback Making the product available to end users

Sharif Univ. of Tech.22 Transition Artifacts Product. Release Notes: identify changes and known bugs in a version of a build or deployment unit that has been made available for use. Installation Artifacts: refer to the software and documented instructions required to install the product. End-User Support Material: Materials that assist the end-user in learning, using, operating and maintaining the product. Testing results and refining previous Iteration’s artifacts.