Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.