• No results found

Introduction to Rational Unified Process

N/A
N/A
Protected

Academic year: 2021

Share "Introduction to Rational Unified Process"

Copied!
18
0
0

Loading.... (view fulltext now)

Full text

(1)

Chapter 2 Text

Introduction to Rational Unified Process

Modified in many cases to support instructional needs. Original developed by Rational

(2)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 2

Objectives: Rational Unified Process

We have talked about these in general. Now, We have talked about these in general. Now,

for a more formal discussion:

for a more formal discussion:

 Describe the Describe the Unified Modeling Unified Modeling Language (UML)

Language (UML)

 Define what a Define what a Software Development Software Development Process

Process is is

 Describe the Describe the Rational Unified Process Rational Unified Process

 Explain the four Explain the four phases phases of the Rational of the Rational Unified Process and their associated

Unified Process and their associated milestones

milestones

 Define Define iterations iterations and their relation to and their relation to phases

phases

(3)

The RUP

 Software Development is a Software Development is a process of developing a process of developing a software system from requirements.\

software system from requirements.\

 A A software process software process provides a provides a disciplined approach disciplined approach to assigning tasks and responsibilities to ensure the

to assigning tasks and responsibilities to ensure the production of

production of high-quality software high-quality software within a within a predictable schedule / budget.

predictable schedule / budget.

 The The RUP is a software process RUP is a software process that incorporates the that incorporates the six best practices we’ve discussed.

six best practices we’ve discussed.

 The RUP formalizes these best practices into a written set The RUP formalizes these best practices into a written set of procedures/practices that are complete and self-

of procedures/practices that are complete and self- consistent.

consistent.

(4)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 4

In Building a System, a Language (like English) is Not Enough

Modeling Language

Unified Process Team-Based

Development

We need a Modeling Language! Some kind of ‘universal notation.’

We will use the Unified Modeling Language, UML)

Provides a standard for artifacts produced by workers in roles undertaking activities during development – (semantic models, syntactic notation, and diagrams.

things that must understood, controlled, and exchanged.) We need a development Process

It is ALL ABOUT PROCESS (and object culture).

While UML has a very high value as a common modeling language, successful software

development requires a development process!

.

(5)

What Is the UML?

 Have seen parts of this slide before…. Have seen parts of this slide before….

 The Unified Modeling Language (UML) is a The Unified Modeling Language (UML) is a language for

language for

• Specifying

• Visualizing

• Constructing

• Documenting

the the artifacts artifacts of a software-intensive system of a software-intensive system

• UML is now the industry standard modeling language.

• We will use UML 2.0

•  Important to note that UML does not dictate an OO approach – but greatly

supports it!

(6)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 6

The UML Provides Standardized Diagrams

Deployment Diagrams Deployment

Diagrams Use-Case

Diagrams Use-Case Diagrams Use-Case

Diagrams Use-Case Diagrams Use-Case

Diagrams Use-Case Diagrams

Scenario Diagrams Scenario Diagrams Scenario

Diagrams Scenario Diagrams Sequence

Diagrams Sequence

Diagrams

State Diagrams

State Diagrams State

Diagrams State Diagrams State

Diagrams State Diagrams

Component Diagrams Component

Diagrams Component Diagrams Component Diagrams

Component Diagrams Component

Diagrams Models

State Diagrams

State Diagrams State

Diagrams State Diagrams Object

Diagrams Object Diagrams

Scenario Diagrams Scenario Diagrams Scenario

Diagrams Scenario

Diagrams Collaboration Diagrams Collaboration

Diagrams Use-Case

Diagrams Use-Case Diagrams Use-Case

Diagrams Use-Case Diagrams Activity

Diagrams Activity Diagrams

State Diagrams

State Diagrams State

Diagrams State Diagrams Class

Diagrams Class Diagrams

• In building visual models, many different diagrams are needed to represent different views of the system. (different views to different stakeholders).

• Use Case Diagrams (ahead) – illustrate user interactions with the application.

• Activity Diagrams illustrate the flow of events in a Use Case (all scenarios).

• Class diagrams represent logical structure , while Interaction Diagrams

• illustrate behavior (show how objects collaborate via message passing to

• provide features (responsibilities) of the objects..

• Other diagrams are used to illustrate other viewpoints necessary in some (but not

all) circumstances, such as the State Diagrams, Deployment diagrams, …

(7)

A Sample: Use-Case Diagram

A University Course Registration

A University Course Registration System System

Professor

Select Courses to Teach Student

Course Catalog Register for Courses

Maintain Student Information Maintain Professor Information

Registrar

Billing System Close Registration

Use Case diagrams are used to show the existence of Use Cases and their

relationships both to other Use Cases and to Actors.

An Actor is something/one external to the system that interfaces with the system and receives ‘value,’

from it, such as a user.

Use Cases model dialogue (interchange) between actors and system.

A Use Case is initiated by an Actor to invoke certain functionality – like Register for Courses (see Use Case).

Arrow indicates direction of initiation of the interaction.

A Use Case Narrative (Specification) is a complete, meaningful flow of events!

A Use Case

(8)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 8

A Sample UML Diagram: Classes

A University Course Registration System A University Course Registration System

MainForm

// select maintain schedule()

<<boundary>> MaintainScheduleForm

+ // open()

+ // select four primary and two alternate offerings()

<<boundary>>

1 0..1

1

CourseCatalogSystem

// get course offerings()

<<boundary>>

1 0..*

RegistrationController // add courses to schedule() // get course offerings ()

<<control>>

1

1

Schedule

// create with offerings()

<<entity>>

1

Classes – different kinds 0..1

(here, boundary, control, entity classes) Note: multiplicity; association

Be sure to understand notation…..

multiplicity; aggregation; stereotypes…

MUCH MORE ABOUT THESE CLASSES LATER!

(9)

UML Diagrams Are Key Artifacts Produced

Actor A

Use-Case 1

Use-Case 2

Actor B

user : »ç¿ëÀÚ

mainWnd : MainWnd

fileMgr : FileMgr

repository : Repository document : Document

gFile : GrpFile

9: sortByName ( )

L1: Doc view request ( )

2: fetchDoc( )

5: readDoc ( ) 7: readFile ( )

3: create ( ) 6: fillDocument ( ) 4: create ( ) 8: fillFile ( )

GrpFile read( ) open( ) create( ) fillFile( ) rep

Repository

name : char * = 0 readDoc( ) readFile( ) (from Persistence)

FileMgr fetchDoc( ) sortByName( )

DocumentList add( ) delete( )

Document name : int docid : int numField : int get( ) open( ) close( ) read( ) sortFileList( ) create( ) fillDocument( ) fList

1 FileList

add( ) delete( )

1

File

read( )

read() fill the code..

UI

MFC

RogueWave

global DocumentApp

Persistence Window95

¹®¼ °ü¸®

Ŭ¶óÀ̾ðÆ®.EX E WindowsNT

¹®¼ °ü¸® ¿£Áø.EX E

Windows NT

Windows95

S olaris

ÀÀ¿ë¼ ¹ö. EXE Alpha UNIX

I BM Mainf rame

µ¥ÀÌŸº£À ̽º¼ ¹ö Windows95

¹®¼ °ü¸® ¾Ö Çø´

ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³× Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã ½º ÅÛ ¿¬°á ¸ðµ¨

- À©µµ¿ì 95 : Ŭ¶óÀÌ ¾ðÆ®

- À©µµ¿ì NT: ÀÀ¿ë¼ ¹ö - À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼ ¹ö ¹× µ¥À ÌŸ ¼ ¹ö, Åë½Å ¼ ¹ö - IBM ¸ÞÀÎ ÇÁ·¹ÀÓ: µ¥ÀÌ Å¸ ¼ ¹ö, Åë½Å ¼ ¹ö

Document FileManager

GraphicFile File

Repository DocumentList

FileList

user mainWnd fileMgr :

FileMgr document : repository Document gFile 1: D oc v iew reques t ( )

2: fetc hDoc ( )

3 : c reate ( )

4: c reate ( )

5: readDoc ( )

6 : fillDoc ument ( )

7: rea dFile ( )

8: fil lFile ( )

9: s ortBy Name ( ) Æ ¯Á¤¹® ¼ ¿¡ ´ëÇÑ º¸±â ¸¦

» ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.

È Àϰü¸® ÀÚ´Â Àоî¿Â

¹ ®¼ ÀÇ Á¤º¸¸¦ ÇØ´ç ¹® ¼

° ´Ã¼¿¡ ¼³Á¤À » ¿äÃ»Ç Ñ´Ù.

È ¸é ° ´Ã¼´Â Àоîµé ÀÎ

°´Ã¼ µé¿¡ ´ë ÇØ À̸§ º°·Î Á¤·Ä À» ½ ÃÄ Ñ È ¸é¿¡

º¸¿©ÁØ´Ù.

Customer name addr withdraw()

fetch() send() receive()

<<entity>>

Forward Engineering(Code Generation) and

Reverse Engineering

Executable System User Interface

Definition

Domain Expert

Openning

Writing

Reading Closing

add file [ numberO ffile==MAX ] / flag OFF add file

close file

close file

Use-Case 3

Source Code edit, compile, debug, link

Use-Case

Diagram Class Diagram

Collaboration Diagram

Sequence Diagram

Component Diagram

State Diagram

Package Diagram

Deployment Diagram Class

Have seen this slide before too.

(10)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 19 10

New or changed requirements

New or changed system

Software Engineering Process

What Is a Process?

A process defines

A process defines Who Who is doing is doing What What , ,

When When and and How How to reach a certain goal. In to reach a certain goal. In software engineering the goal is to

software engineering the goal is to build build a a software product or to

software product or to enhance enhance an existing an existing one one

The RUP can be used for any kind of software system (information system, scientific or engineering-oriented system, etc.)

This semester, we will use Rational Team Concert on the jazz technology platform.

Recognize that RTC is a team-aware software development platform that integrates work item tracking builds, source control, and agile planning.

RTC provides a collaborative environment to manage all aspects of a team’s work – plans, tasks, build management, and reports.

The RUP is a development process

RTC is a framework for managing all aspects of a team’s work which may include

development - the UP, Agile, or other characteristics of other processes.

(11)

Rational Team Concert (RTC)

 Rational Team Concert has

 an Eclipse-based client interface,

 a Microsoft Visual Studio client interface, and

 a Web interface.

 The client interfaces provide an integrated development environment for developers to build and deliver artifacts.

Users can use the Web interface to administer servers and projects, access project areas, browse repository

information, update tasks, or read about recent events.

 Rational Team Concert and the Jazz technology platform are developed on Jazz.net, where developers and users

collaborate in the development process through discussion forums and newsgroups. The Jazz.net community site

includes articles, forums, wikis, blogs, current

documentation, and other troubleshooting and support

resources for both developers and users.

(12)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 12

As An Effective Process, the RUP:

   The RUP is a The RUP is a

 use-case driven,

 architecture-centric,

 iterative development process!

WHAT DOES THIS MEAN TO YOU? VERY WHAT DOES THIS MEAN TO YOU? VERY

IMPORTANT!

IMPORTANT! KNOW THIS KNOW THIS !!!! !!!!

Be sure you know what this all means – coming Be sure you know what this all means – coming

up up

(13)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 19 13

Rational Unified Process Is Use- Case Driven

Withdraw Money Customer

An An actor actor is someone or is someone or something

something outside outside the the system that

system that interacts interacts with the system

with the system

An actor An actor receives receives VALUE VALUE from the system. A from the system. A MUST.

MUST.

Example: ATM, transfer Example: ATM, transfer

funds, withdraw funds, withdraw money….

money….

A A Use-Case Use-Case (actually (actually the Use Case

the Use Case

Narrative or Use Narrative or Use

Case Case

Specification!) is a Specification!) is a

sequence of sequence of

actions

actions a system a system performs that

performs that yields an

yields an

observable result

observable result of of value

value to a to a

particular actor particular actor Models

Models functionality functionality from user point of from user point of

view!!

view!!

Check Balance

Use-Cases for a Cash Machine

A collective set of Use Cases is said to constitute The Use Case Model and represent all the possible ways of using the system. (end-user view; functionality!!!)

Use Case is thus a model of system’s intended functions.

Use Cases can serve as a contract between customer and developer, and are said to capture total functionality.

This is a Use Case Diagram. Contains UML

symbols for Use Cases and for Actors. Also shows

the relationships between an actor and the use cases.

(14)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 14

Use-Case Specifications Include a Flow of Events

Consider, for example, the

Consider, for example, the flow of events flow of events for the Withdraw for the Withdraw Money Use-Case. (Example is quite general….)

Money Use-Case. (Example is quite general….)

1. The Use-Case begins when the customer inserts a cash card.

1. The Use-Case begins when the customer inserts a cash card.

The system reads and validates information on the card.

The system reads and validates information on the card.

2. The system prompts for the PIN. The customer enters the pin.

The system validates the PIN.

3. The system asks which operation the customer wishes to perform. The customer selects “Cash withdrawal.”

4. The system requests the amount. The customer enters the amount.

5. The system requests the account type. The customer selects checking or savings.

6. The system communicates with the ATM network . . . REMEMBER: The RUP is a use-case driven,

architecture-centric, iterative development process!

Note the interchange.

This text is typical in a Use Case narrative

(Interchanges

may/may not

be numbered’)

(15)

Rational Unified Process: Use-Case Driven Process Use-Cases are concise, simple, and Use-Cases are concise, simple, and understandable understandable by a by a

wide range of stakeholders wide range of stakeholders

 End users, developers and testers, others all understand functional requirements of the system.

 Use-Cases Use-Cases drive numerous activities in the process drive numerous activities in the process : :

 Creation and validation of the design model

 Test case development and procedures of the test model

 User interface development and validation

 Iteration planning (identifies functionality and risk and more…)

 Creation of user documentation

 System deployment, and MUCH more.

(16)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 16

Rational Unified Process: Architecture- Centric Process:

Architecture is a Architecture is a primary focus primary focus of the early iterations of the early iterations

 Building, validating, and base lining the architecture constitute the primary objectives (but not all) of Elaboration Phase in the RUP – especially the first iteration…

 The The Architectural Prototype Architectural Prototype model captures the model captures the

architecture; serves as the baseline and drives development architecture; serves as the baseline and drives development

 The Software Architecture Document The Software Architecture Document captures the captures the architectural description.

architectural description.

 Platforms; distribution; high-level design models (client/server;

pipe/filter…)

 Identification of potential items of high risk!

 Other artifacts are Other artifacts are derived derived from architecture: from architecture:

 Much more later on architecture… Essential!

(17)

Benefits of an Architecture- Centric Process

(Think ‘parts’: layers, subsystems, packages, relationships, (Think ‘parts’: layers, subsystems, packages, relationships, components, etc….)

components, etc….)

 Lets you gain and retain Lets you gain and retain intellectual control intellectual control over a project, to over a project, to manage its complexity, and to maintain system integrity

manage its complexity, and to maintain system integrity

 (Principles of design: divide and conquer; coupling; cohesion, reusability, etc. )

 Provides an effective basis for large-scale reuse Provides an effective basis for large-scale reuse

 Provides a basis for project management – allocation to teams… Provides a basis for project management – allocation to teams…

 Facilitates Facilitates component-based development component-based development (from separate architectural (from separate architectural components – interchange (swap) well-defined components.

components – interchange (swap) well-defined components.

  Components fulfill a clear function in the context of a well-defined architecture

  A component conforms to and provides the physical realization of a

set of interfaces

(18)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 18

Benefits of an Architecture-Centric Process - more

 Architecture is Architecture is not not just the sum of parts just the sum of parts

 Consists of small, Consists of small, independent tactical decisions independent tactical decisions that provides a

that provides a structure structure on how to grow the on how to grow the

system without having the complexity to blow your system without having the complexity to blow your

minds.

minds.

 Architecture gives us Architecture gives us structure structure for this and for this and rules rules to to guide us.

guide us.

 Third description: Third description: The RUP is a use-case driven, The RUP is a use-case driven, architecture-centric,

architecture-centric, iterative development iterative development process!

process!

To set the stage for further discussion of the To set the stage for further discussion of the

‘iteration,’ we need more on the structure on

‘iteration,’ we need more on the structure on the RUP.

the RUP.

References

Related documents

Copyright © 2002 Rational Software, all rights reserved 10.. Exercise 2.2: Quality Has Many

Copyright  1998 Rational Software, all rights reserved 2.. Objectives: Rational

•   An iteration is a distinct sequence of activities with an An iteration is a distinct sequence of activities with an established established plan and plan and

Although national museums do not charge administration fees for UK loans, the costs of transport, insurance, conservation, security and environmental requirements can be extensive..

Abstract We investigate the large-scale forcing and teleconnections between atmospheric circulation (sea level pressure, SLP), sea surface temperatures (SSTs), precipitation and

The usual approach is to take a two level approach with a coarse-grained phase plan that looks at the project across the four main phases of the RUP and then consider detailed

Rational Unified Process: Best Practices for Software Development Teams White Paper TP026B

– may need automated testing procedure – design patterns can help encapsulate change – MVC et. can