SlideShare a Scribd company logo
Object Oriented Design and Analysis
Rational Unified Process
Object Oriented Design and Analysis
Software Development Process
An approach to building, deployment, and
maintaining software.
Object Oriented Design and Analysis
Unified Process
• A iterative and incremental software
development process framework for building
object-oriented systems.
• Emerged as a popular software development
process
Object Oriented Design and Analysis
Iterative and evolutionary development
• An iterative and evolutionary approach allows start of
development with incomplete, imperfect knowledge
• Iterative and evolutionary have the following
advantages:
– Logical progress toward a robust architecture
– Effective management of changing requirements
– Continuous integration
– Early understanding of the system
– Ongoing risk assessment
Object Oriented Design and Analysis
Contd..
Requirements
Design
Implementation &
Test & Integration
& More Design
Final Integration
& System Test
Requirements
Design
3 weeks (for example)
The system grows
incrementally.
Feedback from
iteration N leads to
refinement and
adaptation of the
requirements and
design in iteration
N+1.
Iterations are fixed in
length, or timeboxed.
Time
Implementation &
Test & Integration
& More Design
Final Integration
& System Test
Object Oriented Design and Analysis
Contd..
Early iterations are farther from the "true
path" of the system. Via feedback and
adaptation, the system converges towards
the most appropriate requirements and
design.
In late iterations, a significant change in
requirements is rare, but can occur. Such
late changes may give an organization a
competitive business advantage.
one iteration of design,
implement, integrate, and test
Object Oriented Design and Analysis
Rational Unified Process
• A refinement of the unified process i.e. iterative software
development process.
• provides a disciplined approach to assigning 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
Object Oriented Design and Analysis
RUP
• Process
– Enhance team productivity
–Configurable
• no single process is suitable for all software
development
• adapts to small & large development teams
–Documentation
• Model based artifacts
• UML
Object Oriented Design and Analysis
RUP
• Building blocks
– Roles (who)
• responsibilities
– Tasks (how)
• Unit of work
• Result oriented – should be useful
– Work products (what)
• Resultant product
Object Oriented Design and Analysis
RUP Best Practices
how to effectively deploy commercially proven
approaches to software development for
software development teams
•Develop software iteratively
– not possible to
– define the problem upfront
– design the entire solution
– each iteration ends with a release
•Manage requirements
– use case to capture functional requirements
– should be traceable
Object Oriented Design and Analysis
Contd..
• Use component-based architectures
• Visually model software
– different models to communicate
• different aspects with different stakeholders
• UML
Object Oriented Design and Analysis
Contd..
• Verify software quality
– review
• functional requirements
• non-functional requirements
– should be part of the process
• Control changes to software
– continuous integration
Object Oriented Design and Analysis
RUP Process
• Two dimensions.
–Horizontal axis represents time and shows the
dynamic aspect of the process as it is enacted,
and it is expressed in terms of cycles, phases,
iterations, and milestones.
–Vertical axis represents the static aspect of the
process: how it is described in terms of
activities, artifacts, workers and workflows.
Object Oriented Design and Analysis
RUP - Two Dimensions
Object Oriented Design and Analysis
Phases and Iterations - The Time Dimension
• dynamic organization of the process along
time
• the software lifecycle is broken into cycles,
each cycle working on a new generation of the
product
– Inception phase
– Elaboration phase
– Construction phase
– Transition phase
Object Oriented Design and Analysis
RUP - Lifecycle Phases
Object Oriented Design and Analysis
RUP- Core Workflows
Object Oriented Design and Analysis
Inception objectives
• Establish software scope and boundary conditions.
– operational concept.
– acceptance criteria.
– descriptions of what is and what is not included.
• Discriminate critical Use Cases of the system.
– primary scenarios of behaviour.
• Exhibit at least one candidate architecture.
• Estimate overall cost.
• Estimate risks.
Object Oriented Design and Analysis
Inception activities
• Formulate scope of project
• Plan and prepare a business case and evaluate
alternatives for risk management, staffing,
project plan
• Synthesise a candidate architecture.
Object Oriented Design and Analysis
Outcome of inception
• A ‘vision’ document, i.e., a general vision of the core projects
requirements, key features and main constraints.
• A Use-Case model survey – all Use Cases and Actors that can
be identified so far.
• An initial project glossary.
• An initial business case including business context, success
criteria and financial forecast.
• Initial risk assessment.
• Project plan, with phases and iterations.
Object Oriented Design and Analysis
Other artifacts produced
• Initial Use Case model (10%-20% complete)
• A domain model static picture of scope.
• A business model (if necessary)workflow.
• A preliminary development case description to
specify the process used.
• One or several prototypes.
– Behavioral, Structural, Exploratory or Evolutionary.
Object Oriented Design and Analysis
Evaluation criteria at end
• Agreement on scope definition and cost and
schedule estimates
• Requirements understanding as shown by the
correctness of the primary Use Cases.
• Credibility of the cost and schedule estimates,
priorities, risks and development process.
• Depth and breadth of any architectural prototype
that was developed.
• Actual expenditure v planned expenditure.
Object Oriented Design and Analysis
Elaboration objectives
• To analyse the problem domain.
• Establish a sound architectural foundation.
• Develop the project plan.
• Eliminate high-risk elements.
Object Oriented Design and Analysis
Elaboration objectives
• Define, validate and agree the architecture as
quickly as possible.
• Agree the vision that came from the inception
phase.
• Agree a plan for the construction phase.
• Demonstrate that the architecture will
support this vision for a reasonable cost in a
reasonable time.
Object Oriented Design and Analysis
Elaboration activities
• The vision is elaborated and a solid
understanding is established of the most
critical Use Cases that drive the architectural
and planning decisions.
• The Process, the infrastructure and the
development environment are elaborated,
and the process, tools and automation
support are put into place.
Object Oriented Design and Analysis
Elaboration activities
• The architecture is elaborated and
components are selected.
– Potential components are evaluated.
– make / buy / reuse decisions determine the
construction phase cost and schedule.
– Architectural components integrated and
assessed against primary scenarios.
– This is done iteratively.
Object Oriented Design and Analysis
Outcome of elaboration
• Use Case model (at least 80% complete).
– All Use Cases identified.
– All Actors identified.
– Most Use-Case descriptions developed.
• Supplementary requirements.
– (non-functional or not associated with a Use
Case)
• Software architecture description.
Object Oriented Design and Analysis
Outcome of elaboration
• Executable architectural prototype.
• Revised risk list and revised business case.
• Development plan for overall project.
– coarse grained project plan, with iterations and
evaluation criteria for each iteration.
• Updated development case that specifies
process to be used.
• Preliminary user manual (optional).
Object Oriented Design and Analysis
Evaluation criteria at end
• Is the vision of the product stable?
• Is the architecture stable?
• Does the executable demonstration show
that major risk elements are addressed?
• Is construction phase sufficiently planned?
• Do all stakeholders agree that current
vision is achievable, using current plan with
current architecture?
• Is the cost acceptable?
Object Oriented Design and Analysis
Construction
• All remaining components and application
features are developed and integrated into
the product.
• All features are tested thoroughly.
• Emphasis is placed on managing resources and
controlling operations to optimise cost, schedules
and quality.
• Parallel construction can accelerate the
availability of deployable releases.
Object Oriented Design and Analysis
Construction objectives
• Minimise development costs by optimising
resources and avoiding unnecessary scrap and
rework.
• Achieve adequate quality as rapidly as
possible.
• Achieve useful versions (alpha, beta or other
test releases) as rapidly as practical.
Object Oriented Design and Analysis
Construction activities
• Resource management, resource control,
process optimisation.
• Complete component development and
testing against the defined evaluation criteria.
• Assessment of product releases against
acceptance criteria for the vision.
Object Oriented Design and Analysis
Outcome of construction
• A product ready to put into the hands of end
users.
• The software product integrated on the
adequate platforms.
• The user manuals.
• A description of the current release.
Object Oriented Design and Analysis
Evaluation criteria at end
• Often called the beta release, is it ready?
– Is the product release stable and mature enough to be
deployed in the user community?
– Are all stakeholders ready for the transition into the use
community?
– Are the actual resource expenditures v planned
expenditures still acceptable?
• Transition may have to be postponed by one release
if the project fails to reach this milestone.
Object Oriented Design and Analysis
Transition
• This moves the software project to the user
community.
• After release, issues usually arise that require new
releases, either to correct problems or finish features
that were postponed.
• This phase is entered when a baseline is mature
enough to be deployed in the end-user domain.
• This means that some usable subset of the system
has beem completed to an acceptable level of quality
and that user documentation is available.
Object Oriented Design and Analysis
Transition phase includes
• Beta testing to validate the new system against use
expectations.
• Parallel operation with the legacy system that the
project is replacing
• Conversion of operational databases.
• Training of users and maintainers.
• Rollout of the product to the marketing, distribution
and sales teams.
• It concludes when the deployment baseline has
achieved the completed vision.
Object Oriented Design and Analysis
Transition objectives
• Achieve user self-supportability.
• Achieve stakeholder concurrence that
deployment baselines are complete and
consistent with the evaluation criteria of the
vision.
• Achieve final product baseline as rapidly and
cost-effectively as practical.
Object Oriented Design and Analysis
Transition activities
• Deployment-specific engineering, i.e. cutover,
commercial packaging and production, sales rollout,
and field personnel training.
• Tuning activities, including bug fixing and
enhancement for performance and usability.
• Assessing the deployment baselines against the vision
and the acceptance criteria for the product.
• The activities depend on the goal
– For fixing bugs, implementation and testing are usually
enough.
– For new features, iteration is similar to construction phase.
Object Oriented Design and Analysis
Evaluation criteria at end
• Is user satisfied?
• Are the actual resources expenditures v
planned expenditures still acceptable?
Object Oriented Design and Analysis
Thank you

More Related Content

PPT
Sdlc models
SivaprasanthRentala1975
 
PPTX
Ch3 - Agile SW Dev
Harsh Verdhan Raj
 
PPTX
Software project management introduction
Kanchana Devi
 
PPT
Software Development Life Cycle Model
J.T.A.JONES
 
PPT
SDLC - Software Development Life Cycle
Saravanan Manoharan
 
PPT
Software System Engineering - Chapter 1
Fadhil Ismail
 
PPTX
Agile Software Development Methodologies
Pradeep Patel, PMP®
 
PPT
Agile Development | Agile Process Models
Ahsan Rahim
 
Ch3 - Agile SW Dev
Harsh Verdhan Raj
 
Software project management introduction
Kanchana Devi
 
Software Development Life Cycle Model
J.T.A.JONES
 
SDLC - Software Development Life Cycle
Saravanan Manoharan
 
Software System Engineering - Chapter 1
Fadhil Ismail
 
Agile Software Development Methodologies
Pradeep Patel, PMP®
 
Agile Development | Agile Process Models
Ahsan Rahim
 

What's hot (20)

PPTX
Software Engineering
Jignesh Kariya
 
PPT
Architecture design in software engineering
Preeti Mishra
 
PDF
Software Engineering : Requirement Analysis & Specification
Ajit Nayak
 
PPT
Software design
Benazir Fathima
 
PPTX
Staffing level estimation
kavitha muneeshwaran
 
PPT
Software architecture design ppt
farazimlak
 
PPTX
Sequence diagram
Rahul Pola
 
PPTX
Rad model
Dyanara Pritz Menia
 
PPTX
Data and functional modeling
Slideshare
 
PDF
Unit 5- Architectural Design in software engineering
arvind pandey
 
PPTX
Software Engineering Process Models
Satya P. Joshi
 
PPTX
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
PPTX
Software design
Syed Muhammad Hammad-ud-Din
 
PPT
Introduction to Software Project Management
Reetesh Gupta
 
PPTX
Dynamic and Static Modeling
Saurabh Kumar
 
PPTX
Rapid Application Development Model
Damian T. Gordon
 
PDF
Sdlc
meenakshi sv
 
PPTX
Software design and Software engineering.pptx
DrTThendralCompSci
 
PPTX
Software process Models
SADEED AMEEN
 
Software Engineering
Jignesh Kariya
 
Architecture design in software engineering
Preeti Mishra
 
Software Engineering : Requirement Analysis & Specification
Ajit Nayak
 
Software design
Benazir Fathima
 
Staffing level estimation
kavitha muneeshwaran
 
Software architecture design ppt
farazimlak
 
Sequence diagram
Rahul Pola
 
Data and functional modeling
Slideshare
 
Unit 5- Architectural Design in software engineering
arvind pandey
 
Software Engineering Process Models
Satya P. Joshi
 
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
Introduction to Software Project Management
Reetesh Gupta
 
Dynamic and Static Modeling
Saurabh Kumar
 
Rapid Application Development Model
Damian T. Gordon
 
Software design and Software engineering.pptx
DrTThendralCompSci
 
Software process Models
SADEED AMEEN
 
Ad

Viewers also liked (20)

PPT
Presentation - Rational Unified Process
Sharad Srivastava
 
PPT
Rational Unified Process(Rup)
pawanonline83
 
PPT
An Overview of RUP methodology
Masoud Kalali
 
PPTX
RUP model
Zoya Abbas
 
PPTX
RUP In A Nutshell Slide Share
dwslaterjr
 
PPT
Use of RUP for Small Projects
Mahesh Panchal
 
PPT
Rup
Syed Umair
 
PPT
RUP VS RAD Methodology
thaleader
 
PPT
Rad model
Sneha Chopra
 
ZIP
Unified Process
guy_davis
 
PPTX
Getting Started With Version Control
Mạnh Nguyễn Văn
 
PPTX
The Future of User Interfaces
Mạnh Nguyễn Văn
 
PPTX
Rup
13ehnam
 
PPTX
Cultural Factor Analysis in Project Management
Mạnh Nguyễn Văn
 
PPT
Enterprise Unified Process
ritika.jangid
 
PPTX
5 methodology
Oleksandr Buzan
 
PPTX
Metodologias rup
ElvisAR
 
Presentation - Rational Unified Process
Sharad Srivastava
 
Rational Unified Process(Rup)
pawanonline83
 
An Overview of RUP methodology
Masoud Kalali
 
RUP model
Zoya Abbas
 
RUP In A Nutshell Slide Share
dwslaterjr
 
Use of RUP for Small Projects
Mahesh Panchal
 
RUP VS RAD Methodology
thaleader
 
Rad model
Sneha Chopra
 
Unified Process
guy_davis
 
Getting Started With Version Control
Mạnh Nguyễn Văn
 
The Future of User Interfaces
Mạnh Nguyễn Văn
 
Rup
13ehnam
 
Cultural Factor Analysis in Project Management
Mạnh Nguyễn Văn
 
Enterprise Unified Process
ritika.jangid
 
5 methodology
Oleksandr Buzan
 
Metodologias rup
ElvisAR
 
Ad

Similar to Rational Unified Process (20)

PDF
Best Practices in Object Oriented Analysis and Design
nguyencraft01
 
PPTX
Introduction to Software Engineering_Need_SDLC_types of SDLC
DeepakUlape2
 
PDF
Unit-1_Notes(OOAD).pdf
ganeshkarthy
 
PPT
Unit-1 object oriented systems(OOSD) .ppt
AnushyaR6
 
PPT
CEN6016-Chapter1.ppt
NelsonYanes6
 
PPT
CEN6016-Chapter1.ppt
SumitVishwambhar
 
PPT
15 object orienteddesign
randhirlpu
 
PPT
Ooad
gantib
 
PPTX
Object Oriented Analysis
AMITJain879
 
PPTX
1.3 Unified Process in Object Oriented Analysis and Design.pptx
NaveenaKarthik3
 
PPT
Object-Oriented Analysis and Design
RiazAhmad786
 
PPTX
Unit-1 OOAD Introduction.pptx
Ravindranath67
 
PPTX
1. object oriented concepts & principles
poonam bora
 
PPT
Chapter02
Franco Valdez
 
PPTX
OOSDLC.pptx
RAJESH S
 
PPT
5-CEN6016-Chapter1.ppt
DrCMeenakshiVISTAS
 
PDF
ppt_ooad.pdf
anuj962198
 
PPT
OOAD-Unit1.ppt
rituah
 
PPT
01 introduction
Baskarkncet
 
PPT
Jar chapter 1
Reham Maher El-Safarini
 
Best Practices in Object Oriented Analysis and Design
nguyencraft01
 
Introduction to Software Engineering_Need_SDLC_types of SDLC
DeepakUlape2
 
Unit-1_Notes(OOAD).pdf
ganeshkarthy
 
Unit-1 object oriented systems(OOSD) .ppt
AnushyaR6
 
CEN6016-Chapter1.ppt
NelsonYanes6
 
CEN6016-Chapter1.ppt
SumitVishwambhar
 
15 object orienteddesign
randhirlpu
 
Ooad
gantib
 
Object Oriented Analysis
AMITJain879
 
1.3 Unified Process in Object Oriented Analysis and Design.pptx
NaveenaKarthik3
 
Object-Oriented Analysis and Design
RiazAhmad786
 
Unit-1 OOAD Introduction.pptx
Ravindranath67
 
1. object oriented concepts & principles
poonam bora
 
Chapter02
Franco Valdez
 
OOSDLC.pptx
RAJESH S
 
5-CEN6016-Chapter1.ppt
DrCMeenakshiVISTAS
 
ppt_ooad.pdf
anuj962198
 
OOAD-Unit1.ppt
rituah
 
01 introduction
Baskarkncet
 

More from Kumar (20)

PPT
Graphics devices
Kumar
 
PPT
Fill area algorithms
Kumar
 
PDF
region-filling
Kumar
 
PDF
Bresenham derivation
Kumar
 
PPT
Bresenham circles and polygons derication
Kumar
 
PPTX
Introductionto xslt
Kumar
 
PPTX
Extracting data from xml
Kumar
 
PPTX
Xml basics
Kumar
 
PPTX
XML Schema
Kumar
 
PPTX
Publishing xml
Kumar
 
PPTX
DTD
Kumar
 
PPTX
Applying xml
Kumar
 
PPTX
Introduction to XML
Kumar
 
PDF
How to deploy a j2ee application
Kumar
 
PDF
JNDI, JMS, JPA, XML
Kumar
 
PDF
EJB Fundmentals
Kumar
 
PDF
JSP and struts programming
Kumar
 
PDF
java servlet and servlet programming
Kumar
 
PDF
Introduction to JDBC and JDBC Drivers
Kumar
 
PDF
Introduction to J2EE
Kumar
 
Graphics devices
Kumar
 
Fill area algorithms
Kumar
 
region-filling
Kumar
 
Bresenham derivation
Kumar
 
Bresenham circles and polygons derication
Kumar
 
Introductionto xslt
Kumar
 
Extracting data from xml
Kumar
 
Xml basics
Kumar
 
XML Schema
Kumar
 
Publishing xml
Kumar
 
DTD
Kumar
 
Applying xml
Kumar
 
Introduction to XML
Kumar
 
How to deploy a j2ee application
Kumar
 
JNDI, JMS, JPA, XML
Kumar
 
EJB Fundmentals
Kumar
 
JSP and struts programming
Kumar
 
java servlet and servlet programming
Kumar
 
Introduction to JDBC and JDBC Drivers
Kumar
 
Introduction to J2EE
Kumar
 

Recently uploaded (20)

PPTX
oapresentation.pptx
mehatdhavalrajubhai
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PDF
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 
PDF
Become an Agentblazer Champion Challenge Kickoff
Dele Amefo
 
PDF
Why Use Open Source Reporting Tools for Business Intelligence.pdf
Varsha Nayak
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
DOCX
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
PPT
Activate_Methodology_Summary presentatio
annapureddyn
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PDF
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
Hironori Washizaki
 
PPTX
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
PPTX
Presentation about variables and constant.pptx
safalsingh810
 
PDF
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PPTX
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pptx
Certivo Inc
 
PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
PDF
Appium Automation Testing Tutorial PDF: Learn Mobile Testing in 7 Days
jamescantor38
 
PPTX
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
PPTX
Smart Panchayat Raj e-Governance App.pptx
Rohitnikam33
 
PPTX
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
PDF
Build Multi-agent using Agent Development Kit
FadyIbrahim23
 
oapresentation.pptx
mehatdhavalrajubhai
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 
Become an Agentblazer Champion Challenge Kickoff
Dele Amefo
 
Why Use Open Source Reporting Tools for Business Intelligence.pdf
Varsha Nayak
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
Activate_Methodology_Summary presentatio
annapureddyn
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
Hironori Washizaki
 
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
Presentation about variables and constant.pptx
safalsingh810
 
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pptx
Certivo Inc
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
Appium Automation Testing Tutorial PDF: Learn Mobile Testing in 7 Days
jamescantor38
 
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
Smart Panchayat Raj e-Governance App.pptx
Rohitnikam33
 
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
Build Multi-agent using Agent Development Kit
FadyIbrahim23
 

Rational Unified Process

  • 1. Object Oriented Design and Analysis Rational Unified Process
  • 2. Object Oriented Design and Analysis Software Development Process An approach to building, deployment, and maintaining software.
  • 3. Object Oriented Design and Analysis Unified Process • A iterative and incremental software development process framework for building object-oriented systems. • Emerged as a popular software development process
  • 4. Object Oriented Design and Analysis Iterative and evolutionary development • An iterative and evolutionary approach allows start of development with incomplete, imperfect knowledge • Iterative and evolutionary have the following advantages: – Logical progress toward a robust architecture – Effective management of changing requirements – Continuous integration – Early understanding of the system – Ongoing risk assessment
  • 5. Object Oriented Design and Analysis Contd.. Requirements Design Implementation & Test & Integration & More Design Final Integration & System Test Requirements Design 3 weeks (for example) The system grows incrementally. Feedback from iteration N leads to refinement and adaptation of the requirements and design in iteration N+1. Iterations are fixed in length, or timeboxed. Time Implementation & Test & Integration & More Design Final Integration & System Test
  • 6. Object Oriented Design and Analysis Contd.. Early iterations are farther from the "true path" of the system. Via feedback and adaptation, the system converges towards the most appropriate requirements and design. In late iterations, a significant change in requirements is rare, but can occur. Such late changes may give an organization a competitive business advantage. one iteration of design, implement, integrate, and test
  • 7. Object Oriented Design and Analysis Rational Unified Process • A refinement of the unified process i.e. iterative software development process. • provides a disciplined approach to assigning 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
  • 8. Object Oriented Design and Analysis RUP • Process – Enhance team productivity –Configurable • no single process is suitable for all software development • adapts to small & large development teams –Documentation • Model based artifacts • UML
  • 9. Object Oriented Design and Analysis RUP • Building blocks – Roles (who) • responsibilities – Tasks (how) • Unit of work • Result oriented – should be useful – Work products (what) • Resultant product
  • 10. Object Oriented Design and Analysis RUP Best Practices how to effectively deploy commercially proven approaches to software development for software development teams •Develop software iteratively – not possible to – define the problem upfront – design the entire solution – each iteration ends with a release •Manage requirements – use case to capture functional requirements – should be traceable
  • 11. Object Oriented Design and Analysis Contd.. • Use component-based architectures • Visually model software – different models to communicate • different aspects with different stakeholders • UML
  • 12. Object Oriented Design and Analysis Contd.. • Verify software quality – review • functional requirements • non-functional requirements – should be part of the process • Control changes to software – continuous integration
  • 13. Object Oriented Design and Analysis RUP Process • Two dimensions. –Horizontal axis represents time and shows the dynamic aspect of the process as it is enacted, and it is expressed in terms of cycles, phases, iterations, and milestones. –Vertical axis represents the static aspect of the process: how it is described in terms of activities, artifacts, workers and workflows.
  • 14. Object Oriented Design and Analysis RUP - Two Dimensions
  • 15. Object Oriented Design and Analysis Phases and Iterations - The Time Dimension • dynamic organization of the process along time • the software lifecycle is broken into cycles, each cycle working on a new generation of the product – Inception phase – Elaboration phase – Construction phase – Transition phase
  • 16. Object Oriented Design and Analysis RUP - Lifecycle Phases
  • 17. Object Oriented Design and Analysis RUP- Core Workflows
  • 18. Object Oriented Design and Analysis Inception objectives • Establish software scope and boundary conditions. – operational concept. – acceptance criteria. – descriptions of what is and what is not included. • Discriminate critical Use Cases of the system. – primary scenarios of behaviour. • Exhibit at least one candidate architecture. • Estimate overall cost. • Estimate risks.
  • 19. Object Oriented Design and Analysis Inception activities • Formulate scope of project • Plan and prepare a business case and evaluate alternatives for risk management, staffing, project plan • Synthesise a candidate architecture.
  • 20. Object Oriented Design and Analysis Outcome of inception • A ‘vision’ document, i.e., a general vision of the core projects requirements, key features and main constraints. • A Use-Case model survey – all Use Cases and Actors that can be identified so far. • An initial project glossary. • An initial business case including business context, success criteria and financial forecast. • Initial risk assessment. • Project plan, with phases and iterations.
  • 21. Object Oriented Design and Analysis Other artifacts produced • Initial Use Case model (10%-20% complete) • A domain model static picture of scope. • A business model (if necessary)workflow. • A preliminary development case description to specify the process used. • One or several prototypes. – Behavioral, Structural, Exploratory or Evolutionary.
  • 22. Object Oriented Design and Analysis Evaluation criteria at end • Agreement on scope definition and cost and schedule estimates • Requirements understanding as shown by the correctness of the primary Use Cases. • Credibility of the cost and schedule estimates, priorities, risks and development process. • Depth and breadth of any architectural prototype that was developed. • Actual expenditure v planned expenditure.
  • 23. Object Oriented Design and Analysis Elaboration objectives • To analyse the problem domain. • Establish a sound architectural foundation. • Develop the project plan. • Eliminate high-risk elements.
  • 24. Object Oriented Design and Analysis Elaboration objectives • Define, validate and agree the architecture as quickly as possible. • Agree the vision that came from the inception phase. • Agree a plan for the construction phase. • Demonstrate that the architecture will support this vision for a reasonable cost in a reasonable time.
  • 25. Object Oriented Design and Analysis Elaboration activities • The vision is elaborated and a solid understanding is established of the most critical Use Cases that drive the architectural and planning decisions. • The Process, the infrastructure and the development environment are elaborated, and the process, tools and automation support are put into place.
  • 26. Object Oriented Design and Analysis Elaboration activities • The architecture is elaborated and components are selected. – Potential components are evaluated. – make / buy / reuse decisions determine the construction phase cost and schedule. – Architectural components integrated and assessed against primary scenarios. – This is done iteratively.
  • 27. Object Oriented Design and Analysis Outcome of elaboration • Use Case model (at least 80% complete). – All Use Cases identified. – All Actors identified. – Most Use-Case descriptions developed. • Supplementary requirements. – (non-functional or not associated with a Use Case) • Software architecture description.
  • 28. Object Oriented Design and Analysis Outcome of elaboration • Executable architectural prototype. • Revised risk list and revised business case. • Development plan for overall project. – coarse grained project plan, with iterations and evaluation criteria for each iteration. • Updated development case that specifies process to be used. • Preliminary user manual (optional).
  • 29. Object Oriented Design and Analysis Evaluation criteria at end • Is the vision of the product stable? • Is the architecture stable? • Does the executable demonstration show that major risk elements are addressed? • Is construction phase sufficiently planned? • Do all stakeholders agree that current vision is achievable, using current plan with current architecture? • Is the cost acceptable?
  • 30. Object Oriented Design and Analysis Construction • All remaining components and application features are developed and integrated into the product. • All features are tested thoroughly. • Emphasis is placed on managing resources and controlling operations to optimise cost, schedules and quality. • Parallel construction can accelerate the availability of deployable releases.
  • 31. Object Oriented Design and Analysis Construction objectives • Minimise development costs by optimising resources and avoiding unnecessary scrap and rework. • Achieve adequate quality as rapidly as possible. • Achieve useful versions (alpha, beta or other test releases) as rapidly as practical.
  • 32. Object Oriented Design and Analysis Construction activities • Resource management, resource control, process optimisation. • Complete component development and testing against the defined evaluation criteria. • Assessment of product releases against acceptance criteria for the vision.
  • 33. Object Oriented Design and Analysis Outcome of construction • A product ready to put into the hands of end users. • The software product integrated on the adequate platforms. • The user manuals. • A description of the current release.
  • 34. Object Oriented Design and Analysis Evaluation criteria at end • Often called the beta release, is it ready? – Is the product release stable and mature enough to be deployed in the user community? – Are all stakeholders ready for the transition into the use community? – Are the actual resource expenditures v planned expenditures still acceptable? • Transition may have to be postponed by one release if the project fails to reach this milestone.
  • 35. Object Oriented Design and Analysis Transition • This moves the software project to the user community. • After release, issues usually arise that require new releases, either to correct problems or finish features that were postponed. • This phase is entered when a baseline is mature enough to be deployed in the end-user domain. • This means that some usable subset of the system has beem completed to an acceptable level of quality and that user documentation is available.
  • 36. Object Oriented Design and Analysis Transition phase includes • Beta testing to validate the new system against use expectations. • Parallel operation with the legacy system that the project is replacing • Conversion of operational databases. • Training of users and maintainers. • Rollout of the product to the marketing, distribution and sales teams. • It concludes when the deployment baseline has achieved the completed vision.
  • 37. Object Oriented Design and Analysis Transition objectives • Achieve user self-supportability. • Achieve stakeholder concurrence that deployment baselines are complete and consistent with the evaluation criteria of the vision. • Achieve final product baseline as rapidly and cost-effectively as practical.
  • 38. Object Oriented Design and Analysis Transition activities • Deployment-specific engineering, i.e. cutover, commercial packaging and production, sales rollout, and field personnel training. • Tuning activities, including bug fixing and enhancement for performance and usability. • Assessing the deployment baselines against the vision and the acceptance criteria for the product. • The activities depend on the goal – For fixing bugs, implementation and testing are usually enough. – For new features, iteration is similar to construction phase.
  • 39. Object Oriented Design and Analysis Evaluation criteria at end • Is user satisfied? • Are the actual resources expenditures v planned expenditures still acceptable?
  • 40. Object Oriented Design and Analysis Thank you

Editor's Notes

  • #25: Vision is the mission statement of the project
  • #29: An executable architecture is a partial implementation of the system, built to demonstrate selected system functions and properties, in particular those satisfying non-functional requirements. It is built during the elaboration phase to mitigate risks related to performance, throughput, capacity, reliability and other 'ilities', so that the complete functional capability of the system may be added in the construction phase on a solid foundation, without fear of breakage. It is the intention of the RUP that the executable architecture be built as an evolutionary prototype, with the intention of retaining what is found to work (and satisfies requirements), and making it part of the deliverable system.