Higher Nationals Internal verification of assessment decisions – BTEC (RQF) INTERNAL VERIFICATION – ASSESSMENT DECISIONS Programme title BTEC HND in Computing Assessor Miss Tiyetra Unit(s) Assignment title Student’s name Internal Verifier Unit 04: Database Design & Development Database Solution for Polly Pipe Mohamed Akthar Kuthubdeen 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? Y/N Has the work been assessed accurately? Y/N Is the feedback to the student: Give details: • Constructive? • Linked to relevant assessment criteria? • Identifying opportunities for improved performance? • Agreeing actions? Y/N Y/N Y/N Does the assessment decision need amending? Y/N Y/N Assessor signature Date Internal Verifier signature Date Programme Leader signature (if required) Date Confirm action completed Remedial action taken Give details: Assessor signature Date Internal Verifier signature Date Programme Leader signature (if required) Date Higher Nationals - Summative Assignment Feedback Form Student Name/ID Mohamed Akthar Kuthubdeen Unit Title Unit 04: Assignment Number 1 Assessor 04 26 2022 Date Received 1st submission Submission Date Database Design & Development Date Received 2nd submission Re-submission Date Assessor Feedback: LO1 Use an appropriate design tool to design a relational database system for a substantial problem Pass, Merit & Distinction Descripts P1 M1 D1 LO2 Develop a fully functional relational database system, based on an existing system design Pass, Merit & Distinction Descripts P2 P3 M2 M3 D2 LO3 Test the system against user and system requirements. Pass, Merit & Distinction Descripts P4 M4 D2 LO4 Produce technical and user documentation. Pass, Merit & Distinction Descripts Grade: P5 M5 Assessor Signature: D3 Date: Resubmission Feedback: Grade: Assessor Signature: Date: Internal Verifier’s Comments: Signature & Date: * Please note that grade decisions are provisional. They are only confirmed once internal and external moderation has taken place and grades decisions have been agreed at the assessment board. Assignment Feedback Formative Feedback: Assessor to Student Action Plan Summative feedback Feedback: Student to Assessor Assessor signature Date Student signature Date 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. 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. 2. 3. 4. The font size should be 12 point, and should be in the style of Time New Roman. Use 1.5 line spacing. Left justify all paragraphs. Ensure that all the headings are consistent in terms of the font size and font style. 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 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. Student’s Signature: (Provide E-mail ID) Date: (Provide Submission Date) Higher National Diploma in Computing Assignment Brief Student Name /ID Number Mohamed Akthar Kuthubdeen Unit Number and Title Unit 4: Database Design & Development Academic Year 2021/22 Unit Tutor Assignment Title Data base system for Polly Pipe Issue Date Submission Date 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: Assignment brief Polly Pipe is a water sports provider and installer based in Braintree, England. They need you to design and implement a database that meets the data requirements. These necessities are defined in this scenario and below are samples of the paper records that the Polly Pipe preserves. Polly Pipe is focused in placing aquariums at business customers. Customers can request several installations, but each installation is tailor-made for a specific customer. Facilities are classified by type. One or more employees are assigned to each facility. Because these facilities are often very large, they can include carpenters and masons as well as water installers. The facilities use equipment such as aquariums, air pumps and thermostats. There can be multiple computers in a facility. Below are examples of paper records that Polly Pipe currently maintains. Staff Management Record Staff Number SHA1 SHA8 SHA2 SHA11 SHA23 SHA66 SHA55 Name Dave Clark John Smith Freddy Davies McCloud Satpal Singh Winstn Kodogo Alison Smith Type Plumber Installation Manager Aquatics installer Aquatics installer Plumber Aquatics installer Brick Layer Equipment Type Table Type Tanks Thermostats Air Pumps Filters Equipment 20 gallon tank, 50 gallon tank, 100 gallon tank, 200 gallon tank Standard, Super Standard, Super Air driven, Undergravel Instillation Management Form Installation ID Installation Type Installation Customer Equipment Name and Address Types of Staff Required 234 Freshwater Oak Tropical House, 17 Wroxton Road, Hertfordsh ire, H5 667 Lee A. sun 1 x Carpenter 1 x Aquatics installer 1 x Electrician 654 Freshwater Bayliss Cold House, Orange Street, Kent, K7 988 Sally Dench 767 Marine Eaglestone Castle, Eaglestone , Kent Perry Vanderru ne 943 Marine 23 Sackville Street, Wilts. W55 Eric Mackinto sh 157 Freshwater Humbertso Perry Tropical n Castle, Vanderru Kent, K8 ne 2 air pumps 200 gallons fish tank 1x standard thermostat 2 air pumps 200 gallons fish tank Large Gravel Bag 2x standard thermostat s 2 x 200 gallons fish tanks 500 Wood panels 5x Carpenters 1x Installation Manager 1 x Aquatics installer 1 x Plumber 3 x Labourers Period of Staff assignm ent From 1st Septemb er 2012 1st June 2005 – 1st June 2011 10 x From Carpenters 30th June 2x 2012 Installation Manager 1 x Aquatics installer 1 x Plumber 3 x Labourers No staff required 2 air pumps 200 gallons fish tank 1x standard thermostat 2 air 1 x Aquatics pumps installer 400 gallons fish tank 3x standard thermostat 1st Septemb er 2005 – 1st Septemb er 2012 Activity 1 1.1. Identify the user and system requirements to design a database for the above scenario and design a relational database system using conceptual design (ER Model) by including identifiers (primary Key) of entities and cardinalities, participations of relationships. Convert the ER Model into logical database design using relational database model including primary keys foreign keys and referential Integrities. It should contain at least five interrelated tables. Check whether the provided logical design is normalised. If not, normalize the database by removing the anomalies. (Note:-It is allowed to have your own assumptions and related attributes within the scope of the case study given) 1.2. Design set of simple interfaces to input and output for the above scenario using Wireframe or any interface-designing tool. Evaluate the effectiveness of the given design (ERD and Logical design) in terms of the identified user and system requirements . Activity 2 Activity 2.1 a. Develop a relational database system according to the ER diagram you have created (Use SQL DDL statements). Provide evidence of the use of a suitable IDE to create a simple interface to insert, update and delete data in the database. Implement proper security mechanisms in the developed database. Evaluate the database solution developed and its effectiveness with relevant to the user and system requirements identified, system security mechanisms (EX: -User groups, access permissions) and the maintenance of the database. Activity 2.2 a. Explain the usage of DML with below mentioned queries by giving at least one single example per each case from the developed database. Assess the usage of the below SQL statements with the examples from the developed database to prove that the data extracted through them are meaningful and relevant to the given scenario. Select/ Where / Update / Between / In / Group by / Order by / Having Activity 3 Activity 3.1 Provide a suitable test plan to test the system against user and system requirements. provide relevant test cases for the database you have implemented. Assess how the selected test data can be used to improve the effectiveness of testing. Note:- Learner needs to give expected results in a tabular format and screenshots of the actual results with the conclusion Activity 3.2 Get independent feedback on your database solution from the non-technical users and some developers (use surveys, questioners, interviews or any other feedback collecting method) and make recommendations and suggestions for improvements in a separate conclusion/recommendations section. Activity 4 Produce a technical documentation and a user guide for the developed database system. Suitable diagrams diagrams (Use case diagram, class diagram, flow charts, DFD level 0 and 1) should be included in the technical documentation to show data movement in the system. Assess the developed database by suggesting future enhancements to ensure the effectiveness of the system. Grading Criteria 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 Evaluate the effectiveness of the design in relation to user and system requirements. Achieved Feedback 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 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. D3 Evaluate the database in terms of improvements needed to ensure the continued effectiveness of the system. ACKNOWLEDGEMENT I am proud that I took this assignment. Each and every learning outcomes and lectures improved my knowledge on database. First and foremost I would like to thank Miss Tiyetra lecturer at the ESOFT Metro Campus, wattala who helped me to understand the scenario and get a clear idea about it. I would also like to thank all the lecturers Esoft Miss Menisha Silva branch, my friends and others who helped me to complete the assignment successfully within the deadline. Finally, a special thanks to my parents and god for their support, patience and encouragement they gave me to complete this assignment successfully. Thank you Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 16 Contents Activity 1 ......................................................................................................................................... 21 1.1. Designing a Relational Database System .......................................................................... 23 1.1.1. The User and the System Requirements of the Polly Pipe System............................ 23 1.1.2. Designing the ER Diagram ........................................................................................ 25 1.1.3. Designing the Relational Database Model ................................................................. 28 1.2. Designing a Fully Functional System ..................... Ошибка! Закладка не определена. 1.2.1. Normalization .................................................. Ошибка! Закладка не определена. 1.2.2. Interfaces of the Polly Pipe System ........................................................................... 34 1.2.3. Validation Mechanisms ............................................................................................. 39 1.3. ERD vs User and System Requirements ........................................................................... 40 Activity 2 ......................................................................................................................................... 41 2.1. Developing The Database System..................................................................................... 41 2.1.1. SQL DDL Statements of the Polly Pipe System ........................................................ 41 2.1.2. Evidence of Insert, Update and Delete Queries of the System in Visual Studio ....... 44 2.1.3. Implementation of Validation Methods ..................................................................... 50 2.1.4. Example for Join Query ............................................................................................. 51 2.2. Implementing Query Language into the Relational Database System .............................. 52 2.2.1. 2.3. System Security and Database Maintenance ..................................................................... 53 2.3.1. 2.4. Usage of DML ........................................................................................................... 52 Security Mechanisms ................................................................................................. 53 Meaningful extraction of data ........................................................................................... 59 2.4.1. Usage of SQL Statement ............................................................................................ 59 Activity 3 ......................................................................................................................................... 61 3.1. Testing ............................................................................................................................... 61 3.1.1. Test plan ..................................................................................................................... 61 Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 17 3.1.2. Test Plan of Polly Pipe System .................................................................................. 63 3.1.3. Test cases ................................................................................................................... 65 3.2................................................................................................................................................. 67 3.2.1. 3.3. Effectiveness of Testing ............................................................................................. 67 Evaluating the Effectiveness of the Database Solution ..................................................... 69 3.3.1. Evaluation from the Feedbacks .................................................................................. 69 Activity 4 ......................................................................................................................................... 78 4.1. Technical and User Documentation .................................................................................. 78 4.1.1. User Guide ................................................................................................................. 78 4.1.2. Technical Guide ......................................................................................................... 80 4.2. Technical Documentation for A Fully Functional System ............................................... 81 4.2.1. 4.3 Diagrams .................................................................................................................... 81 Ensuring Continued Effectiveness of Database System ................................................... 85 4.3.1. Future improvements ................................................................................................. 85 Self-Criticism .................................................................................................................................. 85 References ....................................................................................................................................... 88 Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 18 Table of Figures Figure 1:Polly Pipe' ER Diagram ..................................................................................................... 27 Figure 2:Referential Integrity Diagram of Polly Pipe System Ошибка! Закладка не определена. Figure 3:Login Interface .................................................................................................................. 34 Figure 4:Main Form Interface .......................................................................................................... 34 Figure 5:CUTOMER Interface ........................................................................................................ 35 Figure 6:EMPLOYEE Interface ...................................................................................................... 35 Figure 7:Payment Interface .............................................................................................................. 36 Figure 8:Installation Interface .......................................................................................................... 36 Figure 12:PAYMENT Interface ...................................................................................................... 38 Figure 13:SQL DDL Statement for CUSTOMER table ................................................................. 38 Figure 33:Range Check.................................................................................................................... 39 Figure 34:Presence Check................................................................................................................ 40 Figure 35:Drop Down Box .............................................................................................................. 41 Figure 55:ACID Diagram ................................................................................................................ 62 Figure 56:Database test steps ........................................................................................................... 62 Figure 57:SELECTION test ............................................................................................................. 65 Figure 58:DELETION test ............................................................................................................... 65 Figure 59:UPDATING test .............................................................................................................. 65 Figure 60:INSERTION test ............................................................................................................. 66 Figure 61:Range check test .............................................................................................................. 66 Figure 62:Type check test ................................................................................................................ 67 Figure 63Duplicate primary key check test ..................................................................................... 67 Figure 64:Filled feedback form (evidence)...................................................................................... 71 Figure 66:Insert user guide .............................................................................................................. 78 Figure 67:Delete user guide ............................................................................................................. 78 Figure 68:Delete user guide ............................................................................................................. 79 Figure 69:Update user guide ............................................................................................................ 79 Figure 70:Use Case Diagram ........................................................................................................... 81 Figure 71:DFD Level 00 .................................................................................................................. 81 Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 19 Figure 72:DFD Level 01 .................................................................................................................. 82 Figure 73:Flow Chart ....................................................................................................................... 83 Table of tables Table 1:Primary Keys of Polly Pipe System.................................................................................... 28 Table 2:Foreign Keys of Polly Pipe System .................................................................................... 29 Table 3:Un-Normalized EMPLOYEE Table ................................................................................... 31 Table 4:EMPLOYEE table in 1NF Form ........................................................................................ 32 Table 5:EMPLOYEE Table in 2NF Form ....................................................................................... 33 Table 6:TRANSPORT_UNIT Table in 2NF Form ......................................................................... 33 Table 8:TRANSPORT_UNIT Table in 3NF Form ......................................................................... 33 Table 9:Validation Mechanisms ...................................................................................................... 39 Table 10:Recommendations and conclusions .................................................................................. 77 Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 20 Activity 1 Introduction Polly Pipe is a water sports provider and installer based in Braintree, England which has grown to a level. Currently they are using a file system to maintain their day to day Installation and records where they face many problems. Now they have requested to develop an automated system to handle their day to day operational activities to meet their customer’s demands. Following are some of the risks/problems they currently face while using the file system. A database is a collection of information that is organized so that it can be easily accessed, managed and updated.Data is organized into rows, columns and tables, and it is indexed to make it easier to find relevant information. Data gets updated, expanded and deleted as new information is added. Databases process workloads to create and update themselves, querying the data they contain and running applications against it.Computer databases typically contain aggregations of data records or files, such as sales transactions, product catalogs and inventories, and customer profiles. Typically, a database manager provides users with the ability to control read/write access, specify report generation and analyze usage. Some databases offer ACID (atomicity, consistency, isolation and durability) compliance to guarantee that data is consistent and that transactions are complete.Databases are prevalent in large mainframe systems, but are also present in smaller distributed workstations and midrange systems, such as IBM's AS/400 and personal computers. Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 21 1. Data redundancy 2. Data inconsistency 3. Complexity on data sharing 4. Unexpected errors during concurrent access to data 5. Too much time on searching a data 6. Lack of data integrity 7. Difficult to edit an old data Database A database is a collection of data that is organized so that it can be easily accessed, managed and updated. (Rouse, 2017) Database Management System (DBMS) Database Management System is a set of programs to store and retrieve those data. DBMS is a collection of inter-related data and set of programs to store & access those data in an easy and effective manner. (SINGH, 2016) Why to Use DBMS 1. To develop software applications in less time. 2. Data independence and efficient use of data. 3. For uniform data administration. 4. For data integrity and security. 5. For concurrent access to data, and data recovery from crashes. 6. To use user-friendly declarative query language. (DBMS Tutorials, 2017) Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 22 1.1. Designing a Relational Database System 1.1.1. The User and the System Requirements of the Polly Pipe System 1.1.1.1. User Requirements User requirement - They talk about the problem domain, the world of the user. They describe what effects need to be achieved. These effects are the combined responsibility of the software, the hardware, and the users. (Prechelt, 2014) I have identified some user requirements for the Polly Pipe System based on the brief given. These requirements should be considered while developing the system for Polly Pipe. The major user requirements are as follows. 1. The Polly Pipe System shall register and maintain the customers 2. Customer shall request several installations. 3. Admin shall retrieve all the installations information. 4. The system shall generate monthly and weekly reports as needed. 5. The system shall help to manage the payment of the installations and employees. 6. The database should be secured 7. The time taken to process data and respond shall be less 8. The records shall exist till the admin wants it to exist 9. The system should be able to hold a large number of records Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 23 1.1.1.2. System Requirements System requirement - They talk about the solution domain, the world of the software logic. They describe what the software must do (as opposed to the effects in the user's world that this may or may not achieve). (Prechelt, 2014) Similarly, Polly Pipe System too has some system requirements based on the brief given. These requirements should be considered while developing the system for Polly Pipe company. They are mentioned below. 1. The Polly Pipe System must be able to work/run on the Windows 10 and other related Windows operating systems (Software Requirement) 2. The machine where the Polly Pipe System is to be installed should have a processor and a RAM which can handle a large database efficiently (Hardware Requirement) 3. A best paid antivirus software should be installed in the machine where the Polly Pipe System is to be installed to protect the system from any cyber threats 4. The machine system should have a backup option to avoid any data loss. 5. The Polly Pipe System shall have a personal account for each customer 6. Admin shall have an option to access all the Installation details 7. Summary of the Installations shall be generated Installation each week 8. The system shall generate the installations report for printing 9. Access to installations confirmation and payments shall be restricted to authorized users only. Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 24 Designing the ER Diagram 1.1.2.1. Entities and Attributes of Polly Pipe System The Polly Pipe System must have a set of entities and some attributes related to the entities based on the user and system requirements mentioned above. I have identified 8 major entities and some attributes related to them as mentioned below. Entity: CUSTOMER Attributes: Cust_Id, Cust_Name, Cust_NIC, Cust_Address, Contact_No. Entity: INSTALLATION Attributes: InsID , Cus_Id, Installation_Type_ID, period . Entity: EQUIPMENT Attributes: EQU_Id, EQU_name , EQU_type ,EQU_qnty Entity: PAYMENT Attributes: Pay_Id, Cust_Id, InsID, Pay_Type,Pay_Date,Pay_Amount Entity: EMPLOYEE Attributes: Emp_Id,Emp_Name,Emp_NIC,Emp_Address,Emp_Type,Contact_No Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 25 Entity: INSTALLATION TYPE Attributes: Installation_Type_ID, type Entity: EMPLOYEE _INSTALLATION Attributes: Emp_Id, InsID Entity: EQUIPMENT_ INSTALLATION Attributes: EQU_Id, InsID,Qnty However, the attributes mentioned above are just an assumption and may differ and also be clearly explained in the entity relationship diagram (ER Diagram) Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 26 1.1.2.2. ER Diagram of Polly Pipe System Figure 1:Polly Pipe ER Diagram Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 27 1.1.3. Designing the Relational Database Model 1.1.3.1. Types of Keys in a Relational Database A key is one or more attributes that determine other attributes based on the concept of determination. There are 5 major types of keys related to the relational database. 1. Super key - A set of attributes that uniquely identifies each tuple in a relation 2. Candidate key - Similar to a super key, but does not contain a subset of attributes that is itself a super key. In other words, a "minimal super key". 3. Primary key (PK) - Candidate Key selected to uniquely identify all other attribute values in any given entity. A primary key can be made with multiple attributes and cannot contain NULL values. 4. Secondary key -An attribute or combination of attributes that identify a set of rows based on a value. Generally used strictly for data retrieval purposes. 5. Foreign key (FK) -An attribute or combination of attributes in one table whose values must either match the primary key (PK) in another table or be NULL. (FANDOM, 2017) Primary keys in the Polly Pipe System Table Primary Key(PK) CUSTOMER Cust_Id INSTALLATION InsID INSTALLATION TYPE Installation_Type_ID PAYMENT Pay_Id EQUIPMENT EQU_Id EMPLOYEE Emp_Id Table 1:Primary Keys of Polly Pipe System Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 28 Primary keys in the Polly Pipe System Table Foreign Key(FK) CUSTOMER - INSTALLATION InsID, Installation_Type_ID, Cust_Id INSTALLATION TYPE - PAYMENT - CUS_PAYMENT Cust_Id, Pay_Id, InsID EQUIPMENT - EMPLOYEE - EMPLOYEE_ INSTALLATION EQU_Id, InsID EQUIPMENT_ INSTALLATION Emp_Id, InsID Table 2:Foreign Keys of Polly Pipe System Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 29 1.1.3.2. Relational Database of the Polly Pipe System Entity: CUSTOMER Attributes: Cust_Id, Cust_Name, Cust_NIC, Cust_Address, Contact_No. Entity: INSTALLATION Attributes: InsID , Cus_Id, Installation_Type_ID, period . Entity: EQUIPMENT Attributes: EQU_Id, EQU_name , EQU_type ,EQU_qnty Entity: PAYMENT Attributes: Pay_Id, Cust_Id, InsID, Pay_Type,Pay_Date,Pay_Amount Entity: EMPLOYEE Attributes: Emp_Id,Emp_Name,Emp_NIC,Emp_Address,Emp_Type,Contact_No Entity: INSTALLATION TYPE Attributes: Installation_Type_ID, type Entity: EMPLOYEE _INSTALLATION Attributes: Emp_Id, InsID Entity: EQUIPMENT_ INSTALLATION Attributes: EQU_Id, InsID,Qnty Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 30 INSTALLATION Normalization rules are divided into the following normal forms: 1. First Normal Form (1NF) 2. Second Normal Form (2NF) 3. Third Normal Form (3NF) 4. BCNF 1.2.1.1. First Normal Form (1NF) For a table to be in the First Normal Form, it should satisfy the following 4 conditions 1. It should only have single (atomic) valued attributes/columns. 2. Values stored in a column should be of the same domain 3. All the columns in a table should have unique names. 4. And the order in which data is stored, does not matter. Eg: EMPLOYEE table before normalization Lorry Depot _No _Name Driver 0012 Kan 893456782v Assistant 0031 Batt 0779264890 943286721v Driver 0010 Col 0768923457 884371839v Assistant 0100 Batt Emp_Id Emp_Name Emp_Address Contact_No Emp_NIC 1001 Aman Kanfna 0772341567 954391875v 1002 Akther Colombo 0758923456 1003 Niroshan Gampaha 1004 Sameer Gampaha Emp_Type 0112235748 0652238756 Table 3:Un-Normalized EMPLOYEE Table This table is not in 1NF as the rule says “each attribute of a table must have atomic (single) values”, the Emp_Mobile values for employees Akther & Sameer violates that rule. To make the table complies with 1NF we should have the data as follows. Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 31 EMPLOYEE table after first normalization EMPLOYEE Lorry Depot _No _Name Driver 0012 Kan 893456782v Assistant 0031 Batt 0112235748 893456782v Assistant 0031 Batt Gampaha 0779264890 943286721v Driver 0010 Col Sameer Gampaha 0768923457 884371839v Assistant 0111 Col Sameer Gampaha 0652238756 884371839v Assistant 0111 Col Emp_Id Emp_Name Emp_Address Contact_No Emp_NIC 1001 Aman Kanfna 0772341567 954391875v 1002 Akther Colombo 0758923456 1002 Akther Colombo 1003 Niroshan 1004 1004 Emp_Type Table 4:EMPLOYEE table in 1NF Form 1.2.1.2. Second Normal Form (2NF) For a table to be in the Second Normal Form it should satisfy the following conditions. 1. It should be in the First Normal form. 2. And, it should not have Partial Dependency. The EMPLOYEE table is now in 1 NF because each attribute has atomic values. However, it is not in 2NF. To make the table complies with 2NF we can break it in two tables as follows. EMPLOYEE table after Second Normalization EMPLOYEE Emp_Id Emp_Name Emp_Address Contact_No Emp_NIC Emp_Type 1001 Aman Kanfna 0772341567 954391875v Driver 1002 Akther Colombo 0758923456 893456782v Assistant 1002 Akther Colombo 0112235748 893456782v Assistant 1003 Niroshan Gampaha 0779264890 943286721v Driver 1004 Sameer Gampaha 0768923457 884371839v Assistant 1004 Sameer Gampaha 0652238756 884371839v Assistant Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 32 Table 5:EMPLOYEE Table in 2NF Form TRANSPORT_UNIT Unit_Id Lorry_No Depot_Name 001 0012 Kan 002 0031 Batt 003 0010 Col 004 0111 Col Table 6:TRANSPORT_UNIT Table in 2NF Form 1.2.1.3. 3NF A table is said to be in the Third Normal Form when the following conditions are satisfied. 1. It is in the Second Normal form. 2. And, it doesn't have Transitive Dependency. Here both the tables are in 2NF.But, Depot_Name is dependent on Lorry_No and, Lorry_No is dependent on Unit_Id. This violates the rule of 3NF.However, the EMPLOYEE table is already in 3NF form without any transitive dependencies. To make this table complies with 3NF we have to break the TRANSPORT_UNIT table into two tables to remove the transitive dependency. TRANSPORT_UNIT table after third normalization TRANPORT_UNIT Unit_Id Lorry_No 001 0012 002 0031 003 0010 004 0111 DEPOT Depot_Id 101 102 103 104 Depot_Name Jaf Batt Col Col Table 7:DEPOT Table in 3NF Form Table 9:TRANSPORT_UNIT Table in 3NF Form DEPOT Depot_Id 101 102 103 104 Depot_Name Jaf Batt Col Col Table 8:DEPOT Table in 3NF Form Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 33 1.2.2. Interfaces of the Polly Pipe System Login Figure 2:Login Interface MAIN FORM Figure 3:Main Form Interface Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 34 CUSTOMER GUI Figure 4:CUTOMER Interface EMPLOYEE GUI Figure 5:EMPLOYEE Interface Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 35 Installation GUI Figure 6: Installation Interface Equipment GUI Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 Figure 7: Equipment Interface 36 PAYMENT UNIT GUI Figure 8: PAYMENT _UNIT Interface Installation Type GUI Figure 9: Installation Type Interface Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 37 EMPLOYEE _INSTALLATION GUI Figure 10: EMPLOYEE _INSTALLATION Interface EQUIPMENT _INSTALLATION GUI Figure 11: EQUIPMENT _INSTALLATION Interface Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 38 1.2.3. Validation Mechanisms Validation is an automatic computer check to ensure that the data entered is sensible and reasonable. It doesn’t check the accuracy of data. (BBC, 2014) Validation Type Type check How It Works Checks that the data entered is Example Usage A number or date of an expected type Ensures the user can only choose a predefined option Drop down box from a list, reducing the chances of spelling mistakes or Selecting one of the subjects of a course unwanted responses The last one or two digits in a Check digit code are used to check the other digits are correct Format check Length check Lookup table Presence check Range check Spell check Checks the data is in the right format Bar code readers in supermarkets use check digits A national insurance number is in the form ll 99 99 99 l where l is any letter and 9 is any number Checks the data isn't too short A password which needs to be six or too long letters long Looks up acceptable values in There are only seven possible days of a table the week Checks that data has been In most database a key field cannot be entered into a field or not left blank Checks that a value falls within Number of hours worked must be less the specified range or not than 50 and more than 0 Looks up words in a dictionary When word processing Table 10:Validation Mechanisms Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 39 1.3. ERD vs User and System Requirements Databases play a major role in the current technical era. Almost every system depends on databases.so we can say it is almost impossible to develop a system without database. Logical database modelling is used mainly for gathering information for business needs. It does not involve designing a database, but the physical database modelling is actually designing the databases.ER diagram plays an important role in designing the databases efficiently. The ER diagram I developed includes almost all the user and system requirements gathered from the Polly Pipe Company. First and foremost, the main aim is to manage service and I have implemented a form for each and every activity involved in it. Next is managing the reports. Hence, I have created report generation buttons for daily and weekly report generation. Security is one of the most important needs and it’s provided to password login option and granting privileges for different user types. The system I have developed s fully secured and that requirement has been satisfied. Work details are also being able to retrieved easily by clicking buttons. Combined information of Instalation and payments are retrieved by using join queries. As the ERD and logical design contain all the details that we need for designing a database can implement meaningful information in the database. In my database almost all the attributes are connected to each other so it’s easy to gain meaningful information. Almost all the user requirements are satisfied on the database so we can assume that my database is well designed and executed. Talking about system requirements system requirements, only a medium hardware configuration is required so the cost of the hardware is less. Here there aren’t any need for storing images or videos so the capacity of memory used is less however, we can update this in future if needed.by using a PC with a normal configuration large amount of money is saved and the system is developed cost efficiently. My opinion on my database is that it is very efficient and saves money. Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 40 Activity 2 2.1. Developing The Database System 2.1.1. SQL DDL Statements of the Polly Pipe System DDL stands for Data Definition Language and Create, Alter and Drop are some of the examples of DDL statements. Following are some SQL DDL statements of Polly Pipe System. 1. SQL DDL Statement for CUSTOMER table Figure 12:SQL DDL Statement for CUSTOMER table 2. SQL DDL Statement for EMPLOYEE table Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 41 Figure 13:SQL DDL Statement for EMPLOYEE table 3. SQL DDL Statement for EQUIPMENT table Figure 14:SQL DDL Statement for EQUIPMENT table 4. SQL DDL Statement for INSTALLATION table Figure 15:SQL DDL Statement for INSTALLATION table Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 42 5. SQL DDL Statement for INSTALATION_EMPLYEE table Figure 16SQL DDL Statement for INSTTALLATION table 6. SQL DDL Statement for PAYMENT table Figure 17:SQL DDL Statement for PAYMENT table Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 43 2.1.2. Evidence of Insert, Update and Delete Queries of the System in Visual Studio 1. Inserting a data C# code snippet of insertion of data into CUSTOMER table Figure 18:Insertion C# Code When we click the INSERT button in the Customer form a message box will pop up to confirm the registration is successful. 19:Insert Data GUI Mohamed Akthar Kuthubdeen Figure PA90204 Database Design & Development Assignment-01 44 Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 45 CUSTOMER table data in Polly Pipe database after INSERT operation Figure 20:Insert Data Table When we perform view operation after the insert operation the newly inserted data will appear as shown below Figure 21:View data after inserting 2. Updating a data C# code snippet of updating of data into CUSTOMER table 22:Update data C# code Mohamed Akthar Kuthubdeen PA90204 FigureDatabase Design & Development Assignment-01 46 When we click the UPDATE button in the Customer form a message box will pop up to confirm the updating is successful. V Figure 23:Update data GUI CUSTOMER table data in Polli pipe database after UPDATE operation When we perform view operation after the update operation the newly updates data will be updated and appear as shown below Figure 24:Update data table Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 47 Figure 25:View data after updating 3. Deleting a data C# code snippet of deletion of data into CUSTOMER table Figure 26:Delete data C# code When we click the DELETE button in the Customer form a message box will pop up to confirm that the data is deleted successfully. Figure 27:Delete data GUI Design & Development Assignment-01 Mohamed Akthar Kuthubdeen PA90204 Database 48 CUSTOMER table data in Poli pipe database after DELETE operation Figure 28:Delete data table When we perform view operation after deletion operation, the corresponding data will be deleted and the table will appear as shown below Figure 29:View data after deleting Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 49 2.1.3. Implementation of Validation Methods 1. Range check This checks the data is between an upper and lower acceptable value, within a certain range. In our system NIC is an example of the attributes which can have only a restricted amount of digits, hence range check is used to define them. Figure 30:Range Check 2. Presence check Checks the user has at least entered something into the field, stopping them from accidently leaving it empty. This check is used while defining all the primary keys because they cannot be empty and other attributes which shouldn’t be null as well. Figure 31:Presence Check 3. Drop down box It helps to avoid errors based on spelling mistakes and unwanted responses.in our system there are only 3 types of customers and we shouldn’t select a type beyond those 3, so we have used drop down box to select the customer type. Figure 32:Drop Down Box Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 50 4. Type check Checks that the data entered is of an expected type. For an example, Name should be of varchar(string) type and the contact number should be in integers. Figure 33:Type Check 2.1.4. Example for Join Query The following join query is used to get the payment details with the INSTALLATION details and the customer details. SELECT * FROM ( (PAYMENT AS P INNER JOIN CUSTOMER AS C ON P.Cust_Id=C.Cust_Id ) INNER JOIN INSTALLATION AS I ON I.Cust_Id=C.Cust_Id); Figure 34:Join query output Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 51 2.2. Implementing Query Language into the Relational Database System 2.2.1. Usage of DML 1. SELECT SELECT * FROM EMPLOYEE This command is used to retrieve data from the specified table according to our need. The resulting data table after the command is executed Figure 35: SELECT command RESULTS 2. UPDATE This command is used to update any information that is already stored in the table. Data table before executing the update command Figure 36:Data table before UPDATE UPDATE EMPLOYEE SET Contact_No=009755453445 WHERE Emp_Id='SHA1' The resulting data table after the command is executed. Here the corresponding data has been updated. Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 Figure 37:Data table after UPDATE 52 3. DELETE This command is used to delete any unwanted data from the existing data. Data table before executing the deletion command. Figure 38:Data table before DELETE delete From CUSTOMER where Cust_Id='C004' The results after executing the deletion command. Here the corresponding data has been deleted from the table. Figure 39:Data table after DELETE 2.3. System Security and Database Maintenance 2.3.1. Security Mechanisms Database security refers to the collective measures used to protect and secure a database or database management software from illegitimate use and malicious threats and attacks. It is a broad term that includes a multitude of processes, tools and methodologies that ensure security within a database environment. Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 53 Database security is generally planned, implemented and maintained by a database administrator and or other information security professional. Some of the ways database security is analyzed and implemented include 1. Restricting unauthorized access and use by implementing strong and multifactor access and data management controls 2. Payment/stress testing and capacity testing of a database to ensure it does not crash in a distributed denial of service (DDoS) attack or user overload 3. Physical security of the database server and backup equipment from theft and natural disasters 4. Reviewing existing system for any known or unknown vulnerabilities and defining and implementing a road map/plan to mitigate them (Database Security, 2017) In my system I used two methods to ensure security 1. Creating user and granting level permissions For this we have to launch the SQL Server Management Studio and connect with credentials that have been granted the 'sa' role and continue doing the following steps. Step 1: Expand ‘Security’, right-click on ‘Logins’ and select ‘New Login’ Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 54 Step 2: Enter a descriptive ‘Login name’, here I have selected ‘Normal_User’ as the login name select ‘SQL Server authentication’, and enter a secure password. On the bottom of the page select the database Polly_pipe will be connecting to as the ‘Default database’ Figure 41::Granting level permission step 2 Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 55 Step 3: Select the ‘User Mapping’ tab, check the box next to the desired database(Polli pipe), confirm the role membership of whom do you want to give his privilege and click ‘OK’ Figure 42:Granting level permission step 3 Step 4: Click the ‘New Query’ button and select the database we are connecting to Normal_User. Type following query into the query window and execute. Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 56 Figure 43::Granting level permission step 4 Step 5: Select and copy the query results into the query window. Remove any tables or views you do not wish the "Normal_User" to have access to. Here I have removed employee and payment tables because the payment details and the employee details are sensitive information which only the admin should handle. Figure 44::Granting level permission step 5 Then execute the query. Figure 45::Granting level permission final code Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 57 2. Password login facility For this I created a password login form for administrators and the data entry employees to login based on their user account Figure 46:Login interface Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 58 2.4. Meaningful extraction of data 2.4.1. Usage of SQL Statement 1. Group By The GROUP BY statement is often used with aggregate functions (COUNT, MAX, MIN, SUM, AVG) to group the result-set by one or more columns. select count(Emp_Id),Emp_Type from employee group by Emp_Type Results after using GROUP BY statement on EMPLOYEE table 3 Figure 47:Group By 2. Order By The ORDER BY keyword is used to sort the records in an order. It sorts in ascending order by default. To sort the records in descending order we use the DESC keyword. We can also use ASC to sort in ascending order select * from EMPLOYEE order by Emp_Name desc EMPLOYEE table after sorting by employee name in descending order 4 Figure 48:Order By 3. Having The HAVING clause was added to SQL because the WHERE keyword could not be used with aggregate functions. SELECT COUNT(Emp_Id) as No_of_Employee , Emp_Type From EMPLOYEE group by Emp_Type having count (Emp_Id) >1 Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 59 Resulting table after using HAVING clause on CUSTOMER table. 2 Figure 49:Having 4. Between The BETWEEN operator selects values within a given range. The values can be numbers, text, or dates. This operator is inclusive, that means the begin and end values are included. SELECT * FROM PAYMENT WHERE Pay_Date BETWEEN '2/8/2021' AND '2/10/2021' PAYMENT table after using BETWEEN operator on it. Figure 50:Between 5. Where The WHERE clause is used to filter records. It’s used to extract only those records that fulfil a specified condition. SELECT * FROM PAYMENT WHERE Pay_Type = 'Cash' Resulting table after the usage of WHERE clause on PAYMENT table Figure 51:Where Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 60 Activity 3 3.1. Testing 3.1.1. Test plan A test plan for software describes what's going to happen, how long it will take, who is going to do it, what it will be done to, and what we expect to come of it. Think of it as a very detailed way to carry out the testing of a piece of software so we can be sure we have covered all the angles. The overall software testing process also has many other formal procedures, but the plan is where we begin. The plan is very important, because it summarizes the testing process. The plan is broken down into manageable pieces so we know how to deal with each aspect of that process. And it's a record of our objectives, so we can look back and see how we did. An Example of a Test Plan The exact format of a test plan will vary from need to need, but you can bet that there are some features you will find in most any plan. Here are some of those features: 1. Introduction 2. Objectives 3. Scope 4. Strategy 5. Requirements 6. Risks 7. Schedule 8. Roles/Resources 9. Procedures 10. Musts/Must-Nots 11. Milestones/Sign-Offs (Meinecke, 2016) Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 61 Why database test is required? 1. Data Mapping 2. ACID properties validation Figure 52:ACID Diagram 3. Data integrity: 4. Business rule conformity The general test process for DB testing is not very different from any other application. The following are the steps to test a database: Step 1: Prepare the environment Step 2: Run a test Step 3: Check test result Step 4: Validate according to the expected results Step 5: Report the findings to the respective stakeholders Figure 53:Database test steps Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 62 Usually, SQL queries are used to develop the tests. The most commonly used command is “Select”. Apart from Select, SQL has 3 important types of commands: 1. DDL: Data definition language 2. DML: Data manipulation language 3. DCL: Data control language (Database Testing, 2018) 3.1.2. Test Plan of Polly Pipe System Test Case Short description of testing Steps follow Expected results ID Click the log in button The main form must appear. after entering the correct Log in with the correct username and username and password 1 password. in the relevant textboxes. Click the log in button Message box have to show without 2 3 with incorrect both the message “Empty field username and password detected. Please fill up all Log in with empty fields. Login entries the fields”. fields. username password or both. Mohamed Akthar Kuthubdeen PA90204 or Login with wrong Message box have to show username and password the entries. message “Incorrect username or password”. Database Design & Development Assignment-01 63 The information should be 4 Select the insert option Insert information into a form. after filling the form. saved in the database and the message box must show a message “Inserted successfully!” The information should be Press delete button after deleted from the database 5 Delete an information in a form. selecting a particular and the message box must show a message row. “Data Deleted successfully!” The Press the update button 6 Update an information in a form. after changing any information corresponding information should be updated in the database and the message box must show a message “Updated successfully!” View 7 all the information of the Installation/payment/Customer/Equipment unit. All Press the view button. the details of corresponding form must be viewed in the data grid view in the form. Mohamed Akthar Kuthubdeen PA90204 the Database Design & Development Assignment-01 64 3.1.3. Test cases 1. SELECT a table SELECT * FROM CUSTOMER Expected Output: Displaying the CUSTOMER table Obtained Output: The CUSTOMER table is displayed Figure 54:SELECTION test 2. DELETE a record in the table DELETE FROM EMPLOYEE where Emp_Id ='SHA67' Expected Output: Deleting the record of customer ID SHA67 Obtained Output: The record deleted successfully Figure 55:DELETION test 3. UPDATE a record in the table UPDATE EMPLOYEE SET Contact_No='02152345288' where Emp_Id = 'SHA11' Expected Output: Updating the corresponding data Obtained Output: Data updated successfully Figure 56:UPDATING test Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 65 4. INSERT data into the table INSERT INTO EMPLOYEE VALUES ('SHA55','Alison Smith','9875642515','Sackville Street','Brick Layer','97584582525') Expected Output: Inserting the data successfully Obtained Output: Data inserted Successfully Figure 57:INSERTION test 5. Range check test INSERT INTO EMPLOYEE VALUES ('SHA55002500000','Alison Smith','9875642515','Sackville Street','Brick Layer','97584582525') Expected Output: Not accepting the data inserted Obtained Output: Statement termination Figure 58:Range check test 6. Type check test INSERT INTO PAYMENT VALUES (652,'C003','INFWG',02/05/) Expected Output: Cannot insert INTEGER data in place of DATE type data Obtained Output: Incompatible data type, error message received Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 66 Figure 59:Type check test 7. Inserting a duplicate primary key INSERT INTO CUSTOMER VALUES ('C001','Lee A. sun','9858785785','Oak House17 Wroxton Road','09666854112') Expected Output: Cannot insert data for a duplicate primary key Obtained Output: Violation of primary key message received Figure 60Duplicate primary key check test 3.2.1. Effectiveness of Testing Every company has a database of their important data which must be preserved carefully for a certain period of time or for the life time. These data may be confidential ones or may play an important role in their day to day activities. It is told that the data of a company is a valuable asset for them and should be maintained carefully. It is the duty of the database developer to protect and take safety precautions in order to avoid any unwanted risks. Testing provides the concrete feedback required to identify defects. Therefore, certain type of tests should be done on the database created by the developer for a system. Talking about Polly Pipe System, I have done some tests as mentioned in the previous section (3.1.1) just to make sure that none of my codes have any errors and to know whether there are any chances for any unexpected errors or breakdowns during the execution of the system. The Polly Pipe System is more about storing and retrieving the stored data and doesn’t have much calculation parts, so I decided to test mainly on SELECT, INSERT, DELETE and UPDATE queries which are the most used ones in my system. This test helped me to make sure there aren’t any errors Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 67 while registering a new customer or employee and retrieving details about them and the Payment operation. I tried adding a certain number of data into my database to check the the capacity of my database. I also did some tests to make sure all my key constraints are correct and runs smoothly, else there could be difficulties in retrieving data from two or more tables at the same time. So I tried adding duplicate data for the same primary key value to check all my constraints. The type check test helped to make sure no one can enter wrong type of information into the database. The range check I did, helped me to ensure any data which isn’t in the specified range is added into the database. These tests helped me to present my system and database without any errors and to make it a welldesigned one. All the tests are really effective and helped me to make my system a robust and error free one. Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 68 3.3. Evaluating the Effectiveness of the Database Solution 3.3.1. Evaluation from the Feedbacks After finishing the system development and tests it’s is important to find out whether the system we developed satisfies the targeted people’s expectations. Getting feedbacks from others are the best way to evaluate our system. There are a number of ways to get feedbacks from people and some of them are mentioned below. 1. Surveys 2. Questioner 3. Interviews The main target users of the Polly Pipe System are non-technical users however to make the system more efficient we also need some tips from the technical side as well. So I chose two methods from those mentioned above, each to get feedbacks from each type of users. 1. Questioner The first method I selected was questioner. Customer satisfaction surveys can help us find out what people think of our system. When we listen to our targeted users, we can make decisions that build a more efficient and interactive system. As our target users are non-technical users, I decided to give some questioner to the students from other batch in E-Soft and get their feedback. Therefore, I prepared a set of questions and answers and asked them to fill it. From their response I got some ideas to enhance my system. The questions I prepared and an evidence of the feedback form filled by a student are as follows. Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 69 3.2 Get independent feedback on your database solution from the non-technical users and some developers (use surveys, questioners, interviews or any other feedback collecting method) and make recommendations and suggestions for improvements in a separate conclusion/recommendations section. Very Dissatisfied Neutral dissatisfied Satisfied Very satisfied User Satisfaction User Friendliness Performance Interface Font & Color Table 13 User Feedback Chart Comments: Listen effectively to feedback without giving an opinion, reason or clarity to the person giving feedback. You will learn more from listening to their reason then explaining ……Aman……………. Signature Mohamed Akthar Kuthubdeen PA90204 13 04 2022 …………………….. Date Database Design & Development Assignment-01 70 3.2 Get independent feedback on your database solution from the non-technical users and some developers (use surveys, questioners, interviews or any other feedback collecting method) and make recommendations and suggestions for improvements in a separate conclusion/recommendations section. Very Dissatisfied Neutral dissatisfied Satisfied Very satisfied User Satisfaction User Friendliness Performance Interface Font & Color Table 13 User Feedback Chart Comments: Invest time in developing and agreeing upon objectives and standards or performance with the team and or individuals to achieve better performance moving forward. …Akther………………. Signature Mohamed Akthar Kuthubdeen PA90204 13 04 2022 …………………….. Date Database Design & Development Assignment-01 71 3.2 Get independent feedback on your database solution from the non-technical users and some developers (use surveys, questioners, interviews or any other feedback collecting method) and make recommendations and suggestions for improvements in a separate conclusion/recommendations section. Very Dissatisfied Neutral dissatisfied Satisfied Very satisfied User Satisfaction User Friendliness Performance Interface Font & Color Table 13 User Feedback Chart Comments: Understand the objectives and how the company, team, individuals, services or products are to be measured on their success or failure from the feedback Niroshan …………………. Signature Mohamed Akthar Kuthubdeen PA90204 16 04 2022 …………………….. Date Database Design & Development Assignment-01 72 3.2 Get independent feedback on your database solution from the non-technical users and some developers (use surveys, questioners, interviews or any other feedback collecting method) and make recommendations and suggestions for improvements in a separate conclusion/recommendations section. Very Dissatisfied Neutral dissatisfied Satisfied Very satisfied User Satisfaction User Friendliness Performance Interface Font & Color Table 13 User Feedback Chart Comments: Concentrate on proprieties of work 20 04 2022 Sameer …………………. Signature Mohamed Akthar Kuthubdeen PA90204 …………………….. Date Database Design & Development Assignment-01 73 3.2 Get independent feedback on your database solution from the non-technical users and some developers (use surveys, questioners, interviews or any other feedback collecting method) and make recommendations and suggestions for improvements in a separate conclusion/recommendations section. Very Dissatisfied Neutral dissatisfied Satisfied Very satisfied User Satisfaction User Friendliness Performance Interface Font & Color Table 13 User Feedback Chart Comments: recognize expertise or successful products and services the companies has from the feedback Rio Signature Mohamed Akthar Kuthubdeen PA90204 04 26 2022 Date Database Design & Development Assignment-01 74 3.2 Get independent feedback on your database solution from the non-technical users and some developers (use surveys, questioners, interviews or any other feedback collecting method) and make recommendations and suggestions for improvements in a separate conclusion/recommendations section. Very Dissatisfied Neutral dissatisfied Satisfied Very Satisfied User Satisfaction User Friendliness Performance Interface Font & Color Table 13 User Feedback Chart Comments: company to achieve its objectives and improve where the company seemed weak from the feedback jude …………………. Signature Mohamed Akthar Kuthubdeen PA90204 04 27 2022 …………………….. Date Database Design & Development Assignment-01 75 3.2 Get independent feedback on your database solution from the non-technical users and some developers (use surveys, questioners, interviews or any other feedback collecting method) and make recommendations and suggestions for improvements in a separate conclusion/recommendations section. Very dissatisfied Dissatisfied Neutral Satisfied Very satisfied User Satisfaction User Friendliness Performance Interface Font & Color Table 13 User Feedback Chart Comments: Once you get the feedback clarify the overall direction and the strategy of the company to achieve its objectives and improve where the company seemed arshath Signature 04 26 2022 …………………….. Date After analysing the feedbacks, the answers in the red font are found to be the most selected answers by the non-technical user As per the feedback by most of the students, I made some changes in the interface of my system in order to make it more user friendly Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 76 2. Interviews The next method selected was an nterview.as I mentioned above, I also needed some technical feedbacks hence, I decided to have an interview with some of my lecturers regarding the system I developed. From their feedback I made some changes in order to make my system more efficient one of the point they mentioned is to have a button to get daily/weekly evaluation of Payment made and I created daily and weekly report generation buttons. Finally, I was able to get feedbacks from both the technical and non-technical users and it helped me to evaluate and update my system in an effective way. Recommendation Make changes in the user interface Conclusion Type of user Change the colours and style of the interface to make it more user Non-technical user friendly Add another button to get Create a button to create daily daily/weekly evaluation of and weekly reports of Payment Payment. made Technical user Table 11:Recommendations and conclusions Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 77 Activity 4 4.1. Technical and User Documentation 4.1.1. User Guide Insertion of data Figure 62:Insert user guide To insert any data into the database the user must fill all the details asked in the form, and after filling the form the user should press the SUBMIT button as shown above. Viewing the data Figure 63:Delete user guide Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 78 To view the data stored in the database the user must press the VIEW button as shown above. Deletion of data Figure 64:Delete user guide To delete any data that exist in the database the user must select the view button and then, select the corresponding row he/she wants to delete and then press the DELETE button as shown above Updating the data Figure 65:Update user guide Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 79 To update any data in the database the user must fill the data which he wants to update and mention the corresponding id for which the user wants to update and then should press the UPDATE button as shown above. 4.1.2. Technical Guide To develop this system, I used C# as the language. Microsoft Visual Studio is the IDE I used to develop my system interfaces and code. For the database development I use SQL and I also used SQL server to run the database. These soft wares helped me to develop an efficient system for Polly Pipe Company with database to satisfy their needs. Roles and responsibilities Admin – can access the whole database and can insert, delete or update any data as needed. This role is recommended to be given to the manager of the company Normal user- the access is restricted. This role can be given for data entry employee. Security SQL is a secured type of language and data cannot be easily stolen by any one. We also use password login facility, so the data is protected System requirements A machine with a minimum requirement of windows 7 with a medium capacity hard disk is needed. System features 3. Insert data 4. Update data 5. Delete data 6. View data 7. Create reports 8. Encryption Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 80 4.2. Technical Documentation for A Fully Functional System 4.2.1. Diagrams 1. Use Case Diagram Figure 66:Use Case Diagram 2. Data Flow Diagram DFD Level 0 PP S Figure 67:DFD Level 00 Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 81 DFD Level 01 Figure 68:DFD Level 01 Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 82 3. Flow Chart Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 83 Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 84 4.3 Ensuring Continued Effectiveness of Database System 4.3.1. Future improvements As time runs the both the business and technical environment evolve, as a result our system may get useless or in efficient if it doesn’t adapt to those changes on time. For our system to sustain we should make some improvements time to time. Talking about changes, the main thing is the software and hardware changes. Our system should be updated at least once 6 months to adapt those changes.as time passes, the main problem we could face is the capacity of data, because of some safety precautions and legal issues we should preserve our data without deleting so, for this we should have a more efficient backup option. The backup is also needed to avoid data loss. Sometime some customers might be currently inactive, creating a new account after they become active after years will add additional storage space, so we shouldn’t delete any data, but can improve the capacity of our hard disk. In future our system should be able to be accessed from several devices simultaneously. For this we should update our system into an online system connected with internet and should also improve some security features. We should also add some more privileges to number of users types so that a set of employees can work with or access the system. Updating it into an online system also helps real time transactions and backups so that our system would work more efficiently. Following these improvements would ensure continued effectiveness of the Polly Pipe System and the system would sustain for a long time. Self-Criticism I was able to complete the assignments before the deadline because of the concern and interest towards the subject. There were some factors that affected my completion of the assignment, some were the strengths and some were weakness. Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 85 Strengths 1. Starting the assignment on time 2. Defining my own deadlines to complete the tasks 3. Motivation I got from my lecturers and friends Weakness 1. Time management 2. Misunderstanding of the concept of some tasks At the beginning I struggled to do my assignments and faced some difficulties after the guidance and the help of the above mentioned strengths finally I was able to complete my assignment on time. I learnt to fix my own deadlines for finishing each task and to finish the final assignment as well. Now I have a good knowledge on doing assignments. Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 86 CONCLUSION This assignment has been written and processed up to my knowledge I got while studying Database Design and Development in HND of Computing and Systems development. Furthermore, this assignment consists solutions which has been described with the problems stated in the scenario given in the assignment brief and explained by the lecturer. Solutions which has been stated with proper evidence and some other criteria of actions should be taken from the side of the assignment creators. Moreover, this assignment has been affiliated to the terms and conditions which have been described with the rules that have been learned from our class room and existing assignment documentations. Some solutions have been described and evaluated from some users and some staffs of my institution to get positive feedback regarding the solution, and I assure that there will be some modifications and re-configurations in the system to increase the performance of the system configuration and the management of the system related to the assignment brief. Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 87 References BBC, 2014. BBC. [Online] Available at: http://www.bbc.co.uk/schools/gcsebitesize/ict/databases/3datavalidationrev1.shtml [Accessed 13 04 2022]. Database Testing, 2018. Software Testing Help. [Online] Available at: https://www.softwaretestinghelp.com/database-testing-process/ [Accessed 13 04 2022]. DBMS Tutorials, 2017. W3Schools. [Online] Available at: https://www.w3schools.in/dbms/intro/ [Accessed 13 04 2022]. GURU 99, 2017. Guru99 - What is Normalization? 1NF, 2NF, 3NF & BCNF with Examples. [Online] Available at: https://www.guru99.com/database-normalization.html [Accessed 21 04 2022]. Meinecke, L., 2016. Study.com. [Online] Available at: https://study.com/academy/lesson/what-is-a-test-plan-in-software-testing-examplesdefinition.html [Accessed 22 04 2022]. Prechelt, L., 2014. Software Engineering Stack Exchange. [Online] Available at: User requirements talk about the problem domain, the world of the user. They describe what effects need to be achieved. These effects are the combined responsibility of the software, the hardware, and the users. [Accessed 21 04 2022]. Rouse, M., 2017. TechTarget. [Online] Available at: https://searchsqlserver.techtarget.com/definition/database [Accessed 22 04 2022]. SINGH, C., 2016. DBMS Tutorial. [Online] Available at: https://beginnersbook.com/2015/04/dbms-introduction/ [Accessed 22 4 2022]. Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 88 Mohamed Akthar Kuthubdeen PA90204 Database Design & Development Assignment-01 89