[go: up one dir, main page]

Academia.eduAcademia.edu

Blackbook

A PROJECT ON “COLLEGE COMPLAINT MANAGEMENT SYSTEM” BY RUPALI T. YADAV Under the Guidance of MS. DIANA FERNANDES In partial fulfillment of B.Sc.(INFORMATION TECHNOLOGY) DEGREE OF UNIVERSITY OF MUMBAI APRIL-2016 DEPARTMENT OF INFORMATION TECHNOLOGY BIRLA COLLEGE OF ARTS , SCIENCE AND COMMERCE KALYAN BIRLA COLLEGE OF ARTS , SCIENCE AND COMMERCE KALYAN CERTIFICATE This is to certify that Ms. Rupali T. Yadav (Seat no. : ) has satisfactorily completed the project titled “College Complaint Management System” for partial fulfillment of the B.Sc. (Information Technology) of university of Mumbai for the year 2015-2016. Date : Place : Kalyan Internal Project Guide Signature of external examiner Course Co-Ordinator Acknowledgement With great pride and pleasure we present our project entitled “College complaint management system” the system to handle complaints of college. First of all we express our deepest thanks and gratitude to our internal project guide Prof. Diana Fernandes who gave us the support without which it would have been difficult to complete our project. We also deeply acknowledge our head of the department Prof. Varsha Ponkshe for their never ending encouragement, moral support during the preparation of our project. We would like to thanks our IT staff for providing us sufficient information , which helped us to complete our project successfully. Lastly we also obliging to all those who directly and indirectly helped in completion of this project. By Rupali T. Yadav Sr. No. Description page no. 1 Synopsis  6 2 Literature Survey 2.1 Introduction  8     2.2 scope and purpose     2.3 System requirement and analysis     2.4 System architecture   3 Design  24   3.1 Introduction     3.2 Model used     3.3 Diagrams     3.3.1 E-R diagrams     3.3.2 DFD     3.3.3 sequence diagram     3.3.4 activity diagram 3.3.5 Use case diagram 3.3.6 Class diagram   4 Database designs 39 5 validation of software 41   5.1 screenshots     5.2 System coding   6 System testing 80   6.1 Methodology used for testing     6.2 Test reports & project evaluation 6.3 Test plan   7 Gantt chart 90 8 Conclusion/Future scope 91   8.1 Conclusion     8.2 future scope   9 Bibliography  92 INDEX COLLEGE COMPLAINT MANAGEMENT SYSTEM SYNOPSIS INTRODUCTION College Complaint System is software has the perspective of attaining attraction of those colleges which don’t have one good performing software for keeping their Complaint System to make their management easier. CCMS provides one attractive environment where you can manipulate data and Complaint information about students and staff easily. So we can say the Core purpose of designing “College Complaint Management System” is to manage the complaints related to the college students, employees, (Principal, HOD, Faculty, Library Head, Library User). Main aim in developing College Complaint Management System (CCMS) is to provide an easy way not only to automate all functionalities of a college, but also to provide full functional reports to top management of college with the finest of details about any aspect of college. PROJECT DEFINITION Complaint management system provides services for arrived complaint of students to the college. People can get reply of their complaints. Administrator can see all the complaints & individual department complaints. PURPOSE OF SYSTEM The purpose of this project is to provide the facility to college students to register their complaints and getting reply from the complaint handling departments. The system allows students to register and as soon as they register an account with username is created in the system. Student can register complaints as well as they can get feedback for previously register complaints. Complaint management system provides services for arrived complaint of students to the college. People can get reply of their complaints. Administrator can see all the complaints & individual department complaints. Features of new system The proposed system is automated process of sending request through the web based system. The complaints can be sent easily by the college students from anywhere. Students can create their profiles in the system and they can easily access database. This also provides security for the customer information. Automated System Save time Fast registration and access Fast reply LITERATURE SURVEY 2.1 INTRODUCTION Basically Literature survey shows that you not only understand what you have done, but you understand what others have done related to your subject – the broader context. Brilliant people have already done lots of work on your subject. If you can tell people about what research has already been done and what methods already exist, then your readers will think that at least you are interested in your topic, have some self initiative and are informed and up-to-date. It shows that you are intelligent enough to evaluate the quality of the other work done on the subject, i.e., it shows that you are capable of thinking critically and identifying strengths and weakness. It gives you opportunity to tell how your project is related to previous work done by others on the subject. It tells the reader if you are simply going to duplicate others’ work for the sake of gaining a better understanding, improve upon others’ work or perhaps combine the methodology of two or more existing approaches to solving a problem. 2.2 LITERATURE SURVEY RELATED OUR PROJECT In this chapter we are going to the explain about the related our project research paper , white paper, books . We give the information about a project related work. RESEARCH PAPERS ( Nursing college complaint management ) : ABSTRACT: The College of Nurses of Ontario (the College) is the regulatory body for the nursing profession in Ontario. Its mandate is to regulate the profession in the public interest. Despite the word ‘college’, it is not an educational institution. Rather, the College registers individuals who are qualified to practice nursing in Ontario, supports nurses in their practice, and resolves complaints about nursing care. The College exists to protect your right to quality nursing services. One of the ways we do this is by publishing practice standards. The College develops these documents in collaboration with practicing nurses. The standards outline what nurses area countable for when providing care, and promote safe, ethical and effective care for the public .The vast majority of nurses provide the public with high quality care. But, what should you do if you have concerns that the care provided by a nurse has not met the standards? You have the right to express your concerns about nurses to the College. The College is required by law to respond to all complaints about nursing care. RESEARCH PAPERS 2 ( customer complaint management ): ABSTRACT : One of the fundamental parts of Industry is customer complaint management. And for each of the functions from registering a complaint to resolution of complaint there are administrative bodies. Hence the process of filing a complaint by a customer till it gets resolved by a regulatory body is conventional. Complaints not only incur direct expenses but also indirect expenses. Hence complaints are expensive. However as the complaints embrace the voice of the customer they provide critical knowledge about the company and its products which can be utilized for the improvement of the organization. Hence it is very crucial for companies to have a system which manages complaints for them and hence customer complaint management system (CCMS) is a step towards compliance management. As the data accumulated from various complaints keeps on increasing it becomes difficult to efficiently manage the complaints. Moreover most of the complaint management systems are only web based and go through various problems when used on mobile phones, as they are not built specifically for mobile devices. However by the use of mobile cloud computing the all the hindrances of having a smooth and efficient complaint management system could be solved. 2.3 SYSTEM ANALYSIS Existing System The existing system is completely manual. In order to write the complaint, the student either • visits the related department and registers his complaint in the respective complaint register, which is monitored by the respective Department heads. OR • submit a letter regarding the subject of the complaint and get a photocopy of the complain copy for future reference. Limitations in Existing System The work stops when the server is down. If the administrator is corrupt then the complaint may go to the wrong person. Administrator is required to carry out the functions of software Good Network is required. Scope and purpose Basically our project avoids the manually work recently done by the students related to complaints registration. Our project provides the online solution to our students to do the task in less than minute. The system is the solution to maintain and manage the work with the minimum efforts. The college complaint management system will provide the better solution to our users to register complaints. Our aim is to provide solution for manual work and it’s the way to that. In our system there are basically two main modules which act as the components of the system. The main module is the administrator which handles the all task related to the management. There are some functions which the component of system can perform are as follows: Administrator: Manages user accounts. Manages user credentials. Manages the complaints. Update the complaints. Manages the feedbacks. Manage services. Customer: Register and login to the system. Complaint registration. Give suggestions. Manage profile. Modules Description Login Student Profile Registration Admin profile Complaint Feedback The motivation we got from the current college system that it is fully manual and very time consuming also many physical work is required for it. So it is good to take help form technology and make this all arrangement by web base software also it will be more fast because the complaint will directly sent by the administrator to the incharge of the correct department. And to see the status of last complaint it is very easy to see by the given complaint number and to do further procedure (if required). It becomes very confidential when no other observes the complaint then the concerned faculty. 2.4 SYSTEM ARCHITECTURE A system architecture or systems architecture is the conceptual model that defines the structure, behavior, and more views of a System. An architecture description is a formal description and representation of a system, organized in a way that supports reasoning about the structures and behaviors of the system. System architecture can comprise system components, the externally visible properties of those components, the relationships (e.g. the behavior) between them. It can provide a plan from which products can be procured, and systems developed, that will work together to implement the overall system. There have been efforts to formalize languages to describe system architecture; collectively these are called architecture description languages (ADLs). Basically our system is developed for the complaint registration purpose and in system there are modules, components, proper structure of system in our system there are main components as modules are the user and the administrator. The user component can do the following task as follows: The user must be register to do operations which are related to the user. The registered user can register a complaint regarding college. The registered user can cancel the complaint. The registered user can view the complaint. The registered user can give the feedback to the system. The registered user can retrieve the password by entering registered email address. The second main is component the administrator. The administrator can do the following task. The administrator can manage the complaints. The administrator manages the feedback. The administrator manages user (student) information. The administrator generates the view. The administrator allocates the complaint ID. The administrator can modify the information of system. The administrator manages the complaints information. FEASIBILITY STUDY Feasibility Study is a high level capsule version of the entire process intended to answer a number of questions like: What is the problem? Is there any feasible solution to the given problem? Is the problem even worth solving? Feasibility study is conducted once the problem clearly understood. Feasibility study is necessary to determine that the proposed system is Feasible by considering the technical, Operational, and Economical factors. By having a detailed feasibility study the management will have a clear-cut view of the proposed system. The following feasibilities are considered for the project in order to ensure that the project is variable and it does not have any major obstructions. Feasibility study encompasses the following things: Technical Feasibility Economical Feasibility Operational Feasibility In this phase, we study the feasibility of all proposed systems, and pick the best feasible solution for the problem. The feasibility is studied based on three main factors as follows. TECHNICAL FEASIBILITY: In this step, we verify whether the proposed systems are technically feasible or not. i.e., all the technologies required to develop the system are available readily or not. Technical Feasibility determines whether the organization has the technology and skills necessary to carry out the project and how this should be obtained. The system can be feasible because of the following grounds. All necessary technology exists to develop the system. This system is too flexible and it can be expanded further. This system can give guarantees of accuracy, ease of use, reliability and the data security. This system can give instant response to inquire. Our project is technically feasible because, all the technology needed for our project is readily available. ECONOMICAL FEASIBILITY : In this step, we verify which proposal is more economical. We compare the financial benefits of the new system with the investment. The new system is economically feasible only when the financial benefits are more than the investments and expenditure. Economical Feasibility determines whether the project goal can be within the resource limits allocated to it or not. It must determine whether it is worthwhile to process with the entire project or whether the benefits obtained from the new system are not worth the costs. Financial benefits must be equal or exceed the costs. In this issue, we should consider: The cost to conduct a full system investigation. The cost of hardware and software for the class of application being considered. The development tool. The cost of maintenance etc., Our project is economically feasible because the cost of development is very minimal when compared to financial benefits of the application. OPERATIONAL FEASIBILITY : In this step, we verify different operational factors of the proposed systems like man-power, time etc., whichever solution uses less operational resources, is the best operationally feasible solution. The solution should also be operationally possible to implement. Operational Feasibility determines if the proposed system satisfied user objectives could be fitted into the current system operation. The methods of processing and presentation are completely accepted by the clients since they can meet all user requirements. The clients have been involved in the planning and development of the system. The proposed system will not cause any problem under any circumstances. Our project is operationally feasible because the time requirements and personnel requirements are satisfied. We are a team of two members and we worked on this project for three working months. CULTURAL FEASIBILITY: In this step, the project alternatives are evaluated for their impact on local general culture. For example, environmental factors need to be considered and these factors are to be well known. Further an enterprise own culture can clash with the result of project. Our project is culturally feasible because we have developed the project by considering all cultural factors and at all so our project is culturally feasible. BACK END TECHNOLOGY MICROSOFT SQL SERVER 2008 To store the data in databases we have used the “Microsoft® SQL Server® 2008”. This gives the efficient way to store the data in the database and the data which is we have to stored in the database which will be the protected because the “Microsoft® SQL Server® 2008” provides authentication to access the database which we will store or which has been stored. SQL SERVER 2008 Microsoft SQL Server is a relational database management system developed by Microsoft. As a database, it is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network (including the Internet). There are at least a dozen different editions of Microsoft SQL Server aimed at different audiences and for workloads ranging from small single-machine applications to large Internet-facing applications with many concurrent users. Its primary query languages are T-SQL and ANSI SQL SQL Server 2008 was released on August 6, 2008 and aims to make data management self-tuning, self organizing, and self maintaining with the development of SQL Server Always On technologies, to provide near-zero downtime. SQL Server 2008 also includes support for structured and semi-structured data, including digital media formats for pictures, audio, video and other multimedia data. In current versions, such multimedia data can be stored as BLOBs (binary large objects), but they are generic bit streams. Intrinsic awareness of multimedia data will allow specialized functions to be performed on them. According to Paul Flessner, senior Vice President, Server Applications, Microsoft Corp., SQL Server 2008 can be a data storage backend for different varieties of data: XML, email, time/calendar, file, document, spatial, etc as well as perform search, query, analysis, sharing, and synchronization across all data types. Other new data types include specialized date and time types and a spatial data type for location-dependent data. Better support for unstructured and semi-structured data is provided using the new FILESTREAM data type, which can be used to reference any file stored on the file system. Structured data and metadata about the file is stored in SQL Server database, whereas the unstructured component is stored in the file system. Such files can be accessed both via Win32 file handling APIs as well as via SQL Server using T-SQL; doing the latter accesses the file data as a BLOB. Backing up and restoring the database backs up or restores the referenced files as well. SQL Server 2008 also natively supports hierarchical data, and includes T-SQL constructs to directly deal with them, without using recursive queries. The Full-text search functionality has been integrated with the database engine. According to a Microsoft technical article, this simplifies management and improves performance. Spatial data will be stored in two types. A "Flat Earth" (GEOMETRY or planar) data type represents geospatial data which has been projected from its native, spherical, coordinate system into a plane. A "Round Earth" data type (GEOGRAPHY) uses an ellipsoidal model in which the Earth is defined as a single continuous entity which does not suffer from the singularities such as the international dateline, poles, or map projection zone "edges". Approximately 70 methods are available to represent spatial operations for the Open Geospatial Consortium Simple Features for SQL, Version 1.1. SQL Server includes better compression features, which also helps in improving scalability. It enhanced the indexing algorithms and introduced the notion of filtered indexes. It also includes Resource Governor that allows reserving resources for certain users or workflows. It also includes capabilities for transparent encryption of data (TDE) as well as compression of backups. SQL Server 2008 supports the ADO.NET Entity Framework and the reporting tools, replication, and data definition will be built around the Entity Data Model. SQL Server Reporting Services will gain charting capabilities from the integration of the data visualization products from Dundas Data Visualization, Inc., which was acquired by Microsoft. On the management side, SQL Server 2008 includes the Declarative Management Framework which allows configuring policies and constraints, on the entire database or certain tables, declaratively. The version of SQL Server Management Studio included with SQL Server 2008 supports IntelliSense for SQL queries against a SQL Server 2008 Database Engine. SQL Server 2008 also makes the databases available via Windows PowerShell providers and management functionality available as Cmdlets, so that the server and all the running instances can be managed from Windows PowerShell. The final SQL Server 2008 service pack (10.00.6000, Service Pack 4) was released on September 30, 2014. ARCHITECTURE DESIGN Software architecture is the high level structure of a software system, the discipline of creating such structures, and the documentation of these structures. It is the set of structures needed to reason about the software system, and comprises the software elements, the relations between them, and the properties of both elements and relations. The architecture of a software system is a metaphor, analogous to the architecture of a building. Software architecture choices include specific structural options from possibilities in the design of software. For example, the systems that controlled the space shuttle launch vehicle have the requirement of being very fast, and very reliable, in principle. Therefore an appropriate real-time computing language would be chosen. Similarly, multiple redundant independently produced copies of a program running on independent hardware and crosschecking results would be a software system architecture choice to satisfy the need for reliability. Software architecture is about making fundamental structural choices which are costly to change once implemented, i.e., which are used to 'house' the more changeable elements of the program, e.g., an operating system.  Multi-Tier Design  The new system design logically divides computing tasks across the application. Viewed from a purely functional standpoint, most applications perform the following three main tasks: gathering user input, storing the input as data, and manipulating the data as dictated by established operational procedures. These tasks can be grouped into three or more tiers, which is why the new system design provides for three-tier, or multitier applications. Three Layers of Multi-Tier Design: Client Tier The user interface or presentation layer. Through this topmost layer, the user can input data, view the results of requests, and interact with the underlying system. On the Web, the browser performs these user interface functions. In non Web based applications, the client tier is a stand-alone, compiled front-end application. Middle Tier Components that encapsulate an organization's business logic. These processing rules closely mimic everyday business tasks, and can be single-task oriented, or part of a more elaborate series of tasks in a business workflow. In a Web application, the middle tier might consist of Microsoft® Component Object Model (COM) components registered as part of a transactional application or instantiated by a script in Active Server Pages (ASP). Third Tier A database management system (DBMS) such as a Microsoft® SQL Server" database, an unstructured data store such as Microsoft® Exchange, or a transaction-processing mechanism such as Transaction Services or Message Queuing. A single application can enlist the services of one or more of these data providers. Application tiers don't always correspond to physical locations on the network. For example, the middle and third tiers may coexist on the same server running both IIS 5.0 and SQL Server, or they could be separate. The middle tier alone may tie together several computers, and sometimes the server becomes a client itself. Separating the application into layers isolates each major area of functionality. The presentation is independent of the business logic, which is separate from the data. Designing applications in this way has its tradeoffs; it requires a little more analysis and design at the start, but greatly reduces maintenance costs and increases functional flexibility in the end. The explosive growth of the Internet is a strong motivation for organizations to adopt n-tier architectures in their products. However, organizations still face challenges. How can they take advantage of new technologies while preserving existing investments in people, applications, and data? How can they build modern, scalable computing solutions that are dynamic and easy to change? How can they lower the overall cost of computing while making complex computing environments work? One solution is Microsoft® Windows® Distributed interNet Applications (DNA). SOFTWARE REQUIREMENTS SPECIFICATIONS NEED OF SOFTWARE REQUIREMENTS SPECIFICATIONS The origin of the most software system is the need of some clients. The software system itself is created by some developers. Finally, the completed system will be used by the end users. Thus, there are three major parties interested in the new system: the client, the developer, and the end user. Somehow the requirements for the system that will satisfy the need of the clients and the concerns of the users have to be communicated to the developer. The problem is that the client usually does not understand the software or the software development process, and the developer often does not understand the client’s problems and application area. This cause a communication gap between the parties involved in the development project. A basic purpose of software requirements specification is to bridge this communication gap. Software Requirements Specification is the medium through which the client and user needs are accurately specified to the developer. Hence one of the main advantages is: An SRS establishes the basis for agreement between the client and the supplier on what the software product will do. An SRS provides a reference for validation of the final product. A high-quality SRS is a prerequisite to high-quality software. A high-quality SRS reduces the development cost. A software requirements specification (SRS) is a description of a software system to be developed, laying out functional and non-functional requirements, and may include a set of use cases that describe interactions the users will have with the software. Software requirements specification establishes the basis for an agreement between customers and contractors or suppliers (in market-driven projects, these roles may be played by the marketing and development divisions) on what the software product is to do as well as what it is not expected to do. Software requirements specification permits a rigorous assessment of requirements before design can begin and reduces later redesign. It should also provide a realistic basis for estimating product costs, risks, and schedules. The software requirements specification document enlists enough and necessary requirements that are required for the project development. To derive the requirements we need to have clear and thorough understanding of the products to be developed or being developed. This is achieved and refined with detailed and continuous communications with the project team and customer till the completion of the software. The SRS of our system is as follows: Introduction We have created the website for the complaint management purpose and we have provided services to register complaints online and students can also give their suggestions regarding complaints. Purpose The purpose of our system is to avoid the manual work and gives the flexibility and to provide good services to our users. Basically our system is used to manage the historical data as well as current data and such a data can be used to improve the performance, quality, reliability of the system. System overview The proposed system is automated process of sending request through the web based system. The complaints can be sent easily by the college students from anywhere. Students can create their profiles in the system and they can easily access database. This also provides security for the customer information. References For the creating the system for the online complaints management we have referred some documentations related to online complaint management services by referring some documentation among the we have created our system. We have used the facilities such as internet and some websites like a google.com and youtube.com. Scope The scope of our system now it on the state level, but it will be wide, when the customer’s needs will goes increased. Our system is reliable and portable so it will be use full for customers in any hardware and software requirement specifications. 6. Software system attributes Reliability: Our system is reliable and the user friendly. And works fine with the graphical user interface for more attractions with the customers. Maintainability our system prevent unexpected breakdowns, our system has maximize efficiency, reliability, and safety, our system meets new requirements, HARDWARE AND SOFTWARE SPECIFICATIONS Minimum Hardware and Software Specifications (Required running the system) 1) Processor: Dual Core or higher 2) RAM: 2GB or greater 3) Hard Disk: 5GB 4) Modern web Browser like IE11, Opera, Firefox, Google Chrome etc. Hardware and software Specifications (Used for development) 1) Operating System: Windows 7 2) Processor: Intel Dual Core i3 3) Languages: ASP.NET with C # 4) Front End: Visual Studio 2010 Professional 5) Platform: Independent 6) Back End: Microsoft SQL Server 2008 DESIGN 3.1 INTRODUCTION Software process model deals with the model which we are going to use for the development of the project. There are many software process models available but while choosing it we should choose it according to the project size that is whether it is industry scale project or big scale project or medium scale project. Accordingly the model which we choose should be suitable for the project as the software process model changes the cost of the project also changes because the steps in each software process model varies. 3.2 Model Used This software is build using the waterfall model. This model suggests work cascading from step to step like a series of waterfalls. It consists of the following steps in the following manner WATERFALL MODEL:- The sequential phases in Waterfall model are: Requirement Gathering and analysis: All possible requirements of the system to be developed are captured in this phase and documented in a requirement specification doc. System Design: The requirement specifications from first phase are studied in this phase and system design is prepared. System Design helps in specifying hardware and system requirements and also helps in defining overall system architecture. Implementation: With inputs from system design, the system is first developed in small programs called units, which are integrated in the next phase. Each unit is developed and tested for its functionality which is referred to as Unit Testing. Integration and Testing: All the units developed in the implementation phase are integrated into a system after testing of each unit. Post integration the entire system is tested for any faults and failures. Deployment of system: Once the functional and non functional testing is done, the product is deployed in the customer environment or released into the market. Maintenance: There are some issues which come up in the client environment. To fix those issues patches are released. Also to enhance the product some better versions are released. Maintenance is done to deliver these changes in the customer environment. All these phases are cascaded to each other in which progress is seen as flowing steadily downwards (like a waterfall) through the phases. The next phase is started only after the defined set of goals are achieved for previous phase and it is signed off, so the name "Waterfall Model". In this model phases do not overlap. 3.3 DIAGRAMS 3.3.1 ER Diagram : In software engineering, an entity–relationship model (ER model) is a data model for describing the data or information aspects of a business domain or its process requirements. Structure of an Entity Relationship Diagram with Common ERD Notations An entity relationship diagram is a means of visualizing how the information a system produces is related. There are five main components of an ERD: Entities, which are represented by rectangles. An entity is an object or concept about which you want to store information. A weak entity is an entity that must defined by a foreign key relationship with another entity as it cannot be uniquely identified by its own attributes alone. Actions, which are represented by diamond shapes, show how two entities share information in the database. In some cases, entities can be self-linked. For example, employees can supervise other employees. Attributes, which are represented by ovals. A key attribute is the unique, distinguishing characteristic of the entity. For example, an employee's social security number might be the employee's key attribute.  A multivalued attribute can have more than one value. For example, an employee entity can have multiple skill values. A derived attribute is based on another attribute. For example, an employee's monthly salary is based on the employee's annual salary. Connecting lines, solid lines that connect attributes to show the relationships of entities in the diagram. Cardinality specifies how many instances of an entity relate to one instance of another entity. Ordinality is also closely linked to cardinality. While cardinality specifies the occurrences of a relationship, ordinality describes the relationship as either mandatory or optional. In other words, cardinality specifies the maximum number of relationships and ordinality specifies the absolute minimum number of relationships. Fig.: ER diagram 3.3.2 Data Flow Diagram : A data flow diagram (DFD) illustrates how data is processed by a system in terms of inputs and outputs. As its name indicates its focus is on the flow of information, where data comes from, where it goes and how it gets stored. Level 0 : Fig.: level 0 DFD Level 1 : Fig. level 1 DFD 3.3.3 Sequence Diagram : A Sequence diagram is an interaction diagram that shows how processes operate with one another and what is their order. It is a construct of a Message Sequence Chart. A sequence diagram shows object interactions arranged in time sequence. It depicts the objects and classes involved in the scenario and the sequence of messages exchanged between the objects needed to carry out the functionality of the scenario. Sequence diagrams are typically associated with use case realizations in the Logical View of the system under development. Sequence diagrams are sometimes called event diagrams or event scenarios. A sequence diagram shows, as parallel vertical lines (lifelines), different processes or objects that live simultaneously, and, as horizontal arrows, the messages exchanged between them, in the order in which they occur. This allows the specification of simple runtime scenarios in a graphical manner. Sequence diagram for the complaint registered by student. Fig : sequence diagram 3.3.4 ACTIVITY DIAGRAM: OVERVIEW: Activity diagram is another important diagram in UML to describe dynamic aspects of the system. Activity diagram is basically a flow chart to represent the flow form one activity to another activity. The activity can be described as an operation of the system. So the control flow is drawn from one operation to another. This flow can be sequential, branched or concurrent. Activity diagrams deals with all type of flow control by using different elements like fork, join etc. PURPOSE: The basic purposes of activity diagrams are similar to other four diagrams. It captures the dynamic behavior of the system. Other four diagrams are used to show the message flow from one object to another but activity diagram is used to show message flow from one activity to another. Activity is a particular operation of the system. Activity diagrams are not only used for visualizing dynamic nature of a system but they are also used to construct the executable system by using forward and reverse engineering techniques. The only missing thing in activity diagram is the message part. It does not show any message flow from one activity to another. Activity diagram is some time considered as the flow chart. Although the diagrams looks like a flow chart but it is not. It shows different flow like parallel, branched, concurrent and single. So the purposes can be described as: Draw the activity flow of a system. Describe the sequence from one activity to another. Describe the parallel, branched and concurrent flow of the system. Activity Diagram : Fig.: Activity diagram 3.3.5 CLASS DIAGRAM OVERVIEW : The class diagram is a static diagram. It represents the static view of an application. Class diagram is not only used for visualizing, describing and documenting different aspects of a system but also for constructing executable code of the software application. The class diagram describes the attributes and operations of a class and also the constraints imposed on the system. The class diagrams are widely used in the modeling of object oriented systems because they are the only UML diagrams which can be mapped directly with object oriented languages. The class diagram shows a collection of classes, interfaces, associations, collaborations and constraints. It is also known as a structural diagram. PURPOSE : The purpose of the class diagram is to model the static view of an application. The class diagrams are the only diagrams which can be directly mapped with object oriented languages and thus widely used at the time of construction. The UML diagrams like activity diagram, sequence diagram can only give the sequence flow of the application but class diagram is a bit different. So it is the most popular UML diagram in the coder community. So the purpose of the class diagram can be summarized as: Analysis and design of the static view of an application. Describe responsibilities of a system. Base for component and deployment diagrams. Forward and reverse engineering. Class diagram Add_complaint Add_feedback login usertype name usertype title Email id username description contact_no. password date comments status branch Manage_complaint profile settings user name current password title DOB new password date address confirm password status contact no. view email ID qualification branch Registration name DOB address contact no. email ID qualification branch Fig.: Class diagram 3.3.6 USE CASE DIAGRAMS : OVERVIEW: To model a system the most important aspect is to capture the dynamic behavior. To clarify a bit in details, dynamic behavior means the behavior of the system when it is running /operating. So only static behavior is not sufficient to model a system rather dynamic behavior is more important than static behavior. In UML there are five diagrams available to model dynamic nature and use case diagram is one of them. Now as we have to discuss that the use case diagram is dynamic in nature there should be some internal or external factors for making the interaction. These internal and external agents are known as actors. So use case diagrams are consists of actors, use cases and their relationships. The diagram is used to model the system/subsystem of an application. A single use case diagram captures a particular functionality of a system. So to model the entire system numbers of use case diagrams are used. PURPOSE: The purpose of use case diagram is to capture the dynamic aspect of a system. But this definition is too generic to describe the purpose. Because other four diagrams (activity, sequence, collaboration and State chart) are also having the same purpose. So we will look into some specific purpose which will distinguish it from other four diagrams. Use case diagrams are used to gather the requirements of a system including internal and external influences. These requirements are mostly design requirements. So when a system is analyzed to gather its functionalities use cases are prepared and actors are identified. Now when the initial task is complete use case diagrams are modeled to present the outside view. So in brief, the purposes of use case diagrams can be as follows: Used to gather requirements of a system. Used to get an outside view of a system. Identify external and internal factors influencing the system. Show the interacting among the requirements are actors. For Administrator : For Student : DATABASE DESIGN 4.1 DATABASE TABLES Admin column name datatype constraints Adminid int primary key Username varchar(15) Fname varchar(20) Lname varchar(20) Password varchar(10) user column name datatype constraints userid int primary key Fname Varchar(20) Mname varchar(20) Lname varchar(20) DOB int Address varchar(10) Contactno. Varchar(10) emailaddress Varchar(15) Add_complaint column name datatype constraints Complaint_id int primary key userid int foreign key Username varchar(15) From user varchar(20) To user varchar(20) title varchar(10) description varchar(50) date int status Varchar(10) Feedback column name datatype constraints userid int foreign key Username varchar(15) Emailaddress varchar(20) Contactno. varchar(20) comments varchar(10) 4.1 ENTITY AND ATTRIBUTES complaint usertype title description date status branch Registration name DOB address contact no. email ID qualification branch Manage_complaint user title date status view feedback name Email id contact_no. comments profile name DOB address contact no. email ID qualification branch VALIDATION OF SOFTWARE 5.1 SCREEN SHOTS DEFAULT PAGE: This form is displayed when user clicks on homepage link. This form gives basic information about the services provided along with the important features. It has a separate window which allows user/admin to login/logout to/from the website. It provides two radio buttons one for the user login and other for the admin respectively. It also provides links to the pages like new user registration, retrieving forgotten password etc. From this page the student can navigate to any menu by looking the menu list at the right site of the page. SIGN-UP PAGE: This form is displayed when user clicks Register Now on the Home Page. This form creates the account of the student. It has basic fields like First Name, Last Name, Mobile Number, date of birth, Email Address, Password and Confirmed Password. By clicking on the register button it will be redirect to the successful register page then the successful register page will close. After successful registration the user will b able to add complaints. CHANGE PASSWORD PAGE : This is the page of the student where the student can change the password of the account. ADD COMPLAINT PAGE: This page allows student to add new complaints from their accounts regarding any issues. MANAGE COMPLAINT PAGE: This page allows student to view their previous complaints status. MY PROFILE PAGE: This is the page of the student where the student can update their personal information. ADD FEEDBACK PAGE : This page will allow student to add their suggestions or feedback regarding particular complaint. ADMIN LOGIN PAGE : ADD NEW USER ( principle/HOD/faculty/library head/library user/lab/student) : USER PROFILE ( principle/HOD/faculty/library head/library user/lab/student) : Manage_complaints page : Manage_feedback : Log out page 5.2 CODING : Default.aspx.cs using System; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (Session["aid"] == "") { Response.Redirect("Login.aspx?msg=logout"); } } } Add_complaint.aspx.cs using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; public partial class Add_complaint : System.Web.UI.Page { SqlConnection conn; public SqlDataAdapter da; public DataSet ds; public SqlDataReader dr; public string cs = ConfigurationManager.AppSettings["ConnectionString"].ToString(); public string username_valid; public int user_id; public int f_id; public int t_id; public int Comp_id; public int user_type_id; protected void Page_Load(object sender, EventArgs e) { if (Session["aid"] == "") { Response.Redirect("Login.aspx?msg=logout"); } else { user_type_id = Convert.ToInt32(Session["type_id"]); if (user_type_id == 1 || user_type_id == 2 || user_type_id == 5 || user_type_id == 7) { ddlBranch_from.Visible = false; Label3.Visible = false; //ddlBranch_to.Visible = false; } user_id = Convert.ToInt32(Session["aid"]); Comp_id = Convert.ToInt32(Request.QueryString["Comp_id"]); if (Request.QueryString["action"] == "view" && this.IsPostBack == false) { conn = new SqlConnection(cs); conn.Open(); da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "select user_id,To_user_id,user_type_id from Complaint where Comp_id=@Comp_id "; da.SelectCommand.CommandType = CommandType.Text; da.SelectCommand.Parameters.AddWithValue("@Comp_id", Comp_id); ds = new DataSet(); da.Fill(ds, "select_name"); f_id = Convert.ToInt32(ds.Tables["select_name"].Rows[0]["User_id"]); t_id = Convert.ToInt32(ds.Tables["select_name"].Rows[0]["To_user_id"]); user_type_id = Convert.ToInt32(ds.Tables["select_name"].Rows[0]["user_type_id"]); //branch = Convert.ToString(ds.Tables["select_name"].Rows[0]["Branch"]); //ddlFromuser.SelectedIndex = f_id; //ddlTouser.SelectedIndex = t_id; conn = new SqlConnection(cs); conn.Open(); da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "select Branch from Muser where user_id=@User_id"; da.SelectCommand.CommandType = CommandType.Text; da.SelectCommand.Parameters.AddWithValue("@User_id", f_id); ds = new DataSet(); da.Fill(ds, "branch"); ddlBranch_from.SelectedValue = Convert.ToString(ds.Tables["branch"].Rows[0]["Branch"]); //TextBox1.Text = Convert.ToString(ds.Tables["branch"].Rows[0]["Branch"]); conn = new SqlConnection(cs); conn.Open(); da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "select Branch from Muser where user_id=@User_id"; da.SelectCommand.CommandType = CommandType.Text; da.SelectCommand.Parameters.AddWithValue("@User_id", t_id); ds = new DataSet(); da.Fill(ds, "branch1"); //TextBox2.Text = Convert.ToString(ds.Tables["branch1"].Rows[0]["Branch"]); ddlBranch_to.SelectedValue = Convert.ToString(ds.Tables["branch1"].Rows[0]["Branch"]); conn = new SqlConnection(cs); conn.Open(); da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "select comp_id,(select (First_name+' '+Last_name)as Fname from Muser where user_id=@F_id) as Fname,(select (First_name+' '+Last_name)as Tname from Muser where user_id=@T_id) as Tname,Title,Description,Date,Status,Priority from Complaint where Comp_id=@Comp_id"; da.SelectCommand.CommandType = CommandType.Text; da.SelectCommand.Parameters.AddWithValue("@Comp_id", Comp_id); da.SelectCommand.Parameters.AddWithValue("@F_id", f_id); da.SelectCommand.Parameters.AddWithValue("@T_id", t_id); ds = new DataSet(); da.Fill(ds, "complaint"); //ddlFromuser.SelectedValue= Convert.ToString(ds.Tables["select_name"].Rows[0]["User_id"]); //ddlTouser.SelectedValue = Convert.ToString(ds.Tables["select_name"].Rows[0]["To_user_id"]); txtTitle.Text = Convert.ToString(ds.Tables["complaint"].Rows[0]["Title"]); txtDescription.Text = Convert.ToString(ds.Tables["complaint"].Rows[0]["Description"]); BasicDatePicker1.SelectedDate = Convert.ToDateTime(ds.Tables["complaint"].Rows[0]["Date"]); ddlStatus.SelectedValue = Convert.ToString(ds.Tables["complaint"].Rows[0]["Status"]); ddlPriority.SelectedValue = Convert.ToString(ds.Tables["complaint"].Rows[0]["Priority"]); ddlFromuser.SelectedValue = Convert.ToString(f_id); ddlTouser.SelectedValue = Convert.ToString(t_id); DropDownList1.SelectedValue = Convert.ToString(user_type_id); // ddlFromuser.SelectedValue = Convert.ToString(user_id); // ddlTouser.SelectedValue = Convert.ToString(f_id); } ddlFromuser.SelectedValue = Convert.ToString(user_id); ddlBranch_from.Enabled = true; ddlBranch_to.Enabled = true; } } protected void btnSave_Click(object sender, EventArgs e) { Comp_id = Convert.ToInt32(Request.QueryString["Comp_id"]); user_type_id = Convert.ToInt32(Session["type_id"]); if (Request.QueryString["action"] == "view") { conn = new SqlConnection(cs); conn.Open(); da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "update complaint set description=@description,status=@status where comp_id=@comp_id"; da.SelectCommand.CommandType = CommandType.Text; da.SelectCommand.Parameters.AddWithValue("@comp_id",Comp_id); da.SelectCommand.Parameters.AddWithValue("@description", txtDescription.Text); da.SelectCommand.Parameters.AddWithValue("@status", ddlStatus.SelectedValue); //da.SelectCommand.Parameters.AddWithValue("@priority", ddlPriority.SelectedValue); da.SelectCommand.ExecuteNonQuery(); } else { conn = new SqlConnection(cs); conn.Open(); da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "insert into complaint (user_id,user_type_id,to_user_id,title,description,date,status) values(@user_id,@user_type_id,@to_user_id,@title,@description,@date,@status)"; da.SelectCommand.CommandType = CommandType.Text; da.SelectCommand.Parameters.AddWithValue("@user_id", ddlFromuser.SelectedValue); da.SelectCommand.Parameters.AddWithValue("@user_type_id", user_type_id); da.SelectCommand.Parameters.AddWithValue("@to_user_id", ddlTouser.SelectedValue); da.SelectCommand.Parameters.AddWithValue("@title", txtTitle.Text); da.SelectCommand.Parameters.AddWithValue("@description", txtDescription.Text); da.SelectCommand.Parameters.AddWithValue("@date", BasicDatePicker1.SelectedDate); da.SelectCommand.Parameters.AddWithValue("@status", 1); //da.SelectCommand.Parameters.AddWithValue("@priority", ddlPriority.Text); da.SelectCommand.ExecuteNonQuery(); Response.Redirect("manage_complaint.aspx?msg=save"); } } protected void Cancel_Click(object sender, EventArgs e) { } protected void ddlFromuser_SelectedIndexChanged(object sender, EventArgs e) { conn = new SqlConnection(cs); conn.Open(); da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "select * from Muser where user_id="+ ddlFromuser.SelectedValue+""; da.SelectCommand.CommandType = CommandType.Text; ds = new DataSet(); da.Fill(ds, "select_user"); ddlBranch_from.SelectedValue = Convert.ToString(ds.Tables["select_user"].Rows[0]["Branch"]); } protected void ddlTouser_SelectedIndexChanged(object sender, EventArgs e) { conn = new SqlConnection(cs); conn.Open(); da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "select * from Muser where user_id=" + ddlTouser.SelectedValue + ""; da.SelectCommand.CommandType = CommandType.Text; ds = new DataSet(); da.Fill(ds, "select_user"); ddlBranch_to.SelectedValue = Convert.ToString(ds.Tables["select_user"].Rows[0]["Branch"]); } } Add_feedback.aspx.cs using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; using System.IO; using Microsoft.VisualBasic; public partial class Add_feedback : System.Web.UI.Page { SqlConnection conn; public SqlDataAdapter da; public DataSet ds; public SqlDataReader dr; public string cs = ConfigurationManager.AppSettings["ConnectionString"].ToString(); public int user_id; public int user_type_id; public string email_id; public string name; public string phone; protected void Page_Load(object sender, EventArgs e) { email_id = Convert.ToString(Session["email_id"]); name = Convert.ToString(Session["uname"]); phone = Convert.ToString(Session["phone"]); txtEmail.Text = email_id; txtName.Text = name; txtNo.Text = phone; if (Session["aid"] == "") { Response.Redirect("Login.aspx?msg=logout"); } else { user_id = Convert.ToInt32(Session["aid"]); if (user_id == 0) { Response.Redirect("Login.aspx"); } } } protected void btnSubmit_Click(object sender, EventArgs e) { user_id = Convert.ToInt32(Session["aid"]); user_type_id = Convert.ToInt32(Session["type_id"]); Captcha1.ValidateCaptcha(txtCaptcha.Text.Trim()); if (Captcha1.UserValidated) { conn = new SqlConnection(cs); conn.Open(); da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "insert into Feedback (User_id,User_type_id,Name,Email_id,Contact_no,Description) values(@User_id,@User_type_id,@Name,@Email_id,@Contact_no,@Description)"; da.SelectCommand.CommandType = CommandType.Text; da.SelectCommand.Parameters.AddWithValue("@User_id", user_id); da.SelectCommand.Parameters.AddWithValue("@User_type_id", user_type_id); da.SelectCommand.Parameters.AddWithValue("@Name", txtName.Text); da.SelectCommand.Parameters.AddWithValue("@Email_id", txtEmail.Text); da.SelectCommand.Parameters.AddWithValue("@Contact_no", txtNo.Text); da.SelectCommand.Parameters.AddWithValue("@Description", txtComment.Text); da.SelectCommand.ExecuteNonQuery(); lblMessage.ForeColor = System.Drawing.Color.Green; lblMessage.Text = "Valid"; lblShow.Text = "Post Sucessfully"; Response.Redirect("Default.aspx"); } else { lblMessage.ForeColor = System.Drawing.Color.Red; lblMessage.Text = "InValid"; } } } Login.aspx.cs using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; using System.Data; public partial class Login : System.Web.UI.Page { SqlConnection conn; SqlCommand cmd; public DataSet ds; public SqlDataAdapter da; public string cs = ConfigurationManager.AppSettings["ConnectionString"].ToString(); public string username; public int user_id; public string firstname; public string middlename; public string lastname; public int user_type_id; public int branch_id; public string phone; protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["msg"] == "logout") { Session["aid"] = ""; lblshow.Text = "You Are Logout Sucessfully"; } } protected void btnLogin_Click(object sender, EventArgs e) { string u = (string)txtUsername.Text; string p = (string)txtPassword.Text; conn = new SqlConnection(cs); conn.Open(); da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "user_login"; da.SelectCommand.CommandType = CommandType.StoredProcedure; da.SelectCommand.Parameters.AddWithValue("@username", u); da.SelectCommand.Parameters.AddWithValue("@password", p); da.SelectCommand.Parameters.AddWithValue("@user_type_id", DropDownList1.SelectedValue); ds = new DataSet(); da.Fill(ds, "user_login"); if (ds.Tables["user_login"].Rows.Count == 0) { lblshow.Text = "Invalid Login Information"; txtUsername.Text = ""; txtPassword.Text = ""; txtUsername.Focus(); } else if (ds.Tables["user_login"].Rows.Count > 0) { firstname = Convert.ToString(ds.Tables["user_login"].Rows[0]["first_name"]); middlename = Convert.ToString(ds.Tables["user_login"].Rows[0]["middle_name"]); lastname = Convert.ToString(ds.Tables["user_login"].Rows[0]["last_name"]); user_id = Convert.ToInt32(ds.Tables["user_login"].Rows[0]["user_id"]); user_type_id = Convert.ToInt32(ds.Tables["user_login"].Rows[0]["user_type_id"]); branch_id = (int)(ds.Tables["user_login"].Rows[0]["branch"]); username = Convert.ToString(ds.Tables["user_login"].Rows[0]["Email_id"]); phone = Convert.ToString(ds.Tables["user_login"].Rows[0]["Contact_no"]); //custid = ds.Tables("admin_login").Rows(0).Item("admin_id") Session["aid"] = user_id; Session["uname"] = firstname + " " + middlename + " " + lastname; Session["type_id"] = user_type_id; Session["bid"] = branch_id; Session["email_id"] = username; Session["phone"] = phone; Response.Redirect("Default.aspx"); } } protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { if (DropDownList1.SelectedValue=="1") { Response.Redirect("admin/Admin_login.aspx"); } } } manage_complaint.aspx.cs using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; using System.IO; using System.Drawing; using System.Data; public partial class manage_complaint : System.Web.UI.Page { SqlConnection conn; public SqlDataAdapter da; public DataSet ds; public SqlDataReader dr; public string cs = ConfigurationManager.AppSettings["ConnectionString"].ToString(); public string username_valid; public int user_id; public int from_user_id; public string ids=""; protected void Page_Load(object sender, EventArgs e) { if (Session["aid"] == "") { Response.Redirect("Login.aspx?msg=logout"); } else { if (IsPostBack == false) { grid_fill(); } } } protected void grid_fill() { user_id = Convert.ToInt32(Session["aid"]); conn = new SqlConnection(cs); conn.Open(); da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "select comp_id,user_id,To_user_id from complaint where to_user_id=" + user_id + ""; da.SelectCommand.CommandType = CommandType.Text; ds = new DataSet(); da.Fill(ds, "from_user_id"); if (ds.Tables["from_user_id"].Rows.Count==0) { from_user_id = 0; } else { from_user_id = Convert.ToInt32(ds.Tables["from_user_id"].Rows[0]["user_id"]); } conn = new SqlConnection(cs); conn.Open(); da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "select c.comp_id,(first_name+' '+last_name)as from_user,c.title,c.date,case when status=1 then 'pending' else 'complete' end as status,case when priority=1 then 'low' when priority=2 then 'Medium' else 'High' end as priority from complaint c inner join Muser m on(c.user_id=m.user_id) where c.user_id=" + user_id + ""; da.SelectCommand.CommandType = CommandType.Text; ds = new DataSet(); da.Fill(ds, "fill"); GridView1.DataSource = ds; GridView1.DataBind(); } public string getstatusvalue( int status) { if (status == 1) { return "pending"; } else { return "Complete"; } } } profile.aspx.cs using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; using System.IO; using Microsoft.VisualBasic; public partial class profile : System.Web.UI.Page { SqlConnection conn; SqlCommand comm; public DataSet ds; public SqlDataAdapter da; public SqlDataReader dr; public string cs = ConfigurationManager.AppSettings["ConnectionString"].ToString(); public int user_id; public int user_type_id; public int branch_id; protected void Page_Load(object sender, EventArgs e) { if (Session["aid"] == "") { Response.Redirect("Login.aspx?msg=logout"); } else { if (Request.QueryString["msg"] == "update") { lblMessage.Text = "Your profile update sucessfully"; } if (IsPostBack == false) { user_id = Convert.ToInt32(Session["aid"]); branch_id = Convert.ToInt32(Session["bid"]); conn = new SqlConnection(cs); da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "my_profile"; da.SelectCommand.CommandType = CommandType.StoredProcedure; da.SelectCommand.Parameters.AddWithValue("@user_id", user_id); ds = new DataSet(); da.Fill(ds, "my_profile"); txtfirstname.Text = (string)(ds.Tables["my_profile"].Rows[0]["first_name"]); txtmiddle.Text = (string)(ds.Tables["my_profile"].Rows[0]["middle_name"]); txtlastname.Text = (string)(ds.Tables["my_profile"].Rows[0]["last_name"]); txtaddress.Text = (string)(ds.Tables["my_profile"].Rows[0]["address"]); txtemail.Text = (string)(ds.Tables["my_profile"].Rows[0]["email_id"]); BasicDatePicker1.SelectedDate = Convert.ToDateTime(ds.Tables["my_profile"].Rows[0]["dob"]); txtNo.Text = Convert.ToString(ds.Tables["my_profile"].Rows[0]["contact_no"]); txtQualification.Text = Convert.ToString(ds.Tables["my_profile"].Rows[0]["Qualification"]); DropDownList1.SelectedValue = Convert.ToString(branch_id); } } } protected void btnSave_Click(object sender, EventArgs e) { user_id=Convert.ToInt32(Session["aid"]); branch_id = Convert.ToInt32(Session["bid"]); conn = new SqlConnection(cs); conn.Open(); da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "profile_update"; da.SelectCommand.CommandType = CommandType.StoredProcedure; da.SelectCommand.Parameters.AddWithValue("@user_id", user_id); da.SelectCommand.Parameters.AddWithValue("@first_name", txtfirstname.Text); da.SelectCommand.Parameters.AddWithValue("@middle_name", txtmiddle.Text); da.SelectCommand.Parameters.AddWithValue("@last_name", txtlastname.Text); da.SelectCommand.Parameters.AddWithValue("@address", txtaddress.Text); da.SelectCommand.Parameters.AddWithValue("@email_id", txtemail.Text); da.SelectCommand.Parameters.AddWithValue("@dob",BasicDatePicker1.SelectedDate); da.SelectCommand.Parameters.AddWithValue("@contact_no", txtNo.Text); da.SelectCommand.Parameters.AddWithValue("@qualification", txtQualification.Text); //da.SelectCommand.Parameters.AddWithValue("@branch", DropDownList1.SelectedValue); da.SelectCommand.ExecuteNonQuery(); Response.Redirect("profile.aspx?msg=update"); } protected void btnReset_Click(object sender, EventArgs e) { txtfirstname.Text = ""; txtmiddle.Text = ""; txtlastname.Text = ""; txtaddress.Text = ""; txtemail.Text = ""; txtNo.Text=""; } protected void Cancel_Click(object sender, EventArgs e) { Response.Redirect("Default.aspx"); } } Registration.aspx.cs using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; using System.Net.Mail; using Microsoft.VisualBasic; public partial class Registration : System.Web.UI.Page { SqlConnection conn; SqlCommand comm; public DataSet ds; public SqlDataAdapter da; public SqlDataReader dr; public string cs = ConfigurationManager.AppSettings["ConnectionString"].ToString(); public int user_id; protected void Page_Load(object sender, EventArgs e) { if (ddlUser_type_id.SelectedValue == Convert.ToString(7) || ddlUser_type_id.SelectedValue == Convert.ToString(5) || ddlUser_type_id.SelectedValue == Convert.ToString(2)) { ddlBranch.Enabled = false; } else { ddlBranch.Enabled = true; } } protected void btnSave_Click(object sender, EventArgs e) { if (ddlUser_type_id.SelectedValue == Convert.ToString(7) || ddlUser_type_id.SelectedValue == Convert.ToString(5) || ddlUser_type_id.SelectedValue == Convert.ToString(2)) { string password; VBMath.Randomize(); password = "pi" + (Math.Round(VBMath.Rnd() * 10000)).ToString() + "ab"; conn = new SqlConnection(cs); conn.Open(); da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "new_registration"; da.SelectCommand.CommandType = CommandType.StoredProcedure; da.SelectCommand.Parameters.AddWithValue("@user_type_id", ddlUser_type_id.SelectedValue); da.SelectCommand.Parameters.AddWithValue("@username", txtemail.Text); da.SelectCommand.Parameters.AddWithValue("@password", password); da.SelectCommand.Parameters.AddWithValue("@first_name", txtfirstname.Text); da.SelectCommand.Parameters.AddWithValue("@middle_name", txtmiddle.Text); da.SelectCommand.Parameters.AddWithValue("@last_name", txtlastname.Text); da.SelectCommand.Parameters.AddWithValue("@dob", BasicDatePicker1.SelectedDate); da.SelectCommand.Parameters.AddWithValue("@address", txtaddress.Text); da.SelectCommand.Parameters.AddWithValue("@contact_no", txtNo.Text); da.SelectCommand.Parameters.AddWithValue("@email_id", txtemail.Text); da.SelectCommand.Parameters.AddWithValue("@qualification", txtQualification.Text); da.SelectCommand.Parameters.AddWithValue("@branch", 0); da.SelectCommand.ExecuteNonQuery(); try { MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); mail.From = new MailAddress("project.tpo@gmail.com"); mail.To.Add(txtemail.Text); mail.Subject = "Test Mail"; mail.Body = "Your Account are sucessfully created in College Complaint Management System <br/> your Login Username= " + txtemail.Text + " And Password=" + password + ""; SmtpServer.Port = 587; SmtpServer.Credentials = new System.Net.NetworkCredential("project.tpo@gmail.com", "ps1234ya"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); } catch (Exception ex) { lblMessage.Text = ex.Message; } } else { string password; VBMath.Randomize(); password = "pi" + (Math.Round(VBMath.Rnd() * 10000)).ToString() + "ab"; conn = new SqlConnection(cs); conn.Open(); da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "new_registration"; da.SelectCommand.CommandType = CommandType.StoredProcedure; da.SelectCommand.Parameters.AddWithValue("@user_type_id", ddlUser_type_id.SelectedValue); da.SelectCommand.Parameters.AddWithValue("@username", txtemail.Text); da.SelectCommand.Parameters.AddWithValue("@password", password); da.SelectCommand.Parameters.AddWithValue("@first_name", txtfirstname.Text); da.SelectCommand.Parameters.AddWithValue("@middle_name", txtmiddle.Text); da.SelectCommand.Parameters.AddWithValue("@last_name", txtlastname.Text); da.SelectCommand.Parameters.AddWithValue("@dob", BasicDatePicker1.SelectedDate); da.SelectCommand.Parameters.AddWithValue("@address", txtaddress.Text); da.SelectCommand.Parameters.AddWithValue("@contact_no", txtNo.Text); da.SelectCommand.Parameters.AddWithValue("@email_id", txtemail.Text); da.SelectCommand.Parameters.AddWithValue("@qualification", txtQualification.Text); da.SelectCommand.Parameters.AddWithValue("@branch", ddlBranch.SelectedValue); da.SelectCommand.ExecuteNonQuery(); try { MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); mail.From = new MailAddress("project.tpo@gmail.com"); mail.To.Add(txtemail.Text); mail.Subject = "Test Mail"; mail.Body = "Your Account are sucessfully created in College Complaint Management System <br/> your Login Username= " + txtemail.Text + " And Password=" + password + ""; SmtpServer.Port = 587; SmtpServer.Credentials = new System.Net.NetworkCredential("project.tpo@gmail.com", "ps1234ya"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); } catch (Exception ex) { lblMessage.Text = ex.Message; } } Response.Redirect("Login.aspx"); } protected void btnReset_Click(object sender, EventArgs e) { txtfirstname.Text = ""; txtmiddle.Text = ""; txtlastname.Text = ""; txtaddress.Text = ""; txtemail.Text = ""; txtNo.Text = ""; txtQualification.Text = ""; ddlUser_type_id.SelectedValue = ""; txtfirstname.Focus(); } protected void Cancel_Click(object sender, EventArgs e) { Response.Redirect("Login.aspx"); } } Settings.aspx.cs using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; public partial class Settings : System.Web.UI.Page { SqlConnection conn; public SqlDataAdapter da; public DataSet ds; public SqlDataReader dr; public string cs = ConfigurationManager.AppSettings["ConnectionString"].ToString(); public int user_id; public string password; protected void Page_Load(object sender, EventArgs e) { if (Session["aid"] == "") { Response.Redirect("Login.aspx?msg=logout"); } } protected void btnSave_Click(object sender, EventArgs e) { user_id = Convert.ToInt32(Session["aid"]); conn = new SqlConnection(cs); conn.Open(); da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "select Password from Muser where user_id=" + user_id + ""; da.SelectCommand.CommandType = CommandType.Text; ds = new DataSet(); da.Fill(ds, "Muser"); password = Convert.ToString(ds.Tables["Muser"].Rows[0]["Password"]); if (txtopass.Text != password) { lblshow.Text = "Invalid Current Password"; } else { conn = new SqlConnection(cs); conn.Open(); da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "update Muser set Password='" + txtnpass.Text + "' where user_id=" + user_id + ""; da.SelectCommand.CommandType = CommandType.Text; da.SelectCommand.ExecuteNonQuery(); lblshow.Text = "Your Password Reset Sucessfully"; } } protected void Button2_Click(object sender, EventArgs e) { txtopass.Text = ""; txtnpass.Text = ""; txtcpass.Text = ""; txtopass.Focus(); } } SYSTEM TESTING Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not limited to, the process of executing a program or application with the intent of finding software bugs (errors or other defects). It involves the execution of a software component or system component to evaluate one or more properties of interest. In general, these properties indicate the extent to which the component or system under test: meets the requirements that guided its design and development,  responds correctly to all kinds of inputs, performs its functions within an acceptable time, is sufficiently usable, can be installed and run in its intended environments, and Achieves the general result its stakeholder’s desire. As the number of possible tests for even simple software components is practically infinite, all software testing uses some strategy to select tests that are feasible for the available time and resources. As a result, software testing typically (but not exclusively) attempts to execute a program or application with the intent of finding software bugs (errors or other defects). Software testing can provide objective, independent information about the quality of software and risk of its failure to users and/or sponsors. Software testing can be conducted as soon as executable software (even if partially complete) exists. The overall approach to software development often determines when and how testing is conducted. For example, in a phased process, most testing occurs after system requirements have been defined and then implemented in testable programs. 6.1 TESTING METHODS STATIC TESTING Static testing is the form of software testing where you do not execute the code being examined. This technique could be called non-execution technique. It is primarily syntax checking of the code or manually reviewing the code, requirements documents, design documents etc. to find errors. From the black box testing point of view, static testing involves reviewing requirements and specifications. This is done with an eye toward completeness or appropriateness for the task at hand. This is the verification portion of Verification and Validation. The fundamental objective of static testing technique is to improve the quality of the software products by finding errors in early stages of software development life cycle. Following are the main Static Testing techniques used: Informal Reviews Informal reviews are applied many times during the early stages of the life cycle of the document. A two person team can conduct an informal review. In later stages these reviews often involve more people and a meeting. The goal is to keep the author and to improve the quality of the document. The most important thing to keep in mind about the informal reviews is that they are not documented. Walkthrough It is not a formal process/review It is led by the authors Author guide the participants through the document according to his or her thought process to achieve a common understanding and to gather feedback. Useful for the people if they are not from the software discipline, who are not used to or cannot easily understand software development process. Is especially useful for higher level documents like requirement specification, etc. The goals of a walkthrough: To present the documents both within and outside the software discipline in order to gather the information regarding the topic under documentation. To explain or do the knowledge transfer and evaluate the contents of the document To achieve a common understanding and to gather feedback. To examine and discuss the validity of the proposed solutions Technical reviews It is less formal review  It is led by the trained moderator but can also be led by a technical expert  It is often performed as a peer review without management participation  Defects are found by the experts (such as architects, designers, key users) who focus on the content of the document.  In practice, technical reviews vary from quite informal to very formal. The goals of the technical review are: To ensure that an early stage the technical concepts are used correctly To access the value of technical concepts and alternatives in the product To have consistency in the use and representation of technical concepts To inform participants about the technical content of the document Inspection It is the most formal review type It is led by the trained moderators During inspection the documents are prepared and checked thoroughly by the reviewers before the meeting It involves peers to examine the product A separate preparation is carried out during which the product is examined and the defects are found The defects found are documented in a logging list or issue log A formal follow-up is carried out by the moderator applying exit criteria The goals of inspection are: It helps the author to improve the quality of the document under inspection It removes defects efficiently and as early as possible It improve product quality It create common understanding by exchanging information It learn from defects found and prevent the occurrence of similar defects Static code analysis Static Code Analysis (also known as Source Code Analysis) is usually performed as part of a Code Review (also known as white-box testing) and is carried out at the Implementation phase of a Security Development Lifecycle (SDL). Static Code Analysis commonly refers to the running of Static Code Analysis tools that attempt to highlight possible vulnerabilities within 'static' (non-running) source code by using techniques such as Taint Analysis and Data Flow Analysis. DYNAMIC TESTING Dynamic Testing is used to test the software by executing it. Dynamic Testing is also known as Dynamic Analysis, this technique is used to test the dynamic behavior of the code. In dynamic testing the software should be compiled and executed, this analyses the variable quantities like memory usage, CPU usage, response time and overall performance of the software. Dynamic testing involves working with the software, input values are given and output values are checked with the expected output. Dynamic testing is the Validation part of Verification and Validation. Some of the Dynamic Testing Techniques are given below: Unit Testing Unit testing is the testing of an individual unit or group of related units. It falls under the class of white box testing. It is often done by the programmer to test that the unit he/she has implemented is producing expected output against given input. Integration Testing Integration testing is testing in which a group of components are combined to produce output. Also, the interaction between software and hardware is tested in integration testing if software and hardware components have any relation. It may fall under both white box testing and black box testing. System Testing System testing is the testing to ensure that by putting the software in different environments (e.g., Operating Systems) it still works. System testing is done with full system implementation and environment. It falls under the class of black box testing. Acceptance Testing Acceptance testing is often done by the customer to ensure that the delivered product meets the requirements and works as the customer expected. It falls under the class of black box testing. TYPES OF TESTING WHITE-BOX TESTING White-box testing is verification technique software engineers can use to examine if their code works as expected the use of equivalence partitioning and boundary value analysis to manage the number of test cases that need to be written and to examine error test cases how to measure how thoroughly the test cases exercise the code  White-box testing is testing that takes into account the internal mechanism of a system or Component (IEEE, 1990). White-box testing is also known as structural testing, clear box  Testing and glass box testing (Beizer, 1995). The connotations of “clear box” and “glass  box” appropriately indicate that you have full visibility of the internal workings of the Software product, specifically, the logic and the structure of the code. BLACK BOX TESTING Also known as functional testing whereby the internal workings of the item being tested are not known by the tester. For example, in a black box test on software design the tester only knows the inputs and what the expected outcomes should be and not how the program arrives at those outputs. The tester does not ever examine the programming code and does not need any further knowledge of the program other than its specifications. The advantages of this type of testing include: The test is unbiased because the designer and the tester are independent of each other. The tester does not need knowledge of any specific programming languages. The test is done from the point of view of the user, not the designer. Test cases can be designed as soon as the specifications are complete. The disadvantages of this type of testing include: The test can be redundant if the software designer has already run a test case.  The test cases are difficult to design. Testing every possible input stream is unrealistic because it would take a inordinate amount of time; therefore, many program paths will go untested. For a complete software examination, both white box and black box tests are required. GRAY BOX TESTING Gray box testing is the testing of software application using effective combination of both White box testing & Black box testing method. This is nice & powerful idea to test the application. The white box testing means tester is aware of internal structure of code but the black box tester doesn’t aware the internal structure of code. In the Gray box testing tester is usually has knowledge of limited access of code and based on this knowledge the test cases are designed and the software application under test treat as a black box & tester test the application from outside. Don’t confuse with White box & Gray box, as in the Gray box testing is tester doesn’t have the knowledge in detailed. Also the Gray box testing is not a black box testing method because the tester knows some part of the internal structure of code. So Gray Box Testing approach is the testing approach used when some knowledge of internal structure but not in detailed. The name is comes because the application for tester is like a gray box like a transparent box and tester see inside it but not fully transparent & can see partially in it. As tester doesn’t require the access to code the gray box testing is known as unbiased & non-intrusive. To test the Web Services application usually the Gray box testing is used. 6.2 REPORTS A report or account is any informational work made with the specific intention of relaying information or recounting certain events in a widely presentable form. Written reports are documents which present focused, salient content to a specific audience. Reports are often used to display the result of an experiment, investigation, or inquiry. The audience may be public or private, an individual or the public in general. Reports are used in government, business, education, science, and other fields. Reports use features such as graphics, images, voice, or specialized vocabulary in order to persuade that specific audience to undertake an action. One of the most common formats for presenting reports is IMRAD: Introduction, Methods, Results and Discussion. This structure is standard for the genre because it mirrors the traditional publication of scientific research and summons the ethos and credibility of that discipline. Reports are not required to follow this pattern, and may use alternative patterns like the problem-solution format. Additional elements often used to persuade readers include: headings to indicate topics, to more complex formats including charts, tables, figures, pictures, tables of contents, abstracts, and nouns summaries, appendices, footnotes, hyperlinks, and references. Some examples of reports are: scientific reports, recommendation reports, white papers, annual reports, auditor's reports, workplace reports, census reports, trip reports, progress reports, investigative reports, budget reports, policy reports, demographic reports, credit reports, appraisal reports, inspection reports, military reports, bound reports, etc. Reports are very important in all their various forms along with the usual evidences like in a crimes scene people usually leave behind evidences. They fill a vast array of critical needs for many of society's important organizations. Police reports are extremely important to society for a number of reasons. They help to prosecute criminals while also helping the innocent become free. Reports are a very useful method for keeping track of important information. The information contained in reports can be used to make very important decisions that affect our lives daily. In our project we have generated reports which are used to analyze the business and others attributes of the system and the reports are used to maintain the records of the current system as well as the existing system. PROJECT EVALUATION Evaluation is an important tool that your organization can use to demonstrate its accountability, improve its performance, increase its abilities for obtaining funds or future planning, and fulfill the organizational objectives. Evaluation is a process which supports a project, by measuring the extent to which the objectives are met, identifies achievements and identifies areas for improvement encourages decisions to be taken, including changes to objectives and the project methodology Evaluation is a systematic investigation of the worth or significance of an object. Evaluation normally involves some standards, criteria, measures of success, or objectives that describe the value of the object. Evaluation can identify criteria for success, lessons to learn, things to achieve, ways to improve the work, and the means to move forward. Project evaluation assesses activities that are designed to perform a specified task in a specific period of time. For example, a three-day workshop on volunteerism, a one year fundraising program, a three-year HIV prevention intervention, a five-year career development innovation, or an ongoing newcomer youth orientation and integration training program are all projects that you can evaluate. The purpose of evaluation is to provide information for actions such as decision making, strategic planning, reporting, or program modification. Project evaluation helps you understand the progress, success, and effectiveness of a project. It provides you with a comprehensive description of a project, including insight on the • Needs your project will address; • People who need to get involved in your project; • Definition of success for your project; • Outputs and immediate results that you could expect; • Outcomes your project is intended to achieve; • Activities needed to meet the outcomes; and • Alignment and relationships between your activities and outcomes. Project evaluation is an accountability function. By evaluating a project, you monitor the process to ensure that appropriate procedures are in place for completing the project on time, and you identify and measure the outcomes to ensure the effectiveness and achievements of the project. All these efforts make your organization capable of reporting, answering all inquiries, and being accountable for its plans. You can use the results of a project evaluation to • identify ways to improve or shift your project activities; • facilitate changes in the project plan; • prepare project reports (e.g., mid-term reports, final reports); • inform internal and external stakeholders about the project; • Plan for the sustainability of the project; • learn more about the environment in which the project is being or has been carried out; • learn more about the target population of the project; • Present the worth and value of the project to stakeholders and the public; • Plan for other projects; • compare projects to plan for their futures; • make evidence-based organizational decisions; • demonstrate your organization’s ability in performing evaluations when searching for funds; • demonstrate your organization’s concerns to be accountable for implementing its plans, pursuing its goals, and measuring its outcomes. Project evaluation involves several steps, related to the stages of the project: Discussing and defining the aims The collection of data following the objectives of the project and the subject of the evaluation The analysis and the interpretation of this data leading to informed conclusions. Amendments of the project in the light of the evidence acquired. It is impossible to evaluate everything. Please select the areas you want to focus on. Effects can be short-term or long-term. Our project product is the website thus it includes the project process as objective and related to planning and management and impact on target group is national and international. So while evaluating the project we have defined the aim and objective of project so we can improve the performance and we have used to demonstrate its accountability, increase its abilities for future planning, and fulfill the organizational objectives. 6.3 TEST PLAN: A test plan is a general document for the entire project that defines the scope, approach to be taken, and the schedule of testing as well as identifies the test items for the entire testing process and the personnel responsible for the different activities of testing. The test planning can be done well before the actual testing commences and can be done in parallel in the design and coding phase. The input for the test plan is: Project Plan Requirement Document and System Design Document. The project plan is needed to make sure that the test plan can be consistent with the overall plan for the project and the testing schedule matches that of the project plan. The requirement documents and the design document are the basic documents used for selecting the test unit and the deciding the approaches to be used during testing. A test plan should contain following:- Test Unit Specification. Features to be tested. Approach for testing. TEST UNIT SPECIFICATION: A test unit is a set of one or more modules, together which associated data, that are from single computer program and that are the object of testing. A test unit can occur at any level and can contain from a single module to entire system. 6.3.2 FEATURES TO BE TESTED: All functional features specified in the requirement document will be tested. The features to be tested at Admin panel are: Login Manage candidates, questions, options Result Exit The features to be tested at Students panel: Login Give test View result TEST CASES: SYSTEM DESIGN GANTT CHART A Gantt chart is a type of bar chart. Gantt charts illustrate the start and finish dates of the terminal elements and summary elements of a project. Terminal elements and summary elements comprise the work breakdown structure of the project. Modern Gantt charts also show the dependency (i.e., precedence network) relationships between activities. Gantt charts can be used to show current schedule status using percent-complete shadings .Although now regarded as a common charting technique, Gantt charts were considered revolutionary when first introduced. This chart is also used in information technology to represent data that have been collected. We have follows the waterfall model to doing the project so our Gantt chart is as given below CONCLUSION AND FUTURE SCOPE CONCLUSION: This Web Application provides facility to post any complaint about college. It saves time as it allows number of students to post the complaint at a time. It is automatically generated by the server. Administrator has a privilege to create, modify and delete the student , HOD principal. User can login and give the specific id, and can see the profile well. This web application is very flexible and user friendly. In future if this proposed system is been implemented there is a possibility that the system will serve as the backbone of the internal examination. By exploring and enhancing the method of examination leading to the easy accessibility to one and many. Limitations : Less details about complaint category Only used for complaint registration FUTURE SCOPE : This system can be used in educational institutions as well as in corporate World. In future we will try for subjective by using some advance algorithm. Complaints automatically forwarded to upper level management. This Software allows the Campus Head to easily monitor the complaints regarding the Campus at a single place. BIBLIOGRAPHY WEBSITES: www.google.com The Google search engine we have used to search the content reference which we want to add in our project including images, Portable Document Format, PowerPoint presentation, Word Documents, etc. www.youtube.com The YouTube we have used to search the video which helps us to improve our project, performance as well as to learn the coding of the project. REFERENCE BOOKS: Asp.net programming 4.0 by J. Kanjilal, Tata McGraw-Hill. Beginning Visual C# 2010 by karli Watson. Beginning ASP.NET 4 in C# and VB by Imar Spaanjaars. Software testing principles techniques and tools by M.G.Limaye Software Testing a Craftsman’s Approach by Paul C. Jorgensen. ASP.NET with C# by MacDonald Notes of TYIT SEM 5