Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SUBMITTED TO:
CERTIFICATE
This is to certify that the report on EMPLOYEE MANAGEMENT SYSTEM, is a bonafide record of Project presented by Leena Chandia towards partial fulfillment for the award of the degree in M.CA by MTU.
Place : Date :
DELCARATION
I, Leena Chandia hereby declare that the project work entitled
submitted to MTU
in partial
fulfillment of the requirements for the award of degree of MCA is a record of the
Sign of Candidate
Place :
Date :
ACKNOWLEDGEMENT
I extend my sincere gratitude towards Mr. Rabu Panda for giving me his
advisor for their kind co-operation and guidance for preparing and presenting Report
I also thank all the other faculty members of MCA department and my friends
PREFACE
While virtual classroom have become reality with the advance of networking and other technologies the traditional assessment methods still dominate when it comes to exams. We can take the advantage of internet technologies to conduct exams so students can enjoy any time anywhere flexibility as well as maximize their learning. Online Examination is a complete web application developed in J2EE (JSP & Servlet) where examination can be done online. Its a simple but powerful project having many advanced features. Using this Online Exam system, we can conduct any type of objective type examinations on line. The questions are stored in the server database. When the user is ready to take the exam, then the user id and exam id is passed to the database. Using this same Question contents are retrieved from the server and displayed on the page whenever the user requests for a question. On end of the exam, the result will be displayed. The duration and no of questions per exam are set during exam configuration time. There are three wizards in the system configuration Administrator, staff and candidate. The configuration wizard used in administrator level and can create new exams, edit existing exams add new subject and user management etc. The staff wizard can upload the questions and answers in subject wise. The candidate wizard is the public page, where candidate can register for exams specifying the exam has to take. All type of configuration such as exam date and time providing questions answers and other criteria are updated through configuration wizard.
CONTENTS
Certificate
Acknowledgement
Preface Overview of Project Objective of the Project Hardware & Software Requirement Components of VB
SDLC
DFD ER Diagram
Table Structure (complete description of Database) Form Design Coding Conclusion Bibliography
INTRODUCTION
The First phase of software development is system study analysis. The importance of system analysis phase is the establishment of the requirements for the system to acquire developed and installed. Analyzing the project to understand the complexity forms the vital part of the system study. Problematic areas are identified and information is collected. Fact finding or gathering is essential to any analysis of requirements. It is also highly essential that the analyst familiarize himself with the objectives, activities and functions of organizations in which the system is to be implemented. System analysis includes investigation and possible changes to the existing system. At the conclusion of the system analysis there is the system description and set of requirements for a new system. If there is no such existing system then analysis only defines the requirements. This new system may build a fresh or by changing the existing system. Development begins by defining a model of the new system and continues this model to a working system. The model of the system shows what the system must do to satisfy these requirements. Finally data modes are converted to a database and processed to user procedures and computer programs.
Project Overview
Online Examination is a complete web application. There are three wizards in the system configuration: Administrator, staff and candidate. The configuration wizard used in administrator level and can create new exams, edit existing exams add new subject and user management etc. The staff wizard can upload the questions and answers in subject wise. The candidate wizard is the public page, where candidate can register for exams specifying the exam has to take Application Requirements: 1 2 The system has three parts, administration, staff and candidate. All type of configuration such as exam date and time providing questions answers
and other criteria are updated through configuration wizard. 3 4 5 6 Candidate can register for exam, delete, and edit profile. The administrator can upload the questions in subject wise The questions and answers are generated randomly The question pattern of a particular question should keep changes each and every
time the question is selected for display. 7 8 9 An inactive candidate should automatically log off from the system. The result of exam will be noticed just after completing the exam. In built Question database for exam question
10 Access anywhere, anytime Application. 11 Exams and questions can be edited and deleted anytime. User Characteristics: 8
Every user should be comfortable of working with computer and net browsing. He must have basic knowledge of English too. Constraints: 1 2 3 4 5 6 7 GUI is only in English. Overall control goes to Administrator and limited function for Staff. This system is working for single server. There is no maintainability of back up so availability will get affected. Questions are only objective. The candidate may not go back to previous set of questions for resubmission. Limited to HTTP/HTTPS.
Overview of HTML
HTML is a hypertext markup language. It is the fundamental coding language of the Internet. The original Internet of the HTML specification was to allow web authors to describe the structure of a page. This language is used to layout pages that are capable of displaying all the diverse kinds of information that the web contains. A web page is made up of elements each of which is defined by html code or tag. A tag is always enclosed in angle brackets and most tags come in pair, with open and closing tags. The
10
Overview of JavaScript
On the Client-side in the HTML document Java Scripts are used to enhance web pages in number of ways. 1 An author can use this script to make sure that the information a user entered into
a form would be of proper type. Instead of forcing the server or database to do the data validation. 2 The host computer handles all the calculation work putting some of that otherwise
server work load may increase which slows down its performance. In early Dec 1995, Netscape and Sun jointly announced the scripting language as JavaScript. This is related to java in their syntactic ways. The JavaScript is useful in many ways such as: 1 Distribute small collection of database like information and provide a friendly
interface to that data. 2 Control multiple frame navigation, plugs-ins or java applets based on user choices
in that HTML document. 3 Data preprocessed on the client before submission to a server.
As a main features of the JavaScript it provides following ones: 1 Mandatory checking - For example in the registration form of the customer the
fields marked * near the description should have values when we click the submit button 2 3 Data-Entry Validation Error Message Alerts - For example error messages such as something is not a
number can occur when the variable name singled out in this error message is most likely a string value, a null value or no value. 11
Overview of Ajax
Ajax (Asynchronous JavaScript and XML), or AJAX, is a group of interrelated web development techniques used for creating interactive web applications or rich Internet applications. With Ajax, web applications can retrieve data from the server asynchronously in the background without interfering with the display and behavior of the existing page. Data is retrieved using the XML-Http Request object or through the use of Remote Scripting in browsers that do not support it. Despite the name, the use of JavaScript, XML, and asynchrony is not required. The term Ajax has come to represent a broad group of web technologies that can be used to implement a web application that communicates with a server in the background, without interfering with the current state of the page. Ajax refers specifically to these technologies:
XHTML and CSS for presentation The Document Object Model (DOM) for dynamic display of and interaction
with data
XML and XSLT for the interchange and manipulation of data, respectively The XMLHttpRequest object for asynchronous communication JavaScript to bring these technologies together
other aspects of document presentation. It is designed primarily to enable the separation of document content (written in HTML or a similar markup language) from document presentation (written in CSS). This separation can improve content accessibility, provide more flexibility and control in the specification of presentation characteristics, and reduce complexity and repetition in the structural content. CSS specifies a priority scheme to determine which style rules apply if more than one rule matches against a particular element. In this so-called cascade, priorities or weights are calculated and assigned to rules, so that the results are predictable.
1.3 J2EE
JSP
Sun Microsystems released Java Server Pages (JSP) to add server side programming functionalities to Java. JSP is a server side program that is similar in design and functionality to a Java Servlet. A client to provide a web service calls it. The nature of which depends on the J2EE application. JSP technologies have facilitated the segregation of the work profiles of a web designer and a web developer. Web designer can design and formulate the layout for the web page by using HTML. A web developer working independently can use java code and other JSP specific tags to code for the business logic. The simultaneous construction of the static and dynamic content facilities the development quality of the application with increased productivity. A JSP page after compilation generates a servlet and therefore incorporates all servlet functionalities. Servlet and JSP share common features such as 1 2 Platform independence. Creation of database driver web applications.
13
Servlet
Servlet are java programs that can be deployed on a java enabled web server to enhance and extent the functionality of the web server. Mainly I have used the servlet as the main controller which controls the overall functionality of the system. Servlet can be used to develop a variety of web-based application. As Servlet are written using java, they can make use of the extensive power of java API, such as networking & URL access, multithreading, database connectivity, internationalization, RMI and object serialization. Servlet are efficient: The initialization code for a Servlet is executed only when the Servlet is executed for the first time. Subsequently, the requests that are received by the Servlet are processed by its service() method. This helps to increase the efficiency of the server by avoiding creation of unnecessary processes. 1 Servlet are robust: As Servlet are based on java, they provide all the powerful
features of java such as exception handling and garbage collection. 2 Servlets are portable: Servlets are portable because they are developed in java.
This enables easy portability across web server. 3 Servlet are persistent: Servlet helps to increase performance of the system by
preventing frequent disk access. For Example: If a candidate log on to examination, the candidate can perform many activities such as viewing his profile register for exam etc. The candidate needs to be authenticated by checking for the user_id against the database. Instead of checking for the user_id against database every time, Servlet retain the Id in the servlet container using Http Session concept till the user logs out of the web site.
Java Bean
14
Java Bean components are not considered as J2EE components by the J2EE specification. They are written to manage the data flow between an application client or applet and components running on the J2EE server or between server components and a database. Java Beans components written for the J2EE platform have instance variables and get and set methods for accessing the data in the instance variables. Java Beans components used in this way are typically simple in design and implementation, but should conform to the naming and design conventions outlined in the Java Beans component architecture. Fig 2.1 Integrated architecture of JSP and Servlets
Request
JSP
Web Browser DB
Response
JavaBean
Application server
Enterprise server
a server, but rather a community of developers and users. Tomcat is the servlet container that is used in the official reference implementation for the Java Servlet and Java Server Pages technologies. The Java Servlet and Java Server Pages specifications are developed by Sun under the Java Community Process.
The MS SQL Server 2000 database engine includes integrated XML support. It also has the scalability, availability, and security features required to operate as the data storage component of the largest Web sites. The SQL Server 2000 programming model is integrated with the Windows DNA architecture for developing Web applications, and SQL Server 2000 supports features such as English Query and the Microsoft Search Service to incorporate userfriendly queries and powerful search capabilities in Web applications. 2 Scalability and Availability
The same database engine can be used across platforms ranging from laptop computers running Microsoft Windows 98 through large, multiprocessor servers running Microsoft Windows 2000 Data Center Edition. SQL Server 2000 Enterprise Edition supports features such as federated servers, indexed views, and large memory support that allow it to scale to the performance levels required by the largest Web sites. 3 Enterprise-Level Database Features
The SQL Server 2000 relational database engine supports the features required to support
16
demanding data processing environments. The database engine protects data integrity while minimizing the overhead of managing thousands of users concurrently modifying the database. SQL Server 2000 distributed queries allow you to reference data from multiple sources as if it were a part of a SQL Server 2000 database, while at the same time, the distributed transaction support protects the integrity of any updates of the distributed data. Replication allows you to also maintain multiple copies of data, while ensuring that the separate copies remain synchronized. You can replicate a set of data to multiple, mobile, disconnected users, have them work autonomously, and then merge their modifications back to the publisher. 1 Ease of installation, deployment, and use.
SQL Server 2000 includes a set of administrative and development tools that improve upon the process of installing, deploying, managing, and using SQL Server across several sites. SQL Server 2000 also supports a standards-based programming model integrated with the Windows DNA, making the use of SQL Server databases and data warehouses a seamless part of building powerful and scalable systems. These features allow you to rapidly deliver SQL Server applications that customers can implement with a minimum of installation and administrative overhead. 2 Data warehousing.
SQL Server 2000 includes tools for extracting and analyzing summary data for online analytical processing. SQL Server also includes tools for visually designing databases and analyzing data using English-based questions. SQL Server Enterprise Manager is a graphical tool that allows for easy, enterprise-wide configuration and management of Microsoft SQL Server and SQL Server objects. 17
SQL Server Enterprise Manager provides: A scheduling engine. Administrator alert capability. Drag-and-drop control operations across multiple servers. A built-in replication management interface.
We can also use SQL Server Enterprise Manager to: Manage logins, permissions, and users. Create scripts. Manage devices and databases. Back up databases and transaction logs. Manage tables, views, stored procedures, triggers, indexes, rules, defaults, and user-
18
collection of columns in the same way a database is a collection of tables. Before data can be stored in a database, you must understand how to create, modify, and maintain the tables within your database. This includes tasks such as defining keys and adding or deleting columns from a table.
BLOB
Blob is a binary large object that can hold a variable amount of data. The four different blob types are- Tiny Blob, Blob, Medium Blob, and Large Blob. They differ in the length of values they can hold. This data type is not used in this project. Blob columns are treated as binary strings (byte strings).Text columns are treated as non-binary strings (character strings). Blob columns have no character set and sorting and comparison are based on numeric values of bytes in column values. Text columns have a character set and values are sorted and compared based on the collation of character set. If a strict SQL model is not enabled and u assign value to a blob or text column that exceeds the columns maximum length, the value is truncated .The blob column value can be regarded as a varbinary column that can be as large as the users need. 1 2 3 There is no trailing space removal for blob and text columns when values are stored For indexes on blob we must specify an index prefix length. Blob and text columns cannot have default values.
Tomcat is developed in an open and participatory environment and released under the Apache Software License. Tomcat is intended to be a collaboration of the best-of-breed developers from around the world.
management system. Through this Java database connectivity package, we can connect to relational database and interact with the database. Many databases serve use vendor specific protocols. In the modern world of internet, one cannot expect that a user at a remote location learns the nuts and bolts of the server database. To bridge this gap, Microsoft had developed ODBC. ODBC provided a common application programmer interface to database clients. Now the user has to learn only one interface to provide a uniform interface to a host of proprietary databases. The life became easy for the user of the data and for the front-end developer. Using JDBC to work with A Database: Establish a connection between Java program and the database manager. Send a SQL statement to the database by using the statement object. Read the results and use them in the program. Working With the Driver Manager: In order to establish a connection with database the Java runtime environment must load the driver for the specified database. The DRIVER MANAGER class is responsible for loading and unloading devices. Loading Drivers: A database vendor typically writes JDBC drivers era, they accept JDBC connection and statements from one side and issue native calls to the databases from the other. Some database vendors havent yet written JDBC drivers, but they have drivers that confirm to confirm to a Microsoft standard-ODBC. The following code pre-loads a JDBC-ODBC bridge. try { Class forName (sun.jdbc.odbc.jdbcodbcDriver); } catch (ClassNotFoundException e){}; Using the Connection Class: 20
Once the driver has registered with the Driver Manager we can use it to connect it to the database. Tell the Driver Manager that we want to connect to make a new connection. It will invoke the driver and return a reference to the connection for us. We will need to specify the location of the database, and for many database we will need the same user name and password. For e.g. we can write: Connection con=DriverManager.getConnection (jdbd: odbc: datasource_name); When the Driver Manager gets a get connection () request, it takes the JDBC URL and passes it to each registered driver in turn. The first driver recognizes the URL and says that it can connect to establish the connection. Using the Statement Object: The connection class produces the statement using a method Create statement (). We can use a statement object to hold the SQL statement. When we send statement object to the database over the Connection, the database runs our SQL and returns a result set write code like this example: ResultSet rs=the Statement.executequery (select * from payment); Handling the ResultSet The Result Set class itself functions as a SQL cursor, allowing us to step through the data from a SELECT statement one row at a time. To advance from one row to the next () Sun has provided getType () methods for all the primitive types that SQL can store JDBC provides a common database programming API for Java programs. It was developed by Sun Microsystems. JDBC drivers are used to integrate the database servers to receive the result from them. Database clients using JDBC send SQL statements to the database servers and get the response from the servers. The database servers behave in the similar fashion as the query has
21
been received from the local client attached physically with the server. The JDBC API specification is a two-way street not only does it define how the application developer, will interact with a database, but it also defines how a JDBC driver must be written in order to preserve interoperability.
22
SYSTEM ANALYSIS
Hardware & Software Specification
Hardware Requirements
The selection of hardware is very important in the existence and proper working of any software. When selecting hardware, the size and capacity requirements are also important.
Minimum requirements
Requirement Processor Client side Server side
Intel Pentium II/AMD Processor Intel Pentium IV Processor Running at 133 MHz running at 1 GHz 20GB 512MB
10 GB 128MB
General
1. Display Type 2. Keyboard 3. Mouse : VGA/SVGA/LCD Monitor : : Enhanced 104 Standard PS/2 2 Button
23
Software Specification
Technology Programming language Tools and respective versions J2EE 1.6
Integrated Development Environment (IDE) Net Beans 6.0 Client Tier Presentation Tier Database Web Server Operating System HTML, Ajax, Java Script, CSS JSP, Servlet Microsoft SQL Server 2000 Tomcat Server 6.0 Windows 2000/XP
Existing System
Now there exist some discreet systems that help the users with minimal functionality. If it is manual then involves lot of paper work and chances of error are high. If it is automated it doesnt include many features. Most systems dont include the feature that allows instructors to randomize the delivery of questions during an exam. Obviously they have features but lack some other. Limitations of Existing System 1 2 3 Difficulty in question uploads. Result making is Tedious Unavailability Question bank
24
4 5 6
Requirements for new System New System has to nullify all the problems of existing system. First of all have to minimize manual effort as much as possible. Due to reducing manual intervention security must be cared very much. Reports are the another one important aspect, in existing whole process done manually so there are lots of paper works, so not much difficult to create result in the existing system. Online result generation must be more perfect and useful than existing system. User interface have to design user friendly manner, because the user is not much know about the system. Response for the user request should be fast only by that working of this new system effective. Requirements in short: 1 2 3 4 5 6 7 Fully automated web based examination software. More user friendly High security Question banks are used. Customized Exam Settings. Centralized administrator controls Register students online
25
Proposed System
Existing system has many disadvantages and all this demerits are nullified by proposed system. Proposed system is a web application in which we can conduct exams view results online. The system holds a central database for questions. It also stores the details about examination and candidates. Examination Facility will be the primary objective. Features of Proposed System 1 Customized Exam Settings: Examination date, time, duration and no. of questions
can be done while setting exam 2 Question data Bank: All questions for a particular exam are retrieved from a
question data bank. 3 Questions and options are generated randomly: After selecting questions for
particular exam, the order of questions for each candidate will be in random. 4 5 6 Question Security: Questions are stored in the database not in files. Online Results: Candidates can view their results after completing exam. Easy use of Interface.
Analysis Modeling
At a technical level, software engineering begins with a series of modeling that lead to complete specification of requirements and comprehensive design representation for the software to be built. The analysis model, actually a set of models is the technical representation of a system. Most important methods proposed for analysis modeling are structured analysis and object-oriented analysis. In structured analysis, we create models that depict information content and flow. We partition the system functionally and behaviorally and we depict the essence of 26
what must be built. This method relies on data modeling to create the basis for a comprehensive model. At the core of analysis model lies the data dictionary the repository that contains description of all data objects consumed or produced by the software. Entity relationship and dataflow diagram surround the core of the model. The model consists of 3 inter related pieces of information: the data objects, the attributes that describes the data objects to another. A data object is a representation of any composite information that must be understood by the software. These basic elements provide the basis for understanding the information domain of a problem. Data Flow Diagrams The Data Flow Diagrams are the main process-modeling tool for information systems. DFDs represent a situation from the viewpoint of the data and they are a technique to assist the analysis of processes in the system. A DFD graphically document the boundaries of a system, showing the movement of information between a system and its environment as well as information flows within the system thereby aiding communication between users and developers. The DFDs may be used to represent a system or software at any level of abstraction. They can be partitioned into different levels representing the increasing information flow and functional details. DFDs thus provide a mechanism for functional modeling as well as information flow modeling. The top level or level 0 DFD known as Context Diagram consist of a single process which describes the system at the highest level of abstraction. The further levels showing more details are depicted by level 1, level 2 etc. The DFDs of our system are shown below: 27
Administrator
Login
Information
Administrator
Login
Staff
Information
Staff
Login Candidate
Information
Candidate
Administrator
Username, Password
Staff
Username, Password
Login
Username, Password
Candidate
New User
Sign Up
28
Exam setings
Question Generation
Administrator
Login
User Management
Add/Edit Subject
Edit Question
Exam
Question
Candidate
29
3. SYSTEM DESIGN
System design is the process of developing specifications for a candidate system that meet the criteria established in the system analysis. Major step in system design is the preparation of the input forms and the output reports in a form applicable to the user. The main objective of the system design is to use the package easily by any computer operator. System Design is the creative act of invention, developing new inputs, a database, offline files, method, procedures and output for processing business to meet an organization objective. System design builds information gathered during the system analysis.
30
The following are the major input screens used for Online Examination application: Login Screen Registration form Add Exam form Edit Exam form Create Question form Upload Question form Edit Question form Add Subject form : used for providing user id and password. : used for storing the details of different users. : The input screen used to add various examination details. : The input screen used to edit examination details. : used by Admin to set up question for a particular exam. : used by staff to upload question. : used by staff to edit questions an item. : used by the Admin to add the subjects.
Result form
Size 50 50 50 4
32
Foreign Key
Subject id
Size 4 100
33
Field Name qno question opt1 opt2 opt3 opt4 qid eid
Data Type int varchar varchar varchar varchar varchar int int
Question id Exam id
Size 4 100
34
Table 6: Exam info Purpose: To store Exam details. Field Name eid title datetime hour minute noq Data Type int varchar smalldatetime smallint smallint int Size 4 50 4 2 2 4 Constraint Primary Key Description Exam id Exam Title Date & Time Duration Duration No. of Questions
Table 7: Result Purpose: To store Results. Field Name qid answer Data Type int varchar Size 4 100 Constraint Primary Key Description Question id Answer
35
PROCESS DESIGN
The processes involved in Online Examination are: 1. Administrator Module Administrator has the overall control of the system. The main functions are create examination, question generation and user management. 2. Staff Module Staff simply upload question using upload form. 3. User Module User has to register first in order to take exam. 4. Getting Exam Registered users can logon to Exam by providing user id and password
ARCHITECTURAL DESIGN
Model-view-controller
Model-view-controller (MVC) is an architectural pattern used in software engineering. Successful use of the pattern isolates business logic from user interface considerations, resulting in an application where it is easier to modify either the visual appearance of the application or the underlying business rules without affecting the other. In MVC, the model represents the information (the data) of the application and the business rules used to manipulate the data, the view corresponds to elements of the user interface such as text, checkbox items, and so forth, and the controller manages details involving the communication to the model of user actions such as keystrokes and mouse movements.
36
As an architectural pattern MVC is often seen in web applications, where the view is the actual JSP page, and the controller is the code that gathers dynamic data and generates the content within the JSP. Finally, the model is represented by the actual content, usually stored in a database or in XML nodes, and the business rules that transform that content based on user actions. Though MVC comes in different flavors, control flow generally works as follows: 1. 2. 3. The user interacts with the user interface in some way (e.g. presses a button). A controller handles the input event from the user interface. The controller notifies the model of the user action, possibly resulting in a change
in the model's state. 4. A view uses the model (indirectly) to generate an appropriate user interface. The
view gets its own data from the model. The model has no direct knowledge of the view. 5. anew. Here a controller handles the user request instead of another JSP. The controller is implemented as a Servlet. The following steps are executed when the user submits the request. 1. The Controller Servlet handles the users request. (This means the hyperlink in The user interface waits for further user interactions, which begins the cycle
the JSP should point to the controller servlet). 2. The Controller Servlet then instantiates appropriate JavaBeans based on the
request parameters (and optionally also based on session attributes). 3. The Controller Servlet then by itself or through a controller helper communicates
with the middle tier or directly to the database to fetch the required data. 4. The Controller sets the resultant JavaBeans (either same or a new one) in one of
5. URL. 6.
The controller then dispatches the request to the next view based on the request
The View uses the resultant JavaBeans from Step 4 to display data. Note that
there is no presentation logic in the JSP. The sole function of the JSP in Model 2 architecture is to display the data from the JavaBeans set in the request, session or application scopes. Advantages of MVC Architecture With MVC you can have as many controller servlets in your web application. In fact you can have one Controller Servlet per module. However there are several advantages of having a single controller servlet for the entire web application. A single controller servlet for the web application lets you centralize all the tasks in a single place leads to elegant code and easier to maintain.
38
UML design includes 1 2 3 4 Use Case Diagram Sequence Diagram Activity Diagram Class Diagram
represent the system's functions. 2 3 4 System - System boundaries are drawn using a rectangle that contains use cases. Actors - Actors are the users of a system. Relationships -Illustrates relationships between an actor and a use case with a
simple line.
39
login
Exam Setting
Question creation
User Management
Administrator
Add/Remove Subjects
logout
40
login
Exam Setting
logout
login
Register
41
ACTIVITY DIAGRAMS
An activity diagram is a special kind of diagram that shows the flow from activity to activity within a system. Activity diagrams address the dynamic view of a system. They are especially important in modeling the function of a system and emphasize the flow of control among objects. An activity is an ongoing monatomic execution within a state machine. Activities ultimately result in some action that is made up of executable atomic computations that result in a change in state of the system or a return of a value. Activity Diagram Components 1 Activity states and action states action states are executable atomic computations. They are the states of a system each representing the execution of an action. Action states are atomic i.e., events may occur but the work of the action state is not interrupted. Activity states are not atomic i.e., they may be interrupted and they take some time to complete. An action state is a special case of an activity state. 2 Transitions they represent the path from one action or activity state to the next action or activity state. It is denoted by a simple directed line. 3 Objects objects can also be involved in the flow of control associated with an activity diagram. Not only the flow of an object through the activity diagram, but how its role, state and attribute values change can also be depicted. Some of the Activity Diagrams are shown next page:
42
Staff
Candidate
Administrator
43
no
yes
Display "Successsful"
44
no
yes
Display "Successsful"
45
no
yes
Display "Successsful"
46
mark answer
Verification valid ?
no
yes
yes
no
47
Display Question
mark answer
Verification valid ?
no
yes
yes
no
48
display exams
Choose Exam
Select Questions
Verification valid ?
no
yes
Display "Successsful"
CLASS DIAGRAMS 49
A class diagram shows a set of classes, interfaces and collaborations and their relationships. Class diagrams address the static design view of a system. Class diagrams that include active classes address the static process view of a system. Class Diagram Components 1 Classes 2 Interfaces 3 Collaborations 4 Relationships Fig. 3.6.11. Class Diagram
LoadQuestion question: Question state: boolean
Question eid: int question: String opt1: String opt2: String opt3: String opt4: String getQuestion(): Question setQuestion(): void
ExamQuestion qno: int question: String opt1: String opt2: String opt3: String opt4: String qid: int eid: int getQuestion(): Question setQuestion(): void
getState(): boolean
Subject sid : int subject : String Answer qid : int answer : String setAnswer(): void getAnswer(): Answer SaveQuestion question: Question answer: Answer sub: Subject getState() : boolean setSubject(): void getSubject(): subject
50
SEQUENCE DIAGRAMS It is a kind of an interaction diagram. An interaction diagram shows an interaction. Sequence diagrams describe interactions among classes in terms of an exchange of messages over time i.e. it emphasizes the time-ordering of messages. Sequence Diagram Components 1 Class roles Class roles describe the way an object will behave in context. The UML object symbol can be used to illustrate class roles, but not for listing object attributes. 2 Activation Activation boxes represent the time an object needs to complete a task. 3 Messages Messages are arrows that represent communication between objects. Halfarrow lines are used to represent asynchronous messages. Asynchronous messages are sent from an object that will not wait for a response from the receiver before continuing its tasks. 4 Lifelines Lifelines are vertical dashed lines that indicate the object's presence over time. 5 Destroying Objects Objects can be terminated early using an arrow labeled "< < destroy > >" that points to an X. 6 Loops A repetition or loop within a sequence diagram is depicted as a rectangle. Place the condition for exiting the loop at the bottom left corner in square brackets [ ].
51
user <actor>
Login form
Candidate
Exam form
52
Out Puts
53
54
55
56
57
58
CODING
Program Code preparation
Overview When considered as a step in software engineering, coding is viewed as a natural consequence of design. However, programming language characteristics and coding style can profoundly affect software quality and maintainability. The coding step translates a detail design representation into a programming language realization. The translation process continues when a compiler accepts source code as input and produces machine-independent object code as output. The initial translation step in detail design to programming language is a primary concern in the software engineering context. Improper interpretation of a detail design specification can lead to erroneous source code. Style is an important attribute of source code and can determine the intelligibility of a program. The elements of a style include internal documentation, methods for data declaration, procedures for statement construction, and I/O coding and declaration. In all cases, simplicity and clarity are key characteristics. An offshoot of coding style is the execution time and/or memory efficiency that is achieved. Coding is the phase in which we actually write programs using a programming language. In the coding phase, design must be translated into a machine readable form. If design is performed in a detailed manner, coding can be accomplished mechanistically. It was the only recognized development phase in early or unsystematic development processes, but it is just one of several phases in a waterfall process. The output of this phase is an implemented and tested collection of modules. 59
`qid` int(10) unsigned NOT NULL AUTO_INCREMENT, `question` varchar(1000) NOT NULL, `opt1` varchar(200) NOT NULL, `opt2` varchar(200) NOT NULL, `opt3` varchar(200) NOT NULL, `opt4` varchar(200) NOT NULL, `answer` varchar(200) NOT NULL, `subject_name` varchar(45) NOT NULL, PRIMARY KEY (`qid`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=latin1; /*Data for the table `qnbank` */ insert into `qnbank`(`qid`,`question`,`opt1`,`opt2`,`opt3`,`opt4`,`answer`,` subject_name`) values (3,'A 2MB PCM(pulse code modulation) has','32 channels','30 voice channels & 1 signaling channel','31 voice channels & 1 signaling channel','32 channels out of which 30 voice channels, 1 signaling channel, & 1 Synchronization channel','31 voice channels & 1 signaling channel','Computer'),(5,'Max number of satellite hops allowed in voice communication is :','only one','more han one','two hops','four hops','two hops','Computer'),(6,'What is the max. decimal number that can be accommodated in a byte ?','128','256','255','512','255','Computer'),(7,'Conditional results after execution of an instruction in a micro processor is stored in','register','accumulator','flag register','flag register part of PSW(Program Status Word)','flag register part of PSW(Program Status Word)','Computer'),(8,'Frequency at which VOICE is sampled is','4 Khz','8 Khz','16 Khz','64 Khz','16 Khz','Computer'),(9,'Line of Sight is','Straight other','none','Tx & Rx should be visible to each other','Physics'),(10,'Purpose of PC(Program Counter) in a MicroProcessor is','To store address of TOS(Top Of Stack)','To store address of next instruction to be executed','count the number of instructions','to store base address of the stack','To store address of next instruction to be executed','Computer'),(11,'What action is taken when the processor under execution is interrupted by a non-maskable interrupt?','Processor serves the interrupt request after completing the execution of the current instruction','Processor serves the interrupt request after completing the current task','Processor serves the interrupt request immediately','Processor serving the interrupt request depends upon the priority of the current task under execution','Processor serves the interrupt request immediately','Computer'),(12,'The status of the Kernel is','task','process','not defined','none of the above','process','Computer'),(14,'Max number of satellite hops one','two hops','four hops','four hops','Computer'); 61
/*Table structure for table `tbl_user` */ DROP TABLE IF EXISTS `tbl_user`; CREATE TABLE `tbl_user` ( `uid` int(10) unsigned NOT NULL AUTO_INCREMENT, `user_name` varchar(45) DEFAULT NULL, `login_name` varchar(45) DEFAULT NULL, `passwd` varchar(45) DEFAULT NULL, PRIMARY KEY (`uid`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1; /*Data for the table `tbl_user` */ insertinto`tbl_user`(`uid`,`user_name`,`login_name`,`passwd`,`ut ype`,`eid`)values(1,'administrator','admin','admin','admin',1),( 5,'dd','dd2','dd','candidate',1),(6,'Deepak','Deepak6','deepak', 'candidate',1); /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
62
Code Efficiency
Usage of Java & J2EE technology tends to trade expediency for efficiency. Coding in this project is done in such a better way, which means it is not the most efficient code possible. However, as stated, for the intended purpose the performance attributes are considered adequate. The only efficiency considered so far as code is concerned that makes sense is the efficiency in generating code (i.e. coding productivity). The need for making code compact and concise may be countered productive when maintenance is undertaken. Using Java as the programming platform allows efficient coding in as much as low level SDK do not need to be written. However, as stated, for the intended purpose the performance attributes are considered adequate. Structured error handling capabilities, Powerful unified Integrated Development Environment (IDE). Integration with other languages such as C++ etc improve efficiency of code developed using Java. In any case of future enhancement to a webbased application, the modularized object oriented approach helps to use the same code with slight modification.
63
SYSTEM IMPLEMENTATION
Implementation Plan
Implementation is an activity that is contained throughout the development phase. It is the process of bringing a developed system into operational use and turning it over to the user. The new system and its components are to be tested in a structured and planned manner. A successful system should be delivered and users should have the confidence that the system would work efficiently and effectively. The more complex the system being implemented the more involved will be the system analysis and design effort required for implementation. Implementation is the stage of the system when the theoretical design is turned into working system. The implementation involves careful planning investigation of the current system and its constraints on implementing, design of methods to achieve the change over, training of user over procedure and evaluation change over method. There are three types of implementation: 1 Implementation of a computer system to replace a manual system. The problems
encountered are converting files, training users, creating accurate files, and verifying printouts for integrity. 2 Implementation of a new computer system to replace an existing one. This is usually
a difficult conversion. If not properly planned, there can be many problems. Some larger computer systems have taken as long as a year to convert. 3 Implementation of a modified application to replace an existing one using the same
computer. This type of conversion is relatively easy to handle, provided there are no major changes in files. 4 64
SYSTEM TESTING
Testing is the penultimate step of software development. An elaborate testing of data is prepared and the system is using test data. While doing testing, errors are noted and correction is made. The users are trained to operate the developed system .Both hardware and software securities are made to run the developed system successfully. System testing is aimed at ensuring the system works accurately before live operation commences. Testing is vital to the system. System testing makes a logical assumption that if all parts of the system are correct, the goal will be successfully achieved. The candidate system is subjected to a verity of tests: Online Response, Volume, Stress Recovery & Security and Usable tests. A series of testing are performed for the proposed system before the system is ready for user acceptance testing. Nothing is complete without testing, as it is vital success of the system. The entire testing process can be divided into 3 phases 1 2 3 Unit Testing Integration Testing Final/ System testing
UNIT TESTING
Unit testing focuses verification effort on the smallest unit of software designs the module. To check whether each module in the software works properly so that it gives desired outputs to the given inputs. All Validations and conditions are tested in the module level in the unit test .Control paths are tested to ensure the information properly flows into, and out of the program unit and out of the program unit under test. Boundary condition is tested to ensure that 65
the modules operate at boundaries. All independent paths through the control structure ensure that all statements in a module have been executed at- least once.
INTEGRATION TESTING
The major concerns of integration testing are developing an incremental strategy that will limit the complexity of entire actions among components as they are added to the system. Developing a component as they' are added to the system, developing an implementation & integration schedules that will make the modules available when needed, and designing test cases that will demonstrate the viability of the evolving system, Though each program works individually, they should work after linking them together. Data may be lost across interface and one module can have an adverse effect on another. Subroutines, after linking, may not do the desired function expected by the main routine. Integration testing is a systematic technique for constructing program structure while at same time, conducting test to uncover errors associated with the interface .In the testing, the programs are constructed and tested in small segments. 66
5 Each module was tested and the tested modules were linked and integration test was carried out. PASSWORD TESTING The login process is tested with some separate login trials. Password is mainly meant for security. Incorrect will be screened .Also already created passwords won't be allowed to use again. TEST DATA The system analyst will provide the test data, specially designed to show that the system will operate successfully in all its aspects and produce expected results under expected conditions. Preparation of test data and the checking of results should be carried out in conjunction with the appropriate users and operational departments. Also the extent to which the system should be tested must be planned.
67
THE MAIN OBJECTIVES OF SYSTEM TESTING ARE 1 2 3 4 5 To ensure during operation the system will perform as per specification. To make sure that the system meets user's requirements during operation. To verify that the controls incorporated in the system function as intended. To see that when correct inputs are fed to the system the outputs are correct. To make sure that during operation, incorrect input and output will be deleted.
The scope of a system test should include both manual operations and computerized. Operation system testing is a comprehensive evaluation of the programs, manual procedures, computer operations and controls. System testing is the process of checking if the developed system is working according to the original objectives and requirements. All testing needs to be conducted in accordance to the test conditions specified earlier.
ACCEPTANCE TESTING
An acceptance test has the objective of selling the user on the validity and reliability of the system it verifies that the system procedures operate to system specification and that the integrity of vital data is maintained. I tested the system with a large collection of records. The system is found to be user friendly and working efficiently. All the above testing was successfully done.
68
SYSTEM MAINTENANCE
Maintenance corresponds to restoring something to original conditions, covering a wide range of activities including correcting codes and design errors and updating user support. Maintenance is performed most often to improve the existing software rather than to a crisis or risk failure. The system would fail if not properly maintained. The software maintenance is an important one in the software development because we have to spend more efforts for maintenance. Software maintenance is to improve the software quality according to the requirements. After a system is successfully implemented, it should be maintained in a proper manner. The need for system maintenance is to make the system adaptable to the changes in the system environment. There may be social, economical or technical changes, which affect system being implemented. Software product enhancements may involve providing new functional capabilities, improving user displays and mode of interaction, upgrading the performance characteristics of the system. So only through proper system maintenance procedures, the system can be adapted to cope with these changes. We may define maintenance by describing four activities that are undertaken to after a program is released for use. The first maintenance activity occurs because it is unreasonable to assume that software testing will uncover all latent errors in a large software system. During the use of any large program, errors will occur and be reported to the developer. The process that includes the diagnosis and correction of one or more errors is called corrective maintenance. The second activity that contributes to a definition of maintenance occurs because of the rapid change that is encountered in every aspects of computing. Therefore, adaptive maintenance an activity that modifies software to properly interface with a changing environment is both necessary and commonplace. The third activity that may be applied to a definition of maintenance occurs when a software package is successful. As the software is used, recommendations for new capabilities, 69
modifications to existing functions, and general enhancements are received from users. To satisfy requests in this category, perfective maintenance is performed. This activity accounts for the majority of all efforts expended on software maintenance. The fourth maintenance activity occurs when software is changed to improve future maintainability or reliability, or to provide a better basis for future enhancements. Often called preventive maintenance, this activity is characterized by reverse engineering and re-engineering techniques. In the software maintenance to improve our software there are two types available 4 5 Reverse Engineering Re-Engineering
By using these two techniques, quality of the software can be improved. 1 2 Reverse Engineering means that to update the existing software. Re-Engineering means that entirely modifying the existing software.
Maintenance activities involved the following three concepts. 1 2 3 Enhancement Adapting Correcting problems
Software product Enhancement may involve providing new functional capabilities, improving user displays and modes of integration, updating external documents and internal documentation, or updating the performance characteristics of a system.
70
Nothing can be done in single step. Obviously online examination application has some
future enhancements. The enhancements that can improve the value of this application are the
following:
1. Descriptive answering.
2.
71
CONCLUSION
The conventional examination system where the students have to travel examination
centers or take proctored exams. Online examination system takes the advantage of internet
technologies to conduct exams and results are published without any delay.
Almost every project is subjected to change depending on the clients requirements. The
system and the architecture of the proposed system is a compatible one, so addition of new
modules can be done without much difficulty. Since this module has its unique properties it can
The application was implemented and tested with real data and were found to be error
free. Also, the system is protected from any unauthorized access .All the necessary validations
are carried out on this project, so that any kind of users can make use of this application and
necessary messages makes them conscious of the error they have made.
72
REFERENCE
Book Reference
Web Reference
w3scoops.com
www.scribd.com
73