Professional Documents
Culture Documents
1.3 Unified Process
1.3 Unified Process
1. Introduction to OOAD
2. Object Oriented Basics
3. Unified Process
4. Classes and Objects: Object and Class Relationships
5. Building Quality Classes and Objects: Measuring Quality, Choosing Operations
6. Classification: Importance and Challenges - Incremental and Iterative Classification
7. Approaches for Identifying Classes and Objects: Classical and Modern
8. Key Abstractions and Mechanisms
9. Complexity - Structure and Attributes of Complex System
10. Designing Complex Systems
11. Application case study : Inventory Management in visual Paradigm and Enterprise
Architect.
CO1 Describe the structure & attributes for designing complex systems
23CS202-Object Oriented Analysis and Design
Unified Process
Topics to be Covered
• Unified Process
• Reason to Use Unified Process
• Four P’s of Unified Process
• Phases of UP
✔ Inception Phase
✔ Elaboration Phase
✔ Construction Phase
✔ Transition Phase
✔ Production Phase
• Disadvantages of RUP
• UP Disciplines
23CS202-Object Oriented Analysis and Design
Unified Process
• The Unified Process (UP), or Unified Software Development Process, is an
iterative and incremental software development framework from which a
customized process can be defined
• UP has emerged as a popular iterative software development process for
building object oriented systems
• UP combines commonly accepted best practices, such as an iterative
lifecycle and risk-driven development, into a cohesive and well documented
description
• The framework contains many components and has been modified a number of
times to create several variations
• The most popular variations include the Rational Unified Process (RUP) and
23CS202-Object Oriented Analysis and Design
• UP is built around the idea of incorporating some specific best practices into a
configurable process framework
• Those best practices are:
Unified Process:
Unified Process
Key Characteristics of the Unified Process
• It is an iterative and incremental development framework
• It is architecture-centric with major work being done to define and validate an
architectural design for most coding is done
• It is risk-focused and emphasizes that highest-risk factors be addressed in the
earliest deliverables possible
• It is use-case and UML model driven with nearly all requirements being
documented in one of those forms
23CS202-Object Oriented Analysis and Design
• UP is an iterative process
• It allows you to deal with changing requirements regardless of whether they
are coming from the customer or from the project itself
• It emphasizes the need for accurate documentation
• It forces integration to happen throughout the software development, more
specifically in the construction phase
23CS202-Object Oriented Analysis and Design
Advantages of UP
• Rapid feedback from users and developers
• Adaptive development (adapt to changes in the next iteration)
• Visible progress
• Start with high risk
Four P’s of Unified
Process
• UP recognized four aspects of software development as being equally important
✔ People – People are crucial
✔ Project – Projects make the product
✔ Product – Product is not just the code
✔ Process – Process directs Projects
23CS202-Object Oriented Analysis and Design
Phases of UP
• The Unified Process recognizes the importance of customer communication
and streamlined methods for describing the customer’s view of a system • It
emphasizes the important role of software development Phases of the Unified
Process
• This process divides the development process into five phases:
23CS202-Object Oriented Analysis and Design
✔ Inception
✔ Elaboration
✔ Construction
✔ Transition
✔ Production
Inception Phase
• Inception is the initial stage of the project
•Inception is not a requirements phase but it is a feasibility phase where complete
investigation takes place to support a decision to continue or stop • Here, the team
determines the structure and the basic idea of the project • It
23CS202-Object Oriented Analysis and Design
deals with
✔ Creating a vision document with core requirements, features & constraints
✔ Defining the business case
✔ Scope and Vague estimates
✔ Creating an initial risk assessment
✔ Creating early use cases (10-20% complete, mostly use-case
models) ✔ Creating a initial project plan
✔ Creating one or more prototypes (especially architectural
prototypes)
Inception Phase
• The milestones (that together comprise the Lifecycle Objectives Milestone)
that show completion of the Inception phase are:
✔ Stakeholder agreement on business case, scope, and project cost and
23CS202-Object Oriented Analysis and Design
schedule estimates
✔ Agreement that the content of the primary use cases is an accurate representation of
what the software will deliver (at a high level) ✔ That the final prototypes are
sufficient indications of the correct future development goals
Elaboration Phase
•Analyse the requirements and the architecture of the system • Develop the
project plan and eliminate the highest risk elements of the project
• It’s undoubtedly the most critical of all stages as it signifies the transition from
23CS202-Object Oriented Analysis and Design
low-risk to high-risk
• It deals with
✔ Refined vision
✔ Iterative implementation of the core architecture
✔ Resolution of high risks
✔ Identification of most requirements and scope
✔ Realistic estimates
Elaboration Phase
• The specific activities of this phase include:
✔ The identification of all actors and use cases, with most use cases having
been defined to at least 80% completion
23CS202-Object Oriented Analysis and Design
Elaboration Phase
• The milestones (that together comprise the Lifecycle Architecture Milestone)
that show completion of the elaboration phase are:
23CS202-Object Oriented Analysis and Design
✔ The product vision is stable and approved
✔ The product architecture is stable and approved
✔ The executable architecture prototype shows that the major risk elements have
been identified and credibly resolved
✔ The project and development plans sufficiently detailed, accurate, and
credible
✔ All stakeholders agree that the vision can be achieved is the project and
development plans are executed with the architecture specified
Construction Phase
• At this stage, the team is finally ready to develop all components and features
23CS202-Object Oriented Analysis and Design
Construction Phase
• The specific activities of this phase include:
Transition Phase
•Users begin to use the new software, issues are identified and potentially corrected
and any features that were delayed are finished and deployed • The transition phase
can include multiple iterations of the software, including beta releases, bug fixes, and
enhancements
• The specific activities of this phase include:
✔ Beta testing or user acceptance testing by end users to validate the new
software against user expectations
✔ Parallel operation with legacy systems (if in existence) that will be
replaced ✔ Operational databases are converted (if necessary)
✔ Users and maintainers of the software are fully trained
✔ The software is fully rolled-out
23CS202-Object Oriented Analysis and Design
Transition Phase
• The milestones (that together comprise the Product Release Milestone) that
show completion of the transition phase are:
✔ Users are satisfied with the software
✔ Actual versus planned expenditures are still acceptable enough to move
forward with the project
23CS202-Object Oriented Analysis and Design
Production Phase
• Ongoing use of software is monitored
• Defect reports and request for changes are submitted & evaluated
23CS202-Object Oriented Analysis and Design
23CS202-Object Oriented Analysis and Design
Disadvantages of RUP
• It mostly relies on the ability of experts and professionals to assign
the
activities to individuals who should then produce pre-planned results in the
form of artifacts
•The integration in development process can also have an adverse impact on some
more fundamental activities during the stages of testing • Although RUP has
delivered excellent results, especially in software development, it is a rather complex
method which makes its implementation challenging, particularly for smaller
businesses, teams or projects
23CS202-Object Oriented Analysis and Design
UP Disciplines
•The disciplines and phases of Unified Process are compared • Here, the phases
are columns and the disciplines are rows • It clearly shows that the relative effort
across disciplines changes over time from iteration to iteration
• UP describes work activities such as writing a use case within disciplines a set
of activities and related artifacts in one subject area within requirement
analysis
• Artifact-any work such as code, web graphics, database schema, text
documents, diagrams, models, etc…
23CS202-Object Oriented Analysis and Design
UP Disciplines
Business Modeling
• Domain Model artifact to visualize concepts in the application domain
Requirements
• Use case model and specification artifacts to capture functional and non
functional requirements
Design
• All aspects of design, including overall architecture, objects, databases,
networking
Implementation
• The Implementation discipline consists of coding, unit testing, and integration of
the software
23CS202-Object Oriented Analysis and Design
UP Disciplines
Testing
• Focused on quality assurance of the software being released in that cycle or
iteration
✔ Planning test efforts ✔ Running tests ✔
✔ Creating test cases Reporting defect
Deployment
UP Disciplines
Unified Process
• Unified Process
Summary
• Reason to Use Unified Process
• Four P’s of Unified Process
• Phases of UP
✔ Inception Phase
✔ Elaboration Phase
✔ Construction Phase
✔ Transition Phase
✔ Production Phase
• Disadvantages of RUP
• UP Disciplines
23CS202-Object Oriented Analysis and Design
Unified Process
Try Yourself
• Take any one real time software development process and apply the Unified
Process
Example: Banking System, Ticket Reservation, ATM Withdraw, etc… • List the
principles, technical & supporting practices and also the issues of the following
Unified Process
✔ Agile Unified Process (AUP)
✔ Enterprise Unified Process (EUP)
✔ Essential Unified Process (EssUP)
✔ Open Unified Process (OpenUP)