1.3 Unified Process in Object Oriented Analysis and Design.pptx
NaveenaKarthik3
11 views
31 slides
Aug 06, 2024
Slide 1 of 31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
About This Presentation
Unified process in OOAD
Size: 165.22 KB
Language: en
Added: Aug 06, 2024
Slides: 31 pages
Slide Content
Module1:Object Oriented Model Title of Topic : Unified Process Course Code: 2 3 CS 2 02 Course Title: Object Oriented Analysis and Design Session Number: 3 Academic Year: 2023 - 2024 (Even Sem)
Module 1 – Object Oriented Model Introduction to O OAD Object Oriented Basics Unified Process Classes and Objects: Object and Class Relationships Building Quality Classes and Objects: Measuring Quality, Choosing Operations Classification: Importance and Challenges - Incremental and Iterative Classification Approaches for Identifying Classes and Objects: Classical and Modern Key Abstractions and Mechanisms Complexity - Structure and Attributes of Complex System Designing Complex Systems Application case study : Inventory Management in visual Paradigm and Enterprise Architect. CO1 Describe the structure & attributes for designing complex systems
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
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
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
✔ 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
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
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 Advantages of UP
✔ 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:
✔ 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
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
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
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
✔ 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:
✔ 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
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
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…) Construction Phase
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
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
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
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
Production Phase Ongoing use of software is monitored Defect reports and request for changes are submitted & evaluated
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 Disadvantages of RUP It mostly relies on the ability of experts and professionals to assign the
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… 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 UP Disciplines
UP Disciplines Testing Focused on quality assurance of the software being released in that cycle or iteration ✔ Planning test efforts ✔ Creating test cases Deployment ✔ Running tests ✔ Reporting defect Focused on planning the deployment of and actually deploying, the software that is being completed that cycle, phase or iteration ✔ Planning the deployment ✔ Developing support & operations materials ✔ Deploying the software ✔ Training end users
UP Disciplines Disciplines and Phases of Unified Process
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 Unified Process Summary
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) Unified Process