1 Online Law System Group Members: Usman Ahmed Siddiqui (33124) Abdul Basit Ali Sheikh (33123) Maria Tariq (33082) Submitted To: DR NADEEM AHSAN Date: 12/8/2018 2 Context 1. Acknowledgement……………………………………………………………………….. 5 2. About team………………………………………………………………………………….. 6 2.1. Team Profile………………………………………………………………………….. 7 2.2. Project Head………………………………………………………………………….. 8 3. Introduction………………………………………………………………………………….. 9 3.1 Purpose…………………………………………………………………………………….10 3.2 Scope..……………………………………………………………………………………..10 3.3 Description………………………………………………………………………………. 11 4. Tool requirements………………….………………………………………………………11 4.1 software components……….………………………………………………………12 4.2 Hardware components …….………………………………………………………12 5. Project Management……………….……………………………………………………. 13 5.1. Plan of work………………………………………………….…..…………………..… 14 5.2 Module of working..………………………………………………………………..… 15 5.2.1. Sprint #1……………………………………………………………………………. 15 5.2.2. Sprint #2……………………………………………………………………………. 15 5.2.3. Sprint #3……………………………………………………………………………. 15 6. Estimated Time And Cost…………………………………………………………........16 7. Requirements………………………………………………………………………………….17 7.1. Functional Requirements………………………………………………………….18 7.2 Non-functional Requirements…………………………………………………….21 8. Use case description…………………………………………………………….………….23 9. Use case diagram…………………………………………………………………………….29 3 10.Class diagram……………………………………………………………………………..33 11. Class diagram description……………………………………………………………34 12. Sequence diagram……………………………………………………………………..38 13. System owner information………………………………………………………..49 13.1. Facility served…………………………………………………………………… 49 14.Questionaires……………………………………………………………………………..51 14.1. Background questions………………………………………………………… 51 14.2 Functional requirements questionaires………………………………. 53 14.3 Non functional requirements………………………………………………55 15. Review Documents…………………………………………………………………..58 16. Test cases……………………………………………………………………………….. 59 16.1 Test case1……………………………………………………………………….. 60 16.2 Test case2……………………………………………………………………….. 61 16.3 Test case3………………………………………………………………………. 62 16.4 Test case4………………………………………………………………………. 63 16.5 Test case5………………………………………………………………………64 4 Acknowledgement I would like to express my deepest appreciation to all those who provided me the possibility to complete this report. A special gratitude I give to our course instructor, Dr Nadeem Ahsan, whose contribution in stimulating suggestions and encouragement, helped me to coordinate my project especially in writing this report. Furthermore, I would also like to acknowledge with much appreciation the crucial role of the staff, who gave the permission to use all required equipment and the necessary materials to complete the task “Online Law System”. A special thanks goes to my teammate, [Maria Tariq, Abdul Basit Ali Shaikh], who help me to assemble the parts and gave suggestion about the task “Online Law System”. Finally yet importantly, many thanks go to the head of the project, [Usman Ahmed Siddiqui] whose have invested his full effort in guiding the team in achieving the goal. 5 About Team 6 Team Profile: We are five members in the team, namely: Usman Ahmed Siddiqui, Maria Tariq, and Abdul Basit Ali Sheikh. Email addresses of each of the members are Usman Ahmed Siddiqui Email address: ua645791@gmail.com Maria Tariq Email address: mariatariq540@gmail.com Abdul Basit Ali Sheikh Email address: abdulbasitalisheikh1@gmail.com 7 Project Head: We have elected Usman Ahmed Siddiqui as our project head and he will manages thefollowing tasks listed below among team: Organize team meeting. Organize stakeholder meeting. Communicate with team members. Resolving conflicts. Proofreading. 8 Introduction 9 Purpose The purpose of this Software Requirement Specification (SRS) is to provide a detailed description of the functionalities of Online Law System .This document is made to cover all features of the system. In addition, this document is very helpful in making this system. Scope The project scope of this project is to develop online law system. People facing many problems to register their case in the court this system helps them to register their case in court also, people can select their lawyer based on their expertise. People face many difficulties in court this system helps them to complete initial inquiry of their case. The person who want to enhances his/her knowledge regarding law, articles etc. can use this system. 10 Description There is a raise of crime in our country and most of the people are unaware of the criminal laws.Therefore, it becomes necessary to make the citizens aware of all kinds of laws put forth by our constitution against crime so that people come forward to register cases against it.People can come and search for the laws oftheir crime. There is also options to searchwhere user can find or search according to their requirements by entering their query. There is also a facility available for users to get contact of lawyers. An enquiry form providedby where user can ask their query and can register cases and the form is send to the court authority.This online system is develop on c#.net platform and supported by a SQL database to store user specific details. 11 Tools for Requirements: Software Components: • Windows 7 and above • Microsoft SQL Server. • Visual Studio. Hardware Components: Processor – i3 Hard Disk – 5 GB Memory – 1GB RAM 12 Project Management 13 Plan Of Work Our group believes in dedication and hard work as its quoted that “hard work is the key to success”. Our team consists of good web developers and our team members are skilled enough to document the hard work we are putting into this project. It would have been much more difficult to implement this project with less than three people because team size matters. Every team member is going to have an individual responsibility to take care of. Programming cannot alone do the job; it needs proper methodology, documentation, testing and management to bring the best out of the project. We plan to give the client “the best”: The definition of “best” they believe in. Every individual has a different choice and has different priorities in their lives. Teamwork can either make a project up to mark or let it fall below the mark, so we plan to work together and help each other out if any of the members faces a difficulty in their individual responsibility. These individual responsibilities are assign to each of the member of the group: Usman Ahmed Siddiqui: Programming, Database designing and Management. Maria Tariq: Programming, Documentation and Presentation. Abdul Basit Ali Sheikh: Documentation, Database designing and testing. 14 Module Of Working SPRINT #1: Client meeting. Team meeting. Requirement gathering. Planning. Proposal (project description). Meeting with stakeholders. Questionnaires. SPRINT #2: Team meeting. Report (use case diagrams, sequence diagrams). Interview of client. Workshop. Client meeting. Start working on UI. SPRINT #3: ERD. Client meeting. Database. Working on UI. Approving UI from customer. 15 Estimated Time & Cost: We have not initiated the project yet but, we have scheduled the tasks according to the requirements that the client asked for and the problems the client faces. By our experience and because of the division of tasks among our group members, we think it would take 4 weeks to complete this project and the total cost is probably going to be within the client’s budget, which is 200k. 16 Requirements 17 Functional Requirements User login Functional Requirement User Login Input The user shall give his/her ID password to login. Output User enter in the system. Exception If user provide wrong ID password he/she don’t get in the system. Law Search Functional Requirement Law Search Input Output Exception User can search for particular law by specifying the section number or keyword. User get the law which he/she search. If user gives wrong section number or keyword a message was generate invalid number. 18 Court Search Functional Requirement Court Search Input User can search for court by specifying the location. Output User get the location of nearest court. Exception Wrong location do not gives the location. Lawyer Search Functional Requirement Lawyer Search Input Output User can search for lawyer of particular court based on the expertise. The system provides the lawyer contact and description so that users can refer them. User selects the lawyer on her choice. Exception Law Update Functional Requirement Law Update Input Law updated by admin. Output Law updates will be displayed to the user. Exception 19 Admin Login Functional Requirement Admin Login Input Output Exception Admin can access the system by giving the ID and password Access the system. Wrong ID password show a message of incorrect ID password. Court Entry Functional Requirement Court Entry Input Admin can enter court details if there is any new court. Output User see the new court if admin enter new court detail. Exception Lawyer Entry Functional Requirement Lawyer Entry Input Output Admin can enter details about new lawyer and his expertise. User see the new lawyer if admin enter new lawyer detail. Exception 20 Non-Functional Requirements 1. Product Requirements: 1.1 Efficiency Requirements: 1.1.1 Performance Requirements:The response time of my web application shall be quick as it does not exceed 8 seconds. 1.1.2Space Requirements:The system shall not occupy more than 1200 Mb. 1.2Usability Requirements:The E-Lawyer system has a userfriendly and simple to understand interface in order to facilitate the interaction with users. 1.3Reliability Requirements:The functionalities of the system shall work as required and the latter should bereliable. 1.4Portability Requirements:The developed system shall be compatible with Windows operating systems. 2.Organizational requirement 2.1 Delivery requirement: The Online Law System shall be displayed by the end of December 2018. 2.2Development requirement The Online Law System is developed on (c#.net) platform and supported by a (SQL database) to store user specific details. 3.External requirement 3.1 Ethical requirement:Online Law System shall respect ethical rules and regulations. 21 3.2Legislative requirement 3.2.1Privacy requirement:The Online Law System shall preserve the lawyers client’sconfidentiality by strengthening the security features of the software so thatclients' data is never compromised or divulged to any non-approved third party. 22 Use Cases Description The list of possible interactions between a user and the system are in the following table. Actors Names ID Clients Clients Clients Clients Clients Clients Admin Admin Sign up Lawyer search Court entry Court search Law search Logout Admin login Add/delete/update the law Lawyer entry Confirm/reject a case UC-01 UC-02 UC-03 UC-04 UC-05 UC-06 UC-07 UC-08 Admin Advocate UC-09 UC-10 Description of the use cases mentioned in the above table: UC-01 Sign up Requirement Initiating Actors Actor’s goal Participating Actors Pre-conditions Post-conditions Flow of events To be able to sign up. Client does initiative step. To be registered in the system. Admin Clicking on the sign up. Be signed in to the system to see the law/to register their case. Visit the website Click on the sign-up menu 23 Enter valid information Be signed in after completion of the sign-up procedure. UC-02 Lawyer search Requirement Initiating Actors Actor’s goal Participating Actors Pre-conditions Post-conditions Flow of events To be able to search an advocate for your case. Initiation is to be done by client. To find the best lawyer which can handle and solve your case easily. Admin Clicking on the sign up. Be signed in to the system then lawyer will tell you what law applied on your situation. Visit the website Click on the sign-up menu Enter valid information about case Search of lawyer Click on the lawyer panel to select lawyer of your choice. 24 UC-03 Court Entry Requirement Initiating Actors Pre-conditions Post-conditions Flow of events UC-04 Court search Requirement Initiating Actors Pre-conditions Post-conditions Flow of events UC-05 Law Search Requirement Initiating Actors Actor’s goal Pre-conditions Post-conditions Flow of events To be able to see the nearest court of your location. Initiation is to be done by client. Advocate chooses law according to the client situation. Check out. Visit the website Check the date of entry in court. To be able to search for court. Initiation is to be done by client. Clicking on the sign up. Can checkout or add more detail about their case. Visit the website Sign in Check in which court their case is proceed To be able to search the law. Initiation is to be done by Client To be able to search the lawyer. Signing in. Search the law. Login; search the law according to your situation. 25 UC-06 Logout Requirement Initiating Actors Pre-conditions Post-conditions Flow of events UC-07 Admin login Requirement Initiating Actors Actor’s goal Participating Actors Pre-conditions Post-conditions Flow of events To be able to checkout. Initiation is to be done by client. Contact to lawyer. Receive a confirmation mail on your email if the lawyer is confirmed that he/she is taking your case. • Visit the website • Browse products • Add products to cart • Checkout To be able to login. Initiation is to be done by admin. To open the system. Admin Clicking on the login. Be login in to the system to see the law ,modify the law ,add, update and also add new lawyers in the system • Visit the website • Click on the login menu • Enter valid information • Be login after completion of the procedure. 26 UC-08 Add/Remove/Update the law Requirement To be able to Add/remove/modify the law. Initiating Actors Initiation is to be done by the Admin. Actor’s goal To be able to make changes. Pre-conditions Signing in. Post-conditions Saving the changes and notifying customers about the updates through the newsletter. Flow of events • Visit the website • Sign in • Make changes • Save • Notify customers • Log out UC-09 Lawyer entry Requirement Initiating Actors Actor’s goal Pre-conditions Post-conditions Flow of events To be able to enter the new lawyer Initiation is to be done by Admin To be able to add the new lawyer. Signing in. Add Information about new lawyer and add detail. Login; add details about the new lawyer information save in database about the new lawyer. 27 UC-10 Confirm/Reject a case Requirement To be able to Confirm/reject the case Initiating Actors Initiation is to be done by Admin Actor’s goal To be able to accept or reject an order Participating Actors Client who send an application for their case. Pre-conditions Signing in. Post-conditions Notify Customer about law detail/ cancellation details. Flow of events Sign in, Confirm or reject an order.Notify customer about the rejection or confirmation. 28 Use Cases Diagram 29 30 31 32 Class Diagram 33 Description Of Class Diagram The class diagram includes the following: User: The person who use the system is called user. Admin: Manage the law system. Customer: Customer is directly interacting our system. Court:A place where trials and other legal cases happen. Lawyer:A person whose profession is to represent clients in a court of law or to advise. Law: The law is a system of rules that a society or government develop to deal with crime business, agreements, and social relationships. Data Types and Operation Signatures Admin: Attributes: -Admin name: string -Admin ID: int Methods: +Add account () admin have rights to add new account +Add law () admin have rights to add new law +Add lawyer () admin have rights to add new lawyer +Update court () admin have rights to update the court information +Update law () admin have rights to update the law +Update lawyer () admin have rights to update the lawyer 34 User: Attributes: +User id: int each user have unique id +Password: varchar each user have unique password +Login status: varchar if id and password is correct so the login status is successful Methods: +login (): bool +logout (): bool Customer: Attributes: -ID: int customers have unique id number so it is easy to identify which client belong to that case or which lawyer belong to the customer -Name: string -Password: string -Phone Number: int -Email: varchar Methods: +Register () customers register themselves in website 35 +Login () customers first register themselves in website then they give unique id and password to login for next time +Court search () customers can search the nearest court +Lawyer search () customers can search lawyer Court: Attributes: -Court name: string you will get the court name by entering your information. -Court location: varchar show the nearest court. -Room number: int in which room you want to present for Your case Methods: +get court () you will get the information about court by login 36 Lawyer: Attributes: -ID: int every lawyer have unique id -Name: string name of the lawyer -Phone: int mobile number of the lawyer -Experience: varchar lawyer experience -Charges: int price of the case Methods: +Show customer () display what type of customer lawyer have +Add cases () add new cases in the database which lawyer except +Reject cases () lawyer rejects cases Law: Attributes: -ID: int every law has a unique id -name: string names of the law Methods: +get law law class get laws from the admin class. 37 Sequence Diagram 1. Login: 1. 2. 38 In first diagram user have to login in the system to get the functionality of the system. User have to provide full information to make account. In second diagram user, fill the form to make account on the system. Then login in the system. 2.Law search: The diagram tell about the functionality of the law search by the user. User provide particular keyword or section number to get the law. User also know the law of her/his problem by provide the problem in the textbox. 39 3. Court Search: This diagram told that user could search the court by the location. System gives the address of the nearest court from your location. 40 4. Lawyer Search: This diagram state that user also search lawyers in this system. User provide login ID password to login in this system and then user can search the lawyer by the name of the lawyer and by the case of the lawyer. 41 5. Law update: This work is done by admin of the system. First admin login to the system then admin click on update than update the database of the system so that user can see the new law. 42 6. Admin login: The system wants the login ID and password of the admin to get in the system. If admin enter invalid ID password an error was generate (please enter valid ID or password). 43 7. Court entry: In this diagram admin, add the new court in the system. Admin first login in the system and add the detail of thenew court into the system. Admin show the new court to the user in the user panel. 44 8.Lawyer entry: This diagram shows the working of admin. First admin provide the login ID password than admin was able to add new lawyer. Admin add detail of new lawyer. 45 9.Logout: After doing, all working in the system user logout from the system. 46 10. Add/delete/modify the law: Confirm/Reject an order: This diagram shows the working of admin. Admin add, modify, and delete the law. All the working will update in the database. 47 11. Confirm/Reject an order: The advocate does this work. Lawyer get in to the system after login. Lawyer have the rights to confirm reject the order of the user. In any case, lawyer do not want to further proceed the user case he/she can reject the order. 48 System Owner Information (Name of Legal Owner) (Mailing Address) (City) (State) (Zip Code)(Country) (Authorized Representative, if different from owner) (Title) (Name of System Operator, if different from owner) (Mailing Address) (Daytime Phone Number) (Fax Number) (Email) Facility Served (Name of Development, Subdivision, Business Park, School, Church, Community or Other) 49 (Facility Location if different from owner or operator address) (City) (State) (Zip Code) (Country) _____________________________________ I certify that this document and all attachments were prepared under my direction or supervision. Based on my personal knowledge or my inquiry of the person or persons who manages the system, or those persons directly responsible for gathering the information, the information submitted is, to the best of my knowledge and belief, true, accurate, and complete. 50 Questionnaire to Communicate Requirements The process of developing a business website involves three stages: 1. Thinking about the business aspects of the site such as the business use, content, branding and process integration the business requirements. 2. Thinking about the visual design aspects such as the layout the graphics the creative concepts. 3. Thinking about the technical aspects of the site such as the architecture the platform and the application the technical requirements. Our project will be the web application that will help people to understand about law and it will be helpful for public Web application of these types consist of fundamental steps that are essential for the development. The application or system must be user friendly and can easily be operate but it must be secure. The visual design must be attractive and it features must be easy to use and attractive. 1. Background: a) What type of system application you required? Web Mobile application 51 b) Is this system is new? Yes No c) It must keep data. Yes No d) Do you want warehouse? Yes No e) Lawyers have to registration. Yes No f) Law can only read after login. Yes No. G) Laws only read after without login. Yes No h) Information must keep confidential. Yes No 52 i) Operator is computer scientist. Yes No j) UI must be user friendly? Yes No k)Update are required after every year. Questionires: Functional Requirement questions: Q1)How will you use this system ? Ans: Q2)Where you want to store the data ? Ans: Q3)What does this new feature need to do? Ans: Q4)What is the end result of doing this? Ans: 53 Q5)On what basis the lawyer is find? Ans: Q6)How the system learn law? Ans: Q7)Where does the process start? Ans: Q8)What is the first step as a user or as a customer? Ans: Q9)How many portals you want? Ans: Q10)How we check the customer details? Ans: Q11)How the law was updated? Ans: 54 Q12)How the lawyer confirm the details of the customer? Ans: Q13)You want to work more features by yourself? Ans: Non-Functional Requirements: Q1)Total number of client ? Ans: Q2)Typical expected timeframe for system active hours? Ans: Q3)Time for verifying password to maximize performance? Ans: Q4)Backend database specific if any.(Our software is developed for My SQL backend)? Ans: 55 Q5)What information do you need to capture? Ans: Q6)Who information do you need to capture? Ans: Q7)Who manages the process and who else is involved? Ans: Q8)How is data updated, changed and deleted? Ans: Q9)What reports do you have? Ans: Q10)How accurate is the information in the reports? Ans: Q11)Is information available in real time? Ans: 56 Q12)Are there security concerns related to data access? Ans: Q13)How easy is it to find the exact customer data you want in the current system? Ans: 57 Review Document I am a owner of a mobile shop. I want to modify my manual system in to automated system in which customer can buy, sell, and see the mobile. I want online web portal on which customer signup in the web portal and the details of the customer was save in the database connected with web portal. Description about all the products are save in the database and show on the user panel. If the user select a product, the system automatically shows the price of that product. An admin of the system can upload specifications, pictures and the respective price of that mobile phone so that people from all over the world can watch. Users can compare, give review on the phones and make order easily. Users can also compare one phone to another; they can search phones according to their range. For the booking, he must login, give the needed details, and then confirm their order. The ordered product will go to their cart so he can add/delete product from the cart. 58 Requirement Test Case: Test Case :1 Test Case title:Login based on different roles (Admin, manager). Test Case Module ID : TC1 Test Priority:High Test Designed by: M.Hussain, Ammar abid Requirement Functional Testing Testing Objective:To make sure the login page redirect user to the correct page based on their roles. Test Case ID Test Case Expected Result Result (Pass/Fail) TC # 1.1 Verify login admin role. Pass TC # 1.2 Verify login manager. Redirect login to the admin page. Redirect login manager to the home page. Pass 59 Reason Note Test Case :2 Test Case title: View product analysis (Admin, and manager ). Test Case Module ID : TC2 Test Designed by: Nabeel Ali Test Priority:Medium Requirement Functional Testing Testing Objective:To make sure that admin and manager view and analysis the product they lunch. Test Case ID Test Case Expected Result Result (Pass/Fail) TC # 2.1 White Box Pass TC # 2.2 Black Box Visualization of the product Inside and deep analyize of product. Test Case :3 Reason Note Pass Test Case title: View Sales Analyize. (Admin, manager). Test Case Module ID : TC#3 Test Designed by: Ali Mujeeb Test Priority:Medium Requirement Functional Testing Testing Objective:To view the sales of specific product acted on. Test Case ID Test Case Expected Result Result (Pass/Fail) TC # 3.1 White Box Estimating the products success Pass 60 Reason Note TC # 3.2 Black Box Test Case :4 through the analize of sales it gathers. Measuring the sales of the specific product utilizing through the past information and feedback, calculating the sales to predict the success or failure. Pass Test Case title: Average Sales Analyize (Admin) Test Case Module ID : TC#4 Test Designed by: Syed Kashaf Shakil Test Priority:Medium Requirement Functional Testing Testing Objective:To estimate the success or failure of the product and sales average. Test Case ID Test Case Expected Result Result (Pass/Fail) TC # 4.1 White Box Visualizing the average sales and estimating scope. Pass 61 Reason Note TC # 4.2 Black Box Generate the Sale Outcome of product view the scope of the product and calculate the product success or failure. Pass 62