0% found this document useful (0 votes)
56 views

C BookBankSystem

The document is a project report for a Book Bank System. It was submitted by Sumit Jaiswal to his faculty guide Ms. Ruchika at Amity Institute of Information Technology. The report includes an introduction to the book banking concept, the objectives and scope of the project, design documents, database design, testing procedures, and output screens from the system. It aims to automate the process of maintaining records of books issued to students.

Uploaded by

Ali
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
56 views

C BookBankSystem

The document is a project report for a Book Bank System. It was submitted by Sumit Jaiswal to his faculty guide Ms. Ruchika at Amity Institute of Information Technology. The report includes an introduction to the book banking concept, the objectives and scope of the project, design documents, database design, testing procedures, and output screens from the system. It aims to automate the process of maintaining records of books issued to students.

Uploaded by

Ali
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 95

A

PROJECT REPORT
ON
"BOOK BANK SYSTEM"

A PROJECT REPORT SUBMITTED FOR THE AWARD OF


BACHELOR OF COMPUTER APPLICATIONS

SUBMITTED TO: SUBMITTED BY:


MS. RUCHIKA SUMIT JAISWAL
Faculty Guide BCA
AIIT A1004807044

AMITY INSTITUTE OF INFORMATION TECHNOLOGY


AMITY UNIVERSITY, UTTAR PRADESH
ACKNOWLEDGEMENT

I feel immense pleasure in expressing my profound regard and deep sense of


gratitude to MS. RUCHIKA, Faculty Guide, AIIT, Noida, for her expert
and invaluable guidance, keen interest, constructive criticism and especially
for creating in me the spirit of independent thinking.

I am indebted to all those people who has helped, encouraged, and


supported to me at each and every step in the materialization of this project.
Without their painstaking efforts and continuous suggestions, this project
could never have been accomplished.

To fully acknowledge everyone who had a part in this work would take
more space than this entire project report. With that in mind, I would like to
mention a few people who were key.

SUMIT JAISWAL
BCA
A1004807044

2
CERIFICATE

TO WHOM IT MAY CONCERN

This is to certify that Mr. Sumit Jaiswal, BCA (A1004807044), student of


Amity Institute of Information Technology, Amity University, Uttar Pradesh,
has sumitted his project report on Book Bank System.

This report has not been submitted earlier in any university/institute for
any degree/diploma.

PROJECT INCHARGE PROJECT GUIDE

3
INDEX

 INTRODUCTION

 PROJECT CATEGORY

 VALIDATION CHECKS

 MEANS OF THE PROJECT & SYSTEM

 OBJECTIVE & SCOPE OF THE PROJECT

 TOOLS & ENVIRONMENT

 LANGUAGE USED

 DESIGN DOCUMENT

 ANALYSIS DOCUMENT

 DATABASE DESIGNING

 TESTING & DEBUGGING

 SECURITY OF THE SYSTEM

 H/W & S/W SPECIFICATION

 LIMITATION OF THE PROJECT

 BIBLOGRAPHY

 DATA FLOW DIAGRAMS

 OUTPUT SCREENS

4
INTRODUCTION

GENERAL CONCEPT OF BOOK BANK

Book Bank is an organization where we put the record of the books issued to
the students. The main concept behind book banking is to maintain all the
previous records. It maintain all the records such as how many books are
available for issuing and particular student gets how many books.

WHY OUR PROJECT:

In present age everything is growing with a very rate. So it requires that we


change our present working system for being in race of growth.

Our project helps in saving time, money, extra paperwork etc. The prime feature
of our projects that it is compatible with any academic department.

The main advantage of our project is that no extra software or hardware is


required for this

 In this Project you can keep record for total number of books.
 This program is capable of holding any no. of students
 This program takes very less time for ani complicated operation and very
user friendly.

PROJECT CATEGORY
5
This project will fall in RDBMS category because it will handle the huge
data of member’s account and the details of the account in file and file will
be related to each other to produce required information.

VALIDATION CHECKS

6
In this project system checks the entered data valid or not. If data is valid
then system accepts the data and if data is invalid then system show error
message and give the prompt for entering the correct data.

The validation-check when saving the data or pressing the <Enter> key.

MEANS OF PROJECT:
C

Computer is the most powerful tool man has ever created. Computers have
made a great impact on our every day life. Their presence is felt at almost every
working place viz. Homes, schools, colleges, offices, industries, hospitals,
banks, retail stores, railways, research and design organization, etc.

A computer is basically a programmable computing machine. Earlier computers


were used for complex computation and used by only scientists and engineers.

7
They were very costly and hence only large organizations could afford them.
The technological breakthrough in design and fabrication of semiconductor
devices namely, microprocessor had made it possible to manufacture powerful
microcomputers, which are within the reach of small organizations and even
individuals. These computes being very fast can be used not only for
computation but also to store and retrieve information, to control certain
processes and machines, to measure and display certain physical and electrical
quantities and so forth.

Computers used in Data Base Management:


Computers are used in handle files, which store a variety of information’s. The
term database is used to refer to one or more related files. Information can be
seen on the computer screen. To handle files, database management packages
are widely used. Let us suppose a computer stores information in a file
regarding students, e.g. name of the students, roll number, marks, subject wise,
total percentage of marks subject wise, percentage of total, division awarded etc.
If one asks computer to print the list of students who have secured total marks
75% and above, computer will be able to do so very easily. One can also ask it to
print the names of the students who have secured the highest marks in different
subjects. A database management system can provide information from more
than one related file.

A user would like to have certain information, which is not in a single file. The
program will search all the required information from different files and supply it
to user. Take an example of records maintained by an advocate. He maintains
two files. One file contains the records of different clients. It may be named as
client file. It records client number, client identification number, name of the
client, address, phone number, amount due etc. He maintains another file, which
keeps the records of different cases. It may be named as the case file. It records
case number, identification number of the client of different cases, attorney,
court, judge, opening date, court date etc. Suppose the advocate wants
information about which case are to be taken up on a particular date, the details
of the cases and details of clients to obtain information require searching both
the files -- client file as well as case file. The software package will collect

8
information from both the files. The case file gives the information about the
cases that are due on a particular date. It also gives the identification numbers
of the client corresponding to each case. For these identification numbers the
details of clients are obtained from the client file. The information so retrieved is
gives to the user in a very short time.

The process of planning, designing, and implementing computer systems is


called a project. A project manager who uses available resources to produce
systems for the organization directs it. In large firms, installing system may take
years and involve hundreds of people. Planning and installing smaller projects
on schedule also take time and require control and coordination of resources. It
takes an effective manager to organize the available resources, schedule the
events, establish standards and complete the project on time, with in budget
and with successful results.

Actually the word project consist seven alphabets, each of them


has separate meaning.

‘P’ for Planning: Planning must to start a work or scheme,


if planning is good and impressive, half-work is done.

‘R’ for Reliable: Reliable source practical and theoretical


material and inspiring.

Guidance and assistance is achieved from different source to


promote the function of planned area.

‘O’ for Overall expenses: Overall expenses to proven final


design to any project are also.

These expenses are analyzed for concept and method of working


on the computer.

‘J’ for Joint effort: - Joint efforts are very necessary for
programming and result of any project. The help from other wins many time
battles.

9
‘E’ for economic feasibility: It is important that the
planned scheme is economically feasible. It is a most to analyze & estimate time
too for completion of the project.

‘C’ for Construction: After analyzing the program complete


project repeat work is done to give logical existence of planned scheme.

‘T’ for Testing: Testing of program is done before submitting


the project after testing it is judged whether the project is OK for use or Not.

We need to take a close look a project management and its role in


system development in this chapter; we focus on the planning and scheduling
functions and on project estimating, organization, and control. Project
management is inherently a team effort. The chapter also shows how project
managers are selected and teams are managed.

WHAT IS PROJECT MANAGEMENT?


Project management is a technique used by a manager to ensure
successful completion of project. It includes the following functions:

 Estimating resource requirements.

 Scheduling tasks and events.

 Providing for training and site preparation.

Selecting qualified staff and supervising their work.

 Monitoring the project’s program.

 Documenting.

 Periodic Evaluating.

 Contingency Planning.

From these functions, we can see that project management is a


specialized area. It involves the applications of planning, organization, and
control concept to critical, one of king projects.

It also uses tools and software packages for planning and managing each
project. Managing projects also requires the following:

10
1. Top management commitment to setting project priorities and allocating
resources to approve protects.

2. Active user participation to identify information needs, evaluate proposed


improvements on a cost/benefits basis, provide, committed resources,
and be receptive to training when scheduled.

3. A long-range plan that includes general project priorities objectives,


schedules, and required resources.

Included in this is pressure from users who require the systems


department to accept impractical; tasks or deadlines. The result is rushed,
compromised projects contrary to good system development practices. A
further difficulty found in many organizations occurs his individual departments
acquire microcomputer with out knowing about their requirement or consulting
with the centralized computer facility. The results are often uncoordinated
confusion that makes it difficult to plan or control projects.

WHY SYSTEM DOES FAILS?


No one likes to fail, especially on a major project. At best, failure can
result in waste and a delayed return on investment. At worst, it can drive an
organization into bankruptcy or threaten the career of senior officials.

Despite the high stakes, however, system projects often fail and there are
many reasons. Most project managers have experienced some of the problem
illustrated. Of these problems, the following are especially critical:

Conflicting objectives:
When everyone on the project team has conflicting objectives, the project
is bound to suffer. For example: the user demands a workable system, while the
designer strives for a high-powered code. The comptroller interprets success
from the bottom line whatever the cost.

User’s lack of involvement or corporation:


A frequent complaint is that users are not helpful, are reluctant to assume
their responsibilities with the new system, and are critical of the project team.

11
Often promised objectives have been achieved only partially, or the original cost
estimate was over optimistic. As a result, the use is not welling to get involved.

Inexperienced project management:


This is exemplified by poor project management technique, a poorly
motivated project team, poor estimating procedures, cost over runs, incorrect
design, and underestimated manpower requirements. Any of these can cause
problems for the project.

Another problem steam from the conventional way project managers are
selected. For example: an analyst is given responsibility for implementing a
substantial application while, in practice, he/she has no management tools or
business experience to manage the project.

12
Crisis Elimination through Planning:
Without planning it is difficult is measure progress. As plans are
crystallized, crises should begin to disappear. A project manager must plan the
life cycle of the project and delegate authority for its implementation.

Project planning involves plotting project activities against a time frame.


One of the first steps in planning is developing a road map structure or a
network based on analyst of the tasks the must be performed to complete the
project. In the early 90s, format planning uses a grant chart or a milestone chart.
By plotting activities on the Y-axis and time on the X-axis, the analyst laid out an
overall network specifying interrelationships among actions. Later on, formal-
planning techniques such as the program evaluation and review technique (P E
R T) were introduced. Other operation research techniques such as linear
programming and queuing theory have also been introduced in allocation
resources. In the early 80s, software packages became available for project
planning.

Project organization:
We have explained the major tools used in project planning after tasks
have been mapped out and the manpower requirements determined the next
step is to decide on the best way to organize manpower. We shall begin by
identifying the staffing and appropriate skills for a project and then suggesting a
management style and approach to manage and control the staff.

Reporting Structure:
Most people associated with major project are outside the direct control
of the project leader. Ideally, each team member should report directly to the
project leader. In practice, however, most team members report to their
respective supervisors. This means that the project leader has to use special
skills to coordinate a host of person over whom he/she has no real authority for
this reason, some authors refer to such a position as project manager rather
than project leader.

13
Management styles:
In discussing project management style, we need to examine two type of
work performed in system projects: mechanistic and creative tasks. Mechanistic
talks occur primarily during coding, testing and maintenance, which take up to
80 percent of the system development effort. Managing these tasks is made
possible by controlling against predefined standards and formats.

Creative tasks, on the other hand, are exemplified by program of system


design and devising a test strategy, which involve up to 20 percent of the
system development effort but could affect more than 80 percent of his
outcomes, compared to mechanistic tasks, a relatively small staff is needed for
creative tasks. They report directly to the manager.

With these tasks in mind, a project manager may use democratic,


autocratic, or some intermediate management style. The democratic approach
allows subordinates to think on their own and make suggestions on projects. It
is appropriate when the project manager is not sure exactly what is to be done.
Yet it could be interpreted as indicative of a weak or inexperienced manager.
Other problems with this approach are the likelihood of a slow reaction time and
difficulty in expending work.

In contrast to the democratic approach is the autocratic approach. The


basic precise states that democracy is the wrong approach to unique projects.
The aspects necessary to a system project should be entrusted to an
experienced individual rather than a committee. This approach is more
rewarding to individuals although it is difficult to coordinate and control.

The implication of these approaches for project management is that a


responsible manager may assign simple mechanistic tasks to lower level staff
member with coordination and control. At the higher staff level, however,
innovative people report directly to the project manager, since

Their work could affect more than 80 percent of the outcome of his project.

These suggestions assume a fairly large project where a hierarchy is


important for management control. This scheme does not apply to small system
projects. A typical small project could be from by the computer manager, a
programmer/analyst, and an operator. This means fewer staff and fewer levels of

14
management, requiring no formal procedures or project control. Unlike in larger
project, each staff member in a smaller project performs several functions.
Consequently, small projects tend to be less thorough and more prone to error.
Furthermore, there is psychological pressure on the project manager to make
sure the project will be success. The excuse of system failure through
committee is absent in small projects.

THE PROJECT MANAGER:

To plan, coordinate, and control team’s effort, the project manages is


expected to have unique qualities:

1. Flexibility and adaptability to changing situations.

2. Ability to communicate and persuade people affected by the project


as well as those working on it about changes or enhancement to
incorporate into the plan.

3. Commitment to planning the system development aspect of the project


and ability to minimize the risks when assessing different approaches
to implementing a project.

4. Understanding technical problems and design details.

5. Understanding the motivation and interests of member of the project


staff and the ability to implement ways to improve job satisfaction.

Of all the contributions a project manager can make, maintaining a


satisfied staff is the most improvement for strong project teams. An effective
approach is to look into the vocational needs of the staff and try to match them
with what the job offers and how it meets their needs. Hundreds of studies have
been published on the subject. They all look at the variable that improves job
satisfaction and motivation people to continue working in the job.

15
Looking at these variables, it is clear that success in managing system
project means making the best of project team abilities, getting them interested
in their work, assigning them worthwhile jobs, recognizing their efforts in a
spontaneous way, and providing opportunities for them to use their abilities,
advance, and develop their careers. These factors become goals that a project
manager should try to achieve for each member of the project staff and for the
group as a whole.

Managing the people who build systems involved mare than


understanding the methodology or estimating algorithms. It understands the
people themselves. Their behavior can be more important to a project’s success
than the correct development methodology. The project manager must be the
kingpin in personnel motivation. 16

He/she most builds teams of mature people who are motivated and can be
trusted to see a project through to completion. This is the essence of project
management.

The System concept:


Scholars in various disciplines who are concerned about the tendency
toward the fragmentation of knowledge and the increasing complexity of
phenomena have sought a unifying approach to knowledge. A biologist
developed a general systems theory that applies to any arrangement of
elements such as cells, people, societies, or even planets. Norbert winner, a
mathematician, observed that information and communication provide
connecting link for unifying fragments or elements. His systems concept of
information theory, which shows the parallel between the functioning of human
being and electronic systems, laid the foundation for today’s computer system.
Herbert simony, a political scientist, related the systems concept to the study of
organizations by viewing an ongoing system as a processor of information for
making decisions.

System analysis and design for information systems were founded in


general system theory. Which emphasizes a close look at all parts of a system.
Too often analysts focus on only one component and overlook other equally

16
important components. General systems theory is concerned with “developing a
systematic, theoretical framework upon which to make decisions.” It
discourages thinking in vacuum and encourages consideration of all the
activities of the organization and its external environment pioneering work in
general systems theory emphasized that organizations be viewed as total
systems. The idea of systems has become most practical and necessary in
conceptualizing the interrelationships and integration of operations, especially
when using computers. Thus, a system is a way of thinking about organizations
and their problems. It also involves a set of techniques that helps in solving
problems.

17
ELEMENTS OF A SYSTEM:
In most cases, systems analysts operate in a dynamic environment where
change is a way of life. The environment may be a business firm, a business
application, or a computer system. To reconstructs a system, the following key
elements must be considered:

1. Outputs and inputs.

2. Processor(s).

3. Control.

4. Feedback.

5. Environment.

6. Boundaries and interfaces.

Output and inputs:


A major objective of a system is to produce and output that has value to
its user. Whatever the nature of the output (goods, services, or information), it
must be in line with the expectations of the intended user. Inputs are the
elements (material, human resources, and information) that enter the system for
processing. Output is the outcome of processing. A system feed on input to
produce output in much the same way that a business brings in human,
financial, and material resources to produce goods and service. It is important
to point out here that determining the output is a first step in specifying the
nature, amount and regularity of the input needed to operate a system. For
example: in systems analysis, the first concern is to determine the user’s
requirements of a proposed computer systems that is, specification of the
output that the computer is expected to provide for meeting user requirements.

18
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 totally or partially, depending on the
specifications of the output. This means that as the output specifications
change, so does the processing. In some cases, input is also modified to enable
the processor to handle the transformation.

Control:
The control element guides the system. It is the decision-making
subsystem controls the pattern of activities governing input, processing and
output. In an organizational context, management as a decision-making body
controls the inflow, handling and outflow of activities that affect the welfare of
the business. In a computer system, the operating system and accompanying
software influence the behaviors of the system... Output specifications
determine what and how much input to needed to keep the system in balance.

In system analysis, knowing the attitude of the individual who controls the
area for which a computer is being considered can make a different between the
success and failure of the installation.

Management support is required for securing control and supporting the


objective of the proposed change.

Feedback:
Control in a dynamic system is achieved by feedback. Feedback measures
output against a standard in some form of cybernetic procedure that includes
communications and control.

19
Feedback may be positive or negative, routine or informational.
Reinforces the controller with information for action. In system analysis,
feedback is important in different ways. During analysis, the user may be told
that the problems in a given application ways. During analysis, the user may be
told that the problems in a given application verify his/her initial concerns and
justify the need for change. Another form of feedback comes after the system is
implemented. The user informs the analyst about the performance of the new
installation. This feedback often results in enhancements to meet the user’s
requirements.

Environment:
The environment is the “super system” within which an organization
operates. It is the source of external elements that impinge on the system. In
fact, it often determines how a system must function.

Boundaries and interfaces:


A system should be defined by its boundaries the limits that identify its
component, processes, and interrelationship when it interfaces with another
system. For example: a taller system in a commercial bank is restricted to the
deposits, withdrawals, and related activities of customers checking and saving
accounts. It may exclude mortgage foreclosures; trust activities, and the like.

Each system has boundaries that determine its sphere of influence and
control, although in an integrated banking wide computer system design, a
customer who has a mortgage and a checking account with the same bank may
write a check through the “teller system” to pay the premium that is later
processed by the “mortgage loan system”. Recently, funds from a bank account
to pay bills and other obligations to creditors, regardless of distance or location.
This means system analysis, knowledge of the boundaries of a given system is
crucial in determine the nature of its interface with other systems for successful
design.

20
The database is an organized collection of related information
organization information is necessary for database. Any unorganized
information is just a pile or dump, and it cannot be called a database.
Organized information or database serves as an information base and we can
use it for below: -

 Retrieving desired information

 Taking meaningful decision

 Recognize information

 Processing information

Even a database issued in our routine life. The dictionary is common


example of database where words are arranged alphabetically.

In typical database, one needs to perform several operations such as


adding new information, modifying existing information, arranging information
in a desired order, removing unwanted or outdated information etc.

Manual database contains many problems so a compute is more suited


for data table applications because of two reasons. First, it can hold a large
amount of data tale in its storage device and second it operates at a very high
speed. These two factors make it ideal for data table applications.

For building database the software, which is generally used, is called the
Data Base Management System (DBMS). As the name suggest, it is used to build
and manage the database, i.e. add change, delete and sort information in the
database to keep the database up to date. DBMS also helps to retrieve the
desired information in the required format from the database.

Transaction may be proceed both manually or using a computer.


Processing computer offers a number of advantages are as follows: -

 Speed

 Accuracy

 Reliable

 Economically

21
Computer does not make mistakes. Hence the processing had done by
them can be far more accurate reliable then that done by persons. However
adequate control methods have to be uncorrupted to ensure that the transaction
processing software and transaction processing software and transaction data
feed into the computer are correct. As the volume of transaction to be
processed increase computer based transaction-processing system becomes

more economical as compared to a manual system. When transaction are

processed on computer there is limited flexibility for variance in the way of


transaction are processed.

22
OBJECTIVE AND SCOPE OF THE PROJECT

The objectives of the proposed system would be to overcome the problems


faced in the manual system .Updating records would not be a problem and also
cross checking of a records in the proposed system would not be required .

Mathematical, accounting and logical errors would get automatically rectified in


the proposed system. Reports can be generated on the click of a button. Design
of the proposed system must take the following into the consideration.

The computerized book banking system can maintenance application for a book
bank should have all the data pertaining to all the students. The system should
have records of the entire students who issued the books. It has all the records
of the total number of books available with their bill no., book code, price and
name of the author. It also shows the status of the book whether it is issued or
not.

To add the new member we have to enter his name, address and phone number.
We can modify and edit the records easily and save the new records. It also
shows the entire list of all the members and books with their additional
information in the form of table. Every book and member has his particular code
number. Wecan access them with their code number. If we are accessing the
record and we don’t know the code number then it facilitates us with the code.

23
TOOLS AND ENVIORNMENT
ANALYSIS AND DESIGN TOOLS-:

1. DATA FLOW DIAGRAMS


2. DATA DICTINORIES
3. FLOW CHARTS
4. DECISION TABLES AND DECISION TREES

DATA FLOW DIAGRAMS-:


Graphical description of system data and how process transforms the data is
known as Data Flow Diagram. Unlike detail flowchart DFD do not supply
detained description of modules but graphically describes a systems data and
how data interact with the system. The Data flow diagram enables the software
engineer to develop models of the information domain and the functional
domain at the same time. As the DFD is refines into greater levels of details, the
system, thereby accomplishing the fourth operational analysis principles for
function. At the same time, the DFD refinement result in a corresponding
refinement of the data as it moves through the process that embody the
application.

DATA DICTIONRIES-:
A data dictionary defines each term (called a data element) encountered during
analysis and design of a new system. Data elements can describe files, dataflow
or processes.

FLOW CHARTS-: A system flow chart provides an outline of the sequence of


events in a system along with a department or function responsible for each
such event. This chart is usually drawn in columnar format with inputs shown
on the left side, the output on the right side and the responsible departments
function along the top. Processes within each column are represented by
appropriate symbols, which are connected to each other by lines and arrows.

24
DECISION TABLES AND TREES-:

Decision tables and trees are developed long before the widespread use if
computers. They only isolate many conditions and possible actions, but they
help ensure that nothing has been overloaded. A decision table may be
visualized as a cluster of selective connections. It lists each condition to be
taken into consideration. The basis format of a decision table consists of two
rectangles placed one above other. The upper rectangle is meant for containing
“conditional statements” and the lower is meant for “action statements”.

DFD HAVE FOUR TYPES OF COMPONENTS: -

 Process
 Data File (Data Stores)
 Data Flows
 Terminator

1-PROCESS: -

Processes are also called by function and are show as circle or bubbles in
the diagram function perform input into output.

2-DATA FLOWS: -

Data flows are show by curved direction is a data flow presents the data
that flows from one components of the system to the other.

25
3-DATA STORES: -

Two parallel lines show data stores. A data stores represent a collection
of data items of it types that the system needs to remember over a period of
time.

4-TERMINATORS: -
Terminators are also called external entities and show as rectangle.
Terminators represent and external entities from witch the system either
receives input data or output data external entities are outside the boundary of
the system. They belong to the environment.

26
LANGUAGE USED

 C++ WITH OBJECT ORIENTED APPROACH-:

INTRODUCTION TO LANGUAGE: -

C++ is compiler language and this project is completely prepared in


this language .C++ follows the Principles of OOP.
To understand the C++ we first have to know about OOP.

WHAT IS OBJECT-ORIENTED ?
Superficially the term “object-oriented” means that we organize
software as a collection of discrete objects that incorporate both
data structure and behavior. This is in contrast to conventional
programming in which data structure and behavior are only loosely
connected. There is some dispute about exactly what characteristics
are required by and object-oriented approach, but they generally
include four aspects: identity, classification, polymorphism, and
inheritance.

CHARACTERISTICS OF OBJECTS -:

Identity means that data is quantified into discrete, distinguishable,


entities called objects. A paragraph in a document, a window on my
workstation and the white queen in a chess game are examples of
objects. Objects can be concrete, such as a file in a file system, or
conceptual, such as a scheduling policy in a multiprocessing
operating system.

27
OBJECT-ORIENTED METHODOLOGY-:

We present a methodology for object-oriented development and a


graphical notation for representing object-oriented concepts. The
methodology consists of building a model of and application domain and
then adding implementation details to it during the design of a system.
We call this approach the Object Modeling Technique (OMT). The
methodology has the following stages:

Analysis: Starting from a statement of the problem the analyst builds a


model of the real-world situation showing its important properties. The
analyst must work with the requestor to understand the problem because
problem statements are rarely complete or correct. The analysis model is
a concise, precise abstraction of what the desired system must do, not
how it will be done. The objects in the model should be application-
domain concepts and not computer implementation concepts such as data
structures. A good model can be understood and criticized by application
experts who are not programs. The analysis model should not contain
any implementation decisions. For example, a Window class in a
workstation windowing system would be described in terms of the
attributes and operations visible to a user.

System design: The system designer makes high-level decisions about the
overall architecture during system design; the target system is organized
into subsystems based on both the analysis structure and the proposed
architecture. The system designer must decide what performance
characteristics to optimize, choose a strategy of attacking the problem,
and make tentative resource allocations. For example, the system designer
might decide that changes to the workstation screen must be fast smooth
even when windows are moved or erased, and choose an choose an
appropriate communications protocol and memory buffering strategy.

28
OBJECT DESIGN:

The object designer builds a design model base on the analysis model but
containing implementation details. The designer adds details to the design
model in accordance with the strategy established during system design.
The focus of object design is the data structures and algorithms needed
to implement each class. The object classes from analysis are still
meaningful, but they are augmented with computer-domain data structures
and algorithms chosen to optimize important performance measures. Both
the application-domain objects and the computer-domain objects and the
computer-domain objects are described using the same object-oriented
concepts and notation, although they exist on different conceptual planes.
For example, the window class operations are now specified in terms of
the underlying hardware and operating system.

IMPLEMENTATION:

The object classes and relationships developed during object design are
finally translated into a particular programming language, database, or
hardware implementation. Programming should be a relatively minor and
mechanical part of the development cycle, because all of the hard
decisions should be made during design. The target language influences
design decisions to some extent, but design should not depend on fine
details of a programming language. During implementation, it is important
to follow good software engineering practice so that tractability to the
design is straight forward and so that the implemented system remains
flexible and extensible. For example, the window class would be coded in
a programming language, using calls to the underlying graphics system on
the workstation.

29
OBJECT-ORIENTED THEMES-:

There are several themes underlying object-oriented technology.


Although these themes are not unique to object-oriented system, they are
particularly well supported in object-oriented system.

 ABSTRACTION-:

Abstraction consists of focusing on the essential, inherent aspects


of an entity and ignoring its accidental properties. In system development,
this means focusing on what an object is and does, before deciding how
it should be implemented. Use of abstraction preserves the freedom to
make decisions as long as possible by avoiding premature commitments
to details. Most modern languages provide data abstraction, but the ability
to use inheritance and polymorphism provides additional power . Use of
abstraction during analysis means dealing only with application-domain
concepts, not making design and implementation decisions before the
problem is understood. Proper use of abstraction allows the same model
to be used for analysis, high-level design, program structure, database
structure, and documentation. A language independent style of design
defers programming details until the final, relatively mechanical stage of
development.

 ENCAPSULATION-:

Encapsulation consists of separating the external aspects of an


object, which are accessible to other objects, from the internal
implementation details of the object, which are hidden from other
objects. Encapsulation prevents a program from becoming so
interdependent that a small change has massive ripple effects. The
implementation of an object can be changed without affecting the
applications that use it.

30
One may want to change the implementation of object-oriented
languages, but the ability to combine data structure and behavior in a
single entity makes encapsulation cleaner and more powerful than in
conventional languages that separate data structure and behavior.

INHERITANCE-:

It is the capability to define a new class in terms of an existing class. An existing


class is known as a base class and the new class is known derived class. A
number of practical examples can be cited on this aspect. C++ supports such
hierarchical classification of classes. The major advantage of inheritance is that
we can build a generic base class i.e. obtain a new class by adding some new
features to an existing class and so on. Every new class defined in this fashion
consists of features of both the classes. The relationship between the various
classes inherited in this fashion consist of “ a kind of “AKO relationship. We can
say an already existing class can be reused to define a new class. Thus, a lot of
programming effort can be reduced by using this capability of C++. It may be
noted here that a derived class ‘inherits; both data and functions from its base
class. However, the private parts of a base class cannot be inherited by its
derived class.

POLYMORPHISM-:

The Greek word ‘polymorphous’ is the source of the word polymorphism.


Therefore, polymorphism essentially means: having many forms. In C++, it is the
ability for a message or data to be processed in more than one form. For
example, a data can be processed by both the base class and derived class. To
achieving polymorphism, the one feature of C++ is function overloading.
Similarly, the operators (+, -, /, * etc) can also be overloaded in the form of
operator overloading allowed by C++.
The C++ compiler differentiates on its between a normal arithmetic operation
and an overloaded operation. The major advantage of polymorphism lies in
program testing.

31
CHARACTERISTICS OF OOP

The characteristics of an object-oriented language are:


 1.objects
 2.classes
 3.abstraction
 4.encapsulation
 5.inheritance
 6.polymorphism

Objects and Classes-:


An object can be an item, place, person or any other entity or activity. All
objects have the following characteristics:
Identity: the name associated with an object helps in identifying the object.
State: An object can be in many states, for example, TV. Can be in the following
states:
 On state
 Off state
 Out of order state

Behavior: What the object does or what is capable of doing? For example, a
person can sit, stand, sleep, walk, talk etc. Similarly, a cup can be filled, drunk
from, washed, broken etc.
The following objects can be recognized as bottles. These objects have been
classified as belonging to a group or class on the basis of commonality of
possible states and behaviors. In simple words we can say that the objects
belong to a class called bottles sharing common states and behaviors.
In software, we can describe objects by defining the possible common states
and behaviors of all objects of a particular type in the form of a class. A class is
also called as an abstract data type, ADT. Thus, the common elements of a set
of objects, which allow us to classify them, are represented by an ADT.

32
PROGRAMMING ENVIORMENT-:

TURBO C++
VERSION 3.BORLAND INTERNATION

33
ANALYSIS DOCUMENT

PRLIMINARY INVESTIGATION-:
 FACT FINDING TECHIQUES
 FEASIBILITY STUDY

FACT FINDING TECHNIQUES-:

As already seen Data collection is an important part of analysis. This can


be accomplished using fact-finding techniques to gather information from
the users. The following fact-finding techniques are used for this purpose.
Each of them has been discussed briefly:-
 Interviews
 Questionnaires
 Record inspections (on site review)
 Observation

Normally more than one of these techniques are used to ensure accurate
investigation. Important points of each of these techniques are listed
below:

Interviews-:
Analysts use interviews for collection of information from individuals or
groups who are generally current users of the existing system or potential
users of the proposed system. They may be managers or employees who
provide data for the proposed system or who will be affected by it.
Interview is a time consuming method. It is the best source of qualitative
information (opinions, policies, and subjective descriptions of activities and
problems).
Interviews allow analysts to discover areas of misunderstanding,
unrealistic expectations and even indications of resistance to the proposed
system.

34
Interviews could be:
Structured
Open response format.
Here the questions are answered in ones own words.
Close response format
Here set of prescribed answers are used.
Or
Unstructured
Here the questions are worded to suit respondent and may produce
information about areas overlooked and which could be important.

Questionnaires-:
The use of questionnaires allows collection of data from large
number of persons.
Standardized question formats yield more reliable data where the
responses could be more honest. In this method the Analyst cannot
observe reactions or expressions of respondents.
Questionnaires could be Open-ended or Closed questionnaires. Open-ended
are used to learn feelings, opinions, and general experiences on process
detail or problem. Closed questionnaires course specific responses which
have to selected. Questionnaires need to be printed and hence it is costly
method.

RECORD REVIEW -:
Many kinds of records and reports provide valuable information
about organization and operations. Records include written policy manuals,
regulations, standard operation procedures used by the organization a
guide. These do not show actual activities, where decision-making power
lies or how tasks are performed. They help in understanding the system–
while observing the current reports one should scrutiny the data present
in them.

35
OBSERVATION -:
This method helps to obtain first hand information on how
activities are being carried out. It is useful when analysts need to
observe how processes are carried out, and whether specified steps are
actually followed. One should know what to look for and how to
assess the significance of what is observed.

FEASIBLIITY STUDY-:
The purpose of this phase is to produce a feasibility study
document that evaluates the costs and benefits of the proposed
application. To do so, it is first necessary to analyze the problem, at least
at a global level. Obviously, their costs, and their potential benefits to the
user. Therefore, ideally, one should perform as much analysis of the
problem as is needed to do well-founded feasibility study.
Its result is a document that should contain at least the following items: -
A definition of the problem.
Alternative solution and their expected benefits.
Required resources, costs, and delivery dates in each proposed alternative
solution.
A possible checklist of the contents of the requirements specification
document that might guide in its production is the following:
Functional requirements-:These describe what the product does by using
informal, semiformal, formal notations, or a suitable mixture.
Non-functional requirements-: These may be classified into the following
categories: reliability (availability, integrity, security, safety, etc.), accuracy
of results, performance, human-computer interface issues, operating
constraints, physical constraints, portability issues, and others.
Requirements on the development and maintenance process. These include
quality control procedures-in particular, system test procedure-priorities of
the required functions, likely changes to the system maintenance
procedures, and other requirements.

36
RISK FACTORS:-

 Brain storming questions taken care of


 What is to be done?
 How it will be done?
 Who will operate the system?
 What will be the risk factor?
 What is the main problem?
 How it is to be solved?
These are some of the question, which we have to answer in our project.
No of customer will operator the project: - this is the main topic as the
risk because the people who operate the project may be computer literate
or may not be so this is the main risk factor.
Sophistication of user: - if the user is sophisticated that means computer
literate he may handle the project well other wise he will spoil the project.

37
DETERMINATION OF SYSTEM REQUIRMENTS-:

SYSTEM DESIGN-:
After the feasibility study is done, a formal acceptance of the
proposed system is taken from the user. The feasibility report is then
taken as the basis for the next activity.
The next activity is Determination of systems requirements, which involves
studying the current business system in great detail, to find out how it
works and where improvements have to be made. A requirement is a
feature that must be included in a new system. It may include a way of
capturing or processing data, producing information, controlling a business
activity, or supporting management.
The determination of requirement thus includes studying the existing
system and collecting data about it to find out what the requirements are.
This activity may be carried out in two phases.

DETAILED INVESTIGATION
The heart of systems analysis is aimed at having a detailed
understanding of all the important facts of the project under consideration.
Analysis working closely with employees and managers must be able to
answer the following key questions: -
 What is being done by the current system?
 How it is being done?
 How frequently does it occur?
 How big is the volume of transactions or decisions?
 How well is the task being performed?
 Does a problem exist?
 If a problem exists, how serious it is?
If a problem exists, what is the underlying cause?

38
To answer the above questions systems talk to a variety
of people to gather details about the project. Questionnaires are used to
collect this information from large groups of people who cannot be
interviewed individually.
Detailed investigations also require the study of manuals and
reports, actual observations of work activities and collection of existing
forms and documents to fully understand the project.
As the details are gathered, the analyst studies the requirements
and identifies features the new system should have. The feature include
the information the system should produce and operational feature such
as processing controls, response times and input and output methods.

39
ANALYSIS OR DETERMINATION OF SYSTEMS REQUIREMENTS-:

After having understood the system, the next phase is to


carry out a detailed study of the various operations performed by the
system and their relationships within and outside the systems. It is during
this phase that the analyst and the user come to an agreement on what
functions the proposed system has to be perform.
A detailed document has to be prepared by the Systems Analyst
containing the following:
Inputs that must be received by the system.
The outputs to be produced by the system.
The outputs to be retained.
The procedures to get the output from the given inputs.
Audit and Control requirements— This would specify
features/functions/procedures that are required for the user to monitor and
ensure that the new system is working properly or not.
System Acceptance Criteria— This would list the tests that the user would
actually perform to check if the system is acceptable or not.

40
REQUIREMRENT ANALYSIS

System Requirement-:
Software:—The Software requirements are:
Operating System: - Dos, Win-95, Win – 98, Win-2000.
Hardware Requirement: - Ram -64Mb, Hardisk-2GB
People- The people should be computer literate so they can handle the
project well.
Database – all the databases which contains the relevant data to be
stored and fleshed.
Documentation- It will contain all the information about the project like
DFD, E-R diagram, Context Free Diagram,
Procedures- It will contain the small parts of the program which perform
some specific functions.

41
PERFORMANCE REQUIREMENTS

USER FRIENDLINESS— Software should contain the atmosphere which is


user friendly that is it must provide icon, help that is means graphical
overview. So that the user who is not having can operate it without
making an error.

USER SATISFACTION— the atmosphere should be interacted so that user


can be satisfied. The software must complete each and every environment
of the user.

RESPONSE TIME— it must be less so that the user may be served as


soon as he demands. If response item is high the user can become
irritate.

ERROR HANDLING— the project must be handling each and every type of
errors that the execution that is project must be capable of handling
exceptions also.
Safety and Robustness— a safety means the project must be reliable so
that is it provide every type of quality and it will not fail at any time.

ROBUSTNESS— A program that assumes perfect input and generates an


irrevocable run-time error as on as the user inadvertently types an
incorrect command would not be robust. It might be correct, though, if the
requirement specification does not state what the action should be upon
entry of an incorrect command.

42
PRODUCT OPERATION-:

CORRECTNESS, RELIABILITY, AND ROBUSTNESS


The terms “correctness,” “reliability,” “robustness” is often used
interchangeably to characterize a quality of software that implies that the
application performs its functions as expected. At other times, different
people use the terms with different meanings, but the terminology is not
standardized.

CORRECTNESS: - The definition of correctness assumes that a


specification of the system is available and that it is possible to determine
unambiguously whether or not a program meets the specifications. With
most current software systems, no such specification exists. If a
specification does exist, it is usually written in an informal style using
natural language. Such a specification is likely to contain many
ambiguities.

RELIABILITY: - Software is reliable if user can depend on it. The


specialized literature on software reliability defines reliability in terms of
statistical behavior the probability that the software will operate as
expected over a specified time interval.

ROBUSTNESS: - A program is robust if it behaves “reasonably,” even in


circumstances that were not anticipated in the requirements specification.
For example, when it encounters incorrect input data or some hardware
malfunction (say, a disk crash). A program that assumes input and
generates an unrecoverable run-time error as soon as the user
inadvertently types an incorrect command would not be robust; it might
be correct, thought, if the requirements specification does not state what
the action should be upon entry of an incorrect command.

PERFORMANCE: - Performance is important because it affects the usability


of the system, if a software system is too slow, it reduce the productivity
of the users, possibly to the point of not meeting their needs. If software
uses too much disk space, it may be too expensive to run. If a software

43
system uses too much memory, it may affect the other applications that
are run on the same system, or it may run slowly while the operating
system tries to balance the memory usage of the different applications.

USER FREINDLINESS: - A software system is user friendly if its human


users find it easy to use. This definition reflects the subjective nature of
user friendliness. An application that is used by notice programmers
qualifies as user friendly by user friendly by virtue of different properties
than an application that is used by expert programmers. For example, a
novice user may appreciate verbose messages, while an experienced user
grows to detect and ignore them. Similarly, a nonprogrammer may
appreciate the user of menus, while a programmer may be more
comfortable with typing a command.

PRODUCT REVISION -:

VERIFIABILITY-:
A software system is verifiable if its properties can be verified
easily. A common technique for improving verifiability is the use of
“software monitors”, that is code inserted in the software to monitor
various qualities such as performance or correctness.
Modular design, disciplined coding practices, and the use of an
appropriate programming language all contribute to verifiability.
Verifiability is usually an internal quality, although it becomes an
external quality also. For e.g., in many security-critical application, the
customer requires the verifiability of certain properties. The highest level
of the security standard for a “trusted computer system” requires the
verifiability of the operating system kernel.

MAINTANANCE -:

The term “software maintenance” is commonly used to refer to the


modifications that are made to software system after its initial release.
Maintenance used to be viewed as merely ”bug fixing”, and it was

44
distressing to discover that so much effort was being spent on fixing
defects. Software maintenance is divided into three categories: corrective,
adaptive and perceptive maintenance.
Corrective maintenance has to do with the removal of residual errors
present in the product when it is delivered as well as errors introduced
into the software during its maintenance. Corrective maintenance accounts
for about 20 percent of maintenance costs.
Adaptive maintenance involve adjusting the application to changes in
the environment. In other words, in adaptive maintenance need for
software changes cannot be attributed to a feature in the software itself,
such as the presence of residual errors or the inability to provide some
functionality required by the user. Rather, the software must change as
the environment in which it is embedded changes.

Finally, perceptive maintenance involves changing the software to


improve some of its qualities. Here, changes are due to the modify the
functions offered by the application, add new functions, improve the
performance of the application, make it easier to use. The request to
perceptive maintenance may come directly from the software engineer, in
order to improve the status of the product, or they come from the
customer, to meet new requirements.

REPAIRABILITY-:
A software system is repairable if it allows the correction of its
defects with a limited amount of work. In many engineering works,
Reparability is major goal. For e.g., automobile engines are built with the
parts that are most likely to fail as the most accessible. In computer
hardware engineering, there is a subspecialty called reparability, availability,
and serviceability (RAS).

45
CLASSIFICATION OF SOFTWARE QUALITIES

There are must desirable qualities. Some of these apply both to the
product and to the process used to produce the product. The user wants
the software product to be reliable, efficient, and easy to use. The
producer of the software wants it to be verifiable maintainable, portable,
and extensible. The manager of the software project wants the process of
software development to be productive and easy to control.

PRODUCT TRANSITION-:

REUSABILITY: -
Reusability is a key factor that characterizes the maturity of an
industrial field. We see high degrees of reusability in such mature areas
as the automobile industry and consumer electronics. For example, in
automobile industry, the engine is often reused from model to model.
Moreover, a car is constructed by assembling together many components
that are highly standardized and used across many models produced by
the same industry. Finally, the manufacturing process is often reused. The
low degree of reusability in software is a clear indication that the field
must evolve to achieve the status of a well-established engineering
discipline.

PORTABILITY: -
Portability refers to the ability to run a system on different hardware
platforms. As the ratio of many spent on software versus hardware
increases, portability gains more importance. Portability can be important
because of the variations in memory capacity and additional instructions.
One way to achieve portability within one machine architecture is to have
the software system assume a minimum configuration as far as memory
capacity is concerned and use a subset of the machine facilities the are
guaranteed to be available on all models of
the architecture.

46
INTEROPERABILITY: -
Interoperability refers to the ability of a system to coexist and
cooperate with other systems- for example, a word-processor’s ability to
incorporate a chart produced by a graphing package, or the graphics
package’s ability to graph the data produced by a spreadsheet, or the
spreadsheet’s ability to process an image scanned by a scanner.

47
DESIGN DOCUMENT

SYSTEM DESIGN-:

System engineering is modeling process. Whether the focus is on


the world view or the detailed view, the engineer creates models that
[MOT92]
Define the processes that serve the needs of the view under
consideration.
Represent the behavior of the processes and the assumptions on which
the behavior is based.
Explicitly define both exogenous and endogenous input to the model.
Represent all linkages (including output) that will enable the engineer to
better understand the view.
To construct a system model, the engineer should consider a number of
restraining factors:
Assumptions that reduce the number of possible permutations and
variations, thus enabling model to reflect the problem in a reasonable
manner. As an example, consider a three-dimensional rendering product
used by the entertainment industry to create realistic animation. One
domain of the product enables the representation of 3D human forms a
live human actor, form video or by the creation of graphical models. The
system engineer makes certain assumptions about the range of allowable
human movement so that the range of inputs and processing can be
limited.
Simplifications that enable the model to be created in a timely
manner. To illustrate, consider and office products company that sells and
services a broad rage of copiers, faxes, and related equipment. The
system engineer is modeling the needs of the service organization and is
working to understand the flow of information that spawns a service order.
Although a service order can be derived from many origins, the engineer
categorizes only two sources. Internal demand and external request. This
enables a simplified partitioning of input that is required to generate the
service order.

48
Limitations that help to bound the system. For example, an aircraft
avionics system is being modeled for a next generation aircraft. Since the
aircraft will be a two-engine design, the monitoring domain for propulsion
will be modeled to accommodate a maximum of two engines and
associated redundant systems.
Constraints that will guide the manner in which the model is created and
the approach taken when the model is implemented. For example, the
technology infrastructure for the three-dimensional rendering system
described previously is a single G-based processor. The computational
complexity of problems must be constrained to fit within the processing
bounds imposed by the processor.
Preferences that indicate the preferred architecture for all data,
functions, and technology. The preferred solution sometimes comes into
conflict with other restraining factors. Yet, customer satisfaction is often
predicted on the degree to which the preferred approach is realized.

49
COMPARISON OF DESIGN NOTATION

Design notation should lead to a procedural representation that is


easy to understand and review. In addition the notation should enhance
‘code to’ ability so that code does, in fact became a natural by-product of
design. Finally the design representation must be easily maintainable so
that design always represents the program correctly.
The following attributes of design notation have been established in the
context of the general characteristic described previously.
Modularity: Design notation should support the development of modular
software and provide a means for interface specification.
Overall simplicity: Design notation should be relatively simple to learn,
relatively easy to use and generally easy read.
Ease of editing: The procedural design may require modification as the
software process proceeds. The ease with which a design representation
can be edited can help facilitate each software engineering task.
Machine readability: Notation that can be input directly into a computer-
based development system offers significant benefits.
Maintainability: Software maintenance is the most costly phase of the
software life cycle. Maintenance of the software configuration nearly always
means maintenance of the procedural design representation.
Structure enforcement: The benefits of a design approach that uses
structured programming concepts have already been discussed. Design
notation that enforces the use of only the structured constructs promotes
good design practice.
Automatic processing: A procedural design contains information tha
t can be processed to give the designer new to better insights into the
correctness and quality of a design. Such insight can be enhanced with
reports provided via software design tools.
Data representation: The ability to represent local and global data is and
essential element to component-level design. Ideally design notation should
represent such data directly.

50
Logic verification: Automatic verification of design logic is a goal that is
paramount during software testing. Notation that enhances the ability to
verify logic greatly improves testing adequacy.
“Code-to” ability: The software engineering task that follows component-
level design is code generation.

51
DATABASE DESIGNING

Database of this hotel automation system is based on .dat file features of the C+
+ programming environment. In this project we have create some .dat files. Here
is the description of these files and how they are organized-:

1. BOOK.DAT-:
FIELD USED-:
Integer ----Bookcode:
Character----Name
Character----Status
Character----Author
Character----Billno
Float----Price

N NAME OF FIELD DATA TYPE MEANING SIZE


O:
1 BOOK CODE INTEGER BOOK CODE 2 BYTES
2 NAME CHARACTER NAME OF THE BOOK 30 BYTES

3 STATUS CHARACTER STATUS OF THE BOOK 8 BYTES

4 AUTHOR CHARACTER AUTHOR NAME OF THE 30 BYTES


BOOK
5 BILLNO CHARACTER PURCHASING NUMBER OF 7 BYTES
THE BOOK
6 PRICE FLOAT PRICE OF BOOK FIXED

52
2. TEMP.DAT

FIELD USED-:

Character----memname
Character----Address
Character----Phone
Character----Name
Character----Status
Float----Price

TABLE:-TEMPORARY

NO: NAME OF FIELD DATA TYPE MEANING SIZE


1 MEMNAME CHARACTER MEMBER’S NAME 30 BYTES
2 ADDERSS CHARACTER ADDERSS OF THE 30 BYTES
MEMBER
3 PHONE CHARACTER PHONE NUMBER OF 9 BYTES
THE MEMBER
4 NAME CHARACTER NAME OF THE BOOK 30 BYTES
5 STATUS CHARACTER STATUS OF BOOK 8 BYTES
6 PRICE FLOAT PRICE OF THE BOOK FIXED

53
MEMBER.DAT-:

FIELDS USED-:
Integer----Memcode
Integer----Bookcode
Character----Name[30]
Character----Phone[8]
Character----Address.
Integer----dd
Integer----mm
Integer----yy

S.NO NAME OF THE FIELD DATA TYPE MEANING SIZE


1 MEMCODE INTEGER MEMBER CODE 2 BYTE
2 BOOKCODE INTEGER BOOKCODE 2 BYTE
3 NAME CHARACTER NAMEOF THE MEMBER 30
BYTE
4 PHONE CHARACETR PHONE NO OF THE 10
MEMBER BYTE
5 ADDRESS CHARACTER ADDRESS OF THE 30
MEMBER BYTE
6 2 BYTE
DD INTEGER RETUNING DATE OF THE
BOOK

7 2 BYTE
MM INTEGER RETUNING MONTH OF
THE BOOK

8 2 BYTE
YY INTEGER RETUNING YEAR OF THE
BOOK

54
TESTING & DEBUGGING

Testing is an important function to success of the system. System testing


makes a logical assumption that if all the parts of the system are correct, the
goal will be successfully activated. Another reason for system testing is its
utility as a user oriented vehicle before implementation.

System testing consists of the following five steps:

 PROGRAM TESTING-:
A program represents the logical elements of a
system. For a program to run satisfactorily, it must compile and test data
correctly and tie in properly with other programs. It is the responsibility of a
programmer to have error free programs.

 STRING TESTING-:
Program is invariably related to one another and interacts
in total system. Each program is tested to see whether it conforms to related
programs in the system. Each part of the system is tested against the entire
module with both test and live data before the whole system is ready to be
tested.

 SYSTEM TESTING -:
System testing is designed to uncover weaknesses
that were not found in earlier tests. This includes forced system failure and
validation of total system, as its user in the operational environment will
implement it. Under this testing, generally we take low volumes or
transactions type is reached.

 USER ACCEPTANCE TESTING-;


An acceptance test has the objective of selling
the user on the validity and reliability of the system. It verifies that the

55
system’s procedures operate to system specifications and that the integrity
of important data is maintained. Performance of an acceptance test is
actually the user’s show. User motivation is very important of the successful
performance of the system. After that a comprehensive test report is
prepared. This report shows the system’s tolerance performance range, error
rate and accuracy.

 PEAK LOAD TESTING-:


It determines whether the system will handle the
volume of activities that occur when the system is at peak of it processing
demand. For example test the system by activating all terminals at the same
time.

 STORAGE TESTING-:
It determines the capacity of the system too store
transaction data on a disk or in other files. For example verifier
documentation statements that the system will store 10,000 records of 400
bytes length on a single flexible disk.

 PERFORMANCE TESTING-:
It determines the length of time system used by
the system to process transaction data. This test is conducted prior to
implementation to determine how long it takes to get a response to an
inquiry, make a backup copy of a file, or send a transmission and get a
response.

 Recovery testing-:
This testing determines the ability of user to recover
data or restart system after failure. For example, load backup copy of data
and resume processing without data or integrity loss.

56
DESIGNING TEST DATA-:

The proper designing of test data is as important as the test itself. If test data as
input are not valid or representation of the data to be provided by the user, then
the reliability of the output is doubtful. Test data may be live or artificial. The live
data is that which is actually extracted from the users files. After a system is
partially constructed the programmers or analysts as the users to key in set of
data from their normal activities. It is difficult to obtain live data in sufficient
amount to conduct extensive testing.

The artificial tests data is created solely for test purposed. Properly created
artificial data should provide all combinations of values and formats and make it
possible to test all logic and control paths through the program. Unlike live data,
which are biased toward typical values, artificial data provide extreme values of
testing the limits of the proposed system. A test case is a set of data that the
system will process as normal input. However, the quantities to be withdrawn
from inventory exceed, equal and ate less than the actual quantities to be
withdrawn from inventory exceed, equal and are less than the actual quantities
on hand. Each test case is designed with the intent of finding errors in the way
the system will process it. There are two general strategies for testing software:
Code testing, and specification testing. In code testing, the analyst develops
those cases to execute every instructions and path in program. Under
specification testing that cases to execute every instruction and path in a
program. Under specification testing the analyst examines the program
specification and then writes test data to determine how the program operates
under specific conditions.

Debugging occurs as a consequence of successful testing. That is, when a test


case uncovers an error, debugging is the process that results in the removal of
the error. Although debugging can and should be an orderly process, it is still
very much an art. A software engineer, evaluating the results of test, is often
confronted with a “symptomatic” indication of a software problem. That is, the
external manifestation of the internal cause of the error may have no obvious
relationship to one another. The poorly understood mental process that
connection a symptom to a cause is debugging.

57
THE DEBUGGING PROCESS :-

Debugging is not testing, but it always occurs as a consequence of


testing. The debugging process begins with the execution of a test case.
Results are assessed and a lack of correspondence between expected and
actual is encountered. In many cases the non-corresponding data is a symptom
of an underlying cause as yet hidden. The debugging process attempts to match
symptom with cause, thereby leading to error correction.
The debugging process will always have one of two outcomes:

(1) The cause will be found, corrected, and removed, or


(2) The cause will not be found. In the letter case, the person performing
debugging may suspect a cause, design a test case to help validate his or
her suspicion, and work toward error correction in an iterative fashion.

A FEW CHARACTERISTICS OF BUGS PROVIDE SOME CLUES :-

 The symptom and the cause may be geographically remote. That is the
symptom may appear in one part of a program, while the cause may actually
be located at a site that is far removed. Highly coupled program structures
exacerbate this situation.

 The symptom may disappear (temporarily) when another error is corrected.

 The symptom may actually be caused by nonferrous (e.g. round- off


inaccuracies).
 The symptom may be actually by human error that is not easily traced.
 The symptom may be a result of timing problems, rather than processing
problem.
 It may be difficult to accurately reproduce input conditions.
 The symptom may be intermittent. This is particularly common in embedded
systems that couple hardware and software inextricably.
 The symptom may be due to causes that are distributed across a number of
tasks running on different processors
During debugging, we encounter errors that range from mildly annoying to
catastrophic.

58
EFFORT DISTRIBUTION WITH PHASE

A typical software product may take a few months to a few years for
development, and is in operation for five to twenty years before if is retired. For
software, the cost of development is the cost incurred during requirements
analysis, design, coding and testing. Thus the development cost is total cost
incurred before the product delivery. The cost of maintenance is the cost of
modifying the software due to residual faults in the software for enhancing or
for updating the software. The cost is spread over the operational years of the
software. Software engineers generally agree that the total cost of maintenance
is more than the cost f development of software. The ratio of development to
maintenance cost has been various suggested as 40/66, 30/70, or even lower.
However it is generally accepted that the cost of maintenance is likely to be
higher than the development cost, this is significant because in most
development projects, the developers are most concerned with reducing the
development cost and are often not at all concerned with the maintenance cost.
Since maintenance depends critically on the software characteristics that are
decided during development , maintenance costs can be reduced if maintenance
concept is kept in the forefront during development. One of the reasons why
this is often not done is that the development cost is borne by the developers
while maintenance is often done by the users hence. The developers do not
have much incentive for increasing the developed effort. In order to reduce the
maintenance cost. However for reduction in overall cost of software, it is
imperative that maintenance cost. However for reduction in overall cost of
software, it is imperative that the software be developed so maintenance is cays.

Of the development cost , a typical distribution of effort with the different


phases is
Requirements 10%
Design 20%
Coding 20%
Testing 50%

The exact number will differ with organization and the type of the project.

59
ERROR DISTRIBUTION :-

The notion programming is the central activity during software


development is largely because historically program has been considered to be
a difficult task and sometimes an “art”. Another consequence of this kind of
thinking is the belief that errors largely occur during programming as it is the
hardest activity in software development and offers many opportunities for
committing error. It is now realized that error can occur at any stage during
development. A typical distribution of error occurrences by phase is
Requirements analysis 20%
Design 30%
Coding 50%

As we can see, error occurs throughout the development process.


However, the cost of correcting error of different phases in not the same and
depends on when error is detected and corrected.

60
SECURITY OF SYSTEM

Security:- the physical security of the machine is much easier. If planned in


advance all accesses the machine. Itself should be recorded a recorded a
restricted in some way.

(1.) Power and Lighting:-


the power requirement for a computer room is based on the quantity and type
of computer room is based on the quantity and type of equipment installed. A
company must consider require for lighting, Arc., convenience outlets,
administrative of its equipment or future growth. Once power is determine to be
adequate, there are other factors to address such as figuring out how ‘dirty’ the
power is, the tolerance of the computer for the electricity.

For continuous power supply vendor suggest for constant voltage


transfer(cvt),moter generator ups system along with the computers.

Lighting the rule require careful planning operators and maintenance engineer
should be provided with sufficient late in the right place without excising
contrast.

(2) Earthing:- Good earthling for computer installing is require considering the
nuisance that stray pick-up can cause in data processing “Electrical Growth” for
the equipment should be draw from a separately constructed earthling pit.

(3)Temperature:-The room temperature should be maintained between 22+/-2

degree antitrade to achieve this required number of window air conditioners of


1.5 ton capacity each are to be used. A wet and dry wall thermometer should be
provided to monitor the room temperature.

(4)Electrical Requirements:-
Security is the most part of the any software. so any endures cannot
open the software. this is must essential because we works daily in many
users.

61
Any endures open our software and changes the our data. so safety of
our project we use the some security option.

The physical security of the machine is much easier. If planned in


advance all accosts the machine. Itself should be recorded a recorded a
restricted.

In our project we plant a form for security. when a user opens this project
then first run the security form. in this form we put the user name and user
password. if we know the user name or password then we open the our project.

If a user that did not know the username and password that did not open
the software. so we protect the our software using the security option.

If we want to change the user name and password then we click on the
change button before this we put the old username and user password then
click on the change button then a new text box is paper . in the new text box we
put the new password and click on the update button then the user password
has been changed.

Next time when we start the our software then we put the new username
and password if password is correct then open the project the project and we
work the successfully in our software.

62
H/W AND S/W SPECIFICATION

Processor : Pentium4

CPU speed : 1.8GHz

RAM : 256 MB

Hard disk : 80 GB

Mouse : Multimedia

Floppy Drive : 1.44 MB

DVD combo : SM 352F

Monitor : 15”, EGA, SVGA, VGA

Operating System : Windows 98

63
H/W & S/W SPECIFICATION FOR RUN THE PROJECT

PROCESSOR = PENTIUM 486 OR ABOVE

CPU SPEED = 1.2 GHZ

RAM = 16 MB

HARD DISK = 20 MB

KEYBOARD = 101 KEYS

MOUSE= STANDARD MOUSEMONITOR= 15”, EGA, SVGA,

VGA

LANGUAGE = Turbo C+ +

OPERATING SYSTEM = WINDOWS 98

64
DATA FLOW DIAGRAMS
PROCESS AND COMPLING
System Ready

Program Code Enter Program


Source Program

Edit Source Program

C++
Compiler Compile Source Program

Synta Yes
x
Error
?
No Object Code

System
Library Link with the System Library

Data Executable Object Code


Input

Data Error

Logic
Data
Errors?

No Error

CORRECT OUTPUT

STOP
65
FUNCTIONAL DIAGRAM

ADD NEW MEMBER

ADD NEW BOOK

CHECK DETAILS

UPDATE RECORDS

SEARCH RECORDS
AUTOMATED
USER SYSTEM

66
CONTEXT LEVEL DATA FLOW DIAGRAM

1-
Intro
duca
tion

2-
Add
Book

3-
Add
Mem
ber

4- User
User
List

Boo
5-
k
List

Me
6-

mbe
Edit
r
7-
Exit

67
2. Addition of Book

Generate
New
BOOK.DAT
User Book
Code

Accept the Accept the

Other Book Name

Information

Book.Dat

68
3. Addition of Members

Accept User
User Related
Information

Provide ID to the Member &

other related information

MemberDat

69
4. List of Books

User Request Display the


for data
List Of Books to
The User

Book.Dat

70
5. List of Members

User Request Display the


for data
List Of Members to
The User

Member.Dat

71
6. Edit Menu

6.1
6.0
Books 6.2 Exit
Members

72
7.1 Editing for Books

User Request for Editing


Books

7.1(a)
7.1(c)
Modify 7.1(b) Exit
Delete

73
8.1(a) Modification of Books Record

User Request Ask for


for Book Code

Check Valid
Book.Dat for Book
Book Code
Code

Invalid
Book
Code
Display
Book.Dat The
Records

User
No
Conformation

Accep Ye
t s
Book.Dat New
Info.

74
8.1(b) Deletion of Books Record

User Request Ask for


for Book Code

Check Valid
Book.Dat for Book
Book Code
Code

Invalid
Book
Code
Display
The
Book.Dat Records

Record No All Copy


available
cannot be
Of Particular
deleted book
Yes

No User
Conformation
Yes

Delete
The
Record

75
8.2 Editing for Members

User Request for


Editing Members

8.2(a)
8.2(c)
Modify 8.2(b) Exit
Delete

76
8.2(a) Modification of Members Record

User Request Ask for


for Member ID

Check Valid
for Membe
MemberDat
Member r ID
Id

Invalid
Member
Id
Display
Member.Dat The
Records

User
No
Conformation

Accep Ye
t s
Mem.Dat New
Info.

77
8.2(b) Deletion of Members Record

User Request Ask for


for Member Id

Check for Valid


Member Id
Member
Member.Dat Id

Invalid
Member
Id
Code Display
Member.Dat The
Records

Record Yes Is Any book


issued
cannot be
to member ?
deleted
No

User
No Conformation

Yes

Delete
The
Record

SCREEN SHOTS

78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
LIMITATION OF THE PROJECT

 The limitation of project is that only ten thousands records can be store
at a time however this number can be store at a time however this
number can be increased in future by making slightly change in the
project.

 Data may be lost if the system is not closed properly. Such accidental
deletion of data may cause problem.
 Power failure is also another problem because it may terminate the
transaction that are not stored or saved.

94
BIBLOGRAPHY

 [Robert Lafore] Object-Oriented Programming in Turbo C+


+,Galgotia Publications pvt. Ltd.

 [V. K. Jain] System Analysis & MIS, Khanna Book Company Ltd.

 [Yashwant Kanetkar] Let Us C++

95

You might also like