Presentation is loading. Please wait.

Presentation is loading. Please wait.

Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 1 Excellence in Software Engineering Repeatable Level Defined.

Similar presentations


Presentation on theme: "Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 1 Excellence in Software Engineering Repeatable Level Defined."— Presentation transcript:

1 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level SE470 - Rational Unified Process Overview Excellence in Software Engineering Repeatable Level Defined Level Managed Level Initial Level Optimized Level Larry Dribin, Ph.D. - DePaul University Phone: (847)807-7390 - Fax: (847)459-1650 Email: dribin@cs.depaul.edu Copyright  2001 - Larry Dribin, Ph.D. - v1.1 4-21-02

2 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 2 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Our Goal is to fix the Root Causes through the use of Good Software Engineering Practices Definition of Software Engineering: “The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.” Fritz Bauer -1969 Sound Engineering principles consist of:  Processes - Procedures and Life Cycles  Techniques - or Methods  Practices - Repeated performances of activities  Tools - to support Processes, Techniques and Practices

3 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 3 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Software Product The Software Engineering Process Requirements User Team (Suppliers) Expectations Features Cost Benefit Delivery Dates Quality Users Team (Customer) Perceptions Features Cost Benefit Delivery Dates Quality Software Engineering Process Software Development Team Processes, Techniques & Tools Performance Measures Software is developed in Teams:

4 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 4 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Why have a Software Development Process?  Provides a guideline for software development  Reduces risk and increases predictability  Basis for improvement  Captures and institutionalizes best practices

5 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 5 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Best Practices “An organized and documented set of principles, methods and processes that increase quality and productivity of software development.” Source: Rational - “Principles of Managing Iterative Development v2.0”

6 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 6 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Rational’s View of Best Practices The Best Practices Reinforce Each Other and tools are used to guide and support the best practices.

7 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 7 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level The Rational Unified Process  Developed through the combined efforts of:  Grady Booch  Ivar Jacobson  James Rumbaugh  Features  Based on the Unified Modeling Language  Iterative  Architecture-centric  Use-case driven  Risk driven

8 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 8 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Rational Unified Process

9 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 9 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Rational Objectory Process 4.1 Rational Approach Rational Unified Process 5.5 Rational Unified Process 5.0 Rational Objectory Process 4.1 Rational Unified Process 2000 Objectory Process 3.8 The History of the Rational Unified Process 2000 1999 1998 1997 1996 1995 UML v1.0 UML v1.1 UML v1.3

10 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 10 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level RUP Model Notation A role played by an individual or a team. A unit of work that a worker may perform. A piece of information that is produced, modified or used by a process.

11 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 11 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Workers  A Worker is a role played by an individual or a team.  Example:  Stakeholder  Systems Analyst  Designer  Test Designer  Project Manager

12 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 12 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Artifacts (Work Products)  An artifact is a piece of information that is used, modified or produced by a process.  Artifacts are the intangible products of the project  Examples:  A use-case model  A document such as a business case  Source Code  Executable code

13 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 13 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level  A piece of information that is produced, modified or used by a process.  Artifacts are the intangible products of the project  Examples:  A use-case model  A document such as a business case  Source Code  Executable code Artifacts

14 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 14 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Artifacts - Examples

15 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 15 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Activities  An Activity is a unit of work that a worker may perform.  Examples:  Plan an interaction performed by Project Manager  Find use cases and actors  Review the design  Execute a performance test  Activities are typically broken into steps of which there are three main Categories:  Thinking steps  Performing steps  Reviewing steps

16 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 16 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Activities  Example decomposition for Activity: “Find use cases and actors”  Find actors  Find use cases  Describe how actors and use cases interact  Package use cases and actors  Present the use-case model in use-case diagram  Develop a survey of the use-case model  Evaluate your results

17 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 17 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Additional Process Elements  Guidelines - are rules, recommendations, or heuristics that support activities and steps.  Templates - are models or prototypes of artifacts  Ex. Word template for Vision Document  Tool mentors - are a means of providing guidance by showing you how tuo use a specific software tool (Similary to wizards  Concepts - Separate material that describe some of the reasons and background on a specific topic

18 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 18 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Software Product Rational’s Nomenclature of the Software Engineering Process Requirements User Team (Suppliers) Expectations Features Cost Benefit Delivery Dates Quality Users Team (Customer) Perceptions Features Cost Benefit Delivery Dates Quality Software Engineering Process (Workflows) Software Development Team Processes, Techniques & Tools Performance Measures (Activities) Software is developed in Teams: Workers Artifacts Activities

19 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 19 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level The Rational Unified Process  Basic phases  Inception  Elaboration  Construction  Transition  Core Workflows  Engineering Workflows – Business Modeling – Requirements Definition – Analysis and Design – Implementation – Test – Deployment  Supporting – Project Management – Configuration and change management – Environment  Iterations

20 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 20 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Rational Unified Process Lifecycle Phases  Inception - defines the scope of the project  Elaboration - plans the project, develops a baseline architecture and specifies features  Construction - builds the project  Transition - transitions the project into the end user community

21 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 21 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Workflows  A Workflow is a sequential description of the activities that produces a result of value  The Nine Core Workflows

22 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 22 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Workflow Details for Requirements Overview

23 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 23 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Rational Unified Process

24 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 24 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Rational’s View of Best Practices The Best Practices Reinforce Each Other and tools are used to guide and support the best practices.

25 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 25 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Rational’s View of Best Practices  Use Iterative Development  Manage Requirements  Use Component Architectures  Model Visually  Continuously Verify Quality  Control Change

26 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 26 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Software Lifecycles  Fundamental process - the Development Lifecycle  Waterfall  Iterative – Spiral – Evolutionary – Rational Unified Process (RUP) - Unified Development Process – Extreme Programming  Define the software development process in detail  Often described at as a Methodology

27 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 27 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Waterfall model

28 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 28 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Issues with the Waterfall Life Cycle  Real projects do not appear to follow the Waterfall life cycle - they appear to iterate.  Requirements must be defined up front which causes problems due to:  Users often do not know what they want.  Most Analysis and Design Techniques do not provide a good clear representation of the solution for the user.  The customer must wait a long time for the first deliverable.  The “Large Specifications” produced are hard to use and hard to validate. The biggest drawback of the waterfall model is the difficulty of accommodating change after the process is underway

29 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 29 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Waterfall Advantages/Disadvantages Advantages  Well defined  Can easily review & revise  Easy to see status  Logical  Understandable  Easy to estimate  Used as a component of iterative life cycles Disadvantages  You can’t know everything initially and late discovery increase costs and risks  Rigid / Brittle for large projects  Difficult to handle changes in requirements  Lot of overhead  Must define complete problem at the start Waterfall life cycle best used for well defined problems and as a component of iterative life cycles.

30 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 30 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Iterative Models – the Spiral Life Cycle

31 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 31 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Phases of the Spiral Model  Objective setting Þ Specific objectives for the project phase are identified  Risk assessment and reduction Þ Key risks are identified, analyzed and information is sought to reduce these risks  Development and validation Þ An appropriate model is chosen for the next phase of development.  Planning Þ The project is reviewed and plans drawn up for the next round of the spiral

32 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 32 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Iterative - Evolutionary Life Cycle Iterative life cycle best used for problems that are not well understood.

33 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 33 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level The Rational Unified Process Iterations and Releases

34 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 34 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Iterations and Phases

35 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 35 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Iterative Development

36 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 36 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Each Iteration, follows a mini-Waterfall Selected Scenarios Product Release The Iteration Life Cycle is a mini-waterfall. AD - Analysis & Design RD - Requirements Definition IM - Implementation DE - Deployment BM - Business Modeling TE - Testing

37 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 37 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Iterative Advantages/Disadvantages Advantages  Resolves risks before making large investiments  Enables early user feedback  Makes testing and integration continuous  Focuses project on short-term objectives  Makes partial deployments possible Disadvantages  Waterfall life cycle is more familiar since it is similar to hardware life cycle  Iterative Life Cycles difficult to estimate and manage.  Only recently used on real projects - therefore little track record Iterative life cycle best used for problems that are not well understood.

38 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 38 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Rational’s View of Best Practices  Use Iterative Development  Manage Requirements  Use Component Architectures  Model Visually  Continuously Verify Quality  Control Change

39 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 39 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Manage Requirements A systematic approach to  eliciting  organizing  documenting  and managing the changing requirements of the software application

40 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 40 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level The System is a Model of the Real World Real World System InputsOutputs Computer System Model of Real World InputsOutputs Requirements Definition Goal: Discover, define and document the goals of the system model so that we can quickly develop computer software which accurately models the real world system. Requirements Definition Goal: Discover, define and document the goals of the system model so that we can quickly develop computer software which accurately models the real world system. However, real world systems are constantly changing and adapting to changes in other real world systems with which they interact. Therefore, systems which model the real world must constantly change, to accurately represent the real world system in real time. However, real world systems are constantly changing and adapting to changes in other real world systems with which they interact. Therefore, systems which model the real world must constantly change, to accurately represent the real world system in real time.

41 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 41 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Requirements Management (Engineering) Activities  Requirements Analysis  Discover System Requirements  Outline Requirements  Requirements Definition  Describe the system from the user’s point of view  Requirements Specification  Develop a detailed and precise description of the system requirements from the software developer and users point of view  This document often acts as a basis for a contract between the the software developer and the client  Describe the Acceptance Testing requirements for the system

42 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 42 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Requirements Management Engineering Activities Develop As Is Model: 1.Study Current System & its Functions 2.Develop Model of Current System 3.Document Current System - As Is Model Develop (Design) To Be Model : 4.Determine Problems to be Corrected and any New Requirements 5.Develop Model of Future System = Current System Function + Problems + New Features 6.Document Future System - To Be Model 7.Validate that “ To Be ” model solves problems identified in “ As Is ” Analysis

43 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 43 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Requirements Analysis Techniques  Variety of Techniques can be used to determine (capture) the requirements:  Individual Interviews  Group Interviews  Facilitated Workshops  Review Current System  DILO  Use Cases  Task and Work Flow Analysis  Observation  Storyboards  Brainstorming Sessions  JAD - Joint Applications Development (Formal Joint User / Developer Analysis & Design)  No Magic Solutions  No Magic Questions

44 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 44 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Managing Changing Requirements  Establish a Baseline  Evaluate changes and determine their impact  Track and document tradeoffs and decisions

45 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 45 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Rational’s View of Best Practices  Use Iterative Development  Manage Requirements  Use Component Architectures  Model Visually  Continuously Verify Quality  Control Change

46 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 46 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level 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.

47 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 47 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level 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

48 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 48 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Features of Component Architectures  Resilient  Meets current and future requirements  Improves extensibility  Enables reuse  Encapsulates system dependencies  Component based  Reuse or customize components  Select form Commercially-available components  Evolve existing software incrementally

49 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 49 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level 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

50 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 50 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Rational’s View of Best Practices  Use Iterative Development  Manage Requirements  Use Component Architectures  Model Visually  Continuously Verify Quality  Control Change

51 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 51 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Model Visually - Use the UML  Capture the structure and behavior of architectures and components  Show how the elements of the system fit together  Maintain consistency between a design and its implementation  Promote unambiguous communication

52 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 52 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level The Unified Modeling Language  Developed through the combined efforts of:  Grady Booch  Ivar Jacobson  James Rumbaugh  Is a language for:  Visualizing  Specifying  Constructing  Documenting  The artifacts of a software-intensive system.

53 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 53 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level History of the UML

54 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 54 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level UML Components  Multiple Views  Precise Syntax and semantics  Include  Use-Case Diagrams  Class Diagrams  Object Diagrams  Component Diagrams  Deployment Diagrams  Activity Diagrams  State Chart Diagrams  Collaboration Diagrams  Sequence Diagrams

55 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 55 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Rational’s View of Best Practices  Use Iterative Development  Manage Requirements  Use Component Architectures  Model Visually  Continuously Verify Quality  Control Change

56 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 56 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level 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."  Therefore, achieving quality is not 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).

57 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 57 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level 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

58 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 58 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Rational’s View of Best Practices  Use Iterative Development  Manage Requirements  Use Component Architectures  Model Visually  Continuously Verify Quality  Control Change

59 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 59 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level 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

60 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 60 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level Controlling Parallel Development  Multiple developers  Multiple teams  Multiple sites  Multiple iterations  Multiple releases  Multiple projects  Multiple platforms

61 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 61 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level 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

62 Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 62 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level Initial Level Optimized Level 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


Download ppt "Copyright  2002 - Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 1 Excellence in Software Engineering Repeatable Level Defined."

Similar presentations


Ads by Google