software development life cycle

24
System Development Life Cycle (SDLC) Inam Ul-Haq Lecturer in Computer Science University of Education, Okara Campus [email protected] , [email protected] , [email protected] University of Education Okara Campus 1

Upload: inam12

Post on 16-Dec-2014

234 views

Category:

Technology


1 download

DESCRIPTION

An Introduction to Software Development Life Cycle

TRANSCRIPT

2. Beginning of a System Development History: emerges as Software Engineering in 1960s in a conference to solve a problem called software crisis. Purpose: Design & Development of high-quality softwareSystem 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 CampusSystem or Software: Programs + Documentation required to develop, install, use and maintain software2 3. System Development Life CycleIn 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 MaintenanceUniversity of Education Okara Campus1. Preliminary Investigation3 4. Preliminary Investigation1. Preliminary InvestigationThe 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 ApprovalsUniversity of Education Okara CampusWhatever 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. Preliminary InvestigationRequest 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 ManagersIdentify Viable Option: Analyst has to identify the viable option by applying his common sense and intuitions on his investigationUniversity of Education Okara CampusConducting the Investigation5 6. Preliminary InvestigationFeasibility (Possibility) Study Technical Feasibility: Hardware and software availability, Technical Guarantee ofAccuracy, 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 & Companys contractual obligations.University of Education Okara CampusEvaluation of alternative systems through cost and benefit analysis:6Request Approval: Based on the Observation and Findings of the Analyst, selected requests are put up for the approval of management 7. Requirement Analysis & System Analysis2. Requirement AnalysisSoftware 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 CampusAfter 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 system7 8. Requirement Analysis & System AnalysisCollection of Data & FactsDocuments: This includes the Manuals, diagrams, forms, organizational charts etc. It should be ensured that all documents are accurate & up to dateQuestionnaires: 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 users environment.University of Education Okara CampusEvery 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. Requirement Analysis & System AnalysisAnalysis 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 organizationAnalyze Present inputs to the systemReview of all data file maintained irrespective of online or offlineReview methods, procedures & data communicationsAnalyze Present outputs of systemReview internal controlsModel the existing physical system and logical systemUndertake overall analysis of present systemUniversity of Education Okara Campus9 10. Requirement Analysis & System AnalysisAnalysis 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 / ReportsMaintenance of DatabaseData Inputting ProcessMethods and Procedures to show the relationship between Input and OutputWork volume including peak period work volumeUniversity of Education Okara CampusSystem Specification which should be in conformity with the Project Objective and Areas Covered should be following:10 11. System Design1. 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 Campus3. System Design (Contt.)11 12. System Design3. System Design4. 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 frameUniversity of Education Okara CampusThere are common five models for software development.12 13. University of Education Okara CampusPrototyping Model13 14. University of Education Okara CampusWaterfall Model14 15. University of Education Okara CampusSpiral Model15 16. University of Education Okara CampusRAD Model16 17. University of Education Okara CampusJAD Model17 18. System Acquisition & Development4. 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. System Testing5. 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. Implementation & Maintenance6. 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 CampusThis also includes the overall review of the development process for its leakages and errors in it.20 21. Implementation & MaintenanceEquipment 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. Implementation & MaintenanceTraining PersonnelIf there are deficiencies in Training, these may translate into reduction in user Productivity LevelsUniversity of Education Okara CampusSince 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. Implementation & MaintenancePost 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 achievedInformation Evaluation: Check Satisfaction of users etc.University of Education Okara CampusThis 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. ReferencesUniversity of Education Okara Campus http://en.wikipedia.org/wiki/Software_development_process http://en.wikipedia.org/wiki/Systems_development_life-cycle http://www.mks.com/solutions/discipline/software-development-life-cycle-sdlc-systemdevelopment http://en.wikipedia.org/wiki/Software_prototyping24