Higher Nationals Internal verification of assessment decisions – BTEC (RQF) INTERNAL VERIFICATION – ASSESSMENT DECISIONS Programme title BTEC HND in Computing Assessor Internal Verifier Unit 04: Database Design & Development Unit(s) Assignment title Database Solution for Polly Pipe 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? Is the Pass/Merit/Distinction grade awarded justified by the assessor’s comments on the student work? Has the work been assessed accurately? Is the feedback to the student: Give details: • Constructive? • Linked to relevant assessment criteria? • Identifying opportunities for improved performance? • Agreeing actions? Does the assessment decision need amending? Y/N Y/N Y/N Y/N Y/N Y/N 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 1 Programme Leader signature (if required) Date 2 Higher Nationals - Summative Assignment Feedback Form Student Name/ID Unit Title Unit 04: Assignment Number 1 Database Design & Development Assessor Date Received 1st submission Submission Date 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 M4 D2 LO4 Produce technical and user documentation. Pass, Merit & Distinction P5 M5 Descripts D3 Grade: P4 Assessor Signature: 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. 3 Assignment Feedback Formative Feedback: Assessor to Student Action Plan Summative feedback Feedback: Student to Assessor Assessor signature Date Student signature Date 4 Pearson Higher Nationals in Computing Unit 04: Database Design & Development Assignment 01 5 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 6 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) 7 Higher National Diploma in Computing Assignment Brief Student Name /ID Number 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: 8 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 9 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 10 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 11 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. 12 13 Acknowledgment Table of content Acknowledgment ................................................................................................................ 14 Table of content .................................................................................................................. 14 Table of figures ................................................................................................................... 23 List of tables........................................................................................................................ 28 Introduction......................................................................................................................... 29 Abbreviation ....................................................................................................................... 30 User and system requirements ............................................................................................. 30 User requirements ........................................................................................................... 30 Examples for user requirements ................................................................................... 31 14 User requirements of “Poly Pipes” company ................................................................ 31 System requirements ....................................................................................................... 31 Functional requirements .............................................................................................. 31 Non-functional requirements ....................................................................................... 32 Entities, attributes and relationships of Poly Pipe Company ............................................. 32 Customer table............................................................................................................. 33 Installations table ......................................................................................................... 33 Worker table ................................................................................................................ 33 Stores table .................................................................................................................. 34 Supply table ................................................................................................................. 34 Payments table............................................................................................................. 34 Data models ........................................................................................................................ 34 Entity relationship data model ......................................................................................... 34 Entity........................................................................................................................... 34 Attribute ...................................................................................................................... 35 Relationship ................................................................................................................ 35 Keys ................................................................................................................................ 35 ER diagram for Poly Pipe Company ................................................................................ 36 About ER diagram ........................................................................................................... 36 Logical database diagram ................................................................................................ 37 Customer entity ........................................................................................................... 38 Payment entity ............................................................................................................. 38 Installation entity ......................................................................................................... 38 Supply entity ............................................................................................................... 38 Worker entity .............................................................................................................. 38 Stores entity................................................................................................................. 38 Converting ER diagram into logical database diagrams (Tables) ...................................... 38 Customer entity into customer table ............................................................................. 39 Payment entity into payment table ............................................................................... 39 Installation entity into installation table ....................................................................... 39 Supply entity into supply table ..................................................................................... 39 Store entity into store table .......................................................................................... 39 Worker entity in to worker table .................................................................................. 39 Data redundancy.............................................................................................................. 40 15 How to reduce data redundancy? ................................................................................. 40 First normalization (1 NF) ........................................................................................... 40 Second normalization (2 NF) ....................................................................................... 40 Third normalization (3 NF) .......................................................................................... 40 Advantages and disadvantages of normalization .............................................................. 41 Anomalies ....................................................................................................................... 41 Examples for first normalization ...................................................................................... 42 Examples for second normalization ................................................................................. 43 Example for third normalization ...................................................................................... 44 Workers details ............................................................................................................ 44 Work details ................................................................................................................ 45 Material details ............................................................................................................ 45 Category details ........................................................................................................... 45 Interface design and development .................................................................................... 45 Welcome page ............................................................................................................. 47 Logging page ............................................................................................................... 47 Menu page ................................................................................................................... 48 Customer interface (customer page) ............................................................................. 49 Supply page ................................................................................................................. 49 Payments page ............................................................................................................. 50 Store page.................................................................................................................... 50 Worker page ................................................................................................................ 51 Validation (Informatica, 2021) ........................................................................................ 52 Why perform data validation? ...................................................................................... 52 How writer used validating mechanisms to Poly Pipe Company .................................. 52 Examples for validation in Poly Pipe ........................................................................... 53 Validation and verification (PP.Pankaj, 2020) ................................................................. 55 The connection between user and system ......................................................................... 55 *Evaluate the effectiveness of system and user requirements ............................................... 56 Effectiveness of system design .................................................................................... 58 Why writer used these validation methods for this system ........................................... 59 Relationship with UIs and ER diagrams ....................................................................... 59 Null values .................................................................................................................. 59 Data base system (DB system) ............................................................................................ 59 16 What is the DB system? ............................................................................................... 60 User interfaces and their outputs ...................................................................................... 60 Payments data saving ................................................................................................... 60 Supply data saving ....................................................................................................... 61 Store data inserting ...................................................................................................... 61 Customer data inserting ............................................................................................... 62 Installation data saving ................................................................................................ 62 Examples for querying across multiple tables .............................................................. 64 Delete data................................................................................................................... 64 Data updating .............................................................................................................. 65 Examples for validation ............................................................................................... 66 How writer used the most appropriate data type ........................................................... 67 Writer was inserted message systems for correct and wrong data types. ....................... 67 Query language ................................................................................................................... 69 Querying for build a database in SQL Server ................................................................... 69 Create a unique database for Poly Pipe Company ........................................................ 69 Create an Installation Table ......................................................................................... 69 Create a Customer table ............................................................................................... 70 Create a Supply table ................................................................................................... 70 Create a Payments table ............................................................................................... 70 Create a Store table ...................................................................................................... 71 Create a Workers01 table ............................................................................................. 71 Create a Workers02 table ............................................................................................. 71 Created tables .............................................................................................................. 72 SELECT query ............................................................................................................ 72 INSERT query ............................................................................................................. 73 UPDATE query ........................................................................................................... 73 DELETE query............................................................................................................ 74 SELECT query ............................................................................................................ 74 ADD query .................................................................................................................. 75 DROP column ............................................................................................................. 75 Coding a Logging Button............................................................................................. 76 Coding a Next Button .................................................................................................. 76 Coding an Exit Button ................................................................................................. 76 17 Coding the tabs in menu .............................................................................................. 77 Make a connection between SQL server and Visual studio .......................................... 77 Coding an Insert Button ............................................................................................... 78 Coding an Update Button............................................................................................. 78 Coding a Delete Button................................................................................................ 79 Coding a Search Button ............................................................................................... 79 Data base security ............................................................................................................... 80 Why database security important? ................................................................................... 80 What can we do for secure database system? ................................................................... 80 Security mechanisms were used in Poly Pipe Company ................................................... 80 Writer used strong password and user name for system................................................ 80 External security .......................................................................................................... 81 Who can access this database? ......................................................................................... 82 Database maintaining (OfficeTooles, 2015) ..................................................................... 83 Index Defragmentation ................................................................................................ 83 Log File Maintenance .................................................................................................. 83 File/Data Compaction .................................................................................................. 83 Integrity Check ............................................................................................................ 84 Maintain schedule for Poly Pipe Company ...................................................................... 84 Backup plans ................................................................................................................... 85 Incremental backup ..................................................................................................... 85 Data types ........................................................................................................................... 87 Meaningful data .............................................................................................................. 87 Information management ................................................................................................. 87 Insert data .................................................................................................................... 88 Group by ..................................................................................................................... 89 Order by ...................................................................................................................... 90 Between query ............................................................................................................. 90 Where Query ............................................................................................................... 91 Database testing .................................................................................................................. 92 What is the testing? ......................................................................................................... 92 Why is database testing important? .................................................................................. 92 What should I test? .......................................................................................................... 92 How to test a databases .................................................................................................... 93 18 Database testing tools ...................................................................................................... 93 Black Box Testing ....................................................................................................... 94 White Box Testing ....................................................................................................... 94 Black box testing and white box testing ....................................................................... 95 Integration testing ............................................................................................................ 95 System testing ................................................................................................................. 96 System testing types .................................................................................................... 96 Justification about system testing ................................................................................. 96 How to use system testing types to test DB system .......................................................... 96 Scalability testing ........................................................................................................ 96 Reliability testing ........................................................................................................ 96 Documentation testing ................................................................................................. 97 Security testing ............................................................................................................ 97 Graphic and User interface testing ............................................................................... 97 Stress testing................................................................................................................ 97 Hardware requirements.................................................................................................... 97 Testing user and system requirements .............................................................................. 98 Test plan.......................................................................................................................... 98 Testing schedule .......................................................................................................... 99 Interface testing ................................................................................................................... 99 Test the payments table ................................................................................................... 99 Insert testing in payment table ..................................................................................... 99 Actual result for insert testing in payment table ......................................................... 100 Search testing in payment table .................................................................................. 100 Actual result search testing in payment table .............................................................. 100 Delete testing in payment table .................................................................................. 101 Actual result for delete testing in payment table ........................................................ 101 Update testing in payment table ................................................................................. 102 Actual result for update testing in payment table ........................................................ 102 Insert testing in supply table ...................................................................................... 103 Actual result for insert testing .................................................................................... 103 Update testing in supply table .................................................................................... 103 Actual result for update in supply table ...................................................................... 104 Delete testing in supply table ..................................................................................... 104 19 Actual result for delete testing in supply table ............................................................ 104 Search testing in supply table ..................................................................................... 105 Actual result for delete testing in supply table ............................................................ 105 Testing a store table ....................................................................................................... 105 Insert testing in store table ......................................................................................... 105 Actual result for insert testing .................................................................................... 106 Update testing in store table ....................................................................................... 106 Actual result for update testing in store table ............................................................. 106 Delete testing in store table ........................................................................................ 107 Actual result for delete testing in store table............................................................... 107 Search testing in store table ....................................................................................... 107 Actual result for search testing in store table .............................................................. 108 Testing a worker table ................................................................................................... 108 Insert testing in worker table ...................................................................................... 108 Actual result for insert testing in worker table ............................................................ 108 Update testing in worker table ................................................................................... 109 Actual result for update testing in worker table .......................................................... 109 Delete testing in worker table .................................................................................... 109 Actual result for delete testing in worker table ........................................................... 109 Search testing in worker table .................................................................................... 110 Actual result for search testing in worker table .......................................................... 110 Testing a customer table ................................................................................................ 111 Insert testing for customer table ................................................................................. 111 Actual result for insert testing in customer table......................................................... 111 Update testing for customer table ............................................................................... 111 Actual result for update testing in customer table ....................................................... 112 Delete testing for customer table ................................................................................ 112 Actual result for delete testing on customer table ....................................................... 112 Search testing for customer table ............................................................................... 113 Actual result for search testing in customer table ....................................................... 113 Insert testing in installation table................................................................................ 113 Actual result for insert testing in installation table...................................................... 113 Update testing in installation table ............................................................................. 114 Actual result for update testing in installation table .................................................... 114 20 Delete testing in installation table .............................................................................. 114 Actual result for delete testing in installation testing .................................................. 115 Search testing for installation table ............................................................................ 115 Actual result for search testing in installation table .................................................... 115 What are the objectives of security testing?................................................................ 115 Data base attacks ........................................................................................................... 116 SQL Injection ............................................................................................................ 116 Privilege Elevation in Database ................................................................................. 116 Denial of Service ....................................................................................................... 116 Unauthorized Access to data ...................................................................................... 116 Identity Spoofing ....................................................................................................... 116 Data Manipulation ..................................................................................................... 117 Database Security Testing Techniques ........................................................................... 117 Penetration Testing .................................................................................................... 117 Risk Finding .............................................................................................................. 117 Zed Attack Proxy....................................................................................................... 117 Paros ......................................................................................................................... 117 Social Engineer Toolkit ............................................................................................. 117 Skip fish .................................................................................................................... 118 Vega .......................................................................................................................... 118 Wapiti ....................................................................................................................... 118 Web Scarab ............................................................................................................... 118 Testing with correct username and correct password .................................................. 118 Testing with incorrect username and incorrect password............................................ 119 Testing with incorrect username and correct password............................................... 119 Testing with correct username and incorrect password............................................... 119 Insert testing .............................................................................................................. 120 Actual result .............................................................................................................. 120 System speed testing .................................................................................................. 120 User friendliness ........................................................................................................ 121 Test outcome’s summery ............................................................................................... 122 *The effectiveness of the database solution in relation to user and system requirements, and suggest improvements. ...................................................................................................... 123 Evaluation of the database system ................................................................................. 123 Project feedback ............................................................................................................ 123 21 Comment review ........................................................................................................... 123 Feedback form............................................................................................................... 124 Feedback review ............................................................................................................ 126 Question 01 ............................................................................................................... 126 Question 02 ............................................................................................................... 126 Question 03 ............................................................................................................... 127 Question 04 ............................................................................................................... 127 Question 05 ............................................................................................................... 128 Question 06 ............................................................................................................... 128 Question 07 ............................................................................................................... 129 Question 05: - ............................................................................................................ 129 Question 06: - ............................................................................................................ 129 Summary of user feedback ............................................................................................ 129 Suggestions and future improvements of database system in Poly Pipe Company .......... 130 User documentation........................................................................................................... 131 User manual .................................................................................................................. 131 About the system ....................................................................................................... 131 System interfaces........................................................................................................... 132 Welcome interface ..................................................................................................... 132 Logging interface ...................................................................................................... 132 Menu interface........................................................................................................... 133 Customer interface..................................................................................................... 134 Supply interface ......................................................................................................... 134 Payments ................................................................................................................... 135 Installation................................................................................................................. 136 Stores ........................................................................................................................ 136 Worker 01 ................................................................................................................. 137 Worker 02 ................................................................................................................. 138 Test results .................................................................................................................... 138 System documentation ...................................................................................................... 139 Letter had received from Poly Pipe Company to request a DB system ........................... 139 Reply from Software Development Company ................................................................ 140 Technical documentation ............................................................................................... 141 ER diagram ................................................................................................................... 141 22 Logical database diagram .............................................................................................. 142 Class diagram for Poly Pipe Company DB system ......................................................... 143 Use case diagram between customer, receptionist and cashier ........................................ 144 Use case diagram between customer and worker ........................................................... 145 Use case diagram between store keeper and worker ....................................................... 145 Floor charts famous functions in the database system .................................................... 146 Floor chart for insert data........................................................................................... 146 Floor chart for update data ......................................................................................... 147 Floor chart for delete data .......................................................................................... 148 Floor chart for search data ......................................................................................... 149 Floor chart for search ................................................................................................. 150 *Evaluate the database in terms of improvements needed to ensure the continued effectiveness of the system. ................................................................................................................... 151 Database improvement .................................................................................................. 151 Importance of database improvements ....................................................................... 151 How to improve our database system ......................................................................... 151 Faster page loading .................................................................................................... 152 Faster and interactive applications ............................................................................. 153 Reference .......................................................................................................................... 154 Reference list .................................................................................................................... 154 Gantt chart ........................................................................................................................ 157 Table of figures Figure 1.1.1: Relationships between entities and attributes .................................................. 35 Figure 1.1.2: ER diagram .................................................................................................... 36 Figure 1.1.3: Logical database diagram ............................................................................... 37 Figure 1.2.1: Anomalies ...................................................................................................... 42 Figure 1.2.2: Visual Studio .................................................................................................. 46 Figure 1.2.3: SQL Server ..................................................................................................... 46 Figure 1.2.4: Welcome interface .......................................................................................... 47 Figure 1.2.5: Logging page .................................................................................................. 47 Figure 1.2.6: Manu page ...................................................................................................... 48 23 Figure 1.2.7: customer page................................................................................................. 49 Figure 1.2.8: Supply page .................................................................................................... 49 Figure 1.2.9: Payments page ................................................................................................ 50 Figure 1.2.10: store page ..................................................................................................... 50 Figure 1.2.11: Worker’s page .............................................................................................. 51 Figure 1.2.12: Worker’s page 02 ......................................................................................... 51 Figure 1.2.13: Structure validation (Primary key using) ....................................................... 53 Figure 1.2.14: Data type validation (Integer type)................................................................ 53 Figure 1.2.15: Data type validation (varchar type) ............................................................... 53 Figure 1.2.16: Data type validation (Varchar type)............................................................... 53 Figure 1.2.17: Data type validation (Varchar type)............................................................... 54 Figure 1.2.18: Code validation (Coded for search by Primary key type) ............................... 54 Figure 1.2.19: Code validation............................................................................................. 54 Figure 1.2.20: Code validation............................................................................................. 54 Figure 2.1.1: Inserting payments data .................................................................................. 60 Figure 2.1.2: Inserting supply data ....................................................................................... 61 Figure 2.1.3: Inserting store data ......................................................................................... 61 Figure 2.1.4: Inserting customer data ................................................................................... 62 Figure 2.1.5: Inserting installation data ................................................................................ 62 Figure 2.1.6: Inserting workers data..................................................................................... 63 Figure 2.1.7: Inserting workers02 data ................................................................................. 63 Figure 2.1.8: Examples for multiple queries ........................................................................ 64 Figure 2.1.9: data deleting ................................................................................................... 64 Figure 2.1.10: output of delete ............................................................................................. 65 Figure 2.1.11: Data updating ............................................................................................... 65 Figure 2.1.12: Output for data updating ............................................................................... 65 Figure 2.1.13: Examples for data validation ......................................................................... 66 Figure 2.1.13: Customer table .............................................................................................. 67 Figure: 2.1.14: Error messages ............................................................................................ 67 Figure: 2.1.15: Error messages ............................................................................................ 67 Figure: 2.1.16: Error messages ............................................................................................ 68 Figure 2.2.1: Create db ........................................................................................................ 69 Figure 2.2.2: Create Installation table .................................................................................. 69 Figure 2.2.3: Create customer table ..................................................................................... 70 24 Figure 2.2.4: Create supply table ......................................................................................... 70 Figure 2.2.5: Create payments table ..................................................................................... 70 Figure 2.2.6: Create store table ............................................................................................ 71 Figure 2.2.7: Create workers01 table ................................................................................... 71 Figure 2.2.8: Create workers table ....................................................................................... 71 Figure 2.2.9: Created tables in database ............................................................................... 72 Figure 2.2.9: Select query .................................................................................................... 72 Figure 2.2.10: Insert query .................................................................................................. 73 Figure 2.2.11: Update query ................................................................................................ 73 Figure 2.2.12: Delete query ................................................................................................. 74 Figure 2.2.13: SELECT query ............................................................................................. 74 Figure 2.2.14: Add query..................................................................................................... 75 Figure 2.2.15: Drop query ................................................................................................... 75 Figure 2.2.16: Coding logging button .................................................................................. 76 Figure 2.2.17: Coding next button ....................................................................................... 76 Figure 2.2.18: Coding exit button ........................................................................................ 76 Figure 2.2.19: Coding tab buttons ........................................................................................ 77 Figure 2.2.20: Connecting to SQL connection ..................................................................... 77 Figure 2.2.21: Coding save button ....................................................................................... 78 Figure 2.2.22: Coding update button.................................................................................... 78 Figure 2.2.23: Coding delete button ..................................................................................... 79 Figure 2.2.24: Coding search button .................................................................................... 79 Figure 2.3.1: Success logging .............................................................................................. 81 Figure 2.3.2: logging not success ......................................................................................... 81 Figure 2.3.3: incremental backup (www.google.com) .......................................................... 86 Figure 2.4.1: Information management ................................................................................ 88 Figure 2.4.2: Data insertion ................................................................................................. 88 Figure 2.4.3: Searching........................................................................................................ 89 Figure 2.4.4: group by ......................................................................................................... 89 Figure 2.4.5: order by .......................................................................................................... 90 Figure 2.4.6: between .......................................................................................................... 90 Figure 2.4.7: where query .................................................................................................... 91 Figure 3.1.1: Manual testing ................................................................................................ 94 Figure 3.1.2: white box testing ............................................................................................ 94 25 Figure 3.1.3: White box testing............................................................................................ 94 Figure 3.1.4: integrate testing .............................................................................................. 95 Figure 3.1.4: Gantt chart for testing schedule ....................................................................... 99 Figure 3.2.1: insert data into payments table ........................................................................ 99 Figure 3.2.2: actual result for insert testing in payment table ............................................. 100 Figure 3.2.3: search testing in payment interface ............................................................... 100 Figure 3.2.4: Actual result for search testing in payment interface ..................................... 100 Figure 3.2.5: delete testing in payment table ...................................................................... 101 Figure 3.2.6: Actual result for delete testing in payment table ............................................ 101 Figure 3.2.7: update testing in payment table ..................................................................... 102 Figure 3.2.8: actual result for update testing in payment table ............................................ 102 Figure 3.2.9: insert testing in supply table.......................................................................... 103 Figure 3.2.10: actual result for insert testing in supply table .............................................. 103 Figure 3.2.11: actual result for update testing in supply table ............................................. 103 Figure 3.2.12: actual result for update in supply table ........................................................ 104 Figure 3.2.13: delete testing in supply table ....................................................................... 104 Figure 3.2.14: actual result for delete testing in supply table .............................................. 104 Figure 3.2.15: search testing in supply table ...................................................................... 105 Figure 3.2.16: Actual result for search testing in supply table ............................................ 105 Figure 3.2.17: Insert testing in store table .......................................................................... 105 Figure 3.2.18: Actual result for insert testing in store table ................................................ 106 Figure 3.2.19: update testing in store table ......................................................................... 106 Figure 3.2.20: actual result for update testing in store table ................................................ 106 Figure 3.2.21: delete testing in store table .......................................................................... 107 Figure 3.2.22: actual result for delete testing ..................................................................... 107 Figure 3.2.22: search testing in store testing ...................................................................... 107 Figure 3.2.24: actual result for search testing in store table ................................................ 108 Figure 3.2.25: Insert testing in worker table ....................................................................... 108 Figure 3.2.26: actual result for insert testing in worker table .............................................. 108 Figure 3.2.27: update testing in worker table ..................................................................... 109 Figure 3.2.28: actual result for update testing in worker table ............................................ 109 Figure 3.2.29: Delete testing in worker table ..................................................................... 109 Figure 3.2.30: actual result for delete testing in worker table ............................................. 110 Figure 3.2.31: search testing in worker table ...................................................................... 110 26 Figure 3.2.32: actual result for search testing in worker table ............................................. 110 Figure 3.2.33: insert testing for customer table .................................................................. 111 Figure 3.2.34: Actual result for insert testing in customer table .......................................... 111 Figure 3.2.35: update testing for customer table................................................................. 111 Figure 3.2.36: actual result for update testing in customer table ......................................... 112 Figure 3.2.37: delete testing for customer table .................................................................. 112 Figure 3.2.38: Actual result for delete testing on customer table ........................................ 112 Figure 3.2.39: search testing for customer table ................................................................. 113 Figure 3.2.40: actual result for search testing in customer table ......................................... 113 Figure 3.2.41: Insert testing in installation table................................................................. 113 Figure 3.2.42: actual result for insert testing in installation table ........................................ 113 Figure 3.2.43: update testing in installation table ............................................................... 114 Figure 3.2.44: actual result for update testing in installation table ...................................... 114 Figure 3.2.45: delete testing in installation table ................................................................ 114 Figure 3.2.46: actual result for delete testing in installation testing .................................... 115 Figure 3.2.47: Search testing for installation table ............................................................. 115 Figure 3.2.48: Actual result for search testing in installation table ..................................... 115 Figure 3.2.49: Testing 01 ................................................................................................... 118 Figure 3.2.50: Testing 02 ................................................................................................... 119 Figure 3.2.51: Testing 03 ................................................................................................... 119 Figure 3.2.52: Testing 04 ................................................................................................... 119 Figure 3.2.53: Testing 05 ................................................................................................... 120 Figure 3.2.54: actual result for testing ................................................................................ 120 Figure 3.2.55: System size ................................................................................................. 121 Figure 3.3.1: Feedback form 01 ......................................................................................... 124 Figure 3.3.2: feedback form 02 .......................................................................................... 125 Figure 3.3.3: Question 01 .................................................................................................. 126 Figure 3.3.4: Question 02 .................................................................................................. 126 Figure 3.3.5: Question 03 .................................................................................................. 127 Figure 3.3.6: Question 04 .................................................................................................. 127 Figure 3.3.7: Question 05 .................................................................................................. 128 Figure 3.3.8: Question 06 .................................................................................................. 128 Figure: 3.3.9: Question 07 ................................................................................................. 129 Figure 3.3.10: WhatsApp conversation .............................................................................. 130 27 Figure 4.1.1: Welcome interface introduction .................................................................... 132 Figure 4.1.2: logging interface introduction ....................................................................... 132 Figure 4.1.3: menu interface introduction .......................................................................... 133 Figure 4.1.4: customer interface introduction ..................................................................... 134 Figure 4.1.5: Supply interface introduction ........................................................................ 134 Figure 4.1.6: payment interface introduction ..................................................................... 135 Figure 4.1.7: installation interface introduction .................................................................. 136 Figure 4.1.8: store interface introduction ........................................................................... 136 Figure 4.1.9: worker 01 interface introduction ................................................................... 137 Figure 4.1.10: workers 02 interface introduction ................................................................ 138 Figure 4.2.1: user’s requesting letter .................................................................................. 139 Figure 4.2.2: Reply from ABC Software Development Company ...................................... 140 Figure 4.2.3: Entity Relationship diagram for poly pipe company database system ............ 141 Figure 4.2.4: Logical database diagram ............................................................................. 142 Figure 4.2.5: Class diagram ............................................................................................... 143 Figure 4.2.6: Use case diagram between customer, receptionist and cashier ....................... 144 Figure 4.2.7: Use case diagram between customer and worker ........................................... 145 Figure 4.2.8: Use case diagram between store keeper and worker ...................................... 145 Figure 4.2.9: floor chart for logging process ...................................................................... 146 Figure 4.2.10: floor chart for insert data into database system ............................................ 147 Figure 4.2.11: floor chart for update data into database system .......................................... 148 Figure 4.2.12: floor chart for delete data from database system.......................................... 149 Figure 4.2.13: floor chart for search data from database system ......................................... 150 Figure: Gantt chart ............................................................................................................ 157 List of tables Table 1.1: Entities and Attributes ........................................................................................ 32 Table 1.1.2: customer table .................................................................................................. 39 Table 1.1.3: payment table................................................................................................... 39 Table 1.1.4: installation table ............................................................................................... 39 Table 1.1.5: supply table ..................................................................................................... 39 Table 1.1.6: Store table ........................................................................................................ 39 Table 1.1.7: worker’s table .................................................................................................. 39 Table 1.2.1: Advantages and disadvantages of normalization .............................................. 41 Table 1.2.2: Before normalization ....................................................................................... 42 28 Table 1.2.3: After normalization .......................................................................................... 43 Table 1.2.4: Before normalization ....................................................................................... 43 Table 1.2.5: After normalization .......................................................................................... 43 Table 1.2.6: Before normalization ....................................................................................... 44 Table 1.2.7: After normalization .......................................................................................... 44 Table 1.2.8: validation and verification ................................................................................ 55 Table 1.3.1: how developer fulfil user and system requirements .......................................... 56 Table 1.3.2: how developer fulfil user and system requirements .......................................... 58 Table 1.3.3: Null values....................................................................................................... 59 Table 2.3.1: Security self-assessment .................................................................................. 82 Table 2.3.2: Security self-assessment .................................................................................. 82 Table 2.4.3: Maintains schedule 01...................................................................................... 84 Table 2.4.4: Maintains schedule 02...................................................................................... 85 Table 2.4.1: Data types ........................................................................................................ 87 Table 3.1.1: deference of black box testing and white box testing (Hamilton, 2021) ............ 95 Table 3.1.2: user and system requirements testing ............................................................... 97 Table 3.1.3: user and system requirements testing ............................................................... 98 Table 3.1.4: test schedule .................................................................................................... 98 Table 3.2.1: speed testing .................................................................................................. 120 Table 3.2.2: Test outcomes ................................................................................................ 122 Table 3.3.1: feedback summary ......................................................................................... 129 Table 4.1.1: Review of test results ..................................................................................... 138 Introduction DDD is the subject which is given knowledge about data store, data analysing and teach how protect our data. In this assignment writer going to describe about how writers team establish the data base system in Polly Pipe company. Poly pipe is a water sports provider and installer based in Braintree, England. Executive summery In this document writer was discussed about the database system in Poly Pipe Company. Writer was invent database system and crated a plan to develop it, protect it and maintain as well. Not only has that write described about the background of data basing and the importance about it. This database system is to handle their day to day tasks and duties. Writer has been created this database system as the database specialist in highly demanded IT Company. 29 Abbreviation DB: - Data base DBS: - Data base system PPC: - Poly Pipe Company PCs: - Personal computer SRS: - Software requirement specification UIs: - User interfaces User and system requirements User requirements User requirements or user needs that can be described as which user expect from the system he or she need. Not only that user requirements are written as statements, in a natural language plus diagrams, of what services the system is expected to provide to system users and the constraints under which it must operate. The user requirements may vary from broad statements of the system features required to detailed, precise descriptions of the system functionality. This is the first stage of software building. In this stage developer should be written all requirements of user and make a document that mentioning each necessary things that customer need. Also this document is helped to system building, developments and future troubleshooting. After written down all the needs developer can be identified primary keys, foreign keys, entities and relationships between these things. 30 Examples for user requirements Keep notes and records about customer needs. Identify unique categories in this records. Add unique functionalities for identify customers and customer needs separately (IDs, Telephone numbers or Email address). User requirements of “Poly Pipes” company Poly pipe is the company which service for people in England by supplying their all kinds of pipe works and pipe needs. They have lots of customers in England and they note these customer requirements and details in books as written documents. But it is not easy to do for huge number of customers and the management of poly Pipe Company was decided to change this book keeping into computerised database system. So the management of poly pipe was selected writer company for develop a system for achieve their targets and requirements. They mentioned their requirements as well as their conditions. Customers can be request installations Separate customers for tailor-made installations Need to keep records about customers Need to keep records about other requirements and services. Should be classify all facilities by types Point workers for works and let they know about works and customer’s details Writer could be able to fulfil these requirements. System requirements System requirements are more detailed descriptions of the software system’s functions, services, and operational constraints. The system requirements document (sometimes called a functional specification) should define exactly what is to be implemented. It may be part of the contract between the system buyer and the software developers. Writer was divided these requirements for two parts as Functional requirements and nonfunctional requirements. Those two parts are the most important thing in this system and it is depending on these functionalities. Functional requirements Functional requirements directly depend on main tasks that user was expected. Also these requirements must be fulfil is definitely need to keep company active and continue their works. Ex:31 Should be able to keep records about customers, store data, workers data and other important information. Should be need to update, delete, and search functions. Should be need reminder system for keep the workers active. Non-functional requirements These requirements are necessary but not mandatory. However these things need to increase the usefulness. Ex: Should be user friendly Should be take a very small space in servers Should be attractive Should be low cost Should be easy to maintain Should be able to develop Should be protected from vires and malwares Should be easy to update A System Requirements Specification (SRS) (also known as a Software Requirements Specification) is a document or set of documentation that describes the features and behavior of a system or software application. It includes a variety of elements that attempts to define the intended functionality required by the customer to satisfy their different users. Entities, attributes and relationships of Poly Pipe Company Table 1.1: Entities and Attributes Entity Attribute Primary Relationship with key Customers Telephone number, Customer Pay (M:N) Payments Customer ID, category, ID Service (1;1) Installation Installation ID, Name of Installation Service (1:1) Customer place, Place address, Type ID Working (M:N) Worker Name (First name, Last Workers Working (M:N) Installation name), category, Worker’s ID Supply (M:1) Stores Name, Email Installation Worker 32 ID, Email, Telephone (Primary number, item number, work key) number, work place number. (Work numbers and item numbers are foreign keys) Stores Item ID, Issued date, Item ID Responsible person, item Supply (1:M) Worker Store (1:1) Supply price Supply Payments Total price, Item no, Price Item Store (1:1) Stores per 01, Quantity, Purpose Number Pay (M:1) Payments Buyer’s name, category, Bill Pay (1:M) Pay Bill no, Date number Buy (M:N) Buy Customer table In customer entity has only one key. It is customer ID. Customer ID is working as primary key in customer table as well. So user need to search anyone in customer table, he or she should be used customer ID to search it. Also the customer ID is unique and not null attribute. Telephone number, category, email and customer names were used to keep records about customer details. Installations table In this entity developer was used installation ID as primary key which helps to search all functionalities in installations table. Not only that this is a unique and not null attribute as well. Installation type used to identify the installation category as well as place name and address used to calculate the destination to work place and cost of transport. Worker table Workers table was used to record the details about workers in Poly Pipe Company that developer identified eight attributes in worker’s table according to user requirements. Workers ID is the primary key of this table and there are several foreign keys have worker’s table. So worker’s ID is used to search every things in worker table. 33 There are two foreign keys in this table such as item number and work number. Those keys work as primary key in other table. Also the telephone number is the multivalued attribute because one customer may have more than one telephone number. Stores table Item ID is the primary key of store table. Store table is used to keep records about distributed items, used items and other records. Store keeper is the responsible to manage this table and he should insert, update, search and delete records in store table. Supply table Supply table is helped to manage logistics in the company and keep the supply chain in active level. Item number is the primary key of this table and it is helped to all searches. So developer inserted a derived attribute into this table. It is total price because total price can be calculated from price per one item and quantity. Payments table Payments table is the last table in this system. So bill no is the primary key of this table. Also other columns are buyer’s name, category, bill no and date is used to record payments details. Bill number, the primary key is used to search data, update data or delete data. All incomes are being recording in this table. All managers and cashiers cab be accessed to this payments table to see records. Data models A data model is a diagram used by programmers and data analysts to show a how database system will work. Entity relationship data model This is an object based data model system which show the relationship between entities and attributes. Entity Entity is an object, a place or a person that describe the user environment. 34 Attribute Attribute is a property or characterises of an entity. Relationship Relationship is the connectivity between entity and attribute. Figure 1.1.1: Relationships between entities and attributes Keys Primary key: Column or a set of columns in a table whose values uniquely identify a row in the table. Primary key is always unique and not null. Foreign key: Column or a set of columns in a table whose values correspond to the values of the primary key in another table. This key is helped to link a table to other table. 35 ER diagram for Poly Pipe Company Figure 1.1.2: ER diagram About ER diagram ER diagram is a graphical diagram which shows the relationship of entities and attributes. Writer was divided the given scenario into groups and identified their entities, attributes and relationships. It was helped to make tables by using Structure Quarry Language (SQL). Also this ER diagram was being helped to develop database, troubleshooting and maintain. 36 According to this ER diagram writer was identified six separate groups and their attributes and relationships in Poly Pipe Company. All the identified system and user requirements were inserted to this ER diagram and it shows how entities and attributes with each other. Logical database diagram Figure 1.1.3: Logical database diagram This is the figure of the logical database diagram was created for database system in Poly Pipe Company. This diagram was made by using Edrow Max software through crow root method. 37 Customer entity This entity has five attributes and two relationships. Customer entity is the most important part of this company. Customer ID is the primary key of this entity. Customer entity is related with payments entity through doing relationship and installation entity through service relationship. Also this relationship is describe that how customer deal with company. All other tables are having relationships with other entities as well as customer table. Payment entity Payment entity was related with other two entities and it has four attributes. Payment bill number is the primary key of this entity. Installation entity Installation entity is the base of this entity. This company’s basic services are given as installations. Installation ID is the primary key of this company. Supply entity Supply is very important to continue company works and it must need to pay a proper service. Item number is the primary key of this entity. Also this entity has a derived attribute because total price can be calculate by using item price and quantity. Worker entity Workers entity has five attributes and two relationships. Workers are very important to fulfil and to maintain company works. Stores entity Stores helped to keep an extra lots for company and it is helped to face an emergency situations. Item ID is the primary key of this entity. After design ER diagram writer was created tables for Poly Pipe Company according to ER diagram. Converting ER diagram into logical database diagrams (Tables) (Underlined words in following tables are primary keys and foreign keys) 38 Customer entity into customer table Table 1.1.2: customer table Customer ID First name Last name Telephone Email category Payment entity into payment table Table 1.1.3: payment table Bill number Date category Buyer’s name Place address Installation type Installation entity into installation table Table 1.1.4: installation table Installation ID Place name Supply entity into supply table Table 1.1.5: supply table Item number Item name Price per 1 item quantity total Store entity into store table Table 1.1.6: Store table Item ID Item name Item price Responsible Issued date Rack No person ID Worker entity in to worker table Table 1.1.7: worker’s table Worker’s First Last Category Telephone Work ID name name no. No Work Item Used place No. no item Writer was made six logical diagrams by using upper ER diagram. 39 Data redundancy Data redundancy occurs when the same piece of data is stored in two or more separate places and is a common occurrence in many database systems. (telend, 2021) This thing is reasoned to reduce the internal storage in servers and data centers. Also it is effect to minimize the effectiveness of software and other operation systems and make other obstacles. How to reduce data redundancy? Normalization is the method to avoid this data redundancy. There are three normalization methods can be used for reduce redundant. Normalization There are three common normalization methods. Such as first normalization second normalization and third normalization methods as well. 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 data and ensure data is stored logically. First normalization (1 NF) Each field in a table holds particular information. For example, in a specialist overview, every one table may hold stand apart origination date field. In this stage skip all anomalies were repeated. Second normalization (2 NF) Each field in a table that isn’t a determiner of the substance of a substitute field must itself be a limit of substitute fields in the table. In this stage system designers separate table in to partial tables that they were created. Third normalization (3 NF) Any change to an origination date would normally be reflecting in all tables that association with the origination date table. In this stage created tables separate further to other tables as well. 40 Advantages and disadvantages of normalization Table 1.2.1: Advantages and disadvantages of normalization Advantage Disadvantage A more modest information base can be kept More tables to join as by spreading out up as standardization disposes of the copy information into more tables, the need to join information. Generally speaking size of the table’s increments and the undertaking turns out to be drearier. The information base gets information base is diminished thus. more enthusiastically to acknowledge too. Better execution is guaranteed which can be connected to the above point. As information Tables will contain codes as opposed to bases become lesser in size, the goes through genuine information as the rehashed the information turns out to be quicker and information will be put away as lines of more limited in this way improving reaction codes instead of the genuine information. Thusly, there is consistently a need to go to time and speed. the query table. Narrower tables are conceivable as standardized tables will be tweaked and will As the typical structure type advances, the have lesser segments which considers more exhibition turns out to be increasingly slow. information records per page. Proper information is needed on the different Fewer files per table guarantees quicker ordinary support assignments (file modifies). structures to execute the standardization cycle effectively. Reckless use may prompt awful plan loaded up with Also understands the choice of joining just the tables that are required. significant peculiarities and information irregularity. Anomalies Anomalies are the columns which repeat unnecessary data in this columns. The process of normalization system developers remove these anomalies from their tables for reduce data redundancy. Also this process is helped to make simple UIs and save database space. Writer was identified several anomalies in customer table and remove these anomalies in first normalization. 41 Figure 1.2.1: Anomalies Writer was identified that the status and category as anomalies. In the following normalization stage writer was removed these anomalies from customer table. Examples for first normalization Before normalization Table 1.2.2: Before normalization Customer Status First Last ID name name Telephone Email category 0235 Mr John Lockwood 456-12365 john@gmail.com Sale 0236 Mrs Mary Monston 251-23165 mary@gmail.com Sale 0237 Mr Trewo Denis 854-12365 denis@gmail.com Work 0238 Mr Jonathon Smole 794-25894 smole@gmail.com Sale 0239 Mr Tom Smith 321-52865 tom@gmail.com Work 0240 Mrs Froster Hudson 564-26423 hudson@gmail.com Repair 42 After normalization Table 1.2.3: After normalization Customer ID First name Last name Telephone Email 0235 John Lockwood 456-12365 john@gmail.com 0236 Mary Monston 251-23165 mary@gmail.com 0237 Trewo Denis 854-12365 denis@gmail.com 0238 Jonathon Smole 794-25894 smole@gmail.com 0239 Tom Smith 321-52865 tom@gmail.com 0240 Froster Hudson 564-26423 hudson@gmail.com Before normalization customer table has six columns as “Customer ID, Status, First name, last name, Telephone number and Email”. In first normalization should be removed redundancies data in tables. Customer table has two repeated data columns and it was removed in first normalization. After that the table was refereed to second normalization. Examples for second normalization Table 1.2.4: Before normalization Item ID Item name Item price Responsible ($) Issued date Rack No (Issued) person ID 0645 ½” Pipe 3.90 A21 03/25 02 0354 ½” L-bows 1.20 A21 03/25 03 0354 ½” L-bows 1.20 A21 03/25 03 0354 ½” L-bows 1.20 C21 03/26 03 0852 1” “T” Joint 2.60 A15 03/27 01 Table 1.2.5: After normalization Responsible (Issued) person ID Issued date Rack No Item ID A21 03/25 02 0645 A21 03/25 03 0354 A21 03/25 03 0354 C21 03/26 03 0354 A15 03/27 01 0852 43 Item ID Item name Item price ($) 0645 ½” Pipe 3.90 0354 ½” L-bows 1.20 0354 ½” L-bows 1.20 0354 ½” L-bows 1.20 0852 1” “T” Joint 2.60 In second normalization repeated columns separated two or more tables. It was helped to reduce data redundancy. Example for third normalization Table 1.2.6: Before normalization Worker First Last Category Telephon Wor Work Item Used e no. k No place No. no item ’s ID name name A04 Tim Lee Repair 145-36524 05 26/5 0645 L-bows A04 Tim Lee Repair 145-36524 05 485B/1 0354 T-socket A02 John Moos Repair 245-65892 021 95A 0395 T-socket A06 Kim Benet Replacing 482-98756 041 35-54/1 0652 ½’ pipes Table 1.2.7: After normalization Workers details Worker’s ID First Last name Telephone no. name A04 Tim Lee 145-36524 A04 Tim Lee 145-36524 A02 John Moos 245-65892 A06 Kim Benet 482-98756 44 Work details Work No Work place No. Item no. 05 26/5 0645 05 485B/1 0354 021 95A 0395 041 35-54/1 0652 Material details Item no. Used item 0645 L-bows 0354 T-socket 0395 T-socket 0652 ½’ pipes Category details Category Workers ID Repair A04 Repair A04 Repair A02 Replacing A06 Third normalization is helped to further reduce data redundancy. Interface design and development Interfaces are the external appear of a software or a database system. So interface design is the most important part in developing. Also developing companies have interface designer teem for doing this work perfectly. As a worker in a leading IT company writer was selected Microsoft Visual Studio for interface designing and system building as well as SQL server was used to make database. 45 Figure 1.2.2: Visual Studio Figure 1.2.3: SQL Server First of all writer was designed a cover interface (Welcome interface) for proper attract. After that Logging page, Manu page and other sub interfaces was created by writer for Poly Pipe Company. Before interface designing writer was drown rough notes that it was helped to make a proper and perfect interfaces. 46 Welcome page Figure 1.2.4: Welcome interface Writer was created this welcome page for appropriate with company background. So writer was selected simple and relevant photo from internet and insert into welcome interface. In this interface has only one button it is “Next” using for go to next page (Logging page). Logging page Figure 1.2.5: Logging page Writer was designed this page with eye comfort design and including company logo. Only used little amount of buttons in this page and added “Username”& “Password” for system security. 47 Writer used company Email Address as username and strong alphanumeric password than can be easily kept their mind. Also made message system for correct loggings and incorrect loggings and added an “Exit” button for logout from system. Menu page Figure 1.2.6: Manu page As the third interface writer was created “Manu” page. In this page has six tabs for main table interfaces and used two buttons for back to previous and exit from system as well. All tabs have their specific tasks and these are working separately for store, save, update and delete data in this tables. Also inside of all tabs have search buttons for search data. 48 Customer interface (customer page) Figure 1.2.7: customer page In this customer page had included combo box for select category and it was helped to save time for data saving process. Customer ID is the primary key of this table and it was used for search data. Supply page Figure 1.2.8: Supply page 49 In the supply page writer was selected item number as primary key and it was used for searching data in supply details. Payments page Figure 1.2.9: Payments page Writer was included a calculator for payment tab and it was helped to calculate item prices without an external calculator. Also writer was added a combo box for category section to save time and select category without typing. In this window Bill number work as a primary key. Store page Figure 1.2.10: store page 50 This page has two search buttons because this details can be search by using Person ID and Item ID. Store keeping is very important to manage supply chain and it is helped to work on emergency situations. Worker page Figure 1.2.11: Worker’s page Figure 1.2.12: Worker’s page 02 Worker’s page was created by writer by including all the details about workers. It is helped to fulfil work tasks and make a perfect job. However writer insert two search tabs which can be search by Worker’s ID and Work Number. 51 Validation (Informatica, 2021) Data validation is the method that checking the accuracy and quality of data before using to importing or processing data for data basing and other data processing purposes. Different types of validation is depending on destination constraints or objectives. Data validation is a method of data cleansing and reducing carefully. Why perform data validation? Data validation is very important to data processing and proper data managing. There are five types of data such as, Constraint validation: - Attributes of Min, Max, Step, Patterns and required validation. Structured validation: - validation is to confirm legalize or prove that something Data range validation: - Data range validation is used to check data count, amount, and the data size. Code validation: - Check the code of software or web site for checking it’s working is called as code validation Data type validation: - check the data type that it is string, integer or varchar is called as data type validating How writer used validating mechanisms to Poly Pipe Company In the validation paragraph writer was mentioned the importance of data validation and how do we do it. Writer was used many validation types for poly pipe company for better product. So writer applied check boxes, combo boxes, validation codes, and checking systems for data base system. Writer was used string data type for all alphanumeric data, integer type for all number data and varchar type for all letter types. Combo boxes were used for select most appropriate answer for its space and keep it on not null formatting. Calculate method was used to record the correct prices and other countable data. These are the validation mechanisms was applied by writer for Poly Pipe Company. 52 Examples for validation in Poly Pipe Figure 1.2.13: Structure validation (Primary key using) According to this figure, user must insert numeric values for customer ID Figure 1.2.14: Data type validation (Integer type) According to this figure user can only insert integer values. Figure 1.2.15: Data type validation (varchar type) User can insert varchar values for email address. Figure 1.2.16: Data type validation (Varchar type) 53 Figure 1.2.17: Data type validation (Varchar type) Figure 1.2.18: Code validation (Coded for search by Primary key type) Figure 1.2.19: Code validation Message box show to inform validation Figure 1.2.20: Code validation Message box show to inform validation 54 Validation and verification (PP.Pankaj, 2020) Table 1.2.8: validation and verification Validation Verification It includes checking documents, design, It includes testing and validating the actual codes and programs. product. Verification is the static testing Validation is the dynamic testing It does not include the execution of the code. It includes the execution of the code. Methods used in verification are reviews, Methods used in validation are Black Box walkthroughs, inspections and checking. desk- Testing, White Box Testing and nonfunctional testing It checks whether the software conforms to It checks whether the software conforms to specifications or not specifications or not It can find the bugs in the early stage of the It can only find the bugs that could not be development. found by the verification process. The goal of verification is application and The goal of validation is an actual product software architecture and specification It comes before validation. It comes after verification The connection between user and system User is the person who using the system and the system is called as the software or mechanism that service electronically for the user. These two factors have a relationship which reason to run an organization properly. In this company system developer was installed a database system for company day to day activities. Now writer is going to show how system and user requirements were fulfilled by developer. 55 Evaluate the effectiveness of system and user requirements Table 1.3.1: how developer fulfil user and system requirements Req. type Requirement Result User Identify unique categories in Completed from “Menu” page requirement this records. Writer identified all unique characters in the system and divide sections according with these requirements. Add unique functionalities for Completed from each pages by using identify customers customer needs and “Primary keys”. separately Writer used ID, TP number or Email as the (IDs, Telephone numbers or primary key. Because of that these values Email address). are unique from each other. Keep notes and records about Built a database system for keep records. customer needs. Writer created database tables for insert each records which will necessary for further assessments and services. Customers can be request Customer can be request installations installations through Emails and calls. By giving one single TP call or email message, customer can be reserved a service for convenient time and date. Separate customers for tailor- Installation section was separated into made installations categories for better and relevant service. Writer divided installation interface and its functions relevant with proper installation. Need to keep records about Users can be kept a record about other other requirements services. and requirements and services through DB system. Point workers for works and Installed an auto reminder system. let they know about works and Writer built an automatic reminding system customer’s details for keep time schedule for avoid missing 56 System Should be user friendly requirements Writer design a system by using very simply for easy use. User had only operate GUIs to insert, update delete and search data. Should be take a very small System only had 35Mb. space in servers System size is very small. It can be used for any PC with best performance. Should be attractive Interfaces were designed by using beautiful and simple designs. All UIs have images that relevant with its tasks. Should be low cost Writer could be try to decrease system cost. Should be easy to maintain This system was very easy to maintain and troubleshooting. Because system was built with C# programming language and it is very common and reliable programming language can be maintained Should be able to develop System had been made by keeping space to future developments. Writer has enough knowledge about the system and it can be updated to new versions that relevant with customer’s future purposes. Should be protected from Installed vires guards for all machines in vires and malwares company. Should be easy to update Easy to update via online Poly Pipe company had many customers and little amount of users. So writer was decided to give priority to customer side. Also they were needed to give a comfortable service for their customers. Writer could be able to achieve this target by using latest methods and technologies. 57 Effectiveness of system design Writer could be able to create a most relevant database system for user requirements. All the system requirements were checked by using selected users and customers which it is helped to create a perfect final product. Table 1.3.2: how developer fulfil user and system requirements UI Logging purpose Used validation method For secure the system from non- Structure and code validation authorized parties Menu To select correct page (table) to No validation included record data Customer To record customer information Code and data type validation Payments To record payments information Code and data type validation and issue bills and invoices Installation To record installation information Code and data type validation and calculate the installation values Workers To record worker’s information Code and data type validation and their duties, completed works and give tasks Stores To record store information and Code and data type validation manage item lots Supply To record supply information and Code and data type validation keep active supply chain 58 Why writer used these validation methods for this system Considering a logging page, it is the wall that separate users and DB system. So writer inserted complex validation methods to it. Such as, Coded a logging button for access only the given username and password. Varchar type for username text box and password text box If user logging successfully, message box show “Logging Success!” In the menu page has no special validation methods included. After successful logging anyone can be gone to each table. Considering a customer page writer implement a code to show a message box for inform save, update and delete. Also that user can only insert customer ID from integer values. As well as other UIs have these validation methods to validate the inserted data. Relationship with UIs and ER diagrams ER diagram can be described as a cat log of this DB system. All the entities in ER diagram have UIs as pages. All the attributes in ER diagram have UIs as labels. All the primary keys work as the main function of each table and all foreign keys work as the connection of other tables. So writer created this ER diagram according to user requirements and all UIs were created with this ER diagram. Null values All the important data such as customer name, item price, telephone number, as well as other necessary data must be inserted. However user can be skipped last name, Email address as well as other unnecessary data for save time. Table 1.3.3: Null values Null values Not null values Emails, Last name, place name, number of All values other than null values participations, workers address, customers address. Data base system (DB system) Data base system was developed to record day to day activities, deals, services and details in this company. Writer was used Microsoft SQL server for build DB system in Poly Pipe Company. 59 What is the DB system? A database is an organized collection of structured information, or data, typically stored electronically in a computer system. Together, the data and the DBMS, along with the applications that are associated with them, are referred to as a database system, often shortened to just database. (Orecle, 2021) User interfaces and their outputs Payments data saving Figure 2.1.1: Inserting payments data This is the payment interface. User was using this to inset a details about a sale and output shows the data was inserted by the user has been recorded in database table. All the values were inserted by user that show properly in DB table. 60 Supply data saving Figure 2.1.2: Inserting supply data This is the supply table. This interface show how inserted data in supply interface has been saved in supply table. All the inserted data properly inserted into supply table Store data inserting Figure 2.1.3: Inserting store data This figure shows how store data saving in store table. This table have two search options. Because of that item number is the primary key of this table. Also can be searched by person ID. Person ID isn’t a primary key but the value of person ID is always not null and unique. 61 Customer data inserting Figure 2.1.4: Inserting customer data Customer table have view button. Because someone need to see records about customers he or she can see this details by using this view button. Installation data saving Figure 2.1.5: Inserting installation data 62 Figure 2.1.6: Inserting workers data As the store table worker’s table has two search options and two interfaces. Because worker’s entity has many data to insert. So writer divided worker’s interface into two work interfaces for proper management. Figure 2.1.7: Inserting workers02 data 63 Examples for querying across multiple tables Figure 2.1.8: Examples for multiple queries Delete data The unnecessary data or incorrect data need to erase from database diagrams. Because these data are reasoned reduce storage in storage devises and reduce system performance. So writer was inserted a delete button to remove data in database. First of all user need search these details from primary key. Then click delete button. All the records from this primary key will be deleted. Deleting Figure 2.1.9: data deleting 64 Output Figure 2.1.10: output of delete Data updating Incorrect data in data base system want to change to correct data. So writer used update button for this process. After searching relevant data and change it. After that user can be used update button for save this updated data. Figure 2.1.11: Data updating Figure 2.1.12: Output for data updating 65 Examples for validation Figure 2.1.13: Examples for data validation Writer was used multiple tables in this database system and validation technics. All activities were done on Microsoft Visual Studio by using C# language. 66 How writer used the most appropriate data type Figure 2.1.13: Customer table According to this figure writer was applied integer and varchar data types for all tables. Because these tables have deferent types of data. Also writer used integer type for all number data and varchar type for other data types. Such as letters, characters and symbols. Writer was inserted message systems for correct and wrong data types. Figure: 2.1.14: Error messages Developer was made database system for standard data types. So date is not correct in interface and message box say what is the error. Figure: 2.1.15: Error messages 67 In this interface has inserted an incorrect data type. So message box show what is the error. Figure: 2.1.16: Error messages This message box show about incomplete data. Because the textbox of used item is empty. 68 Query language What is the query language in a database? A query language is a special programming language for searching, maintaining and changing the contents of a database. Although the term originally use to a sublanguage for only searching (querying) the contents of a database. Latest query languages such as SQL are general languages for interacting with the DBMS, including statements for defining and changing the database schema, populating the contents of the database, searching the contents of the database and updating the contents of the database. In SQL use queries for insert data, update data, delete data, create databases, create tables, modifying tables and databases and etc. (Springer Science, 2020) Querying for build a database in SQL Server Create a unique database for Poly Pipe Company Figure 2.2.1: Create db This is the query for create a database. By using this query writer was made a database as “poly_pipe_company”. Create an Installation Table Figure 2.2.2: Create Installation table This is the query to make tables. Writer was created seven tables for poly_pipe_company data base. 69 Create a Customer table Figure 2.2.3: Create customer table Create a Supply table Figure 2.2.4: Create supply table Create a Payments table Figure 2.2.5: Create payments table 70 Create a Store table Figure 2.2.6: Create store table Create a Workers01 table Figure 2.2.7: Create workers01 table Create a Workers02 table Figure 2.2.8: Create workers table 71 Created tables Figure 2.2.9: Created tables in database SELECT query Figure 2.2.9: Select query 72 INSERT query Figure 2.2.10: Insert query This query is used to insert data into created databases. UPDATE query Figure 2.2.11: Update query Update query is used to update the data has been inserted. By using this query developer can be update all kinds of data in the tables in database system. 73 DELETE query Figure 2.2.12: Delete query Delete, insert and update queries are the most important and useful commands in this database system. Also these are very helpful to maintain data and keep all information in active position. SELECT query Figure 2.2.13: SELECT query 74 ADD query Figure 2.2.14: Add query DROP column Figure 2.2.15: Drop query Add and drop functions are needed to insert new or remove old columns to database system. 75 Coding a Logging Button Figure 2.2.16: Coding logging button Coding a Next Button Figure 2.2.17: Coding next button Coding an Exit Button Figure 2.2.18: Coding exit button Next button is helped to go next page and exit button is needed to exit from program. 76 Coding the tabs in menu Figure 2.2.19: Coding tab buttons Make a connection between SQL server and Visual studio Figure 2.2.20: Connecting to SQL connection 77 Coding an Insert Button Figure 2.2.21: Coding save button Coding an Update Button Figure 2.2.22: Coding update button 78 Coding a Delete Button Figure 2.2.23: Coding delete button Coding a Search Button Figure 2.2.24: Coding search button Writer was used SQL queries and C# programing language for build this project. In this project writer was made queries and language commands to proper work and fulfil company requirements. Coding and querying also need to make database system. After design all 79 interfaces developers start coding or querying the system. The end of this procedure developer can be taken a semi completed result as a database software. Data base security Why database security important? So let us first understand what database security, Database security is measures, controls, and tools that are designed to preserve as well as establish the integrity, confidentiality, and availability of the database. Confidentiality is the most important thing of data security because this is help to get satisfaction and make a trustiness in customer’s and developer’s lives. The database security should be capable of addressing and protecting the data available in the database, the DBMS or the database management system, any of the applications that are associated with it, the server of the physical database or the underlying hardware and the virtual database server and the network or the computing infrastructure that is used to access the database. Database security is depended on the physical and technical security components. (Sarangam, 2020) What can we do for secure database system? Should be used strong usernames and passwords to system. Should be used security internet connections. Should be changed passwords at least twist a year. Make sure your system password is secret. Should be used strong vires and malware protection. Should be used quality hardware devices. Should be maintained database system properly Should be updated your system. Security mechanisms were used in Poly Pipe Company Writer used strong password and user name for system According to company requirement writer used company email address as their username and gave chance to give an appropriate and strong password for system. This is the first security mechanism was inserted by writer into system. If username and password are correct, user can 80 logging enter into the system. However username or password is incorrect user cannot logging to the system. If anyone need to logging, the username and password must need to be correct for logging. If logging was succeed message box will show “Logging Success!” and if not succeed message box show “logging not success”. Figure 2.3.1: Success logging Figure 2.3.2: logging not success External security For protect company data and information from external persons or organizations, developer was given instructions to responsible persons in Poly Pipe Company, Should be keep username and password protected. Should be select a person to maintain database who can trust. Should be update system and virus protection. Before receiving database system to the company writer got a self-assessment about system security. 81 Table 2.3.1: Security self-assessment Section Security System logging security Highly protected Database Protected System software Protected and it is relevant to user’s operation system Virus and malware protection Security is depend on user’s virus guard. However software protection methods implemented. Other options Whole system is relevant with user’s devices, such as printers, scanners, barcode readers and etc. Who can access this database? All the responsible persons who can be accessed to the database system. But these persons have one special part or section to manage and data control. Table 2.3.2: Security self-assessment Section/ table Responsible person Logging All the responsible users Customer Receptionist Payments Cashier installation Installation manager Stores Store keeper Supply Supply chain manager Worker01 and worker02 Manager HR General Manager of a Poly Pipe Company was given username and password for these users to logging to this system and gave instructions to protect this username and password by themselves. After giving these secret things users have a responsibility to protect and keep it secretly. 82 Database maintaining (OfficeTooles, 2015) Database maintenance is a method which used to describe a set of tasks that are all run with the intention to improve the database system. There are routines meant to help performance, free up disk space, check for data errors, and check for hardware faults, update internal statistics, and many other important facilities. Database Maintenance program can be divided into four parts Index Defragmentation Log File Maintenance File/Data Compaction Integrity Check Index Defragmentation SQL databases contain objects called ‘indexes’ that work a lot like the Dewey Decimal system of a library. Each table inside of your Office Tools Professional database contains at least one indexed column that we use when we need to search for a specific value (such as a Customer or a Work Code). Log File Maintenance SQL Databases contain a ‘Log File’ that keeps track of every single transaction that happens in the database. Using these log files, you can actually restore a database to the state it was at any point in time before. So if something bad happens to your database (either corruption, accidentally, or maliciously), you can recover your data as it was the instant before the event happened. So the Log files are extremely important parts of the system, and they require their own special maintenance as well. File/Data Compaction As you use your SQL database, the file size both grows and shrinks. Each time the file needs more space, it grows by a certain increment. And as data is added to the database, it is saved into any spot that has enough memory to store that chunk. Unfortunately, the data is not always stored close to other data from the same table. The data itself becomes fragmented, just like the indexes we talked about before. In order to resolve this issue, we run what is called a ‘Data Compaction’, which reorganizes the file by grouping all associated data together. This not only 83 groups data together, but it can also free up space inside the file as well, which can then be reclaimed by the operating system as free disk space on your hard disc. Integrity Check Over time, your database will go through numerous changes. Data will be added and removed, tables will be added, modified, and removed. The database’s overall schema will change. Indexes will be added, rebuild, deleted, and re-created. Data columns will be added, modified, and removed. The database will go through thousands upon thousands of changes just as a natural course of its lifespan. But each change, no matter how small, has the potential to introduce corruption into the database. Maintain schedule for Poly Pipe Company Table 2.4.3: Maintains schedule 01 Duty Daily Weekly Monthly Annually Check DB connectivity Update Vires protection Update operating system Change Wi-Fi passwords Change other passwords Check all the hard ware devices Cleanup all the discs Cleanup unnecessary files Check notifications Clean all devices This maintain schedule was created by the maintaining panel in software Development Company and take two copies from it. Also simplified maintain schedule was given to the Poly Pipe Company. This following maintain schedule is the simplified maintain schedule was given to Poly Pipe Company. 84 Table 2.4.4: Maintains schedule 02 Purpose Time Checking Updating Duty Responsible person 09.00 to 10.00 Roughly check all devises Selected user in Every day before start daily works company 17.00 to 18.00 first Check devices and replace Selected user in day of month broken items company 16.00 to 17.00 Update vires protection Selected user in Friday or Monday and other soft wares company who have IT literacy Cleaning 08.00 to 09.00 Clean daily using items Cleaner Once a day in each Change items for relevant Selected user month purposes Enough time in Take a final assessment each year about the Data base every Monday Changing Assessment Selected user Backup plans A backup is the copy that developers make to data for self-keeping. This backup pans are used to better protection for the stored data in database systems. The backup should then be stored somewhere safe so that it can be retrieved safely if required. There are several types of backup methods can be used to protect our data from emergency situations. Full back up: - this is a complete backup of all of stored data Incremental backup: - start from full backup and continue incremental backup. Differential backup: - like an incremental backup but overall product is like full backup From these three backup methods writer was selected incremental backup to Poly Pipe Company backup plane. Incremental backup An incremental backup is one in which successive copies of the data contain only the small parts that has changed since the preceding backup copy was made. When a full recovery is needed, the restoration process would need the last full backup plus all the incremental backups until the point of restoration. (tend, 2021) 85 Figure 2.3.3: incremental backup (www.google.com) This backup method is the most relevant backup plan for this company. Because Poly Pipe Company isn’t need a long previous data records. So writer was developed this backup plan for this company and reserved a file server for this backup process. Also this backup plan can be kept records from last six months. They were satisfied about it and the technical officer in this company was responsible to maintain it. 86 Data types Each types of software read only relevant data types. Because all software were made for special purposes and tasks. This data types are helped to understand information to computer. Data types were classify for special data such as numbers, letters, characters and etc. Table 2.4.1: Data types Data type Relevant data Integer Numbers only Floating Point Floats only Character Special characters String Any types Boolean Booleans Enumerated type Enumerate type only Array. Aries only Date. Numbers letters and special characters Meaningful data User should be responsible to enter correct data type for record real data and information. Although system developers make proper options to record valuable data into database system. As an example user going to insert first name as ‘Abc’, it’s not matter but user need to insert a company name as ‘Trade50’, it’s difficult to do. Because the name ‘Trade50’ isn’t meaningful to enter as first name, it is a company name or trade mark. So user should be always need to enter valuable and correct data into system. Information management Insert, update, delete and search functions are used to system information management. As a perfect DB system, Poly Pipe Company’s DB system has these all functionalities for manage data and information. 87 Figure 2.4.1: Information management Insert data Figure 2.4.2: Data insertion User is inserting a new information set through repair category. After he or she inserted this information message box show to indicate the save. In the DB table can be seen the insertion. 88 Figure 2.4.3: Searching Group by Figure 2.4.4: group by Group by query is used to make a group some selected data in a table. In this figure writer was queried for group customer’s first name and telephone number. First of all should need to select a table name for group. In second step need mention about which columns we are integrating. 89 After that should need to mention the name of the column that we select to organize. Finally give “group by” command with needed column name. Order by Figure 2.4.5: order by By using order by query can be made an ordered data selection from alphabetical order or ascension order. In the first step, should be selected the data range from a table. After that mention the table name. Finally mention the column name for order the data range Between query Figure 2.4.6: between 90 Between queries is used to take a selected data range. It can be used integer values only. So this query is helped to get an idea about data range of a day, week or month. Should select the data range first. After that should be mentioned the table name. Should mention the column name with where statement Type the required data range with between statement Where Query Figure 2.4.7: where query Where query is used to organize a data range from table. Should select the data range first Select the table name Should query the command for necessary data range 91 Database testing What is the testing? Database testing is the process of checking that everything is in order with regards to the database. This is done under a controlled testing environment. The process is also known as back-end testing or data testing. Database testing involves checking things such as the schema, tables, or triggers. Also this testing is used to fulfil and recover customer’s requirements. (reqtest, 2017) Database testing is mainly composed of constructing SQL queries to assert and validate different database operations, structures, and attributes required by the application the database. Database testers work with application developers to properly test the scenarios in which the database is to operate. A database tester should fully understand the business rules of the application in addition to being familiar with the database structure. Why is database testing important? When the integrity of data in an application is compromised, it can lead to huge monetary losses. To prevent attacks Ensuring that network issues or power outage do not affect the integrity of data or lead to data loss or corrupted data To remove errors from the database to maintain the quality of data To verify that every piece of data is being stored in the right format To validate relationships between entities within the database What should I test? The first set of test cases are for the Create, Read, Update, and Delete (CRUD) operations that your application performs. This is to ensure that data is being stored and retrieved in ways that assure data integrity. A tester can do this directly from the application interface or use a database management system (DBMS) to run queries using SQL data manipulation language (DML) commands. 92 How to test a databases If you would rather not test manually, you may be relieved to know that automated database testing is very similar to automating tests on application code. The major difference is that this time, your tests are running queries instead of application code. The following steps found in testing application code also applies: Prepare your test environment Run your tests using a test runner (e.g. Selenium) Check and validate your results Report your assertions This is why a database tester’s best attribute is being able to craft SQL queries for every required test case. Database testing tools There are loads of database testing tools out there. The database testing tool you choose will depend on one or more of the following Testing strategy (manual, automated or hybrid) Database type (SQL or No-SQL) Database vendor (MySQL, MSSQL, Oracle, or other) Source: - (Adepoju, 2021) There are many testing types such as, Unit testing. Component testing. Smoke testing. Sanity testing. Regression testing. Integration testing. API testing. UI testing. 93 Figure 3.1.1: Manual testing The main target of testing is increase software quality. Black Box Testing Black Box Testing is a software testing method in which the functionalities of software applications are tested without having knowledge of internal code structure, implementation details and internal paths. Black Box Testing mainly focuses on input and output of software applications and it is entirely based on software requirements and specifications. It is also known as Behavioral Testing Figure 3.1.2: black box testing White Box Testing White Box Testing is software testing technique in which internal structure, design and coding of software are tested to verify flow of input-output and to improve design, usability and security. In white box testing, code is visible to testers so it is also called Clear box testing, open box testing, transparent box testing, Code-based testing and Glass box testing. Figure 3.1.3: White box testing 94 Black box testing and white box testing Table 3.1.1: deference of black box testing and white box testing (Hamilton, 2021) Black Box Testing White Box Testing The main focus of black box White Box Testing (Unit Testing) validates internal testing is on the validation of structure and working of your software code your functional requirements. Black box gives To conduct White Box Testing, knowledge of and underlying programming language is essential. focuses on testing effort on the Current day software systems use a variety of software system behavior. programming languages and technologies and its not abstraction testing from code possible to know all of them. Black box testing facilitates White box testing does not facilitate testing testing communication amongst communication amongst modules modules Integration testing Integration testing refers to testing individual components and assessing how well they will perform when combined. Integration testing is a type of testing meant to check the combinations of different units, their interactions, and the way subsystems unite into one common system, and code compliance with the requirements. The developer who writes the code is responsible for performing the integration of modules. Then after checking the modules for their integration it will be passed on to the Q.A. team, Here it will be the responsibility of the Q.A Figure 3.1.4: integrate testing 95 System testing System testing, also referred to as system-level tests or system-integration testing, is the process in which a quality assurance (QA) team evaluates how the various components of an application interact together in the full, integrated system or application. System testing types Scalability Testing. Reliability Testing. Documentation Testing. Security Testing. Graphical User Interface Testing (GUI) Exception Handling. Volume Testing. Stress Testing. The goal of software testing is to find errors, gaps, or missing requirements in comparison to the actual requirements. When a software development project is going on, you need to know that errors may appear in any phase of the life cycle. Few of them are known to be undiscovered. Professionals who test software include QA Analysts, Test Engineers, QA Test, Test Analysts, Software Testers, SQA, Quality Assurance, Engineers involve to this testing. Justification about system testing Writer was used system testing method for test the DB system in Poly Pipe Company. How to use system testing types to test DB system Scalability testing Scalability testing is used to check the system which it is enough to fulfil system requirements. Also in this testing developers test the size of database, size of the data which wish to insert and hardware components that suitable with this DB system. Reliability testing In this testing type developers test the system for match it with system and user requirements. So if it is passed developer could be satisfied about the system is reliable for user’s company. 96 Documentation testing Documentation is the first step of system building. Developers test this documents after the documentation process and before system building as well. Using this method developers can be had a good giddiness to system building Security testing Security testing is very important to protect our system from unauthorized parties and other treats. So writer describe further about security mechanism that used in Poly Pipe Company’s system in the following steps. Graphic and User interface testing This testing method is used to the user friendliness of the system. Also developers test all functions in the interfaces. So writer was used this method for test the system in Poly Pipe Company. Stress testing Stress testing is used to check how system working on heavy load with multiple tasks. Also the speed testing is the part of this testing. Hardware requirements Table 3.1.2: user and system requirements testing Operating system Windows 8, 8.1,10 Processor Up to intel core i3 Storage 512Gb to up hard disk Ram 8Gb to up Monitor 24” to up Internet quality 802.3 Ethernet Writer and team were tested hardware requirements for install DB system before install user’s PCs. Also writer had to see, all PCs in Poly Pipe Company had been completed with these requirements. So writer’s team could be easily installed DB system into PP Company PCs. 97 Testing user and system requirements Table 3.1.3: user and system requirements testing Requirement/function Testing/ suggestion System speed Passed Code errors Passed Interface errors Passed Design Passed Reliability Had small mistakes, those are solved in second testing round. System security Passed System capacity Not enough space in first time, it was corrected in second testing round by decreasing data type size User friendliness Passed Working frequency Passed Test plan Test is used to manage the testing time and test categories. So it is helped to do better testing without weaknesses. Also this test plan is made by the developers who was built this system or software. After the planning, testers test the system part by part. Table 3.1.4: test schedule Test plan Scheduled time Documentation 2 Days Scalability 1 Dar Reliability 1 Day Security 2 Days Interface testing 3 Days Stress testing 1 Day 98 Testing schedule Figure 3.1.4: Gantt chart for testing schedule Interface testing Test the payments table This part is very important to run company activities. Because all financial and deals were recorded in this payments table. Also user (Cashier) was used his system for all billings and those activities were recorded in this payments table. Insert testing in payment table Figure 3.2.1: insert data into payments table According to the image below (Figure 3.1.5) the system tester going to test data inserting and he was inserted data as this figure. So the tester expect the result as this inserted data must be saved in payments table in MS SQL server. Also that it is the expected result. 99 Actual result for insert testing in payment table Figure 3.2.2: actual result for insert testing in payment table Actual result shows the inserted data in interface and it is show the testing is success for insert function. Search testing in payment table Figure 3.2.3: search testing in payment interface Writer typed the Bill number in the search text box first and click the search button. All the empty text boxes were filled from correct data and it shows the success of search testing. Actual result search testing in payment table Figure 3.2.4: Actual result for search testing in payment interface 100 Delete testing in payment table Figure 3.2.5: delete testing in payment table In this testing writer could be inserted all the data into text boxes or could be searched by bill number to delete data in payment table. After the clicking the delete button which the selected data will be deleted into table. Actual result for delete testing in payment table Figure 3.2.6: Actual result for delete testing in payment table According to the figure delete function is properly working. So writer could be taken an idea about delete testing is success. 101 Update testing in payment table Figure 3.2.7: update testing in payment table If someone need to update data in this table who need to search the update data row first. He can do it by using search function. After searching data, user need to make the changers and click update button to complete the task. Actual result for update testing in payment table Figure 3.2.8: actual result for update testing in payment table 102 Insert testing in supply table Figure 3.2.9: insert testing in supply table Writer inserted data into supply table and it was inserted to supply table successfully. Actual result for insert testing Figure 3.2.10: actual result for insert testing in supply table This figure show the inserted data by writer in supply table. Update testing in supply table Figure 3.2.11: actual result for update testing in supply table 103 Type all data in supply interface and click the update button to update data in supply table. Writer is going to update finally included data in supply table. Actual result for update in supply table Figure 3.2.12: actual result for update in supply table Delete testing in supply table Figure 3.2.13: delete testing in supply table Actual result for delete testing in supply table Figure 3.2.14: actual result for delete testing in supply table 104 Search testing in supply table Figure 3.2.15: search testing in supply table Actual result for delete testing in supply table Figure 3.2.16: Actual result for search testing in supply table Testing a store table Insert testing in store table Figure 3.2.17: Insert testing in store table 105 Actual result for insert testing Figure 3.2.18: Actual result for insert testing in store table Update testing in store table Figure 3.2.19: update testing in store table Actual result for update testing in store table Figure 3.2.20: actual result for update testing in store table 106 Delete testing in store table Figure 3.2.21: delete testing in store table Actual result for delete testing in store table Figure 3.2.22: actual result for delete testing Search testing in store table Figure 3.2.22: search testing in store testing 107 Actual result for search testing in store table Figure 3.2.24: actual result for search testing in store table Testing a worker table Insert testing in worker table Figure 3.2.25: Insert testing in worker table Actual result for insert testing in worker table Figure 3.2.26: actual result for insert testing in worker table 108 Update testing in worker table Figure 3.2.27: update testing in worker table Actual result for update testing in worker table Figure 3.2.28: actual result for update testing in worker table Delete testing in worker table Figure 3.2.29: Delete testing in worker table 109 Actual result for delete testing in worker table Figure 3.2.30: actual result for delete testing in worker table Search testing in worker table Figure 3.2.31: search testing in worker table Actual result for search testing in worker table Figure 3.2.32: actual result for search testing in worker table 110 Testing a customer table Insert testing for customer table Figure 3.2.33: insert testing for customer table Actual result for insert testing in customer table Figure 3.2.34: Actual result for insert testing in customer table Update testing for customer table Figure 3.2.35: update testing for customer table 111 Actual result for update testing in customer table Figure 3.2.36: actual result for update testing in customer table Delete testing for customer table Figure 3.2.37: delete testing for customer table Actual result for delete testing on customer table Figure 3.2.38: Actual result for delete testing on customer table 112 Search testing for customer table Figure 3.2.39: search testing for customer table Actual result for search testing in customer table Figure 3.2.40: actual result for search testing in customer table Testing a installation table Insert testing in installation table Figure 3.2.41: Insert testing in installation table Actual result for insert testing in installation table Figure 3.2.42: actual result for insert testing in installation table 113 Update testing in installation table Figure 3.2.43: update testing in installation table Actual result for update testing in installation table Figure 3.2.44: actual result for update testing in installation table Delete testing in installation table Figure 3.2.45: delete testing in installation table 114 Actual result for delete testing in installation testing Figure 3.2.46: actual result for delete testing in installation testing Search testing for installation table Figure 3.2.47: Search testing for installation table Actual result for search testing in installation table Figure 3.2.48: Actual result for search testing in installation table Security testing (tutorialspoint, 2021) The main target of database security testing is to find out vulnerabilities in a system and to determine whether its data and resources are protected from potential intruders. Security testing defines a way to identify potential vulnerabilities effectively, when performed regularly. What are the objectives of security testing? Authentication Authorization Confidentiality Availability Integrity Resilience 115 Data base attacks SQL Injection This is most common type of attack in a database system where malicious SQL statements are inserted in the database system and are executed to get critical information from the database system. This attack takes advantage of loopholes in implementation of user applications. To prevent this, user inputs fields should be carefully handled. Privilege Elevation in Database In this attack, a user already has some access in the database system and he only tries to elevate this access higher level so that he/she can perform some unauthorized activities in database system. Denial of Service In this type of attack, an attacker makes a database system or application resource unavailable to its legitimate users. Applications can also be attacked in ways that render the application, and sometimes the entire machine, unusable. Unauthorized Access to data Another type of attack is gaining unauthorized access to data within an application or database system. Unauthorized access includes − Unauthorized access to data via user based applications Unauthorized access to by monitoring the access of others Unauthorized access to reusable client authentication information Identity Spoofing In Identity Spoofing, a hacker uses the credentials of a user or device to launch attacks against network hosts, steal data or bypass access controls to database system. Preventing this attack requires IT-infrastructure and network-level mitigations. 116 Data Manipulation In a data manipulation attack, a hacker changes data to gain some advantage or to damage the image of database owners. Database Security Testing Techniques Penetration Testing A penetration test is an attack on a computer system with the intention of finding security loopholes, potentially gaining access to it, its functionality and data. Risk Finding Risk Finding is a process of assessing and deciding on the risk involved with the type of loss and the possibility of vulnerability occurrence. This is determined within the organization by various interviews, discussions and analysis. Zed Attack Proxy It is a penetration-testing tool for finding vulnerabilities in web applications. It is designed to be used by people with a wide range of security experience and as such is ideal for developers and functional testers who are new to penetration testing. It is commonly used for Windows, Linux, and Mac OS. Paros All HTTP and HTTPS data between server and client, including cookies and form fields, can be intercepted and modified using these scanners. It is used for Cross-platform, Java JRE/JDK 1.4.2 or above. Social Engineer Toolkit It is an open source tool and human elements are attacked rather than the system element. It enables you to send emails, java applets etc. containing the attack code. It is preferred for Linux, Apple Mac OS X and Microsoft Windows. 117 Skip fish This tool is used to scan their sites for vulnerabilities. Reports generated by the tool are meant to serve as a foundation for professional web application security assessments. It is preferred for Linux, FreeBSD, Mac OS X, and Windows. Vega It is an open source, multiplatform web security tool that is used to find instances of SQL injection, cross-site scripting (XSS), and other vulnerabilities in web applications. It is preferred for Java, Linux, and Windows. Wapiti Wapiti is an open source and web-based tool that scans the web pages of the web application and check for scripts and forms where it can inject data. It is built with Python and can detect File handling errors, Database, XSS, LDAP and CRLF injections, Command execution detection. Web Scarab It is written in Java and is used for analyzing the applications that communicate through HTTP/HTTPS protocols. This tool is primarily designed for developers who can write code themselves. This tool is not OS dependent. Testing with correct username and correct password Figure 3.2.49: Testing 01 118 Testing with incorrect username and incorrect password Figure 3.2.50: Testing 02 Testing with incorrect username and correct password Figure 3.2.51: Testing 03 Testing with correct username and incorrect password Figure 3.2.52: Testing 04 119 Insert testing Figure 3.2.53: Testing 05 Actual result Figure 3.2.54: actual result for testing Writer was tested each states that can be inserted to username and password. So writer was satisfied about system security, because logging was succeed in only one time it is username and password must be correct. System speed testing Table 3.2.1: speed testing Test category Processing time System starting time 1.94 seconds Data inserting time 0.70 seconds Updating time 0.63 seconds Deleting time 0.76 seconds Searching time 1.08 seconds 120 System size = 4.00 KB (4,096 bytes) Figure 3.2.55: System size Writer was developed a very small software for Poly Pipe and it is helped to reduce data traffic. User friendliness System was made for company workers in Poly Pipe Company with mandatory IT literacy. So writer was designed this system by using simple interfaces and simple mechanics. Before the system was issued, developers gave the system for user’s company for trial. After that it was passed. Finally writer and writer’s team installed this DB software into computers in Poly Pipe Company. 121 Test outcome’s summery Table 3.2.2: Test outcomes Test Description Expected Testing Tables are present Actual Outcome It will show the names of the Shows the names of the tables with the 'Show Tables' tables properly Comment Passed command Tables have proper Check each table with Shows the tables with data records properly SELECT * Table Name Passed Command Insertion of data is Check the outcome of the Records are possible INSERT INTO commands successfully inserted Passed into tables. Table creation Check the outcome of the Tables are successfully possible CREATE TABLE command created Query 1 is running Check whether the query 1 is Showing the message properly executing properly or not of the “Saving Passed Passed successful” (Inserting) Query 2 is running Check whether the query 2 is Showing the message properly executing properly or not of “Data updated”. Query 3 is running Check whether the query 3 is It shows the Primary properly executing properly or not key and message show Passed (Updating) Passed “Deleted” (Deleting) Query 4 is running Check whether the query 5 is It shows the list of all properly executing properly or not the details of search (Searching) Passed thing. Query 5 is running Check whether the query 6 is Show added column Passed properly (Adding) executing properly or not Query 6 is running Check whether the query 7 is Deleting dropped Passed properly executing properly or not column (Dropping) 122 The effectiveness of the database solution in relation to user and system requirements, and suggest improvements. Evaluation of the database system As a developer writer was given a feedback form to users in Poly Pipe Company for get a selfevaluation. So this evaluation was helped to get a final assessment about DB system. Also it is helped to get awareness about future improvements, update suggestions and problems in DB system as well. Project feedback Writer’s team and writer was created a feedback form and it was given for responsible person in company and requested to fill the feedback form. So writer was made google form as feedback form. Because google forms could be taken an automatic assessment about feedback questions. There were seven questions and multiple choices for select. So it is very easy to mark and all the selected users in Poly Pipe Company were selected marked this form and supported to us. Feedback form link: https://docs.google.com/forms/d/e/1FAIpQLSfnLQkXm6HwpLJ8yCqu9M8iTwNphCmh35Z3vSd363QsT6ObA/viewform?usp=sf_link Comment review Writer was given a WhatsApp number for comment proposals and suggestion to improve this system. So it was very useful to get an idea about overall product and commenting time was allocated as two weeks. During these two weeks there were many replies had received by the software development company through WhatsApp. After the feedback form writer was displayed it as well. 123 Feedback form Figure 3.3.1: Feedback form 01 This is the first page of feedback form and it was asked 3 questions about the user friendliness. Writer was inserted multiple choice boxes to select and this form was delivered to their smart phones or personal computers to fill. They were kind enough and marked all answers and gave support to successes this project. 124 Figure 3.3.2: feedback form 02 This is the second page of feedback form and this page was asked other four questions about system security, appearance and overall product. So users were answered for all questions as well. 125 Feedback review There ten workers who had computer literacy were answered to this feedback form. Question 01 Figure 3.3.3: Question 01 In the question 01 writer wants to check the system user friendliness. Users in PP company were answered it as “Yes” and through this answer writer could take an idea about the system’s user friendliness is enough to company requirements. Question 02 Figure 3.3.4: Question 02 Same as question 01 writer was added this question for get an idea about the user friendliness. However users was given their individual idea as company system is user friendly. So writer was satisfied about system user friendliness. 126 Question 03 Figure 3.3.5: Question 03 In question three writer got idea about system maintaining. According to user’s answer write could get an idea as system is easy to maintaining. Question 04 Figure 3.3.6: Question 04 In question four writer was got an idea about system security. Wrier was asked this from four questions. System had a good logging, external and internal data security. But virus protection was not enough. So writer and team was changed a virus protection in user’s computers. After that writer able to get a good result about it. Also writer double checked all security mechanisms as well. 127 Question 05 Figure 3.3.7: Question 05 Question 06 Figure 3.3.8: Question 06 128 Question 07 Figure: 3.3.9: Question 07 Question 05: In question five writer was asked about the reliability about system and company requirements. It was completely matched with company requirements and writer didn’t need to recheck it. Question 06: In question six writer was searched a weakness in interfaces and external appearance. So it was reliable with company requirements. Summary of user feedback Table 3.3.1: feedback summary Question Answer Can you easily logging to database system Yes/No Can you easily insert data, update, delete Yes/No or search data Is this system easy to maintain What do you think about logging security What do you think about Virus and Yes/No Secured/ Not secured Protected/Not protected malware protection What do you think about Internal data Secured/ Not secured security What do you think about External security Secured/ Not secured 129 Is this system reliable with company Yes/No requirements What do you think about external figure Worst/Good of this system Are you satisfied about overall system Yes/No Suggestions and future improvements of database system in Poly Pipe Company Figure 3.3.10: WhatsApp conversation This is the little part of the WhatsApp conversation between users and developer. So these users commented their ideas about this database system via text messages. According to this messages developer could be got an idea about the system. That it was succeed. 130 User documentation User manual About system System interfaces Welcome interface Logging interface Menu interface Customer interface Supply interface Payments interface Installation interface Store interface Worker 01 interface Worker 02 interface Test results Scalability Testing. Reliability Testing. Documentation Testing. Security Testing. Graphical User Interface Testing (GUI) Stress Testing Maintaining Maintain plan Responsibility About the system This is the database system has been created for Poly Pipe Company LTD. This system can be used to record data, update data delete or searching. This is the computer based system which need an operator to operate this system. All the responsible person in this company were given the access to logging this system. Username and password was attached in an envelope has sealed. 131 System interfaces Welcome interface Figure 4.1.1: Welcome interface introduction Welcome interface is the first interface of this system. Also it has only one button and it can be used to go to next interface (Logging). Top left corner view the page icon and below that shows the company logo. In the top right corner has three buttons. Respectively there are Minimize, maximize and Exit button as well. The lower right corner has the Next button and it needs to go to next interface. Logging interface Figure 4.1.2: logging interface introduction 132 This is the logging interface. This interface has two buttons in right side of interface for logging and exit. This is the wall that separate the system from other world by security methods. So this interface has been reserved space for type username and password. If username and password must be corrected, user can logging to the system. After successful logging message box show to inform logging success or not success as well. Also this interface shows the official logo of Poly Pipe Company in right side. Interface logo as well as exit, minimize and maximize buttons is being shown in the top of interface. Menu interface Figure 4.1.3: menu interface introduction This is the menu interface. This interface has seven buttons to use and all buttons were coded to deferent tasks. As well as other pages the interface icon and other functional buttons display in the top of interface. Respectively from left side to right side in the interface have database tabs. Such as, customer, supply, payments, installation, stores and workers. All these buttons is used to go manage information in Poly Pipe Company. Back button was included to go previous page and exit button was included to exit from whole system. 133 Customer interface Figure 4.1.4: customer interface introduction This is the customer interface. This interface can be used to record customer details. The receptionist is responsible to manage this interface and he or she can data insert, update, search or delete. Save button in this customer table can be used to insert data into company database. Delete button for delete data, update button to update data and search button can be used to search data. This search function is depended on primary key of the customer table. Supply interface Figure 4.1.5: Supply interface introduction 134 This is the supply interface. This interface can be used to record supply item details, cost and other details. The supply chain manager is responsible to manage this interface and he or she can data insert, update, search or delete. Save button in this supply table can be used to insert data into company database. Delete button for delete data, update button to update data and search button can be used to search data. This search function is depended on primary key of the supply table. Logistics management is very important to run company tasks and continue their day to day activities. So developer was identified it and reserved very large space to supply table and include not null functionalities for each text boxes. Payments Figure 4.1.6: payment interface introduction Payment table is being handling all the financial deals in this company. Also this is the table take money from customer as cash, cheque, credit or debit cards and credit foundations. This table can be manage each type of payments and monitory deals. Cashier is responsible to manage this table and he must record each deal into this table. As other tables, this payment table has interface icon, minimize button, maximize button and exit button as well. Save, update, delete, search and back button respectively work for insert data, update data, delete data, search and go to previous page. This interface has an additional function for calculate item prices and other services values behalf of additional calculator. This calculator has basic mathematical functions for adding, subtraction, multiplication and division. Bill number is the primary key of this table. 135 Installation Figure 4.1.7: installation interface introduction This is the installation table. Very basic and simple interface. This table can be used to record installation data. All installations in this company and the installation places are being recorded in this table general manager in this company is responsible to manage this interface. This table has five buttons as well as other tables. Insert, update, delete and search buttons work for manage data in this table. Stores Figure 4.1.8: store interface introduction 136 This is a store table. This table has six buttons such as, save, update, delete, back, search button 01and search button 02. This table has two search options because this table have two unique and not null details for use. If someone need to search with item ID who can be used Item’s ID to search, else someone can be used to search responsible person ID to search data in this store table. Save, update, delete and back button is worked to insert date, update data, delete data and go to previous page as well as other pages. In the left top corner has the interface icon and right top corner has minimize, maximize and exit buttons to use this interface more easily. Store keeper is responsible to manage this interface table. Worker 01 Figure 4.1.9: worker 01 interface introduction This interface is the largest interface in this system. Because this interface has many functions, text boxes, and buttons. So this interface has a second page for insert more data than other pages and it is very useful to record complete data set to database system. There are seven buttons in this interface such as, save, update, delete, back, next, search button 01 and search button 02. Not like other interfaces this interface has a special button as next also this button is used to go next worker interface as well. There are eleven text boxes has this interface to insert a complete data record into company database. Manager HR or other responsible person in this company is responsible to manage this interface table who is responsible about company workers. 137 Worker 02 Figure 4.1.10: workers 02 interface introduction This is a second work interface. This is used to extend worker’s data in work table. This table has inert, update, delete and back buttons for manage data. Insert button is needed to insert data, update button is used to update data, delete button can be used to delete data and back button is need to go previous page. Test results The software development company was fulfilled all user requirements by using system testing. Writer was displayed all test results roughly. So user can be taken an idea about system quality via this test results. Following table show which parts and sections were tested by the software company and what are the results of these testing. Table 4.1.1: Review of test results Testing Result Scalability Testing. Passed Reliability Testing. Passed Documentation Testing. Passed Security Testing. Passed Graphical User Interface Testing (GUI) Passed Stress Testing Passed 138 There are three testing rounds had been completed for this company system. So developer was completely recovered all vulnerabilities in this system. System documentation Letter had received from Poly Pipe Company to request a DB system Figure 4.2.1: user’s requesting letter 139 Reply from Software Development Company Figure 4.2.2: Reply from ABC Software Development Company After got the project approval developers were made user requirement documents for future purposes. First of that they were created an ER diagram for identified system and user requirements and according to finalized ER diagram, developers were created a logical database diagram. 140 Technical documentation ER diagram Figure 4.2.3: Entity Relationship diagram for poly pipe company database system This entity relationship diagram shows the entities, attributes and relationships in Poly Pipe Company. So writer was created this diagram according to user and system requirements.ER diagram is the starting point of this database development. After creating this ER diagram developers goes to the next step of system building. 141 Logical database diagram Figure 4.2.4: Logical database diagram This is the logical database diagram was created to build the database system. By using crowfoot method writer was created this logical diagram for future improvements of this database system. Also this diagram had been used to make other diagrams and tables in this system. 142 Class diagram for Poly Pipe Company DB system Figure 4.2.5: Class diagram This is the class diagram which shows the dependability and relationship very clearly. This diagram helps to get a clear and perfect idea about Poly Pipe Company tasks. So this diagram can be used to give for clients to future improvements and maintains. Because this diagram is helped to understand about the DB system. 143 Use case diagram between customer, receptionist and cashier Figure 4.2.6: Use case diagram between customer, receptionist and cashier This use case diagram shows the relationships of customer, receptionist and cashier. Also this shows their activities and tasks as well as the persons interdependence is showing the diagram. This diagram shows the action of these people and act as how they work in real time. After coming a customer into the company receptionist was welcomed him and try to recover his requirements or referred to another section. 144 Use case diagram between customer and worker Figure 4.2.7: Use case diagram between customer and worker This class diagram shows the relationship between worker and customer. After customer requesting a service through company, workers come to give their service to customer from company order. Workers also give their service directly to the customer but customer cannot directly request a worker for his work. He or she must request through Poly Pipe Company. Use case diagram between store keeper and worker Figure 4.2.8: Use case diagram between store keeper and worker This class diagram shows the interdependence of worker and store keeper. So the workers are needed to take item that they need for working. The items worker need which are releasing 145 from stores is the store keeper’s responsibility. Also he or she must be recorded the details about items that he or she released. Floor charts famous functions in the database system Floor chart for insert data Figure 4.2.9: floor chart for logging process This is the floor chart which shows the process of logging in this database system. So this diagram describe about that how logging process validating through security mechanisms. Also this table is presented the whole process. 146 Floor chart for update data Figure 4.2.10: floor chart for insert data into database system This is floor chart is shown what is the processes that happen on this inserting process. 147 Floor chart for delete data Figure 4.2.11: floor chart for update data into database system 148 Floor chart for search data Figure 4.2.12: floor chart for delete data from database system 149 Floor chart for search Figure 4.2.13: floor chart for search data from database system 150 Evaluate the database in terms of improvements needed to ensure the continued effectiveness of the system. Database improvement Database improvements can mean improving the design of the database, improving the performance of the database, and improving the security of the database. These improvements ensure that data is accurate, secure, and accessible and efficiently stored in order to reduce the cost of storage and access, and to reduce downtime. (Hatton, 2020) Importance of database improvements Improved data security and compliance Faster page loads Faster interactive applications User retention Reduced bounced rate Faster access to data for analysis Reduce database size Improved scalability How to improve our database system Improve the indexing strategies Steer clear of correlated sub queries and coding loops Keep certain files on separate disks Upgrade your hardware Know who has access Check your connection capacity Get smart about caching More quick tips for boosting database performance. Future improvements are very important for the database system to keep it updated. 151 Improved data security and compliance In present database systems or software have good security. Because the system has been made reliably with other operations. Such as operation system, processing software, virus guards and viruses. So this time this software cannot be harmful to our new data base system or software. Also it is being updated with relevant changers. But this system being older, which are endangered to treat. Because this is old but operation system is fresh, viruses are fresh and hardware are not supported to this system or software. So system builders or system developers have to think about this treat and they should be had a responsibility to protect their customer’s data. As a solution developers could have to do, Make updating system for released software Release new versions or updates for relevant with present time What are the things that user can do? Use proper virus protection Change username and password at least twice a year Update all software that they are using Scan all machines by using virus guard. Use secured internet connection Don’t share the secret things with others Anyone can be followed this instructions and guidelines to keep their company in a protected stage. So this steps are helped to protect company data and customer’s data in this company. Faster page loading This is the second thing that we can do for keep fresh our system after system building. In this point can be describe about the system speed. Also user need to keep a proper speed for his system like it was begin he have to clean the storage disks properly. So they can keep a plan before cleaning. After the clean-up user can be enjoy proper and good speed from user’s system. For doing this by, Delete unnecessary files in the system Delete unnecessary data about customer or company data Refresh the system alternatively 152 Faster and interactive applications Developers always try to give the best output for their customers. Good software, database system or as well as other applications are delivered to their customers by using the technology and most appropriate systems. For build most suitable system for customer satisfaction developer must be interacted to customer requirements as well. System updates This is the personal software was created to poly pipe company for their requesting. So the developer was developed this software for unique with user’s requirements. Also this system updates cannot be downloaded through online. So developer responsible to update this system as well as their needs. Developer was introduced a half annual plan to update this system to improve the system’s performances. Two times of the year, workers in developer’s company workers should need to go to Poly Pipe Company to update this system troubleshooting and supervise the maintaining. This process is helped to improve system performance and keep a system on the good level than other companies’ software. 153 Reference (n.d.). Retrieved from https://www.wizcase.com/download/visual-studio/ (n.d.). Retrieved from https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.holistics.io%2Finteg rations%2Fsql-server%2F&psig=AOvVaw2CFfp-UpVlAJprm19UONE&ust=1630141105738000&source=images&cd=vfe&ved=2ahUKE wjy4Mz96tDyAhWMnUsFHTlWBx8Qr4kDegUIARDNAQ Adepoju, F. (2021, 07 11). Circleci Blog. Retrieved from Database testing: https://circleci.com/blog/intro-db-testing/ Asenalt, C. (2017, 07 06). keycdn. Retrieved from how to improve database proformence: https://www.keycdn.com/blog/database-performance garwal, p. (2020, 12 28). geeks. Retrieved from normalization: https://www.geeksforgeeks.org/advantages-and-disadvantages-of-normalization/ Hamilton, T. (2021, 08 28). guru99. Retrieved from software testing : www.guru99.com Hatton, M. (2020, 04 07). nightingaleHQ. Retrieved from database mamagement: https://nightingalehq.ai/knowledgebase/glossary/what-are-database-improvements/ Informatica. (2021). Retrieved from Data validation: https://www.informatica.com/in/services-and-training/glossary-of-terms/datavalidation-definition.html OfficeTooles. (2015). Retrieved from Database Maintenance Explained : https://www.officetools.com/knowledgebase/database-maintenance-explained/ Orecle. (2021). Retrieved from Data base system: https://www.oracle.com/in/database/whatis-database/ PP.Pankaj. (2020, 10 06). Greek For Greek. Retrieved from defference of validation and varification: https://www.geeksforgeeks.org/differences-between-verification-andvalidation/ reqtest. (2017, 07 27). Retrieved from database testing: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&u act=8&ved=2ahUKEwjVvIfIpLyAhXUW3wKHfneAfcQFnoECCAQAw&url=https%3A%2F%2Freqtest.com%2Ft esting-blog%2Fdatabasetesting%2F&usg=AOvVaw0ABXcIKTB7VA7Ty4EMmKqz 154 Sarangam, A. (2020, 12 09). jigsow. Retrieved from data base security: https://www.jigsawacademy.com/blogs/cyber-security/database-security/ Springer Science. (2020). Retrieved from Query language: https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-39940-9_1090 telend. (2021). telend. Retrieved from data redundenecy: https://www.talend.com/resources/what-is-data-redundancy/ tend. (2021). Retrieved from https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&u act=8&ved=2ahUKEwic5rvzqP7yAhXQXSsKHRp3BrcQFnoECA4QAw&url=https %3A%2F%2Fwww.tandbergdata.com%2Fknowledge-base%2Findex.cfm%2Fwhatis-the-difference-between-a-full-differential-and-incr tutorialspoint. (2021). Retrieved from Database security: https://www.tutorialspoint.com/database_testing/database_testing_security.htm UkEssays. (2017, 07 21). Retrieved from Importance of database security: https://www.ukessays.com/essays/computer-science/importance-of-database-securitycomputer-science-essay.php 155 Conclusion 156 Gantt chart Figure: Gantt chart 157 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 Evaluate the effectiveness of the design in relation to user and system requirements. 158 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. 159 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. 160