Higher Nationals Internal verification of assessment decisions – BTEC (RQF) INTERNAL VERIFICATION – ASSESSMENT DECISIONS Programme title Assessor HND in Computing Internal Verifier Unit 04: Database Design & Development Unit(s) Data base system for the SmartMovers Transport Company Assignment title A G Dinithi Nimesha Ranathunga Student’s name List which assessment criteria the Assessor has awarded. Pass Merit Distinction INTERNAL VERIFIER CHECKLIST Do the assessment criteria awarded match those shown in the assignment brief? Y/N Is the Pass/Merit/Distinction grade awarded justified by the assessor’s comments on the student work? Has the work been assessed accurately? Y/N Y/N Is the feedback to the student: Give details: • Constructive? Y/N Y/N Y/N • Linked to relevant assessment criteria? • Identifying opportunities for improved performance? • Agreeing actions? Does the assessment decision need amending? Y/N Y/N completed Confirm action Remedial action taken Assessor signature Give details: Date Internal Verifier signature Assessor signature Programme Leader signature (if required) Internal Verifier signature Date Date Date Date Programme Leader signature (if required) A.G.D.N.Ranathunga 01 Date 1 Database Design & Development Assignment No. grades decisions have been agreed at the assessment board. Assignment Feedback Formative Feedback: Assessor to Student A.G.D.N.Ranathunga 01 2 Database Design & Development Assignment No. Action Plan Summative feedback Feedback: Student to Assessor Assessor signature Date Student signature Date A.G.D.N.Ranathunga 01 3 Database Design & Development Assignment No. Pearson Higher Nationals in Computing Unit 04: Database Design & Development Assignment 01 General Guidelines 1. A Cover page or title page – You should always attach a title page to your assignment. Use previous page as your cover sheet and make sure all the details are accurately filled. 2. Attach this brief as the first section of your assignment. A.G.D.N.Ranathunga 01 4 Database Design & Development Assignment No. 3. All the assignments should be prepared using a word processing software. 4. All the assignments should be printed on A4 sized papers. Use single side printing. 5. Allow 1” for top, bottom , right margins and 1.25” for the left margin of each page. Word Processing Rules 1. The font size should be 12 point, and should be in the style of Time New Roman. 2. Use 1.5 line spacing. Left justify all paragraphs. 3. Ensure that all the headings are consistent in terms of the font size and font style. 4. Use footer function in the word processor to insert Your Name, Subject, Assignment No, and Page Number on each page. This is useful if individual sheets become detached for any reason. 5. Use word processing application spell check and grammar check function to help editing your assignment. Important Points: 1. It is strictly prohibited to use textboxes to add texts in the assignments, except for the compulsory information. eg: Figures, tables of comparison etc. Adding text boxes in the body except for the before mentioned compulsory information will result in rejection of your work. 2. Carefully check the hand in date and the instructions given in the assignment. Late submissions will not be accepted. 3. Ensure that you give yourself enough time to complete the assignment by the due date. 4. Excuses of any nature will not be accepted for failure to hand in the work on time. 5. You must take responsibility for managing your own time effectively. 6. If you are unable to hand in your assignment on time and have valid reasons such as illness, you may apply (in writing) for an extension. 7. Failure to achieve at least PASS criteria will result in a REFERRAL grade . 8. Non-submission of work without valid reasons will lead to an automatic RE FERRAL. You will then be asked to complete an alternative assignment. 9. If you use other people’s work or ideas in your assignment, reference them properly using HARVARD referencing system to avoid plagiarism. You have to provide both in-text citation and a reference list. 10. If you are proven to be guilty of plagiarism or any academic misconduct, your grade could be reduced to A REFERRAL or at worst you could be expelled from the course Student Declaration A.G.D.N.Ranathunga 01 5 Database Design & Development Assignment No. I hereby, declare that I know what plagiarism entails, namely to use another’s work and to present it as my own without attributing the sources in the correct form. I further understand what it means to copy another’s work. 1. I know that plagiarism is a punishable offence because it constitutes theft. 2. I understand the plagiarism and copying policy of Edexcel UK. 3. I know what the consequences will be if I plagiarise or copy another’s work in any of the assignments for this program. 4. I declare therefore that all work presented by me for every aspect of my program, will be my own, and where I have made use of another’s work, I will attribute the source in the correct way. 5. I acknowledge that the attachment of this document signed or not, constitutes a binding agreement between myself and Pearson, UK. 6. I understand that my assignment will not be considered as submitted if this document is not attached to the assignment. Anua009183@esoft.academy Student’s Signature: (Provide E-mail ID) Date: 14-05-2021 (Provide Submission Date) Higher National Diploma in Computing Assignment Brief A.G.D.N.Ranathunga 01 6 Database Design & Development Assignment No. Student Name /ID Number A G Dinithi Nimesha Ranathunga 009183 Unit Number and Title Unit 4: Database Design & Development Academic Year 2020/21 Unit Tutor MR. H N B Herath Assignment Title Data base system for the SmartMovers Transport Company Issue Date Submission Date 04-05-2021 IV Name & Date Submission format Part 1: The submission should be in the form of an individual written report written in a concise, formal business style using single spacing and font size 12. You are required to make use of headings, paragraphs and subsections as appropriate, and all work must be supported with research and referenced using Harvard referencing system. Please also provide in-text citation and bibliography using Harvard referencing system. The recommended word limit is 3,000–3,500 words, although you will not be penalised for exceeding the total word limit. Part 2: The submission should be in the form of a fully functional relational database system demonstrated to the Tutor; and an individual written report (please see details in Part 1 above). Part 3: The submission should be in the form of a witness statement of the testing completed by the Tutor; technical documentation; and a written report (please see details in Part 1 above). Unit Learning Outcomes: LO1 Use an appropriate design tool to design a relational database system for a substantial problem. LO2 Develop a fully functional relational database system, based on an existing system design. LO3 Test the system against user and system requirements. LO4 Produce technical and user documentation. Assignment Brief and Guidance: A.G.D.N.Ranathunga 01 7 Database Design & Development Assignment No. Assignment brief Case study You are employed as a Database Developer for a large IT development company. The company has been approached by a transport company called SmartMovers which has grown to a level where they need to have an automated system to handle day today operational activities to meet customer demands. You are given the job to design and develop a database solution for SmartMovers to meet their business requirements. The company transports chemical products from one location to another on behalf of registered customers. Customers are of three types namely Catogory1, 2 and 3. Each customer is given a unique customer number and his or her details have to be recorded in the system. Each transport operation is called a job, which involves picking up one or more loads of the products from a customer requested start location and delivers it to a customer requested destination. A unique number is given for each job and for each load when they are created. A Load is transported using a particular transport unit, which consists of a lorry, a driver, assistant, and a container (for carrying the product) A container is fixed to a trailer so it needs to be coupled to a lorry at the start of a Job. (Single container can transport only one chemical product due to safety requirements) Payments for a job depends on customer type, product type (No Risk, High risk) and the load type (small, medium and large). Transport operations are run from 9 regional depots. Jobs are allocated to individual depots to service. Depots hold, manage and maintain their own transport units which are permanently allocated to them to service Jobs. Normally transport units are held at the base Depot they belong. The final system should be able to provide the required information for management decision making and to handle daily operations efficiently and effectively. A.G.D.N.Ranathunga 01 8 Database Design & Development Assignment No. A.G.D.N.Ranathunga 01 9 Database Design & Development Assignment No. Activity 1 Design and produce a comprehensive database design document for the above scenario and it should cover the below mentioned points. 1) • • • • • • User and system requirements Complete normalized(up to 3rd normal form) ER Diagram Complete Logical database design. Validations that used to validate data in the tables Simple interfaces to input and output data to the tables Critical evaluation and access the effectiveness of the user and system requirements with the database design Activity 2 2) Develop a comprehensive database system based on the database design document which is provided under Activity 1 • Implement the database according to the provided ER diagram and use DDL statements. • Implement a GUI based system to view,insert,update,delete data in the tables. • Implement validation methods explained in the Activity 1. • Implement join queries display the details payment with the job details and the customer details • Implement and access DML (select,update,delete) by giving meaningful examples from the developed database • Explain and implement the security mechanisms in the developed database(EX: User groups, access permissions). • Explain and implement the below mentioned SQL statements from the developed database by giving meaningful examples. • (Group by,Order by,Having,Between,Where) A.G.D.N.Ranathunga 01 10 Database Design & Development Assignment No. Activity 3 3) Test the developed database system which has created in the Activity 2. • • • • Create a test plan to test the system against user and system requirements. Create test cases to test the developed database. Explain and access how the selected test data can be used improve the effectiveness of testing. Get independent feedback and evaluate the effectiveness on the developed database solution from the non-technical users and some developers. Activity 4 4) Produce a technical documentation for the developed database system that contains a user guide, UML diagrams (Use case diagram, class diagram, flow charts, DFD level 0 and 1) and evaluate the database suggesting future enhancements to be implemented to ensure continuous effectiveness of the system. A.G.D.N.Ranathunga 01 11 Database Design & Development Assignment No. Grading Criteria Achieved Feedback LO1 Use an appropriate design tool to design a relational database system for a substantial problem P1 Design a relational database system using appropriate design tools and techniques, containing at least four interrelated tables, with clear statements of user and system requirements. M1 Produce a comprehensive design for a fully functional system that includes interface and output designs, data validations and data normalization. D1 Assess the effectiveness of the design in relation to user and system requirements. LO2 Develop a fully functional relational database system, based on an existing system design P2 Develop the database system with evidence of user interface, output and data validations, and querying across multiple tables. P3 Implement a query language into the relational database A.G.D.N.Ranathunga 01 12 Database Design & Development Assignment No. system M2 Implement a fully functional database system that includes system security and database maintenance. M3 Assess whether meaningful data has been extracted using query tools to produce appropriate management information. LO3 Test the systems against user and system requirements P4 Test the system against user and system requirements. M4 Assess the effectiveness of the testing, including an explanation of the choice of test data used. LO2 & LO3 D2 Evaluate the effectiveness of the database solution in relation to user and system requirements, and suggest improvements. LO4 Produce technical and user documentation P5 Produce technical and user documentation. M5 Produce technical and user documentation for a fully functional system, including diagrams showing movement of data through the system, and flowcharts describing how the system works. A.G.D.N.Ranathunga 01 13 Database Design & Development Assignment No. D3 Assess any future improvements that may be required to ensure the continued effectiveness of the database system. Table of Contents List of figures……………………………………………………………………………………….. ………………………………………19 Task 01……………………………………………………………………………………………………………………………….20 1.1 Database ……………………………………………………………………………………………………………………..20 A.G.D.N.Ranathunga 01 14 Database Design & Development Assignment No. 1.2 Comparison between manual & electronic database …………………………………………………..21 1.3 Advantages & disadvantages of using electronic database …………………………………………..21 1.4 What is a Database Management System (DBMS)? ………………………………………………..22 1.5 Types of requirement………………………….…………………………. ……………………………………….23 1.5.1 User Requirements ………………………….………………………….…………………………… 23 1.5.2 System requirements ………………………….…………………………………………………… 24 1.6 Identifying key fields ………………………….…………………………. normalization? ………………………….…………………………. ………………………………………..25 1.7 What is …………………………………….27 1.8 Entities ………………………….………………………….………………………….………………………………………31 1.9 Attributes ………………………….………………………….………………………….………………………………….31 1.10 Primary keys ………………………….………………………….………………………………………………….31 2.1 Interfaces to input and output data ………………………….………………………….………………………33 2.2 SQL DDL statements ………………………….………………………….………………………………………… 37 3.1 Validation mechanism ………………………….…………………………. ……………………………………..42 3.1.2 Validation methods ………………………….………………………….……………………………………………42 3.2 Join query ………………………….………………………….…………………………. …………………………….44 3.3 Test plan ………………………….………………………….………………………….……………………………………44 3.3.1 Levels of testing ………………………….…………………………. ………………………………………………….45 A.G.D.N.Ranathunga 01 15 Database Design & Development Assignment No. 4.1 User manual ………………………….…………………………. …………………………………………………….48 4.2 UML ………………………….………………………….………………………….…………………………………….49 4.2.1 Use case diagram ………………………….…………………………. ………………………………………….49 4.2.2 Flow charts ………………………….………………………….………………………….…………………………….51 List of figures Figure 1: Types of database ………………………….………………………….………………………………………… 20 Figure 2: Types requirements ………………………….………………………….……………………………………… 23 Figure 3: software requirements categorized by logically ………………………….……………………….25 Figure 4: ER diagram ………………………….………………………….…………………………. ………………………..30 Figure 4: Logical design ………………………….………………………….………………………………………………32 Figure 5: Customer User Interface ……..………………………….………………………………………………….33 Figure 6: Job user interface ………………………….………………………….…………………………………………33 Figure 7: Payment user interface ………………………….………………………….………………………………..34 Figure 9: Load user interface ………………………….………………………….………………………………………35 Figure 10: Depot user interface ………………………….…………………………. …………………………………..35 Figure 11: Transport unit user interface …………………………. ………………………………………………….36 Figure 12: SQL server DDL statement for customer table …………………………. ………………………..37 Figure 13: SQL server DDL statement for Job table ………………………….…………………………………38 A.G.D.N.Ranathunga 01 16 Database Design & Development Assignment No. Figure 14: SQL server DDL statement for Payment table …………………………. ………………………….39 Figure 15: SQL server DDL statement for Product table ………………………….………………………….39 Figure 16: SQL server DDL statement for Load table …………………………. ……………………………….40 Figure 17: SQL server DDL statement for Depot table ………………………………………………………… 40 Figure 18: SQL server DDL statement for Transport unit table …………………………………………. ….41 Figure 19: range check ………………………….………………………….…………………………. …………………….42 Figure 20: drop down box ………………………….………………………….…………………………………………… 43 Figure 22: Testing login 1 ………………………….…………………………. login 2 ………………………….…………………………. …………………………………………….45 Figure 23: Testing …………………………………………….46 Figure 24: Testing deleting details ………………………….…………………………. ……………………………….46 Figure 25: Testing deleting actual result ………………………….………………………….……………………… 46 Figure 26: User manual ………………………….…………………………. ……………………………………………….47 Figure 27: Use case diagram ………………………….………………………….……………………………………….50 Figure 28: Flowchart ………………………….………………………….…………………………………………………..51 Task 01 1.1 Data Base A.G.D.N.Ranathunga 01 17 Database Design & Development Assignment No. Data - Raw fact or unorganized form. (Such as alphabets, numbers or symbols) Information- Knowledge, Intelligence, a particular piece of data with a special meaning of a function. i. A database is a collection of related data. (A shared collection of logically related data and a description of this data, designed to meet the information needs of an organization.) There are two types of database. DATABASE Manual database Electronic database Figure 1: Types of database Source : Author developed Manual Database A manual database is a hard-file storage system that consists of paper records, folder and filling cabinets or storage boxes. (Staff, W.2020) Electronic Database An electronic database is, any collection of data or information, that is specially organized for rapid search, update, delete and retrieve by computer. 1.2 Comparison between manual & electronic databaseX A.G.D.N.Ranathunga 01 18 Database Design & Development Assignment No. Manual Database - limited storage space available - difficult to access - very difficult to share Electronic database - can store very large amount of data - allow easy input and editing of data - sharing is very easy - allow centralized use of information - extra cost of storing multiple copies - worse when new items are frequently amongst many users over a network being inserted or deleted - improved backup and recovery services - less data security - data security is very high - data inconsistency - data consistency Table 1: Manual database and electronic database comparison Source: author developed 1.3 Advantages & disadvantages of using electronic database XAdvantages Disadvantages - Data independence - Efficient data access - Data integrity and security - Data administration - Concurrent access and crash recovery - reduced application development time - Complexity - Size - Cost of DBMS system - Additional hardware costs - Cost of conventions - Higher impact of failure Table 2: advantages and disadvantages of electronic database Source: author developed Uses of database Store large number of records Read and modify data Atomicity Secured data collection A.G.D.N.Ranathunga 01 19 Database Design & Development Assignment No. Components of database system - Hardware - Software 1. DMBS 2. Application software - People 1. Users 2. Practitioners - data 1.4 What is a Database Management System (DBMS)? A Database Management System (DBMS) is a software designed by using technology to store, retrieve, define and manage data in a database. What is a requirement? Requirements convey the expectations of users from the software. The requirements can be known or unknown, obvious or hidden, expected or unexpected from client’s point of view. 1.5 Types of requirements A.G.D.N.Ranathunga 01 20 Database Design & Development Assignment No. Requirments User Requirements System Requirments Software Specification Hardware specification Figure 2: Types requirements Source: Author developed 1.5.1 User Requirements Simply, user requirements can be referred as user needs. It describes what the user does with the system. In a database system, identifying user requirements are the main task. According to the above scenario of smart movers, there are can be identified a lot of user requirements. i. Finding customer details ii. Daily reports should be created iii. Generating daily cash flow iv. Preparing employee’s salary sheets v. Managing transportation details vi. Finding details about daily loads and daily jobs vii. Generating month end reports viii. Generating daily payment reports ix. Find available driver details. x. Getting security alert details xi. Store records for future needs A.G.D.N.Ranathunga 01 21 Database Design & Development Assignment No. In the above scenario all these user requirements should be fulfilled for future usage to take best decisions, improve customer service and improve software effectiveness. User requirements can be defined using natural language, charts, tables and diagrams. 1.5.2 System requirements The system requirements define what software programs or hardware devices should require to operate the program. - Software requirement Gathering software requirement is a main task of a software development process. In the given scenario following are some of software requirements. Functional Requirements i. Searching requested details ii. Printing requested invoices iii. Comply administrative functions Non-functional requirements i. Security ii. Storage iii. Logging iv. Performance v. Cost vi. Accessibility vii. Maintenance viii. Disaster recovery Windows operating system is a good OS for run a database system. According to above scenario above software requirements should be considered. There are four types of requirements which are categorized logically as, A.G.D.N.Ranathunga 01 22 Database Design & Development Assignment No. Figure 3: software requirements categorized by logically Source: lecture presentation - Hardware requirement To run a database system very efficiently there are should be very good hardware devices. i. There should be much hard disk space ii. To run the system fast can be used a SSD iii. A RAM which can handle database process iv. A processor which can handle a database. 1.6 Identifying key fields Identifying key field for tables is the main task of creating a database. A key is an attribute or set of attributes which helps to identify a row (tuple) in a relation (table). Keys allow to find the relationship between two tables. Several types of keys can be defined in DBMS as per those; 1. Super key A super key is a loop of single or multiple keys which identifies row in a table. A super key may have additional attributes which are not needed for identification. A.G.D.N.Ranathunga 01 23 Database Design & Development Assignment No. 2. Candidate key Candidate key is a set of attributes that uniquely identify tuples in a table. It is a super key with no repeated attributes. The primary key should be selected from the candidate keys. Every table must have at least a single candidate key. 3. Primary key Primary key is the attribute or set of attributes which uniquely identify every tuple in the table. The values of the primary key cannot be repeated. The table cannot have more than one primary key. 4. Alternate key A table can have multiple choices for a primary key but only one can be set as the primary key. All the keys which are not set as primary key are known as alternate keys. 5. Composite key Composite key is a combination of two or more attributes which uniquely identify rows in a table. 6. Foreign key Foreign key is an attribute that create a relationship between two tables. It acts as a cross reference between two tables and a foreign key always references the primary key of another table. Source: (Lecture notes, 03rd January 2021) A.G.D.N.Ranathunga 01 24 Database Design & Development Assignment No. 1.7 What is normalization? Normalization is a database design technique that reduces data redundancy and eliminates undesirable characteristics like Insertion, Update and Deletion Anomalies. Normalization rules divides larger tables into smaller tables and links them using relationships. The purpose of Normalization in SQL is to eliminate redundant (repetitive) data and ensure data is stored logically. (guru99, 2021) Normalization with examples 1. 1NF (FIRST NORMAL FORM) Stu_I D Stu_name Stu_contact 001 Kamal Perera 002 Nimal Silva 003 Saman Bandara 0774635001, 0257880480 0711825400, 0754848500 1 0662284418, 0725845875 crc_I D crc00 5-Jun-97 1 dob crc_fee crc_duratio n Teacher Rs. 150,000.00 6 months Jehan Fernando 5-Jun-98 crc00 1 Rs. 150,000.00 6 months Jehan Fernando 25-Apr-96 crc00 2 Rs. 200,000.00 10 months Suesh Bandara Table 3: example for 1NF Source: author developed In 1NF each cell should contain a single value and each record needs to be unique. 2. 2NF (SECOND NORMAL FORM) - It should be in first normalized form. - Partial dependencies must be removed. - Primary keys must be selected for separated tables. A.G.D.N.Ranathunga 01 25 Database Design & Development Assignment No. Student Table Stu_I D 001 002 003 Fname Lname Kamal Nimal Saman Perera Silva Bandara Stu_contact1 Stu_contact2 dob 774635001 711825400 662284418 257880480 7548485001 725845875 5-Jun-97 5-Jun-98 25-Apr-96 Table 4: example for 2NF Source: author developed Primary Key : Stu_ID Course Table crc_ID crc00 1 crc00 1 crc00 2 crc_fee crc_duration Rs. 150,000.00 6 months Rs. 150,000.00 6 months Rs. 200,000.00 10 months Teacher Jehan Fernando Jehan Fernando Suesh Bandara Table 4: example for 2NF Source: author developed 3. 3NF (THIRD NORMAL FORM) It should be in second normalized form and existing transitive dependencies must be removed. A.G.D.N.Ranathunga 01 26 Database Design & Development Assignment No. Student Table Stu_I D Fname Lname Stu_contact 1 001 Kamal Perera 774635001 257880480 002 Nimal Silva 711825400 7548485001 003 Saman Bandara 662284418 725845875 Stu_contact2 dob crc_ID 5-Juncrc001 97 5-Juncrc001 98 25crc002 Apr-96 Table 4: example for 3NF Source: author developed Course Table crc_ID crc00 1 crc00 1 crc00 2 crc_fee crc_duration Rs. 150,000.00 6 months Rs. 150,000.00 6 months Rs. 200,000.00 10 months Teacher Jehan Fernando Jehan Fernando Suesh Bandara Table 4: example for 3NF Source: author developed A.G.D.N.Ranathunga 01 27 Database Design & Development Assignment No. Assist_ID Driver_ID TUnit_ID Container_ID Lorry_No Depot_ID Depot_na me Depot_loc Pay_ID Figure 4: ER diagram Source: author developed A.G.D.N.Ranathunga 01 28 Database Design & Development Assignment No. 1.8 Entities 1. Customer 2. Job 3. Payment 4. Product 5. Load 6. Depot 7. Transport unit 1.9 Attributes 1. Customer – (Cus_ID, Cus_lname, Cus_fname, Cus_address1, cus_address2, Cus_contact , Cus_type) 2. Job – (Job_ID, Job_date, depot_ID, Cus_ID, start_loc, end_loc) 3. Payment – (Pay_ID, Load_type, Cus_type, product_type) 4. Product – (product_ID, product_type, product_name, product_qty) 5. Load – (Load_ID, Load_date, Load_type, product_ID) 6. Depot – (Depot_ID, Depot_name, Depot_loc) 7. Transport unit – (Driver_ID, assist_ID, Tunit_ID, container_ID, Lorry_no) 1.10 Primary keys 1. Customer – Cus_ID 2. Job – Job_ID 3. Payment - Pay_ID 4. Product - product_ID 5. Load - Load_ID A.G.D.N.Ranathunga 01 29 Database Design & Development Assignment No. 6. Depot - Depot_ID 7. Transport unit – Tunit_ID Figure 4: Logical design Source: author developed A.G.D.N.Ranathunga 01 30 Database Design & Development Assignment No. Task 02 2.1 Interfaces to input and output data Figure 5: Customer User Interface Source: author developed A.G.D.N.Ranathunga 01 31 Database Design & Development Assignment No. Figure 6: Job user interface Source: author developed Figure 7: Payment user interface Source: author developed A.G.D.N.Ranathunga 01 32 Database Design & Development Assignment No. Figure 8: product user interface Source: author developed Figure 9: Load user interface Source: author developed A.G.D.N.Ranathunga 01 33 Database Design & Development Assignment No. Figure 10: Depot user interface Source: author developed Figure 11: Transport unit user interface Source: author developed A.G.D.N.Ranathunga 01 34 Database Design & Development Assignment No. 2.2 SQL DDL statements Creating Database CREATE DATABASE Smartmovers_Transport_Service; Creating tables Customer Table CREATE TABLE Customer( Cus_ID varchar(5), Fname varchar(50), Lname varchar(50), addressline1 varchar(50), addressline2 varchar(50), contactNo varchar(10), cus_type varchar(10), PRIMARY KEY (Cus_ID), ); A.G.D.N.Ranathunga 01 35 Database Design & Development Assignment No. Figure 12: SQL server DDL statement for customer table Source: author developed Job table CREATE TABLE Job( Job_ID varchar(5), Job_date varchar(50), Depot_ID varchar(5), Cus_ID varchar(5), start_location varchar(50), end_location varchar(50), Load_ID varchar(5), PRIMARY KEY (Job_ID), ); A.G.D.N.Ranathunga 01 36 Database Design & Development Assignment No. Figure 13: SQL server DDL statement for Job table Source: author developed Payment Table CREATE TABLE Payment( Payment_ID varchar(5), Load_type varchar(50), Cus_ID varchar(5), Product_type varchar(50), Job_ID varchar(5), PRIMARY KEY (Payment_ID), ); Figure 14: SQL server DDL statement for Payment table Source: author developed Product table CREATE TABLE Product( Product_ID varchar(5), A.G.D.N.Ranathunga 01 37 Database Design & Development Assignment No. Product_type varchar(50), Product_name varchar(50), Product_qty varchar(50), PRIMARY KEY (Product_ID), ); Figure 15: SQL server DDL statement for Product table Source: author developed Load table CREATE TABLE Load( Load_ID varchar(5), Load_date varchar(50), Load_type varchar(50), Product_ID varchar(5), PRIMARY KEY (Load_ID), ); Figure 16: SQL server DDL statement for Load table A.G.D.N.Ranathunga 01 38 Database Design & Development Assignment No. Source: author developed Depot table CREATE TABLE Depot( Depot_ID varchar(5), Depot_name varchar(50), Depot_location varchar(50), Tunit_ID varchar(5), PRIMARY KEY (Depot_ID), ); Figure 17: SQL server DDL statement for Depot table Source: author developed Transport unit table CREATE TABLE Transport_unit( Tunit_ID varchar(5), Driver_ID varchar(5), Assistant_ID varchar(5), Container_ID varchar(5), Lorry_NO varchar(10), PRIMARY KEY (Tunit_ID), ); A.G.D.N.Ranathunga 01 39 Database Design & Development Assignment No. Figure 18: SQL server DDL statement for Transport unit table Source: author developed 3.1 Validation mechanism What is validation? Validation is an automatic check to ensure that the data entered is sensible and feasible. Validation cannot ensure data is actually accurate. A.G.D.N.Ranathunga 01 40 Database Design & Development Assignment No. These are needed because it is easier to try and prevent users from entering garbage than attempting to fix mistakes later. 3.1.2 Validation methods Range check A range check ensures that data is between an upper and lower acceptable value, within a certain range. According to the above scenario all telephone numbers should between the ranges 0 to 10. Figure 19: range check Source: author developed Drop Down Box A drop down box ensures the user can only choose a predefined option from a list, reducing the chances of spelling mistakes or unwanted responses. A.G.D.N.Ranathunga 01 41 Database Design & Development Assignment No. Spelling mistakes would cause problems whilst performing searches on the data, with some records being accidentally missed out of the results. Allowing people to enter endless options for certain responses could make the data unworkable in some situations. Drop down boxes and lists are an easy way to help reduce these issues, but are obviously not suited to all types of questions. (Database Validation - Computer Science GCSE GURU, 2021) According to above scenario, user can only choose a predefined option from a list, reducing the chances of spelling mistakes or unwanted responses. Figure 20: drop down box Source: author developed 3.2 Join query A.G.D.N.Ranathunga 01 42 Database Design & Development Assignment No. Figure 21: Join query Source: author developed 3.3 Test plan What is testing? Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not. In simple words, testing is executing a system in order to identify any gaps, errors, or missing requirements in contrary to the actual requirements. According to ANSI/IEEE 1059 standard, Testing can be defined as - A process of analyzing a software item to detect the differences between existing and required conditions (that is defects/errors/bugs) and to evaluate the features of the software item. (Software Testing - Quick Guide - Tutorialspoint, 2021) There are two types - Manual testing - Automation testing 3.3.1 Levels of testing A.G.D.N.Ranathunga 01 43 Database Design & Development Assignment No. Unit testing Integration testing Validation testing - Regression testing - Alpha testing - Beta testing Acceptance testing Test planning The test plan defines the scope of the work to be performed. The test report documents what occurred when the test scripts were run. Test plan for the smartmovers (pvt) ltd. Smartmovers is a transportation company which delivers chemical products. Main objective of testing is to show all the functions perform perfectly, To confirm user and system requirements involvement to the database, to check all the calculations complete well and properly, to improve manageability and performance. Test login when entering valid username and password Tes t Cas e Input Data expected res ult Actual Res ult Tes t outcome entering valid us ername and pas s word Us ername: Smovers pas s word: abc@123 Mes s agebox "Login Succes s full" Dis played "Login Succes s full" Pas s Figure 22: Testing login 1 Source: author developed Test login when entering invalid username and password A.G.D.N.Ranathunga 01 44 Database Design & Development Assignment No. Tes t Cas e Input Data expected res ult Actual Res ult Tes t outcome entering invalid us ername and pas s word Us ername: fas tmovers pas s word: abc@123 Mes s agebox "Login Succes s full" Dis played "Invalid us ername or pas s word" Pas s expected res ult Actual Res ult Tes t outcome Mes s agebox "Succes s fully deleted" Dis played "Are you s ure?" Pas s Figure 23: Testing login 2 Source: author developed Test when deleting details Tes t Cas e Input Data entering deleta a Delete * from data in a row of cus tomer a table Figure 24: Testing deleting details Source: author developed Figure 25: Testing deleting actual result Source: author developed A.G.D.N.Ranathunga 01 45 Database Design & Development Assignment No. Technical and user documentation Figure 26 : User manual Source: author developed A.G.D.N.Ranathunga 01 46 Database Design & Development Assignment No. 4.1 User manual A user manual is a technical communication document intended to give assistance to people on how to use a product. A good user manual assists users on how to use a product safely, healthily and effectively. Author used simple language to describe manual because it helps users to understand it. User manual includes all the details to use the system step by step. Database system of smartmovers Smartmovers is a transportation company which delivers chemical products one place to another. It is the main process of the system. The registration tasks of the system are customer, payment, and product and load etc. all the records are store in a database. 1. If the system user have an account, they can access the system by entering username and password correctly and clicking login. If it will invalid system shows a warning message. 2. Main menu display all the tabs in the system. User can select the suitable one and by clicking it user can access the next interface. Ex. If user wants to edit customer details then user have to click Customer tab. 3. Each interface has INSERT, DELETE, UPDATE and SEARCH buttons. User can do the actions about above options. 4. User can print receipts and labels by using print option of viewing each detail form and accessing database. 5. User can logging out by the system using Log out button. From user manual users can execute the system well. - Login in to the system A.G.D.N.Ranathunga 01 47 Database Design & Development Assignment No. - Edit and view details - Buy products and do transactions. 4.2 UML UML, short for Unified Modeling Language, is a standardized modeling language consisting of an integrated set of diagrams, developed to help system and software developers for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems. The UML represents a collection of best engineering practices that have proven successful in the modeling of large and complex systems. The UML is a very important part of developing object oriented software and the software development process. The UML uses mostly graphical notations to express the design of software projects. Using the UML helps project teams communicate, explore potential designs, and validate the architectural design of the software. (What is Unified Modeling Language (UML)?, 2021) 4.2.1 Use case diagram Purposes of use case diagrams can be as follows: - Used to gather requirement of a system - Used to get an outside view of a system - Identify external and internal factors influencing the system - Show the interacting among the requirements and actors A.G.D.N.Ranathunga 01 48 Database Design & Development Assignment No. Figure 27: Use case diagram Source: author developed A.G.D.N.Ranathunga 01 49 Database Design & Development Assignment No. 4.2.2 Flow charts Figure 26: Flowchart Source: author developed A.G.D.N.Ranathunga 01 50 Database Design & Development Assignment No. Bibliography Visual-paradigm.com. 2021. What is Unified Modeling Language (UML)?. [online] Available at: <https://www.visual-paradigm.com/guide/uml-unified-modelinglanguage/what-is-uml/> [Accessed 14 May 2021]. Tutorialspoint.com. 2021. Software Testing - Quick Guide - Tutorialspoint. [online] Available at: <https://www.tutorialspoint.com/software_testing/software_testing_quick_guide.htm#:~:text =Testing%20is%20the%20process%20of,contrary%20to%20the%20actual %20requirements.> [Accessed 14 May 2021]. Computer Science GCSE GURU. 2021. Database Validation - Computer Science GCSE GURU. [online] Available at: <https://www.computerscience.gcse.guru/theory/databasevalidation> [Accessed 14 May 2021]. Guru99.com. 2021. What is Normalization? 1NF, 2NF, 3NF, BCNF Database Example. [online] Available at: <https://www.guru99.com/database-normalization.html> [Accessed 29 April 2021]. Staff, W.2020, What is an example of manual database? Accessed on 12th December 2020, https://www.reference.com/world-view/example-manual-database-432e345e60c4b0d A.G.D.N.Ranathunga 01 51 Database Design & Development Assignment No.