SYSTEM DEVELOPMENT LIFE CYCLE: FORM 3 [25/09/24]
-A system is a collection of components that work together towards a common goal.
For example, computer system include input, processing and output.
-The System Development Life Cycle (SDLC) was propounded by William Royce in
1970 and it is a systematic process used for developing, maintaining, and retiring
information systems.
Reasons for system analysis and design
-Improving old systems which developed problems
-Improving efficiency and effectiveness
-Structured Approach: SDLC provides a systematic framework for software
development, ensuring that all necessary phases are followed, which helps in
maintaining consistency and quality.
-Enhanced Planning: It facilitates thorough planning and estimation of resources,
time, and costs associated with the project, leading to better resource allocation
and budgeting.
-Risk Management: By breaking the project into manageable phases, SDLC helps
identify and mitigate risks early in the development process, reducing the likelihood
of costly failures.
-Clear Documentation: Each phase of the SDLC produces documentation that
serves as a reference for stakeholders, aiding in communication and clarity
throughout the project lifecycle.
-Quality Assurance: The SDLC includes rigorous testing stages that ensure the
software meets required standards and functions effectively, thereby enhancing
overall quality.
-User Involvement: It encourages user involvement and feedback at various
stages, ensuring that the final product aligns with user needs and expectations.
Changes to a system can also be triggered by many factors, some of which
are:
i. System users: they may be dissatisfied with the current system since they are the
ones who operate it. They will the sent requests to have a new system or some
modification to the existing one.
ii. Top management: they may issue directives in order to meet new organizational
objectives. It can also be due to change in management (new manager), new
requirements, etc.
iii. The need for improved operating efficiency: Errors in the existing systems may
be intolerable, especially to customers.
iv. Changes in technology: new hardware and software may force organisations to
change their ways of operation.
v. Change of government policies: new government laws and policies can force
organisations to change their systems
vi. The user can change his mind
SDLC Phases [PAD3IM)
NB: Begin with an end in mind
1. Planning: The initial/initiation phase where the problems are identified,
project goals are defined, determining the feasibility, defining the project scope,
and identifying resources. Source of the problem is the environment where clients
are. Tools for problem identification include observation and interviews.
Sub-activities:
1. Preliminary investigations/fact finding/data collection in order to identify the
problem– client identification and data collection using tools such as interviews,
questionnaires, observation, environmental scanning and background analysis.
Determine the gap between end user requirements and current situation. A gap
may result from environmental changes. After this initial analysis, three choices can
be made: develop a new system, improve current one, or leave system as it is.
2. Goal/Objectives setting, determine premises, identify alternative courses of
action, evaluate courses of actions and rank according to priorities, select best
alternative course of action, and adopt the plan (Planning cycle)
3. Feasibility (workability/viability) Study e.g using PESTLEG,
-Economic (Cost-Benefit analysis where costs include software development,
investigation, hardware, training etc) , ROI, risk assessment, determining the scope,
comparing the product with existing products/services, examining market
conditions, review competition. Human resources required e.g team and experts.
-Technological/Technical feasibility- analyses skills of the team, whether the chosen
technology chosen already has a large number of users who can be consulted.
-Operation feasibility-extent to which the system performs a series of production
steps to solve the business problem, whether it will operator after installation;
whether users will adapt to new system
-Legal feasibility- check for lack of conflicts with existing laws
-Social feasibility- e.g loss of jobs, resistance to change etc
-After carrying out the feasibility study, a feasibility study report must be produced
and it contains a brief description of the business, advantages and problems of the
existing system, objectives of the new system, evaluation of the alternative
solutions, development timetable, management summary and terms of reference.
H/Work: Define and discuss the data collection techniques namely
questionnaires, Interviews, Records Inspection and Observation
2. System Analysis
-System analysis can also be defined as a process of gathering and interpreting
facts, diagnosing problems and using facts to improve the system. Analysis
specifies what the system should do and design states how to achieve that.
-This is also an in-depth study of the system to determine how data flows within the
system.
-Involves examining and understanding the needs of the users and the
requirements of the system being developed. Users are at the center of analysis
whilst the system analyst only suggests possible alternative solutions with
justifications, without making decisions. Examples of alternatives include buying a
new system to replace old one, modifications etc.
-Alternatives are usually evaluated using an evaluation criteria to examine benefits
and drawbacks of each alternative using PESTLEG model.
-Developers may document properties of the system, putting the problem and its
solution structure in a simpler way to ease understanding by all stakeholders.
-A feasibility study may also be done again, assessing the user requirements versus
how the system will likely operate.
Systems Modeling: Analysts create models (like data flow diagrams, entity-
relationship diagrams, and use case diagrams) that represent the system’s
functionality, data requirements, and interactions. This visual representation helps
stakeholders understand how the system will operate and how data will flow.
Requirements Specification: The gathered information is documented in a formal
requirements specification document. This document outlines functional and non-
functional requirements, detailing what the system should do and the requirements
for performance, security, and usability.
Validation: Once the requirements are specified, they must be validated with users
and stakeholders to ensure accuracy and completeness. This step often includes
review sessions or workshops to confirm that the documented requirements align
with user expectations.
Prioritization: Not all requirements are equally important. During analysis,
requirements are often prioritized based on factors such as stakeholder importance,
technical feasibility, and potential impact on the business.
Change Management: As the analysis progresses, changes to the requirements
may be proposed. It’s essential to have a change management process in place to
handle any modifications while considering their implications on time and
resources.
Documentation: All findings, models, and requirements must be formally
documented for future reference during the design and development stages. Clear
and thorough documentation aids communication among stakeholders and serves
as a guide for developers.
Tools
1. Data Flow Diagrams/modeling (DFDs)- system graphical/visual
representation easy for users to understand, thus, use few constructs and
rules e.g data input, processing, storage and output.
-Visualizing each element makes it easy to identify inefficiencies.
-Choose between physical and logical DFD. Logical DFD focus on what
happens in a particular information flow; what information is being
transmitted, what entities are receiving that information and what general
processes occur. E.g business activities. It does not go into technical aspects
so easy to understand for non-technical personnel.
-Physical DFD focus on how things happen in an information flow. They
specify software, hardware, files, people involved, etc. It facilitates
development of a code (program instructions) needed to implement a data
system.
NB: You should know how to draw these flow diagrams using
standard symbols and rules
2. Activity diagrams- They consist of activities, states and transitions
between activities and states. They describe how activities are
coordinated to provide service, the events needed to achieve some
operation, how the events in a single case relate to one another, how a
collection of use cases coordinate to create a work flow for an organization.
-Some basic components of an activity diagram include action, decision node,
control flows, start node and end node.
H/Work:
1. Discuss the Data flow chart and Activity Diagrams
2. Distinguish between these two system analysis tools.
3. System Design/Blue Print of the plan
-Now that we have user requirements (desired system specifications), defined the
elements of the system, components, security level, modules, architecture,
interfaces and type of data that goes through the system, it is usually necessary to
design files, forms (input), Reports (output), validation methods.
-A general system design can first be done using pen and paper before expanding
physically. This stage involves several documentations such as diagrams, for
example, flow charts, decision tables and pseudocode.
Design stage involves:
-Input Design: includes designing of data entry forms, input methods (e.g. by filling
forms, use of barcodes, etc) and the user interface.
-Output Design: Includes design of reports, data output formats, screen displays and
other printed documents like receipts, etc.
-File design: Involves designing tables/files, records and validation rules. It also
involves determining how data is to be stored and accessed, the media to be used
for storage and the mode of file organisation. Fields in each files can be designed,
their length and data type.
-Program Design: Involves design of systems flowcharts, structure diagrams,
dataflow diagrams, algorithms, etc. Selection of appropriate hardware: Specify the
input hardware, output hardware, processing hardware and speed, storage media,
RAM size, etc.
-Selection of appropriate software: specifying the type of operating system,
programming language or database package and other application packages to be
used.
-Design of test plan and strategy, Design of the user manual, Design of the
technical documentation.
In general, design stage involves the following:
design the data capture forms/input forms
design the screen layouts
design output forms and reports
produce systems flowcharts and/or pseudocode
select/design any validation rules that need to be used
design a testing strategy/plan
file structures/tables need to be designed/agreed
select/design the hardware requirements for the new system
select/design the software requirements
produce any algorithms or program flowcharts
select the most appropriate data verification method(s)
interface design(Command-line, GUI, form-based, menu-driven, etc
NB: After the analysis and design, solution alternatives may be re-evaluated and
the mostly suitable one selected for implementation.
4. System Development, Testing and Integration
-The purpose of testing is to evaluate the system’s compliance with the specified
requirements.
-System testing is usually performed after integration testing and before
acceptance testing and is performed by independent testers such as real users to
ensure that actual outcomes are compared and equal to the predicted and desired
outcomes.
-The computer environment is prepared, the programs to be written are done and
they are tested to determine if the run as expected. Computer environment being
prepared: electrical wires, network cables are installed, furniture, air conditioning
are in place. The computers are installed and tested.
-It also involves the construction and assembling of the technical components that
are needed for the new system to operate. This includes preparation of the
computer room environment, coding of the computer program using a specific
programming language, testing of the coded program,
Testing strategies
-standard (normal) data testing: testing of data within the given range (should
be accepted)
-abnormal data testing: testing of data outside the given range (should be
rejected). It gives an error message when entered into the computer system.
-extreme (boundary) data testing: testing of the minimum and maximum values
in the given range (should be accepted)
5. Documentation and User Training
-Documentation refers to the careful and disciplined recording of information on the development,
operation and maintenance of a system. Documentation is in two main types: user documentation and
technical documentation
-The actual code is written, hardware configurations done in user’s premises.
-Training may be required for end users for familiarization with system.
(a) User Documentation:
-It is a manual that guides system users on how to load, operate, navigate and exit
a program (system).
User documentation contains the following:
System/program name.
Storage location.
System password.
Instruction on how to install the program.
Instruction on how to operate the system: e.g.
How to quit the program
how to load/run the software
how to save files
how to do print outs
how to sort data
how to do a search
how to add, delete or amend records
print layouts (output)
screen layouts (input)
the purpose of the system/program/software package
error handling/meaning of errors
troubleshooting guide/help lines/FAQs
how to log in/log out
(b) Technical Documentation:
This is a manual for programmers which aid them in modifying the system and in
correcting program errors. The following are found in technical documentation:
Algorithms of the program,
Program testing procedures and test data,
Sample of expected system results,
Program structure showing modules and their relationships,
System flowcharts,
Programming language used,
Program code,
program listings,
File structures.
Validation rules
Output formats
Bugs in the system
Hardware requirements
Software requirements
User Training:
-Once a new system is put in place, existing employees are trained on how to operate the new system,
otherwise new employees are recruited. Users are trained on how to enter data, search records, edit
fields, produce reports, handling errors, etc.
H/Work: Discuss forms of training.
6. Implementation and Deployment
This also involves putting the new computer system into operation that is, changing from the old system
to the new one. It involves file conversion, which is the changing of old data files into the current
format. Different changeover methods can be used, and these include:
a. Parallel Run: This involves using of both the old and new system concurrently until the new
system proves to be efficient. It involves operating the new and old systems simultaneously until
management is confident that the new system will perform satisfactorily. Other workers will be
using the old system while others use the old system but doing the same type of job.
Advantages of parallel run
Results for both systems are compared for accuracy and consistency.
If the new system develops problems, it will be easier to revert to the old one.
There is enough time given to determine if the new system produces expected results.
Employees have enough time to familiarize with the new system.
Disadvantages of Parallel run
Running two systems at the same time is very expensive.
Running two systems simultaneously is demanding to employees.
It may be difficult to reach a decision when comparing the two systems.
There is duplication of tasks which in turn stresses employees
7
ASSIGNMENT