13
Rational Unified Process (RUP) Lecture 2 08/11/2022 1 Asma Sajid College of Computer Science & Information Studies (C2SIS), GCUF

Lecture 2- RUP

Embed Size (px)

Citation preview

Page 1: Lecture 2- RUP

1

Rational Unified Process (RUP)

Lecture 2

04/07/2023

Asma Sajid

College of Computer Science & Information Studies (C2SIS), GCUF

Page 2: Lecture 2- RUP

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

Page 3: Lecture 2- RUP

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

Page 4: Lecture 2- RUP

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

Page 5: Lecture 2- RUP

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

Page 6: Lecture 2- RUP

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

Page 7: Lecture 2- RUP

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

Page 8: Lecture 2- RUP

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

Page 9: Lecture 2- RUP

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

Page 10: Lecture 2- RUP

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

Page 11: Lecture 2- RUP

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?

Page 12: Lecture 2- RUP

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

Page 13: Lecture 2- RUP

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