Date post: | 23-Nov-2014 |
Category: |
Documents |
Upload: | nikunj-gupta |
View: | 784 times |
Download: | 1 times |
1. INTRODUCTION
Presently Delhi Metro is one of the best facility for Delhi Citizens, it will cover whole
Delhi but it is now under construction. Now train are running from Vishaw Vidhayalay to
Kasmiri Gate that is under ground and Shahadra to Rithala that is on the over flay and
rest are under construction.
Presently I am decided that I have to make project for Delhi Metro that control whole
information about Trains, about Station, about Staff etc. and I know that it will control
whole management system of Delhi Metro.
This Project has made for making the management system of the Delhi Metro Trains and
control whole information about the Delhi Metro. This project is totally real life system
of Delhi Metro Management System. This will reduce the Lots of paper work, and annual
work too with fast processing and other facilities. It has the capability of automate the
management system of Delhi Metro Trains data, Station data, Staff data, which consists
of some tables, which are minimally required by this project.
Since the advent of computers in the last two decades, every organization is going under
the process of computerization. The computerization has many benefits. Primarily, a
computer is helpful in four major aspects of any kind of organization:
Time Efficiency
Cost Effective
Huge data storage capacity and
Simple operation
1
When every little thing is handled by computer then why not the DMRC Control System?
In the today’s world moving through computer is become a very common incident.
Therefore day by day rush to the Railway reservation counters are increasing. For this
there must be a proper reservation system, which can deal with the different situation and
handle any ad-hoe problems. To make a project on DMRC Control System is a very
cumbersome task. I have prepared this project on the DMRC control system. The project
is developed keeping the fact in mind that this should be user friendly.
Current Organizations like university, college, school, hospitals, shopping malls,
baking sectors etc. also have these basic needs. They concentrate on faster operations,
responsibility and communication to increase throughput. In DMRC Control System is
the one of the area that required a huge amount of requirement, this system maintains the
whole information about the DMRC management system. People working in different
departments all should see same information.
When one department finishes with the data entry it is automatically routed to the next
department. These all are also the requirements of the organizations like Shopping mall,
Banking etc. if we talk about manual or semi automated system, manual system is very
time consuming and prone to errors and later is less time consuming as compare to
manual but it’s also prone to errors. In today’s fast-track era where “Time Is Money” one
has to fully automate the existing system to beat the competitive world.
This project provides all the facilities of requirement maintain like train management,
DMRC management, location management, etc.
2
2. OBJECTIVE
The main objectives of the project are to maintain the information about the DMRC
control system very easily. This project is based on a real life process and has been
implemented in the “Metro train Corporation”. Metro train Management system, is
totally based on the Management system of Metro train. A Metro train company manage
DMRC information, Train information, Booking information etc. This software project is
very much helpful for the Metro train Management system.
o Fast retrieval of information around the mall or any where.
o Easy access by seating at home to most of the work Places.
o Easy database access with the invaluable functions.
3
3. PROBLEM SELECTION
(Definition of Problem)
One of the most difficult tasks of system analysis is developing a clear, in-depth under-
standing of the problem being investigated, without which it becomes impossible to
specify the requirements for a new project with any accuracy. Several questions should
be posed for this.
Some of those may be:
What is the problem?
How complex is it?
What are its likely causes?
Why is it important that the problem be solved?
What are possible solutions to the problem?
What types of benefits can be expected once the problem is solved?
It takes considerable skill to determine the true cause of a systems problem. A systems
analyst might begin to define the problem by determining if the problem can be classified
ac- cording to one or more common types of systems problems. With knowledge of the
Common types of problems, the analyst can diagnose a problem by examining its
characteristics.
Organizations usually face problems or have opportunity due to the following:
a new product or plant or branch
a new market or new process
failure of an existing system
inefficiency of an existing system
Structural error in the existing system, etc.
4
For identifying problems/opportunities, we scan the following:
the performance of the system
the information being supplied and its form
the economy of processing
the control of the information processing
the efficiency of the existing system
the requirement of the data and software
the requirement of the equipment and personnel, etc
After identification of the problem, it is defined and a general direction or method for
solving this problem is also determined. Then project boundaries are defined. The
management establishes the term of reference as well as the resources to be provided for
the project. System development is an iterative process and the first identifiable stage of
it is Problem Definition, whose final output is Terms of Reference.
Careful analysis of this system suggests a number of different problems:
1. Problem of Reliability: Current system is not reliable. It seems to vary in quality and
results from one month to the, next. Some times it gives good output, but some times
the output is worst.
2. Problem of Accuracy: There are too many mistakes in reports and calculations.
3. Problem of timeliness: In the current system the reports and output produced is
mostly late and in most of the cases it is useless because it is not on time.
4. Problem of Validity: The output and reports mostly contains misleading information.
The transactions and calculations are sometimes not valid.
5. Problem of Economy: The current system is very costly. We have to spend lots of
money in manual filing, calculations and remembering the information, but still not
get the desired results.
5
OOPS – Object Oriented Programming System
Object Oriented Programming is a method of programming that seeks to mimic the
way we form models of the world. To cope with the complexities of life, we have
evolved a wonderful capacity to generalize, classify and generate abstractions. Almost
every noun in our vocabulary represents a class of objects sharing some set of attributes
or behavioral traits.
The entire basis of Object Oriented Programming, infect is defining the Object in Object
Oriented Programming. Object is a unit that combines both code and data together. And
an object is an instance of a class. Class is a type of data structure defined to hold both
data and the code functions.
Object Oriented Programming also allows you to design and implement your application
more quickly than traditional approaches. Object Oriented Programming also makes code
easier to maintain so that you can refine the implementation without causing major
problems.
6
RISK ANALYSIS
Project Risk: It identify potential budgetary, schedule, personnel, resource, customer,
and requirements problems and their impact on software. All the above factors are
analyzed, customer requirements are analyzed properly.
Technical Risk: It identifies potential design, implementation, interface, verification, and
maintenance problems. All the above factors have been analyzed.
Business Risk: (1) Software is developed keeping in mind that there is demand in
custom, so that to avoid the market risk. (2) Software is designed to fit into the overall
business strategy for the custom department, to avoid the strategic risk. (3) The software
is easily understandable by the sales persons team, so that they could know much about
the product working and sell in the market. (4) It has the strong management support, and
not likely to change in the management people to avoid the management risk. (5)
Software fits the budget and there is no budget risk.
7
4. PROJECT MONITORING SYSTEM
DMRC Control System: This software is designed keeping the concept in mind the much
easier way of manages the requirement in the shopping mall area. My Application is very
useful for modern students because it covers all the features of Requirement System. This
application is containing all the relevant information which is required for Requirement
System and can be added which more information later on by the Administrator only.
Application is computer based and is user friendly so as to provide information to the
users easily and efficiently.
In Requirement DMRC Control System is one of the best system to maintains the any
Metro train system, this system provides the whole information about the requirement,
where the requirement in demands and how to make a good requirement over there. So
with the help of this system we can maintains our requirement very carefully with very
little throughput.
Now days, IT is backbone of business sector. In today’s scenario all the sectors are
adopting the IT Techniques for simplifying their work and solving the day-to-day
problems. Technology is serious stuff. It empowers your organization and its
stakeholders to be effective. But it can’t be defined simply by bells and whistles.
Effective technology requires a trusting, caring, functional relationship behind it.
8
There is a revolution transforming the global economy. Computer technology
transformed all business activities into information-based. The computer has extended the
reach of all the business activities.
The project on DMRC Control System is developed using C++ Object Oriented
Programming language.
9
EXISTING SYSTEM
The existing system consists of manually storing the information of attendance of the
requirement guard and implementing the requirement over there, etc.
The information of requirement duty is manually stored.
To find the requirement area is very complicated, to find any requirement guard
on duty is also very complicated, and to maintains the information about the
requirement is also very tuff.
10
LIMITATIONS OF EXISTING SYSTEM
The earlier experiences have shown that manual and semi-automated systems are not
fulfilling the expectations of the requirement. In today’s fast track era where “Time is
more valuable than money”, one has to be fully automated the existing system to beat
the competitive world. Requirement processes are often failed to achieve the desired
targets, mainly because of the following reasons:-
1) Lack of data sharing at different levels.
2) Lack of effective monitoring system.
3) Information retrieved from data/document- This is one of the major bottlenecks
and for retrieval of information, one has to go through all the documents for
manual collection of data.
4) Information anytime and anywhere is not possible.
5) Lots of paper work has to be done.
6) The manual procedure of providing information is not reliable.
7) Even for small information, the faculty has to go through various documents.
11
PROPOSED SYSTEM
This project deals with on of major topic of Requirement information. In DMRC
Control System, a user can store & find out the information about Metro train area
management.
This project provides the main menu with the following option:
ADD RECORDS
DISPLAY RECORDS
DELETE RECORDS
MODIFY RECORDS
SEARCH RECORDS
QUIT
Through first choice we can add new records of requirement implements, second choice
display records, third choice delete the records, fourth choice modify records, fifth choice
modify records, sixth choice exit from the system.
12
5. SYSTEM STUDY
Program structure can be defined as flow-chart of steps used to reach the program. It is
very necessary to define the program structure clearly. After this any user can easily
accommodate the rules of program use it efficiently. The software is menu driven. Let us
understand the several of the project contained in the hierarchical menu.
Menu
Add Records:--
After selecting this option a message will come to input code no of the DMRC, train no,
station code, and route no, arrival and departure time of the train, etc are store in the file.
Display List:--
After selecting this option it will ask to input the character then it will show the details of
the DMRC records.
Delete Records:-
After selecting this option it will ask to input Code no then it will show the records, after
this it will delete the requirement information.
Modify Records:--
After selecting this option it will ask to input the character then it will show the details of
the DMRC records we can modify the records.
13
Search Records:--
After selecting this option it will ask to input the character then it will show the details of
the DMRC.
Exit:-
After selecting this option you will come out of the program.
14
6. SYSTEM ANALYSIS
The decision to acquire computer hardware or software must be handled in the
same way as any other business decision. The variety of sizes and types of computing
resources available puts a burden on the analyst who must select suitable hardware,
software or services and advise the top management-accordingly.
Today, selecting a system is a serious and time-consuming business. The time
spent on the selection process is a function of the applications and whether the system is a
basic micro- computer or a mainframe. In either case, planning system selection and
acquiring experienced help where necessary pay off in the long run.
There are various important factors, which should be considered prior to system
selection. They are:
a. Define system capabilities that make sense for the business.
b. Specify the magnitude of the problem; that is, clarify whether selection entails a few
peripherals or a major decision concerning the mainframe.
c. Assess the competence of the in-house staff.
d. Hardware and software should be considered as a package.
e. Develop a time frame for the selection process.
f. Provide user indoctrination. This is crucial, especially for first-time users. Selling the
system to the user staff, provide adequate training and creating an environment
conductive to implementation are prerequisites for system acquisition.
15
The selection process should be viewed as a project and a project team should be
formed with the help of management. The selection process consists of several steps,
which are discussed below:
1. Requirements analysis: The first step in selection understands the user's requirements
within the framework of the organization’s objectives and the environment in which
the system is being installed.
2. System specifications: System specifications must be clearly defined. These
specifications must reflect the actual applications to be handled by the system and
include system objectives, flowcharts, input-output requirements, file structure and
cost.
3. Request for proposal: After the requirement analysis and system specifications have
been defined, a request for proposal is prepared and sent to selected vendors for
bidding.
4. Evaluation and validation: The evaluation phase ranks various vendor proposals and
determines the one best suited to the user's requirements. It looks into items such as
price, availability and technical support. System validation ensures that the vendor
can, in fact, match his/her claims, especially system performance.
5. Vendor selection: This step determines the vendor with the best combination of
reputation, reliability, service record, training, delivery time, lease/finance terms. The
selected vendors are invited to give a presentation of their system. The system chosen
goes through contract negotiations before implementation
16
Thus, System Analysis Means
Knowing about the current system
Finding the problem of the system
Finding the requirement of the system
System Analysis is a process of gathering and interpreting facts
Reaching to a point to provide appropriate solution
At present the system is manual but very easy to understand, therefore the Personnel
Management organizes are able to handle new automated system.
Current system is technically and economically feasible to develop and use proposed
system.
To reduce the boring paperwork of implementing the Personnel Management every time
and it increases efficiency and effectiveness, which is the existing problem face by the
current scenario.
In analysis part I have gone through the Personnel Management workflow and I have got
that their current software system it is very inconvenient to draw the structure again and
again
17
7. FEASIBILITY STUDY
The Feasibility study of development depends upon the number of factors, which
correspond to area of good practice or competence.
Steps in feasibility analysis
Eight steps are involved in the feasibility analysis. They are:
1. Form a project team and appoint a project leader.
2. Prepare system flowcharts.
3. Enumerate potential proposed systems.
4. Define and identify characteristics of proposed system.
5. Determine and evaluate performance and cost effectiveness of each proposed
system.
6. Weight system performance and cost data.
7. Select the best-proposed system.
8. Prepare and report final project directive to management
Type of feasibilities
1. Economic Feasibility
Economic analysis is the most frequently used technique for evaluating the
effectiveness of a proposed system. More commonly known as cost / benefit analysis; in
this procedure we determine the benefits and savings that are expected from a proposed
system and compare them with costs. We found the benefits outweigh the costs; we take
a decision to design and implement the new proposed system. The economic feasibility
should demonstrate the benefit of the proposed application in light of the benefits and
costs to the client.
The DMRC Control System operating authorities are the main clients of this
software. Economic feasibility is send to different client’s i.e. DMRC Control for
18
approval and acknowledgement before moving to next stage of system development
process.
The following economic feasibility elements are expressed quantitatively in the analytical
worksheets and summarized in the DMRCiness case.
The element included
a. Increased agency revenue
b. Decreased agency revenue
c. Increased agency cost
d. Decreased agency cost
e. Other organizational benefits
There isn’t an order or magnitude rule of thumb that applies generally. The alternative
dismissal/selection process depends on other things, such as how well an alternative
meets the project purpose and need, and the totality of environmental impacts. What if an
alternative that cost 4 or 5 times more than other alternatives but in turn had 4 to 5 times
less environmental impacts?
Depending on the type of resources and impacts, you might not be able to rule that
alternative out on the basis of dollar cost alone. Conversely, an alternative that was much
cheaper than others but with unacceptable impacts might be considered unacceptable
depending on the resources, impacts and others values the alternatives brings with it. The
feasibility study is one of the most misunderstood aspects of developing a location-based
leisure facility. Yet, it is perhaps the most important step, as mistakes at this early stage
can permanently handicap the project’s performance, perhaps fatally. A good feasibility
study is more than just a set of financial projections. Done properly, it becomes the
market driven strategic plan that is the road map for all subsequent decisions. As much as
answering the question “is a project feasible?” a good study also addresses the question
of what is most feasible and what should all its attributes be to assure maximum success.
19
2. Technical Feasibility
This is concerned with specifying equipment and software that will successfully
satisfy the user requirement. The technical needs of the system may vary considerably,
but might include:
· The facility to produce outputs in a given time.
· Response time under certain conditions.
· Ability to process a certain volume of transaction at a particular speed.
· Facility to communicate data to distant location.
After examining technical feasibility, we give more importance to the
configuration of the system than the actual make of hardware. The configuration gives
the complete picture about the system's requirements: Ten to twelve workstations are
required; these units should be interconnected through LAN so that they could operate
and communicate smoothly. They should have enough speeds of input and output to
achieve a particular quality of printing.
3. Operational Feasibility
It is mainly related to human organizational and political aspects. The points to be
considered are:
· What changes will be brought with the system?
· What organizational structures are disturbed?
· What new skills will be required? Do the existing staff members have these skills?
· If not, can they be trained in due course of time?
20
Generally project will not be rejected simply because of operational infeasibility but such
considerations are likely to critically affect the nature and scope of the eventual
recommendations.
For operational feasibility study we appointed a small group of people who are familiar
with information system techniques, who understand the parts of the DMRCiness that are
relevant to the project and are skilled in system analysis and design process.
4. Social feasibility
Social feasibility is a determination of whether a proposed project will be
acceptable to the people or not. This determination typically examines the probability of
the project being accepted by the group directly affected by the proposed system change.
5. Management feasibility
It is a determination of whether a proposed project will be acceptable to
management. If management does not accept a project or gives a negligible support to it,
the analyst will tend to view the project as a non-feasible one.
6. Legal feasibility
Legal feasibility is a determination of whether a proposed project infringes on
known Acts, Statutes, as well as any pending legislation. Although in some instances the
project might appear sound, on closer investigation it may be found to infringe on several
legal areas.
21
7. Time feasibility
Time feasibility is a determination of whether a proposed project can be
implemented fully within a stipulated time frame. If a project takes too much time it is
likely to be rejected.
22
7.1 TECHNICAL FEASIBILITY
The computer on which you install your software should meet the following system
requirements.
Software Required: Turbo C++
Performance has not been tuned for minimum system configuration. Increasing your
RAM above the recommended system configuration will increase your performance,
specifically when viewing large database of movies as well as of customers.
SYSTEM DESIGN
23
Requirement SERVER CLIENT
Operating Windows 98, Windows 2000, sameSystem Windows XP, Windows Server 2003,
Requirement SERVERProcessor PC with Pentium II-class processor 330 MGz or above
RAM Windows 2000 Professional – 96MD: windows 2000 server – 192MDWindows XP Home – 96 MBWindows XP professional &Windows server 2003 – 192 MB
Recommended:128 MB for 2000 professional,156 MB for 2000 server,160 MNB for XP professional &Windows server 2003
Video 1024 x 768, 256 colorsRecommended: High color 32 –bit
Keyboard Any compatible keyboard
Projector Required
The DMRC Control System will help in selecting topic from a list, and one can select
the order of topics to be chosen for DMRC Control System session. It also helps in
managing the DMRC Control System properly.
24
7.2 OPERATIONALFEASIBILITY
Understanding what is on offer
First of all will study that which type of software is made which is more user
friendly and can easily run anywhere, anytime.
The initial concept or vision
The first concept was produced in mind is that a user can maintain the records of
various facts and figures.
He can also easily monitor it.
People and Project
On the one hand projects are more like to be supported if they are owned by key
interests. The way to make the link is a three-stage process.
Networking: making informal contact which a range of interests identified in
your audit, one contact often leading to another.
Workshops: running informal sessions at which your contact can brainstorm
project ideas and reach a consensus on priorities
Feedback: presenting the results of the workshops and any subsequent research
back to participants.
25
7.3 ECONOMIC FEASIBILITY
All these stages are taken into consideration while working on the initial stages of the
project-
1. Ease of use.
2. Response time
3. Platforms
Software Design is the first of three technical activities – design, code generating, and
test – that are required to build and verify the software. Each activity transforms
information in a manner that ultimately results in validates component design.
The Design of an information system produces the details that clearly describe how a
system will meet the requirements identified during system analysis. The system design
process is not step-by- step adherence of clear procedures and guidelines. When I started
working on system design, I face different types of problems: many of these are due to
constraints imposed by the user or limitation of hardware and software available. Some
time it was quite difficult to enumerate the complexity of the problems and solutions
there of since the variety of likely problems is so great and no solutions are exactly
similar however the following consideration I kept in mind during Design phase.
26
8. SYSTEM DESIGN
The system design process is not a step-by-step adherence of clear procedures and
guidelines. Though, certain clear procedures and guidelines have emerged in recent days,
but still much of design work depends on knowledge and experience of the designer.
When designer starts working on system design, he will face different type of problems.
Many of these will be due to constraints imposed by the user or limitations of the
hardware and software available in the market. Sometimes, it is difficult to enumerate the
complexity of the problems and solutions thereof since the variety of likely problems is
so great and no solutions are exactly similar. However, following considerations should
be kept in mind during the system-designing phase:
The primary objective of the design: Of course, is to deliver the requirements as specified
in the feasibility report. In general, the following design objectives should be kept in
mind:
a. Practicality: The system must be stable and can be operated by people with average +
b. Efficiency: This involves accuracy, timeliness and comprehensiveness of the system
output.
c. Cost: it is desirable to aim for a system with a minimum cost subject to the condition
that it must satisfy all the requirements.
d. Flexibility: The system should be modifiable depending on the changing needs of the
user. Such modifications should not entail extensive reconstructing or recreation of
software. It should also be portable to different computer systems.
27
e. Requirement: This is very important aspect of the design and should cover areas of
hardware reliability, fall back procedures, physical requirement of data and provision
for detection of fraud..
System design involves first logical design and then physical construction of the system.
The logical design describes the structure and characteristics of features, like the outputs,
inputs, files, databases and procedures. The physical construction, which follows the
logical design, produces actual program software, files and a working system.
The designer normally will work under following constraints:
1. Hardware: The existing hardware will obviously affect the system design.
2. Software: The available software (operating system, utilities, language etc.) in the
market will constrain the design.
3. Budget: The budget allocated for the project will affect the scope and depth of
design.
4. Time-scale: The new system may be required by a particular time (e.g. the start of
a financial year). This may put a constraint on the designer to find the best design.
5. Interface with other systems: The new system may require some data from
another computerized system or may provide data to another system in which case the
files must be compatible in format and the system must operate with a certain
processing cycle.
28
8.1 TABLE STUCTURE
REQUIREMENT LINKLIST
CODE INT[10]
DMRC NO INT [10] DATA NEXT
STATION INT[10]
ROUTE FLOAT[10] INT START
A/D TIME CHAR[15] INT TRAVERSE()
FINDB (int, Int, linklist,linklist) ACCEPT(int,int) INSFIRST(int, int)
ACCEPT() INSLAST(int, int)
FINDB_CANCELLED(int, linklist, linklist)
29
DFD’s of Delhi Metro Projects
30
LoginEnter the username and password
Open Mdi Main form
New Staff Entry
Staff Attendance
Staff entry
Staff Attendance
Staff Salary
Staff Salary
Station Entry
Train entry
Station Entry
Train entry
Train allocation
Train
Allocation
If valid then
Staff entryStore in
Retrieve fromOpen attendance
form
Open salary form
Retrieve from Store in
Store in
Store in
Store in
Retrieve from
Retrieve from
Store in
Retrieve from
Check Authentication
31
Metro station Main Branch
Name
Address
Phoneno
HOd
HasSub Station
Address
Phoneno
SM
Strength
Address
Staff
Name
Address
Phoneno
Id
Salary
Control
Has
Dom DoA Seats
Name Manage
Has
Allocate
Trains
8.3 DATA FLOW DIAGRAM
Graphical description of a system's data and how the processes transform the data
is known as Data Flow Diagram (or DFD).
Unlike detail flowcharts, DFDs do not supply detailed descriptions of modules but
graphically describe a system's data and how the data interact with the system.
To construct data flow diagrams, we use:
i. Arrows,
ii. Circles,
iii. Open-ended boxes, and
iv. Squares
An arrow identifies data flow - data in motion. It is a pipeline through which information
flows. Like the rectangle in flowcharts, circles stand for a process that converts data/into
in- formation. An open-ended box represents a data store-data at rest, or a temporary
repository of data. A square defines a source (originator) or destination of system data.
The following seven rules govern construction of data flow diagrams (DFD):
1. Arrows should not cross each other.
2. Squares, circles, and files must bear names.
3. Decomposed data flows must be balanced (all data flows on the decomposed diagram must
reflect flows in the original diagram).
4. No two data flows, squares, or circles can have the same name.
5. Draw all data flows around the outside of the diagram.
32
DATABASE AND FILE DESIGN
DATABASE DESIGN/DATA DICTIONARY
Data dictionary stores description of data items and structures as well as systems
processes. It is intended to be used to understand the system by analyst who retrieves the
details and descriptions stores. He takes the help of data dictionary during system design,
when information about such concerns as data length, alternate names (aliases) and data
use in particular processes must be available. The data dictionaries have also validation
information in storage to help the analysts in specifying controls for the system's
acceptance of data. The dictionary also contains definitions of data flows, data stores and
processes. They also perform cross-reference checking and error detection.
A data dictionary defines each term (called a data element) encountered during the
analysis and design of a new system. Data elements can describe files, data flows, or
processes.
33
LEVEL 0 - DFD
INPUTS OUTPUTS
If user-id &password correct s/w will open
Staff-id,name etc
Station name etc
Train-no & train-name etc disp a
34
0.0
Delhi Metro HeadQuarter Management System
Staff Information
Station Information
Train Information
Staff Details,salary etc
Station Details
Train Details
Allocated trains with station
LOGIN
Quarter information
Allocated qtrs to staffs
display
display
display
display
displayQtr info
LEVL 1- DFD’S
Staff-id,name,att-days Abs-days etc.
Store-in retrieve store-in retrieve store-in
Station-name strength etc. display
Train-no,train-name etc
display
Retrieve retrieve display
Store-in store-in store-in
35
Station Information 2.0
Station Management
station information
Train information
Allocated trains with station
Station entry Train entry Train allocation
Staff Information
1.0
Staff Management Attendance of staffs
Salary of staffs
Staff master Staff attendance Staff salary
staff Details
Train information
display
display
display
display
staff_grade name,etc qtr-no,type etc display
retrieve retrieve
store-in store-in
36
3.0
Quarter managementStaff Information
Allocated Qtrs To Staffs
Staff entry Qtr entry Qtr allocation
Info About qtrs Qtr information
yes
8.4 FLOW CHARTS
Start
Enter the choice 1-Add Records2-Display the details3-Delete4-Modify 5- Search 0-Exit
If choice=1 no
Yes
Enter the Code no
If integer no
Enter the TRAIN no
37
Station name
If choice=2 no
Yes
Enter the train no
yes
Enter the Destination1-8 bit code
Display List
If choice=3 no
38
Yes
Enter the Char.
If Char==yes no
Yes
Delete record
If choice=0 no
Yes
exit
print “press a key”
39
40
stop
Print “invalid output”
9. SYSTEM TESTING AND IMPLEMENTATION
Testing is the only phase in the whole s/w development process that is regarded as a
destructive process rather than a constructive one. During the testing phase, the engineer
creates a series of test case that are intended to demolish the s/w that has been built. The
basic testing principles that a s/w engineer must understand before applying methods to
design effective test cases are:
1. All tests should be traceable to customer requirement.
2. Tests should be planned before testing begins.
3. Testing should begin “in the small” and progress towards testing “in the large”.
4. To be most effective, an independent third party should conduct testing.
The application can be uploaded in any school/institution. To access it, the user
will just require running the executable file of the software. System must have Turbo C+
+ Driver. As implementation of “DMRC CONTROL SYSTEM” software fully automate
the existing system. In the designed system, implementation was done to replace a
manual system with the computerized one. The objective was to put the tested system
into operation. Critical aspect of conversion is not disrupting the functioning of the
organization. This phase gives us the clear pictures of our new system and all the points
that have been carefully looked in when designing the computerized system.
41
Sincere efforts were taken for the implementation of the following goals:
1. Maximizing the output reliability.
2. Maximizing the source test readability.
3. Minimizing the development time.
During systems testing, the system is used experimentally to ensure that the software does not
fail. In other words, we can say that it will run according to its specifications and in the way
users expect. Special test data are input for processing, and the results examined. A limited
number of users may be allowed to use the system so that analyst can see whether they try to use
it in unforeseen
IMPLEMENTATION
-Training
- Conversion
-Post Implementation Review
42
10. PROJECT DESCRIPTION
The project category used to develop this application is OOPS and this means. When we
break our program into chunks of codes with well-defined interfaces between the chunks,
our program becomes more reliable. A fundamental premise of object-oriented
programming is that each does one thing very well and delegates to other objects
anything that is not its core mission. By using well-defined interfaces, we are forced to
think about how the chunk will be used. So we can’t cross boundaries and enhance
particular values inside a chunk even through we think its safe. We may need to include
an additional interface in the future. But at least we will know all of the code that could
modify the chunks data. So if the chunks data get corrupted. This approach does
debugging process considerably.
43
PROGRAM STRUCTURE
Program structure can be defined as flow-chart of steps used to reach the program. It is
very necessary to define the program structure clearly. After this any user can easily
accommodate the rules of program use it efficiently. The software is menu driven. Let us
understand the several of the project contained in the hierarchical menu.
Menu
Add Records:--
After selecting this option a message will come to input code no of the DMRC, location
of the destination, train, kilometer etc are store in the file.
Display List:--
After selecting this option it will ask to input the character then it will show the details of
the DMRC records.
Delete Records:-
After selecting this option it will ask to input Code no then it will show the records, after
this it will delete the requirement information.
Modify Records:--
After selecting this option it will ask to input the character then it will show the details of
the DMRC records we can modify the records.
44
Search Records:--
After selecting this option it will ask to input the character then it will show the details of
the DMRC.
Exit:-
After selecting this option you will come out of the program.
45
COADING
//**********************************************************
// PROJECT DELHI METRO CO-ORDINATION SYSTEM
//**********************************************************
//**********************************************************
// INCLUDED HEADER FILES
//**********************************************************
#include <iostream.h>
#include <conio.h>
#include <dos.h>
#include <string.h>
#include <fstream.h>
#include <process.h>
#include <stdlib.h>
#include <ctype.h>
#include <stdio.h>
//**********************************************************
// CLASS NAME : DMRC MENU
// DETAILS : IT CONTROLLS OVER ALL THE FUNCTIONS
//**********************************************************
class menu
{
public :
void main_menu(void) ;
46
void startup(void) ;
void box(void) ;
void line_hor (int, int, int, char) ;
void line_ver (int, int, int, char) ;
} ;
//**********************************************************
// CLASS NAME : DIARY DMRC
// DETAILS : IT CONTROLLS OVER ALL THE FUNCTIONS
// RELATED TO DIARY
//**********************************************************
class diary
{
public :
diary(void) ;
~diary(void) ;
void add(void) ;
void search(void) ;
void modify(void) ;
void deletion(void) ;
void display_list(void) ;
private :
void sort(void) ;
void display_record(int) ;
int found_record(int) ;
void delete_record(int) ;
void modify_record(int) ;
int recordno(int) ;
int last_code(void) ;
47
int code ;
char name[20], phone1[10], phone2[10], address[45] ;
} ;
//**********************************************************
// CLASS NAME : MENU DMRC
// FUNCTION NAME : LINE_HOR
// DETAILS : IT ACCEPTS THE ROWS AND COLUMNS AND
// DRAW THE HORIZONTAL LINE
//**********************************************************
void menu :: line_hor(int column1, int column2, int row, char c)
{
for ( column1; column1<=column2; column1++ )
{
gotoxy(column1,row) ;
cout <<c ;
}
}
//**********************************************************
// CLASS NAME : MENU DMRC
// FUNCTION NAME : LINE_VER
// DETAILS : IT ACCEPTS THE ROWS AND COLUMNS AND
// DRAW THE VERTICAL LINE
//**********************************************************
void menu :: line_ver(int row1, int row2, int column, char c)
48
{
for ( row1; row1<=row2; row1++ )
{
gotoxy(column,row1) ;
cout <<c ;
}
}
//**********************************************************
// CLASS NAME : MENU FAIR
// FUNCTION NAME : STARTUP
// DETAILS : IT CREATS THE STARTING SCREEN
//**********************************************************
void menu :: startup(void)
{
clrscr() ;
int i, j, s ;
char a[]="D M R C" ;
char b[]=" M A N A G E M E N T" ;
char c[]=" ->DELHI " ;
char d[]=" METRO<-" ;
for (i=1; i<=79; i++)
line_ver(1,25,i,179) ;
gotoxy(1,11) ; clreol() ;
gotoxy(1,13) ; clreol() ;
j = 63 ;
s = 100 ;
for (i=1; i<=43; i++)
{
49
sound(s) ;
s = s + 20 ;
delay(50) ;
gotoxy(1,12) ;
clreol() ;
gotoxy(1,11) ;
clreol() ;
gotoxy(i,12) ;
cout <<b ;
gotoxy(i,11) ;
cout <<d ;
gotoxy(j,12) ;
cout <<a ;
gotoxy(j,11) ;
cout <<c ;
j-- ;
gotoxy(1,1) ;
}
nosound() ;
delay(100) ;
char ch=219 ;
s = 500 ;
for (i=1; i<=79; i++)
{
sound(s) ;
s = s + 10 ;
gotoxy(i,10) ;
cout <<ch ;
delay(5) ;
}
nosound() ;
50
delay(200) ;
ch=219 ;
s = 1290 ;
for (i=79; i>=1; i--)
{
sound(s) ;
s = s - 10 ;
gotoxy(i,14) ;
cout <<ch ;
delay(5) ;
}
nosound() ;
delay(1000) ;
}
//**********************************************************
// CLASS NAME : DMRC CONTROL
// FUNCTION NAME : BOX
// DETAILS : IT CREATES BOX FOR THE MENU
//**********************************************************
void menu :: box(void)
{
line_hor(2,39,1,219) ;
line_hor(2,39,24,219) ;
line_ver(1,24,2,219) ;
line_ver(1,24,39,219) ;
}
51
//**********************************************************
// CLASS NAME : DMRC CONTROL
// FUNCTION NAME : MAIN_MENU
// DETAILS : IT CREATS MENU AND CONTROL OTHER
// FUNCTIONS
//**********************************************************
void menu :: main_menu(void)
{
char ch ;
while(1)
{
clrscr() ;
textmode(C40) ;
clrscr() ;
box() ;
gotoxy(12,5) ;
cout <<"DMRC CONTROL SYSTEM" ;
gotoxy(12,6) ;
cout <<"-------------------" ;
gotoxy(12,10) ;
cout <<"1: ADD RECORDS" ;
gotoxy(12,11) ;
cout <<"2: DISPLAY LIST" ;
gotoxy(12,12) ;
cout <<"3: DELETE RECORD" ;
gotoxy(12,13) ;
cout <<"4: MODIFY RECORD" ;
gotoxy(12,14) ;
cout <<"5: SEARCH RECORD" ;
gotoxy(12,15) ;
52
cout <<"0: QUIT" ;
gotoxy(11,18) ;
cout <<"Enter your choice:" ;
ch = getch() ;
textmode(C80) ;
clrscr() ;
if (ch == '1')
{
diary d ;
d.add() ;
}
else
if (ch == '2')
{
diary d ;
d.display_list() ;
}
else
if (ch == '3')
{
diary d ;
d.deletion() ;
}
else
if (ch == '4')
{
diary d ;
d.modify() ;
}
else
if (ch == '5')
53
{
diary d ;
d.search() ;
}
else
if (ch == '0')
exit(0) ;
}
}
//**********************************************************
// CLASS NAME : DMRC CONTROL
// FUNCTION NAME : DIARY (CONSTRUCTOR)
// DETAILS : IT IS CONSTRUCTOR FUNCTION, GIVING
// DEFAULT VALUES
//**********************************************************
diary :: diary(void)
{
code = 0 ;
name[0] = '\0' ;
phone1[0] = '\0' ;
phone2[0] = '\0' ;
address[0] = '\0' ;
}
54
//**********************************************************
// CLASS NAME : DMRC CONTROL
// FUNCTION NAME : ~DIARY (DISTRUCTOR)
// DETAILS : IT IS DISTRUCTOR FUNCTION
//**********************************************************
diary :: ~diary(void)
{
}
//**********************************************************
// CLASS NAME : DIARY
// FUNCTION NAME : DISPLAY_LIST
// DETAILS : IT DISPLAYS LIST OF THE PERSON'S
// RECORDS
//**********************************************************
void diary :: display_list(void)
{
clrscr() ;
menu m ;
char t_name[20], t1_name[20] ;
gotoxy(3,5) ;
cout <<"Enter character(s) for selective list" ;
gotoxy(3,6) ;
cout <<"or press <ENTER> for whole list or `0' for exit : " ;
gets(t_name) ;
if (t_name[0] == '0')
return ;
55
int len = strlen(t_name) ;
clrscr() ;
fstream file ;
file.open("TDIARY.DAT", ios::in) ;
file.seekg(0,ios::beg) ;
int row = 4 ;
int found = 0 ;
int pageno = 1 ;
int flag = 1 ;
char ch ;
gotoxy(1,2) ;
cout <<" CODE NO. " ;
m.line_hor(1,79,3,196) ;
m.line_hor(1,79,24,196) ;
while (file.read((char *) this, sizeof(diary)))
{
flag = 1 ;
for (int i=0; i<len; i++)
t1_name[i] = name[i] ;
t1_name[len] = '\0' ;
if (strcmpi(t_name,t1_name)==0)
{
delay(20) ;
found = 1 ;
gotoxy(1,row) ;
cout <<code ;
gotoxy(7,row) ;
puts(name) ;
gotoxy(27,row) ;
cout <<"STATION CODE: " <<phone1 <<", " <<phone2 ;
gotoxy(27,row+1) ;
56
cout <<"ROUTE NO. : " ;
puts(address) ;
if ( row == 22 )
{
flag = 0 ;
row = 4 ;
gotoxy(66,1) ;
cout <<"Page no. : " <<pageno ;
pageno++ ;
gotoxy(1,25) ;
cout <<"Press <ESC> to exit or any other key to
continue..." ;
ch = getch() ;
if (ch == 27)
return ;
clrscr() ;
gotoxy(1,2) ;
cout <<" CODE NO. " ;
m.line_hor(1,79,3,196) ;
m.line_hor(1,79,24,196) ;
}
else
row = row + 2 ;
}
}
if ( !found )
{
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(1,5) ;
57
cout <<"Records not found" ;
}
if (flag)
{
gotoxy(66,1) ;
cout <<"Page no. : " <<pageno ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
}
file.close() ;
}
//**********************************************************
// CLASS NAME : DMRC CONTROL
// FUNCTION NAME : DISPLAY_RECORD
// DETAILS : IT DISPLAYS SINGLE RECORD FOR THE
// GIVEN RECORD
//**********************************************************
void diary :: display_record(int t_code)
{
fstream file ;
file.open("TDIARY.DAT", ios::in) ;
file.seekg(0,ios::beg) ;
while (file.read((char *) this, sizeof(diary)))
{
if (t_code == code)
{
gotoxy(3,3) ;
58
cout <<"Code # " <<code ;
gotoxy(3,5) ;
cout <<"Train No: " ;
puts(name) ;
gotoxy(3,6) ;
cout <<"Station : " <<phone1 ;
gotoxy(3,7) ;
cout <<"Route No: " <<phone2 ;
gotoxy(3,10) ;
cout <<"A/D Time: " ;
puts(address) ;
break ;
}
}
file.close() ;
}
/**********************************************************
CLASS NAME : DMRC CONTROL
FUNCTION NAME : LAST_CODE
DETAILS : IT COUNTS THE RECORD IN THE FILE AND
RETURN THE LAST CODE NO.
**********************************************************/
int diary :: last_code()
{
fstream file ;
file.open("TDIARY.DAT", ios::in) ;
file.seekg(0,ios::beg) ;
int t=0 ;
59
while (file.read((char *) this, sizeof(diary)))
t++ ;
file.close() ;
return t ;
}
//**********************************************************
// CLASS NAME : DMRC CONTROL
// FUNCTION NAME : FOUND_RECORD
// DETAILS : IT RETURNS THAT RECORD IS FOUND FOR
// THE GIVEN CODE NO. OR NOT
//**********************************************************
int diary :: found_record(int t_code)
{
fstream file ;
file.open("TDIARY.DAT", ios::in) ;
file.seekg(0,ios::beg) ;
int found=0 ;
while (file.read((char *) this, sizeof(diary)))
{
if (t_code == code)
{
found++ ;
break ;
}
}
file.close() ;
return found ;
}
60
//**********************************************************
// CLASS NAME : DMRC CONTROL
// FUNCTION NAME : ADD
// DETAILS : IT ADDS THE RECORDS IN THE DIARY'S
// FILE (TDIARY.DAT)
//**********************************************************
void diary :: add(void)
{
menu m ;
int valid, saved=0 ;
int t_code ;
t_code = last_code() ;
t_code++ ;
if (t_code == 1)
{
code = t_code ;
strcpy(name,"abc") ;
strcpy(phone1,"-") ;
strcpy(phone2,"-") ;
strcpy(address,"xyz") ;
fstream file ;
file.open("TDIARY.DAT", ios::out | ios::app ) ;
file.write((char *) this, sizeof(diary)) ;
file.close() ;
delete_record(t_code) ;
}
char ch ;
61
do
{
clrscr() ;
gotoxy(3,3) ;
cout <<"Code # " <<t_code ;
gotoxy(3,5) ;
cout <<"Train No: " ;
gotoxy(3,6) ;
cout <<"Station : " ;
gotoxy(3,7) ;
cout <<"Route No: " ;
gotoxy(3,8) ;
cout <<"A/D Time: " ;
m.line_hor(1,79,23,196) ;
do
{
valid = 1 ;
gotoxy(1,25) ; clreol() ;
gotoxy(3,25) ;
cout <<"ENTER TRAIN NO." ;
gotoxy(13,5) ;
gets(name) ;
strupr(name) ;
if (strlen(name) > 19 || strlen(name) == 0)
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,24) ;
62
cout <<"LENGTH SHOULD NOT BLANK OR
GREATER THAN 19" ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
gotoxy(1,24) ; clreol() ;
gotoxy(1,25) ; clreol() ;
gotoxy(13,5) ; clreol() ;
}
} while ( !valid ) ;
do
{
valid = 1 ;
gotoxy(1,25) ; clreol() ;
gotoxy(3,25) ;
cout <<"ENTER THE STATION CODE OF THE STATION,
<ENTER> FOR BLANK" ;
gotoxy(13,6) ;
gets(phone1) ;
if ((strlen(phone1) < 7 && strlen(phone1) > 0) || (strlen(phone1) >
9))
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,24) ;
cout <<"LENGTH SHOULD NOT GREATER THAN 9
OR LESS THAN 7" ;
gotoxy(1,25) ;
63
cout <<"Press any key to continue..." ;
getch() ;
gotoxy(1,24) ; clreol() ;
gotoxy(1,25) ; clreol() ;
gotoxy(13,6) ; clreol() ;
}
} while ( !valid ) ;
if (strlen(phone1) == 0)
strcpy(phone1,"-") ;
do
{
valid = 1 ;
gotoxy(1,25) ; clreol() ;
gotoxy(3,25) ;
cout <<"ENTER THE ROUTE NO. OF THE DMRC, <ENTER>
FOR BLANK" ;
gotoxy(13,7) ;
gets(phone2) ;
if ((strlen(phone2) < 7 && strlen(phone2) > 0) || (strlen(phone2) >
9))
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,24) ;
cout <<"LENGTH SHOULD NOT GREATER THAN 9
OR LESS THAN 7" ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
64
getch() ;
gotoxy(1,24) ; clreol() ;
gotoxy(1,25) ; clreol() ;
gotoxy(13,7) ; clreol() ;
}
} while ( !valid ) ;
if (strlen(phone2) == 0)
strcpy(phone2,"-") ;
do
{
valid = 1 ;
gotoxy(1,25) ; clreol() ;
gotoxy(3,25) ;
cout <<"ENTER ARIVAL TIME & DEP. TIME OF THE TRAIN
LIKE A-7:00 PM, D-5:00 PM" ;
gotoxy(13,8) ;
gets(address) ;
strupr(address) ;
if (strlen(address) > 43 || strlen(address) == 0)
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,24) ;
cout <<"SHOULD NOT BLANK OR GREATER THAN
48" ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
65
getch() ;
gotoxy(1,24) ; clreol() ;
gotoxy(1,25) ; clreol() ;
gotoxy(13,10) ; clreol() ;
}
} while ( !valid ) ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,23) ; clreol() ;
gotoxy(1,13) ;
cout <<"Do you want to save the record (y/n) : " ;
do
{
valid = 1 ;
gotoxy(41,13) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(41,13) ; clreol() ;
}
} while ( !valid ) ;
if (ch == 'Y')
{
saved = 1 ;
code = t_code ;
fstream file ;
file.open("TDIARY.DAT", ios::out | ios::app ) ;
66
file.write((char *) this, sizeof(diary)) ;
file.close() ;
t_code++ ;
}
gotoxy(1,14) ;
cout <<"Do you want to add more records (y/n) : " ;
do
{
valid = 1 ;
gotoxy(41,14) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(41,14) ; clreol() ;
}
} while ( !valid ) ;
} while (ch == 'Y') ;
if (saved)
sort() ;
}
67
//**********************************************************
// CLASS NAME : DMRC CONTROL
// FUNCTION NAME : DELETE_RECORD
// DETAILS : IT DELETES THE RECORD IN THE DIARY'S
// FILE (TDIARY.DAT) FOR THE GIVEN CODE
//**********************************************************
void diary :: delete_record(int t_code)
{
fstream file ;
file.open("TDIARY.DAT", ios::in) ;
fstream temp ;
temp.open("temp.dat", ios::out) ;
file.seekg(0,ios::beg) ;
while ( !file.eof() )
{
file.read((char *) this, sizeof(diary)) ;
if ( file.eof() )
break ;
if ( code != t_code )
temp.write((char *) this, sizeof(diary)) ;
}
file.close() ;
temp.close() ;
file.open("TDIARY.DAT", ios::out) ;
temp.open("temp.dat", ios::in) ;
temp.seekg(0,ios::beg) ;
t_code = 1 ;
while ( !temp.eof() )
{
temp.read((char *) this, sizeof(diary)) ;
68
code = t_code ;
if ( temp.eof() )
break ;
file.write((char *) this, sizeof(diary)) ;
t_code++ ;
}
file.close() ;
temp.close() ;
}
//**********************************************************
// CLASS NAME : DMRC
// FUNCTION NAME : DELETION
// DETAILS : IT GIVES THE CODE NO. TO DELETE THE
// RECORD IN DIARY'S FILE (TDIARY.DAT)
//**********************************************************
void diary :: deletion(void)
{
menu m ;
clrscr() ;
int valid ;
int t_code=0, t;
char t1_code[5], t2_code[5] ;
char ch ;
gotoxy(3,3) ;
cout <<"Enter Code no. of the record to be deleted " ;
gotoxy(3,4) ;
cout <<"or Press <ENTER> to see from the list or `0' to exit : " ;
69
gets(t1_code) ;
t = atoi(t1_code) ;
t_code = t ;
if (t1_code[0] == '0')
return ;
if (t1_code[0] != '\0')
{
clrscr() ;
if (!found_record(t_code))
{
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(3,15) ;
cout <<"Record not found" ;
m.line_hor(1,79,24,196) ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
return ;
}
display_record(t_code) ;
gotoxy(3,12) ;
cout <<"Do you want to delete this Record (y/n) : " ;
do
{
valid = 1 ;
gotoxy(45,12) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')
70
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(45,12) ; clreol() ;
}
} while (!valid ) ;
if (ch == 'N')
return ;
gotoxy(1,25) ;
cout <<"Wait..." ;
delete_record(t_code) ;
clrscr() ;
gotoxy(1,14) ;
cout <<"Record Deleted\n" ;
m.line_hor(1,79,24,196) ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
return ;
}
display_list() ;
gotoxy(1,25) ;
clreol() ;
gotoxy(3,25) ;
cout <<"Enter Code no. of the record or <ENTER> to exit " ;
gets(t2_code) ;
t = atoi(t2_code) ;
t_code = t ;
if (t2_code[0] == '\0')
71
return ;
clrscr() ;
if (!found_record(t_code))
{
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(3,15) ;
cout <<"Record not found" ;
m.line_hor(1,79,24,196) ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
return ;
}
display_record(t_code) ;
gotoxy(3,12) ;
cout <<"Do you want to delete this Record (y/n) : " ;
do
{
valid = 1 ;
gotoxy(45,12) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(45,12) ; clreol() ;
72
}
} while (!valid ) ;
if (ch == 'N')
return ;
gotoxy(1,25) ;
cout <<"Wait..." ;
delete_record(t_code) ;
clrscr() ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(3,14) ;
cout <<"Record Deleted" ;
m.line_hor(1,79,24,196) ;
gotoxy(1,25) ;
cout <<"Press any key to continue...." ;
getch() ;
}
//**********************************************************
// CLASS NAME : DMRC
// FUNCTION NAME : MODIFY_RECORD
// DETAILS : IT MODIFIES THE RECORD IN THE DIARY'S
// FILE (TDIARY.DAT) FOR THE GIVEN CODE
//**********************************************************
void diary :: modify_record(int t_code)
{
menu m ;
int valid, modified=0 ;
73
char ch ;
m.line_hor(1,79,12,196) ;
gotoxy(3,14) ;
cout <<"Code # " <<t_code ;
gotoxy(3,16) ;
cout <<"Train No. : " ;
gotoxy(3,17) ;
cout <<"Staion Cd : " ;
gotoxy(3,18) ;
cout <<"Route No. : " ;
gotoxy(3,19) ;
cout <<"A/D Time : " ;
gotoxy(1,25) ; clreol() ;
m.line_hor(1,79,23,196) ;
gotoxy(13,16) ;
cout <<"Change (y/n) : " ;
do
{
valid = 1 ;
gotoxy(28,16) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(28,16) ; clreol() ;
}
} while (!valid) ;
74
valid = 0 ;
while (!valid && ch == 'Y')
{
modified = 1 ;
valid = 1 ;
gotoxy(13,16) ; clreol() ;
gotoxy(3,25) ;
cout <<"ENTER TRAIN NO. OF THE DMRC" ;
gotoxy(13,16) ;
gets(name) ;
strupr(name) ;
if (strlen(name) > 19 || strlen(name) == 0)
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,24) ;
cout <<"LENGTH SHOULD NOT BLANK OR GREATER
THAN 19" ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
gotoxy(1,24) ; clreol() ;
gotoxy(1,25) ; clreol() ;
gotoxy(13,16) ; clreol() ;
}
}
gotoxy(1,25) ; clreol() ;
gotoxy(13,17) ;
75
cout <<"Change (y/n) : " ;
do
{
valid = 1 ;
gotoxy(28,17) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(28,17) ; clreol() ;
}
} while (!valid) ;
valid = 0 ;
while (!valid && ch == 'Y')
{
modified = 1 ;
valid = 1 ;
gotoxy(13,17) ; clreol() ;
gotoxy(3,25) ;
cout <<"ENTER THE STATION NO. OF THE STATION, <ENTER>
FOR BLANK" ;
gotoxy(13,17) ;
gets(phone1) ;
if ((strlen(phone1) < 7 && strlen(phone1) > 0) || (strlen(phone1) > 9))
{
valid = 0 ;
sound(500) ;
76
delay(100) ;
nosound() ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,24) ;
cout <<"LENGTH SHOULD NOT GREATER THAN 9 OR LESS
THAN 7" ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
gotoxy(1,24) ; clreol() ;
gotoxy(1,25) ; clreol() ;
gotoxy(13,17) ; clreol() ;
}
if (strlen(phone1) == 0)
strcpy(phone1,"-") ;
}
gotoxy(1,25) ; clreol() ;
gotoxy(13,18) ;
cout <<"Change (y/n) : " ;
do
{
valid = 1 ;
gotoxy(28,18) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
77
gotoxy(28,18) ; clreol() ;
}
} while (!valid) ;
valid = 0 ;
while (!valid && ch == 'Y')
{
modified = 1 ;
valid = 1 ;
gotoxy(13,18) ; clreol() ;
gotoxy(3,25) ;
cout <<"ENTER THE ROUTE NO. OF THE ROUTE, <ENTER> FOR
BLANK" ;
gotoxy(13,18) ;
gets(phone2) ;
if ((strlen(phone2) < 7 && strlen(phone2) > 0) || (strlen(phone2) > 9))
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,24) ;
cout <<"LENGTH SHOULD NOT GREATER THAN 9 OR LESS
THAN 7" ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
gotoxy(1,24) ; clreol() ;
gotoxy(1,25) ; clreol() ;
gotoxy(13,18) ; clreol() ;
}
78
if (strlen(phone2) == 0)
strcpy(phone2,"-") ;
}
gotoxy(1,25) ; clreol() ;
gotoxy(13,19) ;
cout <<"Change (y/n) : " ;
do
{
valid = 1 ;
gotoxy(28,19) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(28,19) ; clreol() ;
}
} while (!valid) ;
valid = 0 ;
while (!valid && ch == 'Y')
{
modified = 1 ;
valid = 1 ;
gotoxy(13,19) ; clreol() ;
gotoxy(3,25) ;
cout <<"ENTER ARIVAL/DEP. TIME OF THE TRAIN" ;
gotoxy(13,19) ;
79
gets(address) ;
strupr(address) ;
if (strlen(address) > 43 || strlen(address) == 0)
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,24) ;
cout <<"SHOULD NOT BLANK OR GREATER THAN 48" ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
gotoxy(1,24) ; clreol() ;
gotoxy(1,25) ; clreol() ;
gotoxy(13,21) ; clreol() ;
}
}
if (!modified)
return ;
gotoxy(1,25) ; clreol() ;
gotoxy(1,23) ; clreol() ;
gotoxy(1,23) ;
cout <<"Do you want to save the record (y/n) : " ;
do
{
valid = 1 ;
gotoxy(41,23) ;
ch = getche() ;
ch = toupper(ch) ;
80
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(41,23) ; clreol() ;
}
} while ( !valid ) ;
if (ch == 'N')
return ;
fstream file ;
file.open("TDIARY.DAT", ios::out | ios::ate) ;
int recno ;
recno = t_code ;
int location ;
location = (recno-1) * sizeof(diary) ;
file.seekp(location) ;
file.write((char *) this, sizeof(diary)) ;
file.close() ;
sort() ;
clrscr() ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(1,14) ;
cout <<"Record Modified" ;
m.line_hor(1,79,24,196) ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
81
}
//**********************************************************
// CLASS NAME : DMRC CONTROL
// FUNCTION NAME : MODIFY
// DETAILS : IT GIVES THE CODE NO. TO MODIFY THE
// RECORD IN DIARY'S FILE (TDIARY.DAT)
//**********************************************************
void diary :: modify(void)
{
menu m ;
clrscr() ;
int valid ;
int t_code=0, t;
char t1_code[5], t2_code[5] ;
char ch ;
gotoxy(3,3) ;
cout <<"Enter Code no. of the record to be modify " ;
gotoxy(3,4) ;
cout <<"or Press <ENTER> to see from the list or `0' to exit : " ;
gets(t1_code) ;
t = atoi(t1_code) ;
t_code = t ;
if (t1_code[0] == '0')
return ;
if (t1_code[0] != '\0')
{
clrscr() ;
if (!found_record(t_code))
82
{
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(3,15) ;
cout <<"Record not found" ;
m.line_hor(1,79,24,196) ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
return ;
}
display_record(t_code) ;
gotoxy(3,12) ;
cout <<"Do you want to modify this Record (y/n) : " ;
do
{
valid = 1 ;
gotoxy(45,12) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(45,12) ; clreol() ;
}
} while (!valid ) ;
if (ch == 'N')
83
return ;
modify_record(t_code) ;
return ;
}
display_list() ;
gotoxy(1,25) ;
clreol() ;
gotoxy(3,25) ;
cout <<"Enter Code no. of the record or <ENTER> to exit " ;
gets(t2_code) ;
t = atoi(t2_code) ;
t_code = t ;
if (t2_code[0] == '\0')
return ;
clrscr() ;
if (!found_record(t_code))
{
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(3,15) ;
cout <<"Record not found" ;
m.line_hor(1,79,24,196) ;
gotoxy(1,25) ;
cout <<"Press any key to continue..." ;
getch() ;
return ;
}
display_record(t_code) ;
gotoxy(3,12) ;
cout <<"Do you want to modify this Record (y/n) : " ;
84
do
{
valid = 1 ;
gotoxy(45,12) ;
ch = getche() ;
ch = toupper(ch) ;
if (ch != 'Y' && ch != 'N')
{
valid = 0 ;
sound(500) ;
delay(100) ;
nosound() ;
gotoxy(45,12) ; clreol() ;
}
} while (!valid ) ;
if (ch == 'N')
return ;
modify_record(t_code) ;
}
//**********************************************************
// CLASS NAME : DMRC
// FUNCTION NAME : SORT
// DETAILS : IT SORTS THE RECORD IN THE DIARY'S
// FILE (TDIARY.DAT)
//**********************************************************
void diary :: sort(void)
{
85
int i=0,j ;
diary arr[100] ;
diary temp ;
fstream file ;
file.open("TDIARY.DAT", ios::in) ;
file.seekg(0,ios::beg) ;
while (file.read((char *) &arr[i], sizeof(diary)))
i++ ;
int size ;
size = i ;
file.close() ;
for (i=1; i<size; i++)
for (j=0; j<size-i; j++)
{
if (strcmp(arr[j].name,arr[j+1].name) > 0)
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
int t_code = 1 ;
for (i=0; i<size; i++)
{
arr[i].code = t_code ;
t_code++ ;
}
file.open("TDIARY.DAT", ios::out) ;
for (i=0; i<size; i++)
file.write((char *) &arr[i], sizeof(diary)) ;
file.close() ;
86
}
//**********************************************************
// CLASS NAME : DMRC
// FUNCTION NAME : SEARCH
// DETAILS : IT SEARCHES A RECORD IN THE DIARY'S
// FILE (TDIARY.DAT)
//**********************************************************
void diary :: search(void)
{ int i=0,j=0;
diary arr[100] ;
diary temp ;
fstream file ;
file.open("TDIARY.DAT", ios::in) ;
char n[30] ;
int eof;
file.seekg(0,ios::end);
eof=file.tellg();
file.seekg(0,ios::beg);
cout<<"Enter The Name to search" ;
gets(n) ;
strupr(n);
delay(1000);
do
{
file.read((char *) &arr[i], sizeof(diary));
87
i++ ;
if(strcmp(arr[i-1].name,n) == 0)
{
j=i;
}
}while(file.tellg()!=eof);
file.close();
display_record(j);
delay(2000);
}
//**********************************************************
// FUNCTION NAME : MAIN DMRC
// DETAILS : IT CALLS THE STARTUP FUNCTION AND
// MENU FUNCTION.
//**********************************************************
void main(void)
{
menu m ;
m.startup() ;
m.main_menu() ;
}
88
11. DOCUMENTATION
LAYOUTS OF INPUT AND OUTPUT
Screen layout: - Screen layout section describes the flow of all the Input and output
window along with its layout and its functionality.
These are the layouts if this entire project, which will help to know a bit more about this
project. Through these layouts the process of learning will become easy and anyone can
understand it in a better way.
A final step in system performance definition is describing the outputs required by the
user. An actual sketch of the format and contents of the reports (layout) as well as a
specification of the media used, their frequency, and the size and number of copies
required are prepared at this point. Specifying exactly what the output will look like leads
to an estimate of the computer storage requirements that form the basis for the file design
to be undertaken in the design phase of the life cycle. The analyst is now ready to
evaluate the feasibility of candidate systems to produce these outputs.
89
(a) STARTING WITH THE PROJECT:
After the successful installation of the “DMRC CONTROL SYSTEM”, the
Menu window will appear on the screen, where the user can choose the following
Operations.
90
(b). INTRODUCTION:
Through option 1 add new requirement records
91
3. DISPLAY LIST
92
4. DELETE RECORDS
93
5. MODIFY
94
6. SEARCH
95
12. CONCLUSION
Throughout the design process I considered and specify the requirement of each of these
operational areas.
User raising Input
Data preparation
Data Validation
Processing
Output Handling
Action on Output
Overall the project teaches us the essential skills like:
1. Using system analysis and design techniques like data flow diagram in designing
the system.
2. Understanding OOPS, programming logic and language in C++.
This is user-friendly software that can prove to be of immense help in the management of
the student’s details or records. Following advantages can be derived out of this software
at the press of a button. Different options like Introduction, Add records, Add marks, List
of students, Modification, Deletion and Quit are some of the features that this software
has which helps in maintaining records in an efficient way. A complete record of students
and their result etc are maintained in a better and in a proper way. The detailed
information and records of all the students is easily accessible, which saves a lot of time
and is also user interactive.
96
13. LIMITATIONS
This Project saves data temporarily.
The DMRC and route is limited
It does not work for other information for mall.
97
14. FUTURE SCOPE
The application can be uploaded in the DMRC Control System show counters as well as
in the any mall. The access it, I the user will just require to run the excitable file of the
software. System must have Turbo C++ Driver. Basically the application is for carrying
out activities involved in a DMRC Control System. As implementation of ‘DMRC
Control System’ fully automate the existing system. In the designed system,
implementation was done to replace a manual system with the computerized one. The
objective was to put the tested system into operation. Critical aspect of conversion is not
disrupting the functioning of the organization. This phase gives us the clear pictures of
our new system and all the points that have been carefully looked in when designing the
computerized system.
Sincere effort was taken for the implementation of the following goals:
1. Maximizing the output reliability.
2. Maximizing the source test readability.
3. Minimizing the development time.
98
15. REFERENCES
1. C++ for class XII: - Sumita Arora
2. Let Us C: - Yashwant Kanetkar
3. Introduction Of To C++: - A.K.Shrma
Object-Oriented Programming in C++: Robert lafore
ASSUMPTIONS
The station code and route code will be 00000000 decimal no.
The data is temporarily saved.
99