Chapter 2 SOFTWARE ENGINEERING 2/23/2019 1 Chapter Overview What? A software process - a series of predictable steps that leads to a timely, high-quality product. Who? Managers, software engineers, and customers. Why? Provides stability, control, and organization to an otherwise chaotic activity. Steps? A handful of activities are common to all software processes, details vary. Work product? Programs, documents, and data. Correct process? Assessment, quality deliverable. 2/23/2019 2 Define The Discipline Software Engineering The application of a systematic, disciplined, quantifiable approach to systematic, disciplined, quantifiable approach to the development, operation, and maintenance of the development, operation, and maintenance of software; that is, the application of engineering to software; Systematic disciplined, quantifiable. Software Engineering is a layered technology. 2/23/2019 3 Software Engineering Layers Tools: tools are use to build a software. Methods: how to build software. Process: process we are going to follow to build a software. A quality focus: make quality assurance. 2/23/2019 4 Umbrella Activities Software project management Formal technical reviews Software quality assurance Software configuration management Work product preparation and production Reusability management Measurement Risk management 2/23/2019 5 Framework Activities Communication Planning Modeling Analysis of requirements Design Construction Code generation Testing Deployment 2/23/2019 6 The Process Adaptability The framework activities will always be applied on every project but The tasks for each activity will based on - The type of project - Characteristics of the project - Common sense judgment; concurrence of the project team 2/23/2019 7 Software Engineering Practice The Essence of Practice Understand a Problem - who stake in solution of problem - what are the unknown - can be graphically representable Plan a Solution - has solved similar problem - can sub problem defined 2/23/2019 8 Software Engineering Practice Carry out the plan - does solution related with plan - all solution make correct sense Examine the result - if possible test each component part 2/23/2019 9 Assessment and Improvement 2/23/2019 10 Primary Goal Software Process: High Quality Remember: High Quality Project timeliness Why? Less rework! 2/23/2019 11