Professional Documents
Culture Documents
SDLC
SDLC
Life Cycle
Hansika Mannapperuma
0768961322
B.Sc. IT
What is a system?
A system is a collection of elements or components that are organized for a common
purpose.
Ex- solar system, systems in the human body
Every system has an Input, Process and Output.
Open and closed system
Phases of SDLC
Developing a software is a complex task.
Sometimes can’t predict the duration and cost. Sometimes Software projects can be uncertain.
Problem definition
Feasibility study
Requirement analysis
Design
Software development
Testing
Implementation
Maintenance
Problem Definition
System study is the first stage of system development life cycle.
This gives a clear picture of what actually the physical system is.
This stage is not detailed study but identify the need of developing the new system or
modify the existing system.
Identify the problems in the current system.
Suggesting alternate solutions.
Identify the cost and benefits for each alternative solution.
Feasibility study
Check whether feasible to do this system.
The cost and the benefit of alternative solutions are considered in the feasibility study.
Top management of the client side and software development company involved for feasibility
study.
After a feasibility study management make a go/no go decision.
Economic Feasibility
Analysis of a project cost and revenues (benefits) in an effort to determine whether or not It
is logical and possible to complete. It includes identification of all the benefits expected for
each alternative solution (cost/benefits analysis). Sometimes companies hire an external
company that specializes in conducting economic feasibility studies for them.
Different types of benefits should be considered (tangible and intangible). Examples: cost
reductions, error reductions, increased throughput, increase flexibility operation, improved
operation, with a more accurate and more timely information. Different types of costs:
software used(buy or build)?
Hardware(what to buy, buy/lease)? Facilities(site,communications,power)? Installation and
conversion cost: installing the system, training of personnel, operational cost(ongoing),
Technical Feasibility
Determines whether the relevant technology is stable and established.
Check whether it is possible to use used hardware software and other technologies.
Are the prepared technologies practical?
Do we have necessary technical experts?
Do we have the skills required to properly apply that technology?
Time Feasibility
The time duration to complete the project is considered.
Are the project deadlines reasonable? Measures the reasonable project time table.
Are the deadlines mandatory or desirable? Scope can change the time(longer). Duration
is too much long as well as too short is not good.
Operational Feasibility
People oriented and social issues are considered.
Internal issues, such as manpower problems, labour objections, manager assistant.
Organizational conflict and policies: also external issues, including social acceptability,
legal aspects and government regulations.
Make maximum use of available human resources.
How will the working environment of the end users change?
The computer knowledge of a users, attitude of the employees, how use system affect to
the business and number of employees also can be considered.
Requirement Analysis
There are two types of requirements:
1. Functional requirements
2. Non functional requirements
A functional requirement describes what a software system should do, while non functional
requirements place constraint (limitations) on how the system will do so.
An example of a functional requirement of an office automation system would be that a system
must send an SMS whenever a certain condition is met, non functional requirements for the
system may be that SMS should be sent to the latency of no greater than 1 minute.
Requirement gathering techniques
ID Functional requirements
1 Shall be able to prepare character certificate.
2 Shall be able to prepare leaving certificate.
3 Shall be able to keep attendance information.
4 Shall be able to browse student details.
No many details
External entities
Data flow between entities and processes
Authentication details
Upload answerscript
Download answerscript
Student Download assignment NetAssign Examiner
upload assignment
grade marks
Authentication details Authentication details
DFD (Level 1)
Deeper than the context diagram. Sub processes in details.
DFD symbols
Database
(could me manual(M) or Digital(D) or temporary(T))
A well written code reduces the testing and maintenance effort and improve the efficiency.
The output of the test run should be matched the expected results, any undesirable happening must
be noted and debugged(error corrections).
Test cases
Most suitable data and expected result to test a system is test cases, which are design at designing
stage.
System testing methods
white box testing
unit testing
integrated testing
system testing
acceptance testing
White box testing
Check the internal code of the module.
Check the dataflow inside the module, identify the inefficient code if any.
Insert Input and see if the output has expected results. If expected answer is not coming, the
tester reports the errors.
Unit testing
Test the each module(component) individually with the prepare test data for that component with
expected results.
Test the logic inside the component.
This testing can be done as white box testing or black box testing.
Integrated testing
Tested module is combined with other components based on the relationships of individual
components.
Check the relationship between modules.
System testing
System test at this stage the test is done the whole system as a single component.
A complete system is executed on the actual data for each possible situation sometimes can be
done by an independent group.
Acceptance testing
User acceptance test
Check whether the user can accept the system. User may reject the system.
At each stage of the execution, the resource output of the system is analysed. During the result
analysis, it may be found that the output do not match the expected output of the system. In such
cases, the errors in the particular program identified and fixed and further tested for expected
output.
Implementation
After having the user acceptance of the new system developed, implementation phase begins.
Implementation is the stage of a project during which theory is turn into practice. During this
phase, all the programs of the system are loaded onto the users computer.
After loading the system, training of the users starts.
After the users are trained about the computerized system, existing system has to shift to the new
system. The following strategies followed for running the system:
Direct implementation
Parallel implementation
Phased implementation
Pilot implementation
Direct implementation
With this implementation users stop using existing system and start using the new computer
system from a given date.
The advantage of this method is that it is less costly in effort and easy to manage users than any
other method of implementation.
The disadvantage of this method is that if problems occur the users do not have any way to
returning to the previous system which has not been continued.
Parallel implementation
The new system is introduced alongside the existing system.
Both systems(manual and computer, or old computer and new computer system) will be in
operation at the same time.
This is helpful because of the following:
Old results can be compared with the results of the new system.
Failure of the new system at the early stage, does not affect the working of the organization,
because existing system continues to work, as it is used to do.
However, it has a major disadvantage that its job is done twice and therefore it means a lot of extra
work for the users. Management is difficult and cost is high in this type of implementation
Phase implementation
The system is implemented phase by phase(the new system is installed in parts).
One component is implemented first and the others are implemented if it is successful.
Pilot implementation
In this type of implementation used for large systems which was spread over different areas of
the country, the new system is installed in parts of whole system in particular area for testing
purpose but in the actual environment for a considerable time .
When the results are found satisfactory then only the other parts are implemented or installed in
another area.
This strategy built the confidence and the errors are traced easily.
Review ,Support and Maintenance
Maintenance is necessary to eliminate errors in the the system during its working life and to
tune the system to any variations in its working environments. It must meet the scope of any
future enhancement, future functionality and any other added functional features to cope up with
the latest future needs.
Maintenance page involves making changes to hardware, software, documentation to support its
operational effectiveness. It includes making changes to improve system performance, correct
problems, enhance security, address user requirements(minor changes)
It has been seen that there are always some errors found in the system that must be noted and
corrected. It also means the review of the system from time to time.
Major modifications involve significant changes to our systems functionality. Management should
implement major modifications using a well-structured process, such as an SDLC methodology.
What is the requirement of the maintenance stage?
Future enhancements
Minor changes
THANK YOU