Chapter 4. Object Oriented Analysis
Chapter 4. Object Oriented Analysis
The iterative process model is a cyclical process in which you make and test incremental
adjustments. The iterative model is popular in technology, engineering, software development,
design, qualitative research, project management (especially in Agile and Scrum), and more.
At the most basic level, the process relies on a continual cycle of planning, analysis,
implementation, testing, and evaluation. The iterative procsess starts with initial planning and
overall requirements. Then the first, prioritized portion of the project becomes the initial cycle
of development. That segment is refined by trial and error. Once finished, it forms the basis
for the next chunk of the project. Each cycle improves on the overall product or project. The
pace of this process is related to how effectively you work through the cycle. The iterative
development process is a five steps process.
After we complete these steps, it’s time to tackle the next cycle. In the iterative process, the
product goes back to step one to build on what’s working. Identify what you learned from the
previous iteration.
This iterative development, sometimes called circular or evolutionary development, is based on
refining the first version through subsequent cycles, especially as you gather and include
requirements.
It allows you to remain flexible as you identify new needs or unexpected business issues.
Unified Process (UP)
A software development process describes an approach to building, deploying, and possibly
maintaining software.
The Unified Process is an iterative and incremental software development process for building
object-oriented systems.
Emerged as popular software development process.
It reduces unexpected development cost and prevent wastage of resources.
Also known as Rational Unified Process.
It provides a disciplined approach to assign tasks and responsibilities within a development
organization.
Goal: To ensure the production of high-quality software that meets the needs of its end-
users, within a predictable schedule and budget.
Unified Process (UP) is a relatively popular iterative process for projects using OOA/D, UP is
common and promotes widely recognized best practices; it's useful for industry professionals to
know it.
In Unified Process, Process is a set of activities intended to reach a goal.
In Unified Process, The inputs to the software process are the needs of the business and the output
will be the software product.
The Unified Process is one such lifecycle approach well-suited to the UML.
Unified Process provides a disciplined approach on how to assign tasks and responsibilities within
a software development organization.
4. Transition:
Here finally project is transit from development environment to production.
Here we set the project on beta testing mode.
Remove the bugs from project based on customer feedback.
The objective of this phase is to transition the software product to the user community.
New releases, correcting defects and optimization are part of this phase.
The objectives of the transition phase are:
₋ Customer Satisfaction
₋ Achieving the concurrence of the stakeholders that the deployment baselines are
complete and consistent with the evaluation criteria
₋ Achieving final product baseline rapidly in a cost effective manner
Schedule oriented terms in UP
UP disciplines
The UP describes work activities, such as writing a use case, within disciplines a set of activities
(and related artifacts) in one subject area, such as the activities within requirements analysis. In
the UP, an artifact is the general term for any work product: code, Web graphics, database
schema, text documents, diagrams, models, and so on.
Business Modeling:
Purpose: understand business environment
Three major activities part of business modeling:
₋ Understand surroundings
₋ Create the system vision
₋ Create business models
Requirements:
Objective: document business requirements
Key drivers of activities:
₋ discovery and understanding
₋ Requirements discipline and business modeling map to traditional systems analysis
Activities list:
₋ Gather detailed information
₋ Define functional and nonfunctional requirements
₋ Develop user interface dialogs Evaluate requirements with users
Design:
Objective: design system based on requirements
Six major activities in the design discipline:
₋ Design support services architecture and deployment environment
₋ Design the software architecture
₋ Design use case realizations
₋ Design the database
₋ Design the system and user interfaces
₋ Design the system security and controls
Implementation:
Objective: build or acquire needed system components
Implementation activities:
Build software components
Acquire software components
Integrate software components
Testing:
Testing is critical discipline
Testing activities:
₋ Define and conduct unit testing
₋ Define and conduct integration testing
₋ Define and conduct usability testing
₋ Define and conduct user acceptance testing
In UP, acceptance testing occurs throughout the building phase
Deployment:
Goal: conduct activities to make system operational
Deployment activities:
₋ Acquire hardware and system software
₋ Package and install components
₋ Train users
₋ Convert and initialize data
Project Management:
Most important support discipline
Project management activities:
₋ Finalize the system and project scope
₋ Develop the project and iteration schedule
₋ Identify project risks and confirm feasibility
₋ Monitor and control the project’s plan
₋ Monitor and control communications
₋ Monitor and control risks and outstanding issues
Configuration and Change Management:
Configuration and change discipline pertains to:
₋ Requirements
₋ Design
₋ Source code
₋ Executables
The two activities in this discipline:
₋ Develop change control procedures
₋ Manage models and software components
Environment:
Development environment includes:
₋ Available facilities
₋ Design of the workspace
₋ Forums for team communication and interaction
Environment discipline activities:
₋ Select and configure the development tools
₋ Tailor the UP development process
₋ Provide technical support services