110 likes | 301 Views
Ch.2 A Generic View of Process. tools. methods. process model. a “quality” focus. 2.1 Software Engineering – A Layered Technology. C omputer- A ided S oftware E ngineering. Provide technical how-to ’s for building software.
E N D
tools methods process model a “quality” focus 2.1 Software Engineering – A Layered Technology Computer-Aided Software Engineering Provide technical how-to’s for building software. A road map that helps you create a timely, high-quality result. 1/8
Common Process Framework Umbrella Activities Project management Formal technical reviews Quality assurance Configuration management Work product production Reusability management Measurement Risk management 2.2 A Process Framework • Framework Activities • work tasks • work products • milestones & deliverables • QA checkpoints 2/8
2.2 A Process Framework • Generic Process Framework • Communication (customer collaboration and requirement gathering) • Planning (establishes engineering work plan, describes technical risks, lists resource requirements, work products produced, and defines work schedule) • Modeling (creation of models to help developers and customers understand the requires and software design) • Construction (code generation and testing) • Deployment (software delivered for customer evaluation and feedback) 3/8
2.3 The Capability Maturity Model Integration — by Software Engineering Institute (SEI) of Carnegie Mellon University (CMU) • Level 0: Incomplete (process is not performed or does not achieve all goals defined for this level) • Level 1: Performed (work tasks required to produce required work products are being conducted) • Level 2: Managed (people doing work have access to adequate resources to get job done, stakeholders are actively involved, work tasks and products are monitored, reviewed, and evaluated for conformance to process description) • Level 3: Defined (management and engineering processes documented, standardized, and integrated into organization-wide software process) • Level 4: Quantitatively Managed (software process and products are quantitatively understood and controlled using detailed measures) • Level 5: Optimizing (continuous process improvement is enabled by quantitative feedback from the process and testing innovative ideas) 4/8
2.4 Process Patterns • Process patterns define a set of activities, actions, work tasks, work products and/or related behaviors • A template is used to define a pattern • Generic software pattern elements • Meaningful pattern name • Intent (objective of pattern) • Type • Task pattern (defines engineering action or work task) • Stage pattern (defines framework activity for the process) • Phase pattern (defines sequence or flow of framework activities that occur within process) • Initial context (describes conditions that must be present prior to using pattern) • Solution (describes how to implement pattern correctly) • Resulting context (describes conditions that result when pattern has been implemented successfully) • Related patterns (links to patterns directly related to this one) • Known uses/examples (instances in which pattern is applicable) 5/8
Software Process identifies identifies capabilities is examined by modifications to and risk of Software Process Assessment leads to leads to Capability Software Process Determination Improvement motivates 2.5 Process Assessment SCAMPI SPICE (ISO/IEC15504) CBA IPI ISO 9001:2000 for Software 6/8
2.6 Personal and Team Process Models • Personal Software Process (PSP) • Recommends five framework activities: • Planning • High-level design • High-level design review • Development • Postmortem • Stresses the need for each software engineer to identify errors early and as important, to understand the types of errors 7/8
2.6 Personal and Team Process Models • Team Software Process (TSP) • Each project is “launched” using a “script” that defines the tasks to be accomplished • Teams are self-directed • Measurement is encouraged • Measures are analyzed with the intent of improving the team process 8/8