1. INTRODUCTION
Indian Railways is the largest rail network in Asia and the worlds second largest under a single management. Spreading over the countrys vast geographical area, Indian Railways is a multi-gauge, multi-traction system covering over 1 lakh track kilometers. It runs some 11,000 trains everyday, including 7,000 passenger trains. The passenger traffic has increased from 1.28 to 4.2 billion in last 40 years, making Indian Railways (IR) a leading passenger carrying railway in the world. This has placed a difficult task on the passenger to choose the best route for his journey from many alternatives.
There is a need for software that optimizes the route. That is, choosing from many possible trains, the one that is best either in terms of 1) distance, 2) cost or 3) time. The optimization based on distance may not at once seem useful, however it is important indirectly in that distance traversed in a journey determines its cost.
Simulation of Railway Model (RIS) is an Optimal routing website providing metrics for direct and indirect routes. We implement strategic and tactical algorithms that save time and money, attract and retain railway users, and reduce complexity of railway network. This will usually be an interface which the user and the administrator can interact with the railway components. The database stores all the details of the routes such as name, stations, trains, cost, etc. There are some types of online querying system, and only for listing the trains for a journey through stations specified by the passengers. Simulation of Railway Model can overcome these shortcomings. This project is aimed to be accessed online via the internet by the users. It not only gives direct routes but also indirect routes and based on the users input tries to convert the users choices of time of arrival and departure, class of travel, interval between connecting stations etc. into a quality metric and based on this metric generates the routed that satisfy it best.
Page 1
The routes are generated by either considering the direct trains, or by considering trains that connect the two stations to a common station. A list of important stations is maintained for each station which is search for such common stations. This reduces the search space greatly which would otherwise be the rest of the stations.
Also in the process, registration of users is also maintained to keep an eye on the users whom are using the project. This portion of our project can be seen as for security purpose.
Other details regarding trains, routes, cost, map etc. are also provided to keep the user updated about any changes in the railway database.
The system is interactive and the user can express all his/her needs easily and precisely. Direct and indirect routes. Monitor different routes more easily. Time table management. Set up time table for trains by displaying them a clearer understanding of how their day to day travel contributes to railway routing. Routes Search. Display different routes with source and destination.
Page 2
1.1.2 Aims:
Increase visibility into actual railway routes, providing valuable insight for user to obtain a route on quality basis. Attract user with reduce time, cost, and distance. Improve railway productivity while reducing total management costs.
Requirement By studying the prevalent system in the requirement for the website has become crystal clear. The main requirement is to provide a faster access of the service that is route finding and Mail and SMS.
Spreading over the countrys vast geographical area, Indian Railways is a multi-gauge, multi-traction system covering over 1 lakh track kilometers. It runs some 11,000 trains everyday, including 7,000 passenger trains. The passenger traffic has increased from 1.28 to 4.2 billion in last 40 years, making Indian Railways (IR) a leading passenger carrying railway in the world. This has placed a difficult task on the passenger to choose the best route for his journey from many alternatives. So for providing user facility and comfort for the journey on the basis of minimum route and cost . There is some exiting system that also provides the details of the trains but due to heavy system it is not able to response as soon so for overcoming on this problem we have designed our system . Improvements in existing system: The manual system that provides the information about train delay is very time taking and with that facility only those user can get information who are at station but the user who is in home they cant know about train delay so we have improve the system by incrementing the automation in the system. And our system provides fast information of routes and related trains and times.
1.3.1 Technical Feasibility: Focus is on establishing whether the technology needed for the proposed system is available and how this technology can be integrated within the organization. Technologies included are:
IT DEPARTMENT, SRMGPC, Lucknow Page 4
1.3.2
Economic Feasibility:
It is concerned with the returns or benefits of the organization are likely to derive from investment in the new system. Estimated costs of new system development and operation must be balanced against projected tangible as well as intangible benefits.
1.3.3
Operational Feasibility:
It is an evaluation to determine whether a system is operationally acceptable. Two important dimensions to be accessed are ability and motivation to use the system. The system is operationally feasible as it is easy to use and can be applied to all kind of institutions. The project is also technically feasible as all the tools and technology required for the project is readily available. The requirements for the system are within the resources provided and hence make the endeavor economically feasible.
Page 5
2. LITERATURE REVIEW
Various research papers were reviewed and studied to develop the algorithm for automatic mail and SMS. These papers have been mentioned in the references. The results drawn from these papers used in the project are presented here. 2.1 Inference drawn from the research papers: Indian Railways is the largest rail network in Asia and the worlds second largest under a single management. Spreading over the countrys vast geographical area, Indian Railways is a multi-gauge, multitraction system covering over 1 lakh track kilometers. It runs some 11,000 trains everyday, including 7,000 passenger trains. The passenger traffic has increased from 1.28 to 4.2 billion in last 40 years, making Indian Railways (IR) a leading passenger carrying railway in the world. This has placed a difficult task on the passenger to choose the best route for his journey from many alternatives. There is a need for software that optimizes the route. That is, choosing from many possible trains, the one that is best either in terms of 1) distance, 2) cost or 3) time. The optimization based on distance may not at once seem useful, however it is important indirectly in that distance traversed in a journey determines its cost. After learning all research papers we have find that we can find out minimum route many of different algorithms those algorithms are Dijkstras algorithm and floyd warshall algorithm . 2.2 Dijkstra's algorithm, conceived by Dutch computer scientist Edsger Dijkstra in 1959, is a graph search algorithm that solves the single-source shortest path problem for a graph with nonnegative edge path costs, producing a shortest path tree. This algorithm is often used in routing. An equivalent algorithm was developed by Edward F. Moore in 1957. For a given source vertex (node) in the graph, the algorithm finds the path with lowest cost (i.e. the shortest path) between that vertex and every other vertex. It can also be used for finding costs of shortest paths from a single vertex to a single destination vertex by stopping the algorithm once the shortest path to the destination vertex has been
IT DEPARTMENT, SRMGPC, Lucknow Page 6
determined. For example, if the vertices of the graph represent cities and edge path costs represent driving distances between pairs of cities connected by a direct road, Dijkstra's algorithm can be used to find the shortest route between one city and all other cities. As a result, the shortest path first is widely used in network routing protocols, most notably ISIS and OSPF (Open Shortest Path First). In computer science, the FloydWarshall algorithm (sometimes known as the WFI Algorithm or RoyFloyd algorithm) is a graph analysis algorithm for finding shortest paths in a weighted graph. A single execution of the algorithm will find the shortest paths between all pairs of vertices. The algorithm is an example of dynamic programming. The FloydWarshall algorithm compares all possible paths through the graph between each pair of vertices. It is able to do this with only (V3) comparisons in a graph. This is remarkable considering that there may be up to (V2) edges in the graph, and every combination of edges is tested. It does so by incrementally improving an estimate on the shortest path between two vertices, until the estimate is known to be optimal. Consider a graph G with vertices V, each numbered 1 through N. Further consider a function shortestPath(i, j, k) that returns the shortest possible path from i to j using only vertices 1 to k as intermediate points along the way. Now, given this function, our goal is to find the shortest path from each i to each j using only nodes 1 to k + 1. There are two candidates for this path: either the true shortest path only uses nodes in the set {1, ..., k}; or there exists some path that goes from i to k + 1, then from k + 1 to j that is better. We know that the best path from i to j that only uses nodes 1 through k is defined by shortestPath(i, j, k), and it is clear that if there were a better path from i to k + 1 to j, then the length of this path would be the concatenation of the shortest path from i to k + 1 (using vertices in {1, ..., k}) and the shortest path from k + 1 to j (also using vertices in {1, ..., k}). The algorithm works by first computing shortestPath(i, j, k) for all (i, j) pairs for k = 1, then k = 2, etc. This process continues until k = n, and we have found the shortest path for all (i, j) pairs using any intermediate vertices.
IT DEPARTMENT, SRMGPC, Lucknow Page 7
3. PROPOSED METHODOLOGY
A process model for software engineering is chosen based on the nature of the project and application, the methods and tools to be used, and the controls and deliverables that are required. Among the various available Software Process Models (Waterfall model, Spiral model, Prototype model, etc) the best suited for this project is the Incremental Model.
Page 8
Page 9
3.2.1. Problem Identification:- This is the first phase of system analysis and designing. In this phase the analyst identify the organization and taking the need of system. 3.2.2. Preliminary investigation:-In the preliminary investigation the analysis identify the requirement through the following process that is o On site observation o Questionnaires o Documentation o Conducting interview 3.2.3. Feasibility study: - Once the system objectives have been ascertained by initial investigation, we need to spell the various possible solutions to meet the various objectives. The feasibility study is conducted to check whether the candidate system is feasible. The system, which is selected to be the best against the criteria, is thereafter designed and developed. The feasibility study takes into consideration, the risks involved in the project development beforehand. They are Time feasibility Operational feasibility Technical feasibility
3.2.4. Determination of requirements: - Requirement Analysis is the first technical step in the software engineering process. It is at this point that a general statement of software scope is refined into a concrete specification that becomes a foundation for all the software engineering activities that follow. Analysis must focus on the informational, functional, and behavioral domains of a problem. To better understand what is required, models are created, the problem is partitioned, and representation that depict the essence of requirements and later, implementation detail, are developed. A software requirements specification is developed as a consequence of analysis. Review is essential to ensure that developer and customer have the same perception of the
IT DEPARTMENT, SRMGPC, Lucknow Page 10
system. Unfortunately, even with best of methods, the problem is that the problem keeps changing. 3.2.4.1. Functional Requirements: a. Data should be given in a correct form in order to avoid getting erroneous results. b. The value of transportation cost and the assignment cost should be known prior to calculate the optimal transportation and assignment cost c. In order to prepare the budgets the proper and the correct data is to be considered. d. The end users should input correct figures so that the Ratio Analysis may result as per expectations. e. Data should be checked for validity f. Consistency between the information provided in different forms under a scheme should be checked g. Messages should be given for improper input data, and invalid data item should be ignored.
3.2.4.2. External Interface Requirements: Functions are provided at click of the button. The output requires different type of inputs for desired result. It has been carefully analyzed that the user has to give a set of minimum commands to complete any operation. Command names reflect the operation they perform. We have tried to make interface deal with incorrect inputs and prevent errors from entering the system where possible. It also helps the user to correct the entry. There are usually controls associated with input to ensure that no erroneous data enters the system. Similarly Output is laid out in an easy to read way. 3.2.4.3. Performance requirements: The following characteristics were taken care of in developing the system. 1. User friendliness: The system is easy to learn and understand. A naive user can also use the system effectively, without any difficulty. 2. Response time: Response time of all the operations is kept low. This has been made possible by careful planning.
IT DEPARTMENT, SRMGPC, Lucknow Page 11
3. Error handling: Response to user errors and undesired situations have been taken care of to ensure that system operates without halting in case of such situation and proper error messages are given to user. 4. Safety: The system is able to avoid catastrophic behavior. 5. Robustness: The system recovers from the undesired events without human intervention. 6. Security: The system provides protection of information through the mechanism of password incorporated in it. Therefore only authorized people can access it database. 7. Accuracy: The system is highly accurate thus its utility is very high. 8. Portability: The system can be moved to new Hardware /Software after making minor changes in it. 9. Cost Element: Servicing a given demand in the system doesnt require a lot of money.
3.2.5. Design of system: when the analysis identifies the requirement, then designing phase is start. In this phase the flow chart and DFD are designed. Design is the most important part of the development phase for any product or system because design is the place where quality is fostered. Design is the only thing, which accurately translates a customers requirement in to a finished software product or system. The design step produces a data design, an architectural design, and Interface Design and a Procedural Design. System specialists often refer to this stage as logical description, in contrast to the process of developing the program software, which is referred to as physical design. The system design describes the data to be input, calculated or stored. Individual data items and calculation procedures are written in detail. The procedures tell how to process the data and produce the output. In the process separate tables have been created for specific details .In order to make the response time negligible all the tables have been created in the memory file system. Indexes have been created on the tables in which the number of records is very large.
IT DEPARTMENT, SRMGPC, Lucknow Page 12
3.2.6. Development of software: In this phase coding is started and all the designs developed are coded on the selected platform. 3.2.7. System testing: In this project we have performed three levels of testing: Unit testing, Integration testing and system testing. 3.2.7.1. Approach for testing: For unit testing, structural testing based on the branch coverage criterion is used. System testing is largely functional in nature. The focus was on invalid and valid cases, boundary values, and special cases. For each data entry screen , we prepared test data with extreme values & tested under all relevant test conditions. It was it was extensively tested that all forms function in the manner as expected by them and give accurate results. After my own satisfaction, we invited the concerned user to test the system. 3.2.7.2. First level of Testing: Erroneous entry is not accepted during the very time of input. To check these errors we have pressed wrong keys spontaneously and trying to trap and to check that if they lie in the acceptable range. If they are not acceptable in specified range the error message regarding particular error splashes on the screen. This strategy for whole activity is used as follows: To stop alphanumeric entry where only numbers are required. To restrict the length of an entry for a particular field so that it that input is
consistent with the data structure and also lies in the acceptable range. 3.2.7.3. Second level of testing: Values are accepted as the user enters them and then checked for validity. While making entries in a form, if the user tries to skip a field that cannot hold a null value an appropriate message is displayed conveying to the user that data must be provided. When possible lists are provided to see the valid choice for the field. Once a value has been entered into a field, the cursor moves to the next field only after ensuring that the value entered in the current field is valid.
Page 13
3.2.8 System implementation: In this section, we will be discussing the plan, which will be adopted while implementation of the software in any organization. Implementation is the process of having systems personnel check out and put new equipment into use, train users, install the new application and construct any files of data needed to use it. Depending on the size of the organization that will be involved in using the application and the risk associated with its use, systems developers may choose to test the operation in only one area of the department, or with only one or two persons. Since organization systems are the business environment undergoes continual change, the information systems should keep pace. In this sense, implementation is an ongoing process. The description of the implementation plan in the department is as follows:In conversion from manual to computerized, the objective is to put the tested system into operation while holding cost, risks and personal irritation to a minimum. It involves creating: 1. Computer compatible files 2. Training operating staff 3. Installing terminals and hardware A critical aspect of conversion is not disrupting the functioning of organization. Conversion should be existing, because it is the last step before the candidate system begins to show results. Unfortunately the results of conversions have been chaotic and traumatic for many firms. Unforeseen difficulties crop up as the system breaks down, data files are damaged and tempers grow short. The training package is frequently not complete and people are trying to figure out what to do. Much of these stems from poor planning or no planning at all. Therefore to avoid such problems we will be using the parallel run approach. The basic steps involve in the conversion are as follows: Conversion begins with a review of project plan, the system test documentation and the implementation plan. The conversion portion of implementation plan is finalized and approved. Files are converted.
Page 14
Parallel processing between the existing and new system is initiated. Results of computer runs and operations for the new system are logged on a special form. Assuming no problem, parallel processing is discontinued. Implementation results are documented for reference. Conversion is completed. Plans for the post implementation review are prepared. Following the review, the new system is officially operational.
The reason behind the use of this approach is that the software has been prepared and tested on a standalone system. So, this software will be used along with the manual system in the organization for sometimes to test its functioning under real life conditions. If there will be any problem with the software, then necessary changes will be made in the software and then it will be implemented for use. However, if there is no problem experienced by the users, then the manual system will be discontinued for further use and the department will use this software alone. 3.2.8.1. Pre Implementation Review: Pre implementation review means to check the system that whether it is working properly or not before the use of the system that is system is tested with all test cases before its implementation. If it works properly with all the test cases then only the system is implemented otherwise some amendments have to be made in the system and the system is checked again. There are many methods to perform pre implementation review. They are as under: Parallel system Pilot approach Phase in methods
All these approaches are followed to find out that whether the system will work out properly after it is implemented. Once these approaches satisfy the users then only the system is implemented in the department and is used by the users to perform their tasks. In this system we have adopted the parallel run approach to find out that whether the system is giving proper result or not and we had come to the result that the system is performing all the task very efficiently and in very less time compared to the
IT DEPARTMENT, SRMGPC, Lucknow Page 15
time taken when the work is done manually. So after the satisfaction of ourselves and the user implementation of the system is done. 3.2.8.2. Post Implementation Review: After the system is implemented and conversion is completed, a review of the system is usually conducted by the users and analysts alike. Not only is this a normal practice, but it should be a formal process to determine how well the system is working, how it has been accepted, and whether adjustments are needed. The review is all important to gather information for the maintenance of the system. Since no system is really ever complete, it will be maintained as changes are required because of internal developments, such as new users or new activities, and external developments, such as new legal requirements, new standards, or competition. The post implementation review provides the first source of information for maintenance requirements. The most fundamental concern during post implementation review is determining whether the system has met its objective; that is, analysts want to know if the performance level of users has improved and if the system is producing the result intended. In general, the data collection methods of questionnaire, interview, observation, sampling, and record inspection are most useful for collecting details about the new system. These review methods emphasize the importance of collecting both quantitative and subjective data to determine the suitability of the system. There is no substitute for effective review. In this project we have done the post implementation review by inspecting the records as well as by interviewing the users of the system and at last find that this system is capable of performing all the work for which the software is made in very proper way. No information is lost by using this software and the time is also reduced to complete a task compared to the time spend when the work is done manually.
Page 16
Page 17
4.2. Hardware :
Number 1. 2. 3. 4. Description Processor RAM HDD Monitor Type Pentium III or higher 1GB 100gb SVGA/VGA with resolution 1024 by 768 pixels Table 4.1(Hardware specification)
4.3. Software :
Number 1. Description Windows 2000 /XP with ms-office Microsoft Visual Studio Microsoft Sql sever 2005 Table 4.2(software specification) Category Operating System
2. 3.
Page 19
5.2. Design Review Project Overview Requirement Definition Data Analysis Software Functional Design Create Functional Specification Design Review Functional Specification Develop Initial Prototype Sample Review Project Specification Aesthetics Design Specification Specification Change Control/ Acceptance Check Create Final Project Specification Design Review Final Project Specification Design Project Design Completion
Page 20
5.3. Preparation Specification Conformance/ Acceptance Check Code Modifications Integration/ Data Testing Final Code Modifications Code Completion Change Control Help/ Documentation Specification Help/ Documentation Production
5.4. Development Development Division Of Work Coding Initial Debugging Report Writing Aesthetics Design
5.5. Implementation Beta Version User Training Beta Version Deployment Pre Implementation Modifications Software Completion System Manager Training Technical Environment Deployment User Training Final Data Conversion/ Data Preparation Application Integration/ Data Loading Parallel Implementation
5.6. Support Post Implementation Review Future Requirement Planning/ Change Control Technical Support Routine Service And Maintenance Future Development
Page 21
Requirement Analysis
Specification
Designing
Coding
Testing &validation
validation
Operation Maintenance and
Figure 4.1 To solve actual problems in an industry setting, a software engineering or a team of engineers must incorporate a development strategy that encompasses the process, method, and tools layers. This strategy is often referred to as a process model or a software engineering paradigm. A process model or a software engineering is chosen based on the nature of the project application, the method and tools to be used, and the controls and deliverables that are required. There are so many software paradigms some of these are: Liner sequential model (water fall model). Prototyping model. The RAD model. Incremental model This project is built using the incremental model.
IT DEPARTMENT, SRMGPC, Lucknow Page 22
System/information engineering and modeling: Because software is always part of larger system (or business), work begins by establishing requirements for all system element and then allocating some subset of these requirements to software. This system view is essential when software must interact with other elements such as hardware, people, and databases. System engineering and analysis encompass requirements gathering at the system level with a small amount of to level design and analysis. Information engineering encompasses requirement gathering at the strategic business level and at business area level. Software requirements analysis:The requirement gathering process is intensified and focused specifically on software engineer (analyst) must understand the information domain for the software, as well as required function, behavior, performance, and interface. Requirements for both the system and the software are documented with the customer.
Design: Software design is actually a multi step process that focuses on four distinct attributes of a program: data structure, software architecture, Interface representations, and procedural detail. The design process translates requirements into a representation of the software that can be assessed for quality before coding begins. Like requirements, the design is documented and becomes and becomes a part of the software configuration. Testing: Once code has been generated, program testing begins. The testing process focuses on the logical internals of the software, ensuring that all statement have tested, and on the
Page 23
functional externals; that is conducting tests to uncover errors and ensure that define input will produce actual result that agree with required result. Support: Software will undoubtedly undergo changes after it is delivered to the customer. Changes will occur because errors have been encountered, because the software the software must be adopted to accommodate changes in its external environment, or because the customer require functional or performance enhancements. Software support/maintains reapplies each of the proceeding phases to an existing rather a new one. 5.7. Approach for software development: In general there are three approaches to software development life cycle namely: 5.7.1. Sequential Approach In this approach jumping to a later phase or coming to a previous phase is not allowed. 5.7.2. Iterative Approach In an iterative approach, if there is sufficient reason to do so, one may return to previously completed step, introduce a change, and then propagate the effects of that change forward in the life cycle.
5.7.3. Recursive Approach A recursive approach is that where the entire approach may be reapplied to the end products of the approach. This approach is handy in the prototype model.
We have used the iterative approach here as there were many steps that needed modification and improvements.
Page 24
6. IMPLEMENTATION
6.1. Choice of platform used:
6.1.1.Windows as operating system:At the present windows is the popular operating system available which supports graphical user interface and is user friendly also.
6.1.2. ASP.NET as front end:ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites, web applications and web services. It was first released in January 2002 with version 1.0 of the .NET Framework, and is the successor to Microsoft's Active Server Pages (ASP) technology. ASP.NET is built on the Common Language Runtime (CLR), allowing programmers to write ASP.NET code using any supported .NET language.
ASP.NET aims for performance benefits over other script-based technologies (including Classic ASP) by compiling the server-side code to one or more DLL files on the web server. This compilation happens automatically the first time a page is requested (which means the developer need not perform a separate compilation step for pages). This feature provides the ease of development offered by scripting languages with the performance benefits of a compiled binary. However, the compilation might cause a noticeable but short delay to the web user when the newly-edited page is first requested from the web server, but won't again unless the page requested is updated further. The ASPX and other resource files are placed in a virtual host on an Internet Information Services server (or other compatible ASP.NET servers; see Other Implementations, below). The first time a client requests a page, the .NET framework parses and compiles the file(s) into a .NET assembly and sends the response; subsequent requests are served from the DLL files. By default ASP.NET will compile the entire site in batches of 1000
IT DEPARTMENT, SRMGPC, Lucknow Page 25
files upon first request. If the compilation delay is causing problems, the batch size or the compilation strategy may be tweaked. Developers can also choose to pre-compile their code before deployment, eliminating the need for just-in-time compilation in a production environment. This also eliminates the need of having the source code on the web server.
The ability to write ASP.NET applications in the following programming languages: VB.NET, C#, Jscript.NET.
Forms support a large variety of server controls and are available. You can also write your own user or server controls.
ASP.NET pages are compiled instead of interpreted like classic ASP: this can dramatically increase Web site performance.
Session variables will no longer be lost when a Web site is restarted or even if the server is restarted. This means improved reliability for your Web site.
ASP.NET Mobile Internet Toolkit allows you to target cell phones, PDAs and other types of mobile devices easily. Currently, over 80 mobile devices are supported with just one code base. Based on the requesting device, ASP.NET automatically generates the appropriate WAP/WML, HTML or iMode code.
6.2. SQL SERVER AS BACK END: Microsoft SQL Server is a relational model database server produced by Microsoft. Its primary query languages are T-SQL and ANSI SQL. Microsoft Visual Studio includes native support for data programming with Microsoft SQL Server. It can be used to write and debug code to be executed by SQL CLR. It also
Page 26
includes a data designer that can be used to graphically create, view or edit database schemas. Queries can be created either visually or using code. SSMS 2008 onwards, provides intellisense for SQL queries as well.
6.2.1. SERVICES:
SQL Server also includes an assortment of add-on services. While these are not essential for the operation of the database system, they provide value added services on top of the core database management system. These services either run as a part of some SQL Server component or out-of-process as Windows Service and presents their own API to control and interact with them. 1. Service Broker:Used inside an instance, it is used to provide an asynchronous programming environment. For cross instance applications, Service Broker communicates The Service Broker, which runs as a part of the database engine, provides a reliable messaging and message queuing platform for SQL Server applications over TCP/IP and allows the different components to be synchronized together, via exchange of messages. 2. Replication Services:SQL Server Replication Services are used by SQL Server to replicate and synchronize database objects, either in entirety or a subset of the objects present, across replication agents, which might be other database servers across the network, or database caches on the client side. Replication follows a publisher/subscriber model, i.e., the changes are sent out by one database server ("publisher") and are received by others ("subscribers"). SQL Server supports three different types of replication:
3. Transaction replication:Each transaction made to the publisher database (master database) is synced out to subscribers, who update their databases with the transaction. Transactional replication synchronizes databases in near real time.
Page 27
4. Merge replication:Changes made at both the publisher and subscriber databases are tracked, and periodically the changes are synchronized bi-directionally between the publisher and the subscribers. If the same data has been modified differently in both the publisher and the subscriber databases, synchronization will result in a conflict which has to be resolved either manually or by using pre-defined policies. Rowguid needs to be configured on a column if merge replication is configured. 5. Snapshot replication:Snapshot replication published a copy of the entire database (the then-snapshot of the data) and replicates out to the subscribers. Further changes to the snapshot are not tracked.
6. Analysis Services:Server Analysis Services adds OLAP and data mining capabilities for SQL Server databases. The OLAP engine supports MOLAP, ROLAP and HOLAP storage modes for data. Analysis Services supports the XML for Analysis standard as the underlying communication protocol. The cube data can be accessed using MDX queries. Data mining specific functionality is exposed via the DMX query language. Analysis Services includes various algorithms - Decision trees, clustering algorithm, Naive Bayes algorithm, time series analysis, sequence clustering algorithm, linear and
logistic regression analysis, and neural networks - for use in data mining. 7. Reporting Services:Server Reporting Services is a report generation environment for data gathered from SQL Server databases. It is administered via a web interface. Reporting services features a web services interface to support the development of custom reporting applications. Reports are created as RDL files. Reports can be designed using recent versions of Microsoft Visual Studio (Visual Studio.NET 2003, 2005, and 2008) with Business Intelligence Development Studio, installed or with the included Report Builder. Once created, RDL files can be rendered in a variety of forma
IT DEPARTMENT, SRMGPC, Lucknow Page 28
Ts including Excel, PDF, CSV, XML, TIFF (and other image formats), and HTML Web Archive. 8. Notification Services:Originally introduced as a post-release add-on for SQL Server 2000, Notification Services was bundled as part of the Microsoft SQL Server platform for the first and only time with SQL Server 2005. with Sql Server 2005, SQL Server Notification Services is a mechanism for generating data-driven notifications, which are sent to Notification Services subscribers. A subscriber registers for a specific event or transaction (which is registered on the database server as a trigger); when the event occurs, Notification Services can use one of three methods to send a message to the subscriber informing about the occurrence of the event. These methods include SMTP, SOAP, or by writing to a file in the file-system. Notification Services was discontinued by Microsoft with the release of SQL Server 2008 in August 2008, and is no longer an officially supported component of the SQL Server database platform. 9. Integration Services:SQL Server Integration Services is used to integrate data from different data sources. It is used for the ETL capabilities for SQL Server for data warehousing needs. Integration Services includes GUI tools to build data extraction workflows integration various functionality such as extracting data from various sources, querying data, transforming data including aggregating, duplication and merging data, and then loading the transformed data onto other sources, or sending e-mails detailing the status of the operation as defined by the user.
Page 29
SQL Server Full Text Search service is a specialized indexing and querying service for unstructured text stored in SQL Server databases. The full text search index can be created on any column with character based text data. It allows for words to be searched for in the text columns. While it can be performed with the SQL LIKE operator, using SQL Server Full Text Search service can be more efficient. Full Text Search (FTS) allows for inexact matching of the source string, indicated by a Rank value which can range from 0 to 1000 - a higher rank means a more accurate match. It also allows linguistic matching ("inflectional search"), i.e., linguistic variants of a word (such as a verb in a different tense) will also be a match for a given word (but with a lower rank than an exact match). Proximity searches are also supported, i.e., if the words searched for do not occur in the sequence they are specified in the query but are near each other, they are also considered a match. T-SQL exposes special operators that can be used to access the FTS capabilities. The Full Text Search engine is divided into two processes - the Filter Daemon process (msftefd.exe) and the Search process (msftesql.exe). These processes interact with the SQL Server. The Search process includes the indexer (that creates the full text indexes) and the full text query processor. The indexer scans through text columns in the database. It can also index through binary columns, and use iFilters to extract meaningful text from the binary blob (for example, when a Microsoft Word document is stored as an
IT DEPARTMENT, SRMGPC, Lucknow Page 30
unstructured binary file in a database). The iFilters are hosted by the Filter Daemon process. Once the text is extracted, the Filter Daemon process breaks it up into a sequence of words and hands it over to the indexer. The indexer filters out noise words, i.e., words like A, And etc., which occur frequently and are not useful for search. With the remaining words, an inverted index is created, associating each word with the columns they were found in. SQL Server itself includes a Gatherer component that monitors changes to tables and invokes the indexer in case of updates. When a full text query is received by the SQL Server query processor, it is handed over to the FTS query processor in the Search process. The FTS query processor breaks up the query into the constituent words, filters out the noise words, and uses an inbuilt thesaurus to find out the linguistic variants for each word. The words are then queried against the inverted index and a rank of their accurateness is computed. The results are returned to the client via the SQL Server process. 6.2.2. Security:A privilege and password system that is very flexible and secure, and that allows hostbased verification. Passwords are secure because all password traffic is encrypted when you connect to a server. 6.2.3.Compatibility:1.
Microsoft SQL Server 2008 R2 Management Studio (including the Express edition) is backwards compatible with SQL Server 2000. The Management Studio only shows options based on the version of SQL Server you connect to. For example, when connecting the 2008 R2 edition of Management Studio to SQL Server 2000 to manage a database, the "Change Tracking" option is missing. When connecting the 2008 R2 edition of Management Studio to SQL Server 2008 R2, the "Change Tracking" option appears in the list when managing a database.
2.
Page 31
Use case Diagram: This overall use case diagram depicts the various functions users
can perform.
Page 32
Table 5.2
Table 5.3
Page 33
Table 5.4
Table 5.5
IT DEPARTMENT, SRMGPC, Lucknow Page 34
6.5.2.)Registration: In our project for getting its services you have to register
first then only you can get its services. Without registration you can not use its services .
6.5.3.)Automatic Mail & SMS: we are providing automatic mail and SMS on
train delay only to registered users. They will get the detail of train delay at every step.
6.5.4.)Admin: There is admin page on which only admin can edit,delete and
modify train detail and train status. No other can make changes in train status.
6.5.5.)Station Master: Station master will enter train detail including its running
time and delay time and stoppage details.
Page 35
Functionality requirements gathering assembling a list of the functionality required by the system to accomplish the goals of the project and the potential needs of the users.
User analysis analysis of the potential users of the system either through discussion with people who work with the users and/or the potential users themselves. Typical questions involve:
o o
What would the user want the system to do? How would the system fit in with the user's normal workflow or daily activities?
How technically savvy is the user and what similar systems does the user already use?
Page 36
Information architecture development of the process and/or information flow of the system (i.e. for phone tree systems, this would be an option tree flowchart and for web sites this would be a site flow that shows the hierarchy of the pages).
Prototyping development of wireframes, either in the form of paper prototypes or simple interactive screens. These prototypes are stripped of all look & feel elements and most content in order to concentrate on the interface.
Usability testing testing of the prototypes on an actual useroften using a technique called think aloud protocol where you ask the user to talk about their thoughts during the experience.
Graphic Interface design actual look & feel design of the final graphical user interface (GUI). It may be based on the findings developed during the usability testing if usability is unpredictable, or based on communication objectives and styles that would appeal to the user. In rare cases, the graphics may drive the prototyping, depending on the importance of visual form versus function. If the interface requires multiple skins, there may be multiple interface designs for one control panel, functional feature or widget. This phase is often a collaborative effort between a graphic designer and a user interface designer, or handled by one who is proficient in both disciplines.
User interface design requires a good understanding of user needs. The various phases of user interface design are:
Page 37
Figure 4.2
Suitability for the task: the dialogue is suitable for a task when it supports the user in the effective and efficient completion of the task.
Self-descriptiveness: the dialogue is self-descriptive when each dialogue step is immediately comprehensible through feedback from the system or is explained to the user on request.
Controllability: the dialogue is controllable when the user is able to initiate and control the direction and pace of the interaction until the point at which the goal has been met.
Page 38
Conformity with user expectations: the dialogue conforms with user expectations when it is consistent and corresponds to the user characteristics, such as task knowledge, education, experience, and to commonly accepted conventions.
Error tolerance: the dialogue is error tolerant if despite evident errors in input, the intended result may be achieved with either no or minimal action by the user.
Suitability for individualization: the dialogue is capable of individualization when the interface software can be modified to suit the task needs, individual preferences, and skills of the user.
Suitability for learning: the dialogue is suitable for learning when it supports and guides the user in learning to use the system.
The concept of usability is defined in Part 11 of the ISO 9241 standard by effectiveness, efficiency, and satisfaction of the user. Part 11 gives the following definition of usability:
Usability is measured by the extent to which the intended goals of use of the overall system are achieved (effectiveness).
The resources that have to be expended to achieve the intended goals (efficiency). The extent to which the user finds the overall system acceptable (satisfaction).
Effectiveness, efficiency, and satisfaction can be seen as quality factors of usability. To evaluate these factors, they need to be decomposed into sub-factors, and finally, into usability measures. The information presentation is described in Part 12 of the ISO 9241 standard for the organization of information (arrangement, alignment, grouping, labels, location), for the display of graphical objects, and for the coding of information (abbreviation, color, size, shape, visual cues) by seven attributes. The "attributes of presented information" represent the static aspects of the interface and can be generally regarded as the "look" of the interface. The attributes are detailed in the recommendations given in the standard. Each of the recommendations supports one or more of the seven attributes. The seven presentation attributes are:
Discriminability: the displayed information can be distinguished accurately. Conciseness: users are not overloaded with extraneous information. Consistency: a unique design, conformity with users expectation. Detectability: the users attention is directed towards information required. Legibility: information is easy to read. Comprehensibility: the meaning is clearly understandable, unambiguous, interpretable, and recognizable.
The user guidance in Part 13 of the ISO 9241 standard describes that the user guidance information should be readily distinguishable from other displayed information and should be specific for the current context of use. User guidance can be given by the following five means:
Prompts indicating explicitly (specific prompts) or implicitly (generic prompts) that the system is available for input. Feedback informing about the users input timely, perceptible, and non-intrusive. Status information indicating the continuing state of the application, the systems hardware and software components, and the users activities.
Error management including error prevention, error correction, user support for error management, and error messages.
On-line help for system-initiated and user initiated requests with specific information for the current context of use.
Here we have tried to identify all these features and include them in the user interface design to make the user interface attractive, usable and error tolerant.
Page 40
Figure 4.3
Page 41
Login form:
Figure 4.4
Page 42
Change Password:
Figure 4.5
Page 43
Contact Us:
Figure 4.6
Page 44
AboutUs:
Figure 5.1
Page 45
Figure 5.2
Home Page:
Figure 5.3
Page 46
Figure 5.4
IT DEPARTMENT, SRMGPC, Lucknow Page 47
Figure 5.5
IT DEPARTMENT, SRMGPC, Lucknow Page 48
Station Master:
Figure 5.6
Admin Page:
Figure 6.1
Page 49
6.9 Coding:
Coding For Registration Page Registration.aspx
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Register.aspx.cs" Inherits="Default3" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> <style type="text/css"> .style17 { width: 100%; } .style18 { width: 93px; } .style19 { width: 338px; } .style20 { width: 93px; font-weight: bold;
Page 50
Page 51
Page 52
Page 53
Page 54
Page 55
<asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" ControlToValidate="TextBox8" ErrorMessage="Enter Mobile No." ValidationGroup="a"></asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="TextBox8" ErrorMessage="enter 10 digit mobile no." ValidationExpression="\d{10}"></asp:RegularExpressionValidator> </td> </tr> <tr> <td class="style20"> E-mail</td> <td class="style19"> <asp:TextBox ID="TextBox10" runat="server" Width="200px" ValidationGroup="a"></asp:TextBox> </td> <td> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox10" ErrorMessage="Enter valid E-mail" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ValidationGroup="a"></asp:RegularExpressionValidator>
Page 56
Page 57
Page 58
Registration.cs
using System; using System.Collections; using System.Configuration; using System.Data; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Data.Sql; using System.Data.SqlClient;
public partial class Default3 : System.Web.UI.Page { SqlDataAdapter sda = new SqlDataAdapter(); SqlConnection con = new SqlConnection();
Page 59
//FormsAuthentication.Decrypt("p1");
sda.InsertCommand = new SqlCommand(); sda.InsertCommand.CommandText = "insert into Customer values ('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3 .Text +"', '"+TextBox4 .Text+"','" +TextBox5.Text +"', '"+p1+"', '"+p2+"', '"+TextBox8.Text+"', '"+TextBox10 .Text+"','"+TextBox9.Text +"','"+ RadioButtonList1.SelectedValue + "')"; sda.InsertCommand.Connection = con; sda.InsertCommand.ExecuteNonQuery();
Page 60
if (Captcha1.Validate(code)) { Literal1.Text = "successful registration"; Response.Redirect("Regsucess.aspx"); // Literal1.Text = "Correct image verification"; } else { Literal1.Text = "Incorrect image verification"; TextBox11.Text = null; } con.Close(); //Session["username"] = TextBox1.Text; //Response.Redirect("Regsucess.aspx");
} } protected void LinkButton1_Click(object sender, EventArgs e) { Calendar1.Visible = true; } protected void Calendar1_SelectionChanged(object sender, EventArgs e) { TextBox5.Text = Calendar1.SelectedDate.ToShortDateString();
Page 61
} }
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> <style type="text/css"> .style12 { font-weight: bold; background-color: #FF99FF; } </style> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <div style="height: 100px"> <span class="style12"> <marquee>WELCOME TO RIS.</marquee> <br /> <br />
Page 62
Page 63
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> <style type="text/css"> .style17 { width: 100%; } .style18 { width: 151px; } .style19 { width: 234px; } .style20 { width: 151px; font-weight: bold; } </style> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <p> <br /> </p> <p style="height: 21px">
Page 64
&nb sp; & nbsp; <asp:LinkButton ID="LinkButton2" runat="server" PostBackUrl="~/Register.aspx" OnClick="LinkButton2_Click">Register For New User</asp:LinkButton> </p> <table class="style17"> <tr> <td class="style20"> User Name</td> <td class="style19"> <asp:TextBox ID="TextBox1" runat="server" PlaceHolder="User Name" ValidationGroup="a" Width="144px"></asp:TextBox> </td> <td> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="Enter user id" ValidationGroup="a"></asp:RequiredFieldValidator> </td> </tr> <tr> <td class="style20"> Password</td> <td class="style19"> <asp:TextBox ID="TextBox2" runat="server" Placeholder="Password" TextMode="Password" Width="148px" ValidationGroup="a"></asp:TextBox> </td> <td> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
Page 65
Page 66
Login.cs
using System; using System.Collections; using System.Configuration; using System.Data; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Data.SqlClient;
public partial class Login : System.Web.UI.Page { SqlDataAdapter sda = new SqlDataAdapter(); SqlConnection con = new SqlConnection(); DataSet ds = new DataSet(); SqlDataReader dr; SqlCommand cmd = new SqlCommand(); int flag;
Page 67
con.Open(); ds = new DataSet(); sda.SelectCommand = new SqlCommand(); sda.SelectCommand.CommandText = "select * from Customer where Uname='"+TextBox1 .Text+"' and Pass='"+s+"'"; sda.SelectCommand.Connection = con; //sda.SelectCommand.ExecuteReader();
Page 68
dr.Close(); con.Close(); } }
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> <style type="text/css"> .style17 { font-size: large; font-weight: bold; color: #FF6600; font-family: "Times New Roman", Times, serif; }
Page 69
Page 70
Page 71
Page 72
Password.cs
using System; using System.Collections; using System.Configuration; using System.Data; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Data.SqlClient;
Page 73
protected void Page_Load(object sender, EventArgs e) { con = new SqlConnection("Data Source=.;Initial Catalog=RailwayIntel;Integrated security=true"); cmd.Connection = con; adp.SelectCommand = cmd; } protected void Button1_Click(object sender, EventArgs e) { con.Open(); string p1 = FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox2.Text, "MD5"); string p2 = FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox3.ToString(), "MD5"); cmd.CommandText = "select * from Customer where Uname='" +TextBox1. Text + "'and Pass='" +p1+ "'"; adp.Fill(ds, "rs"); if (ds.Tables["rs"].Rows.Count == 0) { //Label1.Visible = true; Literal1.Text = "INVALID USER";
Page 74
cmd.CommandText = "update Customer set Pass='" + p2 + "'where Uname='" + TextBox1.Text + "' and Pass='" + p1 + "'"; cmd.ExecuteNonQuery(); con.Close();
Response.Redirect("passwordsend.aspx"); }
} }
Page 75
Page 76
SelectCommand="SELECT [station] FROM [stoppage] WHERE ([Trainno] = @Trainno)" onselecting="SqlDataSource1_Selecting"> <SelectParameters> <asp:ControlParameter ControlID="DropDownList3" Name="Trainno" PropertyName="SelectedValue" Type="String" /> </SelectParameters>
Page 77
Page 78
Page 79
Page 80
Page 81
Page 82
Page 83
Page 84
Station Master.cs
IT DEPARTMENT, SRMGPC, Lucknow Page 85
public partial class StationMaster1 : System.Web.UI.Page { SqlConnection con = new SqlConnection(); SqlCommand cmd = new SqlCommand(); SqlCommandBuilder cd = new SqlCommandBuilder(); SqlDataAdapter adp = new SqlDataAdapter(); DataSet ds = new DataSet(); SqlDataReader dr;
Page 86
adp.SelectCommand = new SqlCommand(); adp.SelectCommand . CommandText ="select * from Customer where Uname = '"+Session ["Uname"].ToString ()+"'"; adp.SelectCommand.Connection = con; dr = adp.SelectCommand.ExecuteReader ();
string str_from_address = "mmamplitude413@gmail.com"; string str_name = "Railway Intelligence System"; string str_to_address = Literal1 .Text ;
Page 87
dr.Close(); cmd.ExecuteNonQuery();
Page 88
protected void LinkButton1_Click(object sender, EventArgs e) { Calendar1.Visible = true; } protected void Button2_Click(object sender, EventArgs e) { Response.Redirect("Logout.aspx"); } protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e) {
} }
Page 89
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <p>
&nb sp; & nbsp;   ; &n bsp; <asp:Image ID="Image3" runat="server" ImageUrl="~/IMAGES/te.gif" /> <br /> <table style="width: 522px; height: 79px"> <tr> <td style="width: 163px"> <asp:TextBox ID="TextBox1" runat="server" Width="136px"></asp:TextBox> </td> <td style="width: 52px"> </td> <td style="width: 61px"> </td> </tr> <tr> <td style="width: 163px"> <asp:TextBox ID="TextBox2" runat="server" Width="133px"></asp:TextBox> </td> <td style="width: 52px">
Page 90
SelectCommand="SELECT * FROM [TrainInfo] WHERE (([From] = @From) AND ([To] = @To))" DeleteCommand="DELETE FROM [TrainInfo] WHERE [Trainno] = @Trainno" InsertCommand="INSERT INTO [TrainInfo] ([Trainno], [Trainname], [Type], [From], [Dep], [To], [Arr], [TravelTime], [DepDays], [Classes], [Distance], [AvgDelay]) VALUES (@Trainno, @Trainname, @Type, @From, @Dep, @To, @Arr, @TravelTime, @DepDays, @Classes, @Distance, @AvgDelay)" UpdateCommand="UPDATE [TrainInfo] SET [Trainname] = @Trainname, [Type] = @Type, [From] = @From, [Dep] = @Dep, [To] = @To, [Arr] = @Arr, [TravelTime] = @TravelTime, [DepDays] = @DepDays, [Classes] = @Classes, [Distance] = @Distance, [AvgDelay] = @AvgDelay WHERE [Trainno] = @Trainno">
Page 91
Page 92
Page 93
Page 94
Train.cs
using System; using System.Collections; using System.Configuration; using System.Data; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Data.SqlClient;
public partial class Minimumroute : System.Web.UI.Page { SqlDataAdapter sda = new SqlDataAdapter(); SqlConnection con = new SqlConnection(); protected void Page_Load(object sender, EventArgs e) {
Page 95
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { string s1 = Session["t1"].ToString(); string s2 = Session["t2"].ToString(); Literal1.Text = GridView1.SelectedIndex.ToString ();
if (s1 == "LKO" && s2 == "GKP") { if (Literal1.Text == "0") Response.Redirect("bhiarsmpkar.htm"); else if (Literal1.Text == "1") Response.Redirect("lkointer.htm"); else if (Literal1.Text == "2") Response.Redirect("newdeljali.htm"); else if (Literal1.Text == "3") Response.Redirect("godam.htm");
} else
Page 96
} else if (s1 == "LKO" && s2 == "DLI") { if (Literal1.Text == "0") Response.Redirect("faraka.htm"); else Response.Redirect("sadbhansa.htm"); } else if(s1 == "LKO" && s2 =="LTT") { if (Literal1.Text == "0") Response.Redirect("2533.aspx"); else if (Literal1.Text == "1") Response.Redirect("2108.aspx");
Page 97
} protected void Button1_Click1(object sender, EventArgs e) { Session["t1"] = TextBox1.Text.ToString(); Session["t2"] = TextBox2.Text.ToString(); string s1 = Session["t1"].ToString (); string s2 = Session["t2"].ToString ();
} }
Page 98
Page 99
Page 100
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="2533.aspx.cs" Inherits="_2533" Title="Untitled Page" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <table style="width: 657px; height: 150px"> <tr> <td style="width: 100px"> <asp:Image ID="Image1" runat="server" ImageUrl="~/IMAGES/puspak.bmp" /></td> <td style="width: 100px"> <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False" CellPadding="4" DataSourceID="SqlDataSource1" ForeColor="#333333" GridLines="None"> <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> <Columns> <asp:BoundField DataField="station" HeaderText="station" SortExpression="station" /> <asp:BoundField DataField="date" HeaderText="date" SortExpression="date" /> <asp:BoundField DataField="delay" HeaderText="delay" SortExpression="delay" /> <asp:BoundField DataField="arr" HeaderText="arr" SortExpression="arr" /> <asp:BoundField DataField="dep" HeaderText="dep" SortExpression="dep" /> </Columns> <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <EditRowStyle BackColor="#999999" />
Page 101
Page 102
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="2108.aspx.cs" Inherits="_2108" Title="Untitled Page" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <div style="z-index: 101; left: 100px; width: 100px; position: absolute; top: 100px; height: 100px"> </div> <table style="width: 737px; height: 191px"> <tr> <td style="width: 63px"> <asp:Image ID="Image1" runat="server" ImageUrl="~/IMAGES/lkoltt.bmp" /></td> <td style="width: 100px"> <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False" BackColor="White" BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" CellPadding="4" DataSourceID="SqlDataSource1"> <RowStyle BackColor="White" ForeColor="#003399" /> <Columns> <asp:BoundField DataField="station" HeaderText="station" SortExpression="station" /> <asp:BoundField DataField="date" HeaderText="date" SortExpression="date" /> <asp:BoundField DataField="delay" HeaderText="delay" SortExpression="delay" /> <asp:BoundField DataField="arr" HeaderText="arr" SortExpression="arr" /> <asp:BoundField DataField="dep" HeaderText="dep" SortExpression="dep" />
Page 103
Page 104
Page 105
Page 106
Page 107
Page 108
Page 109
Page 110
Page 111
Page 112
Page 113
Page 114
Page 115
Page 116
Page 117
Page 118
Page 119
Page 120
Page 121
Page 122
Page 123
Page 124
</body></html>
Page 125
7.TESTING
Software testing is a critical element of software quality assurance and represent the ultimate review of specification, design, coding. The purpose of product testing is to verify and validate the various work products viz. units, integrated unit, final product to ensure that they meet their requirements.
7.1. Testing Objectives:-Basically, testing is done for the following purposes: Testing is a process of executing a program with intend of finding an error. A good test case is one that has a high probability of finding a yet undiscovered error. A successful test case is one that uncovers a yet undiscovered error.
Our objective is to design test cases that systematically uncover different classes of errors and do so with a minimum amount of time and effort. This process has two parts:-
Planning: This involves writing and reviewing unit, integration, functional, validation and acceptance test plans. Execution: This involves executing these test plans, measuring, collecting data and verifying if it meets the quality criteria. Data collected is used to make appropriate changes in the plans related to development and testing.
can involve a number of specialist types of test to see if all the functional and nonfunctional requirements have been met. 7.2.1. Objectives of System Test: At a high level, this System Test intends to prove that :
The functionality, delivered by the development team, is as specified by the business in the Business Design Specification Document and the Requirements Documentation.
The software is of high quality; the software will replace/support the intended business functions and achieves the standards required by the company for the development of new systems. 7.2.2. Formal Reviewing:
There will be several formal review points before and during system test. This is a vital element in achieving a quality product. 7.2.2.1. Formal Review Points: 1. Design Documentation 2. Testing Approach 3. Unit Test Plans 4. Unit Test Conditions & Results 5. System Test Conditions 6. System Test Progress 7. Post System Test Review 7.2.3. Testing Scope: Outlined below are the main test types that will be performed for this release. All system test plans and conditions will be developed from the functional specification and the requirements catalogue.
Page 127
Requirements Catalogue Other functional documents produced during the course of the project i.e. resolution to issues/change requests/feedback.
This stage will also include Validation Testing - which is intensive testing of the new Front end fields and screens. Windows GUI Standards; valid, invalid and limit data input; screen & field look and appearance, and overall consistency with the rest of the application. The third stage includes Specific Functional testing - these are low-level tests which aim to test the individual processes and data flows.
Page 128
Exit Criteria The Exit Criteria detailed below must be achieved before the Phase 1 software can be recommended for promotion to Operations Acceptance status. All High Priority errors from System Test must be fixed and tested.
login validation is done using the user id and password of the user. The details entered by the user are authenticated from the database then only the user is authorized to view the account. Here the login id and password are assumed to be confidential to the user. If the id and password provided by user do not match error is generated. 7.9.1. Screen shots Of Validation Form:
Figure 6.2
Page 130
Figure 6.3
Page 131
8.2 Applications:
only be used by Railway. Automatic mail and SMS.
8.3 Limitation:
The system has a few limitations; this is due to constrained time and the fact that only two members were available for the whole project. These limitations have been enumerated as follows: We are not providing reservation facility. We are not providing the auto email and SMS to all user this is only for limited users. The system currently automates only the mail and SMS not whole of project.
Page 132
9. CONCLUSION
The major emphasis of the project was on providing minimum route to user for journey with appropriate time and distance. User will ask for train and our project will give the whole of information according to need. All the registered user will get the train delay information through mail. All above requirements have been successfully fulfilled. Thus a product which is ready for use in the real world scenario has been developed.
Page 133
The future scope includes the following functionalities which are provided by the system or can be easily added to it:
Whole project can be automated in future . Use of advanced tools for finding good way. In future we can provide online reservation facility. In future we can also include intelligent track monitoring. Support large number of user i.e. higher availability. Increase the level and effectiveness of interaction between the various entities.
Page 134
11. APPENDICES
11.1 Appendix A:
11.1.1 List of Figures:
1. Fig 3.1 Incremental model 2. Fig 3.2 Gantt chart 3. Fig 3.3 CPM chart 4. Fig 3.4 Pert chart 5. Fig 4.1 Support(in software paradigm) 6. Fig 4.2 User Interface design
Page 135
11.2 Appendix B:
11.2.1 List of tables:
1. Table 4.1 Hardware configuration 2. Table 4.2 Software configuration 3. Table 5.2 Registration table 4. Table 5.3 Train table 5. Table 5.4 Snapshot of registration table 6. Table 5.5 Snapshot of train table
Page 136
11.3 Reference:
[1] [2] [3] [4] www.indianrail.gov.in www.indianrailwayinfo.com Luzi Anderegg (2000) Prentice Hall , pp 26-34. Nupur Kothari, Dr. Dheeraj Sanghi (2002) Intelligent Railway Information System, IIT Kanpur, pp 8-20. [5] Yun Yusong(2003) The Basic Desores on Intelligent Railway Sichuan University, pp 105-110.
Page 137