Babcock University Intro to Software Engineering Lecture Notes PDF

Summary

This document is a lecture slide presentation on software development concepts. It describes the Software Development Life Cycle (SDLC) and details various process models, including Waterfall, Incremental, Spiral, and others. The lecture also touches upon different phases of the development process and provides a general overview of their functionality.

Full Transcript

Lecture Slide -2 By Prof. Eze, M.O Department of Computer Science, Babcock University, Ilisan-Remo, Ogun State, Nigeria CONTENTS ISO/IEC Variants of Process Model Definition of SD...

Lecture Slide -2 By Prof. Eze, M.O Department of Computer Science, Babcock University, Ilisan-Remo, Ogun State, Nigeria CONTENTS ISO/IEC Variants of Process Model Definition of SDLC 12207 SDLC A Typical SDLC Evolution OTHERS Standard DEFINITION: Software Development Life Cycle is a chronology of steps used by software practitioners to build software from conception to completion. The aim is to successfully design, develop and test high quality and cost effective software that meets or exceeds customer expectations and completed within deadline. THE ACRONYM: ❑ SDLC is the acronym of Software Development Life Cycle. ❑ SDLC is also known as Software Development Process. ❑ SDLC is a framework that defines the tasks performed at each software development process step. The ISO/IEC 12207 is the international standard that defines the software life- cycle processes. ISO/IEC 12207 establishes a common framework for software life cycle processes, with well defined terminologies. 1 Shown here are 2 four variants of SDLC numbered 1 – 4, all of which are acceptable. Note that there are several others. In this study we shall focus on 3. 3 4 Requirements Elicitation & Analysis A Support & Maintenance System Design Typical SDLC Implementation Deployment (Coding) Testing IMPORTANT NOTE : SoProcMod1 P1 SoProcMod2 P1 SoProcMod3 Px Px P2 P2 SoProcModx SDLC are P➔ Phases, Software Process Models chronologies of Activities, Stages, Evolve from different Phases till Tasks, etc. occurrences of SDLC Completion Some of the most common Software Development Process Models are: 1. WATERFALL Model 6. 2. INCREMENTAL BIG-BANG Model Model 5. 3. SPIRAL V-Model Model 7. OTHERS: 4. ITERATIVE Model RAD, Agile, Prototyping, RAD ➔ Rapid Application Development etc. Spiral model is one of the most important SDLC Models, which QUAD1 QUAD2 lays a very strong emphasis on Risk Handling. Its diagrammatic representation consists of series QUAD4 QUAD3 of Spirals with many loops. 1. The exact number of loops of the spiral is unknown, and varies from project to project. 6. Each phase of Spiral Model 2. Each loop of the spiral is is divided into four called a Phase of the software quadrants. development process. 5. The angular dimension 3. The exact number of phases represents the progress made needed to develop a product is so far in the current phase. varied by the project manager, and depends on the project risks. 4. The Radius of the spiral at any point represents the expenses (cost) of the project so far. QUAD1 QUAD2 Identify and resolve Objectives Determination: Risks: In this quadrant all Requirements are gathered the possible solutions are from the customers and the evaluated to select the objectives are identified and best option. Then the analyzed at the start of every associated risks phase. Then alternative identified and resolved. solutions possible for the Then Prototype is built phase are proposed. for the best possible solution. Review and plan for the next Development & Test: Phase: In the fourth quadrant, During the third the Customers evaluate the quadrant, the identified so far developed version of features are developed the software, then starts and verified through planning for the next phase. testing. At the end of the third quadrant, the next version of the software is QUAD4 available. QUAD3 ADVANTAGES DISADVATAGES 1. Spiral may go on 1. A good model for large longer than planned or products. necessary. 2. Spiral Model is a risk based 2. Not suitable development strategy. (expensive) for smaller projects. 3. Working software produced early. 3.Requires expert skills for Risk analysis. 4.Accomodates changing requirements. The V-model is a SDLC model, in which the component processes are executed in a sequential V-shape manner as shown. ATTRIBUTES: ❑ The V-Model is also called Verification and Validation model. ❑ In V-Model, there is an associated testing phase for each development stage. ❑ The next phase starts only after completion of the previous phase. ❑ V-Model contains Verification phases on one side, and Validation phases on the other side. Verification and Validation phases are joined by coding phase in V-shape. Thus the name V- Model. Validation & Verification Verification involves static analysis or review done without executing code. It involves the evaluation of the phase to ensure it meets specified requirements meet. Validation is the dynamic analysis which may involve testing the code by executing it. Validation evaluates the software resulting from development phase to determine whether the customer expectations and requirements were met. Testing in V-Model Unit Testing ➔ Test Plans are developed during module design phase, and are executed to eliminate bugs at code or unit level. Integration testing: This is performed after unit testing. Integration testing is performed at the Architecture design phase when the modules are integrated. This test verifies the communication of modules among themselves. System Testing: System testing test the complete application with its functionality, inter dependency, and communication. It tests the functional and non-functional requirements of the developed application. User Acceptance Testing (UAT): UAT is performed in a user environment that resembles the production environment. UAT verifies that the delivered system meets user’s requirement and system is ready for use in real world. ADVANTAGES DISADVATAGES 1. This is a highly disciplined 1. High risk and model and Phases are completed uncertainty. one at a time. 2. It is not a good model for 2. Simple and easy to understand complex and object- and use. oriented projects. 3. This model focuses on 3. It is not suitable for verification and validation projects where activities early in the life cycle requirements are not clear thereby enhancing the probability and contains high risk of of building an error-free and good changing quality product. DEMONSTRATE BEFORE FULL DEVELOPMENT For all the process models, list out a clear distinction of when to use of them. 1. Ronald J. Leach,“Introduction to Software Engineering Second Edition”, CRC Press Taylor, 6000 Broken Sound Parkway NW, 2016.

Use Quizgecko on...
Browser
Browser