Sunteți pe pagina 1din 30

Structured Systems Analysis And Design

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

A set or arrangement of elements that are organised to accomplish some


predefined goal by processing information.

A set of interrelated components that function together to achieve some


outcome.

Characteristics present in a system are


• Organisation i.e. structure and order of the system components
• Interaction refers to the manner in which each component functions with other
components
• Interdependence means that parts of the system depend on one another
• Integration which is how a system is tied together
• Central objective are the predetermined goal that the system should achieve

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.

Information System is a collection of interrelated components that collect,


process, store and provide as output the information needed to complete a
business task.
It can also be defined as an arrangement of people, data, processes, interfaces
and geography that are integrated for the purpose of supporting and improving
the day to day operations in a business as well as fulfilling the problem solving
and decision making information needs of the business.

Features of a good information system


1. Useful and usable
The system should be useful to the user i.e. it should perform the required
tasks. And should be usable i.e. user should be able to operate the system
easily.
2. Reliable
The system should maintain the integrity of the information stored and should
be reliable i.e. consistent with its performance.
3. Flexible and easy maintenance
It should be easily modified or updated i.e. new functions can be incorporated
or existing system can be tuned with ease.
4. Affordable
The system should be worth its cost.

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

A sales management system: It collects information about customers, sales,


products and inventory levels and stores this information. This is then provided to
manufacturing so that they can schedule production.

A system may have subsystems. A subsystem is a component of a system.

Production System (supersystem)

Inventory Management System Manufacturing system

Order Entry
Customer Maintenance

Customer Support System

Catalog Maintenance Order Fulfillment

Different Types of Information Systems


1. Systems Software
2. Real Time Software
3. Artificial intelligence
4. Embedded
5. Web based
6. Engineering and scientific
7. Business software

1. System Software
It’s a collection of programs written to service other programs.
E.g. compilers, editors, operating system

2. Real Time Software


They monitor, analyse or control real time world events. They require to react
immediately to events in the environment. Elements of real time software are
Data gathering components
Analysis components
Control output components
Monitoring components
E.g. In air plane guidance system, if the air plane’s altitude drops below 5000
feet then the system needs to turn on low altitude alarm.

3. Artificial intelligence Software


They make use of non-commercial algorithms to solve complex problems. Also
know as knowledge based system.
E.g. thumb impression system, computer games

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

E.g. Hyundai car, telecom switches

5. Web Based System


Web pages retrieved by browser
E.g. pearl, java

6. Engineering & Scientific System


E.g. stress analysis, space orbital dynamics, molecular biology

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

Management Information System (MIS)


Its an information system that takes information captured by transaction
processing system and produces reports that management needs for planning
and control. It represents
(i) Detailed information used for operations management as well as
regulatory requirement
(ii) Summary information which consolidates raw data quickly to indicate
trends and possible problems.
(iii) Exception information which filters data to report exceptions to some
rule or criteria
This information is generated on a predetermined schedule and appears in
prearranged formats.

Decision Support System


It supports decision-maker by providing information on demand. They are
usually
designed to support unstructured decisions.
E.g. how many rental cars to move from one city to another for a holiday
weekend
based on estimated business travel patterns.

Executive Information System


It provides information to executives to use in strategic planning. Some
information comes from organisational database and some from external
sources (e.g. stock market, economic forecast)

Communication Support System


It allows employees to communicate with each other and with customers &
suppliers. E.g. email, fax, internet access, video conferencing
Unit 1 4 page of 30
Structured Systems Analysis And Design

Personal Information System


It builds applications for individuals. It is designed to meet the needs of a
single user, generally to boost an individual's productivity.

Office Information System


It helps employees create and share documents including reports, proposals
and memos. They also help maintain information about work schedules and
meetings. They provide for communications between workers regardless of
whether or not workers are physically located in same office. E.g. Lotus Notes

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.

The Three APPROACHES to software systems development

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.

There are 3 very general approaches to system development.

The Structured Approach


Structured programming, structured analysis and structured design are the three
components that make up the structured approach to system development. These
techniques are collectively referred to as structured analysis and design
technique –SADT.
(i) Structured Programming

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

Module 1 Module 2 Module 3


begin begin begin
. . .
. . .
. . .
end end end
return control to main module return control to main module return control to main module

Another concept related to structured programming is Top Down


programming. It divides more complex programs into hierarchy of program
modules
Unit 1 6 page of 30
Structured Systems Analysis And Design

(ii) Structured Design


It is a technique providing guidelines for deciding what the set of program
should be, what each program should accomplish and how the programs
should be organised into a hierarchy.

Model Used for this purpose: Structured chart is a graphical chart showing
the hierarchy of program modules produced in a structured design.

The 2 main principles of structured design are


a) Program modules should be designed so that they are loosely
coupled i.e. each module is independent of the other module as much
as possible, which allows each module to be designed and later
modified without interfering with the performance of another module.
b) Highly cohesive i.e. each module accomplishes one clear task.
(iii) Structured Analysis
It is a technique that helps the developer define what the system needs to
do (i.e. processing requirement), what data the system needs to store and
use (data requirements), what inputs & outputs are needed and how the
functions work together overall to accomplish tasks.

Model Used for this purpose


Data Flow diagram is a graphical model showing the inputs, processes,
storage and outputs of a system produced in structured analysis. It serves
two purposes
• Provides an indication of how data are transformed as they move
through the system.
• Depict the functions that transform the data flow.

Entity Relationship diagram is a graphical model of data needed by a


system, including things about which information is stored and
relationships among them, produced by structured analysis and
information engineering.

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 Information Engineering Approach


It is the system development methodology that focuses on strategic planning,
data modelling and automated tools thought to be more rigorous and complete
than structured approach.
It involves the following steps
(i) Strategic planning accomplished by getting all information about the
need of business organisation, function and activities.
(ii) Clear specifications about all data entities & attributes and data stores.
(iii) Technological infrastructure the organisation plans to use i.e.
software/hardware and other support requirement.

It is different from structured approach


(i) It focuses more on data as the type of data needed to conduct the
business changes little over time, but the processes followed to collect
data change frequently. And like structured approach focuses on
processes also.
(ii) It provides after implementation support much greater using case tools
like CASE

Model Used for this purpose:


The Processing model is process dependency diagram. It focuses more on which
processes are dependent on other processes

The above two approaches are called the Traditional Approach to system
development.

The Object Oriented Approach


It is an approach to systems development that views an information system as a
collection of interacting objects that work together to accomplish tasks. There are
no processes or programs, no data entities or files. The system consists of objects.
An object is defined as a thing in the computer system that responds to a
message.

(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

Model Used for this purpose:


Class Diagram is the graphical model that shows all of the classes of objects in
the system.

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.

 System Development Projects and the SDLC

The Systems Development Life Cycle

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.

The development of a new information system requires 3 major sets of activities –


Analysis
Design
Implementation

1. Analysis activities are those that provide a thorough understanding of the


business information needs and requirements. The focus of analysis is on the
business need & not on any particular computer technology.
2. Design activities are those that define the architecture and structure of a new
system to satisfy those requirements. It’s during design that analyst starts
conceptualising the system solution.
3. Implementation is actual construction, testing and installation of a
functioning information 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

4. Project Planning Phase consists of activities that are required to initiate,


plan and obtain approval for the project. It’s normally a short phase, but is
critical to the overall success of the project
5. Support Phase includes the activities that maintain and enhance information
system during its productive lifetime. It encompasses a much longer period of
time than all the other phases combined. And usually the most expensive.

First Four Phases of SDLC

Planning Phase (Feasibility phase)


The steps during this phase
(i) Define the problem – Define precisely the business problem and scope of
required solution. Thus identify the major uses of the new system and
the business problems that the new system must address.
(ii) Confirm project feasibility – This includes financial, operational, technical
and schedule feasibility
(iii) Produce project schedule
(iv) Staff the project - A detailed project schedule with tasks, activities and
required staff is developed. Several methods and tools are available to
assist in this task.
(v) Launch the project - The total plan is reviewed with the upper
management and the project is initiated. It involves allocating funds,
assigning project members and obtaining other necessary resources
such as office and development tools.

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

(ii) Define system requirement – The information obtained is reviewed,


analysed and structured so that an overall understanding of
requirements for the new system can be developed.
(iii) Build prototypes for discovery of requirement – Build prototype of pieces of
new system for the users to review.
(iv) Prioritise requirements – Generally there are more requests for automation
support than the budget or resource can provide. Thus as the needs
are identified they are given priority.
(v) Generate and evaluate alternatives - As requirements are prioritised,
various alternative solutions are researched.
(vi) Review recommendation – this is done with the management. One of the
alternatives is selected and recommended to upper management.

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.

This phase encompasses


(i) Providing Support to the End Users – It is achieved through ongoing
training programs and help desks.
(ii) Maintaining & Enhancing the Current System – This involves correcting
simple program error to comprehensive enhancements and upgrades.
There are 4 types of changes -
a) Correction - Correcting program defects
b) Adaptation – When original environment for which the
system was developed is changed
c) Enhancements – The software used has additional features
that would be beneficial.
d) Prevention – Computer software deteriorates due to change
and because of this preventive maintenance must be
conducted.

Scheduling of Project Phases


The desired order of various activities during a software development is to do
planning followed by analysis, design and implementation.

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.

The disadvantage of having all the activities to overlap is the dependency


between activities. Some activities depend on the results of prior work. The team
can not complete the design till the analysis of the problem is complete. Also, it

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

 Software Development Life Cycle Models

(A) Waterfall Model (Linear Sequential Model)


It is a systematic, sequential approach to software development. It progresses
through analysis, design, coding, testing and support. Here each life cycle phase
is completed in sequence and then the results of the previous phase flow into the
next phase. It thus requires careful planning and control of the project. The
decisions made at each phase are frozen i.e. they can not be changed.

It consists of the following activities:

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

(i) System/Information Engineering – System engineering and analysis


encompasses requirement gathering at the system level with small
amount of top level design and analysis. Information engineering
encompasses requirement gathering at strategic business level and at
business area level.
(ii) Analysis – It is the requirement gathering process, which is intensified and
focused. It needs to understand the information domain for the system,
its required function, behaviour, performance and interface.
Requirement for both system and software are documented &
reviewed with client.
(iii) Design – It focuses on 4 distinct areas
Data structure
Software architecture
Interface representation
Procedural detail
The design process translates requirements into a representation of the
software that can be assessed for quality before coding begins
(iv) Code Generation – The code generation step translates the design into
machine-readable form. If design is performed in detailed manner,
code generation can be accomplished mechanically.
(v) Testing – This process focuses on logical internals of the system.
a) Ensures that all statements have been tested
b) Uncovers errors
c) Ensure that defined input will produce actual required results
(vi) Support – It encompasses changes to the system. Changes occur in a
system because
a) Errors have been encountered
b) Adopt to accommodate changes in its external environment
c) Customer requires new functions or performance enhancements

Drawbacks of the system


1. Real world projects rarely follow sequential flow that the model proposes.
2. It is often difficult to freeze the demand of the customer
Unit 1 14 page of 30
Structured Systems Analysis And Design

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.

(B) The Prototype Paradigm


This model is proposed when users, customers or stakeholders are not sure
about their requirements. Also, sometimes, the software engineer is not sure
what kind of design solution would be the most appropriate. In such
situations, the prototype model is built to ascertain the requirement
specifications, solution and at times the technology.

It begins with requirement gathering. Developers and customers meet and


define overall objectives of the software, identify whatever requirements are
known and outline areas where further definition is mandatory. A “quick
design” then follows. The quick design focuses on a representation of those
aspects of the software that will be visible to the user. This leads to
construction of a prototype. This prototype is evaluated and used to refine
requirements. Iteration occurs as the prototype is tuned i.e. modified, to
satisfy the needs of the customer.
Thus prototype serves as a mechanism for identifying software requirements.

Listen to Build / Revise


customer mock-up

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.

(C) The RAD Model

Unit 1 15 page of 30
Structured Systems Analysis And Design

This model is proposed when requirements and solutions can be modularised


as independent system or components, each of which can be developed by
different teams. After these smaller system components are developed, they
are integrated to produce the larger software system solution.
It is a high-speed adaptation of linear sequential model in which rapid
development is achieved by using component-based construction. It is
generally recommended when system components have already been
developed and these components can be used in the new system with minor
or no modifications.

It has following phases


(i) Business modelling/ Requirement analysis
Information flows among business functions are modelled in a way that
it answers the following questions
• The information that drives the business process
• What information is generated
• Who generated it
• Where does the information go
• Who processed it

(ii) Data modelling/ Refined Analysis


The information from the previous phase is refined into a set of data
objects. The characteristics of each object are identified and
relationships between the objects are defined.

(iii) Process modelling/Designing


The data objects are transformed to achieve the information flow
necessary to implement a business function for adding, modifying,
deleting or retrieving data objects
Team # 3
(iv) Application generation/Coding Business
RAD works to reuse existing program components or create reusable
Modeling

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

(D) The Incremental Model


It combines the elements of linear sequential model with the iterative concept
of prototyping. Each linear sequence produces a deliverable “increment” of
the software. E.g. a word processor software.
It is generally used when the nature of the requirement is complex. Thus the
requirement needs to be built up in parts to avoid the risk of developing an
incorrect and improper software solution.
The first increment is the core product. That is the basic requirements are
addressed, but many supplementary features (some known, others unknown)
remain undelivered. The core product is used by the customers. As a result of
the use and evaluation, a plan is developed for the next increment. The plan
addresses the modification of the core product to better meet the needs of
customer & delivery of additional features & functionality. This process is
repeated following the delivery of each increment, until the complete product
is produced.

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

This model is iterative as prototype model but unlike prototype model it


delivers operational product with each iteration. Every increment is down
version of the final product, but they do provide features that serve the users
and also enables them to evaluate.

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.

(E) The Spiral Model

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.

Using this model software is developed in a series of incremental releases.


During early iterations, the incremental release might be a paper model or
prototype. During later iterations, increasingly more complete versions of the
engineered system are produced.
A spiral model is divided into a number of framework activities (i.e. task
regions):
• Customer Communication (1): tasks required to establish effective
communication between developer and customer
• Planning (1): tasks required to define resources, timelines and other
project related information
• Risk analysis (2) : tasks required to define asses both technical and
management risks
• Engineering (3): tasks required to build one or more
representations of the application
• Construction and release (4): tasks required to construct, test,
install and provide user support
• Customer evaluation (5): tasks required to obtain customer
feedback based on evaluation of the software representations created
during engineering stage and implemented during installation stage.

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.

Advantage: It is a realistic approach for the development of large-scale system


and software

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

Comparative Analysis of Process Models

Relation between Requirement and Process Models

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

The concurrent process model is represented schematically as a series of


major technical activities, tasks, and their associated states.

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.

The concurrent process model is often used for development of client/server


applications.

(G) The Component Based Development


Object oriented technologies provide a technical framework for a component-
based process model. The object oriented paradigm emphasises the creation
of classes that encapsulate both data and algorithms used to manipulate the
data.
There are 4 major activities, which make up this -
(i) Component Qualification (Analysis): System requirement and architecture
define the components that will be required i.e. identification of the
candidate classes.
(ii) Component Adoption (Design): Once candidate classes are identified, the
class library is searched to determine if these classes already exist. If
they do, they are extracted from the library and reused.

Unit 1 22 page of 30
Structured Systems Analysis And Design

(iii) Component Composition (Development): If a candidate class does not


reside in the library, it is engineered using object-oriented methods.
(iv) Component Update (Maintenance) : If the project needs then the
components if flexible can be updated.

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

(H) The Formal Methods Model


Formal methods enable a software engineer to specify, develop and verify
a computer-based system by applying a rigorous, mathematical notation.

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

(I) The Fourth Generation Technique (4GT)


The term 4GT encompasses a broad array of software tools that enables
the software engineers to specify some characteristics of software at a
higher level. The tool then automatically generates source code based on
the developer’s specifications. The higher the level at which software can
be specified to a machine, the faster a program can be built.

Currently a software development environment that supports the 4GT


paradigm includes some or all of the following tools
• database query language
• report generation
• data manipulation
• screen definition and interaction
• code generation
• high level graphics capability
• spreadsheet capability
• automated creation of web site using advanced software tools

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.

Differences Between the Various Models

Proces Nature of Customer Risk Technology Domain Focus


s Requiremen interactio leve Knowledg
Model t n l e
s
LSM Simple and Initial, Zero Proven and Common solution
universal in once or understood knowledge
nature twice
PRM Simple, but Couple of Very Proven but Technology Prototype
needs testing times till low needs testing and solution
and prototype
confirmation is
approved
RAD Simple, Initially Low Team Generally Developme
Breakable for couple of management, known and nt
distributed times Proven acquired methodolog
development technology from y and
and ease of customer architecture
integration
INM Progressive Very Medi Configuration High Implementa
frequent um management tion
Strategy
BSM Complex, Continuous High Integration Very high Tools
large

 Project Feasibility

Feasibility is the measure of how beneficial or practical the development of an


information system will be to an organisation.

Feasibility Analysis is the process by which feasibility is measured. The objective


of assessing feasibility is to determine whether a development project has a
reasonable chance of success. It is the process of selecting the best system that
meets the following requirements i.e.:
1. The user has recognised a need.
2. User requirements are determined and the problem has been defined.
3. An initial investigation is launched to study the existing system and verify the
problem.
4. The analyst has verified the objective constraints and required output.

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.

Organisational & Cultural Feasibility


Each company has it’s own culture and the new system must fit within that
culture. The analyst involved with feasibility study should evaluate organisational
and cultural issues to identify potential risks for the new system. Such issues
might include the followings:
• A currently low level of computer competency
• Substantial computer phobia
• A perceived loss of control by staff or management
• Potential shifting of political & organisational power due to the new system.
• Fear of change of job responsibilities
• Fear of loss of employment
• Reversal of long standing work procedures.
And there could be more.

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

Technical feasibility looks at what is practical and reasonable. It addresses three


major issues
• Is the proposed technology practical
• Do we currently possess the necessary technology
• Do we have necessary expertise & is the schedule reasonable.

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.

Defining Project Costs and Project Benefits

Cost/Benefit Analysis

The cost/benefit analysis is a three-step process.


1. Estimate the anticipated development and operational cost. Development
costs are those that are incurred during the development of the new system.
And operational costs are those that will be incurred after the system have
been put into production.
2. Estimate the anticipated financial benefits. Financial benefits are the expected
annual savings or increases in revenue derived from the installation of the
new system.
3. The cost/benefit analysis is calculated based on detailed estimates of costs
and benefits.

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

Operational Costs (Ongoing Costs of Operations)


Operating costs tend to recur throughout the lifetime of the system. The cost of
operating a system over its useful lifetime can be classified as fixed and variable.

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

Variable Costs occur in proportion to some usage factors. E.g.:


• Cost of computer usage (i.e. CPU time used, terminal connect time used,
storage used), which vary with the workload.
• Supplies (pre-printed forms, printer paper used, punched cards, floppy disks,
magnetic tapes and other expendables), which vary with workload.
• Prorated overhead costs (utilities, maintenance, and telephone service) which
can be allocated throughout the lifetime of the system using standard
techniques of cost accounting.

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

Intangible Benefits are those benefits believed to be difficult or impossible to


qualify. Unless these benefits are at lease identified, it is entirely possible that

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

There are three popular techniques to assess economic feasibility:


• Net Present Value
• Payback Technique
• Return on Investment

Net Present Value


It is the present value of dollar (i.e. money) benefits and costs for an investment
such as a new system.
The two concepts of net present value (NPV) are
1. All benefits and costs are calculated in terms of today’s money i.e. present
value
2. Benefits and costs are combined to give net value

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

A critical factor to consider in computing present value is a discount rate


equivalent to the forgone amount that the money would earn if it were invested in
a different project.

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:

YEAR Flow in Year Cumulative cash flow at


year end
0 -20000 -20000
1 -2000 -22000
2 2675 -19325
3 3200 -16125
4 4550 -11575
5 6550 -5025
6 7000 1975
7 8000 9975
Thus, Proposal B will recover the initial cost before end of year 6. If we assume
that the $7000 net cash inflow occurs in 12 equal monthly cash inflows, it will be
nearly ninth month of the year before payback is achieved i.e. approximately 5.75
years

Unit 1 29 page of 30
Structured Systems Analysis And Design

Return On Investment Analysis


It is a measure of the percentage gain received from an investment such as a new
system. The ROI for a solution or project is percentage return needed (like an
interest rate) so that the costs and benefits are exactly equal over the specified
time period.

Lifetime ROI = (Estimated Lifetime benefits – Estimated lifetime costs)/


(Estimated Lifetime costs)

When a system is being developed, initial costs is high i.e. it is an investment


period. When both costs are equal, it is break-even. Beyond that point, the new
system provides greater benefit (profit) than the old system. This is the return
period.

Unit 1 30 page of 30

S-ar putea să vă placă și