Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 2.1 Software Engineering Software engineering is a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software;

Similar presentations


Presentation on theme: "1 2.1 Software Engineering Software engineering is a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software;"— Presentation transcript:

1 1 2.1 Software Engineering Software engineering is a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. Software engineering is a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. Do you agree with this definition? Do you agree with this definition?

2 2 2.1 Software Engineering A Layered Technology Software Engineering a “quality” focus process methods tools What does “quality” mean in a software engineering context? What does “quality” mean in a software engineering context?

3 3 2.2 A Process Framework Framework activities Software engineering actions Task sets work tasks work products QA checkpoints milestones

4 4 2.2 A Process Framework Umbrella Activities Software project tracking and control Software project tracking and control Risk management Risk management Software quality assurance Software quality assurance Formal technical reviews Formal technical reviews Measurement Measurement Software configuration management Software configuration management Reusability management Reusability management Work product preparation and production Work product preparation and production

5 5 Communication Communication Planning Planning Modeling (analysis & design) Modeling (analysis & design) Construction (code generation & testing) Construction (code generation & testing) Deployment Deployment 2.2 A Process Framework Do the five activities in the generic process model seem reasonable? Do the five activities in the generic process model seem reasonable? Are there projects where one or more of the activities in the generic model would not apply? Are there projects where one or more of the activities in the generic model would not apply?

6 6 2.3 The CMMI Level 0: Incomplete Level 0: Incomplete Level 1: Performed Level 1: Performed Level 2: Managed Level 2: Managed Level 3: Defined Level 3: Defined Level 4: Quantitatively Managed Level 4: Quantitatively Managed Level 5: Optimized Level 5: Optimized Is the CMMI overkill? Is the CMMI overkill?

7 7 2.4 Process Patterns Process patterns define a set of activities, actions, work tasks, work products and/or related behaviors Process patterns define a set of activities, actions, work tasks, work products and/or related behaviors Examples: Examples: Customer communication (a process activity) Customer communication (a process activity) Analysis (an action) Analysis (an action) Requirements gathering (a process task) Requirements gathering (a process task) Design model (a work product) Design model (a work product) Do companies really use patterns? Do companies really use patterns? What kind of re-use issues are associated with patterns? What kind of re-use issues are associated with patterns?

8 8 2.5 Process Assessment The process should be assessed to ensure that it meets a set of basic process criteria that have been shown to be essential for successful software engineering The process should be assessed to ensure that it meets a set of basic process criteria that have been shown to be essential for successful software engineering. Many different assessment options are available: Many different assessment options are available: SCAMPI SCAMPI CBA IPI CBA IPI SPICE SPICE ISO 9001:2000 ISO 9001:2000

9 9 2.6 Personal Software Process (PSP) Recommends five framework activities: Recommends five framework activities: Planning Planning High-level design High-level design High-level design review High-level design review Development Development Postmortem Postmortem What seems to be key to making PSP successful? What seems to be key to making PSP successful? Given its reported benefits, why has PSP not been more widely adopted? Given its reported benefits, why has PSP not been more widely adopted? Should it be? Should it be?

10 10 2.6 Team Software Process (TSP) Each project is “launched” using a “script” that defines the tasks to be accomplished Each project is “launched” using a “script” that defines the tasks to be accomplished Teams are self-directed Teams are self-directed Measurement is encouraged Measurement is encouraged Measures are analyzed with the intent of improving the team process Measures are analyzed with the intent of improving the team process What seems to be key to making TSP successful? What seems to be key to making TSP successful?

11 11 2.7 Process Technology These tools can help organizations analyze their process, organize work tasks, control and monitor progress, and manage technical quality. These tools can help organizations analyze their process, organize work tasks, control and monitor progress, and manage technical quality. Igrafx Process Tools Igrafx Process Tools Objexis Team Portal Objexis Team Portal Have any of you used process tools? Have any of you used process tools?


Download ppt "1 2.1 Software Engineering Software engineering is a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software;"

Similar presentations


Ads by Google