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 understanding 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: 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. 1. Problem of Accuracy: There are too many mistakes in reports and calculations. 2. 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. 3. Problem of Validity: The output and reports mostly contains misleading information. The transactions and calculations are sometimes not valid. 4. 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. Requirement Operating System Server 2003, SERVER CLIENT

Windows 98, Windows 2000, same Windows XP, Windows

Requirement SERVER Processor PC with Pentium II-class processor 330 MGz or above

RAM

Windows 2000 Professional – 96 MD: windows 2000 server – 192 MD Windows XP Home – 96 MB Windows XP professional & Windows server 2003 – 192 MB SYSTEM DESIGN Recommended: 128 MB for 2000 professional, 156 MB for 2000 server, 160 MNB for XP professional & Windows server 2003 1024 x 768, 256 colors Recommended: High color 32 –bit Any compatible keyboard Required

Video Keyboard Projector

23

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 Workshops: running informal sessions at which your contact can in your audit, one contact often leading to another. 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 project1. 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 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. design.

2. Software: The available software (operating system, utilities, language etc.) in the

28

8.1 TABLE STUCTURE

REQUIREMENT CODE DMRC NO STATION ROUTE A/D TIME INT[10] INT [10] INT[10] FLOAT[10] CHAR[15] INT INT DATA

LINKLIST

NEXT

START TRAVERSE()

FINDB (int, Int, linklist,linklist) ACCEPT(int,int) ACCEPT() INSFIRST(int, int) INSLAST(int, int) FINDB_CANCELLED(int, linklist, linklist)

29

DFD’s of Delhi Metro Projects

Login Enter the username and password

If valid then Open Mdi Main form

New Staff Entry
Staff entry Store in

Check Authentication

Staff entry
Retrieve from

Open salary form

Open attendance form

Station Entry
Store in

Staff Attendance Staff Salary
Store in
Retrieve from

Store in

Staff Attendance
Staff Salary

Station Entry
Retrieve from Retrieve from

Train entry

Store in

Train entry

Retrieve from

Train allocation

Store in

Train Allocation

30

Address Address Name
HOd

Address

SM

Metro station Main Branch

Has

Sub Station

Phoneno

Phoneno

Strengt h

Address

Id

Has

Staff

Contr ol

Phoneno Has

Salary

Name

Name

Mana ge Alloca te Seats

Trains
Dom DoA

31

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 LOGIN

OUTPUTS

If user-id &password correct s/w will open

Staff Information Staff-id,name etc Station name etc 0.0 Delhi Metro Head Quarter Management System

Staff Details,salary etc display Station Details

display

Station Information

display

Train Details

Train-no & train-name etc Train disp a Information

display Allocated qtrs to staffs display Allocated trains with station

Quarter information

Qtr info

34

LEVL 1- DFD’S
staff Details Staff-id,name,att-days Abs-days etc. display 1.0 Staff Management Attendance of staffs

Staff Information

display

display

Store-in

retrieve

store-in retrieve

store-in

Salary of staffs

Staff master

Staff attendance

Staff salary

Station-name strength etc. Station Information

display

station information

Train-no,train-name etc

2.0 Station Management display Train information display store-in Allocated trains with station

Train information Retrieve Store-in

retrieve store-in

Station entry

Train entry

Train allocation

35

Allocated Qtrs To Staffs display 3.0 Staff Information staff_grade name,etc qtr-no,type etc Quarter management display Info About qtrs

Qtr information

retrieve

retrieve store-in store-in

Staff entry

Qtr entry

Qtr allocation

36

8.4 FLOW CHARTS
Start

Enter the choice 1-Add Records 2-Display the details 3-Delete 4-Modify 5- Search 0-Exit

If choice=1

no

Yes Enter the Code no

If integer

no

Enter the yes TRAIN no

37

Station name

If choice=2

no

Yes Enter the train no

yes

Enter the Destination 1-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

Print “invalid output” stop

40

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. 2. 3.

Maximizing the output reliability. Maximizing the source test readability. 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[]=" char c[]=" M A N A G E M E N T" ; ->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. 2.

C++ for class XII: - Sumita Arora 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

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer: Get 4 months of Scribd and The New York Times for just $1.87 per week!

Master Your Semester with a Special Offer from Scribd & The New York Times