RUP - Software Engineering II

advertisement

By:

Bhaskar Rao.

Bhaskar Rao 4/10/2020 1

Introduction

History

Features

Overview

Best Practices

Building Blocks

Tools

Process Architecture

Phases

Workflows

Related Frameworks

Rational Method Composer

RUP in Industry

RUP Certification

Advantages & Disadvantages

Future

Relevance to CS577 & Conclusion

Bhaskar Rao 4/10/2020 2

3.

4.

1.

2.

5.

6.

What is RUP?

Iterativesoftware development process framework created by the Rational Software

Corporation.

Why RUP?

Adaptable process framework , intended to be tailored by the development organizations and software project teams that will select the elements of the process that are appropriate for their needs.

It combines the experience base of companies to articulate 6 best practices: iterative development requirements management employment of a component-based architecture modeling software visually

Continuous verification of quality

Control change control.

Tailorable process that guides development, has tools that automate that application, & services that accelerate the adoption of those processes & tools.

Capability Patterns-Add/Remove chunks of Processes + Modify to address needs.

Ready to use Delivery Processes-quick starting point for planning & initiating a project.

Bhaskar Rao 4/10/2020 3

 Invented by Ivar Jacobson, Grady Booch & James Rumbaugh.

Bhaskar Rao 4/10/2020 4

 Architecture Centric with 4+1 Views of an architecture:

1.

2.

Logical: the functionality as seen by the end user

Implementation: the system as seen by the programmers

3.

4.

Process: view seen by system integrators

Deployment: view seen by system engineering to be used for installation and delivery

5.

Use-Case: the high level use-cases that drive the architecture

Use-Case-Driven

 Iterative Development

 Configurable

 Supported by tools

Bhaskar Rao 4/10/2020 5

Bhaskar Rao 4/10/2020 6

Bhaskar Rao 4/10/2020 7

Bhaskar Rao 4/10/2020 8

Bhaskar Rao 4/10/2020 9

Bhaskar Rao 4/10/2020 10

Bhaskar Rao 4/10/2020 11

Bhaskar Rao 4/10/2020 12

Bhaskar Rao 4/10/2020 13

 The RUP uses four elements to describe processes:

 Workers – describe a role, some people have many roles.

 Activities – small, definable, reusable tasks that can be allocated to a single worker.

 Artifacts – usually process deliverables, like: use cases, code, plans, test cases, test results.

 Workflows – coordinated sequences of activities.

 There are 9 workflows, 6 engineering workflows:

 Business modeling, Requirements, Development & Analysis,

Implementation. Test, Deployment.

 And 3 supporting workflows:

 Project management, Configuration and Change Management,

Environment.

Bhaskar Rao 4/10/2020 14

Bhaskar Rao 4/10/2020 15

Bhaskar Rao 4/10/2020 16

Kruchten gives the following proportions as typical: Inception 10%, Elaboration 30%,

Construction 50%, Transition 10%.

Bhaskar Rao 4/10/2020 17

Bhaskar Rao 4/10/2020 18

Bhaskar Rao 4/10/2020 19

Bhaskar Rao 4/10/2020 20

Bhaskar Rao 4/10/2020 21

Workflow

Business Modeling

Requirements

Analysis & Design

Implementation

Test

Deployment

Project Management

Configuration & Change

Management

Environment

Goal

Document business processes using business use cases.

Describe what a system should do (elicit, organize, document required functionality, constraints, track & document trade-offs & decisions).

System will be realized in implementation phase.

To define organization of code(subsystems), implement classes & objects(components), test components as units, integrate results from implementers/teams into an executable system.

Verify interaction between objects, integration of components, requirements have been correctly implemented, identify & ensure defects are addressed prior to deployment.

Producing external releases, packaging, distributing, installing, providing help & assistance to users.

Framework for managing software intensive projects, practical guidelines for staffing, executing & monitoring projects, manage risk.

Manage multiple variants of evolving software systems, tracking versions, performing builds, enforcing site-specific development policies, perform change request management.

Provide software development organization with software development environment - processes + tools to support the development Team.

Bhaskar Rao 4/10/2020 22

Bhaskar Rao 4/10/2020 23

Work products involve: Iteration

Assessment, Project Measurements,

Periodic Status Assessment, Work

Order & Issues List.

RUP is like an online mentor that provides guidelines, templates, and examples for all aspects and stages of program development.

 The RUP development methodology provides a structured way for companies to envision & create software programs.

Bhaskar Rao 4/10/2020 24

OpenUP(OpenUP): is a part of the Eclipse Process Framework (EPF), an open source process framework developed within the Eclipse Foundation . Its goals are to make it easy to adopt the core of the RUP / Unified Process .

Agile UP: simplified version of the IBM Rational Unified Process (RUP) developed by Scott Ambler .

[1] The AUP applies agile techniques including test driven development (TDD), Agile Modeling , agile change management, and database refactoring to improve productivity.

EssUP: you can pick those practices that are applicable to your situation and combine them into your own process.

UPEDU: software development process specialized for education , developed by

Pierre-N. Robillard (École Polytechnique de Montréal), Philippe Kruchten

(Rational Software) and Patrick d'Astous (École Polytechnique de Montréal).

ITUP: knowledge base of widely accepted industry best practices and the accumulated experience from IBM 's client engagements.

Oracle Unified Method: plan-based method – that includes extensive overview material, task and artifact descriptions, and associated templates – the method is intended to be tailored to support the appropriate level of ceremony required for each project which is used by Oracle employees, customers & partner networks.

Bhaskar Rao 4/10/2020 25

Bhaskar Rao 4/10/2020 26

Bhaskar Rao 4/10/2020 27

Bhaskar Rao 4/10/2020 28

 This is a complete methodology in itself with an emphasis on accurate documentation

 It is proactively able to resolve the project risks associated with the client's evolving requirements requiring careful change request management

 Less time is required for integration as the process of integration goes on throughout the software development life cycle .

 The development time required is less due to reuse of components.

 There is online training and tutorial available for this process.

Bhaskar Rao 4/10/2020 29

 The team members need to be expert in their field to develop a software under this methodology.

 The development process is too complex and disorganized.

 On cutting edge projects which utilise new technology, the reuse of components will not be possible. Hence the time saving one could have made will be impossible to fulfill.

 Integration throughout the process of software development , in theory sounds a good thing. But on particularly big projects with multiple development streams it will only add to the confusion and cause more issues during the stages of testing

Bhaskar Rao 4/10/2020 30

Bhaskar Rao 4/10/2020 31

Relevance:

The iterative Phases of RUP find application in ICSM Spiral Model Life-Cycle phases & milestones.

The core workflows of RUP are incorporated as activities in ICSM.

The management workflows (PM,CCM & ENV) of RUP could be incorporated in

ICSM.

The RUP related frameworks could be adopted for a particular project (domain) that plans to use ICSM.

The Best Practices upon which RUP was built are now the pillars on which ICSM rest.

 Conclusion: RUP provides a unified Software Process Model as a Framework in which team members have access to the same large knowledge base of guidelines, templates, tools, and other items to ensure that they share the same language and perspective on the project . RUP development methodology provides a structured way for companies to envision & create software programs . Since it provides a specific plan for each step of the development process , it helps prevent resources from being wasted and reduces unexpected development costs .

By incorporating many more features of RUP, ICSM can be tailored to be a better process to design Software & Systems.

Bhaskar Rao 4/10/2020 32

Bhaskar Rao 4/10/2020 33

 http://en.wikipedia.org/wiki/IBM_Rational_Unified_Process www.ibm.com/Rational http://ootips.org/rup.html

http://www.eweek.com/c/a/Desktops-and-Notebooks/IBM-Acquires-Rational/

Krebs, Jochen (2007-01-15). "The value of RUP certification" . IBM . http://www-

128.ibm.com/developerworks/rational/library/jan07/krebs/index.html

. Retrieved 2008-05-13.

"Spacer IBM Certified Solution Designer - IBM Rational Unified Process V7.0" . IBM . http://www-

03.ibm.com/certify/certs/38008003.shtml

. Retrieved 2008-05-13.

"Test 839: Rational Unified Process v7.0" . IBM . http://www-03.ibm.com/certify/tests/ovr839.shtml

.

Retrieved 2008-05-13.

Stephen Schach (2004). Classical and Object-Oriented Software Engineering. 6/e, WCB McGraw Hill,

New York, 2004.

Rational Unified Process white paper .

RUP Design Specifications.

RUP Best Practices for Software Development Teams.

Manager's Introduction to RUP.

Ivar Jacobson , Grady Booch , and James Rumbaugh (1999). The Unified Software Development Process

Per Kroll, Philippe Kruchten (2003). Rational Unified Process Made Easy, The: A Practitioner's Guide to the RUP

Per Kroll, Bruce Mac Isaac (2006). Agility and Discipline Made Easy: Practices from OpenUP and RUP

Philippe Kruchten (1998). The Rational Unified Process: An Introduction

Ahmad Shuja, Jochen Krebs (2007). RUP Reference and Certification Guide

Walker Royce, Software Project Management, A Unified Framework

Bhaskar Rao 4/10/2020 34

Bhaskar Rao 4/10/2020 35

Download