Chapter 4 Systems Development
Chapter 4 Systems Development
SYSTEMS DEVELOPMENT
Chapter objectives
The learner must be able to:
. Identifr opportunity for software development
. Outline fact finding techniques
. Apply SDLC stages in software development
. Produce documentation for each stage
. Create user and technical documentations
System
This refers to a group of elements working together to achieve a common goal. A system is viewed as
an orderly grouping of interdependent components linked together according to a plan to achieve a
specific goal. An organization like a school can be taken as a system as it have different elements that
work together for a common goal, e,g. teachers, parents, banks, sPonsors, etc.
Howeve! this chapter is concerned with the development of software that is used in organisations
for their day to day operations. The software can be viewed as a system as it has various components
that are well coordinated to meet the organisation's objectives and goals. The components of a system
include:
. Input
. Output
. Storage
. processing
. Feedback
. Environment
. Boundary
Task
Explaia any 5 elements of a system.
r45
. determines the human and computer procedures
that will make up the system.
. participates in the process of system implementation.
. evaluates a newly developed system against
laid down specifications
.'
must be well educated, with at reasr a degree in
the area of system a*igr?J"".iy.i,
must be well experienced in computers iith top
managerial skills.
IM
Preliminary stage
r47
Feasibility Study
It refers to a short studv to.determine whether
or not the proposed system is technically
feasible, financially wortiwhile a.,d ethicrlly;usiin"a
i" i.*"p.
Feasibility study means considering the problem
;";;1. point of computerisation and
to the organisation saying wheth.. o..,o,
;:U::ffi;:"" solution is possible
".o-puterised
It is conducted to estimate the expenditure of resources
on each of the proposed candidatc
systems and its potential benefits.
The system to be implemented is selected
from the alternatives by assessing its effectiveness
me€ting the obiectives within the specified constraints, i.
that is, financiar, manp61,,,9r, gquipmcd
Social feasibility: Will the ,y:,.^ab: acceptable by the local people, considering
values and norms in their society? This also
iooks aiffiii like loss ofjobs,
Legal feasibility: determines. whether the new
system will not be against rhc
requirements ofthe state, constitution, parliamentarybyJaw,
council rules, etc, for ion
laws outlined in the Data protection Act.
148
*operationalfeasibility:determineswhetherthecurrentworkpracticesandprocedurts
of those afiectedbvthe svscm
are adequate to s;;';1il;;il.;.'.'fi*i;"; '".iallives
*Politicalfeasibility:Newsystemsshouldnotbeagainstthepoliticsoftheday,otherwise
how good they are'
they would be rejected no matter
out a feasibility study:
be considered when carrying
The following questions can
"'
: isthe-solutiontechnically.possible?, -r.--^2
. is the solution economically possible to producer
. is the solution economic to run?
: will the solutlon be socially acceptable? feasible
. is skilled worKorce available? tf not' are training requirements
. how will the system affect employees?
. will Profits increase?
. ft"*i"tg *ll it take to produce the system?
information:
study rePort is then produced and it contains the following
A feasibility
system'
A brief description of the existing
edsting system'
.Adr'"rrt"g.s u"d problems of the
. Obiectives of the new sYstem'
. Evaluation ofthe alternative solutions'
. DeveloPmenttimetable'
. Management summary
. Terms of reference'
* Objectives of new sYstem
*
Boundaries
*
constraints
. pr"p"*a solution, its advantages and disadvantag'es
attira6le features ofthe proposed
system
. criteria, that o' t*t;i;i;;;;i"-tnt'
""a mov"s to the next stage which
is a full
ihen the ,y"t". "'"ti,i
If the feasibility study is accePted
analysis of the sYstem'
Data collection
' Data collection is the systematic approach to gathering data and/or information
t"-
to establish the problems ur.oiu,.J,'iit
i
about
;:ff*tJ. -i "rr--"i. ,y-p,ifi, "r
. The systems analyst collects
. data about the system.
that can be used inctude interviews,
;fi:T;TffHffi,ls:ds record inspection,
Interview
communication berween two or
ff;:r,.".jr[j::T";face more people in order to obtain
sa'.6 vid"o.onfer"r,"irrg;;,
using v!\rsuLulrerenclng but the most il;;;
ones are done face
fa cc ta
to face. r-.]i:,:l_:1ht,phone.or
raro Intc :rviews are done when you c(
small population sample. want to collect inf|rmauo;;;;;
"
Advantages of Interviews
' information about a system since
information is given by the
:ff:ttl::|engathering
. The researcher can ask for clarification on some
points that may not be clear.
:' 3::::::i: ::*-:lr':b:y*,r,"
Non-verbal gestures
.","",.r,.iJ,,air,. .",po,,a.,,,.
rike facial expressions can;;tfi;;...#'elttltdetermine
-- --' "!'r !'!
not the respondent is telling the J
whether
tiuth.
' can be collectJd even from the
illiterate since the respondent,s ranguage catt
Ilrrr:"o*
. First-hand information is collected.
. The researcher can probe to get
more information.
Disadvantages of Interviews
. It is expensive since the researcher has to travel
. Difficult to remain anonymous to the interview venue.
r50
carrying out the intervid!
. It is time consuming as more time is sPent ravelling and
.Goodinterviewttthtiq;;;;;;equiredatfailuremavleadtodisappointments
to lie if facing the interviewer
. Biased information t""til;"i;;;t "' '"'ponatnt teid
a":*tl"i"?;;ent answered by the respondent
by filling on
with carefully crafted questions to be
information from a widely spaced population sample
:*:T:fil5'"::""Tff*n., ""u.ctins
#ililIi;;nj info'-ution from manv people'
questiont
i'q""rii""""it" "oit"i"' open-ended and closed*rtlrt r. ,h"
*quire the respondent h' or
,.roondent to express his
open-ended qu"r.,o"' u" g"Pi[ii"g";tltio*
the resPondent just chooses Yes
or No' True or
guided questions where
:i:r".:".X"T"ts are
options'
r"io "iUt i." putting a tick on given .
post
6;;#i;.t i"n btiitttibuttd personallv or bv
of questionnaire
' .-. efective
Advantages
ivhen collecting a lot of data
. Questions are very simole to answer'Ut aitttiU"tts and then collected later'
saves time u' q"t'tlol'"iit' "*
. It'n*p"ta.*s own pace'
. can fill questionnaires at their to give accurate
,ftereby encouraging respondents
. Give guarant.., "onnol'nui"iirf.r*",1*,
information'
canbe.low
. Thev are cheap to use as travel expensep.'ioa
: ilffi;il;";1' t;t
f*;l6ng of time for future reference
Disadvantages of record
inspection
. It is time consumins I
. M;il;il.;#;1,tu," r",nrough ail system records.
. conndentiar m;:;;i'iff#,:;::::tl"H:.'ome orthe data mav be negibre.
. Documents mav be diftcilt-f..;;;;;;;i,na..r,"na
. Some records may not be
relevant
Dataflow Diagrams
. fr:r: are diagrams that show how
data moves betv
-' vi'een external sources' through processct
!
storei ofa particular systern
. Aitgdata
9t,:flow
diagram (DFD) oniy sho*s
how data morves through an
does not show information system brtr
irogril rogi. o, p.o.essins stens
: ij,1'"t_tj3r.,n:]|;;;;;ffi",
**T1r,5,.,,
,'r,", the sysrem does, not how
it does it
t52
Symbol Explanation
Design Stage
The_iterative process of taking a logical model ofa system together with a stlongly stated
set
of objectives for that system and producing specification ofa physical system tiai will meet
those objectives.
This stage focuses on developing a plan for the new computer-based solution as specified
by
the analysis stage.
System design describes in detail the necessary specifications, features and operations
that will
satisry theirnctional requirements ofthe proposed system which will be in place.
Functional diagrams are translated into hierarchical diagrams by the analyst so as to identifi
the programs needed and how they relate to one anothe;. The analyst deciies on the program
structure, program interface and the hierarchy in which programs will be arranged.
The Analyst ensures quality designs, incorporates security miasures, designs eas'y to
use input
forms and output report interfaces. The Database designer fulfius the fil-e requirements. The
output is a design specification.
Tools used are the Data Flow Diagrams (DFD), Data Dictionary, Data models, prototypes and
system flowcharts: The personnel involved are the users, analysts and the database designer.
153
Fle Stnrcture:
Field name Data type Lenglh Example
FirstName Text 15 Loice
Sex Text 1 F
DOB Date/Time 6 02115184
Hostel Text l5 Nyakasikana
Prototyping
. This involves building a working but limited model of a new system that will betested, evaluated
and improved if necessary before buil&ng the actual system.
. It involves construction of a.simple version ofa program which is used as part ofthe design to
demonstrate how the system will work.
. It is a mock-up ofparts ofthe system for early evaluation
. The prototype will have a working interface but may not actually Process data
. Special software will be used to design input screens and to run the system.
. The prototype can then be discarded and the real system designed using other or the same
software (throw away prototype).
. Prototyping can be used at any stage of the SDLC. The prototype can be further refined until
the user is satisfied with it and then it is implemented as it is (Evolutionary prototype).
Benefits of prototypes
. cheaper to setup than alternative methods that could be used to predict what will happen in a
system
. faster to design a system model
. Gives user the chance to experience the look and feel ofthe input process and make sugges-
tions where necessary.
. System is more likely to have fewer or no errors
. More acceptable to users ofthe system since they are also involved in.the design
r54
Disadvantages of PrototYPing
---. - p-tofupes cln be very to design
"xoensive is thrown away
. takes too long to frnistr iyl"- at'ig"' esiecially if the PrototyPe
In summary the design stage involves:.. . .
. of the data capture forms/input lorms
designing
. desisnine ofthe screen laYouts
. desilnini of outPut forms and reports
. ,tstems flowcharts and/or pseudocodes
"r.fo.i""* any validation rules that need to be used
: ilil;slgi
. r.f ..t.nla]"signing ofa testing
strategyiPlan
. file structures/tables need to be designed/agreea. . the new system
for
. ,.L.u"tla"signing ofthe hardwareiequirements
. selection/designingofthe softwarerequirements
. pt"i"."g *ialgJrithms or program flowcharts ,
. verification method(s)
selecting the most aPPropriate dalta
1'l;;;J-line' GUI' form-based' menu-driven)
. interface a*ig",'t'"t
. should consider the following;
When designing interface' the analyst
* who will be using the sYstem?
* what knowledge do theY have?
* how much on-line helP is required?
* what type of information needs
to be shown I
* how mrich information is needed?
* what is the best w"y of slowlng the
information needed
t what colours should / should not be
used?
* what other form of ouput is sensible
* what technologY is available
* costs of designing as well as maintainability
. Producing the data dictionarY
Datadictionaryisatablethatstoresdataaboutdata(metadata),thatis,detailsofdataused'includ.
following
"-;--N"-;of
ine the
-" data item (fields or variables)
* Data tYPe
* Lengh
* Validation criteria
* Amount of storage required for each
item
* Who owns the data
* Who accesses the data
* Programs which uses the data
,
system development :- --^----r rh. nroqrams are written and they are tested' user
r
.ThecomputereN,rronmentisprepared,theprogramsarewrittenandtheyl
documentation t'"i"ing t"nuals are developed' are installed' furniture' air
. "nJ
tt""";;;;;;"p;;: electrical wires' network cables
ComPuter
conditioning are in Place'
ls5
The computers are installed
and tested.
Programs are written per design
specifications.
155
White-box testing: Each path through the program is tested to ensure that aII lines of code
work perfectly. It involves testing the program to determine whether or not all possible paths
through the program produce desired results. Mostly appropriate if the program has different
routes in/through it, i.e. uses selection control structure and loops. Involves testing oflogical
paths through the code through. Involves testing ofthe structure and logic ofthe program (if
it has logical errors)
Alpha testing
* the first testing is done within the developers' company (at owners' laboratory).
* Testing is done by members of the software company
* Some errors may still be in existence after alpha testing as the testers are programmers not i
users.
* The software version will be unfinished
* Testers have knowledge ofthe software and of programming
. Unit testing: the process of testing each program unit (sub-routine/module in a suite) singly
to determine if it produces expected results.
. Integration Testing: testing to see if modules can combine with each other and work as ex-
pected. The whole program is tested to determine ifits module integrates perfectly
. Beta testing: System testing done after alpha testing; in which the program version is released
to a number of privileged customers in exchange of their constructive comments. Mostly sim-
ilar to the finally released version.
. User acceptance testing: determining ifusers of the new system are prepared to use it. It en-
ables identification of some bugs, related to usability. The user gains the confidence that the
program being ushered meets their requirements
Implementation Stage
. Once the system has been tested and no errors are found (and corrected ifany), the system
begins to be used. The system is put into practice.
. The implementation stage has 3 main phases which will take place
* Training the workforce on how to use the new system
Transfer offiles to the new system. This can be done through scanning the documents,
entering data through the keyboard or downloading files into the new system
Changeover to the new system. There are four methods of changing from the old system
to the new system and these are direct (big bang), parallel, phased and pilot changeover
methods.
Changeover Methods
t57
Direct / Abrupt Changeover
' with this method, the old system is stopped immediatery once
operation. rhe method is cheaper to the new system is put into
parallel method, but the, method
implrment sin.. ;;t ;r;;; i, .i.J.iJp*., ,n.
has the probierntiat if the system
since the old system will be dismantled. fails no work is to be done"
Pilot Changeover
' The new system is impremented initiany
onry in a certain part of the company
such as one
department at a serecied uruo.t o, on.'r"l.ili
ur"r.r, of the organistiorr,lu.i a method
*
of testing. If testing fairs. in this branch,
the syste,li, aropp.a compretery but
succeeds, the system will be implemented if the pilot tesr
in otlr.rl.an.t.s or departments.
';1"#:ffi::il'J*:.',il::i::::*'"'"f
"'u'J*b'""'h;;l;;;;;anisationchanges
' The department using:T ,y".T will discover any probrems
with the use of the ner./ system
and assessing its performance. If any problem.,
department across the organisatior,
,i"i, be corrected before all the chosen
aonu.rt. to ih. ,r'"rtr"iff
,y*._.
. The advantages ofthis method are
that
* If there is a fault in the new system, it
wourd affect the organisation onry in
area ofdata processing, s1y, one department a relativery smal
* It allows the analyst to test how the system "t "
gi*r, br"rr"h ofthe organisation.
wouldlerform with a smaller amount of
' The disadvantage of this method is
*i it i, ,"i'iJssibre to check how the system wo'ld
data.
perform with a large amount of data,
organisation level.
which is the;"J:";;;;r;';iJJ.illir',.. *.
",
' when the performance is good the system
is impremented across the organisation.
Phased Change
'
Phased conversion is wrren the ord
system is gradualry.repraced, in stages,
by the new systern
As the new systern gradually moves
in, the oli sfiiem is gradually moved
out.
' Part ofthe system is introducedand
ifthe system'.."-, to wo.k..lr, the next part
is introduced
until.the whole system is inrrodu."a to
tfr. org*L;iior,.
. This is used when the system has ,.u.rl
am"i*tToaU.r.
' The organisation will convert to
one ofthe new modules while the rest
ofthe organisation uses
the edsting system.
' This_type of conversion means that
training can be concentrated on one new
module at a
r58
. Note that if phased conversion is used, it is vital that the new system and the old system can
share data.
Maintenance
Maintenance is the process of making improvements to (or modifying) a system that is in use.
Maintenance is needed because:
Bugs are discovered in the software code - these bugs will have been identified only after the
system is in fi.rll use. They will be fixed and a 'patch will be issued that changes the appropriate
lines of code within the end-users' programs.
The user requirements may change - this often happens after a system has been in operation
for some time and the users see further uses ofthe data that the system produces.
In some cases, the additional requirements may have been identified during the original
development, but they were not implemented because the system's life-cycle approach to
projects does not allow a change in requirements once they have been agreed (such a change
would extend development time and cause a proiect to miss its deadline).
Some in-built parameters change - for example, VAT rate
Hardware is changed/updated - the system will be updated to ta]<e advantage of new hardware
developments. This could be a new input device, output device or even communications device
now available on the market or the company changes in any way which requires new devices
to be addediupdated
. The performance needs tuning - often some of the original code, although working without
error, uses some quite cumbersome routines that are slow to execute. System performance can
often be improved by finding more eftcient algorithms for such routines.
. Operating system is upgraded - the system will be modified to take advantage ofthe additional
capabilities of the operating system.
. Software is changed - updating software ifnecessary, usually done when the company structure
changes or new legislation is introduced which affects how the company operates
During maintenance, the programmers will be looking after the new system and there are three types
of maintenance namely:
t59
Perfective Maintenance
' This kind of maintenance is performed to improve the performance of the svstem.
'
Is done when the system is running perfe.try
urt trt"r" ir ;#J;;;#r,.
' Perfective maintenance is when inteinar .ouiin", are
changed to make them more efficient, so
that the application operates faster.
' In the initial release ofthe software some of the processes, arthough error-free, may have used
long and slow routines.
' Perfective maintenance wi make improvements
in the way that the softwaie performs by
tidying up some ofthe internal routines.
. Changes to the interface may also be made.
Adaptive maintenance
' This kind of maintenance is performed to make changes in the system
because ofthe changes
that have taken prace in. the way that the organization
works (for example due to the changes
in tax rates, due to the changes in law etc.)
. Done when the environment ch31ges, e.g. change
in tax policies, business grows bigger, e.t.c
' Adaptive maintenance is the addiiion oI new fiatures
to a program becaruse of a change in
users' requirements.
' The new version oftbe program may contain
an added (or modifed) feature or it may contain
a change in the interface.
. Adaptive maintenance could be needed because of:
* a change in the organisation/users'
requirements;
* a change in the law;
* a change in processes such as the
method of tax calculation;
* to take account ofnew technologies.
Corrective Maintenance
'
This kind of maintenance is performed to correct
bugs found in the system after the system
has been commissioned.
. Done when errors are discovered in the system
and they need to be corrected.
.'
This also includes the removal of some ofthe known
Software that has been released to the public
bugs in uprog*--.--'
will still coitan bugJ
' Some of.these bugs will be previously unknown
to the developeri while others will be known
to exist, but solutions will not yet have been discovered.
' The software wi be rereased with these'known bugs'because ofthe
necessity to meet pre-
set target dates and the need to gain some income
developers.
fiom tt . ,oR*" ;;;;ffi. to pay the
' Eventually some of the bugs will be fixed and the solutions
will need to be incorporated into
the public's version of the programs.
' This gpe of maintenanc-e is often done by releasing
a patch which is a very small program that
actually changes lines of code within the main
orJoo_.
' These Patches are available from Internet sites
or flom the cD-RoMs that are provided with
computer magazines.
Evaluation
This is done to find out if there are any problems
with the new system and or any improvements which
150
can be done. Evaluation is done at regular intervals while the system is running or being used. The
system is assessed on its
a. Usability
b. Maintainability
c. Effectiveness
DOCUMENTATION
This is not a stand-alone stage in the system development life cycle.
This is an ongoing starting from the first stage until the last stage because there is need to
keep records of everphing done to help with maintenance at a later stage.
There are two types of documentation and these are:
User Documentation
This is document provided for the user and contains instructions on how to run/start the
program, enter data, to exit the program, samples of input data and output results, what
problems to expect, how to handle them. {We all have seen or used the manuals found most in
new purchased gadgets)
This document usually contains instructions on how to:
l6l
* sample runs (with results
* error iandling/meanrng
and actual test data
used)
ol errors
rroubteshootins euide/help
* how to log inllJg out
lines/FAes
Technical Documentation
. for the.prograrnmers
:T:-11.1 with instrucrions on hor
rlowcharts/pseudo co-des/, to debug errors and will
---' p-*."-
program ir.,,"""'"::"j::,,1i*
listings consist d
pro.eduresinvol"J. and detailed wrin." r,;.;;;;,
. Documentation is necessa "f ";"i,iiir, *
t^":t o,-t:T maintenance.
. without prop., do.,r,n"nrt^l
. -iri;;;;;;.;';t_un'n'it
rt is a
wilt be difficurt to chz
a program at a later
date.
. rn fact, it shourd b" ,na"r*1.u."ntarion is ,h. r;; ,;;'i"tge
with thedesis;an-;,;;j;"::1.*'h,th.;;ti,.;"h##1f[lT,iilfl?f**.ss,
. This
il.-';;il;. ilf:",fi[],n:'
" usually consistsif,
because documentation
is sippo,.Jil
especiary
L.i]" ,'"iiro".r
* programlisting/coding
- programming language(s)
- nowcharValgorithrn used
162
Review Questions
l ' A school is deciding to its manual system to a computerised one. The school
approached the analyst to+al'e
help them with new system. The analyst has decided to
has
t53