Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.

Slides:



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

Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
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.
SYSC System Analysis and Design
Rational Unified Process
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
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.
$100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300.
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.
SE 555 Software Requirements & Specification Beyond Requirements Based on Weigers Chapter17.
Iterative development and The Unified process
Page 1 R Risk-Driven and Iterative Development. Page 2 R Copyright © 1997 by Rational Software Corporation What the Iterative Life Cycle Is Not It is.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
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.
Principles of Object Technology Module 1: Principles of Modeling.
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,
Software Engineering Chapter 15 Construction Leads to Initial Operational Capability Fall 2001.
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.
Chapter 2 The process Process, Methods, and Tools
-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.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
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,
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
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)
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
RUP Fundamentals Instructor Notes
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.
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.
Chapter 8 Workflows of the Process Taken from Walker Royce’s textbook – Software Project Management plus a number of Personal Comments.
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.
Software Project Management (SEWPZG622) BITS-WIPRO Collaborative Programme: MS in Software Engineering SECOND SEMESTER /1/ "The content of this.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
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.
44222: Information Systems Development
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
Iterative development and The Unified process
TK2023 Object-Oriented Software Engineering
Process 4 Hours.
Requirements and the Software Lifecycle
Introduction to Software Engineering
Rational Unified Process
Presentation transcript:

Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational Unified Process (RUP) Dynamic Structure: Iterative Development

Preface This part describes the:  lifecycle structure of the RUP  that is, how the process rolls out over time. 2

Sequential Process 3

A Reasonable Approach Many engineering problems are solved using a sequential process 4

Sequential Process It has five steps: 1) Completely understand the problem  its requirements, and its constraints.  Capture them in writing and  get all interested parties to agree that  this is what they need to achieve. 5

Sequential Process 2) Design a solution that:  satisfies all requirements and constraints.  Examine this design carefully and  make sure that all interested parties agree that it is the right solution. 6

Sequential Process 3) Implement the solution  using your best engineering techniques. 4) Verify that the implementation  satisfies the stated requirements. 5) Deliver. Problem solved! 7

Sequential Process That is how skyscrapers and bridges are built. Civil engineers  hundreds years of Experimentation Software engineers  only a few decades to explore their field. 8

Sequential Process Software projects that use sequential process … aren’t Successful? Why (Reasons)? 1) wrong assumptions. 2) Context is different. 3) Human factors is important. 4) There is not experience of hundreds of years 9

Sequential Process Wrong Assumption 1: Requirements Will Be Frozen Requirements change for many reasons. 1) Users change 10

Sequential Process 2) Problem changes  Users don't really know what they want, but  they know what they do not want when they see it.  Therefore, efforts to  detail,  capture, and  freeze the requirements may ultimately lead to the delivery of a perfect system with respect to the requirements  but the wrong system with respect to the real problem at the time of delivery. 11

Sequential Process 3) The underlying technology changes. 4) The market changes. 12

Sequential Process 5) We cannot capture requirements with sufficient detail and precision.  Formal methods …  have held the promise of a solution,  but, they have not gained significant acceptance in the industry 13

Sequential Process Wrong Assumption 2: We Can Get the Design Right on Paper before Proceeding 14

Sequential Process Software engineering may be misnamed. At various times it more closely resembles a branch of  psychology,  sociology,  philosophy, or  art than engineering.  L aws of physics underlie the design of a bridge, …  but there is no strict equivalent in software design. Software is "soft" in this respect. 15

Overcoming Difficulties: Iterate! How do you eat an elephant? One bite at a time! If the sequential, or waterfall, approach is successful for short projects or those with a small amount of novelty or risk, why not break down the lifecycle of a large project into a succession of small waterfall projects? 16

Overcoming Difficulties: Iterate! In this way, you can address some requirements and some risks, design a little, implement a little, validate it, and then take on more requirements, design some more, build some more, validate, and so on, until you are finished. This is the iterative approach. 17

Overcoming Difficulties: Iterate! 18

Overcoming Difficulties: Iterate! The iterative technique is easy to illustrate but not very easy to achieve. 19

Gaining Control: Phases and Milestones From a project management perspective, we need a way to assess progress to ensure that we are not wandering aimlessly from iteration to iteration but are actually converging on a product. 20

Gaining Control: Phases and Milestones From a management perspective, we must also define points in time to operate as gating functions based on clear criteria. These milestones provide points at which we can decide to proceed, abort, or change 21

Gaining Control: Phases and Milestones Finally, we must partition the sequence of iterations according to specific short-term objectives. 22

Gaining Control: Phases and Milestones Progress will be measured in the number of use cases or features completed, as well as test cases passed, Performance requirements satisfied, and above all, risks eliminated. 23

Gaining Control: Phases and Milestones 24

Gaining Control: Phases and Milestones (1) Inception  Specifying the end-product vision and  its business case and  defining the scope of the project. (2) Elaboration  Planning the necessary activities and required resources;  specifying the features and  designing the architecture. 25

Gaining Control: Phases and Milestones (3) Construction  Building the product and  evolving the vision, the architecture, and the plans until …  the product (the completed vision)  is ready for delivery to its user community. (4) Transition  Transitioning the product to its users, which  includes manufacturing,  delivering,  training,  supporting, and  maintaining the product until users are satisfied. 26

Gaining Control: Phases and Milestones 27

Gaining Control: Phases and Milestones 28

A Shifting Focus across the Cycle Each iteration activities: analysis design implementation integration Test But from one iteration to the next and from one phase to the next, the emphasis on the various activities changes. 29

A Shifting Focus across the Cycle 30

The Inception Phase Objectives: 1) Establish the project's software scope and 2) boundary conditions, including an  acceptance criteria, and  descriptions of what is and is not part of the product.  Discriminate the critical use cases  that is, the primary scenarios of behavior that  will drive the system's functionality and  will shape the major design trade-offs. 31

The Inception Phase Objectives: 3) At least one candidate architecture 4) Estimate the overall  cost and  schedule for the entire project and  provide detailed estimates for the elaboration phase 5) Estimate risks (the sources of unpredictability). 32

The Inception Phase Essential activities : 1) Formulate the scope of the project, that is:  capture the context and  most important requirements and  constraints so that:  can derive acceptance criteria for the end product. 2) Plan and prepare a business case and 33

The Inception Phase 3) Evaluate  alternatives for risk management,  staffing,  project plan, and  trade-offs among  cost,  schedule, and  profitability. 4) Synthesize a candidate architecture,  evaluate trade-offs in design, and  assess make/buy/reuse decisions so that  cost, schedule, and resources can be estimated. 34

The Inception Phase Outcomes: 1) A vision document, that contains,  core requirements,  key features, and  main constraints 2) The use-case model survey that contains:  lists all use cases and  actors that  can be identified at this early stage 3) An initial project glossary 35 Also in Vision

The Inception Phase 4) An initial business case, which includes  Business context  Success criteria  Financial forecast 5) An initial risk assessment 6) A project plan, which shows  the phases and  Iterations and also  project scheduling 36 Also in Vision

The Inception Phase Milestone : Lifecycle Objective 1) Stakeholders concurrence on  scope definition and  cost and  schedule estimates 2) Requirements understanding as evidenced by the  fidelity of the primary use cases 3) Credibility of  cost and schedule estimates,  priorities,  risks, and  development process 37

The Inception Phase 5) Depth and breadth of any architectural prototype that was developed 6) Actual expenditures versus planned expenditures If the project fails to pass this milestone,  it may be canceled or  considerably rethought. 38

The Elaboration Phase elaboration phase is the most critical of the four phases Objectives: 1) Define, validate, and baseline the architecture as rapidly as practical. 2) Baseline the vision. 3) Baseline a high-fidelity plan for the construction phase. 4) Demonstrate that the  baseline architecture will  support this vision  for a reasonable cost in a reasonable time. 39

The Elaboration Phase Essential activities 1) Vision is presented in detail ( elaborated ), that is,  fully expressed, and  a solid understanding is established of the most critical use cases 2) Following are Elaborated:  Process,  Infrastructure,  Development environment  Tools  automation support. 40

The Elaboration Phase 3) The architecture is elaborated and the components are selected.  Potential components are evaluated,  make/buy/reuse decisions are sufficiently understood  Construction-phase cost and schedule with confidence is determined.  The selected architectural components are integrated and  Are assessed against the primary scenarios. 41

The Elaboration Phase Lessons learned from these activities may result in:  a redesign of the architecture,  taking into consideration alternative designs or  reconsideration of the requirements. 42

The Elaboration Phase Outcomes: 1) A use-case model (at least 80% complete) in which  All use cases have been identified in the use-case model survey,  All actors have been identified, and  Most use-case descriptions have been developed 2) Supplementary requirements that  capture the nonfunctional requirements and  any requirements that are not associated with a specific use case 3) A software architecture description. 43

The Elaboration Phase 4) An executable architectural prototype 5) A revised risk list and a revised business case 6) A development plan for the overall project, including:  shows iterations and  evaluation criteria for each iteration 7) An updated development case that specifies the process to be used 8) A preliminary user manual (optional) 44

The Elaboration Phase Milestone: Lifecycle Architecture 1) Is the vision of the product stable? 2) Is the architecture stable? 3) Does the major risks have been addressed (eliminated)? 4) Is the construction phase plan sufficiently detailed and accurate? 45

The Elaboration Phase 5) Do all stakeholders agree that  the current vision can be achieved …  if the current plan is executed to develop the complete system,  in the context of the current architecture? 6) Is the actual resource expenditure versus planned expenditure acceptable? If the project fails to pass this milestone, it may be aborted or considerably rethought. 46

The Construction Phase Objectives: 1) Minimize development costs by  optimizing resources and  avoiding unnecessary rework. 2) Achieve adequate quality as rapidly as practical. 3) Achieve useful versions (alpha, beta, and other test releases) as rapidly as practical. 47

The Construction Phase Outcomes 1) The software product integrated on the adequate platforms  Beta release 2) The user manuals 48

The Construction Phase Milestone : Initial Operational Capability 1) Is product release stable to be deployed in the user community? 2) Are all stakeholders ready for the transition into the user community? 3) Are the actual resource expenditures versus planned expenditures still acceptable? Transition may have to be postponed by one release if the project fails to reach this milestone. 49

The Transition Phase For some projects this lifecycle occur at the same time with: 1) S tarting the next generation or version of the product. 2) Delivery of the artifacts to a third party  responsible for  operation,  maintenance,  enhancements of the delivered system. 50

The Transition Phase Objectives: 1) Achieve user self-supportability. 2) Achieve stakeholder agreement that:  deployment baselines are complete and  consistent with the evaluation criteria of the vision. 51

The Transition Phase If new features must be added, Iteration is similar to those of the construction phase. 52

The Transition Phase This phase can range from simple to extremely complex …  Depending on the type of product,  For example:  a new release of an existing desktop, whereas  replacing a nation's air traffic control system 53

The Transition Phase Milestone: Product Release 1) Is the user satisfied? 2) Are the actual resources expenditures versus planned expenditures still acceptable? 54