0% found this document useful (0 votes)
25 views21 pages

SDLC

Uploaded by

lamichhanebibek8
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)
25 views21 pages

SDLC

Uploaded by

lamichhanebibek8
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/ 21

System Development Life Cycle

The program is a sequence of instructions.


An instruction is a command given to the computer to perform a certain
specified operation on given data.The computer has no use without
software .The computer will be just a metallic box if there were no
software.
A set of programs written for a computer to perform a particular task is
called software.
The logical components or set of procedures to routines or instructions
are called software.
Software Project
Development
Concept of SDLC life cycle
SDLC (software / system Development life cycle ) is an organised way
to develop a software /system.System Development Phase or system
Development Life Cycle or software Development Life Cycle (SDLC) is a
methodology used to develop ,maintain,and replace software/information
systems.It is a systematic process of developing software .It helps in
establishing a system ,or software or project,or plan .It gives an overall
list of process and sub-processes required for developing a system.

Importance and the Necessity of SDLC


1. Helps to determine the needs of the user
2. Support constant communication between the developer and the
user
3. Ensures that the software meets the needs of it users
4. Support proper analysis and design of the software
5. Ensure proper development and testing.
6. Provides flexibility for adding features even after the software is
developed

Phases of SDLC
1. System Study
2. System Analysis
3. System Design
4. System Development
5. System Testing
6. System Implementation
7. System Maintenance and Review
1) System Study /Planning: First step of SDLC. This phase is
basically concerned with determining whether or not the new
software/system should be developed or not. It focuses on
surveying the system by collecting input from various sources. It
analyses the current system in depth and develops possible
solutions to the problem. In system study the first task is to identify
jobs accurately. With the problem accurately defined the
organisation can decide whether to undertake the software or not.

2) System Analysis: It is an important activity that takes place when


the new information system is being changed. It is a central part of
the whole system development. System Analysis is a detailed
study of various operations performed by a system and their
relationships within and outside the system. During system
analysis data are collected from various available sources by using
tools such as interview, onsite observation, questionnaire etc
3) System Design: The most creative and challenging phase of
SDLC. It is concerned with the design of the final system. It clearly
describes how a system will meet the requirements identified
during system analysis. During this phase the designer must
design all the aspects of the system from the input and output
screen, database, and processes of computing. It Transforms the
user's requirements into some suitable form which helps the
programmer in software coding and implementation.

4) System Development: During this developers play key roles,


creating or customising the system. After designing the new
system it is transformed into the physical system. The
development stage is the part where developers actually write
code and build the application according to the earlier design
documents and outlined specifications.
5) System Testing: It is an integral part of phases. After developing
the whole components of the system, a test plan should be
developed and all the testing must be done. The test may contain
the following steps:
1. Unit Testing
2. Integration Testing
3. System Testing
4. User Acceptance testing
6) System Implementation: The way of carrying out a developed
system into working condition is called system implementation. It
involves testing, debugging, loading or distributing developed
software to users' sites and training personnel. In this stage theory
is turned into practice. The user moves the older system to the
new system to perform work.Different way of implementation
1. Direct Implementation
2. Parallel Implementation
3. Phased Conversion
4. Pilot Conversion
7) System Maintenance and Reviews: Correcting and upgrading
the process of the system is called system maintenance.
Maintenance is necessary to eliminate errors in the working
system. In this phase the system developer makes required
changes according to the specification . These changes are
necessary to keep the system running and useful.

Feasibility Study
It is the most important activity in the system analysis phase. It analyses
proposed system from different aspects. It makes us clear that how
practical or beneficial the system will be to the organisation. In this Study
we focused on long term benefit instead of short term benefit. It deals
with the following aspects
1) Economical Feasibility: concerns with cost effectiveness of the
system. It calculates the approximate cost of both development
and operational cost and benefits from the system.
2) Technical Feasibility: concerns with availability of the hardware,
software and other necessary equipments for the complete
development of system, also deals with power supply, network and
internet connection
3) Operational Feasibility: concerns with smooth operation of the
system after its development. User friendly and reliability is the key
factors for the smooth operation
4) Behaviour Feasibility: it concerns with behaviour of the users and
the society towards the new system/ technology
5) Scheduled Feasibility: it determines the deadline to complete a
system and schedule the task accordingly
6) Legal Feasibility: it measures everything whether it is legal or
illegal. I consider copyright law, labour law, foreign trade etc.
System Analyst: A system analyst is a computer specialist who is
involved in analysing, designing, implementing and evaluating systems.
He/She is involved in conducting system study and analysing the system
and also studies the existing system by conducting interviews with the
users.
Roles of System Analyst
1. Defining requirement
2. Prioritising requirements by consensus
3. Gathering data, facts and opinion of users
4. Analysis and evaluation
5. Solving problems
6. Drawing up specification
7. Designing system
8. Evaluating system

Qualities of a System Analyst


1. Knowledge of Organisation
2. Technical Knowledge
3. Interpersonal Communication Skill
4. Character and ethics
5. Problem solving skill
6. System analysis and design skill

Requirement Collection Methods


1) Brainstorming
2) Focus Group
3) Interface analysis
4) Interview
5) Observation
6) Prototyping
7) Survey/Questionnaire
8) Document Analysis
9) Requirements Workshop
Concept of System Design
Algorithm
An algorithm is a procedure or formula for solving a problem, based on
conducting a sequence of specified actions. It is the finite set of step
instructions that solve a particular program.
Qualities of Good Algorithms

● Input and output should be defined precisely.


● Each step in the algorithm should be clear and unambiguous.
● Algorithms should be most effective among many different ways to
solve a problem.
● An algorithm shouldn't include computer code. Instead, the
algorithm should be written in such a way that it can be used in
different programming languages.

Example
Step 1: Start
Step 2: Declare variables num1, num2 and sum.
Step 3: Read values num1 and num2.
Step 4: Add num1 and num2 and assign the result to sum.
sum←num1+num2
Step 5: Display sum
Step 6: Stop

Flowchart
It is a pictorial representation of steps involved in solving a particular
procedure or program. It is another system design tool used to check the
flow of logic running in a program.
Advantages of Flowchart

Listed are a few advantages of Flowcharts:


● Easy to make
● Communication becomes effective and easy to understand
● Mistakes can be easily identified
● Analysis becomes effective
● Synthesis becomes effectual
● Debugging becomes possible
● Logics can be easily interpreted.

Disadvantages of Flowchart

A few disadvantages of Flowcharts are as follows:

● Difficulty in presenting complex programs and tasks.


● No scope for alteration or modification
● Reproduction becomes a problem
● It’s a time-consuming process
● Difficult to understand for people who don’t know flowchart
symbols.
● No man to computer communication.

Pseudo Code
It is English phrases like code to describe the processing step of a
program or module. The term pseudo refers to “artificial” and “code”
refers to instruction. Pseudo-code is not a programming language.
Instead, it is a simple way of describing a set of programming
instructions in a manner that looks like an programming language

Advantages and disadvantages of pseudo-code

Designing an algorithm in pseudo-code has advantages because:

● it can be quickly and easily converted into an actual


programming language as it is similar to a programming
language
● it is fairly easy to understand, even for non-programmers
● it does not matter if there are errors in the syntax - it is usually
still obvious what is intended
● changes to the design can be incorporated quite easily

Pseudo-code also has its disadvantages:

● It can be hard to see how a program flows. For example, where


does following one path as opposed to another take the
program?
● It can be time consuming to produce.

Example

begin
numeric &Num1,num2,nSum
display "ENTER THE FIRST NUMBER : "
accept nNum1
display "ENTER THE SECOND NUMBER : "
accept nNum2
compute Sum=num1+num2
display "SUM OF THESE NUMBER : " nSum
end

Level of DFD:
1) Context Diagram
It is a 0 level Data Flow Diagram containing only one process,
representing the system boundaries, external entities that interact with
the system and the informational flow.
The context diagram does not have a data store. The symbol represents
the entire information system and we express it as a process 0.
Symbols used in Context Diagram

Example

2) Data Flow Diagram:


A data flow diagram shows more detailed data flow of the system. A data
flow diagram (DFD) maps out the flow of information for any process or
system. It uses defined symbols like rectangles, circles and arrows, plus
short text labels, to show data inputs, outputs, storage points and the
routes between each destination. The data flow diagram is a pictorial
representation showing the flow of data into, around and out of the
system’s data and how the processes transform the data is known as
data flow diagram.
DFD uses four basic symbols that represent a process ,data flow
,dataflow,data store,and an external entity. The figure listed below
consists of a general symbol set of DFD.

E-R(entity Relationship)Diagram

–. ER Diagram stands for Entity Relationship Diagram, also known


as ERD is a diagram that displays the relationship of entity sets stored in
a database. In other words, ER diagrams help to explain the logical
structure of databases. ER diagrams are created based on three basic
concepts: entities, attributes and relationships. For example, in a
University database, we might have entities for Students, Courses, and
Lecturers. Student entities can have attributes like Rollno, Name, and
DeptID. They might have relationships with Courses and Lecturers.these
models.

E-R diagram is built up from the following components:


i.Rectangle:It represents the entity and contains objects used in a
relational database.
ii.Oval or ellipse:It represents attributes of an entity .
iii.Diamond:It represents the relationship among entities.
iv.Line:It is used to link attributes to entity sets and entity sets to the
relationship and vice versa.

Decision Table
A decision table allows an analyst to identify the exact course of actions
for given conditions. Decision tables provide clear-cut decisions,leading
to a good program design.A decision table is a preset model of
logic.Decision table like if-then and switch-case statements,associate
conditions with actions to perform.
Decision Tree
A decision tree is another way of presenting a potentially confusing
situation in a clear,concise and unmistakable manner and it can be used
in decision making analysis. It helps a system analyst to study the
relationship between conditions and actions. It looks like a tree with
branches .
The following figures illustrate the decision tree for the discount policy for
the same above example:

Assignment:
1) CASE Tool
2) Unified Modeling Language
3) Use Case Diagram

Software Quality

Key Aspects of good software quality


1) Good design
2) Reliability
3) Durability
4) Consistency
5) Maintainability
6) Value for money
Software Development Model
Software Development Life Cycle(SDLC) is a systematic process of
developing any software system.It is a part of software
engineering.Institute of Electrical and Electronic Engineers(IEEE)
defines it as”the period that starts when the product is conceived and
ends when the software is no longer available for use.”

Some of the SDLC model are


1.Waterfall Model
2.Prototype Model
3.Spiral Model
4.Agile Development Approach
Waterfall Model
The waterfall model is a popular version of the SDLC model for software
engineering. It is often considered the classic approach to the SDLC.It
describes a development method that is linear and sequential. The
waterfall model has distinct soles for each phase of development.
Imagine a waterfall on the cliff of a steep mountain.

Once a phase of development is completed,the development proceeds


to the next phase and there is no turning back. It starts with identifying
the problem and ends up,in a hill structure,with a working and fully
implemented system. The waterfall model is considered the”parent”of
the whole SDLC model.

Advantages
1. It is simple model suitable for small size project
2. It is less expensive.
3. Each phase must be completed before the next phase of
development.
4. Documentation is done on each completion of phase.

Disadvantages
1) Inflexible
2) Error can be fixed only during the phase
3) Testing phase comes late in the development phase.

Prototyping Model

Prototyping is the construction of the ‘model of a system. It is a working


model or a reference model to show the functionality of the system to the
users. In the process of prototyping,a small prototype (model) is
designed so that it can experience the system and figure out the faults
and problems in the system.The system analyst looks upon the feedback
of the user and improves the model of the system until the user is
satisfied.Thus,this process is iterative in nature.

Advantage
Some of the advantages of the prototyping model are:
1. Users are actively involved in the development.
2.In this methodology a working model of the system is provided, thus
the users get a better understanding of the system being developed.
3.Errors can be detected much earlier as the system is made side by
side.
4.Quicker user feedback is available leading to better solutions of the
system.
5. Missing functionality can be identified easily.

Disadvantages
1. It leads to implementing and repairing ways of building systems.
2. this methodology may increase the complexity of the system as
the scope of the system may expand beyond original plans.
3. Incomplete problem analysis
Agile Development Approach
The meaning of Agile is swift or versatile."Agile process model" refers to
a software development approach based on iterative development. It
breaks tasks into smaller iterations, or parts do not directly involve long
term planning.
The division of the entire project into smaller parts helps to minimise the
project risk and to reduce the overall project delivery time requirements.

Following are the phases in the Agile model are as follows:


● Requirements gathering
● Design the requirements
● Construction/ iteration
● Testing/ Quality assurance
● Deployment
● Feedback
Advantages of Agile Methodology
1. Customer satisfaction is rapid, continuous development and
delivery of useful software.

2. Product is developed fast and frequently delivered (weeks rather


than months.)
3. A face-to-face conversation is the best form of communication.
4. It continuously gave attention to technical excellence and good
design.
5. Daily and close cooperation between business people and
developers.
6. Regular adaptation to changing circumstances.
7. Even late changes in requirements are welcomed.

8. Small project can be implemented very quickly.

9. Errors can be fixed during the middle of the project

Disadvantages of Agile methodology:

1. There is a lack of intensity on necessary designing and


documentation.
2. It requires an expert project member to take crucial decisions in
the meeting.
3. It takes more time and energy for everyone involved.
4. Cost of Agile development methodology is slightly more complex
as compared to other methods.
5. The project can quickly go off track if the project manager is not
clear about requirements and what outcome he/she wants.

You might also like