SlideShare ist ein Scribd-Unternehmen logo
1 von 40
SENG 623 Unified Software
        Process
     Linda (Yongxue) Cai
         Kobe Davis
         Guy Davis

                           1
The Unified Process
Agenda
  •   Overview
  •   4 P’s
  •   Use-Case Driven
  •   Architecture Centric
  •   Iterative and Incremental
  •   RUP
  •   UP, Agile?
  •   Conclusion

                                  2
History
• Developed over three decades
• Ericsson Approach, 1967
• Objectory AB established by Ivar Jacobson,
  1987
  • Developed the Objectory process, which extends
    Ericsson approach
• Rational Software Corporation acquires
  Objectory AB, 1995
  • Rational Objectory process is created

                                               3
History (cont.)
• UML standardized in 1997, supported by OMG
  • Rational Objectory Process defines all models using
    UML
• Through acquisitions, mergers and internal
  development the Rational Objectory Process is
  extended to cover all aspects of the software
  development life cycle, the new process is called
  the Rational Unified Process


                                                 4
History (cont.)

• The Unified Process was released to the
 general public in the form of the book
 ‘The Unified Software Development
 Process. (Jacobson, Booch, Rumbaugh)’,
 1999



                                      5
What is a Process?
• Define Who is doing What, When to do it, and
  how to reach a certain goal.

User’s requirements                            Software system

                Software Development Process




                                                       6
Overview

• The Unified Software Development Process is a
  software development process that is ‘use-case
  driven, architecture-centric and iterative and
  incremental’. (Jacobson, Booch, Rumbaugh)
• The Unified Process is component based
• The Unified Process uses the Unified Modelling
  Language for documentation and design



                                            7
4 P’s
• The Unified Process recognized four
 aspects of software development as being
 equally important
  • People
  • Project
  • Product
  • Process
  • (Tools)
                 Figure 2.1 The Unified Software Development Process


                                                                   8
4 P’s (cont.)
•   People are crucial
•   Projects make the product
•   Product is not just the code
•   Process directs Projects
•   Tools are integral to the process



                                        9
Use-Case Driven
• Some Definitions
  •     User – Human Users + Other Systems
  •     Use Case – A piece of functionality
  •     Use-Case Model – All the use cases
  •     Use-Case Driven – Development
      process follows a flow…


                                       10
Use Case Driven (cont.)
• Why Use–Case Driven
  quot;Use case drivenquot; means writing the user
  manual first, then writing the code. This
  practice reinforces the fundamental notion
  that a system must conform to the needs of
  the users, instead of your users conforming
  to the system. [Doug 2001]

                                        11
Use-Cases
• Why Use Cases
  • Systematic and intuitive means of capturing
      functional requirements
  •   Drives the whole development process
  •   Supports identifying software to meet user
      goals
  •   Evaluate what system should do for each user
  •   Provides complete specification for all possible
      uses of the system

                                               12
How do Use Cases drive the process?
• Capturing the Requirements
  • The goal of the requirements process
  • Use cases are requirements artifact
    1. used by the customers
    2. used by the developers




                                           13
How do Use Cases drive the process?

Use Cases also provide input for…
  • Finding and specifying classes,
    subsystems, and interfaces
  • Finding and specifying test cases
  • Planning development iterations and
    systems integration


                                      14
Use-Cases (cont.)
Driving the Development Process
• Use cases initiate series of workflows
• Use cases bind the core workflows together
• Help develop classes, user interfaces
• Used to verify instances of classes
• Support trace ability through the system
• Improve maintainability as changes are made

                                           15
1. Initiating the development process


•




                                        16
2. Binding the core workflows together


                               Implemen
Requirem   Analysis   Design                   Test
                               tation
ents




                                          17
More about Use Cases

• Carrying out iterative development
• Devising the architecture
• Providing a starting point for the user
  manual
• Good Estimation Tool



                                            18
Role of Use Cases in System Development




                                   19
Use-Case Realization in the Analysis Model




                                     20
Pros & Cons: Use Cases

• Advantages:
  • Valuable and coherent portions of the system
    (use cases) are developed, providing business
    value to your users.
  • Users can easily comprehend your plan because
    it is organized based on things that they do.
  • Developers learn the business while they
    implement use cases.

                                            21
Pros & Cons: Use Cases (cont.)

• Disadvantages:
  • Use cases aren't a complete definition of your
    requirements
  • End-User is not directly involved
  • All use cases aren't created equal
  • Reuse becomes difficult



                                             22
Architecture-Centric Approach
• What is Architecture?
  • Most important dynamic and static aspects of
    system
  • Structural elements and interfaces that will
    comprise a system together with their behavior
  • Composition of elements into progressively
    larger systems
  • Architectural style that guides the organization

                                              23
Architecture-Centric (cont.)
• Why do we need an Architecture?
  • Understand the system
  • Organize development
  • Foster reuse
  • Evolve the system




                                    24
Architecture Baseline




• Iteratively generated
• Includes an Architecture Description

                                         25
Unified Process Phases



•   Cycles throughout the product lifetime
•   Each cycle comprised of four phases
•   Gated progress between phases (milestones)
•   Each phase consists of iterations
                                        26
Iterations through Workflows




                          27
Benefits of Iterative and
           Incremental




• Early risk management and mitigation
                                         28
Benefits (cont.)




• Reduced integration time and effort   29
Benefits (cont.)
•   Robust architecture at early stage
•   Change is more manageable
•   Better training of team in workflows
•   Higher level of reuse
•   Higher overall product quality



                                           30
Summary
• Use Case Driven, Architecture Centric, Iterative
  and Incremental
• UP is a framework designed for configuring
   • Use what you need (tailor)
   • It’s all about risk




                                               31
RUP
• By purchasing RUP, Rational provides the
 following over and above the Unified
 Process
  • On-line Knowledge base
  • Technology Plug-ins
     • RUP Exchange (Plug-ins currently provide content
      from IBM, Microsoft, BEA, Sun, HP, and other
      companies)


                                                 32
RUP
• http://programs.rational.com/success/
  • Numerous ‘success stories’ from companies
    who have implemented or are using the
    Rational Unified Process
     • Ericsson (80% fewer bugs, 100% productivity
       increase
     • Lockheed Martin Canada
     • Merrill Lynch


                                                33
UP, Agile or Waterfall?
• The Unified Process has evolved beyond a waterfall
  approach.

• Use Cased driven and Iterative and Incremental approach
  provides a basis for Agile Methods

• http://www.rational.com/products/rup/whitepapers.jsp
   • From Waterfall to Iterative Lifecycle - Philippe Kruchten,
     Rational Software, Canada, 2000
   • A comparison of RUP® and XP - John Smith, Rational
     Software, Australia, 2001

                                                           34
Comparing UP to XP
• Team Sizes
  • UP is designed to scale and can be tailored for use by
    small to very large teams.


• Metaphor and Model
  • Use Cases -> User Stories
  • UP uses UML and requires more extensive modeling
    (product consists of more than just code)


                                                     35
Comparing UP to XP

• Collective Ownership / Programming
  • UP can be tailored to match the practices of XP




                                                      36
Comparing UP to XP
• Testing
  • UP requires a testing model, test for each use case
    (similar to XP acceptance tests). UP can be tailored to
    fit XP practices
• Reporting
  • UP is iterative and incremental, progress can be tracked
    similarly to XP




                                                     37
Comparing UP to Agile Processes
• Overall
  • UP is a process framework meant to be tailored,
    XP can be likened to a tailored version of UP
  • UP differs on Architecture and Product
     • Architecture does not just happen
     • Simple code does not ensure a solid architecture
     • Product consists of more than just code, ie.
      Documentation, models etc.


                                                   38
References
• Doug Rosenberg, Kendall Scott, Top Ten Use Case
    Mistakes, Feb. 2001
•   Jacobson, Booch, and Rumbaugh. The Unified Software
    Development Process. Addison-Wesley. Boston, MA.
    1999.
•   Rational Software Corp. Rational Unified Process: Best
    Practises for Software Development Teams. 2002. http://
    www.rational.com/products/whitepapers/100420.jsp
•   Sun Microsystems Ltd. JavaBeans Component
    Architecture. 2002. http://java.sun.com/products/
    javabeans/
•   Grady Booch, Robert Martin and Jim Newkirk Object-
    Oriented Analysis and Design with Applications (3rd
    Edition).
                                                    39
Questions?




             40

Weitere ähnliche Inhalte

Was ist angesagt?

Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle ppt
Kunal Kishor Nirala
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
Ian Sommerville
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
Haitham El-Ghareeb
 

Was ist angesagt? (20)

Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle ppt
 
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineering
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Object oriented analysis and design unit- ii
Object oriented analysis and design unit- iiObject oriented analysis and design unit- ii
Object oriented analysis and design unit- ii
 
UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGEUNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGE
 
Model driven architecture
Model driven architectureModel driven architecture
Model driven architecture
 
Evolutionary models
Evolutionary modelsEvolutionary models
Evolutionary models
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 
PROTOTYPE MODEL
PROTOTYPE MODELPROTOTYPE MODEL
PROTOTYPE MODEL
 
Design Pattern in Software Engineering
Design Pattern in Software EngineeringDesign Pattern in Software Engineering
Design Pattern in Software Engineering
 
Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
4+1 view model
4+1 view model4+1 view model
4+1 view model
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
 
Context model
Context modelContext model
Context model
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 

Ähnlich wie Unified Process

Software Engineering The Multiview Approach And Wisdm
Software Engineering   The Multiview Approach And WisdmSoftware Engineering   The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdm
guestc990b6
 
[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models
Carles Farré
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
moduledesign
 

Ähnlich wie Unified Process (20)

Software Engineering The Multiview Approach And Wisdm
Software Engineering   The Multiview Approach And WisdmSoftware Engineering   The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdm
 
SE UNIT 1 PART 1.pdf
SE UNIT 1 PART 1.pdfSE UNIT 1 PART 1.pdf
SE UNIT 1 PART 1.pdf
 
Agile Maintenance
Agile MaintenanceAgile Maintenance
Agile Maintenance
 
[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models
 
Rup
RupRup
Rup
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Rapid Project Inception
Rapid Project InceptionRapid Project Inception
Rapid Project Inception
 
Manual Software testing - software development life cycle
Manual Software testing - software development life cycleManual Software testing - software development life cycle
Manual Software testing - software development life cycle
 
Ch 2
Ch 2Ch 2
Ch 2
 
Agile Overview Session
Agile Overview SessionAgile Overview Session
Agile Overview Session
 
Usability Engineering
Usability EngineeringUsability Engineering
Usability Engineering
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 
Fifteen Years of DevOps -- LISA 2012 keynote
Fifteen Years of DevOps -- LISA 2012 keynoteFifteen Years of DevOps -- LISA 2012 keynote
Fifteen Years of DevOps -- LISA 2012 keynote
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 
Continuous Delivery Maturity Model
Continuous Delivery Maturity ModelContinuous Delivery Maturity Model
Continuous Delivery Maturity Model
 
Slides môn Công nghệ phần mềm Software Engineering
Slides môn Công nghệ phần mềm Software EngineeringSlides môn Công nghệ phần mềm Software Engineering
Slides môn Công nghệ phần mềm Software Engineering
 
Agile Development Methodologies
Agile Development MethodologiesAgile Development Methodologies
Agile Development Methodologies
 
Introductionto Agile Executive Overview Gpi Asia Rev2
Introductionto Agile Executive Overview Gpi Asia Rev2Introductionto Agile Executive Overview Gpi Asia Rev2
Introductionto Agile Executive Overview Gpi Asia Rev2
 
Software Engineering Methodology
Software Engineering MethodologySoftware Engineering Methodology
Software Engineering Methodology
 
Introduction and life cycle models
Introduction and life cycle modelsIntroduction and life cycle models
Introduction and life cycle models
 

Mehr von guy_davis

Mehr von guy_davis (12)

Adopting Scrum and Agile
Adopting Scrum and AgileAdopting Scrum and Agile
Adopting Scrum and Agile
 
Pragmatic Programmer
Pragmatic ProgrammerPragmatic Programmer
Pragmatic Programmer
 
Content Caching with Rails
Content Caching with RailsContent Caching with Rails
Content Caching with Rails
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Unit Testing in Java
Unit Testing in JavaUnit Testing in Java
Unit Testing in Java
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
 
Project Monitoring and Control
Project Monitoring and ControlProject Monitoring and Control
Project Monitoring and Control
 
The Human Side of Software Development
The Human Side of Software DevelopmentThe Human Side of Software Development
The Human Side of Software Development
 
Adapter Design Pattern
Adapter Design PatternAdapter Design Pattern
Adapter Design Pattern
 
Software Quality Plan
Software Quality PlanSoftware Quality Plan
Software Quality Plan
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Quality Function Deployment
Quality Function DeploymentQuality Function Deployment
Quality Function Deployment
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Unified Process

  • 1. SENG 623 Unified Software Process Linda (Yongxue) Cai Kobe Davis Guy Davis 1
  • 2. The Unified Process Agenda • Overview • 4 P’s • Use-Case Driven • Architecture Centric • Iterative and Incremental • RUP • UP, Agile? • Conclusion 2
  • 3. History • Developed over three decades • Ericsson Approach, 1967 • Objectory AB established by Ivar Jacobson, 1987 • Developed the Objectory process, which extends Ericsson approach • Rational Software Corporation acquires Objectory AB, 1995 • Rational Objectory process is created 3
  • 4. History (cont.) • UML standardized in 1997, supported by OMG • Rational Objectory Process defines all models using UML • Through acquisitions, mergers and internal development the Rational Objectory Process is extended to cover all aspects of the software development life cycle, the new process is called the Rational Unified Process 4
  • 5. History (cont.) • The Unified Process was released to the general public in the form of the book ‘The Unified Software Development Process. (Jacobson, Booch, Rumbaugh)’, 1999 5
  • 6. What is a Process? • Define Who is doing What, When to do it, and how to reach a certain goal. User’s requirements Software system Software Development Process 6
  • 7. Overview • The Unified Software Development Process is a software development process that is ‘use-case driven, architecture-centric and iterative and incremental’. (Jacobson, Booch, Rumbaugh) • The Unified Process is component based • The Unified Process uses the Unified Modelling Language for documentation and design 7
  • 8. 4 P’s • The Unified Process recognized four aspects of software development as being equally important • People • Project • Product • Process • (Tools) Figure 2.1 The Unified Software Development Process 8
  • 9. 4 P’s (cont.) • People are crucial • Projects make the product • Product is not just the code • Process directs Projects • Tools are integral to the process 9
  • 10. Use-Case Driven • Some Definitions • User – Human Users + Other Systems • Use Case – A piece of functionality • Use-Case Model – All the use cases • Use-Case Driven – Development process follows a flow… 10
  • 11. Use Case Driven (cont.) • Why Use–Case Driven quot;Use case drivenquot; means writing the user manual first, then writing the code. This practice reinforces the fundamental notion that a system must conform to the needs of the users, instead of your users conforming to the system. [Doug 2001] 11
  • 12. Use-Cases • Why Use Cases • Systematic and intuitive means of capturing functional requirements • Drives the whole development process • Supports identifying software to meet user goals • Evaluate what system should do for each user • Provides complete specification for all possible uses of the system 12
  • 13. How do Use Cases drive the process? • Capturing the Requirements • The goal of the requirements process • Use cases are requirements artifact 1. used by the customers 2. used by the developers 13
  • 14. How do Use Cases drive the process? Use Cases also provide input for… • Finding and specifying classes, subsystems, and interfaces • Finding and specifying test cases • Planning development iterations and systems integration 14
  • 15. Use-Cases (cont.) Driving the Development Process • Use cases initiate series of workflows • Use cases bind the core workflows together • Help develop classes, user interfaces • Used to verify instances of classes • Support trace ability through the system • Improve maintainability as changes are made 15
  • 16. 1. Initiating the development process • 16
  • 17. 2. Binding the core workflows together Implemen Requirem Analysis Design Test tation ents 17
  • 18. More about Use Cases • Carrying out iterative development • Devising the architecture • Providing a starting point for the user manual • Good Estimation Tool 18
  • 19. Role of Use Cases in System Development 19
  • 20. Use-Case Realization in the Analysis Model 20
  • 21. Pros & Cons: Use Cases • Advantages: • Valuable and coherent portions of the system (use cases) are developed, providing business value to your users. • Users can easily comprehend your plan because it is organized based on things that they do. • Developers learn the business while they implement use cases. 21
  • 22. Pros & Cons: Use Cases (cont.) • Disadvantages: • Use cases aren't a complete definition of your requirements • End-User is not directly involved • All use cases aren't created equal • Reuse becomes difficult 22
  • 23. Architecture-Centric Approach • What is Architecture? • Most important dynamic and static aspects of system • Structural elements and interfaces that will comprise a system together with their behavior • Composition of elements into progressively larger systems • Architectural style that guides the organization 23
  • 24. Architecture-Centric (cont.) • Why do we need an Architecture? • Understand the system • Organize development • Foster reuse • Evolve the system 24
  • 25. Architecture Baseline • Iteratively generated • Includes an Architecture Description 25
  • 26. Unified Process Phases • Cycles throughout the product lifetime • Each cycle comprised of four phases • Gated progress between phases (milestones) • Each phase consists of iterations 26
  • 28. Benefits of Iterative and Incremental • Early risk management and mitigation 28
  • 29. Benefits (cont.) • Reduced integration time and effort 29
  • 30. Benefits (cont.) • Robust architecture at early stage • Change is more manageable • Better training of team in workflows • Higher level of reuse • Higher overall product quality 30
  • 31. Summary • Use Case Driven, Architecture Centric, Iterative and Incremental • UP is a framework designed for configuring • Use what you need (tailor) • It’s all about risk 31
  • 32. RUP • By purchasing RUP, Rational provides the following over and above the Unified Process • On-line Knowledge base • Technology Plug-ins • RUP Exchange (Plug-ins currently provide content from IBM, Microsoft, BEA, Sun, HP, and other companies) 32
  • 33. RUP • http://programs.rational.com/success/ • Numerous ‘success stories’ from companies who have implemented or are using the Rational Unified Process • Ericsson (80% fewer bugs, 100% productivity increase • Lockheed Martin Canada • Merrill Lynch 33
  • 34. UP, Agile or Waterfall? • The Unified Process has evolved beyond a waterfall approach. • Use Cased driven and Iterative and Incremental approach provides a basis for Agile Methods • http://www.rational.com/products/rup/whitepapers.jsp • From Waterfall to Iterative Lifecycle - Philippe Kruchten, Rational Software, Canada, 2000 • A comparison of RUP® and XP - John Smith, Rational Software, Australia, 2001 34
  • 35. Comparing UP to XP • Team Sizes • UP is designed to scale and can be tailored for use by small to very large teams. • Metaphor and Model • Use Cases -> User Stories • UP uses UML and requires more extensive modeling (product consists of more than just code) 35
  • 36. Comparing UP to XP • Collective Ownership / Programming • UP can be tailored to match the practices of XP 36
  • 37. Comparing UP to XP • Testing • UP requires a testing model, test for each use case (similar to XP acceptance tests). UP can be tailored to fit XP practices • Reporting • UP is iterative and incremental, progress can be tracked similarly to XP 37
  • 38. Comparing UP to Agile Processes • Overall • UP is a process framework meant to be tailored, XP can be likened to a tailored version of UP • UP differs on Architecture and Product • Architecture does not just happen • Simple code does not ensure a solid architecture • Product consists of more than just code, ie. Documentation, models etc. 38
  • 39. References • Doug Rosenberg, Kendall Scott, Top Ten Use Case Mistakes, Feb. 2001 • Jacobson, Booch, and Rumbaugh. The Unified Software Development Process. Addison-Wesley. Boston, MA. 1999. • Rational Software Corp. Rational Unified Process: Best Practises for Software Development Teams. 2002. http:// www.rational.com/products/whitepapers/100420.jsp • Sun Microsystems Ltd. JavaBeans Component Architecture. 2002. http://java.sun.com/products/ javabeans/ • Grady Booch, Robert Martin and Jim Newkirk Object- Oriented Analysis and Design with Applications (3rd Edition). 39

Hinweis der Redaktion