Friday, November 8, 2019
Bus Reservation System Essays
Bus Reservation System Essays Bus Reservation System Paper Bus Reservation System Paper A PROJECT REPORT ON BUS RESERVATION SYSTEM Submitted in partial fulfillment for the Award of degree of Post Graduate Diploma In Information Technology (2008-10) Submitted By: BRIJ MOHAN DAMMANI 200852200 Submitted to: Symbiosis Centre for Distance Learning, Pune 411016, Maharashtra, India ACKNOWLEDGEMENT A project like this takes quite a lot of time to do properly. As is often the case, this project owes its existence and certainly its quality to a number of people, whose name does not appear on the cover. Among them is one of the most extra ordinary programmers it has been my pleasure to work with Mr. Ankur Kaushik, who did more than just check the facts by offering thoughtful logic where needed to improve the project as a whole. We also thank to Mr. Sh. Hardayal Singh (H. O. D. -MCA Deptt. Engineering College Bikaner) who deserves credit for helping me done the project and taking care of all the details that most programmers really donââ¬â¢t think about. Errors and confusions are my responsibility, but the quality of the project is to their credit and we can only thank them. We are highly thankful and feel obliged to Milan Travels staff members for nice Co-Operation and valuable suggestions in my project work. We owe my obligation to my friends and other colleagues in the computer field for their co-operation and support. We thank God for being on my side. Contents Chapter 1Introduction Chapter 2 Development model Chapter 3System Study Chapter 4Project Monitoring System Chapter 5System Analysis Chapter 6Operating Environment Chapter 7System Design Chapter 8System Testing Chapter 9System Implementation Chapter 10Conclusion Chapter 11Scope of the Project Introuction In bus reservation system there has been a collection of buses, agent who are booking tickets for customerââ¬â¢s journey which give bus number and departure time of the bus. According to its name it manages the details of all agent, tickets, rental details, and timing details and so on. It also manages the updating of the objects. In the tour detail there is information about bus, who has been taking customers at their destination, it also contain the detailed information about the customer, who has been taken from which bus and at what are the number of members he or she is taking his/her journey. This section also contain the details of booking time of the seat(s) or collecting time of the tickets, this section also contain the booking date and the name of agent which is optional, by which the customer can reserve the seats for his journey In Bus no category it contains the details of buses which are old/new. New buses are added with the details with bus no, from city to the city, type of the bus, rent of a single seat, if the bus has sleeper than the cost of sleeper, if the cabin has the facility for sitting than the cost of cabin seats, tour timings of the new bus has also been stored. How many buses are currently given and available in office? In seats specification, it gives the list of given issued and currently available seats and contain the information about seats like sleeper, cabin etc. The main objective of this project is to provide the better work efficiency, security, accuracy, reliability, feasibility. The error occurred could be reduced to nil and working conditions can be improved. Development model Software Process Model Our project life cycle uses the waterfall model, also known as classic life cycle model or linear sequential model. The Waterfall Model The waterfall model encompasses the following activities: 1. System/information Engineering and Modeling System Engineering and Analysis encompass requirements gathering at the system level with a small amount of Top-level design and analysis. Information Engineering encompasses requirements gathering at the strategic business level and at the business area level. 2. Software requirements analysis Software requirements analysis involves requirements for both the system and the software to be document and reviewed with the customer. . Design Software design is actually a multi-step process that focuses on for distinct attributes of a program: data structure, software architecture, interfaces representation and procedural detail. The design process translates requirements into a representation of the software that can be accessed for quality before coding begins. 4. Code Generation Code-Generation phase translates the design into a machine-readable form. 5. Testing Once code has been generated, program testing begins. The testing focuses on the logical internals of the software, ensuring that all statement have been tested, and on the functional externals; that is, conducting test to uncover errors and ensure that define input will produce actual results that agree with required results. 6. Support Software will undoubtedly undergo change after it is delivered to the customer. Change will occur because errors have been encountered, because the software must be adapted to accommodate changes in its external environment or because the customer requires functional or performance enhancements. System Study Before the project can begin, it becomes necessary to estimate the work to be done, the resource that will be required, and the time that will elapse from start to finish. During making such a plan we visited site many more times. 3. 1 Project planning objectives The objective of software project planning is to provide a framework that enables the management to make reasonable estimates of resources, cost, and schedule. These estimates are made within limited time frame at the beginning of a software project and should be updated regularly as the project progresses. In addition, estimates should attempt to define best case and worst case scenarios so that project outcomes can be bounded. 3. 2 Software Scope The first activity in software project planning is the determination of software scope. Software scope describes the data and control to be processed, function, performance, constraints, interfaces, and reliability. 3. 2. 1 Gathering Information Necessary for Scope The most commonly used technique to bridge communication gap between customer and the software developer to get the communication process started is to conduct a preliminary meeting or interview. When I visited the site we have been introduced to the Manager of the center, there were two other persons out of one was the technical adviser and another one was the cost accountant. Neither of us knows what to ask or say; we were very much worried that what we say will be misinterpreted. We started to asking context-free questions; that is, a set of questions that will lead to a basic understanding of the problem. The first set of context-free questions was like this: What do you want to be done? Who will use this solution? What is wrong with your existing working systems? Is there another source for the solution? Can you show us (or describe) the environment in which the solution will be used? After first round of above asked questions. We revisited the site and asked many more questions considering to final set of questions. Are our questions relevant to the problem that you need to be solved? Are we asking too many questions? Should we be asking you anything else? 3. 2. 2 Feasibility Not everything imaginable is feasible, not even in software. Software feasibility has four dimensions: Technology- is a project technically feasible? Is it within the state of the art? Finance ââ¬â Is it financially feasible? Time- will the project be completed within specified time? Resources- does the organization have the resources needed to succeed? After taking into consideration of above said dimensions, we found it could be feasible for us to develop this project. 3. 3 Software Project Estimation Software cost and effort estimation will never be an exact science. Too may variables- human, technical, environmental, political- can affect the ultimate cost of software and effort applied to develop it. However, software project estimation can be transformed a black art to a series of systematic steps that provide estimates with acceptable risk. To achieve reliable cost and effort estimates, a number of options arise: 1. Delay estimation until late in the project (since, we can achieve 100% accurate estimates after the project is complete! ) 2. Base estimates on similar projects that have already been completed. 3. Use relatively simple decomposition techniques to generate project cost and effort estimates. 4. Use one or more empirical models for software cost and effort estimation. Unfortunately, the first option, however attractive, is not practical. Cost estimates must be provided ââ¬Å"Up frontâ⬠. However, we should recognize that the longer we wait, the more we know, and the more we know, the less likely we are to make serious errors in our estimates. The second option can work reasonably well, if the current project is quite similar to past efforts and other project influences (e. g. , the customer, business conditions, the SEE, deadlines) are equivalent. Unfortunately past experience has not always been a good indicator of future results. The remaining options are viable approaches the software project estimation. Ideally, the techniques noted for each option be applied in tandem; each used as cross check for the other. Decomposition techniques take a ââ¬Å"divide and conquerâ⬠approach to software project estimation. By decomposing a project into major functions and related software engineering activities, cost and effort estimation can be performed in the stepwise fashion. Empirical estimation models can be used to complement decomposition techniques and offer a potentially valuable estimation approach in their own right. A model based on experience (historical data) and takes the form D = f (vi) Where d is one of a number of estimated values (e. g. , effort, cost, project duration and we are selected independent parameters (e. g. , estimated LOC (line of code)). Each of the viable software cost estimation options is only as good as the historical data used to seed the estimate. If no historical data exist, costing rests on a very shaky foundation. Project Monitoring System 4. 1 PERT Chart: Program evaluation and review technique (PERT) and critical path method (CPM) are two project scheduling methods that can be applied to software development. These techniques are driven by following information: Estimates of Effort A decomposition of the product function The selection of the appropriate process model and task set Decomposition of tasks PERT chart for this application software is illustrated in figure 3. 1. The critical Path for this Project is Design, Code generation and Integration and testing. Figure 4. 1 PERT charts for ââ¬Å"Bus Reservation Systemâ⬠. 4. 2 Gantt Chart: Gantt chart which is also known as Timeline chart contains the information like effort, duration, start date, completion date for each task. A timeline chart can be developed for the entire project. Below in figure 4. 2 we have shown the Gantt chart for the project. All project tasks have been listed in the left-hand column. Start: May 17, 2010. Work tasksPlanned startActual startPlanned completeActual CompleteNotes 1. 1Identify needs and benefits Meet with customers Identified needs and constraints Established Product Statement Milestone: Product statement defined 1. 2Defined Desiredoutput/control/input (OCI) Scope modes of interacton Documented (OCI) FTR: reviewed OCI with customer Revised OCI as required Milestone: OCI defined 1. 3Defined the function/behavior Milestone: Data Modeling completed . 4Isolation software elements Coding Reports 1. 5 Integration and Testing Wk1,d1 Wk1,d2 Wk1,d3 Wk1,d3 Wk2,d1 Wk2,d1 Wk3,d3 Wk4,d1 Wk4,d3 Wk5,d1 Wk5,d1 W9,d1 Wk1,d1 Wk1,d2 Wk1,d3 Wk1,d3 Wk5,d2 Wk6,d1 Wk7,d6 W9,d3 Wk1,d2 Wk1,d2 Wk1,d3 Wk1,d3 Wk2,d2 Wk2,d3 Wk3,d5 Wk4,d2 Wk4,d5 Wk1,d2 Wk1,d2 Wk1,d3 Wk1,d3 Wk5,d5 W7,d5 W8,d6 W11,d3 Analysis and design is more time consuming. Finish: Aug 15 , 2010 Figure: 4. 2 Gant chart for the Bus reservation System. Note: Wk1- week1, d1- day1. System Analysis Software requirements analysis is a process of discovery, refinement, modeling, and specification. Requirement analysis proves the software designer with a representation of information, function, and behavior that can be translated to data, architectural interface, and component -level designs. To perform the job properly we need to follow as set of underlying concepts and principles of Analysis. 5. 1 Analysis Principles Over the past two decades, a large number of analysis modeling methods have been developed. Investigators have identified analysis problems and their caused and have developed a variety of modeling notations and corresponding ets of heuristics to overcome them. Each analysis method has a unique point of view. However, all analysis methods are related by a set of operational principles: 1. The information domain of a problem must be represented and understood. 2. The functions that the software is to perform must be defined. 3. The behavior of the software (as a consequence of external events) must be represented. 4. The models that depict information function and behavior must be partitioned in a manner that uncovers detail in layered (or hierarchical) fashion. 5. The analysis process should move from essential information toward implementation detail. By applying these principles, we approach the problem systematically. The information domain is examined so that function may be understood more completely. Models are used so that the characteristics of function and behavior can be communicated in a compact fashion. Partitioning is applied to reduce complexity. Essential and implementation vies of the software are necessary to accommodate the logical constraints imposed any processing requirements and the physical constraints imposed by other system elements. We have tried to takes above said principles to heart so that we could provide an excellent foundation for design. 5. 1. 1 The Information Domain All software applications can be collectively called data processing. Software is built to process data, to transform data from one form to another; that is, to accept input, manipulate it in some way, and produce output. This fundamental statement of objective is true whether we build batch software for a payroll system or real-time embedded software to control fuel flow to an automobile engine. The first operational analysis principle requires an examination of the information domain and the creation of a data model. The information domain contains three different views of the data and control as each is processed by a computer program: (1)information contend and relationships (the data model) (2)information flow, and (3)Information structure. To fully understand the information domain, each of these views should be considered. Information content represents the individual data and control objects that constitute some larger collection of information transformed by the software. For example, the data object, Status declare is a composite of a number of important pieces of data: the aircraftââ¬â¢s name, the aircraftââ¬â¢s model, ground run, no of hour flying and so forth. Therefore, the content of Status declares is defined by the attributes that are needed to create it. Similarly, the content of a control object called System status might be defined by a string of bits. Each bit represents a separate item of information that indicates whether or not a particular device is on-or off-line. Data and control objects can be related to other data and control objects. For example, the date object Status declare has one or more relationships with the objects like total no of flying, period left for the maintenance of aircraft an others. Information flow represents the manner in which date and control change as each moves through a system. Referring to figure 6. 1, input objects are transformed to intermediate information (data and / or control), which is further transformed to output. Along this transformation path, additional information may be introduced from an existing date store ( e. g. , a disk file or memory buffer). The transformations applied to the date are functions or sub functions that a program must perform. Data and control that move between two transformations define the interface for each function. Figure 5. 1 Information flow and transformation. 5. 1. 2 Modeling The second and third operational analysis principles require that we build models of function and behavior. Functional models. Software transforms information, and in order to accomplish this, it must perform at lease three generic functions: Input Processing And output. The functional model begins with a single context level model (i. e. , the name of the software to be built). Over a series of iterations, more and more functional detail is gathered, until a through delineation of all system functionality is represented. Behavioral models. Most software responds to events from the outside world. This stimulus/response characteristic forms the basis of the behavioral model. A computer program always exists in some state- an externally observable mode of behavior (e. g. , waiting, computing, printing, and polling) that is changed only when some even occurs. For example, in our case the project will remain in the wait state until: We click OK command button when first window appears An external event like mouse click cause an interrupt and consequently main window appears by asking the username and password. This external system (providing password and username) signals the project to act in desired manner as per need. A behavioral model creates a representation of the states of the software and the events that cause software to change state. 5. 1. 2 Partitioning (Divide) Problems are often too large and complex to be understood as a whole, for this reason, se tend to partition (divide) such problems into parts that can be easily under stood and establish interfaces between the part so that overall function can be accomplished. The fourth operational analysis principle suggests that the information, functional, and behavioral domains of software can be partitioned. In essence, partitioning decomposes problem intoits constituent parts. Conceptually, we establish a hierarchical representation of function or information and then partition and uppermost element by 1)exposing increasing detail by moving vertically in the hierarchy or (2)Functionally decomposing the problem my moving horizontally in the hierarchy. To issulstate these partitioning approaches let us consider our project ââ¬Å"Bus Reservation Systemâ⬠. Horizontal partitioning and vertical partitioning of Bus Reservation system is shown below. Horizontal partitioning: Bus Reservation Syst em System configurationPassword acceptanceInteract with user During installation, the software (Bus Reservation System) used to program and configure the system. A master password is programmed for getting in to the software system. After this step only user can work in the environments (right cornor naming operation, administration and maintenance) only. Vertical partitioning of Bus Reservation System function: Bus Reservation System Configure systemUsername and Password AcceptanceRejection Interact with userFail Retry Operating Environment 6. 1 Hardware Specification: Server Side: Core 2 Due 2. 4GHz and Above 2 GB of Random Access Memory and Above 160 GB Hard Disk Client Side: Pentium-IV 1. 5MHs and Above 512 MB of Random Access Memory and Above 80 GB Hard Disk Software Specification: Environment: . NET Framework 3. Technologies: ASP. NET, C# Database: MS Access Software: Visual Studio 2008, Notepad ++ OS: Windows server 2003 R2, Windows XP SP2 Browser: IE7, IE8, FF 3. 5 6. 2. 1 Front-end Environment (. NET Framework) The Internet revolution of the late 1990s represented a dramatic shift in the way individuals and organizations communicate with each other. Traditional applications, such as word processors and accounting packages, are modeled as stand-alone applications: they offer users the capability to perform tasks using data stored on the system the application resides and executes on. Most new software, in contrast, is modeled based on a distributed computing model where applications collaborate to provide services and expose functionality to each other. As a result, the primary role of most new software is changing into supporting information exchange (through Web servers and browsers), collaboration (through e-mail and instant messaging), and individual expression (through Web logs, also known as Blogs, and e-zines - Web based magazines). Essentially, the basic role of software is changing from providing discrete functionality to providing services. The . NET Framework represents a unified, object-oriented set of services and libraries that embrace the changing role of new network-centric and network-aware software. In fact, the . NET Framework is the first platform designed from the ground up with the Internet in mind. Microsoft . NET Framework is a software component that is a part of several Microsoft Windows operating systems. It has a large library of pre-coded solutions to common programming problems and manages the execution of programs written specifically for the framework. The . NET Framework is a key Microsoft offering and is intended to be used by most new applications created for the Windows platform. Benefits of the . NET Framework The . NET Framework offers a number of benefits to developers: ? A consistent programming model ? Direct support for security ? Simplified development efforts ? Easy application deployment and maintenance The . NET Class Library is a key component of the . NET Framework - it is sometimes referred to as the Base Class Library (BCL). The . NET Class Library contains hundreds of classes you can use for tasks such as the following: Processing XML Working with data from multiple data sources Debugging your code and working with event logs Working with data streams and files Managing the run-time environment Developing Web services, components, and standard Windows applications Working with application security Working with directory services The functionality that the . NET Class Library provides is available to all . NET language s, resulting in a consistent object model regardless of the programming language developerââ¬â¢s use. Elements of the . NET Framework The . NET Framework consists of three key elements as show in below diagram Components of the . NET Framework ?Common Language Runtime ?. NET Class Library ?Unifying components 1. Common Language Runtime The Common Language Runtime (CLR) is a layer between an application and the operating system it executes on. The CLR simplifies an applications design and reduces the amount of code developers need to write because it provides a variety of execution services that include memory management, thread management, component lifetime management, and default error handling. The CLR is also responsible for compiling code just before it executes. Instead of producing a binary representation of your code, as traditional compilers do, . NET compilers produce a representation of your code in a language common to the . NET Framework: Microsoft Intermediate Language, often referred to as IL. When your code executes for the first time, the CLR invokes a special compiler called a Just In Time (JIT) compiler, Because all . NET languages have the same compiled representation, they all have similar performance characteristics. This means that a program written in Visual Basic . NET can perform as well as the same program written in Visual C++ . NET. 2. NET Class Library The . NET Class Library containing hundreds of classes that model the system and services it provides. To make the . NET Class Library easier to work with and understand, its divided into namespaces. The root namespace of the . NET Class Library is called System, and it contains core classes and data types, such as Int32, Object, Array, and Console. Secondary namespaces reside within the System namespace. Examples of nested namespaces include the following: System. Diagnostics: Contains classes for working with the Event Log System. Data: Makes it easy to work with data from multiple data sources System. IO: Contains classes for working with files and data streams The benefits of using the . NET Class Library include a consistent set of services available to all . NET languages and simplified deployment, because the . NET Class Library is available on all implementations of the . NET Framework. 3. Unifying components Until this point, this chapter has covered the low-level components of the . NET Framework. The unifying components, listed next, are the means by which you can access the services the . NET Framework provides: ASP. NET Windows Forms Visual Studio . NET ASP. NET After the release of Internet Information Services 4. 0 in 1997, Microsoft began researching possibilities for a new web application model that would solve common complaints about ASP. . ASP. NET introduces two major features: Web Forms and Web Services. 1. Web Forms Developers not familiar with Web development can spend a great deal of time, for example, figuring out how to validate the e-mail address on a form. You can validate the information on a form by using a client-side script or a server-side script. Deciding which kind of script to use is complicated by the fact that each approach has its benefits and drawbacks, some of which arent apparent unless youve done substantial design work. If you validate the form on the client by using client-side JScript code, you need to take into consideration the browser that your users may use to access the form. Not all browsers expose exactly the same representation of the document to programmatic interfaces. If you validate the form on the server, you need to be aware of the load that users might place on the server. The server has to validate the data and send the result back to the client. Web Forms simplify Web development to the point that it becomes as easy as dragging and dropping controls onto a designer (the surface that you use to edit a page) to design interactive Web applications that span from client to server. 2. Web Services A Web service is an application that exposes a programmatic interface through standard access methods. Web Services are designed to be used by other applications and components and are not intended to be useful directly to human end users. Web Services make it easy to build applications that integrate features from remote sources. For example, you can write a Web Service that provides weather information for subscribers of your service instead of having subscribers link to a page or parse through a file they download from your site. Clients can simply call a method on your Web Service as if they are calling a method on a component installed on their system - and have the weather information available in an easy-to-use format that they can integrate into their own applications or Web sites with no trouble. Introducing ASP. NET ASP. NET, the next version of ASP, is a programming framework that is used to create enterprise-class Web applications. The enterprise-class Web applications are accessible on a global basis, leading to efficient information management. However, the advantages that ASP. NET offers make it more than just the next version of ASP. ASP. NET is integrated with Visual Studio . NET, which provides a GUI designer, a rich toolbox, and a fully integrated debugger. This allows the development of applications in a What You See is What You Get (WYSIWYG) manner. Therefore, creating ASP. NET applications is much simpler. Unlike the ASP runtime, ASP. NET uses the Common Language Runtime (CLR) provided by the . NET Framework. The CLR is the . NET runtime, which manages the execution of code. The CLR allows the objects, which are created in different languages, to interact with each other and hence removes the language barrier. CLR thus makes Web application development more efficient. In addition to simplifying the designing of Web applications, the . NET CLR offers many advantages. Some of these advantages are listed as follows. Improved performance: The ASP. NET code is a compiled CLR code instead of an interpreted code. The CLR provides just-in-time compilation, native optimization, and caching. Here, it is important to note that compilation is a two-stage process in the . NET Framework. First, the code is compiled into the Microsoft Intermediate Language (MSIL). Then, at the execution time, the MSIL is compiled into native code. Only the portions of the code that are actually needed will be compiled into native code. This is called Just In Time compilation. These features lead to an overall improved performance of ASP. NET applications. Flexibility: The entire . NET class library can be accessed by ASP. NET applications. You can use the language that best applies to the type of functionality you want to implement, because ASP. NET is language independent. Configuration settings: The application-level configuration settings are stored in an Extensible Markup Language (XML) format. The XML format is a hierarchical text format, which is easy to read and write. This format makes it easy to apply new settings to applications without the aid of any local administration tools. Security: ASP. NET applications are secure and use a set of default authorization and authentication schemes. However, you can modify these schemes according to the security needs of an application. In addition to this list of advantages, the ASP. NET framework makes it easy to migrate from ASP applications. Creating an ASP. NET Application After youve set up the development environment for ASP. NET, you can create your first ASP. NET Web application. You can create an ASP. NET Web application in one of the following ways: Use a text editor: In this method, you can write the code in a text editor, such as Notepad, and save the code as an ASPX file. You can save the ASPX file in the directory C:inetpubwwwroot. Then, to display the output of the Web page in Internet Explorer, you simply need to type http://localhost/. aspx in the Address box. If the IIS server is installed on some other machine on the network, replacelocalhost with the name of the server. If you save the file in some other directory, you need to add the file to a virtual directory in the Default WebSite directory on the IIS server. You can also create your own virtual directory and add the file to it. Use the VS. NET IDE: In this method, you use the IDE of Visual Studio . NET to create a Web page in a WYSIWYG manner. Also, when you create a Web application, the application is automatically created on a Web server (IIS server). You do not need to create a separate virtual directory on the IIS server. Characteristics Pages ASP. NET pages, known officially as web forms, are the main building block for application development. Web forms are contained in files with an ASPX extension; in programming jargon, these files typically contain static (X)HTML markup, as well as markup defining server-side Web Controls and User Controls where the developers place all the required static and dynamic content for the web page. Additionally, dynamic code which runs on the server can be placed in a page within a block which is similar to other web development technologies such as PHP, JSP, and ASP, but this practice is generally discouraged except for the purposes of data binding since it requires more calls when rendering the page. Note that this sample uses code inline, as opposed to code behind. protected void Page_Load(object sender, EventArgs e) { Label1. Text = DateTime. Now. ToLongDateString(); } Sample page The current time is: Code-behind model It is recommended by Microsoft for dealing with dynamic program code to use the code-behind model, which places this code in a separate file or in a specially designated script tag. Code-behind files typically have names like MyPage. aspx. cs or MyPage. aspx. vb based on the ASPX file name (this practice is automatic in Microsoft Visual Studio and other IDEs). When using this style of programming, the developer writes code to respond to different events, like the page being loaded, or a control being clicked, rather than a procedural walk through the document. ASP. NETs code The above tag is placed at the beginning of the ASPX file. The CodeFile property of the @ Page directive specifies the file (. cs or . b) acting as the code-behind while the Inherits property specifies the Class the Page derives from. In this example, the @ Page directive is included in SamplePage. aspx, then SampleCodeBehind. aspx. cs acts as the code-behind for this page: using System; namespace Website { public partial class SampleCodeBehind : System. Web. UI. Page { protected override void Page_Load(EventArgs e) { base. OnLoad(e); } } } In this case, the Page_Load () method is called every time the ASPX page is requested. The programmer can implement event handlers at several stages of the page execution process to perform processing. User controls ASP. NET supports creating reusable components through the creation of User Controls. A User Control follows the same structure as a Web Form, except that such controls are derived from the System. Web. UI. UserControl class, and are stored in ASCX files. Like ASPX files, a ASCX contains static HTML or XHTML markup, as well as markup defining web control and other User Controls. The code-behind model can be used. Programmers can add their own properties, methods, and event handlers. An event bubbling mechanism provides the ability to pass an event fired by a user control up to its containing page. Template engine When first released, ASP. NET lacked a template engine. Because the . NET framework is object-oriented and allows for inheritance, many developers would define a new base class that inherits from System. Web. UI. Page, write methods here that render HTML, and then make the pages in their application inherit from this new class. While this allows for common elements to be reused across a site, it adds complexity and mixes source code with markup. Furthermore, this method can only be visually tested by running the application not while designing it. Other developers have used include files and other tricks to avoid having to implement the same navigation and other elements in every page. ASP. NET 2. 0 introduced the concept of master pages, which allow for template-based page development. A web application can have one or more master pages, which can be nested. Master templates have place-holder controls, called ContentPlaceHolders to denote where the dynamic content goes, as well as HTML and JavaScript shared across child pages. Child pages use those ContentPlaceHolder controls, which must be mapped to the place-holder of the master page that the content page is populating. The rest of the page is defined by the shared parts of the master page, much like a mail merge in a word processor. All markup and server controls in the content page must be placed within the ContentPlaceHolder control. When a request is made for a content page, ASP. NET merges the output of the content page with the output of the master page, and sends the output to the user. The master page remains fully accessible to the content page. This means that the content page may still manipulate headers, change title, configure caching etc. If the master page exposes public properties or methods (e. . for setting copyright notices) the content page can use these as well. Performance 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 com pilation 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 wont 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 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. Database Queries The most common operation in SQL databases is the query, which is performed with the declarative SELECT keyword. SELECT retrieves data from a specified table, or multiple related tables, in a database. While often grouped with Data Manipulation Language (DML) statements, the standard SELECT query is considered separate from SQL DML, as it has no persistent effects on the data stored in a database. Note that there are some platform-specific variations of SELECT that can persist their effects in a database, such as the SELECT INTO syntax that exists in some databases. SQL queries allow the user to specify a description of the desired result set, but it is left to the devices of the database management system (DBMS) to plan, optimize, and perform the physical operations necessary to produce that result set in as efficient a manner as possible. An SQL query includes a list of columns to be included in the final result immediately following the SELECT keyword. An asterisk (*) can also be used as a wildcard indicator to specify that all available columns of a table (or multiple tables) are to be returned. SELECT is the most complex statement in SQL, with several optional keywords and clauses, including: The FROM clause which indicates the source table or tables from which the data is to be retrieved. The FROM clause can include optional JOIN clauses to join related tables to one another based on user-specified criteria. The WHERE clause includes a comparison predicate, which is used to restrict the number of rows returned by the query. The WHERE clause is applied before the GROUP BY clause. The WHERE clause eliminates all rows from the result set where the comparison predicate does not evaluate to True. The GROUP BY clause is used to combine, or group, rows with related values into elements of a smaller set of rows. GROUP BY is often used in conjunction with SQL aggregate functions or to eliminate duplicate rows from a result set. The HAVING clause includes a comparison predicate used to eliminate rows after the GROUP BY clause is applied to the result set. Because it acts on the results of the GROUP BY clause, aggregate functions can be used in the HAVING clause predicate. The ORDER BY clause is used to identify which columns are used to sort the resulting data, and in which order they should be sorted (options are ascending or descending). The order of rows returned by an SQL query is never guaranteed unless an ORDER BY clause is specified. The following is an example of a SELECT query that returns a list of expensive books. The query retrieves all rows from the Book table in which the price column contains a value greater than 100. 00. The result is sorted in ascending order by title. The asterisk (*) in the select list indicates that all columns of the Book table should be included in the result set. SELECT * FROM Book WHERE price ; 100. 00 ORDER BY title; The example below demonstrates the use of multiple tables in a join, grouping, and aggregation in an SQL query, by returning a list of books and the number of authors associated with each book. SELECT Book. title, count (*) AS Authors FROM Book JOIN Book_author ON Book. isbn = Book_author. isbn GROUP BY Book. title; Example output might resemble the following: Title Authors s and Guide 3 The Joy of SQL 1 How to use Wikipedia 2 Pitfalls of SQL 1 How SQL Saved my Dog 1 (The underscore character _ is often used as part of table and column names to separate descriptive words because other punctuation tends to conflict with SQL syntax. For example, a dash - would be interpreted as a minus sign. ) Under the precondition that isbn is the only common column name of the two tables and that a column named title only xists in the Books table, the above query could be rewritten in the following form: SELECT title, count (*) AS Authors FROM Book NATURAL JOIN Book_author GROUP BY title; However, many vendors either do not support this approach, or it requires certain column naming conventions. Thus, it is less common in practice. Data retrieval is very often combined with data projection when the user is looking for calculated values and not just the verbatim data stored in primitive data types, or when the data needs to be expressed in a form that is d ifferent from how its stored. SQL allows the use of expressions in the select list to project data, as in the following example which returns a list of books that cost more than 100. 00 with an additional sales_tax column containing a sales tax figure calculated at 6% of the price. SELECT isbn, title, price, price * 0. 06 AS sales_tax FROM Book WHERE price ; 100. 00 ORDER BY title; Some modern day SQL queries may include extra WHERE statements that are conditional to each other. They may look like this example: SELECT isbn, title, price, date FROM Book WHERE price ; 100. 00 AND (date = 16042004 OR date = 16042005) ORDER BY title; Chapter 7 System Design E-R DIAGRAM: The following DFD shows how the working of a reservation system could be smoothly managed: DETAIL DESCRIPTION OF DATA FLOW DIAGRAM: We have STARBUS as our database and some of our tables (relation) are such as AGENT_BASIC_INFO, FEEDBACK, PASSANGER_INFO, STATIS and TIMELIST STARBUS In our table AGENT_BASIC_INFO we have following field such as agent_id, agent_name, agent_name, agent_fname, agent_shop_name, agent_shop_address, agent_shop_city, agent_phon_number etc. AGENT_BASIC_INFO In our FEEDBACK table we have fields like name, Email, Phon, Subject, Comment, and User_type. In our table PASSANGER_INFO we have filed like bill_no, c_name, c_phone, c_to, c_from, c_time, Ttalseat, Seatnumber, Amount, Agent_id and Status. In the table of TIME_LIST we have fields such as Sno, Satation_name, Rate_per_seat, Time, Reach_time and Bus_number. PROCESS LOGIC: As the privatization of buses is increasing thus the need of its smooth management is also increasing the more we could facilitate the customers, the more they are comfortable with us, the more customers we have visiting our reservation unit . the above tables and modules facilitates many logics like: ? Number of buses in one unit Number of computers in particular department ?Number of users in a department ?Which bus has what tour on which day ?What are time table for different buses of different department ? What are the schedule for buses ?Schedule of a particular bus ?How many buses are there ?Each bus has how many seats ?How many seats are occupied ?Advance booking for seat ?How much money is collected in a particular day ?Bills for different customers ?Which seat has booked by agent 1. Index page This webpage is the starting page of the Website. It gives the followings: ?TollFree number of the other city. Display advantage of the StarBus ?Links for Agent list and seat status. ?Links for Feedback, FAQ, Terms and Conditions. 2. Status. As in the above image the Status webpage is displaying: ?Accessed by anyone. ?Information about the booking which seat is booked and which is empty. 3. Agent name. As in the above image the Agent name webpage is displaying: ?Accessed by anyone. ?Contains information about name, address and phone number of the agent. 4. Feedback As in the above image Feedback webpage is displaying: ?This page is access by any user ?Anyone can give feedback related to the site or services. Links for Terms and Conditionââ¬â¢s and Policy and Privacy. 5. FAQ As in the above image FAQ webpage is displaying: ?This page is access by any user ?Contain information about tour a nd services of web site. Such as how many agent office are there and what is the mode Of the pament. 6. Privacy Policy: As in the above image the Privacy and Policy webpage is displaying: ?This page is access by any user ?This page say that when customer using our services, we required information about customer his/her name, age, route and email so that we can inform them to there email also. 7. Terms and Conditions. As in the above image the Terms and Conditions webpage is displaying: ?Accessed by anyone. ?Useful for customer ?Contain information when to reach the starting point and what should do, in case when our ticket is lost. 8. Login page As in the image Login webpage is displaying: ?Accessed by the agent. ?Agent entered its user name and password and click on login. ?Contain link for Forget Password. 9. Forget Password Page As in the image Forget Password webpage is displaying: ?It required user name who forget its password and then click on Next button. ?And also provide link for administration and other. 0. Identity Confirmation. As in the above image Identify Confirmation for user webpage is displaying: ?The Question you have select at the time of registration. ?You need to enter the answer for that question. ?After click on Next button. You will get your password on the show password webpage. 11. Ticket Booking page. As in the above image the ticket booking page is displaying: ?Only a ccessed by the agent. ?Select the destination, departure date and time. 11. Select Seat page As in the above image the Select Seat page is displaying: ?Only accessed by the agent. ?Red seat indicates booked seat. You can choose rest of the seat. It will be converted into green seat. 12. Customer Information page As in the above image the Customer Information webpage is displaying: ?After selecting the seat. ?Agent enters the name and phnumber of the customer. ?Click on Go button for printing the ticket. 13. Ticket Print page As in the above image the Ticket print webpage is displaying: ?This page prints the Customer ticket. ?This contain customer information such as name, destination, Number of seat. ?These also reduce the agent balance. 14. Search Ticket. As in the above image the Ticket Search webpage is displaying: Only accessed by the Agent and Administration. ? Using PNR number, Agent can search the ticket. 15. Ticket Cancellation As in the above image the Ticket cancellation webpage is displaying- ?Only accessed by the Agent and Administration ?Using PNR number, Agent can see the status ticket. 16. Change Password As in the above image the Change password web page is displaying: ?Only accessed by the Agent ?Agent can change password by entering the old and new password Administrator Section: 17. Create Agent: As in the above image the Change password web page is displaying: ?Only accessed by the Administrator. New agents are added by this page ?Required following information:- ?Username ?Password ?Email ?Security Question. ?Security Answer. ?After click on Create user button it will send you on Agent Basic Information webpage. 18. Agent Basic Information page As in the above image the agentââ¬â¢s Basic information web page is displaying: ?Agents Basic Information are added by this page ? Required following information are :- ?Name ?Fatherââ¬â¢s Name ?Shop Name ?Shop City ?Shop phone number ?Mobile Number ?Deposit amount 19. Agent List page As in the above image the agentââ¬â¢s List web page is displaying: Only accessed by the Administrator. ?Displaying Agent information such as:- ?Agent ID ?Name ?Shop Name ?Shop City ?Current Balance ?Mobile Number 20. A gent Deposit Amount Page As in the above image the agentââ¬â¢s Deposit Amount web page is displaying: ?Only accessed by the Administrator. ?Requires agent name and amount he wants to deposit. 21. Search Agent Page Bus List: Feedback List: Chapter 8 System Testing System Testing Once source code has been generated, software must be tested to uncover (and correct) as many errors as possible before delivery to customer. Our goal is to design a series of test cases that have a high likelihood of finding errors. To uncover the errors software techniques are used. These techniques provide systematic guidance for designing test that (1) Exercise the internal logic of software components, and (2) Exercise the input and output domains of the program to uncover errors in program function, behavior and performance. 8. 1 Steps. Software is tested from two different perspectives: (1)Internal program logic is exercised using ââ¬Å"White boxâ⬠test case design techniques. (2)Software requirements are exercised using ââ¬Å"block boxâ⬠test case design techniques. In both cases, the intent is to find the maximum number of errors with the minimum amount of effort and time. 8. 2 Strategies A strategy for software testing must accommodate low-level tests that are necessary to verify that a small source code segment has been correctly implemented as well as high-level tests that validate major system functions against customer requirements. A strategy must provide guidance for the practitioner and a set of milestones for the manager. Because the steps of the test strategy occur at a time when deadline pressure begins to rise, progress must be measurable and problems must surface as earl as possible. Following testing techniques are well known and the same strategy is adopted during this project testing. 8. 2. 1 Unit testing: Unit testing focuses verification effort on the smallest unit of software design- the software component or module. The unit test is white-box oriented. The module interface is tested to ensure that information properly flows into and of the program unit under test the local data structure has been examined to ensure that data stored temporarily maintains its integrity during all steps in an algorithmââ¬â¢s execution. Boundary conditions are tested to ensure that the module operated properly at boundaries established to limit or restrict processing. All independent paths through the control structure are exercised to ensure that all statements in a module haven executed at least once. 8. 2. 2 Integration testing: Integration testing is a systematic technique for constructing the program structure while at the same time conducting tests to uncover errors associated with interfacing. The objective of this test is to take unit tested components and build a program structure that has been dictated by design. . 2. 3 Validation testing: At the culmination of integration testing, software is completely assembled as a package, interfacing errors have been uncovered and corrected, and a final series of software tests- validation testing-may begin. Validation can be defined in many ways, but a simple definition is that validation succeeds when software functions in a manner that can be reasonably expected b y the customer. 8. 2. 4 System testing:System testing is actually a series of different tests whose primary purpose is to fully exercise the computer-based system. Below we have described the two types of testing which have been taken for this project. 8. 2. 4. 1 Security testing Any computer-based system that manages sensitive information causes actions that can improperly harm (or benefit) individuals is a target for improper or illegal penetration. Penetration spans a broad range of activities: hackers who attempt to penetrate system for sport; disgruntled employees who attempt to penetrate for revenge; dishonest individuals who attempt to penetrate for illicit personal gain. For security purposes, when anyone who is not authorized user cannot penetrate this system. When programs first load it check for correct username and password. If any fails to act according will be simply ignored by the system. 8. 2. 4. 2 Performance Testing Performance testing is designed to test the run-time performance of software within the context of an integrated system. Performance testing occurs throughout all steps in the testing process. Even at the unit level, the performance of an individual module may be assessed as white-box tests are conducted. 8. 3. Criteria for Completion of Testing Every time the customer/user executes a compute program, the program is being tested. This sobering fact underlines the importance of other software quality assurance activities. As much time we run our project that is still sort of testing as Musa and Ackerman said. They have suggested a response that is based on statistical criteria: ââ¬Å"No, we cannot be absolutely certain that the software will never fail, but relative to a theoretically sound and experimentally validated statistical model, we have done sufficient testing to say with 95 percent confidence that the probability of 1000 CPU hours of failure free operation in a probabilistically defined environment is at least 0. 95. â⬠8. 4 Validation Checks Software testing is one element of broader topic that is often referred to as verification and validation. Verification refers to the set of activities that ensure that software correctly implements a specific function. Validation refers to a different set of activities that ensure that the software that has been built is traceable to customer requirements . Boehm state this another way: Verification:ââ¬Å"Are we building the product right? â⬠Validation:ââ¬Å"Are we building the right product? â⬠Validation checks are useful when we specify the nature of data input. Let us elaborate what I mean. In this project while entering the data to many text box you will find the use of validation checks. When you try to input wrong data. Your entry will be automatically abandoned. In the very beginning of the project when user wishes to enter into the project, he has to supply the password. This password is validated to certain string, till user wonââ¬â¢t supply correct word of string for password he cannot succeed. When you try to edit the record for the trainee in Operation division you will find the validation checks. If you supply the number (digits) for name text box, you wonââ¬â¢t get the entry; similarly if you data for trainee code in text (string) format it will be simply abandoned. A validation check facilitates us to work in a greater way. It become necessary for certain Applications like this. Chapter 9 System Implementation Specification, regardless of the mode through which we accomplish it, may be viewed as a representation process. Requirements are represented in manner that ultimately leads to successful software implementation. 9. 1 Specification principles A number of specification principles, adapted from the work of balzer and Goodman can be proposed: 1. Separate functionality from implementation. 2. Develop a model of the desired behavior of a system that encompasses date and the functional responses of a system to various stimuli from the environment. 3. Establish the context in which software operates by specifying the manner in which other system components interact with software. 4. Define the environment in which the system operates. 5. Create a cognitive model rather than a design or implementation model. The cognitive model describes a system as perceived by its user community. 6. Recognize that ââ¬Å"the specifications must be tolerant of incompleteness and augmentable. â⬠7. Establish the content and structure of a specification in a way that will enable it to be amenable to change. This list of basic specification principles provides a basis for representing software requirements. However, principles must be translated into realization. 9. 1. 2 Representation As we know software requirement may be specified in a variety of ways. However, if requirements are committed to paper a simple set of guidelines is well worth following: Representation format and content should be relevant to the problem. A general outline for the contents of a Software Requirements Specification can be developed. However, the representation forms contained within the specification are likely to vary with the application area. For example, for our automation system we used different symbology, diagrams. Information contained within the specification should be nested. Representations should reveal layers of information so that a reader can move to the level of detail required. Paragraph and diagram numbering schemes should indicate the level of detail that is being presented. It is sometimes worthwhile to present the same information at different levels of abstraction to aid in understanding. Similar guidelines are adhered for my project. Chapter 10 Conclusion To conclude, Project Grid works like a component which can access all the databases and picks up different functions. It overcomes the many limitations incorporated in the . NET Framework. Among the many features availed by the project, the main among them are: Simple editing Insertion of individual images on each cell Insertion of individual colors on each cell Flicker free scrolling Drop-down grid effect Placing of any type of control anywhere in the grid Chapter 11 Scope of the Project Future scope of the project: The project has a very vast scope in future. The project can be implemented on internet in future. Project can be updated in near future as and when requirement for the same arises, as it is very flexible in terms of expansion. With the proposed software of Web Space Manager ready and fully functional the client is now able to manage and hence run the entire work in a much better, accurate and error free manner. The following are the future scope for the project: ?The number of levels that the software is handling can be made unlimited in future from the current status of handling up to N levels as currently laid down by the software. Efficiency can be further enhanced and boosted up to a great extent by normalizing and de-normalizing the database tables used in the project as well as taking the kind of the alternative set of data structures and advanced calculation algorithms available. We can in future generalize the application from its current customized status wherein other vendors developing and working on similar applications can utilize this software and make changes to it according to their business needs. ?Faster processing of information as compared to the current system with high accuracy and reliability. ?Automatic and error free report generation as per the specified format with ease. ?Automatic calculation and generation of correct and precise Bills thus reducing much of the workload on the accounting staff and the errors arising due to manual calculations. With a fully automated solution, lesser staff, better space utilization and peaceful work environment, the company is bound to experience high turnover. A future application of this system lies in the fact that the proposed system would remain relevant in the future. In case there be any additions or deletion of the services, addition or deletion of any reseller in any type of modification in future can be implemented easily. The data collected by the system will be useful for some other purposes also. All these result in high client-satisfaction, hence, more and more business for the company that will scale the company business to new heights in the forthcoming future. References References: Complete Reference of C# Programming in C# Deitel Deitel www. w3schools. com http://en. wikipedia. org The principles of Software Engineering ââ¬â Roger S. Pressman Software Engineering ââ¬â Hudson MSDN help provided by Microsoft . NET Object Oriented Programming ââ¬â Deitel Deitel
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.