0% found this document useful (0 votes)
20 views56 pages

Unit 2

The document outlines the System Development Life Cycle (SDLC), detailing its phases from planning to maintenance, and the roles of various stakeholders involved in software development. It emphasizes the importance of SDLC in delivering quality software that meets customer expectations while providing a structured approach to project management. Additionally, it describes the roles of personnel such as project managers, system analysts, programmers, and testers in the successful execution of software projects.

Uploaded by

maoozagent47
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views56 pages

Unit 2

The document outlines the System Development Life Cycle (SDLC), detailing its phases from planning to maintenance, and the roles of various stakeholders involved in software development. It emphasizes the importance of SDLC in delivering quality software that meets customer expectations while providing a structured approach to project management. Additionally, it describes the roles of personnel such as project managers, system analysts, programmers, and testers in the successful execution of software projects.

Uploaded by

maoozagent47
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

1

UNIT-2
SYSTEM DEVELOPMENT
LIFE CYCLE
Prepared By: Javed Ahmad SSIT GHSS DHAKKI D.I.Khan
2.1.1 A System
•The term system is originated from the Greek 2
term systēma, which means to “place together.”
•A system can be developed by applying a set of
methods, procedures and routines in a proper sequence
to carry out some specific task. When all these
functions are applied to build software then the system
will be called as a software system.
System Development Life Cycle (SDLC)
3
•It describes the stages involved in an information system
development project from an initial feasibility study
through maintenance of the completed application.
2.1.2 System development life cycle and
4
its importance
•It is a step wise process of creating computer systems.
•Also known as information system development or
application development.
•A conceptual model which represents the necessary steps
used for the development process of a software system.
Importance of SDLC
•Breaks down the entire life cycle of software 5
•development into phases thus making it easier for
the development team members to easily evaluate each
part of software development.
•SDLC makes it easier for programmers to work
concurrently on each phase.
•It provides a rough time estimate that when the software
will be available for use.
•It delivers quality software which meet or exceed customer expectations.
•It provides the basic framework for the
developing of quality software. 6
•SDLC helps the project managers to establish a project
management structure to be followed strictly during the
system development.
•It clearly defines and assigns the roles and responsibilities
of all the involved parties.
•It ensures that the requirements for the development of
the software system are well defined and subsequently
satisfied.
2.1.3 Objectives of SDLC
•Delivery of quality software that meet the customer7
expectations.
•Delivery of inexpensive and cost-effective software
which are easily maintainable.
•To establish an appropriate level of management
authority to direct, coordinate, control, review, and
approve the software development project.
• Proper documentation of all the requirements
8
• needed for the development of the new software
system.

• Ensuring that projects are developed within the current


and planned information technology infrastructure.

• SDLC should identify the potential project risks in


advance so that proper planning should be done.
2.1.4 Stakeholders of SDLC 9
•Those entities which are either within the
organization or outside of the organization that
sponsor a project, or have an interest or have the
intention to get it after its successful completion, or
may have a positive or negative influence in the
project completion are called stakeholders.
• Project stakeholders include the customers,
the user group, the project manager, the 10
development team and the testers.
• All those who have some interest in the project can be
considered as stakeholders of that project.
Role of stakeholders
The basic roles of the stakeholders are: 11
•For the development of a software system,
resources such as time, money, equipment etc. are
needed which should be provided to the project team
by the stakeholders.
•They spend more time to provide information and clarify
requirements to the analysts and developers.
•The stakeholders should be specific and precise about the
requirements.
• Make timely decisions. 12
• Respect a developer's assessment of cost and
feasibility.
• Set requirement priorities.
• Review and provide timely feedback.
• Promptly communicate changes to requirements.
2.1.5 System development life cycle phases
13
a. Planning phase
• First phase of SDLC.
14
• It tries to find answers for the questions such as:
• What do we need this system for?
• What the new software system will do for the
organization?
• How this new software system will be developed?
• All the resources, both human and technology
resources are put together and a project plan is
devised by the project manager.
Activities of the planning phase
•Define business problem or opportunity 15
•Define Project Scope and Constraints
•Produce detailed project schedule (time) and cost
•Define project benefits
•Write a report to management
b. Feasibility
•Analysis and evaluation of a proposed project or system,
16
to determine, whether it is technically, economically and
operationally feasible within the estimated cost and time
is called feasibility study.
It is divided into:
i. Technical feasibility
•It refers to the technical resources needed for the
development of the proposed software system.
ii. Economic feasibility
It is the cost of the project. 17
It tries to determine; total cost of ownership
(TCO), tangible benefits and intangible benefits.
iii.Operational feasibility
It means whether the organization has much experienced
personals to operate the system or not?
iv.Schedule feasibility
It means that a project can be implemented in an
acceptable time frame.
c. Analysis phase
In this phase, project manager must decide if the
18
project should go ahead with the available
resources or not.
The project team asks the following questions during the
analysis.
Can the proposed software 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?
Activities of the analysis phase
Gather information to learn problem domain 19
Define system requirements.
Prioritize requirements.
Generate and evaluate alternative solutions for the
problem in hand.
Review recommendations with top level management
to decide about the project.
d. Requirement engineering
Requirements Engineering (RE) is a set of activities 20
used to identify and communicate the purpose of a
software system, and the contexts in which it will be
used.
It consists of the following steps.
Requirement gathering
It is the first part of any software product in which 21
meetings with the customers are arranged; the
market requirements and features that are in demand
are analyzed.
It is also to find out if there is a real need in the market
for the software product that is proposed to be
developed.
These requirements are of two types:
Functional requirements:
They describe a function of a software system or
its component. 22
Examples :
a) Interface requirements
Field accepts numeric data entry.
Field only accepts dates before the current date.
Screen can print on-screen data to the printer.
b) Business requirements
Data must be entered before a request can be approved.
c) Regulatory/Compliance requirements
The database will have a functional audit trail..
23
The system will limit access to authorized users.
The spreadsheet can secure data with electronic
signatures.
d) Security requirements
Member of the Data Entry group can enter requests but
not approve or delete requests.
Members of the Managers group can enter or approve a
request, but not delete requests.
Members of the Administrators group cannot enter 24
or approve requests, but can delete requests.
Non-functional requirements:
It describes that how well the system performs its
25
duties.
These are often called qualities of a system.
These requirements depend upon the nature of
the software.
Different types of non-functional requirement are:
•Accessibility Requirements 26
•Accuracy Requirements
•Backup and Recovery Requirements
•Memory Capacity Requirements
•Compatibility Requirements
•Error-Handling Requirements
•Maintainability Requirements
•Performance Requirements
•Security Requirements
Requirements validation
•Concerned with examining the requirements to
certify that they meet the intentions of the 27
stakeholders, and to ensure that they define the
right system.
•It differs from verification in the sense that
verification occurs after requirements have been
accepted.
•Requirements elicited are reviewed to check that
requirements are complete, correct, unambiguous,
consistent, prioritized, and modifiable.
Requirements management
•It ensure that the software continues to meet the 28
expectations of the acquirer and users.
•The requirements document should always
accurately reflect those expectations, as changes
occur, in order to communicate to the
development team.
•The conflicts that arise among the acquirer and
the user needs to be addressed and changes
should be negotiated and validated before such
requirements are added to the baseline.
e. Design phase
•The system is designed to satisfy the functional
29
requirements identified in the previous phase.
Activities include:
Identifying potential risks and defining mitigating
design features.
Performing a security risk assessment.
Developing a conversion plan to migrate current
data to the new system.
Determining the operating environment.
The design phase normally consists of three
different architectures. These are: 30
•Algorithms
•Flow chart
•Pseudo code
i Algorithms
An algorithm is a specific set of instructions for 31
carrying out a procedure or solving a problem.
For Example the following algorithm will find
average of the 5 numbers.
•Step1. Read a, b, c, d, e
•Step2. Set Sum = a+b+c+d+e
•Step3. Set Average = Sum/5
•Step4. Print Average
ii. Flowcharts
•A flowchart is a type of diagram that represents an
32
algorithm or a process.
•It shows the steps of the algorithms with the help of
boxes and their order by arrows connecting the
boxes.
•The operations are represented in these boxes, and
the flow of control on the arrows.
33
34
iii. Pseudo code
•It is an outline of a program, written in a form
that can easily be converted into real 35
programming statements.
•It is neither is compiled nor executed, and there
is no specific formatting and syntax rules for it.
Beneficial in the sense that it enables the
programmer to focus on the algorithms without
worrying about all the syntactic details of a
particular programming language.
The following example shows a pseudo code to
display the result of a student as “Pass” if the
36
percentage is greater than or equal to 60% and
“Fail” otherwise.
IF Percentage >= 60% Print "Pass" Else
Print "Fail"
f. Coding
•Coding is the process of designing, writing,
37
testing, debugging, and maintaining the source
code of computer programs.
•This source code is written in programming
languages.
•The purpose of coding is to create a program that
shows a certain desired behavior.
•Coding is also called computer programming.
•For coding computer programming languages are
used like C/C++, JAVA, Python, VB.Net, C#.Net
etc.
38
39
g. Testing/Verification
•The execution of a program to find its errors is 40
called testing.
•Here, the bugs are identified in the programmed
modules.
•The purpose of testing is to evaluate an attribute
or capability of a program or system and
determine that whether it meets its required
results.
h. Deployment / Implementation
•It is a set of activities that are used to make the
software system available for use. 41
•It is also called implementation.
MAIN ACTIVITIES:
•Installation and activation of the equipment and
software.
•In some cases the users and the computer
operation personals are trained on the
developed software system.
•Conversion: The process of changing from the old
system to the new one is called conversion.
i. Maintenance / Support
•Keeping a system in its proper working condition
is called maintenance. 42
•Maintenance is an important activity that takes
place throughout the life of software in both the
computer equipment and computer software.
•Programmers spend more time in maintaining
programs than writing them.
•In SDLC, the system maintenance is an ongoing
process.
• The system is monitored continually for
performance in accordance with user
requirements and needed system modifications 43
are incorporated.
• When modifications are identified, the system
may reenter the planning phase.
• This process continues until a complete
solution is provided to the customer.
• Maintenance can be either repairing or
modification or some enhancement in the
existing system.
2.1.6 Role of the Personnel involved in SDLC
The activities of all the phases of SDLC are being
performed by different groups of people and 44
individual personnel.
These personnel are professionals in performing
their particular jobs and include:
Management
Project Manager
System Analyst
Programmer
Software Tester
Customer
a. Management
• Organizing, coordinating and controlling the
45
activities of a software development by the
managers and executives in accordance with
certain standard procedures is called
management.
• A strong management has the ability to satisfy
the customers of the software system.
• A proposed product will only meet its objectives
if managed properly, otherwise, will result in
failure.
The role of good Management is to:
•Provide consistency of success of the software
46
with regard to Time, Cost, and Quality
objectives.
•Ensure that customer expectations are met.
•Reduce risks associated with the project.
b. Project Manager
•Responsible for planning, execution, and closing
of any project. 47
•Also have an extensive background in software
development.
•Familiar with the whole SDLC process.
The role of project manager is to manage:
•Project plan 48
•Project stakeholders
•Project team
•Project risk
•Project schedule
•Project budget
•Project conflicts
C. System Analyst
•A professional in the field of software development
49
that studies the problems, plans solutions for them,
recommends software systems, and coordinates
development to meet business or other requirements.
•Expert in a variety of programming languages,
operating systems, and computer hardware platforms.
•Responsible for developing cost analysis, design
considerations, and implementation time.
The role of system analyst is to:
•Plan a system flow from the ground up.
•Interact with customers to learn and document 50
requirements that are then used to produce
business requirements documents.
•Write technical requirements from a critical
phase.
•Interact with designers to understand software
limitations.
•Manage system testing.
•Document requirements and contribute to user
manuals.
d. Programmer
•A technical person that writes computer programs
51
in computer programming languages to develop
software.
•Writes, tests, debugs, and maintains the detailed
instructions that are executed by the computer to
perform their functions.
•Other names for programmer are coder and
developer.
The roles of a programmer are:
•Writing, testing, and maintaining the instructions
52
of computer programs.
•Updating, repairing, modifying and expanding
existing programs
•Testing the code by running to ensure its
correctness
•Developing new methods and approaches to
computer programming
•Maintenance of computer databases.
e. Software Tester
•He is a computer programmer having specialty in 53
testing the computer programs using different
testing techniques.
Roles:
•Create test scenarios, test conditions and
expected results and test cases. 54
•Run and maintain automated test scripts.
•Execute test scripts and document test results.
•Inform testing team leader on any issues that
could potentially impact quality, schedule or
budget of the project,
f. Customer
•He is an individual or an organization that is a
potential buyer or user of the software product. 55
•They usually purchase software from software
manufacturer companies (software houses) and
individuals.
•Also called clients but the only difference between
the two is that the customers purchase the software
products and the clients purchase services.
•Customers are the real evaluators of a software product by
using it and identifying its merits and demerits.
56
THE END OF UNIT 2

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy