lecture 2- rup
Post on 04-Sep-2014
113 Views
Preview:
TRANSCRIPT
1
Rational Unified Process (RUP)
Lecture 2
04/07/2023
Asma Sajid
College of Computer Science & Information Studies (C2SIS), GCUF
04/07/20232
Introductory concepts UML= A standard diagramming/modeling notation
for designing software. It supports OO design. Analysis= Focuses on WHAT- investigation of
problem. Design= Focuses on HOW- Provide a conceptual
solution. OO Analysis=Finding the related OBJECTS in given
problem domain. WHAT ARE THE OBJECTS? OO Design =Defining the additional software
objects/ fabrication to provide the solution of problem. Design has functions/methods associated.
By: Asma Sajid ,College of Computer Science & Information Studies (C2SIS), GCUF
04/07/20233Rational Unified Process (RUP)
UML was developed by “three amigos” at Rational Software (IBM): Grady Booch, Ivar Jacobson, and Jim Rumbaugh The three amigos also developed Rational Unified Process
(RUP) You don’t have to use RUP to use UML Interestingly different from the traditional waterfall model
Highly iterative and incremental process Software product is not released in one big bang at end of
project. Instead, developed and released in pieces (prototypes,
partial releases, beta, etc.)
By: Asma Sajid ,College of Computer Science & Information Studies (C2SIS), GCUF
04/07/20234
Agile Methods Typically lightweight
WRT commitment to phases and documentation Versus waterfall models which require “heavy”
documentation of each phase before proceeding Flexible, Adaptable, Iterative Examples: RUP or UP, Extreme Programming
(XP), Scrum.
By: Asma Sajid ,College of Computer Science & Information Studies (C2SIS), GCUF
04/07/20235
RUP Lifecycle Phases
1. Inception – “Daydream”
2. Elaboration – “Design/Details”
3. Construction – “Do it”
4. Transition – “Deploy it” Phases are not the classical requirements/
design/coding/implementation processes Phases iterate over many cycles
By: Asma Sajid ,College of Computer Science & Information Studies (C2SIS), GCUF
04/07/20236
RUP Stages
Workflows look traditional, but they iterate in four phases
By: Asma Sajid ,College of Computer Science & Information Studies (C2SIS), GCUF
04/07/20237
Inception Elaboration … Inception helps to establish business rationale and
scope for project Business case: how much it will cost and how much it
will bring in? Scope: try to get sense of size of the project and whether
it’s doable. Creates a vision and scope document at a high level of
abstraction. In elaboration, collect more detailed requirements
and do high-level analysis and design Inception gives you the go-ahead to start a project,
elaboration determines the risks. Requirement risks: big danger is that you may build the wrong system Technological risks: can the technology actually do the job? will the pieces fit together? Skills risks: can you get the staff and expertise you need? Political risks: can political forces get in the way?
Develop use cases, non-functional requirements & domain model.By: Asma Sajid ,College of Computer Science & Information Studies (C2SIS), GCUF
04/07/20238… Construction Transition
Construction builds production-quality software in many increments, tested and integrated, each satisfying a subset of the requirements of the project Delivery may be to external, early users, or purely
internal Each iteration contains usual life-cycle phases of analysis,
design, implementation and testing Planning is crucial: use cases and other UML documents
Transition activities include beta testing, performance tuning (optimization) and user training No new functionality unless it’s small and essential Bug fixes are OK
By: Asma Sajid ,College of Computer Science & Information Studies (C2SIS), GCUF
04/07/20239
inc. elaboration construction transition
iteration phase
development cycle
release
A stable executablesubset of the finalproduct. The end ofeach iteration is aminor release.
increment
The difference(delta) between thereleases of 2subsequentiterations.
final productionrelease
At this point, thesystem is releasedfor production use.
milestone
An iteration end-point when somesignificant decisionor evaluation occurs.
UP phases are iterative & incremental Inception
Feasibility phase and approximate vision
Elaboration Core architecture implementation, high risk resolution
Construction Implementation of remaining elements
Transition Beta tests, deployment
By: Asma Sajid ,College of Computer Science & Information Studies (C2SIS), GCUF
04/07/202310
UP artifacts/documentations
The UP describes work activities, which result in work products called artifacts
Examples of artifacts:1) Vision, scope and business case descriptions2) Use cases (describe scenarios for user-system
interactions)3) UML diagrams for domain modeling, interaction
diagrams, system modeling4) Source code (and source code documentation)5) Web graphics6) Database schema
By: Asma Sajid ,College of Computer Science & Information Studies (C2SIS), GCUF
04/07/202311
Milestone for first Elaboration
At start of elaboration, identify part of the project to design & implement A typical and crucial scenario (from a use case)
After first elaboration, project is, say, 1/5th done Can then provide estimates for rest of project
Significant risks are identified and understood
How is such a milestone different from a stage in the waterfall model?
04/07/202312
Process disciplines or workflows
• Requirements analysis: requirements engineering process implementation, dependability matrix etc.. Details in SRE course.
• Design: architectural and class levels, design patterns, architectural patterns.
• Implementation : in some framework or language
• Testing: black box, white box, regression, load & stress testing, V&V, inspections, operational profiles, code reviews, details in SQA course.
• Management: of Configuration and change, Project
Most of the process workflows occur during each iteration.
By: Asma Sajid ,College of Computer Science & Information Studies (C2SIS), GCUF
Larman's UML ProcessUse Cases
Define user interaction with the system. Underline nouns to identify concepts in the problem domain.
Conceptual Model
Use the underlined nouns from the use cases to create the concepts in the conceptual model.
Some of the nouns, if they identify simple data types, are used to create attributes of these concepts.
Create associations between the concepts.
System Sequence Diagram
Create system sequence diagrams for each use case scenario. Each sequence event in the diagram corresponds to a user interaction with the
system specified by the expanded use case.
System Contracts Specify post-conditions for each system event in the system sequence diagrams. Use the conceptual model to identify objects created, associations formed, and
attributes modified.
Collaboration Diagram
Create a collaboration (or sequence) diagram for each system event in the system sequence diagrams.
Assign responsibilities to classes in the conceptual model to fulfill the post-conditions in the contracts.
Use associations from the conceptual model in conjunction with patterns (Expert, Creator) to assign responsibilities.
Class Diagram Add methods and additional attributes which were discovered in the collaboration
diagrams to the classes in the conceptual model.
Code
Create classes with their names, attributes and method signatures taken from the class diagram.
For each method on a class, use the collaboration diagrams to find the sequence of messages generated when the method is called and create at least one line of code for each message.
Resource : http://objectsbydesign.com/index.html
top related