System Design Concept
System Design Concept
System Design Concept
Systems analysis
Systems design
Systems Analysis
It is a process of collecting and interpreting facts, identifying the problems,
and decomposition of a system into its components.
Systems Design
It is a process of planning a new business system or replacing an existing
system by defining its components or modules to satisfy the specific
requirements. Before planning, you need to understand the old system
thoroughly and determine how computers can best be used in order to
operate efficiently.
Systems
Processes
Technology
What is a System?
The word System is derived from Greek word Systema, which means an
organized relationship between any set of components to achieve some
common cause or objective.
Constraints of a System
A system must have three basic constraints −
Properties of a System
A system has the following properties −
Organization
Organization implies structure and order. It is the arrangement of
components that helps to achieve predetermined objectives.
Interaction
It is defined by the manner in which the components operate with each
other.
Interdependence
Interdependence means how the components of a system depend on one
another. For proper functioning, the components are coordinated and linked
together according to a specified plan. The output of one subsystem is the
required by other subsystem as input.
Integration
Integration is concerned with how a system components are connected
together. It means that the parts of the system work together within the
system even if each part performs a unique function.
Central Objective
The objective of system must be central. It may be real or stated. It is not
uncommon for an organization to state an objective and operate to achieve
another.
The users must know the main objective of a computer application early in
the analysis for a successful design and conversion.
Elements of a System
The following diagram shows the elements of a system −
Inputs are the information that enters into the system for
processing.
Processor(s)
The processor is the element of a system that involves the actual
transformation of input into output.
Control
The control element guides the system.
Feedback
Feedback provides the control in a dynamic system.
Positive feedback is routine in nature that encourages the
performance of the system.
Environment
The environment is the “supersystem” within which an
organization operates.
Types of Systems
The systems can be divided into the following types −
Temporary System is made for specified time and after that they
are demolished. For example, A DJ system is set up for a
program and it is dissembled after the program.
Systems Models
Schematic Models
A schematic model is a 2-D chart that shows system elements
and their linkages.
Different arrows are used to show information flow, material
flow, and information feedback.
Categories of Information
There are three categories of information related to managerial levels and
the decision managers make.
Strategic Information
This information is required by topmost management for long
range planning policies for next few years. For example, trends
in revenues, financial investment, and human resources, and
population growth.
Managerial Information
This type of Information is required by middle management for
short and intermediate range planning which is in terms of
months. For example, sales analysis, cash flow projection, and
annual financial statements.
Operational information
This type of information is required by low management for daily
and short term planning to enforce day-to-day operational
activities. For example, keeping employee attendance records,
overdue purchase orders, and current stocks available.
requirements
design
implementation
testing
deployment
operations
maintenance
Phases of SDLC
Systems Development Life Cycle is a systematic approach which explicitly
breaks down the work into phases that are required to implement either
new or modified Information System.
Feasibility Study or Planning
Define the problem and scope of existing system.
System Design
Includes the design of application, network, databases, user
interfaces, and system interfaces.
Review the proposed design. Ensure that the final design must
meet the requirements stated in SRS document.
Implementation
Implement the design into source code through coding.
Combine all the modules together into training environment that
detects errors and defects.
Maintenance/Support
Include all the activities such as phone support or physical on-
site support for users that is required once the system is
installing.
Main Roles
Defining and understanding the requirement of user through
various Fact finding techniques.
Plan the periodicity for evaluation after it has been used for
some time, and modify the system as needed.
Managing expectations.
Requirements Investigation
It is studying the current system and documenting its features
for further analysis.
Requirements Specifications
It includes the analysis of data which determine the requirement
specification, description of features for new system, and
specifying what information requirements will be provided.
Interviewing
Systems analyst collects information from individuals or groups by
interviewing. The analyst can be formal, legalistic, play politics, or be
informal; as the success of an interview depends on the skill of analyst as
interviewer.
Advantages of Interviewing
Questionnaires
This method is used by analyst to gather information about various issues
of system from large number of persons.
Advantages of questionnaires
Advantages
Advantages
Advantages of JAD
Advantages
Feasibility Study
Feasibility Study can be considered as preliminary investigation that helps
the management to take decision about whether study of system should be
feasible for development or not.
Technical Feasibility
It investigates the technical feasibility of each implementation
alternative.
Operational Feasibility
It determines whether the system is operating effectively once it
is developed and implemented.
Behavioral Feasibility
It evaluates and estimates the user attitude or behavior towards
the development of new system.
Schedule Feasibility
It ensures that the project should be completed within given
time constraint or schedule.
Data Dictionary
Decision Trees
Decision Tables
Structured English
Pseudocode
The following table shows the symbols used in designing a DFD and their
significance −
Types of DFD
DFDs are of two types: Physical DFD and Logical DFD. The following table
lists the points that differentiate a physical DFD from a logical DFD.
Context Diagram
A context diagram helps in understanding the entire system by one DFD
which gives the overview of a system. It starts with mentioning major
processes with little details and then goes onto giving more details of the
processes with the top-down approach.
A data dictionary improves the communication between the analyst and the
user. It plays an important role in building a database. Most DBMSs have a
data dictionary as a standard feature. For example, refer the following table
−
2 TITLE title 60
3 SUB Book Subjects 80
Decision Trees
Decision trees are a method for defining complex relationships by describing
decisions and avoiding the problems in communication. A decision tree is a
diagram that shows alternative actions and conditions within horizontal tree
framework. Thus, it depicts which conditions to consider first, second, and
so on.
Decision trees depict the relationship of each condition and their permissible
actions. A square node indicates an action and a circle indicates a condition.
It forces analysts to consider the sequence of decisions and identifies the
actual decision that must be made.
The major limitation of a decision tree is that it lacks information in its
format to describe what other combinations of conditions you can take for
testing. It is a single representation of the relationships between conditions
and actions.
Decision Tables
Decision tables are a method of describing the complex logical relationship
in a precise manner which is easily understandable.
The entries in decision table are given by Decision Rules which define the
relationships between combinations of conditions and courses of action. In
rules section,
Purchase amount = Rs - Y Y N
10,000/-
Regular Customer - Y N -
ACTIONS
Give 5% discount X X - -
Give no discount - - X X
Structured English
Structure English is derived from structured programming language which
gives more understandable and precise description of process. It is based
on procedural logic that uses construction and imperative sentences
designed to perform operation for action.
It does not have strict syntax rule. It expresses all logic in terms
of sequential decision structures and iterations.
then
Give 5% Discount
else
then
else No Discount
end if
else No Discount
end if
end if
Pseudocode
A pseudocode does not conform to any programming language and
expresses logic in plain English.
Use DFD at high or low level analysis for providing good system
documentations.
Use data dictionary to simplify the structure for meeting the data
requirement of the system.
Use structured English if there are many loops and actions are
complex.
Use decision tables when there are a large number of conditions
to check and logic is complex.
System design is the phase that bridges the gap between problem domain
and the existing system in a manageable way. This phase focuses on the
solution domain, i.e. “how to implement?”
It is the phase where the SRS document is converted into a format that can
be implemented and decides how the system will operate.
Statement of work
Physical Design
Physical design relates to the actual input and output processes of the
system. It focuses on how data is entered into a system, verified,
processed, and displayed as output.
Architectural Design
It is also known as high level design that focuses on the design of system
architecture. It describes the structure and behavior of the system. It
defines the structure and relationship between various modules of system
development process.
Detailed Design
It follows Architectural design and focuses on development of each module.
The following table shows the symbols used in E-R model and their
significance −
Symbol Meaning
Entity
Weak Entity
Relationship
Identity Relationship
Attributes
Key Attributes
Multivalued
Composite Attribute
Derived Attributes
Total Participation of E2 in
R
Three types of relationships can exist between two sets of data: one-to-
one, one-to-many, and many-to-many.
File Organization
It describes how records are stored within a file.
Comparision
File Access
One can access a file using either Sequential Access or Random Access. File
Access methods allow computer programs read or write records in a file.
Sequential Access
Every record on the file is processed starting with the first record until End
of File (EOF) is reached. It is efficient when a large number of the records
on the file need to be accessed at any given time. Data stored on a tape
(sequential access) can be accessed only sequentially.
Documentation Control
Documentation is a process of recording the information for any reference
or operational purpose. It helps users, managers, and IT staff, who require
it. It is important that prepared document must be updated on regular basis
to trace the progress of the system easily.
Advantages
It can reduce system downtime, cut costs, and speed up
maintenance tasks.
Types of Documentations
When it comes to System Design, there are following four main
documentations −
Program documentation
System documentation
Operations documentation
User documentation
Program Documentation
It describes inputs, outputs, and processing logic for all the
program modules.
The program documentation process starts in the system
analysis phase and continues during implementation.
Operations Documentation
Operations documentation contains all the information needed for
processing and distributing online and printed output. Operations
documentation should be clear, concise, and available online if possible.
User Documentation
It includes instructions and information to the users who will interact with
the system. For example, user manuals, help guides, and tutorials. User
documentation is valuable in training users and for reference purpose. It
must be clear, understandable, and readily accessible to users at all levels.
The users, system owners, analysts, and programmers, all put combined
efforts to develop a user’s guide.
System Documentation
System documentation serves as the technical specifications for the IS and
how the objectives of the IS are accomplished. Users, managers and IS
owners need never reference system documentation. System
documentation provides the basis for understanding the technical aspects of
the IS when modifications are made.
Top-Down Strategy
The top-down strategy uses the modular approach to develop the design of
a system. It is called so because it starts from the top or the highest-level
module and moves towards the lowest level modules.
Bottom-Up Strategy
Bottom-Up Strategy follows the modular approach to develop the design of
the system. It is called so because it starts from the bottom or the most
basic level modules and moves towards the highest level modules.
In this technique,
The modules at the most basic or the lowest level are identified.
Structured Design
Structured design is a data-flow based methodology that helps in identifying
the input and output of the developing system. The main objective of
structured design is to minimize the complexity and increase the modularity
of a program. Structured design also helps in describing the functional
aspects of the system.
Advantages
It provide abstraction.
The two important concepts related to the system development that help in
determining the complexity of a system are couplingand cohesion.
Coupling
Coupling is the measure of the independence of components. It defines the
degree of dependency of each module of system development on the other.
In practice, this means the stronger the coupling between the modules in a
system, the more difficult it is to implement and maintain the system.
Each module should have simple, clean interface with other modules, and
that the minimum number of data elements should be shared between
modules.
High Coupling
These type of systems have interconnections with program units dependent
on each other. Changes to one subsystem leads to high impact on the other
subsystem.
Low Coupling
These type of systems are made up of components which are independent
or almost independent. A change in one subsystem does not affect any
other subsystem.
Coupling Measures
Content Coupling − When one component actually modifies
another,then the modified component is completely dependent
on modifying one.
Cohesion
Cohesion is the measure of closeness of the relationship between its
components. It defines the amount of dependency of the components of a
module on one another. In practice, this means the systems designer must
ensure that −
The best modules are those that are functionally cohesive. The worst
modules are those that are coincidentally cohesive.
Input Design
In an information system, input is the raw data that is processed to produce
output. During the input design, the developers must consider the input
devices such as PC, MICR, OMR, etc.
Audit trails for data entry and other system operations are created using
transaction logs which gives a record of all changes introduced in the
database to provide security and means of recovery in case of any failure.
Output Design
The design of output is the most important task of any system. During
output design, developers identify the type of outputs needed, and consider
the necessary output controls and prototype report layouts.
External Outputs
Manufacturers create and design external outputs for printers. External
outputs enable the system to leave the trigger actions on the part of their
recipients or confirm actions to their recipients.
Internal outputs
Internal outputs are present inside the system, and used by end-users and
managers. They support the management in decision making and reporting.
Forms Design
Both forms and reports are the product of input and output design and are
business document consisting of specified data. The main difference is that
forms provide fields for data input but reports are purely used for reading.
For example, order forms, employment and credit application, etc.
To facilitate navigation.
Types of Forms
Flat Forms
The software system needs to be checked for its intended behavior and
direction of progress at each development stage to avoid duplication of
efforts, time and cost overruns, and to assure completion of the system
within stipulated time.The software system needs to be checked for its
intended behavior and direction of progress at each development stage to
avoid duplication of efforts, time and cost overruns, and to assure
completion of the system within stipulated time.
System testing and quality assurance come to aid for checking the system.
It includes −
Testing
Testing is the process or activity that checks the functionality and
correctness of software according to specified user requirements in order to
improve the quality and reliability of system. It is an expensive, time
consuming, and critical approach in system development which requires
proper planning of overall testing process.
A successful test is one that finds the errors. It executes the program with
explicit intention of finding error, i.e., making the program fail. It is a
process of evaluating system with an intention of creating a strong system
and mainly focuses on the weak areas of the system or software.
Test Strategy
Test Plan
It provides a plan for testing the system and verifies that the system under
testing fulfils all the design and functional specifications. The test plan
provides the following information −
Objectives of each test phase
The test cases along with the test plan are documented as a part
of a system specification document or in a separate document
called test specification or test description.
Test Procedures
It consists of the steps that should be followed to execute each of the test
cases. These procedures are specified in a separate document called test
procedure specification. This document also specifies any special
requirements and formats for reporting the result of testing.
Test Result Documentation
Test result file contains brief information about the total number of test
cases executed, the number of errors, and nature of errors. These results
are then assessed against criteria in the test specification to determine the
overall outcome of the test.
Types of Testing
Testing can be of various types and different types of tests are conducted
depending on the kind of bugs one seeks to discover −
Unit Testing
Also known as Program Testing, it is a type of testing where the analyst
tests or focuses on each program or module independently. It is carried out
with the intention of executing each statement of the module at least once.
Integration Testing
In Integration Testing, the analyst tests multiple module working together.
It is used to find discrepancies between the system and its original
objective, current specifications, and systems documentation.
Here the analysts are try to find areas where modules have been
designed with different specifications for data length, type, and
data element name.
It verifies that file sizes are adequate and that indices have been
built properly.
Functional Testing
Function testing determines whether the system is functioning correctly
according to its specifications and relevant standards documentation.
Functional testing typically starts with the implementation of the system,
which is very critical for the success of the system.
Quality Assurance
It is the review of system or software products and its documentation for
assurance that system meets the requirements and specifications.
To ensure that the issues, which are not solved within the
software are addressed by the upper management.
At this level, it is checked that the software can compile and link all official
platforms and operating systems.
At this level, it is checked that the software can run properly under a
variety of conditions such as certain number of events and small and large
event sizes etc.
Implementation allows the users to take over its operation for use and
evaluation. It involves training the users to handle the system and plan for
a smooth conversion.
Training
The personnel in the system must know in detail what their roles will be,
how they can use the system, and what the system will or will not do. The
success or failure of welldesigned and technically elegant systems can
depend on the way they are operated and used.
Most user training deals with the operation of the system itself.
The training courses must be designed to help the user with fast
mobilization for the organization.
Training Guidelines
Training Methods
Instructor-led training
It involves both trainers and trainees, who have to meet at the same time,
but not necessarily at the same place. The training session could be one-on-
one or collaborative. It is of two types −
Virtual Classroom
In this training, trainers must meet the trainees at the same time, but are
not required to be at the same place. The primary tools used here are:
video conferencing, text based Internet relay chat tools, or virtual reality
packages, etc.
Normal Classroom
The trainers must meet the trainees at the same time and at the same
place. They primary tools used here are blackboard, overhead projectors,
LCD projector, etc.
Self-Paced Training
It involves both trainers and trainees, who do not need to meet at the same
place or at the same time. The trainees learn the skills themselves by
accessing the courses at their own convenience. It is of two types −
Multimedia Training
Web-based Training
In this training, courses are often presented in hyper media format and
developed to support internet and intranet. It provides just–in-time training
for end users and allow organization to tailor training requirements.
Conversion
It is a process of migrating from the old system to the new one. It provides
understandable and structured approach to improve the communication
between management and project team.
Conversion Plan
It contains description of all the activities that must occur during
implementation of the new system and put it into operation. It anticipates
possible problems and solutions to deal with them.
Listing all the new documents and procedures that are required.
Parallel Conversion
Pilot Approach
Phase-In Method
File Conversion
It is a process of converting one file format into another. For example, file
in WordPerfect format can be converted into Microsoft Word.
Teamwork
Many popular applications support opening and saving to other file formats
of the same type. For example, Microsoft Word can open and save files in
many other word processing formats.
Post-Implementation Evaluation Review (PIER)
PIER is a tool or standard approach for evaluating the outcome of the
project and determine whether the project is producing the expected
benefits to the processes, products or services. It enables the user to verify
that the project or system has achieved its desired outcome within specified
time period and planned cost.
PIER ensures that the project has met its goals by evaluating the
development and management processes of the project.
Objectives of PIER
The objectives of having a PIER are as follows −
User staff
External users
System Maintenance / Enhancement
Maintenance means restoring something to its original conditions.
Enhancement means adding, modifying the code to support the changes in
the user specification. System maintenance conforms the system to its
original requirements and enhancement adds to system capability by
incorporating new requirements.
Maintenance Types
System maintenance can be classified into three types −
System Audit
It is an investigation to review the performance of an operational system.
The objectives of conducting a system audit are as follows −
Audit Trial
An audit trial or audit log is a security record which is comprised of who has
accessed a computer system and what operations are performed during a
given period of time. Audit trials are used to do detailed tracing of how data
on the system has changed.
Audit Methods
Auditing can be done in two different ways −
Audit Considerations
Audit considerations examine the results of the analysis by using both the
narratives and models to identify the problems caused due to misplaced
functions, split processes or functions, broken data flows, missing data,
redundant or incomplete processing, and nonaddressed automation
opportunities.
Security
System security refers to protecting the system from theft, unauthorized
access and modifications, and accidental or unintentional damage. In
computerized systems, security involves protecting all the parts of
computer system which includes data, software, and hardware. Systems
security includes system privacy and system integrity.
Control Measures
There are variety of control measures which can be broadly classified as
follows −
Backup
Regular backup of databases daily/weekly depending on the time
criticality and size.
Password system.
Risk Analysis
A risk is the possibility of losing something of value. Risk analysis starts
with planning for secure system by identifying the vulnerability of system
and impact of this. The plan is then made to manage the risk and cope with
disaster. It is done to accesses the probability of possible disaster and their
cost.
In analysis phase, OO models are used to fill the gap between problem and
solution. It performs well in situation where systems are undergoing
continuous design, adaption, and maintenance. It identifies the objects in
problem domain, classifying them in terms of data and behavior.
Encapsulation
Encapsulation is a process of information hiding. It is simply the
combination of process and data into a single entity. Data of an object is
hidden from the rest of the system and available only through the services
of the class. It allows improvement or modification of methods used by
objects without affecting other parts of a system.
Abstraction
It is a process of taking or selecting necessary method and attributes to
specify the object. It focuses on essential characteristics of an object
relative to perspective of user.
Relationships
All the classes in the system are related with each other. The objects do not
exist in isolation, they exist in relationship with other objects.
Inheritance
Inheritance is a great feature that allows to create sub-classes from an
existing class by inheriting the attributes and/or operations of existing
classes.
UML is made up of −
Uses of UML
UML is quite useful for the following purposes −
Static Models
Static models show the structural characteristics of a system, describe its
system structure, and emphasize on the parts that make up the system.
Dynamic Models
Dynamic models show the behavioral characteristics of a system, i.e., how
the system behaves in response to external events.
Dynamic models identify the object needed and how they work
together through methods and messages.
Object-oriented analysis
Object-oriented design
Prototyping
Implementation
Incremental testing
Object-Oriented Analysis
This phase concerns with determining the system requirements and to
understand the system requirements build a use-case model. A use-case
is a scenario to describe the interaction between user and computer
system. This model represents the user needs or user view of system.
It also includes identifying the classes and their relationships to the other
classes in the problem domain, that make up an application.
Object-Oriented Design
The objective of this phase is to design and refine the classes, attributes,
methods, and structures that are identified during the analysis phase, user
interface, and data access. This phase also identifies and defines the
additional classes or objects that support implementation of the
requirement.
Prototyping
Prototyping enables to fully understand how easy or difficult it will be to
implement some of the features of the system.
It can also give users a chance to comment on the usability and usefulness
of the design. It can further define a use-case and make use-case modeling
much easier.
Implementation
It uses either Component-Based Development (CBD) or Rapid Application
Development (RAD).
Its task is to build the application quickly and incrementally implement the
user requirements design through tools such as visual basic, power builder,
etc.
Incremental Testing
Software development and all of its activities including testing are an
iterative process. Therefore, it can be a costly affair if we wait to test a
product only after its complete development. Here incremental testing
comes into picture wherein the product is tested during various stages of its
development.
Systems analysis
Systems design
Systems Analysis
It is a process of collecting and interpreting facts, identifying the problems,
and decomposition of a system into its components.
Systems Design
It is a process of planning a new business system or replacing an existing
system by defining its components or modules to satisfy the specific
requirements. Before planning, you need to understand the old system
thoroughly and determine how computers can best be used in order to
operate efficiently.
Systems
Processes
Technology
What is a System?
The word System is derived from Greek word Systema, which means an
organized relationship between any set of components to achieve some
common cause or objective.
Constraints of a System
A system must have three basic constraints −
Properties of a System
A system has the following properties −
Organization
Organization implies structure and order. It is the arrangement of
components that helps to achieve predetermined objectives.
Interaction
It is defined by the manner in which the components operate with each
other.
Interdependence
Interdependence means how the components of a system depend on one
another. For proper functioning, the components are coordinated and linked
together according to a specified plan. The output of one subsystem is the
required by other subsystem as input.
Integration
Integration is concerned with how a system components are connected
together. It means that the parts of the system work together within the
system even if each part performs a unique function.
Central Objective
The objective of system must be central. It may be real or stated. It is not
uncommon for an organization to state an objective and operate to achieve
another.
The users must know the main objective of a computer application early in
the analysis for a successful design and conversion.
Elements of a System
The following diagram shows the elements of a system −
Processor(s)
The processor is the element of a system that involves the actual
transformation of input into output.
It is the operational component of a system. Processors may
modify the input either totally or partially, depending on the
output specification.
As the output specifications change, so does the processing. In
some cases, input is also modified to enable the processor for
handling the transformation.
Control
The control element guides the system.
It is the decision–making subsystem that controls the pattern of
activities governing input, processing, and output.
The behavior of a computer System is controlled by the
Operating System and software. In order to keep system in
balance, what and how much input is needed is determined by
Output Specifications.
Feedback
Feedback provides the control in a dynamic system.
Positive feedback is routine in nature that encourages the
performance of the system.
Negative feedback is informational in nature that provides the
controller with information for action.
Environment
The environment is the “supersystem” within which an
organization operates.
It is the source of external elements that strike on the system.
It determines how a system must function. For example, vendors
and competitors of organization’s environment, may provide
constraints that affect the actual performance of the business.
Types of Systems
The systems can be divided into the following types −
Systems Models
Schematic Models
A schematic model is a 2-D chart that shows system elements
and their linkages.
Different arrows are used to show information flow, material
flow, and information feedback.
Categories of Information
There are three categories of information related to managerial levels and
the decision managers make.
Strategic Information
This information is required by topmost management for long
range planning policies for next few years. For example, trends
in revenues, financial investment, and human resources, and
population growth.
This type of information is achieved with the aid of Decision
Support System (DSS).
Managerial Information
This type of Information is required by middle management for
short and intermediate range planning which is in terms of
months. For example, sales analysis, cash flow projection, and
annual financial statements.
It is achieved with the aid of Management Information Systems
(MIS).
Operational information
This type of information is required by low management for daily
and short term planning to enforce day-to-day operational
activities. For example, keeping employee attendance records,
overdue purchase orders, and current stocks available.
It is achieved with the aid of Data Processing Systems (DPS).
requirements
design
implementation
testing
deployment
operations
maintenance
Phases of SDLC
Systems Development Life Cycle is a systematic approach which explicitly
breaks down the work into phases that are required to implement either
new or modified Information System.
Feasibility Study or Planning
Define the problem and scope of existing system.
Overview the new system and determine its objectives.
Confirm project feasibility and produce the project Schedule.
During this phase, threats, constraints, integration and security
of system are also considered.
A feasibility report for the entire project is created at the end of
this phase.
System Design
Includes the design of application, network, databases, user
interfaces, and system interfaces.
Transform the SRS document into logical structure, which
contains detailed and complete set of specifications that can be
implemented in a programming language.
Create a contingency, training, maintenance, and operation plan.
Review the proposed design. Ensure that the final design must
meet the requirements stated in SRS document.
Finally, prepare a design document which will be used during
next phases.
Implementation
Implement the design into source code through coding.
Combine all the modules together into training environment that
detects errors and defects.
A test report which contains errors is prepared through test plan
that includes test related tasks such as test case generation,
testing criteria, and resource allocation for testing.
Integrate the information system into its environment and install
the new system.
Maintenance/Support
Include all the activities such as phone support or physical on-
site support for users that is required once the system is
installing.
Implement the changes that software might undergo over a
period of time, or implement any new requirements after the
software is deployed at the customer location.
It also includes handling the residual errors and resolve any
issues that may exist in the system even after the testing phase.
Maintenance and support may be needed for a longer time for
large systems and for a short time for smaller systems.
Main Roles
Defining and understanding the requirement of user through
various Fact finding techniques.
Prioritizing the requirements by obtaining user consensus.
Gathering the facts or information and acquires the opinions of
users.
Maintains analysis and evaluation to arrive at appropriate system
which is more user friendly.
Suggests many flexible alternative solutions, pick the best
solution, and quantify cost and benefits.
Draw certain specifications which are easily understood by users
and programmer in precise and detailed form.
Implemented the logical design of system which must be
modular.
Plan the periodicity for evaluation after it has been used for
some time, and modify the system as needed.
Managing expectations.
Sound commonsense
Requirements Investigation
It is studying the current system and documenting its features
for further analysis.
It is at the heart of system analysis where analyst documenting
and describing system features using fact-finding techniques,
prototyping, and computer assisted tools.
Requirements Specifications
It includes the analysis of data which determine the requirement
specification, description of features for new system, and
specifying what information requirements will be provided.
It includes analysis of factual data, identification of essential
requirements, and selection of Requirement-fulfillment
strategies.
Interviewing
Systems analyst collects information from individuals or groups by
interviewing. The analyst can be formal, legalistic, play politics, or be
informal; as the success of an interview depends on the skill of analyst as
interviewer.
Advantages of Interviewing
Questionnaires
This method is used by analyst to gather information about various issues
of system from large number of persons.
Advantages of questionnaires
Advantages
Observation
This is a method of gathering information by noticing and observing the
people, events, and objects. The analyst visits the organization to observe
the working of current system and understands the requirements of the
system.
Advantages
Advantages of JAD
It saves time and cost by replacing months of traditional
interviews and follow-up meetings.
It is useful in organizational culture which supports joint problem
solving.
Fosters formal relationships among multiple levels of employees.
It can lead to development of design creatively.
It Allows rapid development and improves ownership of
information system.
Advantages
Feasibility Study
Feasibility Study can be considered as preliminary investigation that helps
the management to take decision about whether study of system should be
feasible for development or not.
It identifies the possibility of improving an existing system,
developing a new system, and produce refined estimates for
further development of system.
It is used to obtain the outline of the problem and decide
whether feasible or appropriate solution exists or not.
The main objective of a feasibility study is to acquire problem
scope instead of solving the problem.
The output of a feasibility study is a formal system proposal act
as decision document which includes the complete nature and
scope of the proposed system.
Technical Feasibility
It investigates the technical feasibility of each implementation
alternative.
It analyzes and determines whether the solution can be
supported by existing technology or not.
The analyst determines whether current technical resources be
upgraded or added it that fulfill the new requirements.
It ensures that the candidate system provides appropriate
responses to what extent it can support the technical
enhancement.
Operational Feasibility
It determines whether the system is operating effectively once it
is developed and implemented.
It ensures that the management should support the proposed
system and its working feasible in the current organizational
environment.
It analyzes whether the users will be affected and they accept
the modified or new business methods that affect the possible
system benefits.
It also ensures that the computer resources and network
architecture of candidate system are workable.
Behavioral Feasibility
It evaluates and estimates the user attitude or behavior towards
the development of new system.
It helps in determining if the system requires special effort to
educate, retrain, transfer, and changes in employee’s job status
on new ways of conducting business.
Schedule Feasibility
It ensures that the project should be completed within given
time constraint or schedule.
It also verifies and validates whether the deadlines of project are
reasonable or not.
Structured Analysis
Analysts use various tools to understand and describe the information
system. One of the ways is using structured analysis.
Data Dictionary
Decision Trees
Decision Tables
Structured English
Pseudocode
The following table shows the symbols used in designing a DFD and their
significance −
Types of DFD
DFDs are of two types: Physical DFD and Logical DFD. The following table
lists the points that differentiate a physical DFD from a logical DFD.
Context Diagram
A context diagram helps in understanding the entire system by one DFD
which gives the overview of a system. It starts with mentioning major
processes with little details and then goes onto giving more details of the
processes with the top-down approach.
A data dictionary improves the communication between the analyst and the
user. It plays an important role in building a database. Most DBMSs have a
data dictionary as a standard feature. For example, refer the following table
−
2 TITLE title 60
Decision Trees
Decision trees are a method for defining complex relationships by describing
decisions and avoiding the problems in communication. A decision tree is a
diagram that shows alternative actions and conditions within horizontal tree
framework. Thus, it depicts which conditions to consider first, second, and
so on.
Decision trees depict the relationship of each condition and their permissible
actions. A square node indicates an action and a circle indicates a condition.
It forces analysts to consider the sequence of decisions and identifies the
actual decision that must be made.
The entries in decision table are given by Decision Rules which define the
relationships between combinations of conditions and courses of action. In
rules section,
Purchase amount = Rs - Y Y N
10,000/-
Regular Customer - Y N -
ACTIONS
Give 5% discount X X - -
Give no discount - - X X
Structured English
Structure English is derived from structured programming language which
gives more understandable and precise description of process. It is based
on procedural logic that uses construction and imperative sentences
designed to perform operation for action.
It is best used when sequences and loops in a program must be
considered and the problem needs sequences of actions with
decisions.
It does not have strict syntax rule. It expresses all logic in terms
of sequential decision structures and iterations.
then
Give 5% Discount
else
then
else No Discount
end if
else No Discount
end if
end if
Pseudocode
A pseudocode does not conform to any programming language and
expresses logic in plain English.
Use DFD at high or low level analysis for providing good system
documentations.
Use data dictionary to simplify the structure for meeting the data
requirement of the system.
Use structured English if there are many loops and actions are
complex.
Use decision tables when there are a large number of conditions
to check and logic is complex.
Use decision trees when sequencing of conditions is important
and if there are few conditions to be tested.
It is the phase where the SRS document is converted into a format that can
be implemented and decides how the system will operate.
Statement of work
Requirement determination plan
Current situation analysis
Proposed system requirements including a conceptual data
model, modified DFDs, and Metadata (data about data).
While preparing the logical design of a system, the system analyst specifies
the user needs at level of detail that virtually determines the information
flow into and out of the system and the required data sources. Data flow
diagram, E-R diagram modeling are used.
Physical Design
Physical design relates to the actual input and output processes of the
system. It focuses on how data is entered into a system, verified,
processed, and displayed as output.
Architectural Design
It is also known as high level design that focuses on the design of system
architecture. It describes the structure and behavior of the system. It
defines the structure and relationship between various modules of system
development process.
Detailed Design
It follows Architectural design and focuses on development of each module.
The following table shows the symbols used in E-R model and their
significance −
Symbol Meaning
Entity
Weak Entity
Relationship
Identity Relationship
Attributes
Key Attributes
Multivalued
Composite Attribute
Derived Attributes
Total Participation of E2 in
R
Cardinality Ratio 1:N for
E1:E2 in R
Three types of relationships can exist between two sets of data: one-to-
one, one-to-many, and many-to-many.
File Organization
It describes how records are stored within a file.
Comparision
File Access
One can access a file using either Sequential Access or Random Access. File
Access methods allow computer programs read or write records in a file.
Sequential Access
Every record on the file is processed starting with the first record until End
of File (EOF) is reached. It is efficient when a large number of the records
on the file need to be accessed at any given time. Data stored on a tape
(sequential access) can be accessed only sequentially.
Documentation Control
Documentation is a process of recording the information for any reference
or operational purpose. It helps users, managers, and IT staff, who require
it. It is important that prepared document must be updated on regular basis
to trace the progress of the system easily.
After the implementation of system if the system is working improperly,
then documentation helps the administrator to understand the flow of data
in the system to correct the flaws and get the system working.
Advantages
It can reduce system downtime, cut costs, and speed up
maintenance tasks.
It provides the clear description of formal flow of present system
and helps to understand the type of input data and how the
output can be produced.
It provides effective and efficient way of communication between
technical and nontechnical users about system.
It facilitates the training of new user so that he can easily
understand the flow of system.
It helps the user to solve the problems such as troubleshooting
and helps the manager to take better final decisions of the
organization system.
It provides better control to the internal or external working of
the system.
Types of Documentations
When it comes to System Design, there are following four main
documentations −
Program documentation
System documentation
Operations documentation
User documentation
Program Documentation
It describes inputs, outputs, and processing logic for all the
program modules.
The program documentation process starts in the system
analysis phase and continues during implementation.
This documentation guides programmers, who construct modules
that are well supported by internal and external comments and
descriptions that can be understood and maintained easily.
Operations Documentation
Operations documentation contains all the information needed for
processing and distributing online and printed output. Operations
documentation should be clear, concise, and available online if possible.
User Documentation
It includes instructions and information to the users who will interact with
the system. For example, user manuals, help guides, and tutorials. User
documentation is valuable in training users and for reference purpose. It
must be clear, understandable, and readily accessible to users at all levels.
The users, system owners, analysts, and programmers, all put combined
efforts to develop a user’s guide.
Design Strategies
Top-Down Strategy
The top-down strategy uses the modular approach to develop the design of
a system. It is called so because it starts from the top or the highest-level
module and moves towards the lowest level modules.
In this technique, the highest-level module or main module for developing
the software is identified. The main module is divided into several smaller
and simpler submodules or segments based on the task performed by each
module. Then, each submodule is further subdivided into several
submodules of next lower level. This process of dividing each module into
several submodules continues until the lowest level modules, which cannot
be further subdivided, are not identified.
Bottom-Up Strategy
Bottom-Up Strategy follows the modular approach to develop the design of
the system. It is called so because it starts from the bottom or the most
basic level modules and moves towards the highest level modules.
In this technique,
The modules at the most basic or the lowest level are identified.
These modules are then grouped together based on the function
performed by each module to form the next higher-level
modules.
Then, these modules are further combined to form the next
higher-level modules.
This process of grouping several simpler modules to form higher
level modules continues until the main module of system
development process is achieved.
Structured Design
Structured design is a data-flow based methodology that helps in identifying
the input and output of the developing system. The main objective of
structured design is to minimize the complexity and increase the modularity
of a program. Structured design also helps in describing the functional
aspects of the system.
Advantages
It provide abstraction.
The two important concepts related to the system development that help in
determining the complexity of a system are couplingand cohesion.
Coupling
Coupling is the measure of the independence of components. It defines the
degree of dependency of each module of system development on the other.
In practice, this means the stronger the coupling between the modules in a
system, the more difficult it is to implement and maintain the system.
Each module should have simple, clean interface with other modules, and
that the minimum number of data elements should be shared between
modules.
High Coupling
These type of systems have interconnections with program units dependent
on each other. Changes to one subsystem leads to high impact on the other
subsystem.
Low Coupling
These type of systems are made up of components which are independent
or almost independent. A change in one subsystem does not affect any
other subsystem.
Coupling Measures
Content Coupling − When one component actually modifies
another,then the modified component is completely dependent
on modifying one.
Common Coupling − When amount of coupling is reduced
somewhat by organizing system design so that data are
accessible from a common data store.
Control Coupling − When one component passes parameters
to control the activity of another component.
Stamp Coupling − When data structures is used to pass
information from one component to another.
Data Coupling − When only data is passed then components
are connected by this coupling.
Cohesion
Cohesion is the measure of closeness of the relationship between its
components. It defines the amount of dependency of the components of a
module on one another. In practice, this means the systems designer must
ensure that −
The best modules are those that are functionally cohesive. The worst
modules are those that are coincidentally cohesive.
Audit trails for data entry and other system operations are created using
transaction logs which gives a record of all changes introduced in the
database to provide security and means of recovery in case of any failure.
Output Design
The design of output is the most important task of any system. During
output design, developers identify the type of outputs needed, and consider
the necessary output controls and prototype report layouts.
External Outputs
Manufacturers create and design external outputs for printers. External
outputs enable the system to leave the trigger actions on the part of their
recipients or confirm actions to their recipients.
Internal outputs
Internal outputs are present inside the system, and used by end-users and
managers. They support the management in decision making and reporting.
Forms Design
Both forms and reports are the product of input and output design and are
business document consisting of specified data. The main difference is that
forms provide fields for data input but reports are purely used for reading.
For example, order forms, employment and credit application, etc.
Types of Forms
Flat Forms
It is a single copy form prepared manually or by a machine and
printed on a paper. For additional copies of the original, carbon
papers are inserted between copies.
It is a simplest and inexpensive form to design, print, and
reproduce, which uses less volume.
System testing and quality assurance come to aid for checking the system.
It includes −
Testing
Testing is the process or activity that checks the functionality and
correctness of software according to specified user requirements in order to
improve the quality and reliability of system. It is an expensive, time
consuming, and critical approach in system development which requires
proper planning of overall testing process.
A successful test is one that finds the errors. It executes the program with
explicit intention of finding error, i.e., making the program fail. It is a
process of evaluating system with an intention of creating a strong system
and mainly focuses on the weak areas of the system or software.
Test Strategy
Test Plan
It provides a plan for testing the system and verifies that the system under
testing fulfils all the design and functional specifications. The test plan
provides the following information −
Test Procedures
It consists of the steps that should be followed to execute each of the test
cases. These procedures are specified in a separate document called test
procedure specification. This document also specifies any special
requirements and formats for reporting the result of testing.
Test result file contains brief information about the total number of test
cases executed, the number of errors, and nature of errors. These results
are then assessed against criteria in the test specification to determine the
overall outcome of the test.
Types of Testing
Testing can be of various types and different types of tests are conducted
depending on the kind of bugs one seeks to discover −
Unit Testing
Also known as Program Testing, it is a type of testing where the analyst
tests or focuses on each program or module independently. It is carried out
with the intention of executing each statement of the module at least once.
In unit testing, accuracy of program cannot be assured and it is
difficult to conduct testing of various input combination in detail.
It identifies maximum errors in a program as compared to other
testing techniques.
Integration Testing
In Integration Testing, the analyst tests multiple module working together.
It is used to find discrepancies between the system and its original
objective, current specifications, and systems documentation.
Here the analysts are try to find areas where modules have been
designed with different specifications for data length, type, and
data element name.
It verifies that file sizes are adequate and that indices have been
built properly.
Functional Testing
Function testing determines whether the system is functioning correctly
according to its specifications and relevant standards documentation.
Functional testing typically starts with the implementation of the system,
which is very critical for the success of the system.
Quality Assurance
It is the review of system or software products and its documentation for
assurance that system meets the requirements and specifications.
At this level, it is checked that the software can compile and link all official
platforms and operating systems.
Implementation allows the users to take over its operation for use and
evaluation. It involves training the users to handle the system and plan for
a smooth conversion.
Training
The personnel in the system must know in detail what their roles will be,
how they can use the system, and what the system will or will not do. The
success or failure of welldesigned and technically elegant systems can
depend on the way they are operated and used.
User Training
End-user training is an important part of the computer-based
information system development, which must be provided to
employees to enable them to do their own problem solving.
User training involves how to operate the equipment,
troubleshooting the system problem, determining whether a
problem that arose is caused by the equipment or software.
Most user training deals with the operation of the system itself.
The training courses must be designed to help the user with fast
mobilization for the organization.
Training Guidelines
Training Methods
Instructor-led training
It involves both trainers and trainees, who have to meet at the same time,
but not necessarily at the same place. The training session could be one-on-
one or collaborative. It is of two types −
Virtual Classroom
In this training, trainers must meet the trainees at the same time, but are
not required to be at the same place. The primary tools used here are:
video conferencing, text based Internet relay chat tools, or virtual reality
packages, etc.
Normal Classroom
The trainers must meet the trainees at the same time and at the same
place. They primary tools used here are blackboard, overhead projectors,
LCD projector, etc.
Self-Paced Training
It involves both trainers and trainees, who do not need to meet at the same
place or at the same time. The trainees learn the skills themselves by
accessing the courses at their own convenience. It is of two types −
Multimedia Training
Web-based Training
In this training, courses are often presented in hyper media format and
developed to support internet and intranet. It provides just–in-time training
for end users and allow organization to tailor training requirements.
Conversion
It is a process of migrating from the old system to the new one. It provides
understandable and structured approach to improve the communication
between management and project team.
Conversion Plan
It contains description of all the activities that must occur during
implementation of the new system and put it into operation. It anticipates
possible problems and solutions to deal with them.
Listing all the new documents and procedures that are required.
Parallel Conversion
Pilot Approach
Phase-In Method
File Conversion
It is a process of converting one file format into another. For example, file
in WordPerfect format can be converted into Microsoft Word.
Teamwork
Many popular applications support opening and saving to other file formats
of the same type. For example, Microsoft Word can open and save files in
many other word processing formats.
PIER ensures that the project has met its goals by evaluating the
development and management processes of the project.
Objectives of PIER
The objectives of having a PIER are as follows −
User staff
Strategic Management Staff
External users
Maintenance Types
System maintenance can be classified into three types −
Audit Trial
An audit trial or audit log is a security record which is comprised of who has
accessed a computer system and what operations are performed during a
given period of time. Audit trials are used to do detailed tracing of how data
on the system has changed.
It provides documentary evidence of various control techniques that a
transaction is subject to during its processing. Audit trials do not exist
independently. They are carried out as a part of accounting for recovering
lost transactions.
Audit Methods
Auditing can be done in two different ways −
Audit Considerations
Audit considerations examine the results of the analysis by using both the
narratives and models to identify the problems caused due to misplaced
functions, split processes or functions, broken data flows, missing data,
redundant or incomplete processing, and nonaddressed automation
opportunities.
Security
System security refers to protecting the system from theft, unauthorized
access and modifications, and accidental or unintentional damage. In
computerized systems, security involves protecting all the parts of
computer system which includes data, software, and hardware. Systems
security includes system privacy and system integrity.
Control Measures
There are variety of control measures which can be broadly classified as
follows −
Backup
Regular backup of databases daily/weekly depending on the time
criticality and size.
Incremental back up at shorter intervals.
Backup copies kept in safe remote location particularly necessary
for disaster recovery.
Duplicate systems run and all transactions mirrored if it is a very
critical system and cannot tolerate any disruption before storing
in disk.
Password system.
Risk Analysis
A risk is the possibility of losing something of value. Risk analysis starts
with planning for secure system by identifying the vulnerability of system
and impact of this. The plan is then made to manage the risk and cope with
disaster. It is done to accesses the probability of possible disaster and their
cost.
In analysis phase, OO models are used to fill the gap between problem and
solution. It performs well in situation where systems are undergoing
continuous design, adaption, and maintenance. It identifies the objects in
problem domain, classifying them in terms of data and behavior.
Encapsulation
Encapsulation is a process of information hiding. It is simply the
combination of process and data into a single entity. Data of an object is
hidden from the rest of the system and available only through the services
of the class. It allows improvement or modification of methods used by
objects without affecting other parts of a system.
Abstraction
It is a process of taking or selecting necessary method and attributes to
specify the object. It focuses on essential characteristics of an object
relative to perspective of user.
Relationships
All the classes in the system are related with each other. The objects do not
exist in isolation, they exist in relationship with other objects.
There are three types of object relationships −
Inheritance
Inheritance is a great feature that allows to create sub-classes from an
existing class by inheriting the attributes and/or operations of existing
classes.
UML is made up of −
Uses of UML
UML is quite useful for the following purposes −
Static Models
Static models show the structural characteristics of a system, describe its
system structure, and emphasize on the parts that make up the system.
Dynamic models identify the object needed and how they work
together through methods and messages.
They are used to design the logic and behavior of system.
UML diagrams represent dynamic model include sequence
diagram, communication diagram, state diagram, activity
diagram.
Object-oriented analysis
Object-oriented design
Prototyping
Implementation
Incremental testing
Object-Oriented Analysis
This phase concerns with determining the system requirements and to
understand the system requirements build a use-case model. A use-case
is a scenario to describe the interaction between user and computer
system. This model represents the user needs or user view of system.
It also includes identifying the classes and their relationships to the other
classes in the problem domain, that make up an application.
Object-Oriented Design
The objective of this phase is to design and refine the classes, attributes,
methods, and structures that are identified during the analysis phase, user
interface, and data access. This phase also identifies and defines the
additional classes or objects that support implementation of the
requirement.
Prototyping
Prototyping enables to fully understand how easy or difficult it will be to
implement some of the features of the system.
It can also give users a chance to comment on the usability and usefulness
of the design. It can further define a use-case and make use-case modeling
much easier.
Implementation
It uses either Component-Based Development (CBD) or Rapid Application
Development (RAD).
Its task is to build the application quickly and incrementally implement the
user requirements design through tools such as visual basic, power builder,
etc.
Incremental Testing
Software development and all of its activities including testing are an
iterative process. Therefore, it can be a costly affair if we wait to test a
product only after its complete development. Here incremental testing
comes into picture wherein the product is tested during various stages of its
development.