The Rational Unified Process RUP Static Structure Process

  • Slides: 43
Download presentation
The Rational Unified Process (RUP) Static Structure: Process Description Yazd University, Electrical and Computer

The Rational Unified Process (RUP) Static Structure: Process Description Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki

Previous Session: overall architecture of RUP: 2

Previous Session: overall architecture of RUP: 2

Process A process describes who is doing what, how, and when. RUP is represented

Process A process describes who is doing what, how, and when. RUP is represented using five primary elements: § Roles: the who § Activities: the how § Artifacts: the what § Workflows: the when § Disciplines: the "container" for the preceding four kinds of element 3

Process 4

Process 4

Example workflow of Requirements 5

Example workflow of Requirements 5

Process Elements: Roles The central concept in the process is that of a role.

Process Elements: Roles The central concept in the process is that of a role. A role defines: the behavior and responsibilities of an individual or of a group of individuals working together as a team. 6

Process Elements: Roles behavior is: activities the role performs each role is associated with

Process Elements: Roles behavior is: activities the role performs each role is associated with a set of cohesive activities. "Cohesive" in this sense means: activities that are best performed by one person. 7

Process Elements: Roles responsibilities of each role are usually expressed in relation to certain

Process Elements: Roles responsibilities of each role are usually expressed in relation to certain artifacts that the role creates, modifies, or controls. 8

Process Elements: Roles are not individuals, nor job titles. You can play the Project

Process Elements: Roles are not individuals, nor job titles. You can play the Project Manager role for an hour, then play the architect role for the rest of the morning, and switch from coder role to tester role during the afternoon. Your colleagues Joe, Stefan, and Mary might all play simultaneously the Design Reviewer role in your review later in the afternoon. 9

Process Elements: Roles Examples of roles: System Analyst § leads and coordinates § requirements

Process Elements: Roles Examples of roles: System Analyst § leads and coordinates § requirements elicitation and § use-case modeling by outlining the system's functionality and § Defining boundaries of the system. 10

Process Elements: Roles Designer § defines the § responsibilities, § operations, § attributes, and

Process Elements: Roles Designer § defines the § responsibilities, § operations, § attributes, and § relationships of one or more classes and § determines how they should be adjusted to the implementation environment. 11

Process Elements: Roles Test Designer § is responsible for § planning, § design, §

Process Elements: Roles Test Designer § is responsible for § planning, § design, § implementation, and § evaluation of tests, including: § generating the test plan and procedures and § implementing the test procedures, and § evaluating § test coverage, § results, and § effectiveness. 12

Process Elements: 13 Roles

Process Elements: 13 Roles

Process Elements: Activities Roles have activities, which … define the work they perform. An

Process Elements: Activities Roles have activities, which … define the work they perform. An activity is § a unit of work that § an individual in that role may be asked to perform and § that produces a meaningful result in the context of the project. 14

Process Elements: Activities The activity has a clear purpose, It expressed in terms of

Process Elements: Activities The activity has a clear purpose, It expressed in terms of creating or updating artifacts, Every activity is assigned to one specific role. The granularity of an activity is generally a few hours to a few days. It usually involves one person in the associated role and affects one or only a small number of artifacts. 15

Process Elements: Activities may be repeated several times on the same artifact, especially from

Process Elements: Activities may be repeated several times on the same artifact, especially from one iteration to another. Repeated activities are performed by the same role but not necessarily the same individual. 16

Process Elements: Activities examples of activities: § Plan an iteration: § performed by the

Process Elements: Activities examples of activities: § Plan an iteration: § performed by the Role: Project Manager § Find use cases and actors: § performed by the Role: System Analyst § Review the design: § performed by the Role: Design Reviewer § Execute a performance test: § performed by the Role: Performance Tester 17

Process Elements: Activities Activity Steps: § Thinking steps § The person playing the role

Process Elements: Activities Activity Steps: § Thinking steps § The person playing the role understands the nature of the task, § gathers and examines the input artifacts, and § formulates the outcome. § Performing steps § The person playing the role creates or updates some artifacts. § Reviewing steps 18 § The person playing the role inspects the results against some criteria.

Process Elements: Activities For example, the Activity: Find Use Cases and Actors 1) Find

Process Elements: Activities For example, the Activity: Find Use Cases and Actors 1) Find actors 2) Find use cases. 3) Describe how actors and use cases interact. 4) Package use cases and actors. 5) Present the use-case model in use-case diagrams. 6) Develop a survey of the use-case model. 7) Evaluate your results. 19

Process Elements: Artifacts Activities have input and output artifacts. An artifact is a piece

Process Elements: Artifacts Activities have input and output artifacts. An artifact is a piece of information that is produced, modified, or used by a process. Artifacts are the tangible products of the project: the things the project produces or uses while working toward the final product. Artifacts are used as input by roles to perform an activity and are the result or output of such activities. 20

Process Elements: Artifacts take various shapes or forms: 1) A model § such as

Process Elements: Artifacts take various shapes or forms: 1) A model § such as the use-case model or § the design model 2) A model element § an element within a model such as § a class, § a use case, or 1)a subsystem 21

Process Elements: Artifacts 3) A document § such as a business case or §

Process Elements: Artifacts 3) A document § such as a business case or § software architecture document 4) Source code 5) Executables 22

Process Elements: Artifacts Artifact is the term used in RUP. Other processes use terms

Process Elements: Artifacts Artifact is the term used in RUP. Other processes use terms such as § work product, § work units, § deliverables, § and so on Deliverables in RUP: are only the subset of all artifacts that end up in the hands of the customers and end users. 23

Artifacts Major artifacts of RUP: 24

Artifacts Major artifacts of RUP: 24

Process Elements: Artifacts Examples of artifacts: § A design model in UML stored in

Process Elements: Artifacts Examples of artifacts: § A design model in UML stored in Rational Rose § A project plan stored in Microsoft Project § A defect stored in Rational Clear. Quest § A project requirements database in Rational Requisite. Pro 25

Process Elements: Disciplines are "containers" used to organize activities of the process. There are

Process Elements: Disciplines are "containers" used to organize activities of the process. There are nine main disciplines in RUP 26

Process Elements: Disciplines The nine core disciplines are divided into § six technical disciplines

Process Elements: Disciplines The nine core disciplines are divided into § six technical disciplines and § three supporting disciplines. 27

Process Elements: 28 Disciplines

Process Elements: 28 Disciplines

Process Elements: Workflows A workflow is § a sequence of activities that § produces

Process Elements: Workflows A workflow is § a sequence of activities that § produces a result of observable value. 29

Process Elements: Workflows RUP uses three types of workflow: 1) Core workflows, § associated

Process Elements: Workflows RUP uses three types of workflow: 1) Core workflows, § associated to each discipline 2) Workflow details, § to refine the core workflow 3) Iteration plans 30

Additional Process Elements These additional process elements are: § Guidelines § Templates § Tool

Additional Process Elements These additional process elements are: § Guidelines § Templates § Tool mentors § Concepts 31

Additional Process Elements 32

Additional Process Elements 32

Process Elements: Guidelines are: § rules, § recommendations, or § heuristics that support activities

Process Elements: Guidelines are: § rules, § recommendations, or § heuristics that support activities and steps. Guidelines are used also to assess the quality of artifacts. 33

Process Elements: Guidelines Types of guidelines: 1) Work guidelines § give practical advice on

Process Elements: Guidelines Types of guidelines: 1) Work guidelines § give practical advice on how to undertake an activity, for example: § Work guidelines for reviews § Work guidelines for a use-case workshop § Work guidelines for programming, such as programming in pairs 34

Process Elements: 2) Guidelines Artifact guidelines § describe how to develop, § evaluate, and

Process Elements: 2) Guidelines Artifact guidelines § describe how to develop, § evaluate, and § use the artifact; § for example: § How to create a specific artifact § User-interface guidelines 35

Process Elements: Guidelines Some guidelines need to be § refined or § for a

Process Elements: Guidelines Some guidelines need to be § refined or § for a given organization or project to § accommodate project specifics 36

Process Elements: Guidelines examples: § User-interface guidelines, § such as a description of the

Process Elements: Guidelines examples: § User-interface guidelines, § such as a description of the windowing style specific to a project: § color palette, § fonts, § gallery of icons, and so on § Programming guidelines, § such as a description of naming conventions specific to the project 37

Process Elements: Templates are linked to the tool that is to be used. For

Process Elements: Templates are linked to the tool that is to be used. For example: § Microsoft Word templates for documents and some reports § Microsoft Project template for the § project plan and § iteration plan 38

Process Elements: Templates Organizations may want to customize the templates before using them by

Process Elements: Templates Organizations may want to customize the templates before using them by adding the § company logo, § some project identification, or § 39 information specific to the type of project.

Process Elements: Tool Mentors Tool mentors § provide guidance § by showing you how

Process Elements: Tool Mentors Tool mentors § provide guidance § by showing you how to perform the steps using a specific software tool. § Tool mentors in RUP are for § Rational Rose, § Requisite. Pro, § Clear. Case, § Clear. Quest, and 40 § Test. Studio

Process Elements: Tool Mentors A development organization can § extend the concept of tool

Process Elements: Tool Mentors A development organization can § extend the concept of tool mentor to § provide guidance 41 for other tools.

Process Elements: Concepts Some of the key concepts, such as: § iteration, § phase,

Process Elements: Concepts Some of the key concepts, such as: § iteration, § phase, § artifact, § risk, § performance testing, and so on, are introduced in separate sections of the process, 42

A Process Framework With this structure, … RUP constitutes a process framework. Roles, artifacts,

A Process Framework With this structure, … RUP constitutes a process framework. Roles, artifacts, activities, guidelines, concepts, and mentors are the elements that: § you can add or § replace § to evolve or adapt the process to the organization's needs. 43