Sad Lesson Notes
Sad Lesson Notes
CHAPTER 1
SAD: It is the process of designing, building and maintaining information systems (Computer programs).
The individual who performs this task is called system analyst or software engineer.
Terms definition
System: it is a set of components that work together to achieve a common goal or objective
Data: it is a collection of raw facts, figures and symbols which must be arranged or processed in order to
be meaningful.
Examples: names of students and their marks in different subjects listed in random order.
Information: it is data which has been processed to a point where it conveys knowledge and represents a
usable statement
Examples: when the names of students are arranged in alphabetical order, total and average marks are
calculated and represented in tabular form.
Information technology (IT): It is the study, design, development, implementation and management of
computer based systems, particularly software applications and computer hardware.
CHAPTER 2
SYSTEMS THEORY
System: It is a collection of objects or components that work together to realize some objectives.
This means that systems exist on more than one level and can be composed of subsystems.
Subsystem A1
Subsystem A2
Components/elements of a system
Resources
Procedures
Data/information
Process
Resources
Hardware resources may include: the computer, its peripherals, stationery etc.
Live ware resources include people required to operate the system and make it functional.
Procedures
Every system functions under a set of rules that govern the system to accomplish the defined goal of the
system.
Example: Banking systems have their pre-defined rules for providing interest at different rates for
different types of accounts.
Data/information
To achieve goal/objectives the system requires certain input which is converted to the required output.
Processes
Systems have processes that make use of resources to achieve the set goals under the defined
procedures.
Characteristics of a system
A system has 9 characteristics.
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.
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.
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.
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.
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.
Interfaces
This is the point of contact where a system meets its environments or where subsystems
Meet each other. E.g. 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:-
i. 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.
Detecting and correcting errors in its interaction with the environment.
ii. Buffering - providing a layer of slack between the system and its environment, so that the
system and its environment can work on different cycles and at different speeds.
iii. Summarizing raw data and transforming them into the level details and format needed
throughout the system.
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.
Input
This is whatever a system gets from its environment, e.g. raw data.
Output
This is whatever a system returns to its environment in order to fulfill its purpose
Classification of Systems
1) 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 etc.
2) 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.
3) Abstract systems
These are conceptual. They are not physical entities. They maybe formulas, representation or model of a
real system.
SYSTEM PROPERTIES
Hard properties
These are attributes that enable data to be measured .e.g. Cost of an item, number of employees in an
organization etc.
Often engineering or science data has hard properties that can be measured.
Soft properties
Are attributes that are not capable of precise measurement e.g. there is nothing an individual can use to
say a material is attractive
Hard systems
Soft system
There are infinitely many ways to solve the problem. Problem cannot be specified precisely.
Information systems
It is a set of interrelated components or elements that collect, process, store and distribute information
to support decision making and control in an organization.
A computer based information system is an information system that uses computer technology to
perform some or all of its intended tasks.
FEEDBACK
People resources
Hardware resources
Software resources
Data resources
Procedures
Network resources
People resources
End users are people who use an information system or the information it provides. They can be
customers, sales persons, clerks or accountants
Information specialists are people who develop and operate information systems. They include system
analysts, software developers, database designers and system operators.
System analysts design information systems based on information requirements of end users.
System operators help to monitor and operate large computer systems and networks.
Hardware resources
Software resources
Software includes system software such as operating system and application software.
Data/information resources
Data can take many forms including alphanumeric data, numbers, letters, images/pictures and other
characters that describe business transactions.
Procedures
Every system functions under a set of rules that govern the system to accomplish the defined goal of the
system.
Network resources
QUESTIONS
The System Owner is a key contributor in developing system design specifications to ensure the security
and user operational needs are documented, tested, and implemented
A systems analyst is an information technology (IT) professional who specializes in analyzing, designing
and implementing information systems.
CHAPTER 3
TYPES OF INFORMATION SYSTEMS
It is a computerized system that performs and records the daily routine transactions necessary to
conduct the business.
A business can have several transaction processing systems examples are stock control system, inventory
system, billing system, order tracking systems.
They are used by operational level employees to help them make structured decisions.
These are systems designed to help businesses create and share information.
They are used in a business where employees create new knowledge which can then be shared with
other people in other organization to create further commercial opportunities. E.g. AUTO-CAD, Arch-
CAD.
It is an information system at the management level of an organization that serves the functions of
planning, controlling and decision making by providing routine summary reports.
They take data from TPS and summarize them into a series of management reports. They make semi-
structured decisions.
It is an information system at management level of an organization that combines data and sophisticated
analytical models to or data analysis tools to support semi-structured and unstructured decision making.
A decision is considered unstructured if there are no clear information or procedure for making the
decision.
Components of a DSS
Provides information about relationships about data that is too complex for a database to represent.
Characteristics of a DSS
They gather, summarize and analyze the key internal and external information used by the business.
It is a computer based system that emulates the decision making ability of a human expert.
They are designed to solve complex problems by reasoning about knowledge like an expert and not by
following the procedure of a developer as in the case in conventional programming.
-preservation of knowledge: Expert systems preserve knowledge that might be lost through
retirement, resignation, or death of an expert or acknowledged person in a company.
-it is not subject to human feeling such as fatigue, being too busy or emotional.
-an expert system can effectively be used as a strategic tool in the areas of marketing of
products, cutting costs and improving products
-knowledge designing problem: enormous amount of time and effort is required to extract the expert
knowledge and translate it into IF/THEN rules upon which an expert system is based.
-programming problem: programming the system and monitoring the source code is very difficult
-judgment problem: an expert system cannot apply judgment which is an important ingredient for
problem solving. It has no common sense or judgment.
It is an information system designed to capture, store and manipulate, analyze, manage and present all
types of geographical data. Example Google earth.
Executive support
Figure below shows the relationship between the different systems:
system (ESS)
Providing clear requirements and expected project outcomes to the development team
Review and confirm major SDLC work products for the project (system development life cycle)
Improved quality of the system arising from more accurate user requirements
Acceptance of the system
When users are involved in system development, they are more likely to accept it than reject it.
Short training period: There is greater understanding of the system by users resulting in more
effective use.
System analyst
Collects information to analyze and evaluate existing or proposed systems.
Prepares detailed flow charts and diagrams outlining systems capabilities and processes.
Prepares and maintains system documentation
Conducting technical research on system upgrade, define feasibility, cost, time required and
compatibility with current system.
Documenting system problems for future reference.
Skills of a system analyst
Problem solving skills.
Leadership qualities.
Good communication skills.
System developer/programmer
Converting software specification requirement into appropriate programming languages.
Writes and tests the source code.
Observing, testing, diagnosing and fixing faults in the software.
Training system users on how to use the system.
Modifying and updating the system.
Software project manager
Creating clear and attainable project objectives.
Management of the team. The software project manager co-ordinates software development
activities.
Controlling budget, confirms resources are within budget.
Performance monitory: monitors performance against the plan.
Approves project deliverables.
CHAPTER 5
Meaning
SDLC is a set of activities that system analysts, designers and users carryout to develop and implement
an information system
Stages/phases of SDLC
Preliminary system
study/preliminary investigation
System design
System testing
System coding
1. Time consuming
2. Never backward (Traditional)
3. Little room for iteration
4. Difficulty responding to changes
Advantages of SDLC
Project management
Breaking down a project into phases has distinct advantages in that each stage can be specified, planned
and evaluated before moving onto the next stage.
Documentation
SDLC tends to be associated with thorough documentation. Each stage has its own documentation
standards and this makes the quality assurance process much easier.
Disadvantages of SDLC
Inflexibility
This is because SDLC has distinct sequential phases; it is regarded as inflexible especially for smaller
systems.
Old fashioned
SDLC is associated with structured techniques and many of these have been found to be inappropriate
for today’s modern system.
SYSTEM DEVELOPMENT METHODOLOGIES
It is a formalized, standardized and documented set of activities used to manage system development.
SSADM is a set of standards for system analysis and application design. It is based on the waterfall
model.
Characteristics of SSADM
Each object represents some entity of interest in the system being modeled and is characterized by its
class, its state and its behavior.
Object oriented analysis applies object modeling techniques to analyze the functional requirements of a
system.
It is a software development methodology that has minimal planning in favor of rapid prototyping.
Planning of software developed using RAD is interleaved with writing the software itself.
The lack of extensive pre-planning allows the software to be written much faster and makes it easier to
change requirements.
PHASES OF RAD
This phase combines the elements of the planning and system analysis phase of the SDLC.
Users, managers and ICT staff members discuss and agree on business needs, project scope, constraints
and system requirements.
It ends when the team agrees on the key issues and obtains management authorization to continue.
Users interact with the system analyst and develop models and prototypes that represent all system
processes, inputs and outputs.
Construction phase
This phase focuses on program and application development tasks similar to the SDLC.
In RAD however, users continue to participate and can still suggest changes or improvements as actual
screens, forms or reports are developed.
This phase resembles the final tasks in the SDLC implementation phase, including data conversion,
testing, and change over to the new system and user training.
Advantages of RAD
This is achieved by rapid prototyping and by using automated tools like computer aided software
engineering tool(CASE tools) that enable the developer to re-use previously generated code thus saving
the time needed four manual coding.
Reduced cost
RAD involves the use of existing re-usable components leading to lower cost of production.
In RAD, there is active participation of the management, the development team, as well as the business
owners and end users.
The RAD methodology involves active participation of the customers and end users in all stages of
analysis and development of the system.
Disadvantages of RAD
Advantages of JAD
Time saving
All stakeholders are usually in the same place at the same time with no outside distractions. This enables
the group to reach consensus on the requirements of the system much faster
Cost saving
Due to the interactive nature of JAD, all issues and ideas can be discussed resulting in a system that
meets everyone’s expectations.
Disadvantages of JAD
Time commitment
All JAD participants must be able to meet at the designated times and will need to suspend all other
activities for these periods.
JAD commitment
JAD can only produce effective and productive results if the organization is firmly committed to the
approach.
Well-structured problem situation with well-defined clear requirements can be handled with
traditional SDLC approach
Unclear user requirements can be addressed by RAD through prototyping where a model of
proposed system can be presented to the user in order to assist in capturing and understanding
user requirements.
a) Waterfall model
Outlines the series of steps that should occur when building an information system.
The steps usually occur in a pre-defined order with review at the end of each stage before the next can
be started.
Preliminary investigation or problem
definition
Feasibility study
System analysis
System design
Illustration.
System coding
System testing
System implementation
If any mistake happens in any stage developers may have to start from the beginning.
It is not simultaneous. Several activities cannot be done at the same time.
b) Prototyping model
A prototype is a usable system or system components that is built quickly and at a lesser cost and with
the intention of being modified or replaced by a full scale operational system.
Prototyping process
The initial prototype is developed that enables users to interact with data entry, display forms, menus
and input forms.
Customers including end users examine the prototype and provide feedback on additions or changes.
Using the feedback, both the specifications and the prototype can be improved.
If changes are introduced, then a repeat of step 3 and step 4 will be needed.
TYPES OF PROTOTYPING
Throw away or rapid prototyping refers to the creation of a model that will eventually be discarded
rather than becoming part of the final delivered software.
A simple working model of the system is constructed to visually show users what their requirements may
look like when they are implemented into a finished system.
Evolutionary prototyping
The main goal/objective when using evolutionally prototyping is to build a very strong prototype and
constantly refine it.
The prototype when build, forms the heart of a new system and the improvements and further
requirements will be based on it.
Incremental prototyping
The final system is built as separate prototypes.
Advantages of prototyping
The early determination of what the user really wants can result in faster and less expensive software.
It requires user involvement and allows them to see and interact with the prototype, hence allowing
them to provide better and more complete feedback and specifications.
Users can begin to think that a prototype intended to be thrown away is actually a final system that
merely needs to be finished and polished.
This can lead to them expecting the prototype to accurately model the performance of the final system
when this is not the intention of the developers.
Developers can become attached to the prototype that offers a great deal of efforts producing and this
can lead to problems like attempting to convert a limited prototype into a final system.
If the developers lose track of the fact that they are supposed to develop a system very fast, they may
end up developing a prototype that is too complex.
c) Spiral model
It is an alternative systems development model in which the stages of analysis, design, coding and review
repeat as new features of the system are identified.
d) V-model
The testing activity is performed in each phase of software life cycle. The v-model shows software
development activities on the left hand side of the model and the right hand side of the model shows
testing phases activities.
Product out phase
Integrated
System design
software
e) Incremental model
With this approach, a model is designed, implemented and tested incrementally until the software is
completed.
CHAPTER 6
It is the activity of identifying the problem and understanding any constraints that may limit the solution.
Preliminary system study/investigation involves the preparation of a system proposal which lists the
problem definition, objectives of the study, and terms of reference for study, constraints and expected
benefits of the new system in the light of the user requirements.
The system proposal is prepared by the system analyst and places it before the management. The
management may accept the proposal and the cycle proceeds to the next stage or may reject the
proposal or request some modifications in the proposal.
It helps one to know who initiated the project, objectives of the project and benefits of the project.
Contents of TOR
o Personnel involved
o Subject involved
o Available resources
o Estimated duration for developing the system.
o Estimated cost of development and implementation.
o Departments that are affected during system implementation.
PROBLEM STATEMENT
A problem statement defines a description of issues and problems that require to be solved.
Example
The college student registration system is unable to cope with the high volume of telephone calls
received at registration time.
Signals and long distance charges are the problem of the telephone registration system.
Students on campus, off campus and out the country can easily and in expensively take advantage of the
many services provided by the college.
At the end of this phase, a preliminary study report or system proposal is produced and presented to the
sponsors for approval.
It is the measure of how beneficial the development of an information system will be to an organization.
It assesses the operational, technical and economic merit of the proposed system.
The aim of feasibility study is to understand the problem and determine whether it is worth proceeding.
Economic feasibility
Technical feasibility
It means investigating whether the technology exists to implement the proposed system or whether
there is a practical solution.
It is a measure of the practicality of a specific technical solution and the availability of technical
resources and expertise.
Operational feasibility
Operational feasibility is concerned with whether the current work practices and procedures are
adequate to support the new system.
Schedule feasibility/time
It is a measure of how long it will take the new system to become operational. It looks at how long it will
take to develop a system or whether it can be done in a desired time frame.
Legal feasibility
Determines whether there is any conflict between the proposed system and the legal requirements.
Example: legal feasibility study, will determine whether the system violates data protection act.
Social/behavioral feasibility
If the report concludes that the project should go ahead and this is agreed by the senior managers,
detailed requirements analysis will proceed.
SYSTEM ANALYSIS
It is the process of gathering and interpreting facts and using the information to recommend
improvements to the system.
It is also a process of examining business situation in order to develop a system to solve existing
problems.
SYSTEM DESIGN
It is the process of defining the architecture, components, modules, interfaces and data for assisting to
satisfy specified requirements.
It is also the process of designing and developing systems to satisfy specified requirements of the user.
System design is based on the user requirements and the detailed analysis of the existing system.
Types of design
1. Logical design
2. Physical design
Logical design
It is a graphical representation of a system showing the system processes and the flow of data into and
out of the processes.
To represent the logical design of a system, the system analyst can use different diagrams like:
flowcharts, data flow diagrams (DFD), entity relation diagrams(ER) etc.
Physical design
It is a graphical representation of a system showing the system’s internal and external entities and the
flow of data into and out of the entities.
Concerned with how users add information to the system and with how the system presents information
back to them.
Data design
Concerned with how data is represented and stored within the system.
Process design
Concerned with how data move within the system and with how/where it is validated, secured or
transformed as it flows into, through and out of the system.
Flowcharts
Decision
Flow of data
Process
Connector
Represents the flow of documents and operations performed in data processing system.
Example:
Algorithm
Stop
Start
YES
Is C=0
Print C, F
Stop
Run flow charts
Used to represent the logical relationship of computer routines along with inputs, master files,
transaction files and outputs.
Input data
RUN 1
Display
temperature C
RUN 2
Calculate F
Represents in detail the various steps to be performed within the system for transforming the input into
output.
Serves as the basis for discussion and communication between the system analyst and the programmers.
Program flow charts are helpful to programmers in organizing their programming efforts.
Start
S=0
I=1
S=s+I
I=I+1
PRINT
IS I >5 SUM=”5” End
The registrar of wananchi technical institute intends to develop a system that will be used during the
interview of new students.
During the interview, it is intended that the students undertake four written examinations. The proposed
system would input the result. The system would then verify entry of marks before computing the
average for each student. The system would then print “Pass” if the average is >80 else print “Fail”.
Start
Enter results
NO
Is average>=80 FAIL
YES
PASS
STOP
Complex logic: when the program logic is completed, the flow chart will become complex.
Alterations and modifications: If alterations are required, the flow charts may require redrawing
completely.
CONTEXT DIAGRAMS
Also shows the entities that are providing or receiving that data.
The context diagram helps to define system boundary to show what is included and what is excluded
from the system.
A certain company has a budget monitoring system (BMS) for its external entities namely
department, Board of Directors (BOD) and suppliers. Each department channels its spending
requests to the budgetary monitoring system, which ensures that the departmental budgetary
allocation is not exceeded. The system then transmits the budgets to the BOD for approval. On
approval, it is the function of the BMS to send orders to the suppliers. On receipt of the orders,
the supplier channels the delivery note to the respective departments. In certain cases, the
requests are rejected when they exceed the budgetary allocation. The BMS generates summary
reports.
Draw a context diagram to represent this information.
Se
Suppliers or nd ary
de Summ B.O.D
rs ts
repor
De
l
no ivery BUDGET MONITORY
te
SYSTEM
it
n sm
g Tra get
n din bu
d
e t
Sp ues
re q
ry
live
De e
Department
not
DFD is a graphical representation of a systems data and how the processes transform data.
DFD is a graphical tool that allows system analysts and system users to depict the flow of data in an
information system.
DFD is intended to serve as a communication tool among systems analyst, end users, DB designers,
system programmers and other members of the project team.
Components of DFD/Notations/Symbols
External entities
May represent job titles or other systems that interact with the system to be built.
Or
Process
These are actions carried out with the data that flows around the system.
A process accepts input data needed for the process to be carried out and produces data that it passes
on to another part of the DFD.
Process Where/who
identifier
Process name
Example of a process
1 Registrar
Enter student
details
Data store
D1 Invoices
Example of data store.
Data flows
Applicant’s name
1. Any data flow leaving a process must be based on data input to the process
2. All data flows are named. The name reflects the data flowing between processes, data stores
and sources.
3. Only data needed to perform the process should be an input to the process.
4. All processes in DFD must be linked to either another process or a data store.
5. Each data store must have at least one data flow going into and one data flow leaving it.
6. Data must be moved by a process from a one data store to another.
1 Entry clerk
D1 Customer orders
Edit order
Customer
D1 Shipping schedule
1 Shipping clerk
Gather shipment
products
D1 Products
Exercise
An external entity “supplier” sending an invoice to a process “deals with payment”. Assume the
process takes place in the accounts division.
A process called “update membership” writing customer details to a data store called customers.
Assume the process is performed by the membership secretary.
A process called “order raw materials” is performed by the purchasing clerk. To do this, the clerk
retrieves details from the supplier data store and sends the purchase order to the external entity
supplier. The clerk also stores the purchase order details in a data store “purchase orders”.
ENTITY LIFE HISTORY DIAGRAM
It is a map that attempts to map the possible life of each occurrence of an entity from creation to
deletion.
ELH is part of the event model and shows the effects of time on an entity or the dynamic behavior of the
system data.
Entities have lives in that over time things happen to them which change their state.
- Sequence construct
Shows things that are expected to happen one after the other
The thing that is expected to happen first is positioned to the left and at the same height as the thing
that is expected to follow it.
ENTITY NAME
Selection construct
ENTITY NAME
Iteration construct
These are entities that occur many times for each particular occurrence of an entity. It is represented
using (*)
* e.g
Payment *
.
Parallel construct
Example of entity life history diagram
Employee
New staff
New Salary paid
Recruited
trainee Resigns Fired
Accepted *
Data dictionary
The data dictionary holds data about data and can be made to appear as a table.
The description might include: data type, element size, attribute entity relationships, entity descriptions
and validation range of values.
Field name description Data type form Field size key validation
Pay roll A unique no number - double primary N
number given to an
employee
First name First name text - 30 N
of the
person
Last name Last name text - 30 N
of the
person
Date of date DD/MM/YY 8 Must be a
birth date
DECISION TREEE
A decision tree helps to show the paths that are possible in a design following an action or decision by
the user.
Illustration
1. If order is from book store and if order is for 6 copies, then discount is 25%.else if order is for less
than 6 copies no discount is allowed. Else if order is from library and if order is for 50 copies or
more, then discount is 15%.else if order is for 20-49 copies, then discount is 10%.else if order is
for 6-15 copies, then discount is 5%.else if order is for less than 6 copies no discount is allowed.
Amua Sacco limited issues loans to its members using the following criteria.
A member would qualify for a loan if he/she has operational FOSA account for the last three
years and he/she has never defaulted loan. In addition, a member should have 3 guarantors and provide
proof of reliable monthly income.
It is a narrative form of English written as a series of blocks that use indentation and capitalization to
represent hierarchical structure of logical specifications.
It is used when process logic involves formulas or iteration or when structured decisions are not too
complex.
A good structured English statement reads like a short sentence. By convention, only key words such as
IF, THEN, REPEAT, DO, UNTILL, WHILE are capitalized. Data names and the general English needed to
complete a sentence or a phrase are lower case.
Format/syntax:
IF (some condition)
END IF
DO WHILE <condition>
END DO WHILE
e.g.
END IF
Read a record
END DO WHILE
Example
First it determines whether claims are valid. If a claim is invalid, the process terminates with regrets.
Otherwise the claim will be processed depending on the insurance policy. This process will be repeated
until all the claims for the day are complete.
IF (Claim is valid)
END IF
Alternatively
END DO WHILE
It is excellent for describing English and algorithm particularly when user communication is
essential.
ERD(ENTITY RELATION DIAGRAM)
An ERD is a data modeling technique that graphically illustrates an information system database entities
and the relationship between these entities.
ERD’s show entities in a database and relationships between tables within the database.
Elements in an ERD
Entity
It is an object in the system that we want to model and store information about. Can be person, place,
event etc.
Attribute
It is an item of information which is stored about an entity e.g. student would have attributes such as:
first name, last name, date of birth etc.
Relationship
It is an association of entities where the association includes one entity from each participating entity
type.
ATTRIBUTE
ATTRIBUTE NAME
RELATIONSHIP
Degree/types of relationships/cardinality
One-to-one relationship(1:1)
It is where one occurrence of an entity relates to only one occurrence of another entity.
Example:
If a man marries one woman and a woman is married by only one man, it is a one to one relationship.
Man 1 1 Woman
1 Is 1 Woman
Man
married
to
One-to-many relationship(1:M or N)
Example: one manager manages many employees but each employee has one manager only.
Many-to-many relationships(M:N,N:M)
Example:
One teacher teaches many students and a student is taught by many lecturers.
Teaches
Illustration of ERD
Estimate
Order
1 Issued to
Places
Attribute
Attribute
Customer
Attribute
Attribute Attribute
1
Attribute
Relationship
Attribute
Attribute
Entity
Attribute
STRUCTURE CHARTS
It is a chart which shows the breakdown of a system to its lowest manageable levels.
Structured charts represent hierarchical structure of modules.
They describe functions and sub functions of each part of the system.
a. Module
Module
Module Module
Module
Library module
Sub-modules
b. Data flow
MODULE
Labels
Labels
MODULE
Example of structure charts
A: customer order
B: order details
C: inventory data
Food ordering
A
system
C
B
Get order Update
inventory file
A
MODULE
A
B
B
Generate
order Generate
receipt
Correctness: a good design should correctly implement all the functionalities identified in the
system requirements specification document(SRS document)
Minimal complexity/understandability: A good design is easily understandable. The design must
be a readable and understandable guide for the developers who will write the code for the
system based on it as well as for the developers who will later test and maintain it.
Maintainability/ease of maintenance: it should be easily changed
Re-usability: design of the system should allow part of it to be used in other systems.
Extensibility/flexibility: should be easy to change part of a system without affecting other parts.
Loose coupled: it means designing so that connections among different parts of a program are
minimal. It should not be tightly coupled (components depend on each other so much)
The deliverable of system design phase is a blue print/model for the design with the necessary
specification for the hardware, software, people and data resources.
SYSTEM CODING/CONSTRUCTION/PROGRAMMING
The objective of system coding is to convert the system’s specification into a functioning system.
Knowledge of software development staff: software developers should select a language which
they are familiar with.
Capabilities of software development staff: the staff within the organization (IS specialists)
should be able to understand the language used in order to perform maintenance to the
software.
Application area: environment in which the software is to be executed.
SYSTEM TESTING
Testing is the process used to assess the correctness, completeness, reliability and quality of developed
computer software.
Levels of testing
Unit testing
Integration testing
System testing
Final acceptance testing
Unit testing
It is a software verification and validation method in which the programmer tests if individual units of
source code are fit for use.
A unit is the smallest testable part of an application and it may be an individual module, function or
procedures.
The five categories of test that a programmer performs on program unit are
Parallel test: some data is used in the new and the old system and output results are then
compared.
Structural test: examining the internal processing logic of software.
Performance test: to verify response time, execution and memory initialization
Functional test: it is conducted to verify whether the system does what is expected.
Stress test: performed to determine the stability of the system
Static analysis testing: performs desk checks, structured walkthrough on source code inspection.
Desk check: programmer checks for logical and syntax errors and deviation from coding standards.
Structured walkthrough: the programmer leads other programmers through the source code of the
software giving explanations.
Integration testing
It is a software testing activity in which individual software modules are combined and tested as a group.
System testing
It is a process in which software and other software management tools are tested as one system/unit.
It ensures that the new system satisfies quality standards and user needs.
User acceptance: users test the system to ensure that functional aspects expected by them have been
well addressed in the new system.
Types of user acceptance testing
o Alpha testing: this often performed by users within the organization and it is the first stage.
o Beta testing: it is generally performed by external users.it involves sending the system outside
the development environment for real world exposure/usage (performed by users outside the
organization).
SYSTEM IMPLEMENTATION
It is the process of ensuring that the information system is operational and then allowing users to take
over its operation for use and evaluation.
Implementation includes all those activities that take place to convert from the old to the new system.
The new system may be totally new replacing an existing manual or automatic system or may be a major
modification in an existing system.
Conversion or changeover is the process of changing from old system to the new system
Direct implementation changeover: it is the complete replacement of the old system by the new
system.it is done in one operation completely replacing the old system at once.
Phased implementation: the new system is put into use in stages or phases. Some files maybe
converted and used by employees in the new system while other files continue to be used in the
old system. If each phase is successful, the next phase is started eventually to the final phase
where the new information system fully replaces the old system.(install some modules/phases
with time until the whole system is completed)
Pilot implementation: in this strategy, the new system replaces the old system in one operation
but only in a small scale.
Example: it might be tried out in one branch in a company or in one department and if successful, the
pilot is then extended until it eventually replaces the old system completely.
Parallel implementation: the old and the new systems are both used alongside each other both
being able to operate independently.
If all goes well, the old system is stopped and the new system carries on as the only system.
INFORMATION SYSTEM MAINTENANCE
Maintenance is the process of making needed changes to the structure of some information system.
System maintenance is the ongoing maintenance of a system after it has been placed into operation.
Corrective maintenance
It implies removing errors in a program which might have crept into the system due to faulty design or
wrong assumptions.
Adaptive maintenance
Program functions are changed to enable the information system to satisfy the information needs of the
user.
This type of maintenance may become necessary because of the organizational changes which may
include change in the organizational procedures, change in forms, change in information needs of
managers, change in system controls and security needs, change in organizational objectives and
policies, change in operating system.
Perfective/enhancement maintenance
Perfective maintenance means adding new features or modifying the existing programs to enhance the
performance of the current system.
Perfective maintenance is undertaken to respond to users additional needs which may be due to
changes within or outside the organization.
An example of this type of maintenance is the conversion of text based systems to graphical user
interface design (GUI)
Preventive maintenance
It deals with activities aimed at increasing system maintainability, such as updating documentation,
adding comments and improving the modular structure of the system.
Systems should be modified or updated to enable them address emerging or new business processes.
CHAPTER 7
SYSTEM DOCUMENTATION
It shows how the software has been developed and the features or functionalities.
There are several types of documentation that should be produced when creating a new system.
Types of documentation
Technical documentation
User documentation
It is a complete description of the system from user’s perspective.it gives in detail how to use the system
or operate the system.
These are manuals prepared for the end user, system administrator and support staff.it is intended to
help users of the system. Users are usually non-technical people who don’t need to know how the
software works. They just need to know how to use it.
Marketing documentation
It describes how to market the product and analysis of the market demand.
Cost of acquisition
Small organizations can prefer to purchase commercial off-the-shelf software rather than developing in-
house programs.
The number of ICT personnel and the level of their knowledge and skills can determine if the
organization has enough manpower or expertise to develop the system.
System complexity
If in-house ICT team is not able to manage a complex system, the organization can opt to outsource ICT
services.
This is an acquisition method that involves direct purchase of a pre-written application or system used by
more than one company.
Advantages
-readily available for purchase and use
-cheap
Disadvantages
System development
This is where an information system is developed from scratch by information system professionals to
suit the business requirements of the organization.
Advantages
Disadvantages
Outsourcing
Advantages
Software that has no copyright over the code and allows the public to modify the source code and
develop it to their own content.
Software that is developed, tested or improved through public collaboration and distributed with the
idea that it must be shared with others ensuring an open future collaboration.
Renting
An acquisition method where an organization that requires the hardware, software or computer system
gets them from another company after signing a rental contract.
The computer system or hardware system can only be used for the activities or functions that have been
specified in the contract.
Leasing
An information system is acquired from another company after signing a lease contract. The lease
contract is longer than that of renting.
CHAPTER 8
Project
A set of related tasks that is coordinated to achieve a specific objective within a given time limit and
under a specified budget.
Deliverable
Project management techniques will enable developers to deliver a system that satisfies user
requirements.
Effective project management will ensure that the system is delivered within budget.
Project management will ensure that the system is delivered within scheduled time.
Top-down identification: focuses on global needs of the organization and is usually done by the
top management or steering committees.
Bottom-up: project is identified by a business unit or information system group.
Several experts on software development techniques and the application domain are consulted. They
each estimate the project cost.
Estimation by analogy
This technique is applicable when other projects in the same application domain have been completed.
The cost of a new project is estimated by analogy with these completed projects.
Pricing to win
The software cost is estimated to be whatever the customer has available to commit to the project.
Project scheduling
It is the process of estimating the duration of activities in a project and presenting the estimation using
tools that are universally accepted.
The two graphical tools that are used in project scheduling are:
Gantt chart
PERT chart/Network diagram
Gantt chart
It is a graphical representation of a project that shows each task/activity as horizontal bars whose length
is proportional to its time of completion.
Example:
Time 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1 2
(weeks) 0 1 2 3 4 5 6 7 8 9 0
feasibility
analysis
design
coding
testing
On the PERT chart, a project is viewed as a network of activities of which some must be completed
before others can begin.
PERT assumptions
Activity on arrow(AOA)
Activity on node(AON)
Activity on arrow
Activity on node
7
C 4
5 8 G
2
2 4
0
A
12
5 6
D
0
3
1 12
B E
0
4 5
4
H
3
F
4
3
9
5 5
EST: Earliest Start Time
EST
LCT: Latest Event Start Time
N N: node number
Critical path: B-F-H=12 weeks
LST
Activity on arrow
7 8
5 6
C 4
G
2 2 12 12
0 0 A 4
D
5 6
3
1 B E
4
5
3 H
9 9
F
3
4 4
5 5
EST at an event is the earliest time activities ahead of that event can start, keeping in mind that all the
activities before the event must be complete. It is calculated in the forward pass.
Activity durations on each path linking to an event are added and then the largest is taken.
LCT at an event is the latest time that preceding activities can complete without delaying any of the
succeeding activities.
It is calculated in backward pass, starting from the last event whose LCT is set to the project duration.
Critical path
It is the sequence of activities that have the same EST and LCT values.
Any delay to an activity in the critical path will cause delay to overall project.
Slack time
It is free time associated with each activity as it represents unused resources that can be averted to the
critical path.
Dummy activity
It is a hypothetical activity which requires zero time and zero resources for completion. A dummy activity
has a completion time of zero.
Optimistic time
The most likely (M) case given normal problems and opportunities
Pessimistic time
The most likely (M) case given normal problems and opportunities
The resulting PERT estimate is calculated as (O + 4M + P)/6. This is called a "weighted average"
User involvement is necessary to reduce resistance to change and ensure adequate development.
User requirements for ICT change constantly. Changes during an ongoing development process cause a
challenge and may cause the project to fail.
When project cost and time are not well estimated, developers may run out of funds and time.
The purpose of project audit is not to place blame but rather is to find out the root cause why the
project is failing.
Recognizing early warnings
It is always easier to get projects back on track if they have not drifted too far off the track.
The human effort required to complete the project should be reviewed or assessed.
It is a method of calculating the expected monitory gain or loss from a project by discounting all future
cash inflows and outflows to the present.
NPV=∑t=1……………nA (Hr)-t
OR
NPV=∑t=1…………n
Where, A= cash flow
r=required rate of return A
t=year of cash flow
n=nth year (1+r)
t
It is normally assumed that any initial investment takes place immediately and is indicate by year 0 and it
is discounted.
Later cash flows are normally assumed to take place at the end of each year and are discounted by the
appropriate amount.
Example
Project A requires an initial investment of Ksh 363000 and it is expected to generate a cash inflow of ksh
50000 per month for 12 months. Assume that the salvage value of the project is 0 and the target rate of
return is 12% p.a.Calculate NPV for the project.
-363 000
YEAR 0 = = -363 000
(1+0.12)0
600 000
YEAR 1 = = 535,714.28
(1+0.12)1
NPV=-363,000+535,714.28=172,714.28.
Solution
PROJECT A PROJECT B
-500 -500
YEAR 0 = = -500 = -500
YEAR 0 =
(1+0.15)0 (1+0.15)0
-5000 -100000
YEAR 1 = = -4347.83 = -86056.52
YEAR 1 =
(1+0.15)1 (1+0.15)1
3500 65000
YEAR 2 = = 2646.50 = 49148.34
YEAR 2 =
(1+0.15)2 (1+0.15)2
3500 65000
YEAR 3 = = 2301.31 = 42738.56
YEAR 3 =
(1+0.15)3 (1+0.15)3
Project B should be selected since it has higher NPV than that of project A.
This is a percentage rate that measures the relationship between the amount invested and the amount
the business gets back from investment.
OR
Example
The table below shows net profit for project A and B.The initial cost for the projects were Ksh 180,000
and 220,000 respectively.
PROJECT A PROJECT B
YEAR NET PROFIT VALUE NET PROFIT VALUE
1 30000 40000
2 35000 46000
3 40000 46000
4 45000 46000
5 50000 46000
TOTAL 200000 224000
Project A
Project B
200000
224000
ROI = X 100%
5 100%
ROI = 5 X
180000
220000
= 22.22%
= 20.36%
Payback analysis
Project A is(time/period)
the best alternative as it has a higher ROI
It is a method of determining the time it will take for an information system investment to pay itself. This
period of time is called the payback period. Project with the shortest payback period is supposed to be
selected.
The table below shows net profit for project A and B.The initial cost for the projects were Ksh 180,000
and 220,000 respectively.
PROJECT A PROJECT B
YEAR NET PROFIT VALUE NET PROFIT VALUE
1 30000 40000
2 35000 46000
3 40000 46000
4 45000 46000
5 50000 46000
PROJECT A PROJECT B
YEAR 1=-180,000+30,000=-150,000 YEAR 1=-220,000+40,000=-180,000
YEAR 2=-150,000+35,000=-115,000 YEAR 2=-180,000+46,000=-134,000
YEAR 3=-115,000+40,000=-75,000 YEAR 3=-134,000+46,000=-88,000
YEAR 4=-75,000+45,000=-30,000 YEAR 4=-88,000+46,000=-42,000
YEAR 5=-30,000+50,000=20,000
Project A should be selected as it has theYEAR 5=-42,000+46,000=4,000
shorter payback time
PROJECT A payback time=4 years PROJECT B payback time=4 years
CASE: Refers to the use of software tools to assist in the development and maintenance of software.
CASE tool: It is a computer based product aimed at supporting one or more software engineering
activities within a software development process.
CASE tools: Are those software which are used in one or all phases of developing an Information System
including analysis, design and programming.
Upper CASE tools: tools that support software development activities from implementation
Lower CASE tools: tools that support direct programming and integration tasks. Supports
database schema generation, program generation, implementation testing and configuration
management.
Integration CASE tools: tools that integrate both upper and lower CASE tools.
Example: making it possible to design a form and build the database to support it at the same time.
It is an automated system development that provides numerous tools to create diagrams forms and
reports.
Diagramming tools: enables system processes, data and control structures to be represented
graphically.
Report generators: helps to prototype how system looks like.
Analysis tools: checks for inconsistency and incorrect specification in diagrams, forms and
reports.
Documentation generators: helps to produce technical and user documentation in standard
format.
Code generators: enable automatic generation of program and database definition code directly
from design documents program forms and reports.
Analysis: CASE analysis tools automatically checks for incomplete, inconsistency or incorrect
specification in diagrams and reports.
Design: tools that enable the design of a blue print/model by designing the technical
architecture.
Code generation: tools that enable automatic generation of program code directly from the
document forms, diagrams and reports.
Documentation: tools that enable production of technical and user documentation in standard
format.
Limitations of documentation
Cost: the cost of fitting every system developer with appropriate CASE tool kit can be costly.
Training: A lot of time is needed to train a person who has no knowledge of CASE tool concept.
CHAPTER 9
Connectivity and collaboration: software development teams do not occupy the same physical
space when working on a project.
Re-usable components: components can be used in other systems other than the original
systems.
Use of CASE tool: CASE tools have reduced system development time considerably
OOAD methodology: development methodology that approaches Information system
development from object point of view.
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.
Example
The Decision Table showing a generic payroll system
It would obviously be an overwhelming task to model the all of the events that could affect the
system data at the same time, so instead we examine just one entity within the logical data
structure at a time. An entity life history will be produced for each entity in the logical data
structure. Information from the individual life histories can be collated at a later time to produce
an entity/event matrix.
The diagram below shows how we might model the life history of a bank account entity.
An entity life history for the "Bank Account" entity
The entity life history for "Bank Account" should accommodate any possible occurrence of that
entity. All bank accounts must be opened, and money is either paid in or withdrawn. The diagram
itself is read from left to right. If the structure branches downward, the branch must be followed
down before moving on towards the right-hand side of the diagram. The first event to affect any
occurrence of "Bank Account" will be the opening of the account. The account will have a life,
which will consist of a series of transactions. Transactions can include the deposit or withdrawal
of funds, direct payments, or the cashing of cheques. After an unspecified number of transactions
have occurred, the account will be closed, and eventually deleted. The entity life history elements
featured in the above example are:
Sequence - activities are undertaken in strict sequence, from left to right (for example, an
account must be opened before any other event that will affect it can occur, and account
closure must occur before account deletion).
Iteration - the asterisk in the top right-hand corner of the Transaction box signifies that a
transaction is an event that can occur repeatedly.
Selection - boxes with small circles in their top right-hand corner represent alternative
forms of transaction. A single transaction may be a deposit or a withdrawal of funds, a
direct payment, of the cashing of a cheque.
" In the same way that an entity may be affected by several different events, a single event may
affect more than one entity. When an instance of "Bank Account" is created, for example, an
instance of "Customer" must also be created. The interaction between an event and an entity is
called an effect. Notice that elements that have an effect on an entity have no other elements
below them in the entity life history diagram. Elements that do have other elements below them
are called nodes. They have no significance other specifying the sequence in which events may
occur within the context of the entity's life history. The name of each element (shown as a label
inside the box representing the entity) reflects the event affecting the entity (if the element is an
effect) or a particular stage within the life history (if the element is a node).
Although an entity life history can be constructed using only the elements sequence, iteration
and selection, the representation of certain complex scenarios can be greatly simplified using two
additional element types:
parallel structures
quit and resume
Sequence
A sequence consists of a series of nodes and/or effects reading from left to right, as shown below.
In the above example, effect A will always occur first, followed by B, then C, then D. This is the
only possible sequence. Although these sequential events will take place over a period of time,
the time intervals involved are unspecified, and could range from a few seconds to many years.
Selection
A selection defines a number of nodes or effects that are alternatives to one another at a
particular point in the entity's life history. A circle in the top right hand corner of the box
representing the element indicates that it is one of several elements that could be chosen.
Boxes E, F and G represent the available options
Because node A is the first element in the entity life history of "Entity X", an occurrence of the
entity can only be created by event E, F or G. If we want to represent the fact that none of the
available options have to be selected, we can include a null box, as shown below.
Iteration
If an event or node can occur repeatedly at the same point within an entity's life history, the fact
is signified by an asterisk in the top left-hand corner of the box representing the event or node.
The only restriction on iterations is that a single occurrence of the iteration must be complete
before the next one starts.
Event H may occur repeatedly
Once "Entity X" has been created by event E, F or G under node A, event H can affect the entity
zero or more times The iteration symbol must not be used for events or nodes that occur only
once, or not at all (use the null box instead).
Parallel structures
A parallel structure can be used if the sequence in which two nodes or events can occur is
unpredictable, or where they may occur concurrently. Such a structure is shown as two nodes or
events connected by parallel horizontal lines, as illustrated below.
Nodes I and J form a parallel structure
In the entity life history above, the events K, L and M may occur, in that order, under node I. At
the same time event N, under node J, may occur zero or more times. Nodes I and J (representing
the sequence and the iteration respectively) are connected by a parallel bar to signify possible
concurrency. The same situation could be modelled using only sequence, iteration and selection
elements, but the resulting diagram would be far more complex and consequently more difficult
to interpret.
Occasionally, a situation can arise that cannot easily be modelled using the entity life history
elements already described. In order to accommodate such situations without making the entity
life history diagram unduly large or complex, the quit and resume facility allows the sequential
progress of nodes or events to quit at one point in the entity life history and resume at another
point. This concept is illustrated below.
Following event F, activity will continue at node C
In the above example, event F has the label "Q1" immediately to its right, and node C has the
label "R1" immediately to its right. Using this notation, we can signify that the event or node that
will follow event F is whichever element has the label R1 to its right, which in this case is node
C. As with parallel structures, the same situation could be modelled using only sequence,
iteration and selection elements, but the resulting diagram would be more complex and difficult
to interpret.
The example below shows how we can model a situation in which a bank account has been
closed (but not deleted), and is then re-opened. The event Account Reopened (labelled Q1)
causes a quit back to the node Account Life (labelled R1).
Two possible uses of quit and resume
The quit and resume facility also allows us to quit from the main structure altogether, and resume
at a point in a stand-alone structure. This can be used in situations where an event that can occur
at any time will alter the normal sequence of the life history. Since it is impossible to predict
exactly where such an event might occur within the entity's life history, an appropriate
instruction should be added to the diagram indicating the circumstances under which the quit
might occur, and from where. In the above example, the death of a customer may occur at any
time after an account is opened, triggering an immediate quit, followed by a resume at R2
(Death Structure). In circumstances such as the death of a customer, the normal sequence will no
longer apply.
Note that it is also possible to quit from a stand-alone structure back to the main structure in an
entity life history. To avoid ambiguity, while there may be more than one quit point with the
same identifier, there cannot be more than one resume point with that identifier.
A data dictionary contains metadata i.e data about the database. The data dictionary is very
important as it contains information such as what is in the database, who is allowed to access it,
where is the database physically stored etc. The users of the database normally don't interact with
the data dictionary, it is only handled by the database administrators.
Field Name Data Type Field Size for display Description Example
Employee
Integer 10 Unique ID of each employee 1645000001
Number
If the structure of the database or its specifications change at any point of time, it should be
reflected in the data dictionary. This is the responsibility of the database management system in
which the data dictionary resides.
So, the data dictionary is automatically updated by the database management system when any
changes are made in the database. This is known as an active data dictionary as it is self
updating.
This is not as useful or easy to handle as an active data dictionary. A passive data dictionary is
maintained separately to the database whose contents are stored in the dictionary. That means
that if the database is modified the database dictionary is not automatically updated as in the case
of Active Data Dictionary.
So, the passive data dictionary has to be manually updated to match the database. This needs
careful handling or else the database and data dictionary are out of sync.
Compiled by Samuel Theuri