System Analysis and Design
System Analysis and Design
System Analysis and Design
INSTRUCTION MATERIALS
System
A system is a set of inter-dependent/interrelated components (some of which may be systems in
their own right), with an identifiable boundary and which collectively accomplish certain
objectives/purpose.
Characteristics of a system
A system has 9 characteristics.
1. Components
A system is made up of components. A component is an irreducible part or aggregation
of that make up a system, also called subsystems. We can repair or upgrade the system by
changing individual components without having to make changes throughout the entire
system.
2. Interrelated Components
The components are interrelated. This means the dependence of one subsystem on one or
more subsystems. The function of one subsystem is tied to the function of others.
3. A Boundary
A system has a boundary within which all of its components are contained and which
establishes the limits of a system, separating the system from other systems. The boundary
is the line that makes the inside and outside of a system and that sends off the system from
its environments.
4. A purpose
This is the overall goal or function of a system. A system must give priority to the
objectives of the organization as a whole as compared to the objectives of a subsystem.
5. An Environment
This is everything external to a system that interacts with the system i.e. everything
outside the system’s boundary, usually the system interacts with its environment,
exchanging, in the case of an information system, data and information.
6. Interfaces
This is the point of contact where a system meets its environments or where subsystems
meet each other. eg. The interface between an automated system and its users (manual
system) and interfaces between different information systems. It is the design of good
interfaces that permits different systems to work together without being too dependent on
each other. Because an interface exists at the point where a system meets its environment,
the interface has several special, important functions outlined below:-
• Security - protecting the system from undesirable elements that may want to
infiltrate it.
• Filtering unwanted data both for elements leaving and entering the system.
• Coding and decoding incoming and outgoing messages.
7. Constraint/ Controls
This is a limit to what a system can accomplish. A system must face constraints in its
functioning because there are limits – in terms of capacity, speed, or capabilities to what it
can do and how it can achieve its purpose within its environment.
8. Input
This is whatever a system gets from its environment, eg. Raw data.
9. Output
This is whatever a system returns to its environment in order to fulfill its purpose.
Feedback
A feedback may be defined as a check within a system in order to ensure that the objectives
of the system are achieved. These checks are conducted in order to find out way deviation. If any
deviation is detected, then appropriate steps are taken to ensure that the error is rectified.
Feedback may be positive or negative.
Negative Feedback
This is a system that works on the principle of trying to reduce the fluctuations around
a set standard, eg. If the credit limit of those customers who have outstanding debts is
restricted, then it is known as negative feedback since the action is taken opposite to
deviation.
Positive Feedback
It a system that attempts to increase a detected deviation, it helps the system to adjust
but acting in the same direction in which deviation has occurred, e.g. If the demand
for any product increases and as a result, production is also increased, then it is
positive feedback - it helps to increase the efficiency of the system.
Feedforward
It means to take steps to make some adjustments to the system in advance in order to face any
expected deviations in future. Feedback monitors the past results whereas feedforward deals with
future outcomes.
Open Systems
These are the system which are connected to and interact with the environment. Examples are,
the biological and social system. All business organizations are also open systems since they
must have the capacity to adopt in the future of changing competition, changing markets e.t.c.
The major components which together constitute the open system are:-
• Input – This may take the form of money, materials energy, decisions, information e.t.c
• Process- This changes input into desirable output eg. Changing data to information.
• Output – This is the systems reason for its existence
• Sensor – Stimuli, response to the effect of the environment.
• Feedback – This is the systems way of monitoring the environment it operates in, which
permits it to make adjustments to survive and maintain dynamic equilibrium.
• Standard – This allows control to be exercised, allowing variances to be assessed and
action to be where necessary.
• Comparator – This is the means by which comparison is made between the standard and
actual performance or results.
• Effectors – Takes any action to correct any variance or deviation discovered by the
comparator.
Closed Systems
A closed system is that which does not interact with its environment. The system is neither
influenced by nor influences its environment. It does not take in from or give to it. The system
behavior occurs because of internal interaction and is more relevant to scientific than social
systems. They do not obtain modification from their environments. A computer program is a
relatively closed system because it accepts only previously defined outputs. In fact, no system
can be a completely closed system for a long time.
We may also have relatively or semi-closed system where the system relates to its environment
in a prescribed and controlled way.
Artificial Systems
These systems are created rather than occur by nature e.g computer programs, organization, etc.
They are usually made to support the objective of the designer and user.
In addition, many organizations recognize scientific technical computing and office automation,
thus there are several other important systems concepts with which systems analysts need to be
familiar.
More Definitions
Decomposition
• This is breaking down the system into smaller, more manageable and understandable
components called the subsystem. This helps in focusing the attention on one subsystem
at a time without interference from other parts.
• Also permits different parts of the system to be built at independent times and/ or by
different people.
Modularity
A direct result of decomposition.
Refers to dividing a system up into chunks or modules of a relatively uniform size.
Coupling
This is the extent to which subsystems are dependent on each other. Subsystems should be as
independent as possible. If the subsystems are loosely coupled them, unfortunately one fails
then the other will not be affected.
Cohesion.
Any description of the system is abstract since the definition is not a system itself.
A Logical System Description portrays the purpose and function of the system without trying
the description to any specific physical implementation.
The Physical System Description is a material depiction of the system, and the central concern
is building the system.
Sub Optimization – An occurrence that occurs when the objective of one element (subsystem)
conflicts which the objective of the overall system.
Methodologies
Definitions
A methodology is a standard process followed in an organization to conduct all the steps
necessary to analyze, design, and maintain information systems.
Techniques are particular processes that you, as an analyst, will follow to help ensure that your
work is well throughout, complete and comprehensive to others on your project team.
Techniques provide support for a wide range of tasks such as conducting thorough interviews,
planning and managing project activities.
Tools are typically computer programs that make it easy and benefit from the techniques and
follow the methodology.
Design
The description of the recommended solution is converted into logical and then physical system
specifications. Logical design is the part of the design phase that is independent of any specific
h/ware or s/ware plat form. Theoretically, the system could be implemented on any hardware or
system software.
Physical design is the part of the design phase of the SDLC in which the logical specifications of
the system from logical design are transformed into system and also logical design are
transformed into technology – specific details from which all programming and system
construction can be accomplished. This can be done in many ways, from creating a working
model of the system to be implemented, to writing detailed specifications describing all the
different parts of the system and how they should be built.
During the physical design, the analyst team must determine many of the physical details
necessary to build the final system, from the programming language, to the database system that
will store the data, to the hardware platform on which the system will run. Upon review of the
new system specifications, management approval initiates the next phase of system development.
Implementation
The system specification is turned into a system that is tested and then put into use.
It includes:-
• Coding – Writing programs that make up the system. Sometimes the code is generated by
the same system used to build the detailed model of the system.
• Testing – Programmers and analyst test individual and entire system in order to find and
correct errors.
• Installation
• Evaluation
• Initial user support such as finalization of documentation training programs, and ongoing
user assistance.
Maintenance
Programmers make the changes that users ask for and modify the system to reflect the changing
business conditions. These changes are necessary to sense, maintenance is not a separate phase
This was developed by Ed Yourdon, etal in the early 1970’s to address some of the problems
with the traditional SDLC. They made analysis and design through the use of tools such as data
flow diagrams (DFD).
SASD makes it easier to go back to earlier phases in the life cycle when necessary e.g when
requirements change.
There is also portioning the problem into smaller manageable units and making clear distinction
between the physical and logical design.
Most recent approach to system development and is getting more and more popular. OOAD is
often the process - oriented and data - oriented approaches. The object oriented approach
combines data and process (methods) into single entities called objects, the techniques that
system analysis uses form object oriented analytics - use of object oriented analysis and design
and their associated notations that are incorporated in a standard object oriented language called
unified modeling languages (UML).
1. Prototyping.
This is designing and building a scaled down but functional version of a desired system. You can
build a prototype with any computer languages or Development tool, but special prototyping
tools have been developed to simplify the process. A prototype can be developed to simplify the
process. A prototype can be developed with some 4G, with the query and screen and report
design tools of a DBMS, and with CASE tools.
Using prototyping as a developing technique, requirements are converted to working system that
is continually revised through close work between an analyst and user. This interactive process
continues until the users are relatively with what they have seen. There are three main activities
which are described as prototyping.
a) mock-up
A “mock-up” of a proposed system or subsystem is produced for demonstration purposes
at the early stages of a project so as to aid the users and usually the prototype has the
appearance of the final system but lacks any real processing or storage capability.
b) Trial Prototyping
A simplified working model of a proposed system or subsystem that has capabilities
(some) of the real system. It might be used to design an appropriate user interface for the
new system.
c) Rapid Prototyping.
This is one method of achieving rapid applications development (RAD). The fundamental
principle of any RAD methodology is to delay producing a detailed system design
document until after user requirements are clear. RAD methodologies emphasize on
gaining user acceptance of the human system interface and developing core capabilities
Management
Management concerns within the system development process focus on seeing that end results
meet the company’s needs and insuring that the project is completed on schedule and within the
budget allowed.
Users
Users represent the hand-on, everyday aspect of a system. These are the people for whom
systems are developed. They already know how to complete the functions of procedures
manually. The system should increase their efficiency and productivity.
Users concerns include ease of use and the reliability of the system. Users can aid in system
development through their ideas and understanding of the business procedures involved.
a) Analytical Skills
i) Organization Knowledge - Since the analyst will work with the organization, whether
internal or external, (s)he must understand how the organizations work:
iii) Problem Analyzing and Solving:- Analysis entails finding out more about the
problem. The analyst should know how to get needed information from other
people, from organization files and documents and to formulate alternative
solutions to the problems. The problem analysis and solving approach has four
phases as described by Herbert, etal (1960).
• Intelligence – Collecting relevant information.
• Design – Formulate alternatives
• Choice – Choosing the best alternative solution
• Implementation – Putting the solution into practice.
b) Technical Skills
Many aspects of the systems analysts job are technically oriented.
In general, you should be as familiar as possible with such families of technologies
such as:-
• Microcomputers, workstations, minicomputers and mainframe computers.
• Programming languages
• Operating systems for both single machines and networks
• Database and file managements systems.
• Data communication standards and software for LAN and WAN.
• Systems development tools and environments (such as form and report generators an
graphical…)
• Web development languages and tools eg. HTML Microsoft, FrontPage.
• Decision support system generators and data analysis tools.
• Modern methods and techniques, for describing modeling and building systems.
The following activities will help you stay versatile and up-to-date.
• Read trade publications eg. Computer world or PC world
• Join professional computer societies
• Attend classes or teach at a local college. Teaching is a way of forcing oneself to stay
current and to learn from others.
• Attending courses, training sessions offered by your organization and other professional
conferences, seminars, tradeshows, etc.
• Regularly browse websites that focus on ICT industry news, such as CNET, many trade
publication also have websites.
i) Resource Management
You must know how to get the most out of a wide range of resources: System
documentation, IT and money. The most important resource is people. A team leader
must learn how to best utilize the particular talent of other team members by delegating
responsibilities.
Resource Management includes:-
• Predicting resource usage (budgeting).
• Tracking and accounting for resource consumption
• Learning how to use resources effectively and efficiently
• Evaluating the quality of the resources used.
d) Interpersonal Skills
Although the systems analyst will be working in the technical area of designing and building
computer based information systems (s)he will also work extensively with all kind of people.
e) Communication Skills
This is the ability to communicate clearly and effectively with others - users, information
system professionals and management. Communication takes many forms, from written (memos,
reports) to verbal (phone calls, face to face conversations) to visual (presentation slides,
diagrams), oral communication and listening skills are considered by many as most important
communication skill. This skills includes:- Interviewing and listening, the use of questionnaires
and written and oral communication.
Components of CASE
CASE tools support a variety of SDLCs
Upper CASE: CASE tools designed to support the information, planning and the project
identification and selection, project initiation and planning, analysis, and design phases of the
systems development.
Lower CASE: CASE tools designed to support activities that occur across multiple phases of the
SDLC eg. Tools used to assist in…. on going activities such as managing the project, developing
time estimates for activities and creating documentation.
Over the years, the vendors of these CASE products have opened up their systems through the
use of standard databases and data conversion utilities to more easily shared information across
products and tools. An integrated and standard database called a repository is the common
method for providing product and tool integration.
1. Diagramming Tools
These enable the representation of the system process, data, and control structures
visually/graphically, e.g Data flow diagram (DFD) which is used to model business process as
information flows through an organization, entity relationship Diagram (ER).
4. Case Repository
Substantial benefits when using CASE can only be achieved though the integration of
various CASE tools and their data integrated CASE tools rely on common terminology,
notations and method for systems development across all tools. All L-CASE tools have a
common user interface. Hence, central to L-CASE is the idea of using a common repository
for all tools so that this information can be easily shared between tool and SDLC activities.
Repository is a centralized database that contains all diagrams forms and report definition,
process flows and logic and definitions of other organizational and system components. It
provides a set of mechanisms and structure to achieve seamless data - to - tool and data - to-
data integration. Within a repository there are two primary segments. Information’s business
combines information about an organization’s business information and its application
portfolio and provides automated tools to manage and control access to the repository.
Application portfolio consists of the application programs used to manage business
information repository. It provides facilities for recording, storing and processing
descriptions of an organization’s significant data and data processing resources. They are
valuable for a system analyst when cross referencing data items.
Cross referencing is a feature performed by a data dictionary that enables one description of a
data item to be stored and accessed by all individuals so that a single definition for a data
item is established and used. Such a description helped to avoid data duplication, and makes
systems development and maintenance more efficient. E.g. If one data element is changed,
the data dictionary can produce a report identifying all programs affected by this change.
Within all L-CASE environment, all diagrams forms, reports and programs can be
automatically updated by the single change to the data dictionary definition.
1) Systems Analysts
CASE automates many routine tasks of the analyst making the common skills (rather than
analytical skills) of the analyst most critical.
2) Programmers
Programmers will piece together objects created by code generators and 4th Generation
Languages. Their role will includes more of maintaining designs using diagramming tools
rather than source code.
3) Users
Will be much more active in the systems development process through the use of upper
CASE tools.
4) Top Managers
Will play an active role by using CASE – based planning and through user-oriented
systems development methods.
Reverse engineering is the process of creating design specifications for a system or program
module from program code and data definitions.
For example, CASE tools that support reverse engineering read program source code as in put,
perform an analysis and extract information such as program control structure, data logic and
data flows.
Reengineering tools are similar to reverse engineering tools but include analysis features that
can automatically, or interactively with a systems analyst, alter on existing system in an effort to
improve its quality or performance.
The last two categories are generally referred to as coming from a bottom-up source. These
are the types of projects in which the analyst will have the earliest role in the life cycle as
part of the on-going support for users.
Project Initiation
Focuses on activities designed to assist in organizing a team to conduct project planning, some of
the activities carried out during this stage are as follows; however some may be unnecessary
depending upon the size, scope and complexity of the system.
• Establishing the project initiation team
Selecting those people within the organization who will become part of the analysis and
design team - requires matching people and skills to problems and circumstances. The
effective analyst should know the staff, their past work experience, and individual
personality traits as well as their technical strengths and weaknesses.
• Establishing a relationship with the customers
One or more analysts are assigned to work with a customer, i.e. a member of the business
group that requested or will be impacted by the project, to establish work standards and
communication procedures.
• Establishing the project initiation plan
• Establishing management procedure
Project Planning
Is the process of defining clear, discrete activities and the work needed to complete each activity
within a single project. The activities carried out may include the following; however these
depend on the size, scope and complexity of the project.
• Describing the project scope, alternatives and feasibility
• Dividing the project into manageable tasks
• Estimating resources and creating resource plan. Numerous assumptions about resource
and potential problems are made. The analysis justification for an information system
presented in terms of the tangible and intangible economic benefits and costs, and the
technical and organization feasibility of the proposed system.
• Developing a preliminary schedule – the time should be limited.
• Developing a communication plan
• Determining project standards and procedures
• Identifying and assessing risk
• Creating a preliminary budget
• Developing a Statement of Work (SoW)
• Setting a Baseline Project Plan (BPP).
Statement of Work
A sample SOW may include:-
• Title/Name of organization and Data of SOW
• Project Name
• Project Manager
• Customer
• Project sponsor
• Project Start/End (projected)
• Staff / Development estimates – Names and number of months.
Objectives.
1.)……………………………………………………………………………………………….
2.)……………………………………………………………………………………………….
3.)……………………………………………………………………………………………….
Phases of work
The following tasks and deliverables reflect the current understanding of the project.
1.)……………………………………………………………………………………………….
2.)……………………………………………………………………………………………….
3.)……………………………………………………………………………………………….
In the Analysis…………………………………………………………………………………………….
……………………………………………………………………….....................................................
…………………………………………………………………………………..…………………………
…………………………………………………………………………..…………………………………
………………………………………………………………..………...................................................
Scope
Name of Company………………………. Prepared by ………………………….
Project Objectives
1.)……………………………………………………………………………………………….
2.)……………………………………………………………………………………………….
3.)……………………………………………………………………………………………….
Project Description
Describe what the new IS will do………………………………………………………………………….
Business Benefits
1.)……………………………………………………………………………………………….
2.)……………………………………………………………………………………………….
3.)……………………………………………………………………………………………….
b) System Description
• Alternatives – provides a brief presentation of alternative system configurations.
eg. - Mainframe with central database
- Distributed with decentralized database
- Batch data input with online retrieval
- Purchasing of prewritten package.
At this stage, your objective is only to identify the most obvious alternative solution.
More details are covered during analysis stage.
• System Description – provides a description of the selected configuration and a narrative
of input information, tasks performed, and resultant function.
c) Feasibility Assessment
Provide a discussion, justification or analysis of all the feasibilities (feasibility study).
d) Management Issues
• Team configuration and management – provides a description of the team member roles
and reporting relationships.
• Communication Plan for managers, team members and customers
• Project standards and procedures – evaluation and acceptance of deliverables to the
customers.
Economic feasibility
This is a process of identifying the financial benefits and cost associated with development
project. It is often referred to as the cost-benefit analysis.
Technical feasibility
This is meant to gain an understanding of the organization ability to construct the proposed
system.
This analysis should include an assessment of the development groups understanding of the
possible target h/ware and operating environments to be used as well as system size/complexity
and the groups experience with familiar systems.
It also involves understanding the sources and types of technical risks of the project and how to
manage them.
The amount of technical risk associated with a given project depends on the following four
factors.
a) Project size - Number of members on the project team
- Project duration time
- Number of organization departments involved in project
- Size or programming effort
Large projects are riskier than small projects.
b) Project structure:-
New system or renovation of existing system(s) - organizational, procedural, structural,
or personnel changes resulting from the system. User perceptions and willingness to
participate in, with the effort of the management commitment of the system. A system in
which the requirement are easily obtained and highly structured, eg Payroll system, will
be less risky than the one in which requirements are messy, ill defined or subjected to
judgment by judgment of an individual eg. Executive Support System.
c) Development Group
Familiarity with target hardware, software development, environment, tools and
operating systems. Familiarity with building similar systems of similar size. The
development of a system employing commonly used or standard technology will be less
risky than one employing novel or non-standard technology.
d) User Groups
Familiarity with IS development process. Familiarity with IS proposed application area
Familiarity with IS using similar systems. A project is less risky when the user group is
familiar with the system’s development, process and application areas than if unfamiliar.
This enhances active involvement and cooperation between. The user and the
development groups
Political Feasibility
Is the process of evaluation on how key stakeholders within the organization view the proposed
system. This is not supporting the project, it may take steps to block, disrupt, or change the
intended focus of the system.
Analysis
The purpose of this phase is to fully understand the existing system and to determine the basic
information requirements needed to support the selected objectives and functions of the
organization. Analysis involves a substantial amount of effort and cost, and is therefore
undertaken after a full management approval.
The analysis process can be divided into 3 main activities to make the whole process easy to
understand.
1. Requirement Determination:- Fact finding activity.
2. Requirement structuring:- Creates a thorough and clear description of current business
operations and new information processing services. The results of the requirements
determination can be structured according to three essential views of the current and
replacement IS.
• Process – the sequence of data movement and handling operations within the
current system.
• Logic and Timing – The rules by which data are transformed and manipulated and
an indication of what triggers data transformation.
• Data – Shows the rules that govern the structures and integrity of data and
concentrates on what data, about business entities, and relationship among these
entities must be accessed within the system.
3. Alternative Generation and Selection:– Results in a choice among alternative strategies
for subsequent system design.
In addition to these deliverables, you need to understand the following components of the
organization.
1. Business objectives that drive what and how work is done.
2. The information people need to do their job i.e how data (definition, volume, size, etc) is
handled.
4. Organization Structure
• Establish organization charts for the departments
• Establish whether responsibilities are clearly defined or relegated
• Establish whether the workload is efficiently shared among staff
• Establish whether the organization structure can be improved.
6. Personnel
• Staff recruitment procedures, working conditions
• Whether staff are used to full potential
• Systems and procedures for job specification, approvals
• Adequate system for staff training and development.
ii) Unstructured interviews – a number of key points are used to build the interview. The
interviewer may even vary the line of questioning during the interview.
Objectives: Reminders
What data collected Background/experience of
on what to gain agreement Interview, know opinions
(eg. Content for certain report) of interviewee).
Advantages
- Previously unknown information can surface – which can be explored to reveal more
information.
- Put the interviewees at ease since they are able to respond in their own words using
their own structure.
- Give interviewees a sense of involvement and control in the interview.
Disadvantages
- Time consuming
- Response summary is difficult
Advantages
- Takes less time
- More topics can be covered
- Work well when major answers to questions are known
- Unlike collecting the info-via questionnaire, you can see body language and voice
tone as an aid to interpreting the interviewee’s response
- You can include an “other” option to encourage interviewee to add unanticipated
responses.
Disadvantages
- Useful information that does not quite fit into the defined answer may be overlooked
- Interviews are a very effective way of communicating with people and obtaining
important information. However, interviews are very expensive and time consuming
to conduct.
Advantages
- Not very expensive to administer per respondent
- Information can be gathered from many people in a short time
- Less biased in interpretation of results
Designing Questionnaires
Ways of administering questionnaires are:-
• Self-administered questionnaires
• In person resembling a structured interview
• Over the phone, and websites etc
Advantages
• Much more effective use of your time
• Interviewing several people together allows them hear the opinions of other key people
and give them an opportunity to agree or disagree.
• Synergies also often occur – comments of one person may add more idea to another
person.
Disadvantages
• Difficult in scheduling it by finding a convenient time and place for everyone techniques
of improving process of working with a group.
Other disadvantages.
• Time consuming
• Only a limited number of people at a limited number of sites can be observed
• Yields only a small segment of data from a variety of data sources.
• Cannot be continuous hence you only find a snapshot image of the person or task you
observe which may not include important events of activities
• Users – have a close understanding of what it means to use the system in a daily basis.
• Manager – Provide insight into new organizational directions, motivations for and
organization impacts of system and support for requirements determined during the JAD.
• Sponsor: can attend to learn from user and managers, not to run or dominate the process.
• Secretary – takes notes i.e. using laptops or p.c.
• IS staff e.g programmer, database analysts and data center personnel, may attend or lean
from the discussion and contribute possibly on this session.
The session should be in a room where participants sit around a horseshoe – shaped table,
equipped with white boards (possibly electronic), with a perimeter to make copies of what is
written on the board other audio/visual tools may be used. The end result of a JAD is a set of
documents that detail the workings of the current system related to the study of the replacement
system. CASE tools during JAD, the upper CASE tools may be useful to analysis during JAD eg.
diagramming tools and prototyping tools (computer form and report generation). The same tools
are useful for requirement structuring.
Process modeling
Involves graphically representing the function or processes, which capture, manipulate, store,
and distribute data between a system and its environments; between a system and its
environments are between components within a system.
A common form of a process model is a data flow diagram (DFD) which is one of the structure
analysis techniques. DFD is graphical tool that allows analysts to depict (model) the flow of data
in an information system, the relationship among the data flows, and how data can be stored at
specific locations.
These deliverables are simply staring what has been learnt from the acquirements determination.
Process
Data Store
Source/Sink
Data Flow
A dataflow is the data in motion, moving from me place of the system to another eg. data on a
customer order from or a payroll check. A dataflow could represent the result of query to a
database, the contents of a printed report, or data on a data entry computer display form.
A datastore is data at rest, which may take the form of many different physical locations for data
as a file folder, computer based about customers, students customer orders, or supplier invoices.
A process is the work or admits performed on data so that they are transformed, stored, or
distributed.
A source/ sink is the origin/destinations of the data.
X-tics of source and sink which are of interest to us.
• Interactions that occur between sources and sinks
• What a source/sink does with information or how it operates
• How to control/redesign a source/sink
• How to provide sources and sinks direct access to stored data
• A dataflow is depicted as an arrow in both the conventions. The arrow is labeled with a
meaningful name whichrepresent the aggregation of all the undivided elements of data
moving as part of one packet.
• A square is used in both conventions for sources/sinks and has a name that states what
the external agent is eg, customer, teller, inventory control system.
Example
Suppose you want to automate the operations of a busy restaurant. The physical subsystems are
Kitchen, dinning room, counter, storage and office. The subsystems interact and work together.
The environment consists of customers, food distributors, banks and neighborhood competition.
There is one interface i.e the counter where customers place order and another at the back door
where food and supplier are delivered. Another interface is the telephone that the managers use
regularly to talk with bankers and food distributors.
Customer Kitchen
Management Report
Restaurant
Manger
Customer Kitchen
1.0
Customer order
Receive and transform Food order
Receipt customer food order
Inventory
2.0 data 3.0
Goods
Update goods sold Update inventory
Sold
file file
1.1 1.3
Customer
Customer Receive Customer Order Transform Order
Order Order Forward
Cost Order
1.4
1.2 1.5
In general, a level-1 diagram is a DFD that is generated form nested decompositions from a
level-0 diagram.
4.1 4.2
Goods sold
data
4.0
Prepare management Management
report report
Types of DFDs
a) Current Physical DFDs
- The process labels include the names of people as their positions or names of computer
systems that might provide some of the overall systems processing.
- Data flows and data stores are often labeled with the names of the actual physical media on
which data flow or in which data are stored.
b) Consistency
The extent to which information contained on are level of a set of nested DFDs are also
included on other levels eg. a level diagram with no level – 0 diagram is inconsistent.
c) Timing
The DFD do not represent timing very well
d) Iterative Development
The first DFD you draw will already capture perfectly the system you’re modeling. You
should draw the same diagram over and over again, in an iterative fashion.
Primitive DFDs
Are the lowest level of decomposition for a DFD.
Rules for when to stop decomposing
• When you have reduced each process to a single decision or calculation or a single data
process operation, such as retrieve update.
• When the system user does not care to see any more detail
• When every data-flow does not need to be split in different ways.
• When you believe there is a separate process for each choice of all lowest level more
options for the system.
Logic Modeling
This involves representing the internal structure and functionally of the processes represented in
the DFDs deliverables and outcomes.
Structure description and diagrams that outline the logic contained within each DFD process as
well as diagrams that show the temporal dimension of system (events and states).
The diagrams are used to serve as unambiguous and through explanation of the system’s
specification, which are used to explain the system requirement to developer’s (people or tools)
code generation.
Invoice
Supplier Stock at
hand
Counts
1.0 2.0
Amount added
4.0
Amount
Generate payments D1 Inventory used
Inventory
Order 3.0
level
Generate order
Minimum order
quantities
Decision Tables
A matrix representation of the logic of a decision which specifies the possible conditions for the
decision and the resulting actions.
It has three parts
• Condition stub - list the conditions relevant the decision
• Action stub – That part of the decision table that list the actions that result for a given set
of conditions.
• Rules – Specify which actions are to be followed for a given set of conditions.
• Indifferent conditions - a condition whose value does not affect which actions taken for
two or more roles.
Decision Trees
A graphical representation of a decision or choice situation as a connected series of nodes and
branches.
They have two main components
• Decision point represented by nodes
• Action represented by ovals
Each node is numbered starting from the root node. Each number corresponds to a choice, the
choices are spelled out in a legend for the diagram.
3
False
Legend
Calculate Hourly Wage
1 Hours worked < 40
2 Hours worked = 40
Design
This is the first phase of the System Development Life Cycle in which the analyst and the users
develop a concrete understanding of how the system will operate.
The design of a new system can be divided into the following elements.
(a) User interfaces and Dialogues
(b) Inputs and Output – involves designs of forms and reports, visual display, printed
documents and other kind of media for presenting data. It is necessary to consider what is
required from the system before deciding how to produce it.
(c) File or database & components
(d) Procedures and programs
(e) Finding design specifications
(f) Processing and integrity are not necessarily sequential – for example the design of data,
system input and output, and interface interact to identify flaws and missing element.
Output
The bottom line reason for any system is, its output represents the information that results from
processing the raw data.
The specification of what output the user wants from a system, dictates both requirements for
input and files in the system. Output design will cover three separately identifiable types of
results.
• External output – is produced by system for use outside the company e.g invoices
purchase orders, withdrawal receipts in banks e.t.c
• User Output – Serves for clerical or auditing functions e.g management reports, error
reports and audit listing.
• Internal Output – information relating to the operation of the system itself, such as file
usage or performance reports, a system operating statistics and control totals reports
Input Design
The design of input is important because in most computer systems, data is first of all collected
in human – sensible form and must be converted into computer input.
Definitions:
File – a named collection of related data it can contain; program instructions, text and data,
numerical data and graphics
Database - a shared collection of logically related data, stored with minimum duplication and
designed to meet the information needs of multiple users in an organization
Database Management system (DBMS) - A suit of programs that help to manage the database by
facilitating shared access to data, maintain reliability, security and integrity of the data.
Database design
1. Structure the data in stable structures called normalized table, that are not likely to
change over time and that are not likely to change overtime and that have minimum
redundancy
2. Develop a logical database design that reflects the actual data requirement that exist in
the forms and reports of and information system.
3. Develop a logical of an information system - we can do physical database design.
4. Translate a relational database model into a technical and database design that balance
several performance factors
5. Choose data storage technologies
The relational database model represents data in the form of related table or relations.
A relation is a named two-dimensional table of data each relation consists of a set of named
columns and an arbitrary numbers unnamed rows, each column of a relation corresponds to an
attribute of that relation, each row of a relation correspondents to a record that contains data
values for an entity.
For example, a relation named EMPLOYEE can have attribute such as empID, name, dept, and
salary you can express the structure of a relation by a short hand notation in which the name of
the relation is followed in parenthesis by names of the attributes in the relation. The identifier
attribute (Primary key) is underlined as shown below.
Not all tables are relations. Relations have several properties that distinguish them from non
relational tables
• Entries in cell are simple- having a single value
• Entries in a given column are from the same set of values.
• Each row is unique
• The sequences of columns can be interchanged without changing the measurers or
use of the relation
• The rows may be interchanged or store in any sequence.
Normalization:
This is a process for converting complex data structures into simple, stable data structures. It
helps in designing a well structure relation. Normalization is based on the analysis of functional
dependence.
A functional dependency, for a given relation, attribute B is functionally dependent on attributed
A represented by A-B, if for every valid value of A, uniquely determines the value of B for
example, EmpID – Name functional dependence does not imply mathematical – that the value of
one attribute may be corrupted from the value of another attributes, rather A – B means that these
can only be one value of B for each value of A.
This relation is not well structured since it contains data about two entries, Employee and
Course, an employee can teach several courses.
We can have EmpID, Course, and Date completed as the instance or sample data. In a relation,
do not prove that a functional dependency exists. Only knowledge of the problem domain,
obtained from a thorough requirements analysis, is a method for identifying a functional
dependency. However, you can use a sample data to demonstrate that a functional dependency
does not exist between two attributes.
Example
A B
X Z
Y X
Z Y
Y Z
The sample data in this relation proves that B is not functionally dependent on attribute A
because A does not have a uniquely determination.
Rules of Normalization
Normalization is based on a well accepted principle and rules besides the five properties of
relations outlined above, these are two other frequently used rules.
The non- primary key attribute name, dept and salary are functionally dependent only on EmpID
but not on course. Therefore EMPLOYEE has redundancy which results in problems when the
table is updated.
To convert a relation to 2NF, you decompose the relation into new relations using the attributes
called Determinant, that determine other attributes; these are the primary keys of these relations
EMPLOYEE2 is decomposed into the following two relations:
This relation is in 2NF, the primary key consists of a single attributes (customerID)
The following functional dependencies exist in the sales relations.
• SALES (customerId, customer_name, sales_person, region)
• SALES1(sales_person, region) //each sales person is assigned to a unique region//
Since these exist transitive dependencies in the relation, there may be data maintenance problems
• If a single customer number is deleted from the table, we lose the information that
the salesperson associated with the customer is assigned to a specific region.
• If a single salesperson is assigned to another region, several rows must be
changed to reflect that fact.
These problems can be avoided by decomposing SALES into two relations based on the two
determinants persons (sales_person, region)
Note the salesperson is the primary key in person and is also a foreign key in SALES1
A foreign key is an attribute that appears as non primary key attribute in one relation and as a
primary key attribute in another relation. A foreign key must satisfy referential integrity, which
specifies that the value of an attribute in one relation depends on the value of the same attribute
in another relation.
Transforming Entity-Relation diagrams into relations an Functional-Relation diagrams is
transformed into normalized relations by following well – defined principles for example, each
entity becomes a relation and each many relationships or associative entity also becomes a
relation.
You must also know the type of files to develop in general, there are seven types of files. Each
one is useful to different data classifications.
• Masterfiles: Dynamic or changing files - These hold most of the permanent or variable
data within the system.
• Transaction files: Temporary files that record the occurrences of the business later posted
or updated into the masterfile.
• History files: Static files, copies of old master or transaction files
• Reference files: Abbreviated files used to aid processing of data
• Work files: Temporary files created for the use of a program e.g sort files
• Report files: Print files - store an image of the output and may either be deleted or stored
on other media for archival purposes.
• Restart files: Temporary files that are created by long running programs.
A physical file is a named set of table rows stored in a contiguous section of secondary memory.
The way in which the operation system arranges table rows (records) in a file with a view to the
retrieval of data/information is called file organization.
2) Menu Interaction
This is a human computer interaction method where a list of system options is provided and a
where a list of system options is provided and a specific command is invoked by user selection
of a menu option. A menu is simply a list of related options that invoke a command. There are
two common methods of positioning menus:-
Pop-up Menu: Places a menu near a current cursor position. They show a list of
commands related to the current cursor position.
Drop-down Menu: Places the access point of the menu near the top line of the display;
when accessed, menus open by dropping down onto the display.
3) Form Interaction
This is a highly intuitive human computer interaction method whereby data fields are formatted
in a manner similar to paper based forms. It allows users to fill in the blanks when working with
the system. It is effective for both the input and presentation of information. An effectively
designed form includes a self-explanatory little and field headings, has fields organized into
Designing Layouts
To ease user training and data recording, you should use standard formats for computer based
forms and reports similar to paper based forms and reports for recording and reporting
information.
Designing Dialogues
This is the process of designing the overall sequence that users follow to interact with an
information system. A dialogue is to sequence in which information is displayed to and obtained
from a user. As a designer, you should select, the most appropriate interaction method and
devices and to define the conditions under which information is displayed and obtained from
users. There are three major steps:-
1) Designing dialogue sequence
Control measures
Physical Security
These control computer fraud, embezzlements, and unauthorized access. The measurers include.
• System development and maintenance control. This ensures development of effective and
adequately controlled system eg. defining accounting polices o\and record-keeping
procedures prescribed by taxing and regulatory agencies.
• Segregation and rotation of duties – This means that duties are defined and segregated to
specific user areas for providing checks and balances. Personnel should be rotated
periodically.
• Authorization of software installation and use of foreign storage media.
• Enforcement of physical security such as burglar proofing, and security guards.
• Enforcing safety measures such as extinguishers. Fire detectors, fireproof cabinets.
• User of computers with lockable keyboards.
• Use of power stabilizers or UPSs.
System Security
System security emphasizes the need to maintain the integrity of the system software, programs,
and data when the system is in use. The analyst must give attention to the protection of the
system long before it is in production.
b) System Backups
Any good system has a predefined schedule for system backup. The backup, whether on tape or
removable disk or CD, because one may loss valuable data if the system crashes, or if data is
inadvertently lost. Scheduling system backups depends on the nature of data contained in the
system
c) Audit Trails
This is a documentary evidence of the activity within the system. It can be an activity reports of
file updates, a data file dump of pre-processing contents or control reports. These documents
system monitoring.
d) Use of Antiviruses
System Implementation
The purpose of implementation is to build a properly working system by turning the physical
specifications into working computer code, testing the code, installing the system, finalize
system and user documentation, train users and prepare support system to assist users.
Implementation phase of the SDLC, is only second to maintenance in cost and time
consumption.
System implementation is made up of many activities
• Coding
• Testing
• Installation
• Documentation
• Training
• Support
Coding
The process whereby the physical design specifications created by the analysis team are turned
into working computer code by the programming team.
Testing
Once coding has begun, the testing process can begin and proceed in parallel. As each individual
module is produced, it can be tested individually, then as part of other larger system.
Testing S/ware begins earlier in the SDLC even though many of the actual testing activities are
carried out during implementation. During analysts you develop a master test plan which
specifies what each person’s role will be during testing. The test plan also servers as a checklist
to determines whether all of the master test has been completed.
Since at least some of the system testing will be done by people who have not been involved in
the system development, there should be an introduction in the test plan to provide general
information about the system and the needs for testing.
Types of Tests
1) Inspections:- This is a testing technique in which participants manually examine code for
occurrences of well-known errors. The code is compared to a checklist of well-known
errors of the language.
2) Desk checking:- This is an informal process where the programmer or someone else who
understands the logic of the program works through the code manually
3) Unit Testing/Module Testing:- Each module is tested alone in an attempt to discover any
errors in its code.
4) Integration Testing:- The process of bringing together all of the modules that a program
comprises for testing purposes. Modules are typically integrated in a top-down
incremental fashion.
The types of tests performed during alpha testing include the following:-
• Security testing:- Verifies that protection machines built into the system will
protect it from improper penetration
• Stress Testing:- Tries to break the system eg. what happens when a record is
written to the database with incomplete information.
• Performs testing:- Determines how the system performs on the range of possible
environments in which it may be used. E.g. different h/ware configurations,
networks, operating systems, etc.
In beta testing, a subset of the intended users run the system in their own environment using their
own data. The intent of the beta test if to determine whether the s/ware, documentation, technical
support, and training activities work as intended. In essence, beta testing can be viewed as a
rehearsal of the installation phase.
Installation
This is the process of changing over from the current information system to new one.
Under direct installation, users are at the mercy of the new system. If the new system tools,
considerable delay may occur until the old system can be reinstated and transactions re-entered
to make the database up-to-date.
Disadvantages:-
• Can be very risky.
• Requires a complete installation of the whole system for a large system, this may mean a
long time until the new system can be installed , thus delaying system benefits
2) Parallel Installation
This is where the old and the new systems are running concurrently using the same inputs until
the management decides the old system can be turned off.
Outputs are compared to help determine whether the new system is performing as well as the
old.
Advantage
• Gives the management – time to fully test the new system while still retaining the
existing one. Errors discovered in the new system do not cost organization much.
Disadvantages
• Costly because of the amounts of duplication involved running two systems implies
employing new staff or overtime working for existing staff to operate and maintain both
systems.
• Is only possible where the outputs from the old and new systems are easy to reconcile.
• Can be confusing to users since they must deal with both systems.
• There can be a considerable delay until the new system is considerably ready for
installation.
A parallel approach may not be feasible, especially if the users of the system (such as customers)
cannot tolerate redundant effort or the size of the system is large.
Advantages
• It limits potential damage and potential cost by limiting the effect to a single site. The
new system is deployed in the rest of the organization only if the management has
determined that installation has been successful at the pilot site
• Problem with the system (the actual s/ware as well as documentation, training and
support) can be resolved before deployment to other sites.
Disadvantages
• It still places a large burden on IS staff to support two versions of the system.
• If different locations require sharing of data, extra programs will need to be written to
synchronize the current and new system.
Advantages
• By converting gradually, the organization risks is spread out over time and place.
• It allows for some benefits from the new system before the whole system is ready
• Each phase of change is smaller and more manageable for all involved.
Disadvantages
• The new and replaced systems must be able to co-exist and probably share data. Thus,
bridge programs connecting old and new databases and programs often must be built.
• It is not feasible if the old and the new systems are incompatible.
• The approach is akin to bringing out a sequence of releases of the system, and a long
period of change which may be frustrating and confusing to users.
Planning Installation
Each installation strategy involves converting not only software but also data and hardware,
documentation, work methods, job descriptions, officer and other facilities, training materials,
business forms and other aspects of the system(of special interest in the installation is the
conversion). The existing master file will need to be converted into the new form or will need to
be converted into a database.
The current data must be made error-free, unloaded from current files, combined with new data,
and loaded into new files, Also to be doe may include:-
• Reformatting data to be consistent with more advanced databases supported by the new
system.
• Entering new data fields in large quantities
• Manual tasks, such as taking a physical inventory to validate the data before being
transferred.
The shutting down of the current system should be done typically at office hours. The installation
schedule should be announced to users well in advance to lot them plan their work schedules.
Successful installation steps should also be announced, and special procedures put in during
installation. You should also plan for emergency staff to be available in case of system failure.
Training
Computing infrastructure is made up of all the resources and practices required to help people
adequately use computer systems to de their primary work. It includes user training and support
may include the following.
o Use of the system
o General computer concept
o Information system concepts eg. batch processing
o Organization concepts eg. FIFO inventory accounting
o System management.
o System installation eg. how to reconcile current and new system during phase
installation.
Electronic Performance Support Systems (EPSS) which are online help systems that go beyond
simply providing help but embed training and educational information into software package. An
EPSS can take several forms such as a tutorial, an expert system shell, and hypertext jumps to
reference material. These may be delivered via videotapes, CD-ROMs, company intranets and
the internet.
User Support
This involves providing on-going educational and problem solving assistance to information
system users.
In an attempt to cut the costs of providing support and to catch up with the demand for additional
support service, vendors have automated much of their support offering. The methods of
automation include on-line support forums, bulletin board systems, on demand fax and voice
response systems.
2) Transforming request into changer conducted to gain an understanding of the cope of the
request. It must be determined how the request will affect the current system and the duration of
such a project. The size of the maintenance request can be analyzed for risk and feasibility.
3) Designing Changes
A change request is transformed into a formal design change, which can then be fed into the
maintenance implementation phase
4) Implementing changes
Types of maintenance
1) Corrective maintenance – Involves changes made to a system to repair flaws in its design
coding, or implementation.
2) Adaptive maintenance – changes made to a system to evolve its functionality to changing
business needs or technologies.
3) Perfective maintenance - changes made to a system to add new features or to improve
performance.
4) Preventive maintenance – changes made to a system to avoid possible future problems.
Maintainability is the case with which software can be understood, corrected, adapted and
enhanced.
The following factors can affect maintainability especially the cost element.
1) Number of latent defects (unknown) when it is installed. If there are no errors in the system
after it is installed, then maintenance cost will be relatively low.
2) Number of Customers for a given system that a maintenance group must support. The greater
the number of customers, the grater the maintenance cost. For a system with thousands of users,
change requests may be contradictory or incompatible and error reports may come from many
places, and modification problems, customer support, and system signification problem.
6) Software structure - well structured programs make it much easier to understand and fix
program