Chapter-2 (12)
Chapter-2 (12)
Chapter No. 2
System Development Life Cycle (SDLC)
MCQs …………………………………………………………… Page 2
Second Year Computer Notes By Riaz Khattak APS & C (Boys) Peshawar
2
Answers
i. D ii. C iii. A iv. A v. B
vi. A vii. D viii. C ix. A x. D
Second Year Computer Notes By Riaz Khattak APS & C (Boys) Peshawar
3
Ans: - A system is a set of components (hardware and software) for collecting, creating, storing,
processing and distributing information. A system can be developed by applying a set of methods,
procedures and routines in a proper sequence to carry out some specific task.
Ans: - SDLC is important for the development of software due to the following reasons.
Ans: - Stakeholders of SDLC are those entities or groups which are either within the organization or
outside of the organization that sponsor, plan, develop or use a project. Stakeholders may be users,
managers and developers. It is the duty of the project management team to identify the
stakeholders, determine their requirements, expectations and manage their influence in relation to
the requirements to ensure a successful project. Some important stakeholders of System
Development Life Cycle (SDLC) includes Project Manager ,System analyst, Programmer, Software
Tester and customer.
Defining Problem
Planning
Feasibility Study
Analysis
Requirement Engineering
Design
Coding / Construction
Testing / Verification
Deployment / Implementation
Second Year Computer Notes By Riaz Khattak APS & C (Boys) Peshawar
4
Maintenance / support
Ans: - In Defining phase of SDLC, the problem to be solved is clearly defined. All requirements are
documented and approved from the customer or the company. The project is designed and
developed according to these requirements. It is important to identify all requirements in order to
develop the project successfully.
Example: - A Student Examination System is needed to be developed that covers all the aspects
from Examination taking to Student’s result generations.
Ans: - During analysis phase the project team determines the end-user requirements. The current
system is studied in detail to find how it works and how to improve it. It is typically done by
interacting with the existing system users who will provide an explanation of their needs and
expectations from the new/prosed system. In this phase, the project manager must decide whether
the project should go ahead with the available resources or not.
The project team asks the following questions during the analysis.
Can the proposed system be developed with the available resources and budget?
Will this system significantly improve the organization?
Does the existing system even need to be replaced etc?
Example: - The Student Examination System is analyzed for the development. The team may visit
the educational institute to study existing system to suggest improvements.
Ans: - Functional requirements: - Functional requirements specify the software functionality that
the developers must build into the product to enable users to accomplish their tasks.
Non-functional requirements: - Non-functional requirements specify criteria for the judgment of the
operation of a system. It describes that how well the system performs its duties.
Second Year Computer Notes By Riaz Khattak APS & C (Boys) Peshawar
5
10. Design phase is considered as the “architectural” phase of SDLC. Give reasons.
It determines the most logical design and structure for data flow and storage.
It is used to design user interface layouts.
It also includes preparation of algorithms and flowcharts.
Ans: - An algorithm is a specific step by step procedure for carrying out the solution of a problem.
Example: - An algorithm to find out the result of a student on the basis of percentage marks.
1. Start
2. Read Percentage
3. If Percentage> = 40 Then Print “Pass” Else Print “Fail”
4. End
Ans: - A flowchart is a type of diagram that represents an algorithm or a process. It shows the steps
of the algorithm with the help of different symbols. These symbols are linked with arrows that show
the flow of process. This graphical representation of the algorithm gives a step-by-step solution to a
given problem. Flowchart is designed according to the defined rules. Some of the flowchart symbols
are oval, rectangle, diamond etc.
Second Year Computer Notes By Riaz Khattak APS & C (Boys) Peshawar
6
14. Develop/draw a flowchart to find out the result of a student on the basis of percentage marks.
Ans: -
Start
Read Per
Is Yes
Per
>=40?
No Print “Pass”
Print “Fail”
Stop
Ans: - The construction/coding phase is used to execute the plan that is prepared in design phase.
The developers write code for data flow process. They also design the actual user interface screens.
The code is written in programming languages. The coding task can be divided into smaller units as
modules. Coding is also called computer programming.
Example: -A coding (program) in C ++ to find out the result of a student on the basis of percentage
marks.
# include <iostream.h>
# include <conio.h>
void main (void)
{
clrscr ( );
int percentage;
cout<<”Enter Percentage marks of a student = ”;
cin>> percentage;
If (percentage >= 40)
Second Year Computer Notes By Riaz Khattak APS & C (Boys) Peshawar
7
cout<<“\n Pass” ;
else
cout<<”\n Fail” ;
getche ( );
}
16. What is the purpose of Testing/Verification phase?
Ans: - The process of executing programming modules to find errors is called testing. The testing
phase is used to test all aspects of the system to ensure its functionality and performance. The
testing is done by giving simple data to the system as input and checking the output.
The purpose of testing is to evaluate the program or system to determine whether it meets the
required results. It checks the consistency of the program by evaluating the results against pre-
defined requirements.
Ans: - Software deployment is a set of activities that are used to make the software/system
available for use. The deployment is also called implementation. A system can be implemented after
it has been tested. The following methods are used for system deployment/implementation.
Direct implementation
Parallel implementation
Phased implementation
Pilot implementation
Ans: - The following are the main activities that are involved during implementation/deployment
phase.
Direct Implementation: - In this type of implementation the old system is directly replaced by
the new system. The old system is no longer available. It is the most risky implementation and
may be used when time is very short. It is also called crash implementation.
Parallel Implementation: -In this type of implementation both new and old systems operate
together for a period of time. It is the safest method of implementation because the major
Second Year Computer Notes By Riaz Khattak APS & C (Boys) Peshawar
8
problems with the new system can be encountered and corrected without the loss of data. It is
the most expensive way of implementation.
Pilot Implementation: - In this method the new system is installed for a small number of users.
These users learn, use and evaluate the new system. Once the new system is deemed to be
performing satisfactorily then the new system is installed and used by all.
20. Which method of implementation is the safest? Justify your answer also.
Ans: - The safest method of implementation is parallel implementation. The reason is that in this
method the old and new systems work together for a period of time which allows any major
problems in the new system can be encountered and corrected without any loss of data.
Ans: - The system maintenance is an important and ongoing process in SDLC. The maintenance can
be repairing, modification or enhancement in the system. It is used to monitor the system
performance continuously in accordance with the user requirements. It may results in modifying the
system if any problem is identified with its performance. The system may enter the planning phase if
any modifications are required. This process continues until a complete solution is provided to the
customer.
Second Year Computer Notes By Riaz Khattak APS & C (Boys) Peshawar
9
Long Questions/Answers
1. Define software/System Development Life Cycle (SDLC). What are its objectives?
Ans: - System: - A system is a set of components (hardware and software) for collecting, creating,
storing, processing and distributing information. A system can be developed by applying a set of
methods, procedures and routines in a proper sequence to carry out some specific task.
The purpose of testing is to evaluate the program or system to determine whether it meets the
required results. It checks the consistency of the program by evaluating the results against pre-
defined requirements.
3. Why software development life cycle is important for the development of software?
Ans: - SDLC is important for the development of software due to the following reasons.
Ans: - Stakeholders of SDLC are those entities or groups which are either within the organization or
outside of the organization that sponsor, plan, develop or use a project. Stakeholders may be users,
managers and developers. It is the duty of the project management team to identify the
stakeholders, determine their requirements, expectations and manage their influence in relation to
the requirements to ensure a successful project.
Some important stakeholders of System Development Life Cycle (SDLC) are as follows.
Project Manager
Second Year Computer Notes By Riaz Khattak APS & C (Boys) Peshawar
10
System analyst
Programmer
Software Tester
Customer
To provide consistency of success of the software with regard to Time, Cost and Quality
objectives.
To ensure that customer expectations are met.
To collect historical information and data for future use.
To provide a method of thought for ensuring all requirements are addressed through
comprehensive work definition process.
To reduce risks associated with the project.
Project Manager: - A project manager is a professional responsible for planning, execution, and
closing of any project. A project manager has management skills with software development
experience. Project manager must have the knowledge of Software Development Life Cycle (SDLC).
System Analyst: - A system analyst is a software development professional. System analyst studies
the problems, plan solutions, recommends software systems and manages project development.
System analyst typically has expertise in a variety of programming languages, Operating Systems and
computer hardware platforms.
Second Year Computer Notes By Riaz Khattak APS & C (Boys) Peshawar
11
Software Tester: - A software tester is a computer programmer with expertise in testing the
computer programs using different techniques. Software tester is responsible for understanding
requirements, creating test scenarios, test scripts, preparing test data, executing test scripts and
reporting defects as well as results.
Ans: - Feasibility study is used to assess the strength and weaknesses of a proposed
software/system and present directions of activities which will improve a project and to achieve
desired results. Feasibility study is the analysis and evaluation of a proposed project/system to
determine whether it is technically, financially/economically, legally and operationally feasible
within the estimated cost and time. It is divided into the following types.
Technical feasibility
Economic feasibility
Operational feasibility
Legal feasibility
Schedule feasibility
Technical feasibility:- Technical feasibility assesses the current resources (such as hardware and
software) and technology which are required to accomplish user requirements in the software
within the allotted time and budget.
Economic feasibility:- In Economic feasibility cost-benefit analysis is done in which expected costs
and benefits are evaluated. It determines whether the system can be developed within the budget
or not.
Operational feasibility:- Operational feasibility determines that how well the proposed system will
work in the organization. It also determines the acceptability of the proposed system in the end
users and management.
Legal feasibility:- Legal feasibility is used to determine the ethical and legal issues related to the
system such as Cyber law, copyright etc.
Second Year Computer Notes By Riaz Khattak APS & C (Boys) Peshawar
12
Schedule feasibility:- Schedule feasibility determines whether the proposed system can be
completed within the deadline or not. In schedule feasibility time is allocated for separate module
development in proposed system.
6. What is the purpose of Requirement Engineering phase? Explain its various steps in detail.
Ans: - The purpose of requirement engineering is to determine user expectations for a new or
modified system/software. It is a set of activities that identify and communicate the purpose of a
software system and the framework in which it will be used. It has the following steps.
Requirement gathering
Requirement validation
Requirement management
Requirement Gathering: - Requirement gathering is usually the first part of any software/system
development process. In this step meetings with the customers are arranged to analyze market
requirements and trends. Requirement gathering have two types.
Ans: - SDLC activities are performed by different groups of people and individuals called personnel.
The personnel are professionals in performing their particular jobs. These include:
Management Personnel
Project Manager
System analyst
Programmer
Software Tester
Customer
Second Year Computer Notes By Riaz Khattak APS & C (Boys) Peshawar
13
project must be delivered within allotted time and cost. The team also reduces the risks associated
with the project.
To provide consistency of success of the software with regard to Time, Cost and Quality
objectives.
To ensure that customer expectations are met.
To collect historical information and data for future use.
To provide a method of thought for ensuring all requirements are addressed through
comprehensive work definition process.
To reduce risks associated with the project.
Project Manager: - A project manager is a professional responsible for planning, execution, and
closing of any project. A project manager has management skills with software development
experience. Project manager must have the knowledge of Software Development Life Cycle (SDLC).
System Analyst: - A system analyst is a software development professional. System analyst studies
the problems, plan solutions, recommends software systems and manages project development.
System analyst typically has expertise in a variety of programming languages, Operating Systems and
computer hardware platforms.
Second Year Computer Notes By Riaz Khattak APS & C (Boys) Peshawar
14
Software Tester: - A software tester is a computer programmer with expertise in testing the
computer programs using different techniques. Software tester is responsible for understanding
requirements, creating test scenarios, test scripts, preparing test data, executing test scripts and
reporting defects as well as results.
Second Year Computer Notes By Riaz Khattak APS & C (Boys) Peshawar