this is my project that submited by me on 12-12-2011
1. Introduction :This document gives a brief information of what the software is going to do which includes the document outline and document description.
2. Document Outline :This document provides brief description about the following points:-
This section provide an overview of purpose , scope, intended audience of proposed system. This section also includes references for any other document, acronyms and abstract of document.
This section provide general description of the software system including its functionality and matters related to the overall system and its design.
This section describes many of the issues which need to be addressed or resolved before attempting to devise a complete design solution.
Assumptions and Dependencies
This section describes assumptions and dependency related to : Software and hardware Operating systems End-user characteristics Possible and/or probable changes in functionality
This section describe any global limitations or constraints that have a significant impact on the design of the system's software like Hardware or software environment ,Performance requirements, Standards compliance , Memory , other capacity limitations and End- user environment .
Goals and Guidelines
This section describes goals, guidelines, principles, or priorities which dominate or embody the design of the system's software .we include the KISS principle ("Keep it simple stupid!")
This section describe the method or approach used for this software design. If one or more formal/published methods were adopted or adapted, then include a reference to a more detailed description of these methods.
This section describe any design decisions and/or strategies that affect the overall organization of the system and its higher-level structures.
This section should provide a high- level overview of how the functionality and responsibilities of the system were partitioned and then assigned to subsystems or components.
Policies and Tactics
This section describe any design policies and/or tactics which would not significantly affect the overall organization of the system and its high- level structures but which nonetheless affect the details of the interface and/or implementation of various aspects of the system.
Detailed System Design
This section includes the UML diagrams like use case , sequence diagram , collaboration diagram related to time table generation. A use case diagram in the Unified Modeling Language (UML) is a type of behavioral diagram defined by and created from a Use-case analysis A sequence diagram in Unified Modeling Language (UML) is a kind of interaction diagram that shows how processes operate with one another and in what order. It is a construct of a Message Sequence Chart. Collaboration diagram expresses a single scenario like the sequence diagram, but in this case the focus is not on time but rather object instances
It is a list of difficult and specialized words with their definitions, placed at the end of document.
It is the list of books and web sites which helped to prepare this document.
3.Document Description :3.1Introduction : Online examination helps students and its mission is to offer a quick and easy way to appear for the exam. It also provides the results immediately after the exam and security. The user can enter to write the exam only with their valid username and password. This examination contains multiple choice questions and appropriate number of options. There are no limitations on number of options and it can be randomized. More than one option can be correct but the user can select only one option. This provides time limit. The user can see their results after completing the exam. This helps the students to write the exam from far distance and which can provide security.
The online test is the process to observe our skill by solving test paper based on various topic. It is less Time consuming and is more efficient. Analysis will be very easy in proposed system as it is automated. Result will be very precise and accurate and will be declared in very short span of time because calculation and evaluations are done by the simulator itself. The online test system is very secure as no chances of leakage of Question paper as it is dependent on the administrator only. The logs of appeared candidates and their marks are stored and can be backup for future use.
This project would be very useful for educational institutes where regular evaluation of students’ is required. Further it can also be useful for anyone who requires feedback based on objective type responses. Scope of Online Test is very broad in terms of other manually taking exams. Like:a. This can be used in educational institutions as well as in corporate world. b. Can be used anywhere any time as it is a web based application c. No restriction that examiner has to be present when the candidate takes the test. d. Online examination will reduce the hectic job of assessing the answers given the candidates. e. Being an integrated Online Examination System it will reduce paper work. f. To improve the skills of user.
Elmasri, Navathe, “Fundamentals Of Database Systems”, Addision Wesley. Michael Blaha and J. Rumbugh, “Object oriented Modeling and design with UML”, Pearson Education. O’Docherty, “Object Oriented Analysis and Design Understanding, System Development with UML2.0”, Wiley India. Korth, Silbertz, Sudarshan, “Database Concepts”, McGraw Hill. Software project Management from concept to development Black Book by Kieron Conway, Dreamtech Press. www.ibm.com www.wikipedia.org www.ispirer.com www.w3schools.com www.algorithm.co.il
Administrator - Administrator (super user), he/she is the controller of the system,
generate the time table, modify the subject, view the time table lab-wise, branch-wise, faculty-wise and also view the details of the faculties.
Encryption - To store something in some other way that no one can understand such as
password is to be saved in the database in this manner.
HTML - Hypertext Markup Language is to create static web-pages. J2EE - Java 2 Enterprise Edition is a programming platform and it is the part of the java
platform for developing and running distributed java applications.
Java Platform, Standard Edition or Java SE is a widely used platform for programming in the Java language. It is the Java Platform used to deploy portable applications for general use. between web browser and a web server.
HTTP - Hypertext transfer protocol is a transaction oriented client/server protocol TCP/IP - Transmission control protocol/internet protocol is the communication protocol
used to connect hosts on the internet.
Swing - It is an extension library to the AWT, includes new and improved components
that enhance the look and functionality of GUIs. Swing can be used to build Standalone swing GUI Applications.
MySQL - It is a relational database management system (RDBMS) that runs as a server
providing multi- user access to a number of databases. The SQL phrase stands for Structured Query Language.
Ajax (Asynchronous Java Script and XML) - It is a technique used in java script to
create dynamic web pages.
This system is used to improve skills of students with the help of timer concept. It is required when department of a college wants to conduct online objective test. Students can prepare themselves for other competitive exams by using this.
3.2 System overview : The purpose of the system is to develop Online Examination System., used to test the Domain knowledge of the students, and employees with respect to the particular technology. The manual procedure used for conducting exam is time consuming process and error prone due to human limitations. The System purpose is to completely automate the old manual procedure of conducting exam to Online Web Based Examination System. Student can register and login for the test. Student can select the subject or stream in which he/she wants. Student can see their results after exam. Admin can Verify user Insertion, deletion, modify questions are done by admin. Add subjects and delete. Maintain database User creation and deletion.
This software will try to provide following functionalities: Student Registration
Under this functionality student can be registered. For this a well developed and user friendly GUI is provided to students at the website of the college from where they can appear for test. Modification of Subject
Admin can modify the subject. Insertion, deletion, modify questions are done by admin. Selection of subjects for test Student can select subject for test according to their interest. Generate Result
This website provide automatic time result generation. Student can view result after examination. Admin can view result of student and save or delete the result Admin can view the details of the faculties.
3.3 Design Consideration : There are many aspects to consider in the design of a piece of software. The importance of each should reflect the goals the software is trying to achieve. Some of these aspects which are related to our project are: Some software quality factors which can be consider during design are listed here: Understandability The software is easily understandable to any layman if he/she goes through the software and have superficial knowledge of time table generation and any software engineer can understand the whole functionality of the software if he/she goes through documentation. Extensibility New capabilities can be added to the software without major changes to the underlying architecture. Fault-tolerance The software is resistant to and able to recover from component failure. Completeness Presence of all constituent parts, with each part fully developed. The software calls a subroutine from an external library, the software package provide reference to that library and all required parameters are passed. All required input will be available when system asks for it. Conciseness The document as a whole is to the point and elaborated in section wherever necessary so that any technically sound person can understand the software. The coding done in the software contains minimum SLOC as software is rated according to KLOC which considers the property such as cost, efficiency, security etc.
Portability The software built will be able to operate on multiple systems having different hardware and software specification with the basic constraints as will be specified after the software is well built. Modularity The resulting software comprises well defined, independent components. That leads to better maintainability. The components could be then implemented and tested in isolation before being integrated to form a desired software system. This allows division of work in a software development project. Packaging Printed material such as the box and manuals , matches the style designated for the target market .All compatibility information will be visible on the outside of the package. Maintainability Propensity to facilitate updates to satisfy new requirements. Thus the software product that is maintainable should be well-documented, should not be complex, and should have spare capacity for memory, storage and processor utilization and other resources Reliability The software is able to perform a required function under stated conditions for a specified period of time. Security The software will be able to withstand hostile acts and influences.
3.3.1 Assumptions and Dependencies: Hardware and Software
1. System should have sufficient memory to store data. 2. The hardware never fails. 3. Back-end should be available at server.
End user characteristic
1. Student should have login id issued from college.
2. Student should select a very well known subject available in the list. 3. User should have authority to appear in test. Operating System OS should be such that which can support GUI functionality and DBMS that comes under use.
Possible and/or probable changes in functionality 1. In future the software can also be used for any organization in their recruitment process. 2. Further the software can be OS independent. 3. The software can be used to evaluate skill level of users. 4. Web pages should be browser independent.
3.3.2 General Constraints: Students must be registered before appear in test. A student can make only one account. A student can take one test at a time. Test must be completed in given time. Student can view result only.
3.3.3 Goals and Guidelines: The application is open source licensed, so any future developers participating should be welcomed by the software itself too. It will remain simple thanks to the modular design and clear interfaces. A key goal is conforming to the KISS principle. KISS is an acronym for the design principle "Keep it simple, Stupid!". Other variations include "keep it short and simple" or "keep it simple and straightforward". The KISS principle states that simplicity should be a key goal in design, and that unnecessary complexity should be avoided. General Guidelines for the End User :
1. Adaptability and reusability: The suite should be simple (and intuitive) enough that it should not be difficult to adapt to users’ needs. The code should be standards compliant and therefore should be easily reusable in other applications. 2. Availability: The system should be available at all times and should have a very low failure probability. 3. Reliability: Serious attempts should be made to make sure that code is reliable and is of enterprise quality. 4. Usability: When the development starts, the code should be usable as soon as possible 3.3.4 Development Method: The method or approach used for this software design is Incremental model. Incremental Model The Incremental model combines elements of the linear sequential model with the iterative philosophy of the prototyping. This model has been explicitly designed to accommodate a product that evolves over time. When an incremental model is used, the first increment is often a core product. The core product is used by the customer or undergoes a detailed review. As a result of use and/or evaluation a plan is developed for the next increment. The plan addresses the modification to the core product to better meet the needs of the customer and delivery of additional features and functiona lity. Software is constructed in a step-by-step manner. While a software product is being developed, each step adds to what has already been completed. Incremental software development model is applicable to project because: Software Requirements are well defined. The basic software functionality can be achieved early. Flexible Easier to test and debug during a smaller iteration. Easier to manage risk because risky pieces are identified and handled during its iteration.
Fig. 1: Incremental Life Cycle Model Advantages of incremental model Easier to test and debug during a smaller iteration. Easier to manage risk because risky pieces are identified and handled during its iteration. Generates working software quickly and early during the software life cycle. Easier to test and debug during a smaller iteration. Disadvantages of incremental model Each phase of an iteration is rigid and do not overlap each other. Problems may arise pertaining to system architecture because not all requirements are gathered up front for the entire software life cycle.
3.4 Architectural Strategies The strategy to accomplish “Online Examination” involve subject choosing by student, manual entry by administrator and complete the procedure of examination from user registration to result generation. These steps are the key insights to full fill the task of online examination. Following are the behavioral elements of the system architectural:
Using Java as programming language for development of system in both ways for standalone application as well as web development provides an ease in implementation. My SQL will be back-end support for the system to generate the desired result. It will be more helpful to access stored data from any remote location, other than server. Reuse of various built- in java libraries for efficient implementation of software product. It makes the database inserting and updating task quicker. A generalized approach to control the examination from any remote location is helpful with the use of My SQL database system which supports access of stored data from remote machine. User Interface paradigm includes System Input and Output models.
1. 2. 3. 4. 5. User registration form. Faculty registration form. Manual entry form. User details update form. Modify subject form (filled by admin).
1. Subject view. 2. View result. 3. User information view.
3.5 System Architecture: When designing a complex software system, it is essential to decompose it into smaller and smaller parts, each of which we may then refine independently. In this manner, we satisfy the every real constraint that exists on the channel capacity of human cognition: To understand any given level of a system, we need only to comprehend a few parts (rather than all parts) at once. Intelligent decomposition directly addresses the inherent complexity of software by forcing a division of a system's state space.
Online Examination may involve many phases. These phases are: Student:
Register- Student has to register before exam. Login- Student have to login for exam. Take test- Choosing the topic and take the test. Update details- Student can update their personal and professional details. View Result- After examination student can see the result. Admin: Login- Admin has to login for-
. Verify user
Insertion, deletion, modify questions Add subjects Maintain DB User creation and deletion
Brief Explanation of above Phases In the first phase, user have to register themselves at the website and then in the second phase they will get login to appear for online test. In third phase if any user wants to update their personal details and in next phase the user will take the test. After completion of test in next phase users can see their result. If admin wants to work on this system then many phases are faced by he/she. In first phase admin have to login and the other phases are depends on admin’s choice that what he/she wants to do, that may be verifying user. Insertion, deletion, modify questions. Add subjects. Maintain DB or user creation or deletion. The all above phases must be needed to complete the working of a online examination system.
3.5.1 Subsystem Architecture: The system consists of following subsystem: Registration of user
At the first level of Online Examination user must be register. For registration he/she will fill the information that are required in the registration form. After registration user will get an id and password for login. Login of user
After the level of registration, user will login by their id and password for appearing the test. Choosing the topic and take test At this level user would be able to choose the topic for test and give the test in given time. View result After completion of test user would be able to see the result. Update details If users wants to update their details than they can update it this system.
3.6 Policies and Tactics: The software will be using javac, JIT (just in time) compilers and JVM interpreter. and MySql database.
Coding guidelines and conventions: Flexible, open and extensible time table generation process. Rapid time table generator ensuring data integrity with no loss of data. Uniform approach for generation of time table for different semester and branches. Easy to Install and Easy to Use tool with user friendly and intuitive GUI.
Plans for ensuring requirements traceability: Requirement specifications and validation: First we prepare detailed software requirement specifications that includes functional, technical architecture and details and then validate those requirements. It includes: Systematic methodology to prioritize requirements. Creation, description, modification and progress tracking of project requirements. Classification of requirements, including the ability to have several independent classifications of the same requirement set.
Specification of relationships between requirements, including requirement decompositions, dependencies, correlations, conflicts, etc. Maintenance of traceability links from requirements to information sources where these requirements have originated.
Plans for testing the software: Run simple initial test plan that validates software installation. Check for login of user and admin. Check that test must be completed in given time. Report exceptions to client team Perform data validation Verify completion by checking the successful test completion.
Plans for maintaining the software: Maintaining Application & its performance. Maintaining Data Integrity. Maintain the tables and their relationship. Maintaining software continuity Maintaining the privacy and confidentiality of data. Maintain cost of software. How to build and/or generate the system's deliverables: Deliverables included need analysis, functional finding solutions, setup and testing. mapping, business process re-engineering,
3.7 Detailed System Design: 3.7.1 Use case description: A Use Case Diagram is a type of behavioral diagram defined by and created from a Use-case analysis. It is used to identify the primary elements and processes that form the system.
The primary elements are termed as "actors" and the processes are called "use cases." The Use case diagram shows which actors interact with each use case. The main purpose of a use case diagram is to show what system functions are performed for which actors. The elements used for this representation are • Actors • Use Cases • System Boundary • Associations
Use case description :
A Use Case Diagram is a type of behavioral diagram defined by and created from a Use-case analysis. It is used to identify the primary elements and processes that form the system. The primary elements are termed as "actors" and the processes are called "use cases." The Use case diagram shows which actors interact with each use case.The main purpose of a use case diagram is to show what system functions are performed for which actors. The elements used for this representation are • • • • Actors Use Cases System Boundary Associations
Use Case Diagram:
3.7.2 Sequence diagrams: The sequence diagram is used primarily to show the interactions between objects in the sequential order that those interactions occur. One of the primary uses of sequence diagrams is in the transition from requirements expressed as use cases to the next and more formal level of refinement. Use cases are often refined into one or more sequence diagrams. In addition to their use in designing new systems, sequence diagrams can be used to document how objects in an existing (call it "legacy") system currently interact.
3.7.3 Class Diagram: In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among the classes.
3.8 Glossary: DBMS A database management system (DBMS) is designed to manage a large body of information. Data management involves both defining structures for storing information and providing mechanisms for manipulating the information. GUI An interface for issuing commands to a computer utilizing a pointing device, such as a mouse, that manipulates and activates graphical SQL SQL is a database computer language designed for managing data in relational database management systems (RDBMS). HTML Hypertext markup language: a set of tags and rules for using them in developing hypertext documents. JIT In the Java programming language and environment, a just-in-time (JIT) compiler is a program that turns Java bytecode into instructions that can be sent directly to the processor. JVM A Java virtual machine (JVM), an implementation of the Java Virtual Machine Specification, interprets compiled Java binary code for a computer's processor so that it can perform a Java program's instructions.
UML UML is the abbreviation of unified modeling language. It is standardized general purpose modeling language in the field of software engineering created by object management group. It includes a set of graphic notations to create visual models of software. Policies: A policy is typically described as a principle or rule to guide decisions and achieve rational outcome(s). The term is not normally used to denote what is actually done, this is normally referred to as either procedure or protocol. Whereas a policy will contain the 'what' and the 'why', procedures or protocols contain the 'what', the 'how', the 'where', and the 'when'. Policies.
Use case diagram A use Case Diagram is a type of behavioral diagram defined by and created from a Usecase analysis. It is used to identify the primary elements and processes that form the system. Tactics It is defined as near term actions taken to solve specific problems or accomplish specific goals. Sequence diagram A sequence diagram shows a particular behavior sequence of the use case. It shows sequence of messages, not their exact timing. It is used to show the interaction of a system with its actor to perform all or part of use case. Collaboration diagram In collaboration diagram the interaction is drawn on what is essentially a fragment of a class or object diagram. Since the diagram has no time dimension the order in which messages are sent.
Elmasri, Navathe, “Fundamentals Of Database Systems”, Addision Wesley. Michael Blaha and J. Rumbugh, “Object oriented Modeling and design with UML”, Pearson Education. O’Docherty, “Object Oriented Analysis and Design Understanding, System Development with UML2.0”, Wiley India. Korth, Silbertz, Sudarshan, “Database Concepts”, McGraw Hill. Conway, Dreamtech Press.
Software project Management from concept to development Black Book by Kieron