Unit 1 Contents: What Is A System?
Unit 1 Contents: What Is A System?
Unit 1 Contents: What Is A System?
Unit 1 CONTENTS
What is a System?
• What is a system and its definition
• The general systems approach to problem solving : DISCUSSION
• 3 approaches to system development
1. Structured Approach
Structured Programming
Sequential, Decision, Iterative
Top Down
Structured Design
Structured chart
Structured Analysis
DFD, ERD
2. Information Engineering
3. Object Oriented Approach
OO Analysis
OO Design
OO Programming
System Development Projects and the SDLC
The Systems Development Life Cycle
The phases of SDLC
Scheduling the project phases
Software Development Life Cycle Models
Features of the following models
• Waterfall model
• Prototype Model : customer feedback
• RAD Model : Linear sequential with component based
• Incremental Model : word processor
• Spiral Model : Prototype with linear sequential
• Concurrent Development : each activity has several states – under dev.,
awaiting, reviewing
• Component Based : object –oriented classes
• Formal Methods Model : mathematical notation
• Fourth Generation Techniques
• Differences between them
Project Feasibility
• Operational – urgency of problem, acceptability
• Technological – need, expertise
• Economic Feasibility – cost, benefit
• Organisational and Cultural – job security, computer phobia
• Schedule – desirable, mandatory
• Resource – expertise, availability, loss
• Costs/Benefits Analysis
What Is A System?
SYSTEM
• Set of facts, principles, rules classified and arranged in an orderly
form
Unit 1 1 page of 30
Structured Systems Analysis And Design
• Method or plan
• Way of doing something
Information System
Data is raw fact about the organisation, it’s business, transactions etc. They have
little meaning and use by themselves and need to be organised.
Information is data that has been refined and organised by processing and
purposeful intelligence.
Example:
A payroll system: It collects information on employees and their work, processes
and stores that information, produces paycheques and payroll reports.
Unit 1 2 page of 30
Structured Systems Analysis And Design
Order Entry
Customer Maintenance
1. System Software
It’s a collection of programs written to service other programs.
E.g. compilers, editors, operating system
4. Embedded System
They are intelligent products that reside in read only memory and used to
control products and systems for the consumer & industrial market
Unit 1 3 page of 30
Structured Systems Analysis And Design
7. Business Software
Transaction Processing System (TPS or Data Processing System)
Transaction Processing system captures and records information about the
transactions that effect the business.
Business transactions are defined as events that serve the mission of
business. Processing systems are information system that capture and process
data about business transaction.
TPS can either respond to a business transaction (e.g. order, payment) or
initiate a transaction (e.g. invoice generation, paycheque, receipts) or both.
Also TPS can respond to both external events (e.g. processing order from
customer) or internal events (e.g. generating production orders from shop
floor)
E.g. Payroll, inventory, financial accounting
Expert System
It is an extension of Decision Support System.
It is a programmed decision making information system that captures and
reproduces the knowledge and expertise of an expert problem solver or
decision maker and then simulates the “thinking” or “actions” of that expert.
E.g. X-ray diagnosis. This expert system incorporates the inference engine to
examine the shadows on the X-ray. The shadows are used to determine the
type and the degree of damage.
Few Terms:
Methodology: A system development methodology provides guidelines to follow
for completing every activity in the system development life cycle including
specific model, tools and techniques. Some are home grown i.e. developed by
professionals in the company based on their experience. While some are
purchased from consulting firms or vendors.
Model: It is a graphical representation of some important aspect of the real
world.
E.g. flow chart, data flow diagram
Tools: It is a software support that helps create models or other components
required in the project.
Software Engineering: It is a technique by which we can develop software that
is economical, reliable and works efficiently on real machine.
System development is done in many different ways. In real world, it seems every
company that develops information systems has its own approach. Sometimes
different development groups within the same company use different approach. In
virtually all development groups, some variation of system development life cycle
is used, with phases of project planning, analysis, design, implementation and
support.
Unit 1 5 page of 30
Structured Systems Analysis And Design
A structured program is the one that has one beginning and one ending.
Each step in program execution consists of one of the three programming
constructs
• A sequence of program statements
• A decision where one set of statement or another set of statements
executes
• A repetition of a set of statements
Step1
Step 1 Step 1
NO
YES
?
Step 2 ? Step 3
YES
NO
Stop
Step 3 Step 2
Control Module
start
call module1
call module1
call module1
stop
Model Used for this purpose: Structured chart is a graphical chart showing
the hierarchy of program modules produced in a structured design.
STRUCTUREDANALYSIS
DFD
ERD
STRUCTUREDDESIGN
Structured Chart
STRUCTURED
PROGRAMMING
Unit 1 7 page of 30
Structured Systems Analysis And Design
Disadvantage:
This approach had been developed to focus more on data (I.e. flow of data using
DFD and ERDs). But it was found that practically processes were being made the
central focus.
It was realised to have a system, which would focus on strategic planning also.
The above two approaches are called the Traditional Approach to system
development.
(i) Object Oriented Analysis – It is defining all of the types of objects that do
the work in the system and showing how the objects interact to
complete tasks.
(ii) Object Oriented Design – It is defining all of the types of objects necessary
to communicate with people and devices in the system and refining the
definition of each type of object so that it can be implemented with a
specific language or environment.
(iii) Object Oriented Programming – It is writing statements in a programming
language to define what each type of object does including messages
the object sends to each other.
Unit 1 8 page of 30
Structured Systems Analysis And Design
Benefits of OO Approach
(i) This approach is natural or intuitive for people because people tend to
think about the world in terms of tangible objects.
(ii) This approach involves classes of objects and many systems in the
organisation uses the same objects, so these can be reused whenever
they are needed.
Many systems being developed today combine traditional and object oriented
approach.
E.g. OOP is used for user interfaces and procedural programming for rest. And
within some information systems department some system project is exclusively
traditional in analysis and design while others are exclusively object oriented.
A project is a planned undertaking that has a beginning & an end and produces a
predetermined result or product. The term system development project
describes a planned undertaking that produces a new system.
Each set of activities is a phase. Thus there are 3 phases of development. And
there is a post & a pre phase also.
Unit 1 9 page of 30
Structured Systems Analysis And Design
P r o je c t S u p p o rt
P la n n in g A N A L Y S IS D E S IG N IM P L E M E N T A T IO N Phase
Phase
Analysis Phase
The steps during this phase
(i) Gather Information – System analysts meet with users to learn as much as
possible about the problem domain. Analysts obtain information by
observing the users performing business procedures, by interviewing
and asking questions, by reading existing documents and reviewing
existing system
Unit 1 10 page of 30
Structured Systems Analysis And Design
Design Phase
This phase is to design the system. High level design consists of developing an
architectural structure for software programs, databases, user interfaces and
operating environment. Low level design entails developing detailed algorithms
and data structures that are required for program development. Design phase
utilises the information obtained from analysis phase as it’s input.
It encompasses
(i) Design & integrate the Network – It consists of computer equipment,
network and operating systems platforms that will house the new
information system.
(ii) Design application architecture – It consists of taking the model diagrams
of the requirements that were developed during analysis phase and
design appropriate computer program.
(iii) Design User Interface – It involves design of forms, reports, screens and
sequence of interactions.
(iv) Design System Interface – This is to design as how the system will
communicate with each other and with the existing system.
(v) Design & Integrate Databases – This is to design the database that will
support the new system.
(vi) Prototype of Design Detail – It is always better to verify the workability of
the proposed design before implementation. Thus during this phase,
designers build working prototypes of parts of the system to ensure
that it will function correctly in the operating environment. They can
test and verify alternative design strategies by building prototypes.
(vii) Design & Integrate System Controls – This is required to design the
mechanisms to protect information and assets of the organisation.
Implementation Phase
During this phase the final system is built, tested and installed.
It encompasses
(i) Construct Software Components – Various techniques are used for
construction.
E.g. VB, Java
(ii) Verify & Test – Its required to test that system actually works. Additional
testing is required to make sure that the new system meets the need
of users.
(iii) Develop Prototype for Tuning – This is to verify that the system is tuned to
handle large volume of data in production.
Unit 1 11 page of 30
Structured Systems Analysis And Design
(iv) Convert Data – Gather data from the existing system and convert it to the
format required in the new system.
(v) Train and Document – Train the users on the new system so that they will
be productive.
(vi) Install the system – To verify that the new equipment are in place and
functioning, check that new computers are installed and working,
database is populated and made available.
Support Phase
This phase occurs after the system is installed. The objective of this phase is to
keep the system running productively during the years following its initial
installation.
There are two principles of system development. The activities are said to
• Overlap
• Iterative
Overlap
Many activities of the phases overlap and are done concurrently.
The reasons being:
• Efficiency. At the time the team is analysing needs, it may be thinking about
and designing various forms or reports. To help understand the needs of the
users, the team may want to design part of the final product.
• Interdependent: Many components of a computer system are interdependent,
which necessitates that the team performs portions of analysis and design at
the same time.
Unit 1 12 page of 30
Structured Systems Analysis And Design
would be inefficient to write the program code till the design structure is
complete.
Iteration
Iteration is the process of looping through the same development activities
multiple times, at increasing level of detail or accuracy. For example, during
analysis phase. The team first investigates the needs at a broader level, then
iterates through various processes at more details.
Software Development Life Cycle Models
There are several SDLC models. Every organisation would adopt one as per their
requirements, specifications and preferences.
• Waterfall model
• Prototype Model : customer feedback
• RAD Model : Linear sequential with component based
• Incremental Model : word processor
• Spiral Model : Prototype with linear sequential
• Concurrent Development : each activity has several states – under dev.,
awaiting, reviewing
• Component Based : object –oriented classes
• Formal Methods Model : mathematical notation
• Fourth Generation Techniques
Unit 1 13 page of 30
Structured Systems Analysis And Design
S y s t e m / In f o r m a t i o n
E n g in e e r in g
A n a ly s is D e s ig n Code Test
3. The customer needs to have patience. A working version of the program will
not be available until late in the project time span. A major blunder if
undetected until the working programs are reviewed can be disastrous.
4. It leads to blocking states i.e. some project team members of the team must
wait for other members of the team to complete dependent tasks.
Customer
test drives
mock-up
Drawbacks
(i) The prototype is a working version of the software. The customer is
unaware that the prototype is loosely held and in the rush to get it
working no one has considered the overall quality and long term
maintainability.
(ii) The developer often makes implementation compromises to get the
prototype working quickly.
(iii) It can be a life long loop.
Unit 1 15 page of 30
Structured Systems Analysis And Design
Team # 2
components. Data
Modeling
Team # 1
(v) Testing & Turn over Business
Modeling Process
Since RAD reuses many of the program components that have Modeling
already been tested, it reduces overall testing time. But the new
Business
Application
components must be tested.
Modeling
Data
Generation
Modeling
Testing
&
Turnover
Process
Data
Modeling
Modeling
Application
Generation
Process
Modeling
Testing
&
Turnover
Application
Generation
Unit 1 16 page of 30
Testing
&
Turnover
60 - 90 days
Structured Systems Analysis And Design
Drawbacks
1. For large projects RAD requires human resource to create a right
number of team
2. Needs high commitment from the team
3. If the system is not properly modularised building components will
be problematic
4. RAD is not appropriate when technical risks are high i.e. a new
technology or a new software requires a high degree of interoperability
with the existing computer program
Unit 1 17 page of 30
Structured Systems Analysis And Design
System/
Information Increment 1
Engineering
Delivery of
Analysis Design Code Test 1 st
Increment
Delivery of
Increment 2 Analysis Design Code Test 2 nd
Increment
Delivery of
Increment 3 Analysis Design Code Test 3 rd
Increment
Delivery of
Analysis Design Code Test 4 th
Increment 4
Increment
Time
Advantages
(i) Most useful when staffing is unavailable for a complete
implementation. Early increments can be developed by fewer people. If
the core product is well received, then additional resources are added.
(ii) Increments can be planned to manage technical risks. E.g. a major
system might require the availability of a new hardware that is under
development. It might be possible to plan early increments so as to
avoid use of this hardware.
Disadvantages
(i) As it is an iterative process, many times, time commitments are not
fulfilled.
(ii) It can not be predicted within how many iterations the project will be
completed to desired level.
The difference between the RAD and INM is that in RAD the requirement of the
system is well defined and agreed by all, while in INM requirements need to be
evolved incrementally to ensure its correctness and quality. Each increment
goes through the core processes from analysis to testing before it is delivered
to the customers.
Unit 1 18 page of 30
Structured Systems Analysis And Design
It is a model that combines the philosophy of the incremental, RAD and linear
sequential models with the use of prototyping. It is generally recommended
when the requirements and solutions need developing full-fledged, large,
complex systems with a lot of features and facilities from scratch. It is used
when experimenting on technology, trying out new skills and when the user is
not able to offer requirements on clear terms. And also when integration,
interfacing, data migration and replication are the issues. It is model, which
recommends a process of development, over and above the core process of
development, in which customer & user interact with the software engineer in
continuous. The main objectives of this model are risk analysis,
communication with the customer and ascertain system parameters through
customer/user participation in the entire development process.
Analysis and
Planning
6
1
2
Modification or
Move to next Version Risk Analysis
Customer Interaction
System
and
Unit 1 19 page of 30 Engineering
Evaluation
Communication 3
Construction
5
4
Structured Systems Analysis And Design
The first circuit around the spiral might result in the development of a product
specification, subsequent passes around the spiral might be used to develop the
prototype and then progressively more sophisticated version of the software.
Each pass through the planning region results in adjustments to the project plan.
Disadvantages
(i) Demands risk assessment expertise
(ii) It is a difficult model to convince customers.
Unit 1 20 page of 30
Structured Systems Analysis And Design
R E Q U IR E M E N T
N o t c le a r, n e e d s
c o n firm a tio n a n d BSM
h ig h ris k
F a irly c le a r b u t n e e d IN M
c o n firm a tio n
F a irly c le a r a n d s ta b le
RAD
a n d la rg e
C le a r,
PRM
c o m p le x
C le a r, s ta b le , LSM
s im p le
No V e ry L o w Low M e d iu m H ig h
R is k R is k R is k R is k R is k
(F) The Concurrent Based Model
Unit 1 21 page of 30
Structured Systems Analysis And Design
None
Under
development
Awaitingchanges
Under review
Under revision
Baselined
Done
The figure above shows an activity within the concurrent process model. The
activity (in the fig) i.e. analysis may be in any one of the states noted at any
given time. Similarly for other activities also. Thus all activities exist
concurrently but reside in different state.
E.g. Early in a project the customer communication activity has completed its
first iteration and exists in awaiting changes state. The analysis activity
(which earlier was in none state) now makes a transition into under
development state. If, however, the customer indicates that changes in
requirement must be made, the analysis activity moves into the awaiting
state.
Unit 1 22 page of 30
Structured Systems Analysis And Design
Advantages:
• It leads to 10% reduction in development cycle time
• 84% reduction in project cost
• Productivity index of 26.2 compared to industry norm of 16.9
Advantages:
• This model provides a mechanism for eliminating many of the problems that
are difficult to overcome using conventional processes.
• Ambiguity, incompleteness and inconsistency can be discovered and corrected
more easily through application of mathematical analysis
• When formal methods are used during design, they serve as a basis for
program verification and enable engineer to discover and correct errors
Disadvantage:
• The development of formal models is currently quite time consuming and
expensive
• As few software developers have necessary background to apply formal
methods, extensive training is required.
• It is difficult to use the models as a communication mechanism for technically
unsophisticated customers
Advantages
Unit 1 23 page of 30
Structured Systems Analysis And Design
(i) The use of 4GT is a viable approach for many different application
areas coupled with case tools and code generators. It offers a credible
solution to many software problems
(ii) Time required to produce a software is greatly reduced for small and
intermediate applications and that the time and amount of design &
analysis is also reduced.
(iii) It allows much more time to analysis, design & testing because of
substantial time saving from elimination of coding.
4GT coupled along with component-based development approach have
become dominant approach to software development.
Project Feasibility
Unit 1 24 page of 30
Structured Systems Analysis And Design
There are generally five areas of risk for a new system that are considered during
project feasibility.
Economic Feasibility
Economic feasibility is a measure of the cost effectiveness of a project or a
solution.
It consists of two tests:
• If the anticipated value of the benefits greater than projected cost of
development
• Does the organisation have adequate cash flow to fund the project during the
development period?
A new system must increase income, either through cost savings or by increased
revenues. And this is determined by cost/benefit analysis.
The project management team needs to be very sensitive to feelings and areas of
reluctance within the organisation to identify and resolve these risks.
E.g. Additional training sessions can be held to teach new procedures and provide
increased computer skills.
Technology Feasibility
A new system brings a new technology into a company. The new technology could
be:
• A state-of-art of technology
• Existing technology with new configuration
• Lack of expertise within the company
Once the risks are identified, the solution provided, which could be
• Additional training
Unit 1 25 page of 30
Structured Systems Analysis And Design
• Hiring consultants
• Hiring more experienced employees.
Schedule Feasibility
Some projects are initiated with specific deadlines. It is required to determine if
the deadline is desirable or mandatory. If the deadline is mandatory then penalty
could be associated with missing such a deadline. If deadline is desirable then the
analyst can propose alternative schedule.
Operational Feasibility
It is a measure of how well the solution will work in the organisation. It is a
measure of how people feel about the system/project.
It measures the urgency of the problem or acceptability of a solution. There are
two aspects of operational feasibility to be considered:
• Is the problem worth solving
• How do the end user and management feel about the problem
Resource Feasibility
The project management must assess the availability of resources for the project.
Development projects require the involvement of system analysts, system
technicians and users. And one risk is that the required people may not be
available to the team when needed. An additional risk is that the people who are
assigned may not have the necessary skills. And continual risk that member
might leave the team.
Cost/Benefit Analysis
STEP 1:
Development Cost
The cost of developing an information system can be classified according to the
phase in which they occur. System development costs are usually onetime costs
that will not recur after the project has been completed. Many organisations have
standard cost categories that must be evaluated
• Salaries and wages – The salaries of system analyst, programmers,
consultants, data entry personnel, computer operators, secretaries and the
like who work on the project make up the personnel costs.
Unit 1 26 page of 30
Structured Systems Analysis And Design
• Equipment and installation – Computer time will be used for one or more of
the following activities: programming, testing, conversion, maintaining project
dictionary, prototyping, loading data etc. This cost could also include charges
for computer resources such as disk storage, report printing.
• Software and license
• Consulting fees and payment to third parties
• Training
• Facilities
• Utilities and tools
• Support staff
• Travel and miscellaneous
Fixed Costs occur at regular intervals but at relatively fixed rates. E.g.
• Lease payment and software license payments
• Prorates salaries of information system operators and support personnel
STEP 2:
Benefits
Benefits normally increase profits or decrease cost, both highly desirable
characteristics of a new information system.
Benefits are classified as tangible or intangible
Tangible Benefits are those that can be easily qualified. Tangible benefits are
usually measured in terms of monthly or annual savings or profit of the firm. They
can be measured or estimated in terms of money and that accrue to the
organisation.
Fewer processing errors
Increased throughput
Decreased response time
Elimination of job steps
Increased sales
Reduced credit losses
Reduced expenses
Unit 1 27 page of 30
Structured Systems Analysis And Design
many projects would not be feasible. These are benefits that accrue to the
organisation but that cannot be measured quantitatively or estimated accurately.
Improved customer goodwill
Improved employee moral
Better service to community
Better decision-making
STEP 3:
Financial Calculations
The financial calculations are based on “The Time Value of Money” concept i.e. a
dollar today is worth more than a dollar one year from now.
The time value of money is extremely important in evaluation processes. Say, for
an opportunity that generates $3000 a year, how much is needed to invest.
Obviously one would like to invest less than $3000. To earn the same money five
years from now, the amount investment would be even less.
The time value of money is usually expresses in form of interest on the funds
invested to realise the future value. The formula is
F = P( 1 + i )n
Where
F = Future value of an investment
P = Present value of investment
I = Interest rate per compounding period
N = Number of years
$3000 invested in Treasury notes for three years @ 10% interest would have a
value at maturity of
F = $3000(1 + 0.1) 3
= $3000(1.33)
= $3993
The future stream of benefits and costs is netted together and then discounted by
a certain factor for each year in the future. The discount rate is the annual
percentage rate that an amount of money is discounted to bring it to a present
value.
Unit 1 28 page of 30
Structured Systems Analysis And Design
To compute present value, we take the formula for future value i.e. F = P( 1 + i )n
Thus
P = F/( 1 + i )n
So, the present value $1500 invested at 10% at the end of forth period is
P = 1500/(1 + 0.1) 4
= 1500/1.61
=1027.39
Thus, if we invest 1027.39 today we can expect to have 1500 after 4 years.
Payback Analysis
The Payback Analysis technique is simple and popular method used to determine
if and when an investment will pay for itself. Because system development costs
are incurred long before benefits begin to accrue, it will take a long time for the
benefits to overtake the costs. After implementation there are additional
expenses that must be covered. Payback analysis determines how much time will
lapse before accrued benefits overtake accrued and continuing costs i.e. Payback
Period or Breakeven Point. It is defined as the time period at which the
accumulated cash flow (including capital expenditures) becomes positive.
E.g.
$20,000 is being invested in two proposals
Proposal A: Positive net cash flow of $3200 annually for the first 7 years.
Proposal B: Net cash flow Year 1 -$2000, Year2 $2675, Year 3 $3200, Year 4
$4550, Year 5 $6550, Year 6 $7000,Year 7 $8000
Compare the proposals using payback method
Answer:
Proposal A: Payback Period = 20000/3200 = 6.25 years
Proposal B:
Unit 1 29 page of 30
Structured Systems Analysis And Design
Unit 1 30 page of 30