+ All Categories
Home > Documents > Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of...

Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of...

Date post: 22-Dec-2015
Category:
View: 215 times
Download: 0 times
Share this document with a friend
Popular Tags:
21
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002
Transcript
Page 1: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

Software Process

CS 414 – Software Engineering I

Donald J. Bagert

Rose-Hulman Institute of Technology

December 17, 2002

Page 2: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

2

Outline

• Introduction• Process Methods• Process Models• Process Frameworks• RHIT Software Processes• Summary

Page 3: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

3

Introduction

• A software process is the means by which an organization plans, develops and maintains software

• The non-physical nature of software makes a good process essential for– the development of a quality product – making reliable estimates

• Software can be developed without a good process, but generally– has more defects and is harder to maintain– takes much longer to develop

Page 4: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

4

Process Methods

• Methods are the basic building blocks for all good processes

• Example process methods:– Requirements analysis– Design– Implementation– Testing– Project Planning– Configuration Management– Quality Assurance

Page 5: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

5

Process Models

• Process models provide a variety of ways to use employ process methods effectively

• Examples:– Linear Sequential– Incremental– Prototyping– Spiral– Agile/Extreme Programming (next lecture)

Page 6: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

6

Process Models (continued)

• Linear Sequential Model– Several activities are done only once e.g.

• Requirements analysis

• Design

• Implementation

• Testing

– and are only revisited if a defect from an earlier activity is found and so must be corrected

– This is often referred to as the waterfall model, since each activity “flows down” to the next one, and it is more difficult to “flow upstream” to fix a problem at a previous level

Page 7: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

7

Process Models (continued)

• Linear sequential models are adapted from other engineering disciplines and were therefore commonly used in the beginning

• However, they don’t take advantage of several of the non-physical features of software

Page 8: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

8

Process Models (continued)

• Incremental Model– Builds the software in several increments, each one with more

functionality than the last– Each increment is developed using a linear model– The next increment is sometimes started before the last one is

finished e.g. requirements analysis of the second increment may occur at the same time as the design phase of the first increment

• This allows for tasks such as analysis and design to be distributed more throughout the lifecycle

– The first increment often contains the functionality that the client needs the most

Page 9: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

9

Process Models (continued)

• Prototyping Model– Cyclical Development

• Gather requirements

• Build prototype or software version

• Get feedback from client

– Repeat as necessary until client is satisfied– Takes advantage of non-physical nature of software– Unlike the incremental model, the prototypes are not intended

for actual use

Page 10: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

10

Process Models (continued)

• Spiral Model– Can be thought of as an extension of other models– Each major activity (e.g. requirements specification,

development of a prototype) is broken down into a series of task regions

• Customer communication

• Planning

• Risk Analysis

• Engineering

• Construction and release

• Customer evaluation

Page 11: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

11

Process Frameworks

• A software process framework refers to a means (“blueprint”) by which a software process can be assessed to see how mature (i.e. how good) it is

• Several common process frameworks:– Capability Maturity Model® (CMM®)– ISO 9001– BOOTSTRAP– ISO/IEC TR 15504 (SPICE)

• The focus here will be on CMM®

Capability Maturity Model and CMM are registered in the U.S. Patent and Trademark Office.

Page 12: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

12

Process Frameworks(continued)

• CMM® History and Philosophy– In the late 1980’s, the Software Engineering Institute (SEI) of

Carnegie Mellon University started developing a general software process maturity framework

– The purpose of this framework was to enhance software process capability

– This evolved into the Capability Maturity Model® for Software

Page 13: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

13

Process Frameworks(continued)

• CMM® has five capability levels• Initial – ad hoc process• Repeatable – basic management processes in place• Defined – entire documented, standard process in place• Managed – process data is collected and analyzed• Optimizing – process improvement process standardized

– Each level has a set of key practice areas (KPAs)• There are 18 KPAs in all

– Each KPA has a set of key practice activities (also called key practices)

• There are 150 key practices in all

Page 14: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

14

Process Frameworks(continued)

• Levels 2 and 3 focus on a good definition of the software process

• The U.S. government wants its software contractors to be a level 3 or higher

• Levels 4 and 5 are mostly concentrating on mature methods for improving the process itself

Page 15: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

15

Process Frameworks(continued)

• CMM® KPAs at Level 2 (Repeatable)– Requirements management– Software project planning– Software project tracking and oversight– Software subcontract management– Software quality assurance– Software configuration management

Page 16: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

16

Process Frameworks(continued)

• CMM® KPAs at Level 3 (Defined)– Organization Process Focus– Organization Process Definition– Training Program– Integrated Software Management– Software Product Engineering– Intergroup Coordination– Peer Reviews

Page 17: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

17

Process Frameworks(continued)

• CMM® KPAs at Level 4 (Managed)– Organization Process Management– Software Quality Management

• CMM® KPAs at Level 5 (Optimizing)– Defect Prevention– Technology Change Management– Process Change Management

Page 18: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

18

Process Frameworks(continued)

• Example CMM® Key Practice (for software project planning)

“The project’s software development plan is developed according to a documented procedure.”

Page 19: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

19

RHIT Software Processes

• Focus more on the process methods, rather than on a particular model

• Senior Project Process• The process for this course is not as detailed quite as

much

Page 20: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

20

Summary

• A software process is the means by which an organization plans, develops and maintains software

• A good software process is essential for the development of a quality product

• Process methods are the basic building blocks for all good processes e.g. analysis and design

• Process models provide a variety of ways to use employ process methods effectively

Page 21: Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

CS 414 Software Engineering I - Software Process - 17 December 2002

21

Summary (continued)

• A software process framework refers to a means by which a software process can be assessed to see how good it is

• The Rose-Hulman software project processes focus more on the process methods, rather than on a particular model


Recommended