what rup 040212 - TEMIDAbojan/IPIT_2014/literatura/dodatno/what_rup... · Derive requirements from...
Transcript of what rup 040212 - TEMIDAbojan/IPIT_2014/literatura/dodatno/what_rup... · Derive requirements from...
IBM Software Group
®
Click to
What You Didn’t Know About RUPWhat You Didn’t Know About RUP
Ivar JacobsonIvar Jacobson
IBM Rational
IBM Rational
Jaczone AB
Jaczone AB
22 IBM Software Group |
AgendaAgenda
� What you may know about RUP
� What you should know about RUP
� RUP is futurized
� RUP for outsourcing
� Summary
� What you may know about RUP
� What you should know about RUP
� RUP is futurized
� RUP for outsourcing
� Summary
33 IBM Software Group |
Best Practices of Modern CBDBest Practices of Modern CBD
Use component architecture and
� Develop iteratively (result-based instead of activity-based management)
� Develop models with UML – MDD
� Make architecture first
� Derive requirements from business model
� Manage requirements with use cases
� Verify quality from the beginning
� Control changes
� Design for and with reuse
� Use result-oriented process with integral tools
Use component architecture and
� Develop iteratively (result-based instead of activity-based management)
� Develop models with UML – MDD
� Make architecture first
� Derive requirements from business model
� Manage requirements with use cases
� Verify quality from the beginning
� Control changes
� Design for and with reuse
� Use result-oriented process with integral tools
This is Rational Unified
Process
This is Rational Unified
Process
44 IBM Software Group |
Use Result-Oriented ProcessUse Result-Oriented Process
Richer artifactsExternally imposed constraints
Multiple Stakeholders
High ceremony
Richer artifactsExternally imposed constraints
Multiple Stakeholders
High ceremony
Fewer artifacts Internally imposed constraintsRelatively few stakeholders
Low ceremony
Fewer artifacts Internally imposed constraintsRelatively few stakeholders
Low ceremony
Waterfall
Few risks, sequential Late integration and testing
Waterfall
Few risks, sequential Late integration and testing
Iterative
Risk drivenContinuous integration and testing
Iterative
Risk drivenContinuous integration and testing
Lighter Process
Lighter Process
Average Process
Average Process
RicherProcess
RicherProcess
Rightsize the Process
Rightsize the Process
55 IBM Software Group |
AgendaAgenda
� What you may know about RUP
� What you should know about RUP
� RUP is futurized
� RUP for outsourcing
� Summary
� What you may know about RUP
� What you should know about RUP
� RUP is futurized
� RUP for outsourcing
� Summary
66 IBM Software Group |
Software development has never been as complexSoftware development has never been as complex
� You need to know about� Programming languages and environments
� Systemware and middleware – J2EE, .NET, database management systems, Websphere,
� Packaged solutions, webservices, legacy systems
� Business modeling, requirements, analysis, design, coding, test
� Workflow spec languages, UML, XML,..
� Configuration management, project management
� Process and process configuration
� All kinds of tools
� Etc.
� Where do you learn all this? ☺
� You need to know about� Programming languages and environments
� Systemware and middleware – J2EE, .NET, database management systems, Websphere,
� Packaged solutions, webservices, legacy systems
� Business modeling, requirements, analysis, design, coding, test
� Workflow spec languages, UML, XML,..
� Configuration management, project management
� Process and process configuration
� All kinds of tools
� Etc.
� Where do you learn all this? ☺
77 IBM Software Group |
From books? Here some Rational booksFrom books? Here some Rational books
Ivar Jacobson | Grady Booch | Jim Rumbaugh | Walker RoycePhilippe Kruchten | Dean Leffingwell | Agneta Jacobson
Nasser Kettani | Magnus Christerson | Maria Ericsson I Brian WhiteTerry Quatrani | Jim Conallen | Gunnar Overgaard | Murray Cantor
Ivar Jacobson | Grady Booch | Jim Rumbaugh | Walker RoycePhilippe Kruchten | Dean Leffingwell | Agneta Jacobson
Nasser Kettani | Magnus Christerson | Maria Ericsson I Brian WhiteTerry Quatrani | Jim Conallen | Gunnar Overgaard | Murray Cantor
Authors:Authors:
88 IBM Software Group |
You need 30 books or soYou need 30 books or so
� Books written by different authors
� Books written with different terminology and approach
� Overlapping, conflicting
� Books with 30 different focus
� Nobody can read 30 books
� No single book has it all
� Books written by different authors
� Books written with different terminology and approach
� Overlapping, conflicting
� Books with 30 different focus
� Nobody can read 30 books
� No single book has it all
99 IBM Software Group |
RUP is a Huge KnowledgebaseRUP is a Huge Knowledgebase
� RUP is a huge knowledge base
� Covering most lifecycle activities from business modeling to deployment
� Covering cross-lifecycle activities – project mgmt, configuration mgmt, development environment
� Nobody reads it all
� But it is there ready to access
� RUP is a huge knowledge base
� Covering most lifecycle activities from business modeling to deployment
� Covering cross-lifecycle activities – project mgmt, configuration mgmt, development environment
� Nobody reads it all
� But it is there ready to access
1010 IBM Software Group |
RUP is Process EngineeredRUP is Process Engineered
Distribute BehaviorFind DesignClasses
Designer
Use Case Realization
Role Activities
Artifact responsible for
1111 IBM Software Group |
Why is RUP engineered?Why is RUP engineered?
To get to the depth and breadth required to really provide substantial knowledge we need a team to develop the process in collaboration
� The process team needs to understand the process
� We want to
� Understand it as well
� Configure the process
� Specialize it
� Extend it – all the time
� We want to understand what kind of tools we need to efficiently develop software
To get to the depth and breadth required to really provide substantial knowledge we need a team to develop the process in collaboration
� The process team needs to understand the process
� We want to
� Understand it as well
� Configure the process
� Specialize it
� Extend it – all the time
� We want to understand what kind of tools we need to efficiently develop software
1212 IBM Software Group |
RUP is a Configurable ProcessRUP is a Configurable Process
It is a Process Framework
� Configurable to the needs and constraints of the organization
� Our technique for modeling process has evolved into an OMG standard -- SPEM
It is a Process Framework
� Configurable to the needs and constraints of the organization
� Our technique for modeling process has evolved into an OMG standard -- SPEM
1414 IBM Software Group |
� RUP is a specification for tool support
� It defines the activities that need tool support
� It defines all artifacts used and produced
� RUP is a specification for tool support
� It defines the activities that need tool support
� It defines all artifacts used and produced
RUP is Tool Supported
The Rational Unified Process
Requirements
tools
Analysis & Design
tools
Implementation
tools
Test
tools
Configuration &
Change Management
Project & Process
Management
1515 IBM Software Group |
� RUP and supporting tools will evolve integral to one another
� A process of model Y2000 is just an academic exercise if tools are not developed concurrently
� It will be deeply integrated with tools from many sources
� RUP and supporting tools will evolve integral to one another
� A process of model Y2000 is just an academic exercise if tools are not developed concurrently
� It will be deeply integrated with tools from many sources
Process and Tools evolve together
RUP
Tools
1616 IBM Software Group |
AgendaAgenda
� What you may know about RUP
� What you should know about RUP
� RUP is futurized
� RUP for outsourcing
� Summary
� What you may know about RUP
� What you should know about RUP
� RUP is futurized
� RUP for outsourcing
� Summary
1717 IBM Software Group |
RUP is FuturizedRUP is Futurized
In many ways, my personal top favorites are:
1. Making Software Active (instead of Passive)
2. Making Software Process Active
3. Building Truly Extensible Systems with Aspects
In many ways, my personal top favorites are:
1. Making Software Active (instead of Passive)
2. Making Software Process Active
3. Building Truly Extensible Systems with Aspects
1818 IBM Software Group |
Changing the World
From Passive to Active Software
1: Making Software Active (instead of Passive)1: Making Software Active (instead of Passive)
1919 IBM Software Group |
CircuitsCircuits
SoftwareSoftware
ActiveActive
SoftwareSoftware
Year1900 1950 2000
Automation in PerspectiveAutomation in Perspective
Feature/Cost
Ratio
PassivePassive
SoftwareSoftware
2020 IBM Software Group |
Review
Apply
Propose Analyse
Recognize
Teach
Our Approach: Actions in ContextOur Approach: Actions in Context
Empower
the user
2121 IBM Software Group |
2: Making Software Process Active2: Making Software Process Active
Software development has never been
as hard as today – we need to SIMPLIFY� Minimal training – learn as you go
� Make process invisible – yet very present
� Make it personal, make it light• Without sacrificing quality
� Give them context-dependent, concrete advices
� Make people collaborate
� Let them focus on creative tasks
A process engine in the hands of each developer and the whole team.
Empower the developer
2222 IBM Software Group |
Agents and Software DevelopersAgents and Software Developers
Expert Knowledge
(existing/relevant)
distill and
interpret
access
apply
Software
Developer
Software System
(under development)
Role Agent
manage and
reason
capture
automate
supports
2323 IBM Software Group |
3: Building Truly Extensible Systems with Aspects
� Consider a new feature for a base program
� Identify a location in the base program where you want to insert the new behavior
� Code the new behavior and insert it at the location in the base program
� The base program has been changed. The new feature was invasive to the base.
� Consider a new feature for a base program
� Identify a location in the base program where you want to insert the new behavior
� Code the new behavior and insert it at the location in the base program
� The base program has been changed. The new feature was invasive to the base.
TodayToday
2424 IBM Software Group |
How would AOP help?
AOP allows us to make the base program oblivious of the extensions (≈ aspects)
ext p. 1
ext p. 3
ext p. 2
________________________________
________________________________
________________________________
Base
Extensions
≈ Aspects
� AOP allows us to weave back extensions before execution
� UML has already support for extensions in use case modeling
• we need to extend UML to allow extensions between arbitrary design and implementation elements
� AOP allows us to keep use cases separate all the way
Figure from: Language Support for Changeable Large Real Time Systems, Ivar Jacobson, 1986
________________________________________________________________________________
2525 IBM Software Group |
AgendaAgenda
� What you may know about RUP
� What you should know about RUP
� RUP is futurized
� RUP for outsourcing
� Summary
� What you may know about RUP
� What you should know about RUP
� RUP is futurized
� RUP for outsourcing
� Summary
2626 IBM Software Group |
RUP defines these artfacts
RUP defines roles and activities
RUP defines phases and checkpoints
RUP is Designed For OutsourcingRUP is Designed For Outsourcing
� When you outsource projects
� You want outsourcee to deliver a quality system• Clear requirements
• Sound architecture
� You want outsourcee to run project effectively• They know what to do
• They know what to report
� You want to track progress• Well defined milestones
• Checkpoints and criteria
� When you outsource projects
� You want outsourcee to deliver a quality system• Clear requirements
• Sound architecture
� You want outsourcee to run project effectively• They know what to do
• They know what to report
� You want to track progress• Well defined milestones
• Checkpoints and criteria
2727 IBM Software Group |
RUP Defines Roles and ActivitiesRUP Defines Roles and Activities
� RUP has well defined roles and activities
� Roles can be fulfilled by anyone
� RUP has well defined roles and activities
� Roles can be fulfilled by anyone
Outsourcer
Outsourcee
Analyst
Architect
Find Actors and Use Cases
Architecture Analysis
TesterExecute Test
Simply map roles and activities to individuals or organizations
Mapping depends on outsourceecompetence
2828 IBM Software Group |
RUP Helps You Balance ResourcesRUP Helps You Balance Resources
� Resources shift over the project
� As project risk decreases, and as outsourcee acquires more know how, they can do more
� Resources shift over the project
� As project risk decreases, and as outsourcee acquires more know how, they can do more
Inception Elaboration Construction Transition
Project Risk
2929 IBM Software Group |
You Still Need to Track the Progress DeligentlyYou Still Need to Track the Progress Deligently
� Even if you have your own developers
� They can run wild if left unchecked
� Problem is more apparent with outsourcee in a different geography, culture
� You must check the work regularly
� Artifacts grow over time, more things to review
� Repeated errors
� You need tools to help
� Not just IDEs, or Modeling Tools
� But tool to ensure process is adhered
� WayPointer
� Even if you have your own developers
� They can run wild if left unchecked
� Problem is more apparent with outsourcee in a different geography, culture
� You must check the work regularly
� Artifacts grow over time, more things to review
� Repeated errors
� You need tools to help
� Not just IDEs, or Modeling Tools
� But tool to ensure process is adhered
� WayPointer
3030 IBM Software Group |
What Is WayPointer?What Is WayPointer?
Active Guidance to help you draft the initial
artifacts
Active Observation to you selectively focus on risk
areas and conduct rigorous check
Active Facilitationto do the mundane tasks for you
3131 IBM Software Group |
WayPointer and Your EnvironmentWayPointer and Your Environment
MS-Word for Requirements
Rose/XDE for Analysis Design
WayPointer for Active Process
Guidance
3232 IBM Software Group |
AgendaAgenda
� Modern Software Development
� What you may know about RUP
� What you should know about RUP
� RUP for outsourcing
� RUP is futurized
� Summary
� Modern Software Development
� What you may know about RUP
� What you should know about RUP
� RUP for outsourcing
� RUP is futurized
� Summary
3333 IBM Software Group |
SummarySummary
� RUP is many things� RUP is many things
Huge Knowledge-Base Integral to Process
Huge Knowledge-Base Integral to Process Tool Supported
Process
Tool Supported Process
Engineered Process Light
Rich
Development Cases
Configurable Process
Prepared for
THE FUTURE
Prepared for
THE FUTURE
� A Technique For Outsourcing – it needs a tool
� WayPointer is such a tool
� A Technique For Outsourcing – it needs a tool
� WayPointer is such a tool
3434 IBM Software Group |
ReferencesReferences
� Making Software Process Execute
� Call for Expert Systems, Ivar Jacobson & Stefan Bylund, Application Development Trends, June 2002, http://www.adtmag.com/article.asp?id=3680
� A Multi-Agent System Assisiting Software Developers, Ivar Jacobson & Stefan Bylund, See www.jaczone.com/papers
� Building Extensible Systems
� Language Support for Changeable Large Real Time Systems,Ivar Jacobson, Proceedings of OOPSLA’86, pp 377-384, Sep 1986
� Use Cases and Aspects – Working Together, Ivar Jacobson, soon to be published
� Making Software Process Execute
� Call for Expert Systems, Ivar Jacobson & Stefan Bylund, Application Development Trends, June 2002, http://www.adtmag.com/article.asp?id=3680
� A Multi-Agent System Assisiting Software Developers, Ivar Jacobson & Stefan Bylund, See www.jaczone.com/papers
� Building Extensible Systems
� Language Support for Changeable Large Real Time Systems,Ivar Jacobson, Proceedings of OOPSLA’86, pp 377-384, Sep 1986
� Use Cases and Aspects – Working Together, Ivar Jacobson, soon to be published
3535 IBM Software Group |
Other Readings by Ivar JacobsonOther Readings by Ivar Jacobson
� Object-Oriented Software Development--A Use Case Driven Approach (Addison Wesley)Jacobson et al, Addison Wesley Longman (1992)
� The Object Advantage: Business Process Reengineering with Objects (Addison Wesley)Jacobson et al, Addison Wesley Longman (1994)
� Software Reuse: Architecture, Process and Organization for Business Success (Addison Wesley) Ivar Jacobson, Martin Griss & Patrik Jonsson, Addison Wesley Longman (1997)
� Unified Software Development ProcessJacobson, Booch, Rumbaugh, Addison Wesley Longman (1999)
� The Road to the Unified Software Development Process Ivar Jacobson, Stefan Bylund, Cambridge University Press, 2000
� Object-Oriented Software Development--A Use Case Driven Approach (Addison Wesley)Jacobson et al, Addison Wesley Longman (1992)
� The Object Advantage: Business Process Reengineering with Objects (Addison Wesley)Jacobson et al, Addison Wesley Longman (1994)
� Software Reuse: Architecture, Process and Organization for Business Success (Addison Wesley) Ivar Jacobson, Martin Griss & Patrik Jonsson, Addison Wesley Longman (1997)
� Unified Software Development ProcessJacobson, Booch, Rumbaugh, Addison Wesley Longman (1999)
� The Road to the Unified Software Development Process Ivar Jacobson, Stefan Bylund, Cambridge University Press, 2000
3636 IBM Software Group |
Other Unified Process BooksOther Unified Process Books
� The Rational Unified Process - An IntroductionPhilippe Kruchten (Addison Wesley)
� Software Project Management - A Unified FrameworkWalker Royce (Addison Wesley)
� Visual Modeling with Rational Rose and UMLTerry Quatrani (Addison Wesley).
� The Rational Unified Process - An IntroductionPhilippe Kruchten (Addison Wesley)
� Software Project Management - A Unified FrameworkWalker Royce (Addison Wesley)
� Visual Modeling with Rational Rose and UMLTerry Quatrani (Addison Wesley).
Success StoriesSuccess Stories
These stories as well as customer videos are available on Rational.com
� See: http://programs.rational.com/success/
These stories as well as customer videos are available on Rational.com
� See: http://programs.rational.com/success/