Dmrc Project

129
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, 1

description

Delhi Metro Railway Coporation

Transcript of Dmrc Project

Page 1: Dmrc Project

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

Page 2: Dmrc Project

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

Page 3: Dmrc Project

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

Page 4: Dmrc Project

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

Page 5: Dmrc Project

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

Page 6: Dmrc Project

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

Page 7: Dmrc Project

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

Page 8: Dmrc Project

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

Page 9: Dmrc Project

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

Page 10: Dmrc Project

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

Page 11: Dmrc Project

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

Page 12: Dmrc Project

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

Page 13: Dmrc Project

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

Page 14: Dmrc Project

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

Page 15: Dmrc Project

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

Page 16: Dmrc Project

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

Page 17: Dmrc Project

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

Page 18: Dmrc Project

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

Page 19: Dmrc Project

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

Page 20: Dmrc Project

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

Page 21: Dmrc Project

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

Page 22: Dmrc Project

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

Page 23: Dmrc Project

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

Page 24: Dmrc Project

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

Page 25: Dmrc Project

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

Page 26: Dmrc Project

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

Page 27: Dmrc Project

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

Page 28: Dmrc Project

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

Page 29: Dmrc Project

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

Page 30: Dmrc Project

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

Page 31: Dmrc Project

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

Page 32: Dmrc Project

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

Page 33: Dmrc Project

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

Page 34: Dmrc Project

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

Page 35: Dmrc Project

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

Page 36: Dmrc Project

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

Page 37: Dmrc Project

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

Page 38: Dmrc Project

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

Page 39: Dmrc Project

Yes

Enter the Char.

If Char==yes no

Yes

Delete record

If choice=0 no

Yes

exit

print “press a key”

39

Page 40: Dmrc Project

40

stop

Print “invalid output”

Page 41: Dmrc Project

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

Page 42: Dmrc Project

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

Page 43: Dmrc Project

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

Page 44: Dmrc Project

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

Page 45: Dmrc Project

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

Page 46: Dmrc Project

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

Page 47: Dmrc Project

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

Page 48: Dmrc Project

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

Page 49: Dmrc Project

{

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

Page 50: Dmrc Project

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

Page 51: Dmrc Project

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

Page 52: Dmrc Project

//**********************************************************

// 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

Page 53: Dmrc Project

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

Page 54: Dmrc Project

{

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

Page 55: Dmrc Project

//**********************************************************

// 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

Page 56: Dmrc Project

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

Page 57: Dmrc Project

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

Page 58: Dmrc Project

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

Page 59: Dmrc Project

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

Page 60: Dmrc Project

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

Page 61: Dmrc Project

//**********************************************************

// 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

Page 62: Dmrc Project

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

Page 63: Dmrc Project

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

Page 64: Dmrc Project

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

Page 65: Dmrc Project

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

Page 66: Dmrc Project

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

Page 67: Dmrc Project

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

Page 68: Dmrc Project

//**********************************************************

// 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

Page 69: Dmrc Project

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

Page 70: Dmrc Project

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

Page 71: Dmrc Project

{

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

Page 72: Dmrc Project

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

Page 73: Dmrc Project

}

} 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

Page 74: Dmrc Project

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

Page 75: Dmrc Project

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

Page 76: Dmrc Project

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

Page 77: Dmrc Project

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

Page 78: Dmrc Project

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

Page 79: Dmrc Project

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

Page 80: Dmrc Project

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

Page 81: Dmrc Project

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

Page 82: Dmrc Project

}

//**********************************************************

// 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

Page 83: Dmrc Project

{

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

Page 84: Dmrc Project

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

Page 85: Dmrc Project

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

Page 86: Dmrc Project

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

Page 87: Dmrc Project

}

//**********************************************************

// 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

Page 88: Dmrc Project

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

Page 89: Dmrc Project

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

Page 90: Dmrc Project

(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

Page 91: Dmrc Project

(b). INTRODUCTION:

Through option 1 add new requirement records

91

Page 92: Dmrc Project

3. DISPLAY LIST

92

Page 93: Dmrc Project

4. DELETE RECORDS

93

Page 94: Dmrc Project

5. MODIFY

94

Page 95: Dmrc Project

6. SEARCH

95

Page 96: Dmrc Project

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

Page 97: Dmrc Project

13. LIMITATIONS

This Project saves data temporarily.

The DMRC and route is limited

It does not work for other information for mall.

97

Page 98: Dmrc Project

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

Page 99: Dmrc Project

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