James Nowotarski 13 April 2004 IS 553 Advanced Systems Development Practices.

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
RUP/UP Software Development Method Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Ch 3 System Development Environment
1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 3: RUP Structure and Navigation.
Rational Unified Process
SE 470 Software Development Processes James Nowotarski 21 April 2003.
1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
SE 470 Software Development Processes James Nowotarski 14 April 2003.
IS 421 Information Systems Management James Nowotarski 16 September 2002.
SE470 - Rational Unified Process Overview
James Nowotarski 20 April 2004 IS 553 Advanced Systems Development Practices.
Copyright  Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 1 Excellence in Software Engineering Repeatable Level Defined.
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.
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.
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.
Chapter 1 The Systems Development Environment
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,
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.
Thirteenth Lecture Hour 8:30 – 9:20 am, Sunday, September 16 Software Management Disciplines Process Automation (from Part III, Chapter 12 of Royce’ book)
-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.
Chapter 1: Introduction to Systems Analysis and Design
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Identify steps for understanding and solving the
Object Oriented Design and Analysis Rational Unified Process.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
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)
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
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.
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.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
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.
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.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Software Development Framework
Iterative development and The Unified process
Process 4 Hours.
Chapter 1: Introduction to Systems Analysis and Design
Rational Unified Process
Software engineering -1
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Chapter 1: Introduction to Systems Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

James Nowotarski 13 April 2004 IS 553 Advanced Systems Development Practices

2 Course Map Underpinnings. Introduction. Essentials Content. Rational Unified Process. Agile Implementation. Metrics. CMM. Distributed development. Tools & training Briefings (Term Papers) Assignments Quizzes Week (RUP)(Agile)(CMM) (Distr. Dev.)

3 Understand the basics of the Rational Unified Process (RUP) Structure Content Guiding principles In particular, understand how RUP enables iterative development Discuss the term project Today’s Objectives

4 Topic Duration RUP Overview75 minutes *** Break15 minutes Current Event Recaps (Asgn #5)15 minutes RUP and Iterative Development45 minutes Asgn #1, Quiz #1, Term Project30 minutes Today’s Agenda

5 Topic Duration RUP Overview75 minutes *** Break15 minutes Current Event Recaps (Asgn #5)15 minutes RUP and Iterative Development45 minutes Asgn #1, Quiz #1, Term Project30 minutes Today’s Agenda

6 Think to yourself how many of the projects you have worked were: On Time? On Budget? High Quality? The Bottom Line: Our Customers are upset with us.

7 Symptoms and Root Causes Some Symptoms: Requirements in flux Some Root Causes: Insufficient and misunderstood requirement

8 RUP Guiding Principles Iterative Development Quality Customer Value Attack risk Accommodate change Work together Executable software Architecture baseline Component-based development Objectives Strategies Tactics

9 RUP Guiding Principles Iterative Development Quality Customer Value Attack risk Accommodate change Work together Executable software Architecture baseline Component-based development Objectives Strategies Tactics

10 Continuously Verify Quality In the Rational Unified Process, quality is defined as: “ The characteristic identified by the following: satisfies or exceeds an agreed upon set of requirements, and assessed using agreed upon measures and criteria, and produced using an agreed upon process." More than simply "meeting requirements" or producing a product that meets user needs, or expectations, etc. Quality also includes identifying the measures and criteria to demonstrate the achievement of quality, and the implementation of a process to ensure that the product created by the process, has achieved the desired degree of quality (and can be repeated and managed).

11 Test Each Iteration Start testing early Continuously test Test each iteration for functionality and performance Iterative development makes regression testing necessary Use automated tests whenever possible

12 RUP Guiding Principles Iterative Development Quality Customer Value Attack risk Accommodate change Work together Executable software Architecture baseline Component-based development Objectives Strategies Tactics

13 Why focus on change? Life cycle phase Cost of change Req Anal.Des. Impl.Test Prod y = ax p

14 Ways to Accommodate Change

15 Control Changes You must control, track and monitor changes to enable iterative development Control changes for all software artifacts: Models Documents Source code Project plans Establish secure workspaces fore each developer Automated integration and build management

16 Controlling Parallel Development Multiple developers Multiple teams Multiple sites Multiple iterations Multiple releases Multiple projects Multiple platforms

17 Configuration Management Configuration Management is the process which controls the changes made to a software system and manages the different versions and releases of the evolving software products Librarian like function Manages the version number for each software product Changes made are controlled by a Change Control Process Can be managed manually or through the use of a configuration management tool (Difficult to do manually, but it can be done.) Check In Check Out Read only for others

18 Change Control Process Create Initial Sections Create/Modify Draft Review Draft (V&V) Create Changes to Incorporate Changes Needed In Document Document Approved CreateReviewReviseReview Approved Time... Document in Production and Under Formal Change Control Document Under Development and User Change Control

19 RUP Guiding Principles Iterative Development Quality Customer Value Attack risk Accommodate change Work together Executable software Architecture baseline Component-based development Objectives Strategies Tactics

20 Why emphasis on executable software? “Without this first pass, the project manager is at the mercy of human judgment. With this first-pass ‘simulation,’ he can at least perform experimental tests of some key hypotheses and scope down what remains for human judgment, which in the case of computer program design... is invariably and seriously optimistic”

21 RUP Guiding Principles Iterative Development Quality Customer Value Attack risk Accommodate change Work together Executable software Architecture baseline Component-based development Objectives Strategies Tactics

22 Architecture: Compelling need to stay ahead Think of the architecture as an “application” to be used by systems developers Architecture development and application development are related but separate activities that are staggered and occur in parallel: Architecture Application Analyze Design Implement Support

23 Benefits of Architecture Intellectual control Manage complexity Maintain integrity Basis for reuse Component reuse Architecture reuse (patterns) Basis for project management Focus on early iterations Planning Staffing

24 RUP Guiding Principles Iterative Development Quality Customer Value Attack risk Accommodate change Work together Executable software Architecture baseline Component-based development Objectives Strategies Tactics

25 Software Components Definition: A software component can be defined as a nontrivial piece of software, a module, a package, or a subsystem, that fulfills a clear function, has a clear boundary and can be integrated in a well-defined architecture. It is the physical realization of an abstraction in your design. Definition: A software component can be defined as a nontrivial piece of software, a module, a package, or a subsystem, that fulfills a clear function, has a clear boundary and can be integrated in a well-defined architecture. It is the physical realization of an abstraction in your design.

26 Components Airplane Private Data Object Operations Airplane Private Data Object Operations Engines Private Data Object Operations Engines Private Data Object Operations Wings Private Data Object Operations Wings Private Data Object Operations Fuselage Private Data Object Operations Fuselage Private Data Object Operations Tail Private Data Object Operations Tail Private Data Object Operations COMPONENTS - Are objects that are combined into new objects without the use of inheritance

27 Benefits of Component Architectures Resilient Meets current and future requirements Improves extensibility Enables reuse Encapsulates system dependencies Reuse proven solution elements Reuse or customize components Select from Commercially-available components Evolve existing software incrementally

28 RUP “Hump” Diagram

29 Vertical (Static) Dimension Core Process Disciplines (sometimes referred to generically as Workflows)

30 Horizontal (Dynamic) Dimension One Development Cycle Milestones

31 Vertical dimension deals with 4 key modeling elements Roles (who) Activities (how) Artifacts (what) Workflows (when)

32 Roles A role is played by an individual or a team. Examples: Stakeholder Systems Analyst Designer Test Designer Project Manager

33 Role - Example Role: Requirements Specifier The requirements specifier role details the specification of a part of the system's functionality by describing the Requirements aspect of one or several use cases and other supporting software requirements Staffing A person acting as the requirements specifier needs good communication skills, both person-to-person and written. A requirements specifier must be familiar with all tools used to capture the requirements.

34  A piece of information that is produced, modified or used by a process.  Artifacts include the intangible products of the project  Examples:  A use-case model  Model element, e.g., use case  A document such as a business case  Source code  Executable code Artifacts

35 Artifacts - Examples

36 Activities An Activity is a unit of work assigned to a single role. Examples: Find use cases and actors Review the design Execute a performance test Activities may be broken down into steps

37 Workflows/Disciplines Workflow/Discipline: A sequence of activities (and related roles and artifacts) that produces some result of observable value These are the 9 “core process disciplines” in the RUP product “Workflow” is the generic term – may be very detailed

38 Example of detailed workflow Workflows show all activities you may go through to produce a particular set of artifacts. A typical sequence of events when conducting the flow of work.

39 Additional Process Elements Guidelines - are rules, recommendations, or heuristics that support activities and steps. Templates - are models or prototypes of artifacts Example: Word template for Vision Document Tool mentors - are a means of providing guidance by showing you how to use a specific software tool (Similar to wizards) Concepts - Separate material that describe some of the reasons and background on a specific topic

40 RUP Process Elements Analysis Guideline Rose Tool Mentor Use-Case Template

41 Topic Duration RUP Overview75 minutes *** Break15 minutes Current Event Recaps (Asgn #5)15 minutes RUP and Iterative Development45 minutes Asgn #1, Quiz #1, Term Project30 minutes Today’s Agenda

42 Topic Duration RUP Overview75 minutes *** Break15 minutes Current Event Recaps (Asgn #5)15 minutes RUP and Iterative Development45 minutes Asgn #1, Quiz #1, Term Project30 minutes Today’s Agenda

43 Topic Duration RUP Overview75 minutes *** Break15 minutes Current Event Recaps (Asgn #5)15 minutes RUP and Iterative Development45 minutes Asgn #1, Quiz #1, Term Project30 minutes Today’s Agenda

44 Iterative Development

45 Iterative Development Each iteration: includes some or most of the development disciplines has a set of well-defined objectives produces a partial working implementation of the final system builds on work of previous iterations to evolve and refine the system until the final product is complete Early iterations have greater emphasis on requirements and analysis and design Later iterations have greater emphasis on implementation and testing

46 Anatomy of Terminology Product Development Cycle PhaseIterationActivity is the result of consists of

47 Iterative Development Iterative/Evolutionary/Spiral life cycle models advocate multiple “threads” through the SDLC phases ADI Version 1 ADI Version 2 ADI Version 3

48 Product is the result of development cycles Version 1 Development CycleVersion 2 Development Cycle Version 3 Development Cycle Product delivered to users

49 Development cycle consists of phases Development Cycle InceptionElaborationConstructionTransition

50 Phase consists of Iterations Development Cycle Elaboration Iteration n Iteration n+1

51 Iteration consists of Activities Development Cycle Elaboration Iteration n+1 Iteration n R A&D C T R C T Each phase contains one or more iterations

52 Each Iteration is a mini-waterfall R A&D C T R C T R C T

53 Horizontal (Dynamic) Dimension One Development Cycle Milestones

54 Milestones Exit criteria Decide to proceed, abort, or change course Measure progress, e.g., –use cases completed –features completed –performance requirements satisfied –risks eliminated –test cases passed

55 Iterative Advantages/Disadvantages Advantages Disadvantages

56 Copyright © 1997 by Rational Software Corporation Risk Transition Inception Elaboration Construction Preliminary Iteration Architect. Iteration Architect. Iteration Devel. Iteration Devel. Iteration Devel. Iteration Transition Iteration Transition Iteration Post- deployment Waterfall Time Risk Profile: Iterative vs. Waterfall Iterative

57 Topic Duration RUP Overview75 minutes *** Break15 minutes Current Event Recaps (Asgn #5)15 minutes RUP and Iterative Development45 minutes Asgn #1, Quiz #1, Term Project30 minutes Today’s Agenda

58 Kroll/Kruchten, Chapters 5, 7 Assignment 2 Assignment 5 Thong-ngam Burton Topics for April 20