Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "James Nowotarski 13 April 2004 IS 553 Advanced Systems Development Practices."— Presentation transcript:

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

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

3 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 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 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 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 7 Symptoms and Root Causes Some Symptoms: Requirements in flux Some Root Causes: Insufficient and misunderstood requirement

8 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 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 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 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 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 13 Why focus on change? Life cycle phase Cost of change Req Anal.Des. Impl.Test Prod y = ax p

14 14 Ways to Accommodate Change

15 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 16 Controlling Parallel Development Multiple developers Multiple teams Multiple sites Multiple iterations Multiple releases Multiple projects Multiple platforms

17 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 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 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 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 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 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 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 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 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 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 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 28 RUP “Hump” Diagram

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

30 30 Horizontal (Dynamic) Dimension One Development Cycle Milestones

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

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

33 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 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 35 Artifacts - Examples

36 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 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 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 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 40 RUP Process Elements Analysis Guideline Rose Tool Mentor Use-Case Template

41 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 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 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 44 Iterative Development

45 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 46 Anatomy of Terminology Product Development Cycle PhaseIterationActivity is the result of consists of

47 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 48 Product is the result of development cycles Version 1 Development CycleVersion 2 Development Cycle Version 3 Development Cycle Product delivered to users

49 49 Development cycle consists of phases Development Cycle InceptionElaborationConstructionTransition

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

51 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 52 Each Iteration is a mini-waterfall R A&D C T R C T R C T

53 53 Horizontal (Dynamic) Dimension One Development Cycle Milestones

54 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 55 Iterative Advantages/Disadvantages Advantages Disadvantages

56 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 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 58 Kroll/Kruchten, Chapters 5, 7 Assignment 2 Assignment 5 Thong-ngam Burton Topics for April 20


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

Similar presentations


Ads by Google