What are the Software Development Life Cycle (SDLC) phases? Ther Theree are are vario various us soft softwa ware re deve develo lopm pment ent appro approach aches es defi defined ned and desig designe ned d whic which h are are used/employed during development process of software, these approaches are also referred as “Software “Software Development Development Process Process Models” Models” (eg !aterfall model, model, increm incremental ental model model,, "#model "#model,, iterative model, model, etc$ %ach process model follows a particular life cycle in order to ensure success in process of software development Software life cycle models describe phases of the software cycle and the order in which those phases are executed. %ach phase produces delivera&les re'uired &y the net phase in the life cycle )e'uirements are translated into design *ode is produced according to the design which which is called called develo developme pment nt phase phase +fter +fter coding coding and develo developme pment nt the testi testing ng verif verifies ies the delivera&le of the implementation phase against re'uirements here are followin! six phases in every Software development life cycle model" #. $e%uir $e%uireme ement nt !atherin !atherin! ! and and analysis analysis &. Desi!n '. mple mplemen mentat tation ion or codin codin! ! . estin! *. Deploym loymeent +. ,ain ainten tenance #) $e%uirement !atherin! and analysis" usiness usiness re'uirements re'uirements are gathered in this phase This phase is the main focus of the pro-ect managers and sta.e holders Meetings with managers, sta.e holders and users are held in order to determine the re'uirements li.e who is going to use the system0 system0 1ow 1ow will they use the system0 system0 !hat data should should &e input into the system0 system0 !hat data should should &e output &y the system0 system0 These are general general 'uestions 'uestions that get answered answered during a re'uirements gathering phase +fter re'uirement gathering these re'uirements are analy2ed for thei theirr vali validi dity ty and the the poss possi& i&il ilit ity y of inco incorp rpor orat atin ing g the the re'u re'uir irem ement entss in the the syst system em to &e development is also studied
3inally, a )e'uirement Specification document is created which serves the purpose of guideline for the net phase of the model &) Desi!n" 4n this phase the system system and software design design is prepared from the re'uirement re'uirement specifications which were studied in the first phase System Design helps in specifying hardware and system re'uirements and also helps in defining overall system architecture The system design specifications serve as input for the net phase of the model
') mplementation - Codin!" 5n receiving system design documents, the wor. is divided in modules/units and actual coding is started Since, in this phase the code is produced so it is the main focus for the developer This is the longest phase of the software development life cycle ) estin!" +fter the code is developed it is tested against the re'uirements to ma.e sure that the product is actually solving the needs addressed and gathered during the re'uirements phase During this phase unit testing, integration testing, system testing, acceptance testing are don e *) Deployment" +fter successful testing the product is delivered / deployed to the customer for their use +) ,aintenance" 5nce when the customers starts using the developed system then the actual pro&lems comes up and needs to &e solved from time to time This process where the care is ta.en for the developed product is .nown as maintenance
SDLC: The software development life cycle (SD6*$ is a conc eptual model used in pro-ect management that descri&es the stages involved in an information system development pro-ect, from an initial feasi&ility study through maintenance of the completed application/product V-Model: The "#Model shows and translates the relationships &etween each ph ase of the development life cycle and its associated phase of testing The "#model is a software development model which is considered to &e an etension of the waterfall model 4nstead of moving down in a linear way, the process steps are targeted upwards after the coding pha se, to form the typical " shape $e%uirements analysis" 4n this phase, the re'uirements of the proposed system are collected &y analy2ing the needs of the user(s$ This phase is concerned a&out esta&lishing what the ideal system has to perform 1owever, it does not determine how the software will &e designed or &uilt 7sually, the users are interviewed and a document called the user re'uirements document is generated The user re'uirements document will typically descri&e the system8s functional, physical, interface, performance, data, security re'uirements etc as epected &y the user The user acceptance tests are designed in this phase System Desi!n" System engineers analy2e and understand the &usiness of the proposed system &y studying the user re'uirements document They figure out possi&ilities and techni'ues &y which the user re'uirements can &e implemented 4f any of the re'uirements are not feasi&le, the user is informed of the issue + resolution is found and the user re'uirement docu ment is edited accordingly
The software specification document which serves as a &lueprint for the development phase is generated This document contains the general system organi2ation, menu structures, data structures etc 4t may also hold eample &usiness scenarios, sample windows, reports for the &etter understanding 5ther technical documentation li.e entity diagrams, data dictionary will also &e produced in this phase The documents for system testing is prepared in this phase i!h/level desi!n" This phase can also &e called as high#level design The &aseline in selecting the architecture is that it should reali2e all which typically consists of the list of modules, &rief functionality of each module, their interface relationships, dependencies, data&ase ta&les, architecture diagrams, technology details etc The integration testing design is carried out in this phase Low/level desi!n" This phase can also &e called as low#level design The designed system is &ro.en up in to smaller units or modules and each of them is eplained so that the programmer can start coding directly The low level design document or program specifications will contain a detailed functional logic of the module, in pseudo#code # data&ase ta&les, with all elements, including their type and si2e # all interface details with complete +P4 references# all dependency issues# error message listings# complete input and outputs for a module The unit test design is developed in this stage9 Waterfall Model: The waterfall model is a popular version of the systems development life cycle model for software engineering 5ften considered the classic approach to the systems development life cycle, the waterfall model descri&es a development method that is linear and se'uential !aterfall development has distinct goals for each phase of development 4magine a waterfall on the cliff of a steep mountain 5nce the water has flowed over the edge of the cliff and has &egun its -ourney down the side of the mountain, it cannot turn &ac. 4t is the same with waterfall development 5nce a phase of development is completed, the development proceeds to the net phase and there is no turning &ac.
The advantage of waterfall development is that it allows for departmentali2ation and managerial control + schedule can &e set with deadlines for each stage of development and a product can proceed through the development process li.e a car in a carwash, and theoretically, &e delivered on time The disadvantage of waterfall development is that it does not allow for much reflection or revision 5nce an application is in the testing stage, it is very difficult to go &ac. and ch ange something that was not well#thought out in the concept stage Stages: Pro-ect Planning #: )e'uirements definition #: Design #: Development #: 4ntegration and Testing #: 4nstallation/+cceptance #: Maintenance
Spiral Model: There are four phases in the 9Spiral Model9 which are; Planning, %valuation, )is. +nalysis and %ngineering These four phases are iteratively followed one after other in order to eliminate all the pro&lems, which were faced in 9The !aterfall Model9 4terating the phases helps in understating the pro&lems associated with a phase and dealing with those pro&lems when the same phase is repeated net time, planning and developing strategies to &e followed while iterating through the phases Agile Process: +gile aims to reduce ris. &y &rea.ing pro-ects into small, time#limited modules or time &oes (9iterations9$ with each iteration &eing approached li.e a small, self#contained mini#pro-ect, each lasting only a few wee.s %ach iteration has its own self#contained stages of analysis, design, production, testing and documentation 4n theory, a new software release could &e done at the end of each iteration, &ut in practice the progress made in one iteration may not &e worth a release and it will &e carried over and incorporated into the net iteration The pro-ect
Test life cycle: = Test Requirements stage # )e'uirement Specification documents, 3unctional Specification documents, Design Specification documents (use cases, etc$, 7se case Documents, Test Trace# a&ility Matri for identifying Test *overage > Test Plan # Test Scope, Test %nvironment, Different Test phase and Test Methodologies, Manual and +utomation Testing, Defect Management, *onfiguration Management, )is. Management, %valuation ? identification @ Test, Defect trac.ing tools, test schedule, resource allocation A Test Design # Tracea&ility Matri and Test coverage, Test Scenarios 4dentification ? Test *ase preparation, Test data and Test scripts preparation, Test case reviews and +pproval, ase lining under *onfiguration Management B Test Environment Setup # Test ed installation and configuration, Cetwor. c onnectivity
Some terminologies in the Defect / ug life c ycle
Bug: Product is still not yet released in the mar.et 3ound &efore production Defect: Product is released in the mar.et 3ound after production Defect States: States; #5pen #3ied #"erified #*losed #Dou&le/Duplicate #)e-ect (!or.s as per )e'uirements, wont fi, wor.s for me$ Defect Content: Defect heading: 4% %rror “%rror 6oading https;//localhost;=GGGG/indecgi *onnection refused” Hardare !sed: Softare version: Environmental parameters: "ailed Test case #D: "ailed Requirement #d: $ccurrence: )epeata&le/)andom Severit%: &e%ord'Responsi(le: Steps to Reproduce the Pro(lem: Expected Result: 4% login page should &e displayed Actual Result: %rror is displayed “%rror 6oading https;//localhost;=GGGG/indecgi *onnection refused” Screenshots if an%: )og files if an%: Time stamp for crash defects: Severity: Severity refers to the level of impact, the defect has created on the users This is set &y the tester elow are some of the common types 7naccepta&le )is./loc.er; *rash or + ris. to the patient/user, operator, service personnel, etc *reates a Safety )is. Design C*/*ritical; Con#conformance to design input (product specification$ 4mprovement 5pportunity; 5&servations that do not represent a Design Defect o r &elong to any
of the previous classes # %nhancements # Productivity 5pportunities 1owever this varies from company to company Priority: Priority refers to the 97rgency9 with which the incident has to &e fied This is set &y the lead 4n most of the cases a critical incident can &e of high priority Defect ea!ple for eac" severity: 7naccepta&le )is. # 4n a patient monitoring system if the Product /application *rashes, 4ncorrect parameter value (e 4nstead of EG 1eart )ate HG 1eart )ate is displayed$ Design C* # Patient information not displayed under 7ser 4nformation Minor 4ssue # 4P address tet&o should &e grayed out when D1*P is selected 4mprovement 5pportunity # Some cosmetic defect which is neg ligi&le e when a sumenu is opened the &orders of the sumenu is cut off or Documentation 4ssue
!hat to do when a defect is not reproduci≤ = Test on another setup > Ta.e pictures and video the first time the defect occurs A Save and +ttach the 6og file