E-COP We Serve To Protect You TEAM MEMBERS TEAM GUIDE Abhishek Marik Rajdeb Saha Suplab Debnath Anubhab Mukherjee Suchandra Roy Biswajit Maji Narula Institute of Technology 81, Nilgunj Road Agarpara Kolkata DEPARTMENT OF INFORMATION TECHNOLOGY CERTIFICATE Date: This is to certify that the project entitled “E-Cop” has been carried out by Abhishek Marik(IT48), Suplab Debnath(IT35), Anubhab Mukherjee(IT54), Biswajit Maji(IT32) & Suchandra Roy(IT26) under my guidance in partial fulfillment of the degree of Bachelor of Technology in Information Technology of West Bengal University of Technology during the academic year 20102011. To the best of my knowledge and belief this work has not been submitted elsewhere for the award of any other degree. _______________________ Project Guide ____________________________ Examiner __________________________ HOD(IT) 2|Page Acknowledgement We are overwhelmed in all humbleness and gratefulness to acknowledge our depth to all those who have helped us to put these ideas, well above the level of simplicity and into something concrete. We like to thank to our project leader Mr. Rajdeb Saha (lecturer, Narula Institute of Technology). He gave us moral support and guided us in different ways regarding the topic. He had been very kind and patient while suggesting us the outlines of this project and correcting our doubts. I thank him for his overall support. We would also thank Narula Institute of Technology and our faculty members without whom this project would have been a distant reality. We also extend our heartfelt thanks to our teammates who worked for the successful completion of this project. Abhishek Marik Suplab Debnath Anubhab Mukherjee Biswajit Maji Suchandra Roy 3|Page Revision History Revision Number Date Revision Description Version 1 Version 2 Version 3 Version 4 Version 5 Version 6 Version 7 Version 8 Version 9 Version 10 18/08/2010 13/09/2010 10/11/2010 15/11/2010 16/11/2010 30/12/2010 18/01/2011 09/02/2011 01/04/2011 05/04/2011 Version 11 08/04/2011 Project Proposal Completed Start SRS Document SRS Document Completed Minor Changes Start Software Design Document Screen Shots are added Design Document Completed Start Test Design Document Test Design Document Completed User Manual & Bibliography are added Index is added & Minor Changes 4|Page Table of Contents 1 Project Proposal 1.1 1.2 1.3 1.4 Context of The Project Product Overview Feasibility Justification Project Scenario 2 Software Requirement Specification 2.1 Introduction 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 Overall Description 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.3 Purpose Scope Glossary References Overview of Document System Environment Functional Requirement Specification User Interface Specification Non-functional Requirement Specification System Evolution Diagrams 2.3.1 Class Diagram 2.3.2 Entity-Relationship Diagram 2.3.3 Gantt Chart 3 Software Design Document 3.1 Introduction 3.1.1 3.1.2 3.1.3 3.1.4 3.2 Purpose Scope References Overview of Document Architectural Design 3.2.1 Deployment Diagram 3.2.2 Use Case Realization 3.2.3 Data Flow Diagrams 5|Page 3.3 User Interface Design 3.3.1 Screen shots 3.3.2 Sample Code 3.4 Database Design 4 Test Design Document 4.1 Introduction 4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.2 Test Plan 4.2.1 4.2.2 4.2.3 4.2.4 4.3 Purpose Scope Glossary References Overview of Document Schedules & Resources Test Recording Test Reporting Static Testing Verification Testing 4.3.1 Unit Testing 4.3.2 Module Testing 4.4 Validation Testing 4.4.1 System Testing 4.4.2 Acceptance & Beta Testing 4.5 Appendix 4.5.1 Verification Tests 4.5.2 Validation Tests 5 User Manual 5.1 Introduction 5.1.1 5.1.2 5.1.3 5.1.4 5.2 Purpose Scope References Overview of Document Installation Information 6|Page 6 Bibliography 7 Index 7|Page Project Proposal 1.1 Context of the Project Conventionally the citizen has to go to police station in person to make complaints. E-cop provides a facility where citizen can make emergency complaint and the corresponding police officer gets an immediate e-mail and responds to it. Also the citizen can make a report missing persons, report missing valuables and can report about wanted criminals. E-cop establish a virtual police station setup to provide a very easy to access police service to the citizen of Kolkata. It saves the valuable times of our citizen. Citizen can also make request for loudspeaker, mass meeting etc. licenses from his home just by clicking some links online. E-cop also provides an interface where assigned police officers of each police station of Kolkata can log in the system and perform their duties such as complaint approvals, FIR filing, License approvals and various other form ( e.g. Arrest form, Crime Details form, Property Seizure form, Final form etc.) creation for investigation. 1.2 Product Overview Citizens of Kolkata often have to face a common problem in making a complaint. To make a complaint they have to go to the police station. It is very problematic to them when a mid-night emergency comes. The Internet now provides a very fast access to each and every resource throughout the world. Almost each and every educated citizen has knowledge about the usage of the Internet. For this reason, Kolkata Police plans the make an online police station setup for the easy access and convenience of the citizens as well as police officers. This website is called E-cop. This website helps citizens in great extent to make complaints, report missing person, valuables and criminal information’s, request to approve licenses. Not only citizens, but the employee i.e. police officers get advantages from this website. 8|Page This makes their daily duties such as FIR filing, license approvals easier and less error-prone. 1.3 Feasibility/Justification The documentation of the project must be completed by the end of April, 2011. The Gantt charts provided depict a reasonable schedule in which the goal should be completed. The knowledge of database manipulation is necessary for this project, so that the proper information can be accumulated and compared to derive the necessary output. A very user friendly interface and aesthetically pleasing design would be necessary for the user of the system, so that they can complete this process whenever necessary, conserving as much time as possible. 1.3 Project Scenario Name of the 1. Project E-Cop "We serve to protect" To deliver next generation police and law enforcement reporting tools, 2. Objective/ Vision and setting up intelligence platforms that agencies use to take incoming incident reports, lessen live employee resources and allow these enforcement agencies to reallocate resources to much needed community areas Users of the 3. System A. Citizen B. Police officers (Constable to DGP) C. Administrator 9|Page i. Administrator should be able to create/edit a virtual police station (PS) which represents a real police station as a first time setup. ii. Appointing of police officers to a particular police station which is present in a specific zone or to a specific district as a first time setup, he should be transferable at later time. iii. PS should have areas of control which can be modified at later time. iv. When a complaint is made it undergoes various processes like FIR, Charge Sheet, Property Seizure, court disposal etc all these activities are performed by a PS. v. Maintaining the criminal information state wise/area wise/age wise Functional Requirements is mandatory (At least Eight) vii. Communication between officers is mandatory through forum, vi. Sharing of case details with PS in other states is needed. 4. chat, polls. viii. The magistrate should be able to access the case details and provide/deny the arrest warrant. ix. Citizens should be able to apply for various licenses like loud speaker, mass meetings etc., and the officer should be able to approve/reject which will be notified to the applicant via and Mail. x. Secured registration of citizens is needed where they need to provide proof of citizenship, which will be cross checked by the police officer of that area. i. Secure access of confidential data (user’s details). SSL can be used. requirements (At ii. 24 X 7 availability least Two) iii. Better component design to get better performance at peak time. iv. Flexible service based architecture will be highly desirable for future extension. Non-functional 5. a. Integration of E cop with Prison management and Court is an immediate requirement 6. Optional features b. Chat provides added feature c. Biometric authentication (Face detection or Fingerprint). d. Predicting criminal faces in various conditions using digital image processing via face points would be additional feature 10 | P a g e User interface 7. priorities A. Professional look and feel B. Use of AJAX at least with all registration forms C. Browser testing and support for IE, NN, Mozilla, and Firefox. A. Complaints filed in a day and action taken to it. It should also report unattended complaints. B. Crime rate due to various types of crimes in a month/year and also 8. Reports in district/state wise. C. Report regarding most wanted criminals and bounty information if available. D. Police officers often export the FIR copy to PDF format. A. The Police station should go online, i.e., evens the Station Diary; Station House Officer Diary should go online. 9. Other important B. Everything should be customizable by Administrator i.e. even the issues home page contents. C. It should be start of an E-governance system, so the registered member details may be used for various purposes 10. PHP HTML Technologies to be Javascript used JSON AJAX SQL WAMP Dreamweaver Smart Draw Microsoft Word Linux will be the preferred OS. 11. Tools to be Used 12. Final Deliverable must include A. Online or offline help to above said users B. Database backup C. Complete Source code 11 | P a g e Software Requirement Specification 2.1 Introduction 2.1.1 Purpose This Software Requirements Specification provides a complete description of all the processes and specifications of the E-cop. The expected audience of this document is a central administrator in charge of registration and the software development team. 2.1.2 Scope Create different employees and assign corresponding privileges. Maintain a centralized database to provide security to information which can be accessed only by the admin. Employee logs on to his account to view complaints and files FIR which is sent by citizens. Creating dynamic employees like Inspector, Head constables and other officials as the first time setup. Supervision of lower designation officers by higher designation officers. This customizable feature allows admin user to create required amount of employees. Transfer employee and promotion feature. Maintains history of the employee’s right from the date of join to his retirement. Also the retired employee record is also maintained. Track all the employees, citizens and their contact details. All users are authenticated to avail the service. Confirmation link is sent to the new user and employee when signing up. Java client facility for working officers. FAQ section is also included for users benefit. 12 | P a g e 2.1.3 Glossary Admin – Administrator (super user), he is the controller of all the employees, citizens and maintaining all records of the citizen and employees. Employees – Director General of Police, Superintendent of Police, Inspector, Sub Inspector, Head Constable and other officials who are working in police department. Citizen – End users, those who only registered in this site. HTML – Hypertext Markup Language is to create static websites. PHP – PHP: Hypertext Preprocessor is a widely used, general-purpose scripting language that was originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document. MySQL– MySQL is a relational database management system (RDBMS) that runs as a server providing multi-user access to a number of databases. Apache –The Apache HTTP Server, commonly referred to as Apache is web server software notable for playing a key role in the initial growth of the World Wide Web. AJAX – Asynchronous Java script and XML. 2.1.4 References IEEE SRS Format 2.1.5 Overview of Document The remainder of the SRS document includes the functional & nonfunctional requirements of E-cop system. It describes the environment under which the E-cop system operates. 2.2 Overall Description The E-cop System utilizes numerous files and information from Police Administration Database, as well as a file on the web server system. This system will be completely web-based, linking to database and the remote web server from a standard web browser. An Internet connection is necessary to access the system, and printing will be done locally, if requested. 13 | P a g e 2.2.1 System Environment Aside from the database system, the E-cop System will rely on a remote web server while being run from a client browser. In this section, we describe this controlled environment. The administrator begins a generate reports session, and a file concerning the requirements of each major in the form of a database tree is loaded into a temporary database on the web server. The system loads files from database when requested. 2.2.2 Functional Requirements Specification Functional requirements are those which are provided to the users of the site, i.e. What processes can be operated by the citizens, admin and police personnel. Citizen Sign up- In order to apply for various certificates such as birth, community, income and ration card, and end user must sign up by filling the sign up form and get it approved by admin. Sign in- After getting the username and password, end users can log on to their account and can access the website. Open Profile- End user can open their profile which contains the personal details which he/she provided during sign up. View Profile- End user can view their profile which contains the personal details which he/she provided during signup. Update Profile- End user can update their profile which contains the personal details which he/she provided during signup. Request for Licenses- End user who signed in can request for various licenses such as arms, loud speaker, mass meetings and gymnasium. Enter Details- End user who signed in can open the requisition form and enters the mandatory details required in that form. Make an Emergency Complaint- End user can come to the portal can make an emergency complaint directly. Make a Complaint- End user who signed in can complaint a crime as a complainant or informant. Report Wanted Criminals- End user who signed in can report about the wanted criminals and can collect the rewards from the government. Report Missing Valuables- End user who signed in can report about the missing valuables and can collect the rewards from the government. Answering Polls- End user who signed in can participate in polls arranged by Ecops. 14 | P a g e Employee Sign in- First the Station House Officer has to login to his account to start his work. Investigation- He investigates grave crimes and other complaints. Arresting Criminals- He arrests the criminals who are involved in the crime and produces to the magistrate. And the arrested criminal details are added to the criminal directory. Property Seizure- If the case involves property seizure; he can seize the property and can keep in secured place. Maintaining Case Diary- He writes the investigation details in the case diary including arrested criminals, property seizure, final report and appeal results of the case. Adding Criminals Details- He can add the details of criminals in the criminals’ directory which is useful for the end users and also for police officers while arresting them. Controlling Sub-ordinates- It is the duty of Station House Officer to supervise the work of his subordinates like constables and head constables and he has allocate proper work to them. Administrator Verify details- Admin authenticates all the end users and officers by checking their username and password. Provides login account - After getting the sign up details from the end user, Admin provides the username and password to the end user that should be kept for future login and also admin checks for uniqueness. Maintains database- Admin maintains the entire database and he is the only authorized person to add/remove/edit employee records and end user records provided he has to get the order from the highest designation officer. Add crime details- Admin adds the crime details which are given by the Station House Officer at various times of investigation. Admin maintains the entire details of the case including property seizure, arrest/surrender and final report. Adding FAQs- Admin helps to clear the doubts of citizens in this section by creating some frequently asked questions and its corresponding answers. Adding Laws and Acts- Laws & acts section contains the database of the rules & sections of Indian Penal Code (IPC) enrolled by the admin. Adding Polls- Polls section helps to derive conclusion to various kinds of hot topics or issues in the arena. 15 | P a g e 2.2.3 User Interface Specification E-cop System supports full web browser compatibility i.e. it functions in the similar way in each well known web browser without much distortion. Ecop provides a very simple & easy to use interface so that common people can handle this system without must complication. Administrators additionally must be comfortable with the concept of a database. 2.2.4 Non-functional Specification Non-functional requirements are not functional in nature, i.e. these are the constraints of the system, within which it should function. Hardware Operating System Software Needed Performance Network Interface 2.2.5 IBM compatible, Pentium based PC with a monitor, keyboard and mouse. Both Windows and Linux platform is supported. A standard web browser, Apache, MySQL, PHP. Moderate speed. A local intranet server like Apache is required to access the website. System Evolution The unique user identification (UID), for every citizen, as conceived by the Government of India, would prove to be an added benefit and easy account verification and tracking measure. A possible future goal would be to develop fingerprint recognition and face recognition system. This would help administrator as a proof of identity. Another future goal of the system would be to develop SMS facility. Provision of a forum and live chat are possible future scopes. 16 | P a g e 2.3 Diagrams 2.3.1 Class Diagram Figure: -Class Diagram 17 | P a g e 2.3.2 Entity-Relationship Diagram Figure: -E-R Diagram 18 | P a g e 2.3.3 Gantt Chart Figure: -Gantt Chart 19 | P a g e Software Design Document 3.1 Introduction 3.1.1 Purpose This Software Design Document provides details of The E-cop System. The expected audience is designated system administrators in the Registration Department and the software developers. 3.1.2 Scope This Document contains a complete description of the E-cop system. The system is based upon the server execution of a resident program. This is the core of the system, and built around it is the ability to access the Police Administrator Database. Software design document contains the deployment diagram, data flow diagrams, structure chart, user interface design with sample code, page contents and database design. 3.1.3 References E-cops Software Requirement Specification Document, 2010 3.1.4 Overview of Document The remaining chapters and their contents are listed below: Architectural Design- uses information flowing characteristics, and maps them into the program structure. The transformation mapping method is applied to exhibit distinct boundaries between incoming and outgoing data. The Data Flow diagrams allocate control input, processing and output along three separate modules. User Interface Design- describes internal and external program interfaces, as well as the design of human interface. Data Design- describes structures that reside within the software. Attributes and relationships between data objects dictate the choice of data structures. 20 | P a g e 3.2 Architectural Design 3.2.1 Deployment Diagram Deployment Diagram shows the physical locations where the system actually exists. This allows a clear explanation of where each design entity will reside. Each part will work in unison to accomplish each requested task. Figure: -Deployment Diagram E-cops Database is external to the system. The Web server contains the modules or files needed for your system. A browser on the client side is used to communicate with the browser. 3.2.2 Use Case Realization Actors: Citizen: - Citizens are those who take the services provided by E-cop. These are the common inhabitants of the city. The main function of citizens in this system are: o Sign up o Sign in o Requests for licenses o Making complaints o Report Missing Person o Report Missing Valuables o Check passport status o Answering Polls Employees: - Employees are those who work under E-cops. The main function of employees in this system are: 21 | P a g e o Sign in o Add/Manage Criminals Records o File FIR o Approve Citizen Signups o Approve Licenses o Manage Crime Details, Arrest, Property Seizure and Final Forms o Uploads files (e.g. Fingerprints, documents, pictures etc.) Administrator: - Administrators are those persons who manage the whole Citizen and Employee information of E-cop. The main function of Administrator in this system are: o Sign in o Maintain Database o Add/Manage Police Stations o Add/Manage Police Officers o Manages Rejected Complaints o Maintains Crime Details o Add/Manage FAQs o Add/Manage Help & Support o Add/Manage Polls Use Cases: Citizen Signup Citizen Login Make an Emergency Complaint Make an Non-emergency Complaint Checking Passport Status Report Missing Person Report Missing Valuables Request Licenses Answering Polls View Laws/Acts View Help & Supports Report Wanted Criminals Approve Complaints Approve Licenses File FIRs Final Forms Adding Criminal Details Crime Details Arrest Forms 22 | P a g e Property Seizure Forms Maintains Database Add Police Officers Add Police Stations Add/Manage Polls Add/Manage Laws/Acts Add/Manage Help & Supports Use Case Diagram:- Figure: -Use Case Diagram 23 | P a g e Use Cases: Citizen Use Cases ---Citizen Signup :Use Case Name: Citizen Signup ID: CSU Primary Actors: Citizen, End Users Brief Description: This use case describes creation of citizens’ profile in the E-cop database system. Goal: Successful creation of users account Success Measurement: Message will be shown displaying `your request has been accepted`. Preconditions: User should meet the terms and conditions User id should be unique All the mandatory fields should be filled up Trigger: When citizen wants to create an account Typical flow of Events: User first logs on to the E-cops website through the Internet In the service page he will click on `Register for an account` link User should fill all the necessary fields appropriately After that User must click on submit button to submit his registration form The form will go to assigned police officers for verification and approval Assumptions: It is assumed that user will enter all meaning full data It is assumed that workflows will be carried out internally Citizen Use Cases ---Citizen Login :Use Case Name: Citizen Login ID: CLI Primary Actors: Citizen, End Users Brief Description: This use case describes successful log in by the user Goal: Successful log in by the user Create session for logged in user 24 | P a g e Success Measurement: Message will be shown displaying `Welcome username` and the user will be redirected to services page. Preconditions: User id and password, both should match That user must be approved by station house officer User must submit registration form before log in Triggers: When citizen wants to log in Typical flow of Events: User first logs on to the E-cops website through the Internet In the service page he has to fill the E-mail ID/User ID and password fields If log in is successful user will redirected to `services` page Otherwise message will be shown for unsuccessful log in Assumptions: Citizen Use Cases --- Make an Emergency Complaint :Use Case Name: Make an Emergency ID: MEC Complaint Primary Actors: Citizen, End Users Brief Description: This use case describes creation of unapproved emergency complaint by user. Goal: Successful creation of unapproved emergency complaint Success Measurement: Message will be shown displaying `yours complaint has been filed ` and your complaint no. Preconditions: User may or may not be logged in Mandatory fields are filled Trigger: When citizen wants to make an emergency complaint Typical flow of Events: User first logs on to the E-cops website through the Internet Click on the Emergency Complaint link in the home page User should fill all the necessary fields appropriately 25 | P a g e After that User must click on submit button to submit his complaint The form will go to assigned police officers for verification and approval Assumptions: It is assumed that user will enter all meaning full data It is assumed that workflows will be carried out internally Citizen Use Cases --- Report Missing Person :Use Case Name: Report Missing Person ID: RMP Primary Actors: Citizen, End Users Brief Description: This use case describes how an user can report about missing person Goal: Successful creation of unapproved missing person complaint Success Measurement: Message will be shown displaying `yours complaint has been filed ` and your complaint no. Preconditions: User must be logged in Mandatory fields are filled Trigger: When citizen wants to report a missing person Typical flow of Events: User first logs on to the E-cops website through the Internet User logs in with user id and password Select Missing Person link Fill the necessary fields Submit the form The form will go to assigned police officers for verification and approval Assumptions: It is assumed that user will enter all meaning full data It is assumed that workflows will be carried out internally Citizen Use Cases --- Request Licenses :Use Case Name: Request Licenses Primary Actors: Citizen, End Users ID: RLS 26 | P a g e Brief Description: This use case describes how an user can request for licenses. Goal: Successful creation of unapproved license request Success Measurement: Message will be shown displaying `yours license request has been filed ` and your request no. Preconditions: User must be logged in Mandatory fields are filled Trigger: When citizen wants to request for licenses Typical flow of Events: User first logs on to the E-cops website through the Internet User logs in with user id and password Select License Request link Fill the necessary fields Submit the form The form will go to assigned police officers for verification and approval Assumptions: It is assumed that user will enter all meaning full data It is assumed that workflows will be carried out internally Citizen Use Cases --- Approve Complaints :Use Case Name: Approve Complaints ID: ACOM Primary Actors: Employees, Station House Officer, Police Officer, DGP Brief Description: This use case describes how employees can approve complaints. Goal: Successful creation of approved complaints Success Measurement: Message will be shown displaying `complaint is approved ` and complaint no. Preconditions: Complaints filed by users already exits Trigger: When Employee wants to approve complaints 27 | P a g e Typical flow of Events: Employee first logs on to the E-cops website through the Internet Employee logs in with user id and password Select Complaints link Click on approve link to approve complaint Assumptions: It is assumed that workflows will be carried out internally Citizen Use Cases --- Approve Licenses :Use Case Name: Approve Licenses ID: ALCS Primary Actors: Employees, Station House Officer, Police Officer, DGP Brief Description: This use case describes how employees can approve licenses. Goal: Successful creation of approved licenses Success Measurement: Message will be shown displaying `license is approved ` and license request no. Preconditions: Licenses requested by users already exits Trigger: When Employee wants to approve complaints Typical flow of Events: Employee first logs on to the E-cops website through the Internet Employee logs in with user id and password Select Licenses link Click on approve link to approve license Assumptions: It is assumed that workflows will be carried out internally Citizen Use Cases --- Adding Criminal Details :Use Case Name: Adding Criminal ID: ACD Details Primary Actors: Employees, Station House Officer, Police Officer, DGP Brief Description: This use case describes how employees can add criminal records. Goal: 28 | P a g e Successful addition of criminal records Success Measurement: Message will be shown displaying `criminal record added successfully` Preconditions: Employee must be logged in Employee must have necessary permission Trigger: When Employee wants to add criminal details Typical flow of Events: Employee first logs on to the E-cops website through the Internet Employee logs in with user id and password Select Criminals link Fill mandatory fields Click Submit Button Assumptions: It is assumed that workflows will be carried out internally Citizen Use Cases --- Adding Police Officers :Use Case Name: Adding Police Officers ID: APO Primary Actors: Administrator Brief Description: This use case describes how admin can add police officers. Goal: Successful addition of police officers Success Measurement: Message will be shown displaying `police officer added successfully` Preconditions: Admin must be logged in Trigger: When Admin wants to add police officers Typical flow of Events: Admin first logs on to the E-cops website through the Internet Admin logs in with user id and password Select Police Officers link Fill mandatory fields Click Submit Button Assumptions: It is assumed that workflows will be carried out internally 29 | P a g e Citizen Use Cases --- Adding Police Stations :Use Case Name: Adding Police ID: APO Stations Primary Actors: Administrator Brief Description: This use case describes how admin can add police stations. Goal: Successful addition of police stations Success Measurement: Message will be shown displaying `police station added successfully` Preconditions: Admin must be logged in Trigger: When Admin wants to add police stations Typical flow of Events: Admin first logs on to the E-cops website through the Internet Admin logs in with user id and password Select Police Station link Fill mandatory fields Click Submit Button Assumptions: It is assumed that workflows will be carried out internally 30 | P a g e 3.2.3 Data Flow Diagrams Context Level DFD It shows the interaction between the system and external agents which act as data sources and data sinks. On the context diagram (also known as the 'Level 0 DFD') the system's interactions with the outside world are modeled purely in terms of data flows across the system boundary. The context diagram shows the entire system as a single process, and gives no clues as to its internal organization. Figure: -Context Level DFD 31 | P a g e Level 1 DFD This context-level DFD is next "exploded", to produce a Level 1 DFD that shows some of the detail of the system being modeled. The Level 1 DFD shows how the system is divided into sub-systems (processes), each of which deals with one or more of the data flows to or from an external agent, and which together provide all of the functionality of the system as a whole. It also identifies internal data stores that must be present in order for the system to do its job, and shows the flow of data between the various parts of the system. Figure: -Level 1 DFD 32 | P a g e Level 2 DFD Name: - Login System Operations: Operation Name: Return Value: Registration None Pre- Conditions: User should meet the terms and conditions User id should be unique All the mandatory fields should be filled up Post-conditions: None Exception: None Operation Name: Return Value: Verification Valid or Invalid Values Pre- Conditions: User id and password, both should match That user must be approved by station house officer User must submit registration form before log in Post-conditions: User is logged in to the web server Exception: If successful, User is logged in. If unsuccessful, User is returned to login screen. 33 | P a g e Name: - Complaint Filing and License application System Operations: Operation Name: Return Value: License Application System License Application Number Pre- Conditions: User must be logged in Mandatory fields are filled Post-conditions: License Application form will be submitted Exception: None Operation Name: Return Value: License Approval System Approved License Number Pre- Conditions: Employee must be logged in Employee must have required permission Post-conditions: License will be shown in the approved licenses list Exception: None 34 | P a g e Operation Name: Complaint Filing System Pre- Conditions: User must be logged in Mandatory field are filled Post-conditions: None Exception: None Return Value: Complaint Number Operation Name: Return Value: Complaint Approval System Approved Complaint Number Pre- Conditions: Employee must be logged in Employee must have required permission Post-conditions: Complaint will be shown in the approved complaints list Exception: None Name: - FIR and Court Disposals System 35 | P a g e Operations: Operation Name: Return Value: FIR Filing System FIR Number Pre- Conditions: Employee must be logged in Employee must have required permission Complaint must be already approved Post-conditions: FIR Number will generate Exception: If the employee has not required permission FIR cannot be filed Operation Name: Return Value: Court Disposal System None Pre- Conditions: Employee must be logged in Employee must have required permission FIR must be already filed Post-conditions: You can see Crime Details, Property Seizure, Arrest and Final Forms Exception: None Name: - Reporting System 36 | P a g e Operations: Operation Name: Valuables Report Pre- Conditions: User must be logged in Post-conditions: Report Number will generate Exception: None Return Value: Report Number Operation Name: Missing Person Report Pre- Conditions: User must be logged in Post-conditions: Report Number will generate Exception: None Return Value: Report Number Operation Name: Return Value: Criminal Report System None Pre- Conditions: Employee must be logged in Employee must have required permission Post-conditions: Criminal records are added Exception: None 37 | P a g e Name: - Maintaining Database Operations: Operation Name: Return Value: Database Insertion System None Pre- Conditions: Admin must be logged in Admin must have required permission Post-conditions: Police station, Police Officers are added to the database Exception: Operation Name: Return Value: Database Modification System None Pre- Conditions: Admin must be logged in Admin must have required permission Post-conditions: Police station, Police Officers are modified/deleted Exception: 38 | P a g e 3.3 User Interface Design User Interface will consist of many familiar looking web pages. Citizen, Employee and Administrator have pages of different designs. We are not going to show each and every page in the interface design. First we will show some important screen shots and then a sample coding. 3.3.1 Screen Shots Citizen Section Figure: -Citizen Login Form Figure: -Citizen Services Page 39 | P a g e Figure: -Citizen Signup Form Figure: -Emergency Complaint Form 40 | P a g e Employee Section Figure: -Employee Control Panel Page Figure: -Approved Complaints Page 41 | P a g e Figure: -FIR Details Figure: -Criminal Details 42 | P a g e Admin Section Figure: -Administration Control Panel Figure: -Add Police Officer 43 | P a g e Figure: -View Police Station Figure: -Logout Confirm 44 | P a g e 3.3.2 Sample Code <?php // Database Constants define("DB_SERVER", "localhost"); define("DB_USER", "root"); define("DB_PASS", ""); define("DB_NAME", "dbcop"); // Create a database connection $con = mysql_connect(DB_SERVER,DB_USER,DB_PASS); if (!$con) { die("Database connection failed: " . mysql_error()); } // Select a database to use $db_select = mysql_select_db(DB_NAME,$con); if (!$db_select) { die("Database selection failed: " . mysql_error()); } ?> 45 | P a g e 3.4 Data Design 46 | P a g e 47 | P a g e 48 | P a g e 49 | P a g e 50 | P a g e Test Design Document 4.1 Introduction 4.1.1 Purpose This test approach document describes the appropriate strategies, process, workflows and methodologies used to plan, organize, execute and manage testing of E-cop system. 4.1.2 Scope This document will address the following QA topics: Static testing and code documentation standards. Verification testing at the various levels: unit, module, and system. All testing components will be named and referred to consistently throughout the document. Validation testing including use-case realizations. We will also address acceptance testing and beta release testing. 4.1.3 Glossary Test Plan: a management planning document that shows: o How the testing will be done (including SUT (system under test) configurations). o Who will do it o What will be tested o How long it will take (although this may vary, depending upon resource availability). o What the test coverage will be, i.e. what quality level is required Test Design Specification: detailing test conditions and the expected results as well as test pass criteria. Test Case Specification: specifying the test data for use in running the test conditions identified in the Test Design Specification Test Procedure Specification: detailing how to run each test, including any setup preconditions and the steps that need to be followed 51 | P a g e Test Item Transmittal Report: reporting on when tested software components have progressed from one stage of testing to the next Test Log: recording which tests cases were run, who ran them, in what order, and whether each test passed or failed Test Incident Report: detailing, for any test that failed, the actual versus expected result, and other information intended to throw light on why a test has failed. Test Summary Report: A management report providing any important information uncovered by the tests accomplished, and including assessments of the quality of the testing effort, the quality of the software system under test, and statistics derived from Incident Reports. 4.1.4 References E-cops Software Requirement Specification Document, 2010 E-cops Software Design Document, 2010 IEEE 829-2008 Specification 4.1.5 Overview of Document This document has three additional chapters of interest. The next chapter discusses the test plan, that is, how testing will be done and how results will be recorded and reported. The chapter following describes verification testing, that is, testing of individual components of all sizes to ensure that they meet the requirements stated in the SRS. The final chapter describes validation testing, that is, testing of the functionalities of the system against the needs of the user as specified in the SRS. Acceptance testing and Beta release testing are also covered in this chapter. 4.2 Test Plan 4.2.1 Schedules & Resources The specified software developers will test each individual component for basic functionality as each is constructed. When a major code component is completed to their design specifications, it will be turned over to a designated testing team for comprehensive testing. Developers will have no 52 | P a g e need to formally test their own work, as the testing team will provide a more objective approach. This includes all the code modules. At the end of each development iteration, all use-case realizations that are thought to be complete will be tested for functionality. The testing team will record all errors encountered, and the software development team will be notified. After correction, the cycle will repeat itself, with every test being rerun. Upon project completion, the entire system will be subjected to a trial run with real data from the University, comparing these results to those created by a human projection using the same data. These comparison results will be inadequate, as there is too much information contained within these files to be accessed in a reasonable amount of time by hand, but will provide a rough guideline for evaluation. Once delivered to the client, the software team will monitor use, and be prepared to correct any errors or make any additions that are required. 4.2.2 Test Recording Test recording will use the form designated by Figure, and described below. Test Item refers to the name of the code module or use case as listed and detailed in the next two chapters. Developer refers to the person responsible for the software development of this unit and to whom problems need to be communicated. Tester refers to the principle tester of the component, if more than one person tests a unit. The principle tester is responsible for maintaining this record. Test Specification refers to the name of the section in the Appendix that includes the testing process, test data and the expected results. It also lists the other components that are linked to this Test Item, and must be retested whenever this component is retested because of change (regression data). Finally, it lists the cross-reference to the SDD where it is described and the code where it is implemented. 53 | P a g e Date Tested refers to the date at which the testing is completed and this record updated. Result is designated either Pass or Fail. If a test is failed, specific details surrounding the failure will be given in written form to the developer for correction. Test Item* Developer Tester Name Test Specification Date Tested Result Figure: - Testing Record Form * Here we use ‘ModuleID.SubmoduleID.UnitID.TestCaseID’ format for Test Item 4.2.3 Test Reporting A master list of all testing and the results will be maintained using the form listed below. This will be kept in electronic form and updated as each test is performed. Note that this is a summary of the Testing Record Form and must be used in conjunction with that form. Test Item refers to the name of the component/use case as listed in the next two sections. All names will be preprinted on this form. Status includes Untested, Passed, Failed, and Needs Retested. The term Needs Retested refers to an item, which has previously passed, but now needs to be retested because a related item has been retested (regression testing). For Date Scheduled/Tested, Tested should record only passed tests. All others should be Scheduled. Test Item Status Date Scheduled/Tested Figure-Test Summary Report 54 | P a g e 4.2.4 Static Testing Each unit of code will be fully documented with the documentation found in the detailed design of the Software Design Document. After each code component is coded and before the designated team dynamically tests it, it shall be provided to the team as a whole excluding the developer to identify errors or omissions. If problems are found, the code will be returned to the developer with the problem(s) identified. After correction is done, the code will again be reviewed. 4.3 Verification Testing 4.3.1 Unit Testing The following units must be tested. The test specifications are contained in the Appendix to this document. For convenience, units are grouped by enclosing module. Module Name( Module ID ) Citizen login(04) Complaint Report(05) License Application(06) Approvals(07) Criminals(08) Unit Name( Unit ID) Citizen Registration (01) Citizen Sign in(02) Emergency Complaint Report(01) Non-emergency Complaint Report(02) Missing person report(03) Missing valuables report(04) License Application(01) Citizen Signup Approval (01) License Approval(02) Complaint Approval(03) Add Criminals(01) View Criminals(02) Edit Criminals(03) Delete Criminals(04) 55 | P a g e FIR(09) Police Station(10) Police Officer(11) Laws and Acts(12) Polls(13) Help and Support(14) FIR filing(01) View FIR(02) Crime Details(03) Arrest/Surrender(04) Property Seizure (05) Final form(06) Add Police Station (01) Delete Police Station(02) View/Modify Police Station(03) Add Police Officer (01) Delete Police Officer(02) View/Modify Police Officer(03) Add Laws and acts(01) Delete Laws and acts(02) Modify Laws and acts(03) Add Polls(01) Delete Polls(02) Modify Polls(03) Add Help Info(01) Delete Help Info(02) Modify Help Info(03) 4.3.2 Module Testing The following modules must be tested. The test specifications are contained in the Appendix to this document. Formal module testing will be done only after all units in that module are tested. To allow testing incomplete modules, we treat an incomplete module as a complete module with a different name. The module that it is part of is referenced here. The complete module has None in its Part of column. Module Name( Module ID ) Citizen (01) Part of None 56 | P a g e Employee(02) Administrator (03) Citizen Login(04) Complaint Report(05) License Application(06) Approvals(07) Criminals(08) FIR(09) Police Station(10) Police Officer(11) Laws and Acts(12) Polls(13) Help and Support(14) None None Citizen (01) Citizen (01) Citizen (01) Employee(02) Employee(02) Employee(02) Administrator(03) Administrator(03) Administrator(03) Administrator(03) Administrator(03) 4.4 Validation Testing 4.4.1 System Testing All use cases must be tested. Use cases must work in combination with other use cases. In order to test these cases we must run the system under different conditions and sequences. 4.4.2 Acceptance & Beta Testing After the above Testing has been performed, it is important to check that the system will work under real data. The system will be run for testing using last year’s data. 57 | P a g e 4.5 Appendix 4.5.1 Verification Tests Unit name:- Citizen Sign in Test cases:Test case(Test case ID) No Input or one of the input is missing (01) E-mail id or password or both are not matched (02) Both are matched (03) Result Expected ‘Enter a valid email id’ and ‘enter password’ message will be shown ‘Email-id and password do not match!!!’ will be shown Redirect to the services page and create session Test Record:Test Item 01.04.02.01 01.04.02.02 01.04.02.03 Developer Suplab Debnath Suplab Debnath Suplab Debnath Tester Name Abhishek Marik Abhishek Marik Abhishek Marik Date Tested 27/03/2011 27/03/2011 27/03/2011 Result passed passed passed Unit name:- Non-emergency Complaint Report Test cases:Test case(Test case ID) No Input or atleast one of the necessary inputs is missing(01) All mandatory fields are entered (02) Result Expected Message will be shown requesting to enter the mandatory fields Data will be entered into the `complaint` table and `successful complaint submission` message will be shown Test Record:Test Item 01.04.02.01 01.05.02.02 Developer Suplab Debnath Suplab Debnath Tester Name Abhishek Marik Abhishek Marik Date Tested 27/03/2011 27/03/2011 Result passed passed 58 | P a g e Unit name:- Crime Details Test cases:Test case(Test case ID) FIR is not prepared(01) FIR is prepared,but crime details information is not entered(02) Necessary fields are empty(03) All the entries in the crime details form are correct (04) FIR is prepared and crime details form is also prepared(05) Result Expected Crime details cannot be inserted Crime details can be inserted Message will be shown to enter the fields Data will be written to the `crimedetails` table Only show the crime details information in read only format Test Record:Test Item 02.09.03.01 02.09.03.02 02.09.03.03 02.09.03.04 02.09.03.05 Developer Abhishek Marik Abhishek Marik Abhishek Marik Abhishek Marik Abhishek Marik Tester Name Suplab Debnath Suplab Debnath Suplab Debnath Suplab Debnath Suplab Debnath Date Tested 28/03/2011 28/03/2011 28/03/2011 28/03/2011 28/03/2011 Result passed passed passed passed passed Unit name:- Add Criminals Test cases:Test case(Test case ID) Necessary fields are empty(01) All the entries are correct (02) Result Expected Message will be shown to enter the fields Data will be written to the `criminals` table and redirect to `addcriminal` page Test Record:Test Item 02.08.01.01 02.08.01.02 Developer Anubhab Mukherjee Anubhab Mukherjee Tester Name Suplab Debnath Suplab Debnath Date Tested 28/03/2011 28/03/2011 Result passed passed 59 | P a g e Unit name:- Add Police Officer Test cases:Test case(Test case ID) Necessary fields are empty(01) All the entries are correct (02) Result Expected Message will be shown to enter the fields Data will be written to the `criminals` table and redirect to `addcriminal` page Test Record:Test Item 03.11.01.01 03.11.01.02 Developer Biswajit Maji Biswajit Maji Tester Name Suchandra Roy Suchandra Roy Date Tested 28/03/2011 28/03/2011 Result passed passed Unit name:- Add Police Station Test cases:Test case(Test case ID) Necessary fields are empty(01) All the entries are correct (02) Result Expected Message will be shown to enter the fields Data will be written to the `criminals` table and redirect to `addcriminal` page Test Record:Test Item 03.10.01.01 03.10.01.02 Developer Suchandra Roy Suchandra Roy Tester Name Biswajit Maji Biswajit Maji Date Tested 28/03/2011 28/03/2011 Result passed passed 60 | P a g e 4.5.2 Validation Tests Cross-Platform Browser Compatibility Testing:- Linux Crome 10.0 Crome 11.0 Crome 6.0 Crome 9.0 Dilo 2.2 Elinks 0.13 Epiphany 2.30 Firefox 3.6 Firefox 3.5 Flock 2.6 Galeon 2.0 Iceape 1.1 Iceweasel 3.0 Kazehakase 0.5 Konqueror 3.5 Konqueror 4.5 Konqueror 4.6 Lynx 2.0 Minefield 3.7 Navigator 9.0 Opera 10.0 Opera 11.0 Opera 9.80 Safari 533.3 SeaMonkey 2.0 Shiretoko 3.5 Windows passed passed failed passed failed failed passed passed passed failed passed failed failed passed failed passed passed failed passed passed passed passed passed failed passed failed Avant 11.7 Crome 10.0 Crome 9.0 Firefox 1.5 Firefox 2.0 Firefox 3.6 Firefox 4.0 Flock 2.6 Flock 7.0 K-meleon 1.5 MSIE 6.0 MSIE 7.0 MSIE 8.0 Minefield 3.7 Opera 8.54 Opera 9.80 Safari 4.0 Safari 5.0 SeaMonkey 1.1 SeaMonkey 2.0 passed passed passed failed failed passed passed passed failed passed passed passed passed passed passed passed failed passed failed passed 61 | P a g e Browser Screen Shots:- Firefox 4.0 Opera 8.54 62 | P a g e Netscape 8.1.3 Lynx 2.8.7 63 | P a g e User Manual 5.1 Introduction 5.1.1 Purpose This document will provide guidance for users of the E-cop System. 5.1.2 Scope This Document addresses the installation procedure of E-cop system. 5.1.3 References E-cops Software Requirement Specification Document, 2010 E-cops Software Design Document, 2010 5.1.4 Overview of Document These chapters walk a user through normally encountered system usages, providing examples and screenshots for ease of use. 5.2 Installation Information Installation in Local host Enter the CD which is provided for installing the E-cop system. Open the WAMP Server Folder Install WAMP Server in the C Drive of your computer. After Installing, run the WAMP Server from Start menu or for the Desktop Shortcut. o Go to C Drive wamp www. o Copy E-cop Folder from CD to that location. o Open your web browser and type http://localhost/phpmyadmin/ in the URL and press ENTER. o o o o 64 | P a g e o o o o Create a database named ‘dbcop’. Then import the dbcop.sql file from Database folder. Again type http://localhost/E-cop/ in the URL and press ENTER. Installation procedure is complete. Now you can enjoy E-cop system. N.B:- When you are operating E-cop system in local host e-mail facilities will not be available until SMTP is properly configured. 65 | P a g e Bibliography http://php.net (O`Reilly) Programming PHP (2nd Edition) (O'Reilly) PHP (Cookbook) (O'Reilly) PHP (Pocket Reference, 2nd Edition) (O'Reilly) MySQL (Cookbook) (O'Reilly)Head First PHP (O'Reilly)Head First AJAX Laika Design Document IEEE Project Report Format IEEE Test Design Specification Wikipedia 66 | P a g e Index A D Acceptance 58 Data Design 47 Acknowledgment 3 Data Flow Diagram 32 Actors 22 Admin 14, 44 Administrator 16, 23, 57 Deployment Diagram 22 Design Document 21, 52 AJAX 14 Developer 54 Apache 14 Diagram, SRS 18 Appendix 59 E Architectural Design 21, 22 Area 46 E-cop 2, 8, 9, 13, 14, 15, Arrest form 46 Employee 14, 16, 22, 42, Assumptions 25, 26, 27, 28, 29, 30, 31 Attachments 46 B Beta Testing 58 E-R Diagram 19 F Feasibility 9 Bibliography 67 Functional Requirements 10, 15 Browser Compatibility Testing 62 G Browser Screen Shots 62, 63 C Certificate 2 Citizen 14, 15, 22, 40 Gantt chart 19 Glossary 14, 52 H Class Diagram 18 HTML 14 Code Sample 46 L Context level DFD 32 Context of the Project 7 Level 1 DFD 33 Level 2 DFD 34 67 | P a g e Linux 62 Scope 13, 21, 52, 65 Local host 65 Screen shots 39 M SRS 13 Module Testing 57 MySQL 14 N Non-functional Requirements 10, 17 O Optional Features 11 Overall Description 14 Overview 14, 21, 53 P PHP 11, 14 Product Overview 8 Purpose 13, 21, 52, 65 R Static Testing 56 System Environment 15 System Evolution 17 System Testing 58 T Technologies 11 Test Case Specification 52 Test Design Document 52 Test Design Specification 52 Test Incident Report 53 Test Item Transmittal Report 53 Test Log 53 Test Plan 52, 53 Test Procedure Specification 52 Test Recording 54 References 14, 21, 53, 65 Test Reporting 55 Reports 11 Test Specification 54 Resources 53 Test Summary Report 53 Revision History 4 Tester 54 S Tools to be used 11, 12 Scenario 9 Schedules 53 68 | P a g e U Validation Testing 58, 62 Verification Testing 56, 59 Unit Testing 56 Use Case Diagram 24 Use case Realization 22 W Use cases 23, 25 WAMP 65 V Windows 62 User Interface Design 21, 40 User Interface Specification 16 69 | P a g e