FPT-APTECH COMPUTER EDUCATION eProject Document BookStore ABC Trần Quang Thanh<RollNo><Eproject_Code> Group Member Nguyễn Thị Vân<RollNo><Eproject_Code> Trần Văn Thành<RollNo><Eproject_Code> Dương Thị Thanh Nga<RollNo><Eproject_Code> Nguyễn Thị Minh Châu<RollNo><Eproject_Code> Instructor Batch Semester Đặng Kim Thi S0890G 3 - Hanoi, 10/20010- FPT – Aptech Computer Education eProject Document Table of Contents 1. Introduction .................................................................................. 4 2. Problem Definition ............................................................................ 4 2.1. Problem Abstraction .................................................................... 4 2.2. The Current System .................................................................... 4 2.3. The Proposed System ................................................................. 4 2.4. Boundaries of the System............................................................ 4 2.5. Development Environment .......................................................... 5 3. Requirements and Business Flow ....................................................... 5 3.1. Customer Requirement Specification ............................................ 5 3.2. Activity Diagram ......................................................................... 5 3.3. Use Case Diagram .................................................................... 11 3.4. Use Case Specification .............................................................. 20 3.5. Other Concerns<Optional> ....................................................... 21 4. Design ........................................................................................... 22 4.1. System Architecture .................................................................. 22 4.2. Class Diagram .......................................................................... 22 4.3. Class Diagram Explanation ........................................................ 23 4.4. Sequence Diagram (Optional) .................................................... 24 4.5. Collaboration Diagram (Optional) ............................................... 29 4.6. State Diagram (Optional) .......................................................... 29 4.7. Entity Relationship Diagram ....................................................... 29 4.8. Database Design....................................................................... 30 4.9. Algorithms (optional) ................................................................ 34 4.10. Others (optional) ...................................................................... 34 5. System Prototype ........................................................................... 35 6. Management and Project Planning ................................................... 36 6.1. Management Approach ............................................................. 36 6.2. Project Plan .............................................................................. 36 6.3. Task Sheet ............................................................................... 36 6.4. Meeting Minutes (Optional) ....................................................... 36 7. 8. Checklists ....................................................................................... 37 7.1. Check List of Validation ............................................................. 37 7.2. Submission Checklist ................................................................. 37 Screenshots .................................................................................... 37 <Your Team Name> Page 2 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document 9. Coding Convention .......................................................................... 37 10. Other Concerns<Optional> ............................................................. 37 Appendix ................................................................................................. 38 Glossary [Optional] ............................................................................... 38 References [Optional] ........................................................................... 38 Others<Optional> ................................................................................ 38 <Your Team Name> Page 3 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document 1. Introduction Our client is a retail dealer for the books and sells the books at his shop Shradha General Book Stores . He sells different types of books of different publications of stories, school related text books, note books, essay writing books, some of books for the competitions like General Knowledge, Essay Writing, and also novels, books to improve vocabulary, for learning other languages, etc and also he sells some of the book related materials like covers, pens, pencils, etc .. Also the slam books, Files, etc . are available at his shop. 2. 2.1. Problem Definition Problem Abstraction Actually the client deals directly with some of the publications for purchasing the books, and for some of the publications he purchases the books through the other dealers. Also some of the dealers and the book sellers purchase the books from our client. The customers either visit the dealer or call him for purchasing. Similarly is the case with the client. 2.2. The Current System Because of no automation in the system, the orders placed get delayed, due to which the customer dissatisfaction happens. Also in this competitive world where the number of publications and the dealers are increasing, it becomes difficult to retain the customers. 2.3. The Proposed System To bring the Automation in the system and to cope up in this competitive world, our client now want to incorporate an online sale system where the customers can directly interact and place their orders through online itself. 2.4. Boundaries of the System The Admin should alone be able to update or insert or delete the details of the products and the order and as well that of the FAQ s. The admin should alone be able to reply to the feedback and Queries that are posted by the customer. Auto generation of the unique 8 digit Order Number and based on the series of the order received. The products to be assigned a unique seven digit code based on the manufacturer and the category of the product and as well based on the serial order of entry of that particular product. The feedback and query page to collect the feedback and queries of the customer. The Order tracking page, where one can track the status of the order and as well cancel or update an order Creation, maintenance and updating database, which contains Details of the Products. Details of the Manufacturers. Details of the stock available. <Your Team Name> Page 4 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Details Orders (included order details and the Delivery details). Details of the Payments based on the Order and Products and the Distance of delivery. The billing for the order is to be calculated taking into account the Order quantity, type of the product, and the Distance of the Delivery. 2.5. Development Environment Hardware : A minimum computer system that will help you access all the tools inthe courses is a Pentium 166 or better 64 Megabytes of RAM or better Windows 98 (or higher if possible) Java Virtual Machine Software : Notepad/Java editor j2sdk1.4.1_02 (or later) / .Net / J2EE JSP / Servlets EJB / Struts JDBC SQL Server 2000 (or later) / Oracle 9i / MS Access JDBC 3. Requirements and Business Flow <In this section you will provide the requirements you developed against. This section should be useful, so only provide enough information (requirements, diagrams) to help with the implementation of the software. Focus on the “non-obvious” aspects. If you are dealing with a business process, activity diagrams are good. Making a set of requirements that is compact, simple and covers all the key aspects of the software can. Don’t do the work if you don’t need it!> 3.1. Customer Requirement Specification <Summarize the customer requirement into the compact form> 3.2. Activity Diagram <Your Team Name> Page 5 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Figure 1 : Top-Level Activity Diagram <Your Team Name> Page 6 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Figure 2 : Administrator Activity Diagram <Your Team Name> Page 7 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Figure 3 : Moderator Activity Diagram <Your Team Name> Page 8 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Figure 4 : OrderManagement Activity Diagram <Your Team Name> Page 9 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Figure 5 : ProductManagement Activity Diagram <Your Team Name> Page 10 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Figure 6 : Login Activity Diagram 3.3. Use Case Diagram <Your Team Name> Page 11 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Figure 1 : Top-Level Use case <Your Team Name> Page 12 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Figure 2 : CheckOut Use Case Figure 3 : Product Use case <Your Team Name> Page 13 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Figure 4 : Use case Product Management <Your Team Name> Page 14 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Figure 5 : Use case Product SubCategory Management <Your Team Name> Page 15 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Figure 6 : Use case Product Category Management <Your Team Name> Page 16 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Figure 7 : Use case Product Account Management <Your Team Name> Page 17 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Figure 8 : Use case Customer and Member <Your Team Name> Page 18 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Figure 9 : Use case Product Order Management <Your Team Name> Page 19 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Figure 10 : Use case Cart 3.4. Use Case Specification <Write down all non-trivial use cases. This should reflect what you get when your team does the system analysis. Use the template to write the detailed specification for use cases> <Use case temlpate: USE CASE SPECIFICATION Use-case No. <UC001> Use-case Name <Name> Author <Members> Date Dd/mm/yyyy Actor: Use-case Version Priority <1.0> <High\Normal\Low> <Lit all actors> <Your Team Name> Page 20 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Summary: <Briefly describe the use case> Goal: <Briefly describe the goal of use case> Triggers <What leads this use case?> Preconditions: <List the required pre-conditions for this use case> Post Conditions: <List the required post-condition for this use case> Main Success Scenario: <List the main steps for this use case to reach the goal successfully > Alternative Scenario: <List the other steps for this use case to reach the goal in some alternatives condition > Exceptions: <list the exceptions of this use case> Relationships: <List the relationships that use case relates to> Business Rules: <Any concern about the business> 3.5. Other Concerns<Optional> <You can list here all other concerns about the business or the requirements if needed> <Your Team Name> Page 21 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document 4. Design [This section shows design of the system. This could be a part of the Developers Manual] 4.1. System Architecture <Explain and present the architecture of the system using texts or diagams> 4.2. Class Diagram Figure 1 : Class Diagram Data Access Layer Figure 2 : Class Diagram Library <Your Team Name> Page 22 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Figure 3 : Class Diagram Generic Figure 4 : Class Diagram User Interface 4.3. Class Diagram Explanation <Provide brief explanation about the class diagram above. You do not need to explain “obvious” parts of your class diagram. For example, I know what a “Login” class is. Don’t say “The login class was created to store login information.”> <Your Team Name> Page 23 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education 4.4. eProject Document Sequence Diagram (Optional) <Your Team Name> Page 24 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education <Your Team Name> Page 25 eProject Document CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education <Your Team Name> Page 26 eProject Document CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education <Your Team Name> Page 27 eProject Document CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education <Your Team Name> Page 28 eProject Document CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education 4.5. eProject Document Collaboration Diagram (Optional) <for important and complex interactions, collaboration diagrams should be drawn for clearing the details and supporting the system implementation. This section is optional> 4.6. State Diagram (Optional) <put all state diagrams here> 4.7. Entity Relationship Diagram <Your Team Name> Page 29 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Figure 1 : Diagram BookStore 4.8. Database Design Customers Field Name Data Type Null Key CUSID INT IDENTITY(1,1) NOT NULL CUSNAME VARCHAR(50) NOT NULL Customers Name CUSUSERNAME VARCHAR(50) UNIQUE NOT NULL Customers User Name CUSPASSWORD VARCHAR(50) NOT NULL Customers Password CUSEMAIL VARCHAR(50) NOT NULL Customers Email CUSBIRTHDAY DATETIME NULL Customers Birthday CUSADDRESS VARCHAR(200) NOT NULL Customers Address CUSCITY VARCHAR(100) NULL Customers City CUSCOUNTRY VARCHAR(100) NULL Customers Country CUSPHONE VARCHAR(20) NULL Customers Phone CUSSTATUS BIT NULL Customers Status <Your Team Name> Page 30 PRIMARY KEY Description Customers Code CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document FeedBack Field Name Data Type Null Key PRIMARY KEY Description FEID INT IDENTITY(1,1) NOT NULL News Code FECONTENT NVARCHAR(500) NOT NULL News Title FEDATE SMALLDATETIME NULL News Summary FESTATUS BIT NULL News Content CUSID INT NOT NULL News Post Date Category Field Name Data Type Null Key PRIMARY KEY Description CAID VARCHAR(2) NOT NULL Category Code CANAME NVARCHAR(100) NOT NULL Category Title CASTATUS BIT NULL Category Summary SubCategory Field Name Data Type Null SUBCATID VARCHAR(2) NOT NULL SUBCATNAME NVARCHAR(100) NOT NULL CAID BIT NULL <Your Team Name> Page 31 Key PRIMARY KEY Description SubCategory Code SubCategory Title FOREIGN KEY SubCategory Summary CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Product Field Name Data Type Null PROID VARCHAR(7) PRONAME VARCHAR(100) NO PROAUTHOR VARCHAR(50) NO PROPUBLISHER VARCHAR(100) NO PRORELEASE_DATE SMALLDATETIME NO PROVERSION VARCHAR(20) NO PROPRICE MONEY NO PRODESCRIPTION VARCHAR(300) NO PROIMAGE VARCHAR(50) NO PROSTATUS BIT PRODATEUPDATE DATETIME LOCATION VARCHAR(50) AMOUNT INT SUBCATID VARCHAR(5) Key Description PRIMARY KEY NO NO FOREIGN KEY Orders Field Name Data Type Null ORID INT IDENTITY ORADDRECEIVED VARCHAR(500) NO ORDISTRICT VARCHAR(100) NO ORCITY VARCHAR(50) NO ORCOUNTRY VARCHAR(50) NO ORPHONE VARCHAR(20) NO ORMOBILE VARCHAR(20) NO ORDATE VARCHAR(20) NO ORNOTES VARCHAR(500) NO ORSTATUS BIT AMOUNT INT TOTALPRICE MONEY CUSID INT <Your Team Name> Key Description PRIMARY KEY NO NO Page 32 FOREIGN KEY CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document OrderDetail Field Name Data Type Null ORID INT NO PROID NVARCHAR (7) NO PRONAME NVARCHAR(100) NO QUANTITY INT NO UNITCOST MONEY NO SUBTOTAL (QUANTITY*UNITCOST) NO Key Description PRIMARY KEY FOREIGN KEY Level Field Name Data Type Null LV_ID NVARCHAR(100) NO LV_NAME VARCHAR(50) NO Key Description PRIMARY KEY Admin Field Name ADMINID Data Type INT Null Description NO ADMINUSERNAME VARCHAR(50) NO ADMINNAME NO VARCHAR(50) Key ADMINPASSWORD VARCHAR(50) ADMINEMAIL VARCHAR(50) ADMINPHONE VARCHAR(15) LV_ID INT NO FAOS <Your Team Name> Page 33 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education Field Name Data Type Null FAQSID INT NO LV_NAME NVARCHAR(MAX) NO 4.9. eProject Document Key Description PRIMARY KEY Algorithms (optional) <Provide the detailed description about algorithms used in the system. You can use Flow Chart or Activity Diagram to represent algorithms. Focus on the important and complex algorithms> 4.10. Others (optional) <Any design concerns or diagrams can be put here> <Your Team Name> Page 34 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document 5. System Prototype <Put the system prototype or mock UI here. Focus on important forms and the screen flows between forms. If you use RAD and .NET, prototyping really help you to reach your development goals quickly> <Your Team Name> Page 35 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document 6. Management and Project Planning 6.1. Management Approach < Briefly describe the management approach that your team selects. Is your team selfmanaged or managed by one leader? How do you assign tasks to team members? How often do you meet? What do you do during meeting? Etc.> 6.2. Project Plan <The detailed project plan is put here. You can use WBS Excel sheet, Sprint Backlog (see Sprint Backlog_Template.xls), Task sheet, Gantt chart, etc. to present your team’s plan. You can capture the Gantt chart in PMS if you use it to plan your project> 6.3. STT 6.4. Task Sheet Project Name: BookStore Task Description Date Start Date End Member Status Meeting Minutes (Optional) <Put all minutes of your team meetings here> <Your Team Name> Page 36 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document 7. Checklists 7.1. Check List of Validation < Put the checklist here; describe how it is used and the resulted checklist> 7.2. Submission Checklist < Put the checklist here; describe how it is used and the resulted checklist> 8. Screenshots <Capture some intuitive and main screens of the software and put them here> 9. Coding Convention <Provide the coding convention for your team. If you simply want to use the existing code standard(s) such as ‘Java Code Convention’, you can refer to it\them by name or URL> 10. Other Concerns<Optional> <If you have any other information you want to add to this document, place it here. This could include thoughts on the eProject, improvements, etc.> <Your Team Name> Page 37 CONFIDENTIAL3/21/2016 FPT – Aptech Computer Education eProject Document Appendix Glossary [Optional] <Place all definitions or abbreviation used in this document > References [Optional] <Place all referenced materials used in this document > Others<Optional> <Your Team Name> Page 38 CONFIDENTIAL3/21/2016