Académique Documents
Professionnel Documents
Culture Documents
Our Project is Automatic Paper Generation System which will enable college authorities to automatically Generate Question Papers out of existing Question Bank in the Database. The system will have capability to process different unique sets of papers very automatically.
CHAPTER 1
SYSTEM ANAYLSIS
SYSTEM DESIGN
SYSTEM IMPLEMENTATION
SYSTEM MAINTENANCE
Let us have a look on each of the above activities: 1. System Analysis System Analysis is the process of diagnosing situations, done with a defiant aim, with the boundaries of the system kept in mind to produce a report based on the findings. Analysis is fact-finding techniques where problem definition, objective, system requirement specifications, feasibility analysis and cost benefit analysis are carried out. The requirement of both the system and the software are document and reviewed with the user. 2. System Design System Design is actually a multistep process that focuses on four distinct attributes of a program: data structures, software architecture, interface representations, and procedural (algorithmic) detail. System design is concerned with identifying the software components (Functions, data streams, and data stores), specifying relationships among components, specifying software structure, maintaining a record of design decisions and providing a blueprint for the implementation phase.
3. Coding
Coding step performs the translations of the design representations into an artificial language resulting in instructions that can be executed by the computer. It thus involves developing computer programs that meet the system specifications of design stage.
4. System Testing
System testing process focuses on the logical internals of the software, ensuring that all statements have been tested on the functional externals, that is conducting tests using various tests data to uncover errors that defined input will produce actual results that agree with required results.
5. System Implementation
System Implementation is a process that includes all those activities that take place to convert an old system to a new system. The new system may be totally new system replacing the existing system or it may be major modification to the existing system. Coding performs the translations of the design representations into an artificial language resulting in instructions that can be executed by the computer. It thus involves developing computer programs that meet the system design specifications. System implementation involves the translation of the design specifications into source code and debugging, documentation and unit testing of the source code.
6. System Maintenance
Maintenance is modification of a software product after delivery to correct faults to improve performance or to adopt the product to a new operating environment. Software maintenance canot be avoided due to ware & tear caused by users. Some of the reasons for maintaining the software are 1. Over a period of time, software original requirements may change.
2. Errors undetected during software development may be found during user & require correction. 3. With time new technologies are introduced such as hardware, operating system etc. The software therefore must be modified to adapt new operating environment. Type of Software Maintenance Corrective Maintenance: This type of maintenance is also called bug fixing that may observed while the system is in use i.e correct reported errors. Adaptive Maintenance: This type of maintenance is concern with the modification required due to change in environment. (i.e external changes like use in different hardware platform or use different O.S. Perfective Maintenance: Perfective maintenance refers to enhancement to the software product there by adding or support to new features or when user change different functionalities of the system according to customer demands making the product better, faster with more function or reports. Preventive Maintenance: This type of maintenance is done to anticipate future problems and to improve the maintainability to provide a better basis for future enhancement or business changes.
SYSTEM ANAYLSIS
1.1.1 Problem Definition
Our Project is Automatic Paper Generation System which will enable college authorities to automatically Generate Question Papers out of existing Question Bank in the Database. The system will have capability to process different unique sets of papers very
automatically., also the system will provide notifications regarding any file delete etc.
Login Module: This module will enable users to login into the system and then based on the type of user, grant the user appropriate type of functionality. Basically the system will provide access to General Users(Faculty) and Administrative Users(Exam Section) Faculty Module: This module will alow teachers to create the questions in the Question Bank. The Teachers can enter questions into the system alongwith the chapters. The Teachers can set Topics/Chapters Weightage in the examination and then can enter different questions in a topic and set the maximum marks for that particular question. Exam Generation Module: This module will enable examination section i.e. admin to generate question apers frm the database that has been created by faculty. The examiner needs to provide maximum marks associated with paper of particular class and the system will automatically create the question paper taking in consideration the weightage of each and every topic and accordingly will select the questions without repeating any question. Export Wizard Module: This module will enable the administrator to export the generated question paper into PDF or Word Format.
Problem Recognition The aim of the poroject was understood and through research was done on internet to get a deep insight of how the proposed system will work, we went to different travel related sites and understood their working. We recorded what all features will be required when we build our website like for eg. We need to keep a database of destinations, Travel Agents and Hotels should be able to register and post their data online etc. All these features were noted down so that they could be incorporated in our application.
Evaluation and Synthesis Problem evaluation and solution synthesis was the next major area of effort. It was in this step that all externally observable data objects, evaluation of flow and content of information was defined. It was decided in this phase that how our application will look and works, what parameters it will take and what it will return.
Specification & Review The main objective is to improve the quality of software that can be done by inspection or walkthrough of formal technical reviews. The main objective is To uncover errors in function, logfics or implementation. Verify software under revies to meet requirement specification. Ensure that software has been represented according to predefined standards. Achive software development in uniform manner Make projexct more meaningfull.
The main objective of feasibility study is to test the technical, operational and economical feasibility of developing a computer system Application. The following feasibility studies were carried out for the proposed system: Economic Feasibility: An evaluation of development cost weighed against the income of benefit derived from the developed system. Here the development cost is evaluated by weighing it against the ultimate benefits derived from the new system. The proposed system is economically feasible if the benefits obtained in the long run compensate rather than overdo the cost incurred in designing and implementing. In this case the benefits outweigh the cost that makes the system economically feasible. Technical Feasibility: A study of function performance and constraints that may affect the ability to achieve the acceptable system. A system is technically feasible, if it can be designed and implemented within the limitations of available resources like funds, hardware, software etc. The considerations that are normally associated with technical feasibility include development risk, resources availability and technology. Management provides latest hardware and software facilities for successful completion of the project. The proposed system is technically feasible as the Technology we are using to implement the Project (i.e. ASP.NET) is fully capable to implement our projects requirement analysis that was performed in the analysis section. Operational Feasibility: The Project is Operationally Feasilbe as it can be implemented easily in the college computer Lab. Schedule Feasibility: Evaluates the time taken in the development of the project. The system had schedule feasibility.
SYSTEM DESIGN
Login Module: This module will enable users to login into the system and then based on the type of user, grant the user appropriate type of functionality. Basically the system will provide access to General Users(Faculty) and Administrative Users(Exam Section) Faculty Module: This module will alow teachers to create the questions in the Question Bank. The Teachers can enter questions into the system alongwith the chapters. The Teachers can set Topics/Chapters Weightage in the examination and then can enter different questions in a topic and set the maximum marks for that particular question. Exam Generation Module: This module will enable examination section i.e. admin to generate question apers frm the database that has been created by faculty. The examiner needs to provide maximum marks associated with paper of particular class and the system will automatically create the question paper taking in consideration the weightage of each and every topic and accordingly will select the questions without repeating any question. Export Wizard Module: This module will enable the administrator to export the generated question paper into PDF or Word Format.
SYSTEM DESIGN
The design stage takes the final specification of the system from analysis stages and finds the best way of filing them, given the technical environment and previous decision on required level of automation. The system design is carried out in two phases: i) ii) Architectural Design (High Level Design) Detailed Design (Low Level Design)
Figure 1
Figure 2
1.2.4.1
One of the best design approaches is Entity Relationship Method. This design approach is widely followed in designing projects normally known as Entity Relationship Diagram (ERD). ERD helps in capturing the business rules governing the data relationships of the system and is a conventional aid for communicating with the end users in the conceptual design phase. ERD consists of: Entity It is the term use to describe any object, place, person, concept, activity that the enterprise recognizes in the area under investigation and wishes to collect and store data. It is diagrammatically represented as boxes. Attribute They are the data elements that are used to describe the properties that distinguish the entities. Relationship It is an association or connection between two or more entities. They are diagrammatically represented as arrows.
A Unary relationship is a relationship between instances of the same entity. A Binary relationship is a relationship between two entities. A N-ary relationship is a relationship among N entities. It is defined only when the relationship does have a meaning without the participation of all the N entities. Degree of Relationship An important aspect of relationship between two or more entities is the degree of relationship. The different relationships recognized among various data stores in the database are: One-to-One (1:1) It is an association between two entities. For example, each student can have only one Roll No. One-to-Many (1:M) It describes entities that may have one or more entities related to it. For example, a father may have one or many children. Many-to-Many (M:M) It describes entities that may have relationships in both directions. This relationship can be explained by considering items sold by Vendors. A vendor can sell many items and many vendors can sell each item.
ERD representation of the project is given below. It follows Chens convention in which entities are represented as rectangles and relationships as diamonds.
Figure 3
Figure 4
Entity Relationship Diagram
1.2.4.2
Context Analysis Diagram (CAD) is the top-level data flow diagram, which depicts the overview of the entire system. The major external entities, a single process and the output data stores constitute the CAD. Though this diagram does not depict the system in detail, it presents the overall inputs, process and the output of the entire system at a very high level. The Context Analysis Diagram if the project is given ahead.
Figure 5
1.2.4.3
A Data Flow Diagram (DFD) is a graphical tool used to describe and analyze the movement of data through a system manual or automated including the processes, stores of data and delays in the system. They are central tools and the basis from which other components are developed. It depicts the transformation of data from input to output through processes and the interaction between processes.
Transformation of data from input to output through processes logically and independent of physical components is called the DFD. The physical DFD shows the actual implementation and movement of data between people, departments and workstation. DFDs are an excellent mechanism of communicating with the customers during requirement analysis and are widely used for representing external and top-level internal design specification. In the Later situations, DFDs are quite valuable for establishing naming conventions and names of system components such as subsystems, files and data links.
1. Sources or Destinations of data such as human, entities that interact with system, outside the system boundary, who form the source and the recipient of information are depicted in the form of a closed rectangle. 2. Data flow is a packet of data. It identifies data flow. It is a pipeline through which information flows. It is depicted in DFD as an arrow with the pointer pointing in the direction of flow. This connecting symbol connects an entity, process and data stores. This arrow mark also specifies the sender and the receiver. 3. Process depicts procedure, function or module that transform input data into output data. It is represented as a circle or a bubble with the procedure name and a unique number inside the circle.
4. Data stores are the physical areas in the computers hard disk where a group of related data is stored in the form of files. They are depicted as an open-ended rectangle. The Data store is used either for storing data into the files or for reference purpose.
Figure 6
Figure 7
WORKING ENVIRONMENT
HARDWARE ENVIRONMENT
PC with the following Configuration Processor RAM HARD DISK Pentium-IV 3.0 GHz 256 DDR 2 RAM 80 GB
SOFTWARE ENVIRONMENT
Microsoft Windows XP. Microsoft Access ASP.NET Say Microsoft Word 2003, Ms Front Page
We have used the Latest Technology from Microsoft: The ASP.NET to develop our Application. What are Web Applications? These applications provide content from a server to client machines over the Internet. Users view the Web application through a Web browser. How Web Applications Work Web applications use a client/server architecture. The Web application resides on a server and responds to requests from multiple clients over the Internet, as shown in Figure 1-1.
Figure 1-1. ASP.NET Web application architecture On the client side, the Web application is hosted by a browser. The applications user interface takes the form of Hypertext Markup Language (HTML) pages that are interpreted and displayed by the clients browser. On the server side, the Web application runs under Microsoft Internet Information Services (IIS). IIS manages the application, passes requests from clients to the application, and returns the applications responses to the client. These requests and responses are passed across the Internet using Hypertext Transport Protocol (HTTP). A protocol is a set of rules that describe how two or more items communicate over a medium, such as the Internet. Figure 1-2 shows how the client and server interact over the Internet.
Figure 1-2. Client/server interaction in a Web application The Web application composes responses to requests from resources found on the server. These resources include the executable code running on the server (what we traditionally think of as the application in Microsoft
Windows programming), Web forms, HTML pages, image files, and other media that make up the content of the application. Web applications are much like traditional Web sites, except that the content presented to the user is actually composed dynamically by executable, rather than being served from a static page stored on the server. Figure 1-3 shows how a Web application composes the HTML returned to a user.
Figure 1-3. An ASP.NET Web application response from server resources The executable portion of the Web application enables you to do many things that you cant do with a static Web site, such as:
Collect information from the user and store that information on the server Perform tasks for the user such as placing an order for a product, performing Identify a specific user and present an interface that is customized for that Present content that is highly volatile, such as inventory, pending order, and
user
shipment information This is only a partial list. Basically, you can do anything with a Web application that you can imagine doing with any client/server application.
What makes a Web application special is that the client/server interaction takes place over the Internet.
What ASP.NET Provides ASP.NET is the platform that you use to create Web applications and Web services that run under IIS. ASP.NET is not the only way to create a Web application. Other technologies, notably the CGI, also enable you to create Web applications. What makes ASP.NET special is how tightly it is integrated with the Microsoft server, programming, data access, and security tools. ASP.NET provides a high level of consistency across Web application development. In a way, this consistency is similar to the level of consistency that Microsoft Office brought to desktop applications. ASP.NET is part of the .NET Framework and is made up of several components.
Visual Studio .NET Web development tools. These include visual tools for designing Web pages and application templates, project management, and deployment tools for Web applications.
The System.Web namespaces. These are part of the .NET Framework and include the programming classes that deal with Web-specific items such as HTTP requests and responses, browsers, and e-mail.
Server and HTML controls. These are the user-interface components that you use to gather information from and provide responses to users.
In addition to the preceding components, ASP.NET also uses the following, more general programming components and Windows tools. These items arent part of ASP.NET. However, they are key to ASP.NET programming.
Microsoft Internet Information Services (IIS). As mentioned in the previous section, IIS hosts Web applications on the Windows server.
The Microsoft Visual Basic .NET, Microsoft Visual C#, and Microsoft Visual
J# programming languages. These three languages have integrated support in Visual Studio .NET for creating Web applications.
The .NET Framework. This is the complete set of Windows programming classes, including the ASP.NET classes as well as classes for other programming tasks such as file access, data type conversion, array and string manipulation, and so on.
Microsoft ADO.NET database classes and tools. These components provide access to Microsoft SQL Server and ODBC databases. Data access is often a key component of Web applications.
Microsoft Application Center Test (ACT). This Visual Studio .NET component provides an automated way to stresstest Web applications. ASP.NET is the most complete platform for developing Web applications that run under IIS. However, it is important to remember that ASP.NET is not platform-independent. Because it is hosted under IIS, ASP.NET must run on
Windows servers. To create Web applications that run on non-Windows/IIS servers, such as Linux/Apache, you must use other toolsgenerally CGI. Advantages of ASP.NET ASP.NET has many advantages over other platforms when it comes to creating Web applications. Probably the most significant advantage is its integration with the Windows server and programming tools. Web applications created with ASP.NET are easier to create, debug, and deploy because those tasks can all be performed within a single development environmentVisual Studio .NET. ASP.NET delivers the following other advantages to Web application developers:
Executable portions of a Web application compiled so they execute more On-the-fly updates of deployed Web applications without restarting the server Access to the .NET Framework, which simplifies many aspects of Windows Use of the widely known Visual Basic programming language, which has Introduction of the new Visual C# programming language, which provides a Automatic state management for controls on a Web page (called server The ability to create new, customized server controls from existing controls Built-in security through the Windows server or through other
programming
authentication/authorization methods
Full support for Extensible Markup Language (XML), cascading style sheets Built-in features for caching frequently requested Web pages on the server,
localizing content for specific languages and cultures, and detecting browser capabilities Parts of a Web Application A Web application consists of three parts: content, program logic, and Web configuration information. Table 1-2 summarizes these parts and gives examples of where they reside in an ASP.NET Web application. Table 1-2. Parts of an ASP.NET Web Application Types of files Description Content files determine the appearance of a Web Web forms, HTML, application. They can contain static text and images Content images, audio, as well as elements that are composed on the fly by video, other data the program logic (as in the case of a database query). The program logic determines how the application responds to user actions. ASP.NET Web applications Executable files, Program logic have a dynamic-link library (DLL) file that runs on the scripts server, and they can also include scripts that run on the client machine. Web configuration The configuration files and settings determine how Configuration file, style sheets, IIS the application runs on the server, who has access, settings how errors are handled, and other details. Part The Web form is the key element of a Web application. A Web form is a cross between a regular HTML page and a Windows form. It has the same appearance as and similar behavior to an HTML page, but it also has controls that respond to events and run code, like a Windows form. In a completed Web application, the executable portion of the Web form is stored in an assembly (.dll) that runs on the server under the control of the ASP.NET worker process (asp_wp.exe), which runs in conjunction with IIS.
The content portion of the Web form resides in a content directory of the Web server, as shown in Figure 1-4.
Figure 1-4. ASP.NET Web application parts on a Web server When a user navigates to one of the Web forms from his or her browser, the following sequence occurs: 1. 2. IIS starts the ASP.NET worker process if it is not already running. The The assembly composes a response to the user based on the content of the
ASP.NET worker process loads the assembly associated with the Web form. Web form that the user requested and any program logic that provides dynamic content. 3. IIS returns the response to the user in the form of HTML. Once the user gets the requested Web form, he or she can enter data, select options, click buttons, and use any other controls that appear on the page. Some controls, such as buttons, cause the page to be posted back to the server for event processing, and the sequence repeats itself, as shown in Figure 1-5.
Figure 1-5. How the parts interact This cycle of events is described in greater detail in Lesson 2 of Chapter 2, Creating Web Forms Applications. Web Form Components Web forms can contain several different types of components, as summarized in Table 1-3. Table 1-3. Components on a Web Form Component Examples
Description These controls respond to user events by running event procedures on the server. TextBox, Label, Button, Server Server controls have built-in features for ListBox, DropDownList, controls saving data that the user enters between DataGrid page displays. You use server controls to define the user interface of a Web form. These represent the standard visual Text Area, Table, Image, HTML elements provided in HTML. HTML controls Submit Button, Reset controls are useful when the more complete feature Button set provided by server controls is not needed. SqlConnection, Data controls provide a way to connect to, SqlCommand, perform commands on, and retrieve data Data controls OleDbConnection, from SQL and OLE databases and XML data OleDbCommand, DataSet files. System FileSystemWatcher, These components provide access to various
Table 1-3. Components on a Web Form Component Examples Description components EventLog, MessageQueue system-level events that occur on the server. You use the server and HTML controls to create the user interface on a Web form. The data controls and system components appear on the Web form only at design time to provide a visual way for you to set their properties and handle their events. At run-time, data controls and system components do not have a visual representation. Figure 1-6 shows a Web form containing components.
Chapter 4, Creating a User Interface, provides more detail about using server and HTML controls on a Web form. The .NET Framework ASP.NET is an important part of the .NET Framework, but it is just one part. Understanding what else the .NET Framework provides will help you program your ASP.NET application effectively and avoid writing new code to perform tasks that are already implemented within the .NET Framework. First, a little background. The .NET Framework is the new Microsoft programming platform for developing Windows and Web software. It is made up of two parts:
An execution engine called the common language runtime (CLR) A class library that provides core programming functions, such as those
formerly available only through the Windows API, and application-level functions used for Web development (ASP.NET), data access (ADO.NET), security, and remote management .NET applications arent executed the same way as the traditional Windows applications you might be used to creating. Instead of being compiled into an executable containing native code, .NET application code is compiled into Microsoft intermediate language (MSIL) and stored in a file called an assembly. At run time, the assembly is compiled to its final state by the CLR. While running, the CLR provides memory management, type-safety checks, and other run-time tasks for the application. Figure 1-7 shows how this works.
Figure 1-7. How a .NET application runs Applications that run under the CLR are called managed code because the CLR takes care of many of the tasks that would have formerly been handled in the applications executable itself. Managed code solves the Windows programming problems of component registration and versioning (sometimes called DLL hell) because the assembly contains all the versioning and type information that the CLR needs to run the application. The CLR handles registration dynamically at run time, rather than statically through the system registry as is done with applications based on the Component Object Model (COM). The .NET class library provides access to all the features of the CLR. The .NET class library is organized into namespaces. Each namespace contains a functionally related group of classes. Table 1-4 summarizes the .NET namespaces that are of the most interest to Web application programmers.