Software Process Lecture 2 PDF
Document Details
Uploaded by ObtainableAltoFlute
Tags
Summary
This document is a lecture on Software Process, providing an overview of the software crisis, software engineering principles, software products, software process phases, and important phases, including requirements analysis, specification, design, and implementation. Topics are covered in a lecture format.
Full Transcript
Software Process Lecture 2 Agenda Historical Aspects Software Engineering Software Product Software process phases Improving software process Historical Aspects The term 'software engineering' was suggested at conferences organized by NATO in 1968 and 1969 to discuss the 'soft...
Software Process Lecture 2 Agenda Historical Aspects Software Engineering Software Product Software process phases Improving software process Historical Aspects The term 'software engineering' was suggested at conferences organized by NATO in 1968 and 1969 to discuss the 'software crisis'. The software crisis was the name given to the difficulties encountered in developing large, complex systems in the 1960s. Software is delivered Late Over budget With residual faults Software Engineering Software Engineering is an engineering branch related to the evolution of software product using systematic well- defined scientific principles, techniques, and procedures. The result of software engineering is an effective and reliable software product. To achieve these goals, a software engineer has to acquire a broad range of skills, both technical and managerial Software Product Software is a set of items or objects that form a “configuration” that includes Programs that when executed provide desired function and performance Data structures that enable programs to adequately manipulate information Documents that describe the operation and use of the programs What is Failure, Error and Faults? Error – a human action that produces an incorrect result. This is also sometimes referred to as Mistake. Fault – a manifestation of an error in software, also known as Defect or Bug. Failure – a deviation of the software from its expected delivery or service. Relative Cost to Correct Defects Software Process Software process is the way software is produced. When you build a product, it is important to go through a series of predictable steps, a roadmap that helps you create a high quality product, in a timely manner. On the other hand, Software engineering also encompasses technologies that populate the process – technical methods and tools Methods provide the technical HOW TO for building software Tools provide automated or semi-automated support for the process and the methods Software process is the glue Software Process Phases 1 Requirements Analysis Phase 2 Specification Phase 3 Design Phase 4 Implementation Phase 5 Integration Phase (in parallel with phase 4) 6 Maintenance Phase 7 Operation ( production) Software Process Phases 1. Requirements Analysis phase 2. Specification phase 3. Design phase 4. Implementation phase 5. Integration phase (in parallel with 4) 6. Maintenance phase 7. Operation Testing and documentation are activities that take place through all phases Requirements Phase Requirements Phase (1) Requirements Gathering (Elicitation) The most important phase of the SDLC is the requirement gathering and analysis phase This is when the project team begins to understand what the customer wants from the project. During the requirements gathering sessions, the project team meets with the customer to outline each requirement in detail. Requirements Phase (contd.) (2) Requirements Capturing: Capturing Data Requirements Information to be stored Capturing Functionality Requirements Examples include: “add customer” and “print invoice” Capturing Quality Attributes Performance Security Availability Usability Requirements Phase (contd.) (3) Validate Requirements: Through Rapid Prototyping Software that incorporates much of the functionality of the target product but omits aspects invisible to the client (e.g. file updating or exception handling) Client and users experiment with the prototype to determine whether it meets their needs (4) Deliverable: Requirements document Checked by the client, selected users, and the development team Software Process Phases 1. Requirements phase 2. Specification phase→ What? 3. Design phase 4. Implementation phase 5. Integration phase (in parallel with 4) 6. Maintenance phase 7. Retirement Testing and documentation are activities that take place through all phases