Post on 10-May-2015
System Development Life Cycle(SDLC)
Inam Ul-Haq
Lecturer in Computer Science
University of Education, Okara Campus
inam@ue.edu.pk, organizer@dfd-charity.com, inam.bth@gmail.com
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
1
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 or Software: Programs + Documentation required to develop, install, use and maintain 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)
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
2
System Development Life Cycle
In an organization System Development can be achieved by following steps:
1. Preliminary Investigation
2. Requirements analysis or system analysis
3. Design of System
4. Development of Software
5. System Testing
6. Implementation and Maintenance
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
3
1. Preliminary Investigation
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.
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
Preliminary Investigation
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
4
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.
• Conducting the Investigation
• 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
Preliminary Investigation
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
5
Feasibility (Possibility) Study
Evaluation of alternative systems through cost and benefit analysis:
• 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.
• Request Approval: Based on the Observation and Findings of the Analyst, selected requests are put up for the approval of management
Preliminary Investigation
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
6
2. Requirement Analysis
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.
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:
Collection of data and facts
Analysis of Present System, Analysis of Proposed system
Requirement Analysis & System Analysis
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
7
Collection of Data & Facts
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:
• 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.
Requirement Analysis & System Analysis
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
8
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
Requirement Analysis & System Analysis
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
9
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.
System Specification which should be in conformity with the Project Objective and Areas Covered should be following:
• 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
Requirement Analysis & System Analysis
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
10
3. System Design (Contt.)
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.
System Design
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
11
3. System Design
There are common five models for software development.
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
System Design
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
12
Prototyping Model
13
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
Waterfall Model
14
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
Spiral Model
15
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
RAD Model
16
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
JAD Model
17
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
4. Selection of Software Model
Selection of a perfect Software for organization is totally depends on the followings:
• 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.
• 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.
System Acquisition & Development
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
18
5. System Testing
This is Performing Parallel Operation and get the following done to analyze the operational implementation feasibility:
Preparation realistic data based on the actual working data of the organization. It may be based on the Historical data of the organization.
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:
System Testing
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
19
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.
This also includes the overall review of the development process for its leakages and errors in it.
To complete this phase a developer has to complete the following functions successfully:
• Equipment Installation
• Training Personnel:
• Conversion Procedure:
• Post Implementation Evaluation (Feedback)
Implementation & Maintenance
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
20
Equipment Installation
This includes following functions:
• Site Preparation: Preparing the site for installation and mobilizing all required equipments and personnel at the site.
• 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.
Implementation & Maintenance
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
21
Training Personnel
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.
If there are deficiencies in Training, these may translate into reduction in user Productivity Levels
Implementation & Maintenance
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
22
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.
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.
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.
Implementation & Maintenance
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us
23
References• 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-system-
development• http://en.wikipedia.org/wiki/Software_prototyping
24
Un
ive
rsity
of
Ed
uca
tion
Oka
ra
Ca
mp
us