Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002."— Presentation transcript:

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

2 CS 414 Software Engineering I - Software Process - 17 December 20022 Outline Introduction Process Methods Process Models Process Frameworks RHIT Software Processes Summary

3 CS 414 Software Engineering I - Software Process - 17 December 20023 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

4 CS 414 Software Engineering I - Software Process - 17 December 20024 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

5 CS 414 Software Engineering I - Software Process - 17 December 20025 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)

6 CS 414 Software Engineering I - Software Process - 17 December 20026 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

7 CS 414 Software Engineering I - Software Process - 17 December 20027 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

8 CS 414 Software Engineering I - Software Process - 17 December 20028 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

9 CS 414 Software Engineering I - Software Process - 17 December 20029 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

10 CS 414 Software Engineering I - Software Process - 17 December 200210 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

11 CS 414 Software Engineering I - Software Process - 17 December 200211 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.

12 CS 414 Software Engineering I - Software Process - 17 December 200212 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

13 CS 414 Software Engineering I - Software Process - 17 December 200213 Process Frameworks (continued) CMM ® h as 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

14 CS 414 Software Engineering I - Software Process - 17 December 200214 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

15 CS 414 Software Engineering I - Software Process - 17 December 200215 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

16 CS 414 Software Engineering I - Software Process - 17 December 200216 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

17 CS 414 Software Engineering I - Software Process - 17 December 200217 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

18 CS 414 Software Engineering I - Software Process - 17 December 200218 Process Frameworks (continued) Example CMM ® Key Practice (for software project planning) “The project’s software development plan is developed according to a documented procedure.”

19 CS 414 Software Engineering I - Software Process - 17 December 200219 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 muchThe process for this course

20 CS 414 Software Engineering I - Software Process - 17 December 200220 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

21 CS 414 Software Engineering I - Software Process - 17 December 200221 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


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

Similar presentations


Ads by Google