SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case DiagramKumar
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelmohamed khalaf alla mohamedain
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationAjit Nayak
 
Unit 3 3 architectural design
Unit 3 3 architectural designUnit 3 3 architectural design
Unit 3 3 architectural designHiren Selani
 
Collaboration diagram- UML diagram
Collaboration diagram- UML diagram Collaboration diagram- UML diagram
Collaboration diagram- UML diagram Ramakant Soni
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specificationlavanya marichamy
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software EngineeringVarsha Ajith
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architectureHimanshu
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineeringRa'Fat Al-Msie'deen
 
Acceptance testing
Acceptance testingAcceptance testing
Acceptance testingCOEPD HR
 

What's hot (20)

Use case diagram
Use case diagramUse case diagram
Use case diagram
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Software Quality Metrics
Software Quality MetricsSoftware Quality Metrics
Software Quality Metrics
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
 
Unified process Model
Unified process ModelUnified process Model
Unified process Model
 
Ooad presentatin crc cards
Ooad presentatin crc cardsOoad presentatin crc cards
Ooad presentatin crc cards
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Unit 3 3 architectural design
Unit 3 3 architectural designUnit 3 3 architectural design
Unit 3 3 architectural design
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Ch 3 software quality factor
Ch 3 software quality factorCh 3 software quality factor
Ch 3 software quality factor
 
Collaboration diagram- UML diagram
Collaboration diagram- UML diagram Collaboration diagram- UML diagram
Collaboration diagram- UML diagram
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineering
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Acceptance testing
Acceptance testingAcceptance testing
Acceptance testing
 

Viewers also liked

Unified process,agile process,process assesment ppt
Unified process,agile process,process assesment pptUnified process,agile process,process assesment ppt
Unified process,agile process,process assesment pptShweta Ghate
 
Object Modelling in Software Engineering
Object Modelling in Software EngineeringObject Modelling in Software Engineering
Object Modelling in Software Engineeringguest7fe55d5e
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7koolkampus
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineeringArun Nair
 
Software Engineering - Ch8
Software Engineering - Ch8Software Engineering - Ch8
Software Engineering - Ch8Siddharth Ayer
 

Viewers also liked (6)

Unified process,agile process,process assesment ppt
Unified process,agile process,process assesment pptUnified process,agile process,process assesment ppt
Unified process,agile process,process assesment ppt
 
Unified process
Unified processUnified process
Unified process
 
Object Modelling in Software Engineering
Object Modelling in Software EngineeringObject Modelling in Software Engineering
Object Modelling in Software Engineering
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
 
Software Engineering - Ch8
Software Engineering - Ch8Software Engineering - Ch8
Software Engineering - Ch8
 

Similar to SENG 623 UP Process Overview

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 Wisdmguestc990b6
 
Agile Maintenance
Agile MaintenanceAgile Maintenance
Agile MaintenanceNaresh Jain
 
[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 ModelsCarles Farré
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified ProcessOmkar Dash
 
Rapid Project Inception
Rapid Project InceptionRapid Project Inception
Rapid Project Inceptionudairaj
 
Agile Overview Session
Agile Overview SessionAgile Overview Session
Agile Overview SessionBahaa Farouk
 
Usability Engineering
Usability EngineeringUsability Engineering
Usability EngineeringEasypeasy
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineeringmoduledesign
 
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 keynoteGeoff Halprin
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineeringmoduledesign
 
Agile Development Methodologies
Agile Development MethodologiesAgile Development Methodologies
Agile Development MethodologiesNainil Chheda
 
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 Rev2Benjamin Scherrey
 
Software Engineering Methodology
Software Engineering MethodologySoftware Engineering Methodology
Software Engineering MethodologyRajandeep Gill
 
Introduction and life cycle models
Introduction and life cycle modelsIntroduction and life cycle models
Introduction and life cycle modelsthemobiforest
 

Similar to SENG 623 UP Process Overview (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
 

More from guy_davis

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

More from 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
 

Recently uploaded

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

SENG 623 UP Process Overview

  • 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

Editor's Notes