1. Trang chủ
  2. » Công Nghệ Thông Tin

Lecture Software process improvement: Lesson 32 - Dr. Ghulam Ahmad Farrukh

87 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Process patterns
Người hướng dẫn Dr. Ghulam Ahmad Farrukh
Thể loại Lecture
Định dạng
Số trang 87
Dung lượng 1,03 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Lecture Software process improvement: Lesson 32 provide students with knowledge about: process patterns; types of process patterns; task process patterns; stage process patterns; phase process patterns; documenting process patterns;... Please refer to the detailed content of the lecture!

Trang 1

1 1

Process Patterns

Lecture # 32

Trang 2

• A series of actions in which one or more 

inputs are used to produce one or more 

outputs

Trang 3

3 3

Patterns

• A general solution to a common (recurring) problem or issue, one from which a specific solution may be derived

• Patterns can exist at all scales

– Christopher Alexander

Trang 4

• A process pattern is a collection of general techniques, actions, and/or tasks (activities) for developing software

• A process pattern describes what you 

should do but not the exact details of how you should do something

Trang 6

• Since process patterns do not specify how 

to perform a given task, they can be used as reusable building blocks from which you 

may tailor a software process that meets the specific needs of your organization

– Why?

Trang 7

Process Patterns

• Software development patterns come in 

many flavors, including but not limited to analysis patterns, design patterns, 

Trang 8

• It can be argued that process patterns and organizational patterns go hand in hand

• Organizational patterns describe common management techniques or organizational structures

• Organization patterns describe proven, 

successful approaches for organizing and 

managing people involved with the 

Trang 9

Process Patterns

• An important feature of process patterns is that it is possible to develop them for all 

aspects of development

• The point to be made is that the scope of a single process pattern may range from a 

high­level view of how applications are 

developed to a more­detailed view of a 

specific portion of the software process

9

Trang 10

• There are at least three types of process 

patterns that we are interested in

Trang 11

Following slide to be inserted

Types of Process Patterns

11

Trang 12

• Task process patterns

• Stage process patterns

• Phase process patterns

Trang 13

13 13

Trang 14

• Stage process patterns depict the steps, 

which are often performed iteratively, of a single project stage

Trang 15

15 15

Trang 16

• Phase process patterns are performed in 

serial order, made up of stage process 

patterns which are performed iteratively

Trang 17

Documenting Process Patterns

17

Trang 19

Following slide to be inserted

Process Patterns Format

19

Trang 22

• Applicable forces motivating the process 

pattern

Trang 23

Initial Context/Entry Conditions

• Indicate the situation to which the pattern solution applies, and if applicable the entry conditions that must be true before the 

process may begin

23

Trang 24

• Describe in detail how to perform the 

steps/activities of the process pattern. You may also choose, particularly for phase and stage process patterns, to describe 

management, quality assurance, and risk 

management issues, as well as indicate 

potential metrics to collect when working the process

Trang 25

to be considered complete

25

Trang 26

• Indicate the other patterns that this pattern 

is composed of, is a part of, or is associated to

Trang 27

Known Uses/Examples

• Indicate where/how the process pattern has been applied in use. For example, the 

Technical Review task process pattern can 

be applied to the management of peer 

reviews, code reviews, model reviews, and management reviews

27

Trang 28

Pattern

Technical Review

Trang 29

Technical Review

• The Technical Review task process pattern describes how to organize, conduct, and 

follow through on the review of one or 

more deliverables

29

Trang 30

• First, the deliverables (models, prototypes, documents, source code, …) produced 

Trang 31

Technical Review – Forces ­ 2

• Second, because the cost of fixing defects increases the later they are detected in the development life cycle as a result of the 

Trang 32

• Third, because it is difficult to review your own work you want “a second set of eyes” 

to review a deliverable

• Fourth, you want to communicate your 

work to others, and one way to do that is to have your teammates review the 

deliverables that you produce

Trang 33

33

Trang 34

Technical Review process pattern).

Trang 35

Following slide to be inserted

Technical Review – Basic Steps

35

Trang 36

Perform cursory inspection

Organize review

Hold review

Act on

review

results

Trang 37

• Indicate readiness for review

– The development team must inform the review  manager, often a member of quality assurance,  when they are ready to have their work 

reviewed as well as what they intend to have 

Trang 38

produced. The main goal is to ensure that the 

Trang 39

materials ahead of time that are needed for the  review

39

Trang 40

explain/clarify their work. There are typically  between three to five reviewers, as well as the 

Trang 41

Technical Review – Solution ­ 6

– It is important that all material is reviewed. It is  too easy to look at something quickly and 

assume that it is right. It is the job of the review  facilitator to ensure that everything is looked at,  that everything is questioned

41

Trang 42

• Act on review results

– A document is produced during the review 

describing both the strengths and weaknesses of  the work being reviewed. This document 

should provide both a description of any 

weakness, why it is a weakness, and provide an  indication of what needs to be addressed to fix  the weakness

Trang 43

43

Trang 44

deliverables that they are building and how their work fits into the overall software 

Trang 45

Technical Review – Resulting 

Context ­ 2

• Individual team members and reviewers are likely to learn new techniques during the 

review, either techniques applied to the 

deliverable itself, management techniques applied during the review, or development techniques suggested during the review to improve the deliverable

45

Trang 46

Pattern

Program

Trang 47

• An important aspect of software 

development, one of many to be exact, is the  actual development of the source code

• As experienced developers know, there is far  more to programming than just sitting down 

at a computer and typing in source code

• The Program stage process pattern describes  the iterative tasks/activities of programming

47

Trang 48

• Programmers need to develop software that meets the needs of their user communities, needs that have been reflected in the form 

of models and documents developed during the Model stage and the Define and 

Trang 49

Program – Forces ­ 2

• The developed source code should reflect the information contained in these 

deliverables, yet at the same time may drive changes to them as programmers gain a 

detailed understanding of the domain

49

Trang 50

efficiently and quickly

Trang 51

• Second, your project infrastructure should 

be in place, defined during the Define 

Infrastructure stage of the Initiate phase. 

51

Trang 52

• The infrastructure includes the development and supporting tools that your programmers will use as well as the standards and 

guidelines that they will follow

• Third, programmers must be available to do the work

Trang 53

Following slide to be inserted

Program ­ Solution

53

Trang 54

The Program Process Pattern

Trang 55

• This figure depicts the process pattern for the Program stage, showing that there is 

more to this stage than simply writing 

source code: you need to understand the 

models, then seek out reusable artifacts to reduce your work load, then document what you are going to write, then write the code, then inspect and improve it, then test and 

fix it, and then finally package it 55

Trang 56

Program – Resulting  Context/Exit Conditions

• Fourth, if applicable the software should be 

Trang 58

• The main goal of the Construct phase is to build working software that is ready to be tested and delivered to your user 

community

Trang 59

Construct Phase

• This software will be accompanied by the models and source code that was used to 

develop it, a test plan to verify that the 

software works, any reusable artifacts that can be used on future projects, and the 

initial documentation and training plans 

supporting the software

59

Trang 60

• There are several forces applicable to the 

Construct Phase, including a lack of 

understanding of how to work the phase by  both senior management and by developers; 

an unwarranted focus on programming to the  neglect of modeling, testing, and 

generalization; and a penchant by everyone  involved to cut corners and take shortcuts 

that more often than not result in poor quality 

Trang 61

Construct Phase – Initial  Context/Existing Conditions

may begin

61

Trang 62

• First, the key project management 

documents (project plan, estimate, schedule, risk assessment, …) should be available and up­to­date

• Second, the project infrastructure should be defined, or at least a good portion of it is 

defined, so that the tools, processes, and 

standards are available to your development 

Trang 63

• Third, the high­level requirements for your software should be in place as well as the 

project charter for your team

• Fourth, maintenance changes applicable to the software you are constructing should be allocated to the release that you are working 

on (this is applicable only for existing 

software that is being updated)

63

Trang 64

• Finally, your development team should be selected and made available (as best as 

possible) for when they are needed by your project

Trang 65

infrastructure is (mostly) defined, and the funding and charter for the project have 

Trang 66

The Construct Phase Process Pattern

Trang 67

The Construct Phase Process 

Pattern

67

Trang 68

• The four iterative stages of the Construct 

phase are highly interrelated

• The Model stage concentrates on the 

abstraction of the technical and/or problem  domain via the use of diagrams, documents,  and prototypes

• The Program stage focuses on the 

development and documentation of program 

Trang 69

• The Generalize Stage is critical to your 

organization’s reuse efforts as it focuses on 

identifying reusable items, or items that may  become reusable once modified, from a 

Trang 70

combined with quality assurance techniques such as code inspections and technical 

Trang 73

• At this point your software is ready to move 

on to the Deliver phase where it will be 

tested in the large, reworked as needed, and released to your user community

73

Trang 74

Why Process Patterns?

Trang 75

75 75

Trang 76

Ended Here

Trang 78

The Object­Oriented Software Process

Trang 80

• There are 14 project stages in the OOSP – Justify, Define and Validate Initial 

Requirements, Define Initial Management Documents, Define Infrastructure, Model, Program, Test In The Small, Generalize, 

Test In The Large, Rework, Release, 

Assess, Support, and Identify Defects and Enhancements – each of which is described 

Trang 81

The Object­Oriented Software Process

• Project stages are performed in an iterative manner within the scope of a single project phase

• Project phases, on the other hand, are 

performed in a serial manner within the 

OOSP

81

Trang 82

• Process patterns are a key enabler for 

tailoring/defining a mature software process for your organization

• The reality of process improvement, 

however, is that you cannot make all of the changes that you want to immediately; it is simply too great a change for your 

organization to absorb at once

Trang 83

• Software process improvement promoters 

suggest that you prioritize the process 

improvements that your organization needs to  make, expect that it will take several years to  make the needed changes, and expect that you  will experience difficulties while doing so

• Experience shows that organizations that try to  make immediate, large­scale process changes  are likely to fail doing so

83

Trang 84

Process Antipatterns

Trang 85

85 85

Process Antipatterns

• Approaches to software development that are proven to be ineffective in practice, 

such as hacking

Trang 87

87 87

References

• Ambler, S. W., ‘An Introduction to Process Patterns,’ – www.ambysoft.com

• Ambler, S. W., ‘Process Patterns’

• Ambler, S. W., ‘More Process Patterns’

Ngày đăng: 09/12/2022, 03:30