Presentation is loading. Please wait.

Presentation is loading. Please wait.

Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.

Similar presentations


Presentation on theme: "Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational."— Presentation transcript:

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

2 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 2

3 Process 3

4 Example workflow of Requirements 4

5 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. 5

6 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. 6 Process Elements: Roles

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

8 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. 8 Process Elements: Roles

9 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. 9 Process Elements: Roles

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

11 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. 11 Process Elements: Roles

12 12 Process Elements: Roles

13 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. 13 Process Elements: Activities

14 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. 14 Process Elements: Activities

15 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. 15 Process Elements: Activities

16 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 16 Process Elements: Activities

17 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  The person playing the role inspects the results against some criteria. 17 Process Elements: Activities

18 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. 18 Process Elements: Activities

19 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. 19 Process Elements: Artifacts

20 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  a subsystem 20 Process Elements: Artifacts

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

22 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. 22 Process Elements: Artifacts

23 Artifacts Major artifacts of RUP: 23

24 Examples of artifacts:  A design model in UML stored in Rational Rose  A project plan stored in Microsoft Project  A defect stored in Rational ClearQuest  A project requirements database in Rational RequisitePro 24 Process Elements: Artifacts

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

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

27 27 Process Elements: Disciplines

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

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

30 These additional process elements are:  Guidelines  Templates  Tool mentors  Concepts 30 Additional Process Elements

31 31 Additional Process Elements

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

33 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 33 Process Elements: Guidelines

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

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

36 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 36 Process Elements: Guidelines

37 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 37 Process Elements: Templates

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

39 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,  RequisitePro,  ClearCase,  ClearQuest, and  TestStudio 39 Process Elements: Tool Mentors

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

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

42 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. 42 A Process Framework


Download ppt "Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational."

Similar presentations


Ads by Google