System Development Life Cycle

23
System Development Life Cycle Abstract “The Systems Development Life Cycle (SDLC) in systems engineering, information systems and software engineering, is the process of creating or altering systems and the models and the methodologies that people use to develop these systems. The concept generally refers to computer or information systems[1]. SDLC also is the entire process of formal, logical steps taken to develop a software product. Within the broader context of Application Lifecycle Management (ALM), the SDLC is basically the part of process in which coding/programming is applied to the problem being solved by the existing or planned application[2]. So basically Systems Development Life Cycle is used to analyze a business problem and transform it into an IT solution. Introduction This article will be demonstrating the “systems development life cycle” the history, the phases which are: planning, analysis, design , coding, testing, and finally maintenance. The use of computers has exploded. Nowhere is this more evident than in the workplace. Computers run even manufacturing facilities. Can you just decide to throw some software program into a multi- million dollar manufacturing facility or financial institution and hope it works without breaking down? No one would want to take the chance. Do our

Transcript of System Development Life Cycle

Page 1: System Development Life Cycle

System Development Life CycleAbstract

“The Systems Development Life Cycle  (SDLC) in systems engineering, information systems

and software engineering, is the process of creating or altering systems and the models and

the methodologies that people use to develop these systems. The concept generally refers

to computer or information systems[1].

SDLC also is the entire process of formal, logical steps taken to develop a software product.

Within the broader context of Application Lifecycle Management (ALM), the SDLC is basically

the part of process in which coding/programming is applied to the problem being solved by

the existing or planned application[2].

So basically Systems Development Life Cycle is used to analyze a business problem and

transform it into an IT solution. 

Introduction

This article will be demonstrating the “systems development life cycle” the history, the

phases which are: planning, analysis, design , coding, testing, and finally maintenance.  

The use of computers has exploded. Nowhere is this more evident than in the workplace.

Computers run even manufacturing facilities. Can you just decide to throw some software

program into a multi-million dollar manufacturing facility or financial institution and hope it

works without breaking down? No one would want to take the chance. Do our computers

have enough memory? Will it interfere with other programs? Does it really do what it is

supposed to do? For that questions SDLC was developed.

Systems development phases

The systems development life cycle is divided to important phases that are essential for

developers such as planning, analysis, design, and implementation. There are several

models of SDLC exist, the oldest is the waterfall model: a sequence of stages in which the

Page 2: System Development Life Cycle

output of each stage becomes the input for the next. He number of steps seems to vary

between four and seven and there is no correct model for SDLC because it depends on each

project you plan to develop.

1. Planning

The feasibility study is sometimes used to present the project to upper management to get

the approval and to have funding. Projects are evaluated in three main areas of feasibility:

economical, organizational and technical.

2. Analysis

The main objective of systems analysis is to determine where the problems in an attempt to

help fix the system.

3. Design 

In systems, design functions and operations are described in detail, including screen layouts,

business rules, process diagrams and other documentation. The output of this stage will

describe the new systems as a collection of models or subsystems.

4. Build or coding

Modular and subsystem programming code will be accomplished during this stage. Unit

testing and module testing are done in this stage by the developers. This stage is

intermingled with the next in that individual modules will need testing before integration to

the main project.

5. Testing

The code must be tested at various levels in software testing. Unit, system and user

acceptance testings are often performed.

Page 3: System Development Life Cycle

There are many types of testing such as: Data testing, integration testing, user acceptance

testing, performance testing and more.

6. Operations and maintenance

The deployment of the system includes changes and enhancements before the  sunset of

the system. Maintaining the system is an important aspect of SDLC. As key personnel

change positions in the organization, new changes will be implemented, which will require

system updates.

Examples

And to give some examples about projects or systems that were developed using SDLC

methodology, I would mention the telecom online payment systems, banking online

services, M-Net mobile payment services and many more.

Strengths & Weaknesses

Article’s Strengths:

It gives full definition to Systems Development Life Cycle.

It provided the descriptions for each of the SDLC phases.

It gave a brief history about the SDLC models.

 

Article’s Weaknesses:

The illustrations weren’t helpful.

It does not give examples on systems were developed by SDLC.

Conclusion

Page 4: System Development Life Cycle

            This article is basically about Systems Development Life Cycle (SDLC) what it is and

about the phases such as: planning and how it is important to set the goals of the project,

analysis and fixing problems, design creating modules, coding building according to the

layouts, testing the systems, and finally maintenance. Also about the history of SDLC the

basic model that was the waterfall and gave some examples of project that had been made

using the systems development life cycle.

  BANKING SYSTEMPage | 3Administrator can check A/C’s with a login & password & canwork out with A/C holders of the bank can withdraw/depositcash/cheque/DD to/from their accounts. To enable fastertransactions likeNew account creation.Withdrawal of cashDeposits of cash or chequeChecking of Account balances by account holders by adminTransaction records in the form of reports.The project makes a sincere effort to provide all the above-mentioned features to meet the requirements of the bank.The Project category is Visual Basic with RDBMS (Access) &Management information System.Tool(s) / Language(s) to be used

  BANKING SYSTEMPage | 4The Graphical interface (Front End) of the application is preparedby the usage of Visual Basic. Coding for the validation is providedthrough the use of Visual Basic 6.0.The back end of the application is maintained in Microsoft Access.Information Source is Management Information SystemHARDWARE REQUIREMENTHardware is referred to as computing potential.In this project, three hardware categories have been consideredduring software planning:DEVELOPMENT SYSTEM, which is a computer and relatedperipherals that will be used during the software developmentphase. The development system has been used because it canaccommodate multiple users, maintain large volumes of information and support a rich assortment of software tools.TARGET MACHINE on which the software will eventual isexecuted.

Page 5: System Development Life Cycle

  BANKING SYSTEMPage | 5OTHER HARDWARE ELEMENTS OF THE NEW SYSTEM.SYSTEM SPECIFICATIONSoftware SpecificationOPERATING SYSTEM WINDOWSNT/2000/XP/2003/Vista/7BACK END MS ACCESS XPFRONT END VISUAL BASIC 6.0Benefits of Usability FeaturesIn order to meet competition, avoid obsolescence, and seizeopportunities, a business must be able to:1. Respond rapidly to new or changing information needs.2. Maintaining the past data to ensure the satisfaction of customers.Visual Design

  BANKING SYSTEMPage | 9

Page 6: System Development Life Cycle

Recognition of problemA new opportunity that the present system cannot handle pressuresManagers, non- managers or environment elements usuallyrecognize problems very rarely by information specialists.Managers find out where the problem exists & what the causemight be.The definition of our problem lies in manual system andafullyautomated system.Manual system: The system is very time consuming and lazy.This system is more prone to errors and sometimes the approach tovarious problems is unstructured.Technical system: With the advent of latest technology if wedo not update our system then our business result in lossesgradually with time. The technical systems contains the tools of latest trend i.e. computers printers, fax, Internet etc. The systemswith this technology are very fast, accurate, user-friendly andreliable.  TECHNICAL SYSTEM 

Page 7: System Development Life Cycle
Page 8: System Development Life Cycle

  BANKING SYSTEMPage | 10In defining the problem:Find what makes the situation problematic by:Observing the processInterviewing the participantsExamining reports and documentationDefine the human activity system (ROOT DEFINITION)Owners of the systemCustomer of the systemEnvironmental constraints

Page 9: System Development Life Cycle
Page 10: System Development Life Cycle

  BANKING SYSTEMPage | 11System Development Life cycleThe structured sequence of operation required imaging developing and Making operational a new information system it’s a cycle because the System will need replacement and Development, cycle will begin.Phases of SDLCSystem AnalysisSystem DesignCodingSystem Testing

Page 11: System Development Life Cycle
Page 12: System Development Life Cycle

  BANKING SYSTEMPage | 18Analysis in this procedure we determine the benefits and saving that are Expected in this procedure we determine the benefits and saving that are expected from the proposed system and compare the cost; we take a decision and implement the new proposed system. The manual efforts involved in maintaining the A/c and customer information, the withdrawal, the deposit and balance calculation, is tremendous. This is so because the volume of information to behandled is tremendous. Maintaining the records of these manycustomers is not easy and the manpower involved is great. Withthe help of computers it is very easy to maintain the detail of book and library and to keep track of available books.In case of computerization, the cost involvement is not very high.As it is used to be about 5-7 years back. All banking managementneeds initially is a desktop computer, a printer and a UPS tomaintain continuous supply of electricity. A single operator canhandle many queries. On an average, it should not take more 10-15minutes to enter the information of a customer. As part of thefeasibility study, an estimate is made whether the identified userneeds may be satisfied using the current software and hardware.This study decides that whether or not the proposed system will becost effective from a business point of view.

Page 13: System Development Life Cycle

  BANKING SYSTEMPage | 19In this case, user has one head clerk who does all the work. So theone clerk has maintain records regarding new A/c and deletion of A/c addition and deletion of customer, balance amount etc.Sincethe volume of information to be handled by a single person istremendous. An analysis of the various alternatives suggested bythe software development team follows in subsequent pages.Technical FeasibilityThis is concerned with specifying equipment and software that willsuccessfully satisfy the user requirement. The technical needs of the system may vary considerably, but might include: - The facility to produce outputs in a given time- Response time under certain conditions.- Ability to process a certain volume of transaction at aparticular speed.- Facility to communicate data to distant location.After examining technical feasibility, we give more importance tothe configuration of the system than the actual make of hardware.Water fall life cycle model

  BANKING SYSTEMPage | 20Definition:It is systematic, disciplined and sequential approach tosoftware development that begins at system level and processthrough, analysis, design, code, and test.Diagram of waterfall life cycle model:Waterfall life cycle modeDesign:It is multistep process it will focus on 4 fieldsData structureArchitectureInterfaceAlgorithmWATER FALL MODELSYSTEMFEASIBILITYVALIDATION  PROJECTPLANNINGVALIDATIONANALYSIS DESIGNCODE TEST

Page 14: System Development Life Cycle
Page 15: System Development Life Cycle
Page 16: System Development Life Cycle

  BANKING SYSTEMPage | 21

Page 17: System Development Life Cycle
Page 18: System Development Life Cycle
Page 19: System Development Life Cycle
Page 20: System Development Life Cycle

  BANK MANAGEMENT SYSTEMPage: 28The stages of testing process are:Unit TestingIndividual components are tested to ensure that they operate correctly. Eachcomponent is tested independently, without other system component.Module testingA module is a collection of dependant components such as on object class, anabstract data type or some looser collection of procedures and function. Amodule encapsulates related components so can be tested without othersystem modules.Sub-module testingThis phase involves testing collections of modules, which have beenintegrated into sub-systems. Sub-systems may be independently designed andimplemented. The most common problems that arise in the large softwaresystems are sub-system interface mismatches. The subsystem test processshould therefore concentrate on the detection of interface errors by rigorouslyexercising these interfaces.Acceptance testingThis is the final stage in the testing process before the system is accepted foroperational use. The system is tested with data supplied by the systemprocurer rather than simulated test data. Acceptance testing may reveal errors  BANK MANAGEMENT SYSTEMPage: 29and omission in the system requirement definition because the real dataexercises the system in different ways from the test data. Acceptance testingmay also reveal the requirement problems where the system’s facilities do notreally meet the user’s needs or the system performance is acceptable.TESTING METHODOLOGIESRecovery TestingIn this test the system is tested by forcing it to fail in a Varity of ways andverifies that the recovery is properly performed. The re-initialization, datarecovery, and restart are each evaluated for correctness.Stress TestingIn this test the application is tested in a manner that the application isdemanding resources in an abnormal manner. The application is tested formaximum memory usage. The boundary conditions are also tested for arraysand other data structures used in the system.Performance testingPerformance testing for the application is performed for finding the actualrun-time performance. Time taken for search and locate the required data istested. The data conversion accuracy and speed for the converter tool is alsotested. Connectivity and data transfer performance for live update facility of 

  BANK MANAGEMENT SYSTEMPage: 30the application is tested by using test data sets provided by the system testingspecialists of the company.User Acceptance TestingUser acceptance testing is the moment at which we prove that we have reallydone what we promised to do. This testing is not the same as the testingconducted in the various stages of the life cycle, since, here; it involves thecustomer and intends to check that the tests dispose no errors at all. All thepossible testing conditions and data that the software organization has neverseen will fall within the specified operational conditions and behavior

Page 21: System Development Life Cycle

of thesoftware. The proposed system is very efficient and perfect than the existingone. The modules available are very user friendly and also completely devoidof all the possible input errors. The user proves it by using sample data.  BANK MANAGEMENT SYSTEMPage: 31TESTING STRATEGY:Testing strategy integrates software test case design methods into a wellplanned series of steps that results in the successful construction of software.UNIT TESTING: Unit testing is concerned with knowledge about testing a program unit, todetermine that it is free of data, logic or standard errors. At this level whitebox testing are used. This unit includes knowledge of dynamic analysis. Inthis unit testing individual components or models aretested. It relativelyfocuses in the small segments of the code and the aims to exercise a highpercentage of internal paths.INTEGRATION TESTING:Integration testing is concern with knowledge about validating that softwarecomponent, which have been unit tested separately, interact correctly whenthey are put together to perform higher order function. In this applicationbottom up integration testing is done.BOTTOM-UP TESTING:Bottom-up integration testing begins construction and testing with atomicmodels are integrated from bottom up, processing require for models are  BANK MANAGEMENT SYSTEMPage: 32subordinate to a given level is always available and need for stubs iseliminated.FUNCTIONAL TESTING:Functional tests are programs or script configured to test that application metexternal requirements and achieve goals, such as performance, also known asblack box testing because source code is not needed.SCENAIRO TESTING:Scenario testing is similar to, but not the same as session-based testing, whichis more closely related to exploratory based testing and session –based test   BANK MANAGEMENT SYSTEMPage: 33A SAMPLE TESTING CYCLERequirement Analysis:Testing should begin in the requirement phase of the software life cycle(SDLC).Design Analysis:During the design phase, testers work with developers in determining whataspects of a design are testable and under what parameter those testers work.Test planning:Test Strategy, Test plan(s), Test bed creation.Test development:Test procedures, Test Scenarios, Test Cases, Test scripts to use in testingsoftware.Test Extension:Testers execute the software based on the plans and tests and report anyerrors found to the development team.

  BANK MANAGEMENT SYSTEMPage: 34Test Reporting:Once testing is completed, testers generate matrices and make final reports ontheir test effort and whether or not the software tested is ready for release.Retesting the defects.