Software Development Life Cycle


Published on

An Introduction to Software Development Life Cycle

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Software Development Life Cycle

  1. 1. System Development Life Cycle (SDLC) Lecturer in Computer Science University of Education, Okara Campus,, University of Education Okara Campus Inam Ul-Haq 1
  2. 2. Beginning of a System Development History: emerges as Software Engineering in 1960’s in a conference to solve a problem called “software crisis”. Purpose: Design & Development of high-quality software System Development is having two major component in it • System Analysis – Analysis of current system for Problems & Demerits in it and Additional requirements in new system • System Design – Process of planning new system which will replace the old one Documentation: It is an essential component of software because it is not possible to understand different aspects of large programs without documentation. It has been observed that efforts required to write documentation of large system is as great as efforts required to develop systems. Software Engineering: An engineering discipline concerned with the efficient and economical development of large software systems. • 4th generation of Software Engineering in progress. • Software process life cycle or System Life cycle (SDLC) University of Education Okara Campus System or Software: Programs + Documentation required to develop, install, use and maintain software 2
  3. 3. System Development Life Cycle In an organization System Development can be achieved by following steps: 2. Requirements analysis or system analysis 3. Design of System 4. Development of Software 5. System Testing 6. Implementation and Maintenance University of Education Okara Campus 1. Preliminary Investigation 3
  4. 4. Preliminary Investigation 1. Preliminary Investigation The objective of this activity is to review all requests and identify those proposals that are most beneficial to the organization. But this should be noted that this is neither a designed study nor it includes collection of details to completely describe the business system. Preliminary Investigation can be achieved in following steps: • Request Clarification • Feasibility study • Estimating Costs and Benefits • Request Approvals University of Education Okara Campus Whatever may be the reason of a request submitted by the Users or Managers to the IS department, a system analyst is assigned to make a preliminary investigation. 4
  5. 5. Preliminary Investigation Request Clarification Defining the Scope and Objective of Request: • • • As mentioned in the objectives of System development objective earlier, an analyst has to define for which objective a request for development is submitted. • This is collection of data / inputs by: • • • Reviewing employees workloads etc. Conducting interviews of User, Supervisory Personal and Managers Identify Viable Option: • Analyst has to identify the viable option by applying his common sense and intuitions on his investigation University of Education Okara Campus Conducting the Investigation 5
  6. 6. Preliminary Investigation Feasibility (Possibility) Study • • • • Technical Feasibility: Hardware and software availability, Technical Guarantee of Accuracy, Reliability, Easy to Access, Data security, technical capacity to hold data and future expansion. Economical Feasibility: Evaluation of cost & Benefits expected. Operational Feasibility: Finding views of workers, employees, customers & suppliers about the use of new system. Schedule Feasibility: Estimation of time to take new system to become operational. Legal feasibility: Testing whether new system will comply financial reporting requirements & Company’s contractual obligations. University of Education Okara Campus • Evaluation of alternative systems through cost and benefit analysis: 6 • Request Approval: Based on the Observation and Findings of the Analyst, selected requests are put up for the approval of management
  7. 7. Requirement Analysis & System Analysis 2. Requirement Analysis Software Process: or Software Life Cycle consists of discrete no. of steps required to complete a software. A final model of software is still a topic of research. However few models are available: • Waterfall Model • Prototyping Model • Rapid Application Development (RAD) This phase of System Development is being completed in following step: University of Education Okara Campus After Preliminary Investigation, study in depth the Present and Proposed New System. This is the study of weakness & Problems in the present system and management requirements of new system.  Collection of data and facts  Analysis of Present System, Analysis of Proposed system 7
  8. 8. Requirement Analysis & System Analysis Collection of Data & Facts • Documents: This includes the Manuals, diagrams, forms, organizational charts etc. It should be ensured that all documents are accurate & up to date • Questionnaires: These are skillfully drafted group of standard question which can be given to all personal and can be analyze quickly. • • Interviews: To get a complete picture of problems and opportunities. Observation: Surprise Visit of users work palace to get a clear picture of user’s environment. University of Education Okara Campus Every system is built to meets some set of needs and to assess these needs, the analyst often interact extensively with the people, who will be benefited from the system In order to determine the requirement of those peoples he can use following facts finding techniques: 8
  9. 9. Requirement Analysis & System Analysis Analysis of Present System Detailed investigation of the present system involves collecting, organizing and evaluating facts about the present system and the environment in which it operates by studying following areas in depth: Review of Historical Aspects of organization  Analyze Present inputs to the system  Review of all data file maintained irrespective of online or offline  Review methods, procedures & data communications  Analyze Present outputs of system  Review internal controls  Model the existing physical system and logical system  Undertake overall analysis of present system University of Education Okara Campus  9
  10. 10. Requirement Analysis & System Analysis Analysis of Proposed System After each functional area of present system is defined the purposed system specification must be defined. These specification will be based on the strength and weakness of present system. • Output / Reports • Maintenance of Database • Data Inputting Process • Methods and Procedures to show the relationship between Input and Output • Work volume including peak period work volume University of Education Okara Campus System Specification which should be in conformity with the Project Objective and Areas Covered should be following: 10
  11. 11. System Design 1. Software prototyping, refers to the activity of creating prototypes of software applications, i.e., incomplete versions of the software program being developed. It is an activity that can occur in software development and is comparable to prototyping as known from other fields, such as mechanical engineering or manufacturing. A prototype typically simulates only a few aspects of, and may be completely different from, the final product. 2. Rapid application development (RAD) is a software development methodology that uses minimal planning in favor of rapid prototyping. The "planning" of software developed using RAD is interleaved with writing the software itself. The lack of extensive pre-planning generally allows software to be written much faster, and makes it easier to change requirements. 3. The spiral model is a risk-driven process model generator for software projects. Based on the unique risk patterns of a given project, the spiral model guides a team to adopt elements of one or more process models, such as incremental, waterfall, or evolutionary prototyping. University of Education Okara Campus 3. System Design (Contt.) 11
  12. 12. System Design 3. System Design 4. Scrum is an iterative and incremental Agile software development framework for managing software projects and product or application development. Its focus is on "a flexible, holistic product development strategy where a development team works as a unit to reach a common goal" as opposed to a "traditional, sequential approach". Scrum enables the creation of self-organizing teams by encouraging co-location of all team members, and verbal communication among all team members and disciplines in the project. 5. Joint application design (JAD) is a process used in the prototyping life cycle area of the Dynamic Systems Development Method (DSDM) to collect business requirements while developing new information systems for a company. "The JAD process also includes approaches for enhancing user participation, expediting development, and improving the quality of specifications." It consists of a workshop where “knowledge workers and IT specialists meet, sometimes for several days, to define and review the business requirements for the system.” The attendees include high level management officials who will ensure the product provides the needed reports and information at the end. This acts as “a management process which allows Corporate Information Services (IS) departments to work more effectively with users in a shorter time frame University of Education Okara Campus There are common five models for software development. 12
  13. 13. University of Education Okara Campus Prototyping Model 13
  14. 14. University of Education Okara Campus Waterfall Model 14
  15. 15. University of Education Okara Campus Spiral Model 15
  16. 16. University of Education Okara Campus RAD Model 16
  17. 17. University of Education Okara Campus JAD Model 17
  18. 18. System Acquisition & Development 4. Selection of Software Model Selection of a perfect Software for organization is totally depends on the followings: • Low Risk of Quality: Software should be properly tested by the manufacturer for the quality otherwise organization has to spend its precious time on quality assurance. • Low Risk of Cost: The cost and benefit analysis will give us the perfect cost, which organization can bear for acquiring the given software. University of Education Okara Campus • Rapid Implementation: Whether software can be implemented quickly and put on use ASAP. This characteristic will not be there if software is to be developed, hence that will take long time. 18
  19. 19. System Testing 5. System Testing This is Performing Parallel Operation and get the following done to analyze the operational implementation feasibility:  Processing of Test Data with the new system and take all outputs which can be possible.  Checking result of all system with the results of the same data in the current system for the accuracy and error in the processing.  Review result with future users, operational and support personal: University of Education Okara Campus  Preparation realistic data based on the actual working data of the organization. It may be based on the Historical data of the organization. 19
  20. 20. Implementation & Maintenance 6. Implementation & Maintenance As the final Phase of the System Development it gives the results of the whole process and handover the new system to end users. To complete this phase a developer has to complete the following functions successfully: • Equipment Installation • Training Personnel: • Conversion Procedure: • Post Implementation Evaluation (Feedback) University of Education Okara Campus This also includes the overall review of the development process for its leakages and errors in it. 20
  21. 21. Implementation & Maintenance Equipment Installation This includes following functions: • Equipment Installation: Assembling and commissioning of the equipments (hardware) and installation of software • Equipment Checkout: Organize test runs of the system with sample actual data and thereafter if it performs satisfactory than with the live actual data. University of Education Okara Campus • Site Preparation: Preparing the site for installation and mobilizing all required equipments and personnel at the site. 21
  22. 22. Implementation & Maintenance Training Personnel If there are deficiencies in Training, these may translate into reduction in user Productivity Levels University of Education Okara Campus Since user are not familiar with the New System, System Development Process includes training of • System Operators: IT personnel who will handle the system maintenance in the future. • Users (Operators): The final user who will work on the system. 22
  23. 23. Implementation & Maintenance Post Implementation Evaluation (Feedback) Analysis of Satisfaction of Users or checking whether system is Operating Properly or whether Objectives of System Development is achieved or not, is the most important function in whole System Development process. Post Implementation Evaluation includes following area:  Development Evaluation: Check whether development was done within schedule and budgets.  Operation Evaluation: Check whether system is capable for handling the duties and objective of development is achieved  Information Evaluation: Check Satisfaction of users etc. University of Education Okara Campus This is also important for development of new system in future since each development gives some experiences and lists some things to be taken care off. 23
  24. 24. References University of Education Okara Campus • • • • 24