System Analysis and Design

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 25

System Analysis and Design - Overview

Systems development is systematic process which includes phases such as planning, analysis, design,
deployment, and maintenance. Here, in this tutorial, we will primarily focus on −

 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.

System analysis is conducted for the purpose of studying a system or its parts in order to identify its
objectives. It is a problem solving technique that improves the system and ensures that all the
components of the system work efficiently to accomplish their purpose.

Analysis specifies what the system should do.

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.

System Design focuses on how to accomplish the objective of the system.

System Analysis and Design (SAD) mainly focuses on −

 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.

A system is “an orderly grouping of interdependent components linked together according to a plan to
achieve a specific goal.”

Constraints of a System

A system must have three basic constraints −

 A system must have some structure and behavior which is designed to achieve a predefined
objective.

 Interconnectivity and interdependence must exist among the system components.


 The objectives of the organization have a higher priority than the objectives of its subsystems.

For example, traffic management system, payroll system, automatic library system, human resources
information system.

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.

For example, in an organization, purchasing department must interact with production department and
payroll with personnel department.

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 −


Outputs and Inputs

 The main aim of a system is to produce an output which is useful for its user.

 Inputs are the information that enters into the system for processing.

 Output is the outcome of processing.

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.

Boundaries and Interface

 A system should be defined by its boundaries. Boundaries are the limits that identify its
components, processes, and interrelationship when it interfaces with another system.

 Each system has boundaries that determine its sphere of influence and control.

 The knowledge of the boundaries of a given system is crucial in determining the nature of its
interface with other systems for successful design.

Types of Systems

The systems can be divided into the following types −

Physical or Abstract Systems

 Physical systems are tangible entities. We can touch and feel them.

 Physical System may be static or dynamic in nature. For example, desks and chairs are the
physical parts of computer center which are static. A programmed computer is a dynamic
system in which programs, data, and applications can change according to the user's needs.

 Abstract systems are non-physical entities or conceptual that may be formulas, representation
or model of a real system.

Open or Closed Systems

 An open system must interact with its environment. It receives inputs from and delivers outputs
to the outside of the system. For example, an information system which must adapt to the
changing environmental conditions.

 A closed system does not interact with its environment. It is isolated from environmental
influences. A completely closed system is rare in reality.

Adaptive and Non Adaptive System

 Adaptive System responds to the change in the environment in a way to improve their
performance and to survive. For example, human beings, animals.
 Non Adaptive System is the system which does not respond to the environment. For example,
machines.

Permanent or Temporary System

 Permanent System persists for long time. For example, business policies.

 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.

Natural and Manufactured System

 Natural systems are created by the nature. For example, Solar system, seasonal system.

 Manufactured System is the man-made system. For example, Rockets, dams, trains.

Deterministic or Probabilistic System

 Deterministic system operates in a predictable manner and the interaction between system
components is known with certainty. For example, two molecules of hydrogen and one
molecule of oxygen makes water.

 Probabilistic System shows uncertain behavior. The exact output is not known. For example,
Weather forecasting, mail delivery.

Social, Human-Machine, Machine System

 Social System is made up of people. For example, social clubs, societies.

 In Human-Machine System, both human and machines are involved to perform a particular task.
For example, Computer programming.

 Machine System is where human interference is neglected. All the tasks are performed by the
machine. For example, an autonomous robot.

Man–Made Information Systems

 It is an interconnected set of information resources to manage data for particular organization,


under Direct Management Control (DMC).

 This system includes hardware, software, communication, data, and application for producing
information according to the need of an organization.

Man-made information systems are divided into three types −

 Formal Information System − It is based on the flow of information in the form of memos,
instructions, etc., from top level to lower levels of management.

 Informal Information System − This is employee based system which solves the day to day work
related problems.
 Computer Based System − This system is directly dependent on the computer for managing
business applications. For example, automatic library system, railway reservation system,
banking system, etc.

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.

Flow System Models

 A flow system model shows the orderly flow of the material, energy, and information that hold
the system together.

 Program Evaluation and Review Technique (PERT), for example, is used to abstract a real world
system in model form.

Static System Models

 They represent one pair of relationships such as activity–time or cost–quantity.

 The Gantt chart, for example, gives a static picture of an activity-time relationship.

Dynamic System Models

 Business organizations are dynamic systems. A dynamic model approximates the type of
organization or application that analysts deal with.

 It shows an ongoing, constantly changing status of the system. It consists of −

o Inputs that enter the system

o The processor through which transformation takes place

o The program(s) required for processing

o The output(s) that result from processing.

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).

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.

In this phase, the complex activity of system development is divided into several smaller sub-activities,
which coordinate with each other to achieve the main objective of system development.
Inputs to System Design

System design takes the following inputs −

 Statement of work

 Requirement determination plan

 Current situation analysis

 Proposed system requirements including a conceptual data model, modified DFDs, and
Metadata (data about data).

Outputs for System Design

System design gives the following outputs −

 Infrastructure and organizational changes for the proposed system.

 A data schema, often a relational schema.

 Metadata to define the tables/files and columns/data-items.

 A function hierarchy diagram or web page map that graphically describes the program structure.

 Actual or pseudocode for each module in the program.

 A prototype for the proposed system.

Types of System Design

Logical Design
Logical design pertains to an abstract representation of the data flow, inputs, and outputs of the system.
It describes the inputs (sources), outputs (destinations), databases (data stores), procedures (data flows)
all in a format that meets the user requirements.

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.

It produces the working system by defining the design specification that specifies exactly what the
candidate system does. It is concerned with user interface design, process design, and data design.

It consists of the following steps −

 Specifying the input/output media, designing the database, and specifying backup procedures.

 Planning system implementation.

 Devising a test and implementation plan, and specifying any new hardware and software.

 Updating costs, benefits, conversion dates, and system constraints.

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.

Conceptual Data Modeling

It is representation of organizational data which includes all the major entities and relationship. System
analysts develop a conceptual data model for the current system that supports the scope and
requirement for the proposed system.

The main aim of conceptual data modeling is to capture as much meaning of data as possible. Most
organization today use conceptual data modeling using E-R model which uses special notation to
represent as much meaning about data as possible.

Entity Relationship Model

It is a technique used in database design that helps describe the relationship between various entities of
an organization.

Terms used in E-R model


 ENTITY − It specifies distinct real world items in an application. For example: vendor, item,
student, course, teachers, etc.

 RELATIONSHIP − They are the meaningful dependencies between entities. For example, vendor
supplies items, teacher teaches courses, then supplies and course are relationship.

 ATTRIBUTES − It specifies the properties of relationships. For example, vendor code, student
name. Symbols used in E-R model and their respective meanings −

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.

There are four file organization methods −

 Serial − Records are stored in chronological order (in order as they are input or
occur). Examples − Recording of telephone charges, ATM transactions, Telephone queues.

 Sequential − Records are stored in order based on a key field which contains a value that
uniquely identifies a record. Examples − Phone directories.

 Direct (relative) − Each record is stored based on a physical address or location on the device.
Address is calculated from the value stored in the record’s key field. Randomizing routine or
hashing algorithm does the conversion.
 Indexed − Records can be processed both sequentially and non-sequentially using indexes.

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.

Direct (Random) Access

Records are located by knowing their physical locations or addresses on the device rather than their
positions relative to other records. Data stored on a CD device (direct-access) can be accessed either
sequentially or randomly.

Types of Files used in an Organization System

Following are the types of files used in an organization system −

 Master file − It contains the current information for a system. For example, customer file,
student file, telephone directory.

 Table file − It is a type of master file that changes infrequently and stored in a tabular format.
For example, storing Zipcode.
 Transaction file − It contains the day-to-day information generated from business activities. It is
used to update or process the master file. For example, Addresses of the employees.

 Temporary file − It is created and used whenever needed by a system.

 Mirror file − They are the exact duplicates of other files. Help minimize the risk of downtime in
cases when the original becomes unusable. They must be modified each time the original file is
changed.

 Log files − They contain copies of master and transaction records in order to chronicle any
changes that are made to the master file. It facilitates auditing and provides mechanism for
recovery in case of system failure.

 Archive files − Backup files that contain historical versions of other files.

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.

Programmers or systems analysts usually create program and system documentation. Systems analysts
usually are responsible for preparing documentation to help users learn the system. In large companies,
a technical support team that includes technical writers might assist in the preparation of user
documentation and training materials.

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.

It includes the following information −

 Program, systems analyst, programmer, and system identification.

 Scheduling information for printed output, such as report, execution frequency, and deadlines.

 Input files, their source, output files, and their destinations.

 E-mail and report distribution lists.

 Special forms required, including online forms.

 Error and informational messages to operators and restart procedures.

 Special instructions, such as security requirements.

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.

A user documentation should include −

 A system overview that clearly describes all major system features, capabilities, and limitations.

 Description of source document content, preparation, processing, and, samples.

 Overview of menu and data entry screen options, contents, and processing instructions.
 Examples of reports that are produced regularly or available at the user’s request, including
samples.

 Security and audit trail information.

 Explanation of responsibility for specific input, output, or processing requirements.

 Procedures for requesting changes and reporting problems.

 Examples of exceptions and error situations.

 Frequently asked questions (FAQs).

 Explanation of how to get help and procedures for updating the user manual.

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.

 It describes each program within the IS and the entire IS itself.

 It describes the system’s functions, the way they are implemented, each program's purpose
within the entire IS with respect to the order of execution, information passed to and from
programs, and overall system flow.

 It includes data dictionary entries, data flow diagrams, object models, screen layouts, source
documents, and the systems request that initiated the project.

 Most of the system documentation is prepared during the system analysis and system design
phases.

 During systems implementation, an analyst must review system documentation to verify that it
is complete, accurate, and up-to-date, and including any changes made during the
implementation process.

Testing

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 −

 Product level quality (Testing)

 Process level quality.

Let us go through them briefly −


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.

Characteristics of System Testing

System testing begins at the module level and proceeds towards the integration of the entire software
system. Different testing techniques are used at different times while testing the system. It is conducted
by the developer for small projects and by independent testing groups for large projects.

Stages of System Testing

The following stages are involved in testing −

Test Strategy

It is a statement that provides information about the various levels, methods, tools, and techniques
used for testing the system. It should satisfy all the needs of an organization.

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

 Approaches and tools used for testing

 Responsibilities and time required for each testing activity

 Availability of tools, facilities, and test libraries

 Procedures and standards required for planning and conducting the tests

 Factors responsible for successful completion of testing process

Test Case Design

 Test cases are used to uncover as many errors as possible in the system.

 A number of test cases are identified for each module of the system to be tested.

 Each test case will specify how the implementation of a particular requirement or design
decision is to be tested and the criteria for the success of the test.

 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.

 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.

Functional testing is divided into two categories −

 Positive Functional Testing − It involves testing the system with valid inputs to verify that the
outputs produced are correct.

 Negative Functional Testing − It involves testing the software with invalid inputs and undesired
operating conditions.
Rules for System Testing

To carry out system testing successfully, you need to follow the given rules −

 Testing should be based on the requirements of user.

 Before writing testing scripts, understand the business logic should be understood thoroughly.

 Test plan should be done as soon as possible.

 Testing should be done by the third party.

 It should be performed on static software.

 Testing should be done for valid and invalid input conditions.

 Testing should be reviewed and examined to reduce the costs.

 Both static and dynamic testing should be conducted on the software.

 Documentation of test cases and test results should be done.

Implementation is a process of ensuring that the information system is operational. It involves −

 Constructing a new system from scratch

 Constructing a new system from the existing one.

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.

Training Systems Operators

Systems operators must be trained properly such that they can handle all possible operations, both
routine and extraordinary. The operators should be trained in what common malfunctions may occur,
how to recognize them, and what steps to take when they come.

Training involves creating troubleshooting lists to identify possible problems and remedies for them, as
well as the names and telephone numbers of individuals to contact when unexpected or unusual
problems arise.

Training also involves familiarization with run procedures, which involves working through the sequence
of activities needed to use a new system.

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

 Establishing measurable objectives

 Using appropriate training methods

 Selecting suitable training sites

 Employing understandable training materials

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

In this training, courses are presented in multimedia format and stored on CD-ROM. It minimizes the
cost in developing an in-house training course without assistance from external programmers.

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.

It includes the following activities −

 Name all files for conversions.

 Identifying the data requirements to develop new files during conversion.

 Listing all the new documents and procedures that are required.

 Identifying the controls to be used in each activity.

 Identifying the responsibility of person for each activity.

 Verifying conversion schedules.

Conversion Methods

The four methods of conversion are −

 Parallel Conversion

 Direct Cutover Conversion

 Pilot Approach

 Phase-In Method

Method Description Advantages Disadvantages

Provides fallback when Causes cost overruns.


new system fails.
Parallel Old and new systems are used New system may not
Conversion simultaneously. Offers greatest security get fair trail.
and ultimately testing of
new system.

Forces users to make new No fall back if problems


Direct system work arise with new system
New system is implemented and old
Cutover
system is replaced completely. Immediate benefit from Requires most careful
Conversion
new methods and control. planning
Allows training and A long term phasein
installation without causes a problem of
Supports phased approach that unnecessary use of whether conversion
Pilot
gradually implement system across resources. goes well or not.
Approach
all users
Avoid large contingencies
from risk management.

Provides experience and Gives impression that


Working version of system line test before old system is erroneous
implemented in one part of implementation and it is not reliable.
Phase-In organization based on feedback, it is
Method installed throughout the When preferred new
organization all alone or stage by system involves new
stage. technology or drastic
changes in performance.

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.

For successful conversion, a conversion plan is required, which includes −

 Knowledge of the target system and understanding of the present system

 Teamwork

 Automated methods, testing and parallel operations

 Continuous support for correcting problems

 Updating systems/user documentation, etc

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 −


 To determine the success of a project against the projected costs, benefits, and timelines.

 To identify the opportunities to add additional value to the project.

 To determine strengths and weaknesses of the project for future reference and appropriate
action.

 To make recommendations on the future of the project by refining cost estimating techniques.

The following staff members should be included in the review process −

 Project team and Management

 User staff

 Strategic Management 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.

Thus, maintenance changes the existing system, enhancement adds features to the existing system, and
development replaces the existing system. It is an important part of system development that includes
the activities which corrects errors in system design and implementation, updates the documents, and
tests the data.

Maintenance Types

System maintenance can be classified into three types −

 Corrective Maintenance − Enables user to carry out the repairing and correcting leftover
problems.

 Adaptive Maintenance − Enables user to replace the functions of the programs.

 Perfective Maintenance − Enables user to modify or enhance the programs according to the
users’ requirements and changing needs

CASE Tools

CASE tools are set of software application programs, which are used to automate SDLC activities. CASE
tools are used by software project managers, analysts and engineers to develop software system.

There are number of CASE tools available to simplify various stages of Software Development Life Cycle
such as Analysis tools, Design tools, Project management tools, Database Management tools,
Documentation tools are to name a few.
Use of CASE tools accelerates the development of project to produce desired result and helps to
uncover flaws before moving ahead with next stage in software development.

Components of CASE Tools

CASE tools can be broadly divided into the following parts based on their use at a particular SDLC stage:

 Central Repository - CASE tools require a central repository, which can serve as a source of
common, integrated and consistent information. Central repository is a central place of storage
where product specifications, requirement documents, related reports and diagrams, other
useful information regarding management is stored. Central repository also serves as data
dictionary.

 Upper Case Tools - Upper CASE tools are used in planning, analysis and design stages of SDLC.

 Lower Case Tools - Lower CASE tools are used in implementation, testing and maintenance.

 Integrated Case Tools - Integrated CASE tools are helpful in all the stages of SDLC, from
Requirement gathering to Testing and documentation.

CASE tools can be grouped together if they have similar functionality, process activities and capability of
getting integrated with other tools.

Scope of Case Tools

The scope of CASE tools goes throughout the SDLC.

Case Tools Types

Now we briefly go through various CASE tools

Diagram tools

These tools are used to represent system components, data and control flow among various software
components and system structure in a graphical form. For example, Flow Chart Maker tool for creating
state-of-the-art flowcharts.
Process Modeling Tools

Process modeling is method to create software process model, which is used to develop the software.
Process modeling tools help the managers to choose a process model or modify it as per the
requirement of software product. For example, EPF Composer

Project Management Tools

These tools are used for project planning, cost and effort estimation, project scheduling and resource
planning. Managers have to strictly comply project execution with every mentioned step in software
project management. Project management tools help in storing and sharing project information in real-
time throughout the organization. For example, Creative Pro Office, Trac Project, Basecamp.

Documentation Tools

Documentation in a software project starts prior to the software process, goes throughout all phases of
SDLC and after the completion of the project.

Documentation tools generate documents for technical users and end users. Technical users are mostly
in-house professionals of the development team who refer to system manual, reference manual,
training manual, installation manuals etc. The end user documents describe the functioning and how-to
of the system such as user manual. For example, Doxygen, DrExplain, Adobe RoboHelp for
documentation.

Analysis Tools

These tools help to gather requirements, automatically check for any inconsistency, inaccuracy in the
diagrams, data redundancies or erroneous omissions. For example, Accept 360, Accompa,
CaseComplete for requirement analysis, Visible Analyst for total analysis.

Design Tools

These tools help software designers to design the block structure of the software, which may further be
broken down in smaller modules using refinement techniques. These tools provides detailing of each
module and interconnections among modules. For example, Animated Software Design

Configuration Management Tools

An instance of software is released under one version. Configuration Management tools deal with –

 Version and revision management

 Baseline configuration management

 Change control management

CASE tools help in this by automatic tracking, version management and release management. For
example, Fossil, Git, Accu REV.

Change Control Tools


These tools are considered as a part of configuration management tools. They deal with changes made
to the software after its baseline is fixed or when the software is first released. CASE tools automate
change tracking, file management, code management and more. It also helps in enforcing change policy
of the organization.

Programming Tools

These tools consist of programming environments like IDE (Integrated Development Environment), in-
built modules library and simulation tools. These tools provide comprehensive aid in building software
product and include features for simulation and testing. For example, Cscope to search code in C,
Eclipse.

Prototyping Tools

Software prototype is simulated version of the intended software product. Prototype provides initial
look and feel of the product and simulates few aspect of actual product.

Prototyping CASE tools essentially come with graphical libraries. They can create hardware independent
user interfaces and design. These tools help us to build rapid prototypes based on existing information.
In addition, they provide simulation of software prototype. For example, Serena prototype composer,
Mockup Builder.

Web Development Tools

These tools assist in designing web pages with all allied elements like forms, text, script, graphic and so
on. Web tools also provide live preview of what is being developed and how will it look after
completion. For example, Fontello, Adobe Edge Inspect, Foundation 3, Brackets.

Quality Assurance Tools

Quality assurance in a software organization is monitoring the engineering process and methods
adopted to develop the software product in order to ensure conformance of quality as per organization
standards. QA tools consist of configuration and change control tools and software testing tools. For
example, SoapTest, AppsWatch, JMeter.

Maintenance Tools

Software maintenance includes modifications in the software product after it is delivered. Automatic
logging and error reporting techniques, automatic error ticket generation and root cause Analysis are
few CASE tools, which help software organization in maintenance phase of SDLC. For example, Bugzilla
for defect tracking, HP Quality Center.

You might also like