Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 31

23CS202-Object Oriented Analysis and Design

Module1:Object Oriented Model


Title of Topic: Unified Process
Course Code: 23CS202
Course Title: Object Oriented Analysis and
Design
Session Number: 3
Academic Year: 2023 - 2024 (Even Sem)
23CS202-Object Oriented Analysis and Design
Module 1 – Object Oriented Model

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

the Open Unified Process (OpenUP)


Unified Process

• UP is built around the idea of incorporating some specific best practices into a
configurable process framework
• Those best practices are:

✔ Develop Software Iteratively


✔ Manage Requirements
✔ Use Component-based Architectures
✔ Continuously engage user for evaluation, feedback and requirements
✔ Verify Software Quality
✔ Control Changes to Software
✔ Tackle high-risk in early iterations
23CS202-Object Oriented Analysis and Design

✔ Visually Model Software

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

Reason to Use Unified Process

• 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

✔ Tools – Tools are integral to the process

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

✔ Supplementary requirements detailing the non-functional requirements and any


requirements not related to a use case are completed
✔ A Software Architecture Description has been completed
✔ Business case and risk lists have been updated with higher-confidence
information
✔ The project and development plans have been defined to at least a level that shows
all iterations and the evaluation criteria for each iteration ✔ An executable architecture
prototype has been created & approved for use ✔ A preliminary user manual has been
created (optional)

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

and integrate them into the product


•Here software development, integration and testing takes place • It’s a
manufacturing process where the team focuses on managing resources in order to
optimize costs, schedules and the quality • Encompasses on iterative implementation
of the remaining lower risk and easier elements, and preparation for deployment
• Because of the emphasis on component-based architectures and the
significant attention paid to the architectural plan in the Inception and
Elaboration phases, it should be possible to initiate multiple Construction
Phases within a single cycle if the software to be developed is complex
enough to support multiple discrete components
23CS202-Object Oriented Analysis and Design

Construction Phase
• The specific activities of this phase include:

✔ The software is built, integrated and tested


✔ The user manuals have been created (or updated)
✔ The details of the software developed are documented and ready to be
provided to end users or support staff (including changes, etc…)
23CS202-Object Oriented Analysis and Design
Construction Phase
•The milestones (that together comprise the Initial Operational Capability
Milestone) that show completion of the Construction phase are: ✔ The software
product is stable and mature enough to be deployed to end users
✔ All stakeholders are ready to transition to the new / updated software ✔
Actual versus planned expenditures are still acceptable enough to move forward
with the project
✔ The outcome of the construction phase should be a product that is ready to
put into the hands of end-users in at least a beta release state
23CS202-Object Oriented Analysis and Design
Transition Phase
• The transition phase is the moment when the product is finally finished,
released and delivered to customers
• However, once the product is given to the user, there are a number of issues
that can arise
• This requires the team to handle all the bug-fixes and correct problems, or to
finish some features that were postponed
•At the end of each phase, there is an important Project Milestone - a point in time
when your team confirms that certain goals have been achieved • At that moment
they have to make some critical decisions, which will have an impact on the
following phase
• Here the software is deployed to end users and is essentially a broad beta
test of the application
23CS202-Object Oriented Analysis and Design

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

• Focused on planning the deployment of and actually deploying, the software


that is being completed that cycle, phase or iteration
✔ Planning the deployment ✔ Deploying the software ✔ Training
✔ Developing support & operations end users
materials
23CS202-Object Oriented Analysis and Design

UP Disciplines

Disciplines and Phases of Unified Process


23CS202-Object Oriented Analysis and Design
23CS202-Object Oriented Analysis and Design

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)

You might also like