Chapter 4 Program Maintenance (PLT)
Chapter 4 Program Maintenance (PLT)
Chapter 4 Program Maintenance (PLT)
PROGRAM MAINTENANCE
1. INTRODUCTION:
User requirements from a specific program do not remain static. They change frequently in response to such
factors as new laws, new ideas, new products, or new computer facilities. Program maintenance covers a wide
range of activities including correcting coding and design errors, updating documentation and test data, and
upgrading user’s support. In other words, maintenance may be viewed as enhancement i.e. adding, modifying, or
developing the code to support changes in the specifications. The term program maintenance or software
maintenance is commonly used to refer to the modifications that are made to a program system after initial
release. It is the technique of updating, alteration or correction of applications of the system. It is an important
activity of program development which takes significant part of the resources of a computer data processing
organization. It is used to be viewed as merely bugs fixing and defects fixing. It is the process of incorporating
changes in an existing system to enhance, update or upgrade its features. It is an important phase in program
development life cycle. Usually, the total cost of maintenance phase is much higher than the development cost of
the software. Normally the maintenance-to-development cost ratio is suggested as 80:20, 70:30, and 60:40.
Sometimes, it can be defined as the implementation process which contains programming system preparation
and transition activities, such as the conception and creation of the maintenance plan, the preparation for
handling problems identified during development, and the follow-up on product configuration management.
Today, it is used with cover a wide range of activities, all having to do with modification to every stage which
required in order making an implement. Every program system will need to be maintenance eventually due to the
some reasons which described below.
So, overcome the problem of the maintenance problems of the program or software ,the developer or
programmer should adopt the good corporate policy that accept only those programs and products which are
easy to modify, upgrade ,and handle.
4. DOCUMENTATION:
Documentation is the process of collecting and storing the overall activities and operations of the program or
software development which performed in every stages of the development. It is a complete record of every
aspects of the program or project development. That may be requirement analysis or data and task analysis or
reason for the program development. That may be about the functions, procedure, subroutines, algorithms,
pseudo code, flowcharts or other techniques which used for the program design and development. This is the
process of collecting, organising, storing and maintaining a complete historical record of program and other
documents used and prepared during the program or software development stage. Documentation is never
2
Prepared by: N.P.BHUSAL
Email ID: smcnpbhusl@gmail.com
PROGRAMMING LOGIC AND TECHNIQUES
ending process throughout the life of the software. It has to be carried out from tome-to-time whenever the
software is modified during its maintenance phase.
Good documentation called that type of documentation where every stages of the development with problems
and their solution explained clearly and briefly. Good documentation implies that each aspect of the
documentation particularly explained with comments and remarks for the analysis, design, objects, procedures,
algorithm and other techniques and topics used in the development process. The most three forms that
commonly used for documentation are program comments or remarks, system manual and user manual.
Documentation Standard:
The importance of software documentation has been well established by now. There have been too many
problems in the past with poorly documented software. Elimination of errors and incorporation of modifications
are usually very difficult in such software, making them very expensive to maintain. Realizing the importance of
software documentation, several computer organizations have developed strict documentation standards. These
standards describe in detail how documentation is to be done. Documentation standards are basic of document
quality assurance. Standards are designed to over all cases and sometimes seen unnecessary restrictive. It is
therefore important that for each project, the appropriate standards are chosen and modified to suit that
particular project. Small projects developing system with a relatively sort and large softwares project were the
software may have to be maintain for more times. It Document produced according to appropriate have a
constant appearance, structure and quality. The standards used in documentation process are following listed:
1. Process standard: Process standards define the approach to be taken in producing document these generally
means defining the softwares tools which should be used for document production and defining the quality
providing procedures which ensures that high quality documents are produced. Document process quality
standards should be flexible and most be able to adjust with all types of document.
2. Product standard: Product standards apply to all document produced in the course of software
development. Document should have a consistent appearance and, documents of the some class should have a
consistent structure. Document standards are project specific but should be based on more general
organization standards.
3. Interchange standard: Document interchange standards are important as more and more documents are
produced in electronic formats as well as or instead of paper on for documentation. That is delivered with a
software system Adobe portable document format (PDF) is now very commonly used. However, when
document are exchanged by the development team and when it is circulated within an organisation, these are
often in the format of whatever words processor user.
Types of Documentation:
1. Requirements Documentation
2. Architecture/Design Documentation
3. Technical Documentation
4. End User Documentation
5. Marketing Documentation
Requirements Documentation:
Requirements documentation is the description of what particular software does or shall do.
It is also used as an agreement or as the foundation for agreement on what the software shall do.
It consists of statements that identify attributes, capabilities, characteristics, or qualities of a system.
This is the foundation for what shall be or has been implemented.
Architecture/Design Documentation:
Architecture documentation is a special breed of design document.
A good architecture document is short on details but thick on explanation.
It focuses on one specific aspect of the system and suggests alternate approaches.
It could be at the user interface, code, design, or even architectural level.
Technical documentation:
Technical documentation has become important within such organizations as the basic and advanced level of
information may change over a period of time with architecture changes.
This documentation may be used by developers, testers and also the end customers or clients using this
software application.
It consists of documentation of code, algorithms, interfaces, and APIs.
Technical documentation is used by the programmers who may be working with and modifying the completed
program
End User Documentation:
End User Documentations are usually far more diverse with respect to the source code of the program, and
instead simply describe how it is used.
The user documentation describes each feature of the program, and assists the user in realizing these
features.
There are three broad ways in which user documentation can be organized: Tutorial, Thematic and Reference.
It is used by the users of the program.
Marketing Documentation:
Marketing Documentation is used to provide clear and memorable catch phrases that exemplify the point we
wish to convey.
It emphasizes the interoperability of the program with anything else provided by the manufacturer.
Requirements of Documentation:
The documentation of any program has various aspects and requirements, some of these are described
below:
1. Definitions of the program: This topic contains of acknowledgement of the program, reason for the program
development, dedication of the program and approval of the program, Scope of the system.
2. Description of the System: This factor consists of detail of the system or sub system environment
description with the used functions in that system and remarks and comments about the system. It describes
clearly form and type of input data to be used and the form and type of output required.
3. Description of the system design: this factor consists of description of all the design structure, used
techniques and tools such as algorithms, flowcharts, pseudo codes, decision tables etc.
4. Description of Operating instructions: This document gives the details to the computer operator of how to
run the program. It may include:
Details of the procedure for starting the program.
Details of disks and tapes required.
Special stationery to be used.
4
Prepared by: N.P.BHUSAL
Email ID: smcnpbhusl@gmail.com
PROGRAMMING LOGIC AND TECHNIQUES
The number of copies of each report, and who is to receive the output.
Backup procedures to be followed.
Recovery procedures in the event of hardware failure.
5. Description of program controls: this document contains the description of the control structure of the
program .for example the document describes the programmed controls may be used to check on the
reasonableness and property of input data and so on.
6. PROGRAM SPECIFICATION:
Specification is a process of detailed description of different tools and techniqaues and features of the whole
program. It is a precise statement of the requirements of the system. A program specification is a list of
requirements written for a computer program. The program specification is written before a computer scientist
or program developer makes the program. Then, after the computer scientist makes the program, she must check
that the program agrees with the requirements in the specification. It is a statement of the precise functions
which are to be carried out by a computer program, including descriptions of the input to be processed by the
program, the processing needed, and the output from the program. It is an activity a critical part of the whole
design process. Specifications themselves are the result of a complex and creative design activity. We can view
specification as the statement of an agreement between a producer of a system and the user of a system or
between an implementer and the consumer. Specification states what a system should do, the developer or
implementer decides how to do it. The developer or programmer must specify about the system requirements
and the subsystems and the components that will be used to make up the system.
A specification is a technical contract between a programmer and his/her user or client and is intended to provide
them with a mutual understanding of a program. A user uses the specification to guide his/her use of the
program;a programmer uses the specification to guide his/her construction of the program. A complex
specification may engender sub specifications, each describing a sub component of the program. The construction
of these sub components may then be delegated to other programmers so that a programmer at one level
becomes also a client at another. Experience shows that it is extremely challenging to create high quality software.
A clearly understandable specification is a vital ingredient in the creation process. However, the program is
available only at the conclusion of the programmer user interaction, and cannot be a factor in developing a
5
Prepared by: N.P.BHUSAL
Email ID: smcnpbhusl@gmail.com
PROGRAMMING LOGIC AND TECHNIQUES
suitable initial contract. And even when it is completed, the plethora of details in programs overwhelms a clear
understanding and disqualifies the program from serving the purposes of a specification.
The purpose of a specification requires that all users have complete confidence in the properties of the results it
warrants. The focus of a specification should be on what is achieved using this program. Precise and formally
defined conventions for writing specifications are a much more recent invention than programming languages.
Since a specification provides a technical contract, it is only natural to base both the construction and the
verification of a program on its specification.
The uses of Specification:
A statement of user requirements.
Statement of interface between the machine and the controlled environment.
A statement of the requirements for the implementation.
a reference point during product maintenance.
System Flowchart:
System flowchart is the diagrammatically representation of an event of a system or part of the system for clearly
specification the current system. The system flow chart mostly shows three elements: The program, The Data and
Interaction between program and data. This can be defined as the programming process description chart which
can shows the decision that lead to different actions taken for the program .To draw a system flow chart firstly,
we should identify the main components or functions with main system and sub components and functions of the
system then we can properly maintain the system.
Example1:
Example 2:
6
Prepared by: N.P.BHUSAL
Email ID: smcnpbhusl@gmail.com
PROGRAMMING LOGIC AND TECHNIQUES
is commonly called a process model. It is sometimes also referred to as bubble chart. The DFD illustrate the
movement in the system. It shows the flow of information from and within and to a system. DFDs are useful tools
for the analysing the existing system. DFD is a network that describes the flow of data and the process that change
or transfer, data throughout a system. One of the reasons for the success of DFD is that they can express by means
of an attractive graphical notation that makes them easy to use. The main merit of DFD is that it provides an
overview of what data flows in a system, what transformations are done on the data, what files are used and
where results flow. A DFD model uses a very limited number of primitive symbols to represent the functions
performed by a system and the data flow among these functions.
DFD are structured in such way that starting from a simple diagram which provides a broad overview at
particular layout and they can be expanded to a hierarchy of diagram giving more and more detail. It is used to
describe and analyses the movement of data through the system manual or automated. It is used by the
information technology professionals and system analysts to show and document users how data moves between
different processes. It is a graphical tool that depicts the flow of data in an information systems, the relationship
among the data flows and how data come to be stored at specific location. It represents the functions or processes
which capture, manipulate, store and distribute data between a system and its environment and between
components within a system. An approach is to prepare DFDs for an overview of the system first, then add
detailed aspects of the diagram. In other words, the diagrams move from general to specific. DFD is an elegant
modeling technique that turns out to be useful not only to represent the results of structured analysis of a
software problem but also for several other applications such as showing the flow of documents or items in an
organization.
DFD is a way to model a real world situation. It is the interface between the real world activities and an
understanding of how this can be converted in to a computer system. DFD are structured in such way that starting
from a simple diagram which provides a broad overview at particular layout and they can be expanded to a
hierarchy of diagram giving more and more detail. A data flow diagram is strong in illustrating the relationship of
processes, data stores and external entities in business information system which graphically shows the relation
between process and data.
Advantages of DFD:
It is easy to understand.
It is easier and faster way to produce and amend.
It is useful communicating tool.
It is useful as the part of system documentation file.
It explains the logic behind the data flow within the system.
It provides a detailed representation of system components.
It follows the top-down approach.
Disadvantages of DFD:
DFDs for large systems can become cumbersome, difficult to translate and read, and be time consuming in
their construction.
Data flow can become confusing to programmers, but DFDs are useless without the prerequisite detail.
Different DFD models employ different symbols (circles and rectangles, for example, for entities).
2. Process: A process shows a transformation and manipulation of data flows within the system.
The symbol is used rectangular box or a circle which contains three descriptive elements. It is also
referred to as a black box. It contains the business logic therefore it is also called business rules. It
receives input data and produces output that has a different content, form, or both. This may be a
department, a piece of hardware etc. It is an activity or function performed for a specific business reason. It can be
manual or computerized. Examples of good process names would be:
Enter customer details
Register new students
Validate sales orders.
3. Data Flow: A data flow shows the flow of information from its source to its destinations. A data
flow is represented by a line with single or double arrowheads that swing the direction of flow.
Information always flows to or from a process. It represents one or more data items. It represents
movement of data. It always starts and ends at a process. It shows the connection of a single piece of data or a
logical collection of data. Flows of data between:
• external entities and processes
• processes and other processes
• processes and data stores
4. Data Store: A data store is a holding placing for information within the system. It is represented
by an open ended narrow rectangle. Data store may be a long time files such as sale ledgers or may
be short term accumulation. Data stores are places where data may be stored. This information
may be stored either temporarily or permanently by the user. In any system you will probably
need to make some assumptions about which relevant data stores to include. The data flowing out is retrieved
from the data store and data flowing in updates or is also added to the data store.
This diagram represents a banking process, with maintenance customer accounts. Customer withdrawn
deposited cash, request information about their account or update their account detail.
In this Physical DFD shows the actual details that perform the function in to a system thus, there is an “Order
processing Clerk” an “Entry into customer file” which processed and a “run locate program “process to locate the
parts ordered.
9
Prepared by: N.P.BHUSAL
Email ID: smcnpbhusl@gmail.com
PROGRAMMING LOGIC AND TECHNIQUES
Both physical and logical DFD, support a top down approach to system analysis. For this purpose, analyst begin by
developing a general understanding of the system and gradually explode components is greater details. This is
achieved through context diagram, first level DFD, and second level DFD.
10
Prepared by: N.P.BHUSAL
Email ID: smcnpbhusl@gmail.com
PROGRAMMING LOGIC AND TECHNIQUES
Advantages of Logical DFD:
Better communication with users.
More stable systems
Better understanding of the business analysts
Flexibility and easier maintenance
Elimination of redundancies and easier creation of the physical model.
The process model of the system then consists of a set of levelled data flow diagrams. Levelling of DFDs improves
their readability and usefulness as a communication tool. A context diagram is expanded into a number of inter-
related processes. Each process may be further expanded into a set of inter-connected sub processes. This
procedure of expanding a DFD is known as levelling. A level-zero DFD is prepared to show an overview of the
system including basic inputs, processes, and outputs.
11
Prepared by: N.P.BHUSAL
Email ID: smcnpbhusl@gmail.com
PROGRAMMING LOGIC AND TECHNIQUES
12
Prepared by: N.P.BHUSAL
Email ID: smcnpbhusl@gmail.com
PROGRAMMING LOGIC AND TECHNIQUES
13
Prepared by: N.P.BHUSAL
Email ID: smcnpbhusl@gmail.com
PROGRAMMING LOGIC AND TECHNIQUES
14
Prepared by: N.P.BHUSAL
Email ID: smcnpbhusl@gmail.com