Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 26

System Development

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.

 Feasibility study is based on the initial study

 The cost and the benefit of alternative solutions are considered in the feasibility study.

 The current system also consider as an alternative solution.

 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

1) Discussions- individual or group discussions.


2) Interviews- face to face meeting of system uses and other related people (formal discussion)
3) Questionnaires
4) Documents
5) Observation- visit the site and observe what happens in the existing system
6)Prototyping
Study details of the current system. Identify the functions to be performed by the new system.
During the analysis data collected from various sources.
Functional requirements
 What the system should do or provide for users.
 The functional requirements of a student information system in a school.

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.

6 Shall be able to keep sports details.


7 Shall be able to keep students bank details.
Non functional requirements
 Non functional requirements explain how will or to have what standard a function should be
provided. Non functional requirements of student information system.
ID Non Functional requirements
1 Should be able to provide a friendly GUI.
2 Should be able to make use of existing Software and
Hardware.
3 Should be able to run on Windows 7 or later operating
system.
4 Should be able to provide security for online
transactions.
5 A printout should start the printing within 5 seconds

 Typically non-functional requirements for fall into areas such as:

Accessibility, compliance, documentation,


efficiency, effectiveness, extensibility,
maintainability, privacy, portability, quality,
reliability, response time, security, supportability.
Analytical Tools
 Context diagrams
 Data flow diagrams
 Use case diagrams
 Activity diagrams
 Elementary process diagrams
Context diagram (Level 0 DFD)
 System overview.

 Identifying external entities

 What data is communicated

 Scope of the system

 Normally anyone can understand

 No many details

Context diagram symbols

External entities
Data flow between entities and processes

Process Data flow among external entities


(only in context diagram)
2016 A/L question as example

Authentication details Authentication details


NUICT

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

Process (index, place/person)

Database
(could me manual(M) or Digital(D) or temporary(T))

DFD rules and tips


• Each process should have at least one input and an output.
• Each data store should have at least one data flow in and one data flow out.
• Data stored in a system must go through a process.
DFD Example
System designing
 Based on the user requirements the new system must be designed at the phase of system
designing.
 All the designs should be well documented.
 There are several Tools and techniques used for designing. These Tools and techniques are:

flowchart and pseudocodes(algorithm)


data flow diagram(DFD)
ER diagrams
data dictionary
structured English
decision table
 design focus on user interfaces, security plan, unit and integration test plan, implementation
plan, operations or System administration manual, training and plan user manual
 it is a most crucial phase in the development of a system.
 Input, output and processing specifications must be well documented.
 The programming language and Hardware/software platform in which the new system will
run also confirmed.
 The workload, limitation of the system, taking backups and requirements are decided at the
System Development
 After designing the new system the whole system is required to be converted into computer
understanding language.
 This is also called the programming phase in which programmer convert the program
specifications into computer instructions which we refer as program.
 It is generally felt that programs must be modular in nature. This helps in fast development,
maintenance and future changes, if required.
 User interfaces, reports and databases are developed in this stage.

 A well written code reduces the testing and maintenance effort and improve the efficiency.

 Inserting proper comments also very important.


Testing
 Before actually implementing the new system into operations, test runs of the system is done
removing all the bugs, if any.
 After code the whole program of the system, the test plan should be run on a given set of test data.

 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

 black box testing

 unit testing

 integrated testing

 system testing

 acceptance testing
White box testing
 Check the internal code of the module.

 Programming knowledge is essential for white box testing.

 Check the dataflow inside the module, identify the inefficient code if any.

Black box testing/ input and output testing


 The system module considered as a closed system(the code cannot be seen). No need to have an
idea about inside(code) the module.
 Programming/ coding knowledge is not much required for black box testing.

 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.

 Mostly use black box testing.

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.

Main topics of such type of training are:


 How to execute the package

 How to enter the data

 How to process the data(processing details)

 How to take out the reports/ output.

 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.

 It is not possible to apply for all the systems.

 Applied for large systems.

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?

 Correct the identified errors

 Future enhancements

 Improve the security and performance

 Minor changes
THANK YOU

You might also like