COLA-070071 - Unit 04 - Database Design and Development
COLA-070071 - Unit 04 - Database Design and Development
Assessor Internal
Verifier
Unit 04: Database Design & Development
Unit(s)
Database Solution for Polly Pipe
Assignment title
Student’s name
List which assessment criteria Pass Merit Distinction
the Assessor has awarded.
1
Programme Leader
signature (if required) Date
2
Higher Nationals - Summative Assignment Feedback Form
Student Name/ID Chanaka Sandaruwan - COLA-070071
LO2 Develop a fully functional relational database system, based on an existing system design
Pass, Merit & Distinction P2 P3 M2 M3 D2
Descripts
* Please note that grade decisions are provisional. They are only confirmed once internal and external moderation has taken place and
grades decisions have been agreed at the assessment board.
Assignment Feedback
3
Formative Feedback: Assessor to Student
Action Plan
Summative feedback
Assessor Date
signature
Student Date
signature
4
Pearson Higher Nationals in
Computing
Unit 04: Database Design & Development
Assignment 01
General Guidelines
5
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.
1. The font size should be 12 point, and should be in the style of Time New Roman.
2. Use 1.5 line spacing. Left justify all paragraphs.
3. Ensure that all the headings are consistent in terms of the font size and font style.
4. Use footer function in the word processor to insert Your Name, Subject, Assignment No,
and Page Number on each page. This is useful if individual sheets become detached for any
reason.
5. Use word processing application spell check and grammar check function to help editing your
assignment.
Important Points:
1. It is strictly prohibited to use textboxes to add texts in the assignments, except for the
compulsory information. eg: Figures, tables of comparison etc. Adding text boxes in the body
except for the before mentioned compulsory information will result in rejection of your work.
2. Carefully check the hand in date and the instructions given in the assignment. Late
submissions will not be accepted.
3. Ensure that you give yourself enough time to complete the assignment by the due date.
4. Excuses of any nature will not be accepted for failure to hand in the work on time.
5. You must take responsibility for managing your own time effectively.
6. If you are unable to hand in your assignment on time and have valid reasons such as illness,
you may apply (in writing) for an extension.
7. Failure to achieve at least PASS criteria will result in a REFERRAL grade .
8. Non-submission of work without valid reasons will lead to an automatic RE FERRAL. You
will then be asked to complete an alternative assignment.
9. If you use other people’s work or ideas in your assignment, reference them properly using
HARVARD referencing system to avoid plagiarism. You have to provide both in-text
citation and a reference list.
10. If you are proven to be guilty of plagiarism or any academic misconduct, your grade could be
reduced to A REFERRAL or at worst you could be expelled from the course
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.
7
Higher National Diploma in Computing
Assignment Brief
Student Name /ID Number Chanaka Sandaruwan - COLA-070071
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.
9
Installation ID Installation Installation Customer Equipment Types of Staff Period of
Type Name and Required Staff
Address assignment
234 Freshwater Oak House, Lee A. sun 2 air pumps 1 x Carpenter From 1st
Tropical 17 Wroxton 200 gallons 1 x Aquatics September
Road, fish tank installer 2012
Hertfordshire 1 x standard 1 x Electrician
, H5 667 thermostat
654 Freshwater Bayliss Sally Dench2 air pumps 5 x Carpenters 1st June
Cold House, 200 gallons 1 x Installation 2005 – 1st
Orange fish tank Manager June 2011
Street, Kent, Large Gravel 1 x Aquatics
K7 988 Bag installer
2 x standard 1 x Plumber
thermostats 3 x Labourers
767 Marine Eaglestone Perry 2 x 200 10 x Carpenters From 30th
Castle, Vanderrune gallons fish 2 x Installation June 2012
Eaglestone, tanks Manager
Kent 500 Wood 1 x Aquatics
panels installer
1 x Plumber
3 x Labourers
943 Marine 23 Sackville Eric 2 air pumps No staff required
Street, Wilts. Mackintosh 200 gallons
W55 fish tank
1 x standard
thermostat
157 Freshwater Humbertson Perry 2 air pumps 1 x Aquatics 1st
Tropical Castle, Kent, Vanderrune 400 gallons installer September
K8 fish tank 2005 – 1st
3 x standard September
thermostat 2012
Activity 1
1.1Identify 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
10
identifiers (primary Key) of entities and cardinalities, participations of relationships. Convert
the ER Model into logical database design using relational database model including primary
keys foreign keys and referential Integrities. It should contain at least five interrelated tables.
Check whether the provided logical design is normalised. If not, normalize the database by
removing the anomalies.
(Note:-It is allowed to have your own assumptions and related attributes within the scope of the case study
given)
1.2. Design set of simple interfaces to input and output for the above scenario using
Wireframe or any interface-designing tool. Evaluate the effectiveness of the given design (ERD
and Logical design) in terms of the identified user and system requirements .
Activity 2
Activity 2.1
a. Develop a relational database system according to the ER diagram you have created
(Use SQL DDL statements). Provide evidence of the use of a suitable IDE to create a
simple interface to insert, update and delete data in the database. Implement proper
security mechanisms in the developed database.
Evaluate the database solution developed and its effectiveness with relevant to the
user and system requirements identified, system security mechanisms (EX: -User
groups, access permissions) and the maintenance of the database.
Activity 2.2
a. Explain the usage of DML with below mentioned queries by giving at least one single
example per each case from the developed database. Assess the usage of the below
SQL statements with the examples from the developed database to prove that the data
extracted through them are meaningful and relevant to the given scenario.
Select/ Where / Update / Between / In / Group by / Order by / Having
Activity 3
Activity 3.1
Provide a suitable test plan to test the system against user and system requirements. provide
relevant test cases for the database you have implemented. Assess how the selected test data
can be used to improve the effectiveness of testing.
Note:- Learner needs to give expected results in a tabular format and screenshots of the actual results with the
11
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
Grading Criteria Achieved Feedback
13
P2 Develop the database system with evidence of user
interface, output, and data validations, and querying across
multiple tables.
14
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
15
Assignment on Unit 04
DATABASE DESIGN AND
DEVELOPMENT
16
Acknowledgement
According to the assessment I have prepared this Assignment to design a database for
Polly Pipe water provider.
I would like to give my gratitude for Mrs. Indumini chanika for guidance and
knowledge which provided to complete this report successfully. Really appreciate it
and helped to improve the knowledge in database development side. And also, would
I like to thank to the Esoft lecture panel for providing the grate service as well.
Further I would like to be thankful for my friends, who helped me to complete this
successfully and sharing knowledge for my doubts which I faced while completing
this project.
17
Contents
Activity 1......................................................................................................................20
1.1 What is a Requirement?.........................................................................................20
1.1.2 Identify user requirements according to the scenario..........................................20
1.1.3 How can we define ER model / Diagram?..........................................................21
1.1.4 ER Diagram for Polly pipe..................................................................................22
1.1.5 Logical Database Design.....................................................................................23
1.1.7 The definition of data anomalies and normalization using examples.............24
First Normal Form (1NF).........................................................................................26
1.1.9 Normalization of the logical design....................................................................29
1.2.1 Evaluating the effectiveness of identified user and system requirement............32
Activity 2......................................................................................................................33
2.1 Developing the database using DDL statement.....................................................33
2.1.1 Data Validation Mechanism................................................................................36
2.1.2 Created interfaces to insert, update and delete data in the database using IDE. .39
2.1.3 How Security Mechanisms is implemented to the Database..............................54
2.2 Explain the usage of DML using example.............................................................57
3.1 The test plan to test the system against user and system requirements..................64
3.1.2 How this selected test data can be improving the effectiveness of testing.........68
Task4............................................................................................................................72
4.1The user guide for the developed database system.................................................72
4.1.2 The data movement of the system using class diagram and Use case Diagram. 79
4.1.3 Evaluating the database improvement to ensure the continued effectiveness of
the system.....................................................................................................................81
References....................................................................................................................84
18
Table of Figure
Figure 1 ER Diagram...................................................................................................23
Figure 2 Relational Database Design...........................................................................24
(Goel, 2019) Figure 3 Data Normalization steps.....................................26
Figure 4 First normal form...........................................................................................26
Figure 5 second normal form.......................................................................................28
Figure 6 Login page.....................................................................................................30
Figure 7 Welcome page................................................................................................30
Figure 8 Customer details form....................................................................................31
Figure 9 Installation details form.................................................................................31
Figure 10 Staff details form..........................................................................................31
Figure 11 Equipment details form................................................................................32
Figure 12 Facility details form.....................................................................................32
Figure 13 Create database statement............................................................................34
Figure 14 create customer table....................................................................................34
Figure 15 Create installation table................................................................................34
Figure 16 create staff table...........................................................................................35
Figure 17 create equipment table.................................................................................35
Figure 18 create facility table.......................................................................................35
Figure 19 Not null value...............................................................................................37
Figure 20 primary key value........................................................................................37
Figure 21 Foreign key..................................................................................................37
Figure 22 check constraint...........................................................................................38
Figure 23 Before using unique value...........................................................................38
Figure 24 After using unique value..............................................................................38
Figure 25 interface of customer form...........................................................................39
Figure 26 insert code of customer................................................................................39
Figure 27 Update code of customer.............................................................................40
Figure 28 Delete code of customer...............................................................................40
Figure 29 View customer details..................................................................................41
Figure 30 Search individual customer..........................................................................41
Figure 31 interface of installation form........................................................................42
Figure 32 Insert code of installation.............................................................................42
Figure 33 Update code of installation..........................................................................43
Figure 34 Delete code of installation...........................................................................43
Figure 35 View installation details...............................................................................44
Figure 36 Search installation for relevant customer.....................................................44
Figure 37 Interface of staff form..................................................................................45
Figure 38 insert code of staff........................................................................................45
Figure 39 Update of staff..............................................................................................46
Figure 40 Delete code of Staff.....................................................................................46
Figure 41 View Staff Details........................................................................................47
Figure 42 Search staff for relevant installation............................................................47
Figure 43 Interface of Equipment form........................................................................48
Figure 44 insert code of equipment..............................................................................48
Figure 45 update code of equipment............................................................................49
Figure 46 Delete code of equipment............................................................................49
19
Figure 47 View equipment details................................................................................50
Figure 48 Search equipment for relevant installation / facility...................................50
Figure 49 interface of facility form..............................................................................51
Figure 50 insert code of facility...................................................................................51
Figure 51 update code of facility..................................................................................52
Figure 52 Delete code of facility..................................................................................52
Figure 53 View facility details.....................................................................................53
Figure 54 search facility for relevant customer............................................................53
Figure 55 Windows Default authentication..................................................................54
Figure 56 SQL Authentication.....................................................................................55
Figure 57 Login with correct credentials.....................................................................56
Figure 58 Login will not except for incorrect credentials............................................56
Figure 59 Login Page Code..........................................................................................57
Figure 60 Group by statement......................................................................................60
Figure 61 Order by Statement......................................................................................61
Figure 62 Between Statement.......................................................................................61
Figure 63 Update Statement.........................................................................................62
Figure 64 Where Statement..........................................................................................62
Figure 65 Having Statement.........................................................................................62
Figure 66 IN Statement................................................................................................63
Figure 67 FeedBack Form............................................................................................71
Figure 68 Overall Summary of Feedbacks...................................................................71
Figure 69 USE CASE DIAGRAM...............................................................................79
Figure 70 Class Diagram..............................................................................................80
Tables
Table 1 Test Case 1 & 1.1 with inserting Valid and invalid data
Table 2 Test Case 2 & 2.2 with correct and incorrect data type
Table 3 Test case 3 & 3.1 with correct and incorrect search
Table 4 Test case 4 allows correct data input
20
Activity 1
System requirement - The configuration that a system must have in order for a
hardware or software program to perform smoothly and effectively is referred to as
system requirements. Failure to meet these standards may result in installation or
performance issues. (Tech Terms)
In order to realize these user necessities, it's vital that the system is meant fitly. The
system additionally incorporates a set of specifications or necessities to be met. So
that we have to create a system with familiar. We can create that system like this,
Logging interface for system
Customer required interface for mainly Create Update delete view and search
Interface for searching customer relevant details
Interface for facility details with giving access for searching
Interface for install equipment and type, edit and delete
22
An Attribute
In a database table, attributes describe the characteristics or properties of an entity. In
a database table, an entity is defined by a set of ‘fixed' attributes.
Composite Attribute
Attribute that contains of meaningful component parts
Derived Attribute
Derived attributes are attributes that don't exist in the physical database, but whose
values are derived from other database attributes. (tutorials Points)
23
Figure 1 ER Diagram
24
Figure 2 Relational Database Design
Insertion - When certain characteristics cannot be added into the database without the
presence of other attributes, this is known as an Insert Anomaly.
25
Before achieved a database using normalization, we have achieved set of rules called
by “forms”.
When we look at the above table it seems the database is looking good, but the
problems can begin when we are modifying the data. Let’s say if we want to change
“Prof.Gerge” phone number, we will need to edits 2 places. But someone has edit
only one place and forgot to edit the other place? The whole database will be going
wrong due to this matter
Table 01
Instructor ID
Instructor Name
Instructor Mobile number
Table 02
Course code
Course venue
Instructor ID
26
CS154 CS Auditorium 1
Now if we want to change or check any instructor number or any details, we can
check it looking up instructor table else if we want to update any details, we want
be able to update it twice because all instructors details are in table 1 and it’s not
duplicated.
Here the issue is in 1st raw, we can see there are 2 courses for Prof.George but this is
not the exact way that we make a table when we are using SQL Database.
The better method would be storing the courses separately because think if we want
to edit something related to CS101 we don’t want to touch the data corresponding to
CS154.
Below we are mentioned the correct way for data store.
If we are check the correct one clearly, we can see all details are unique information
without repetition.
27
Second normal form (2NF)
For a data table to be in a second normal form it’s have to follow 02 methods.
1. The table should be 1st formal form
2. The primary key of the table should compos of exactly 1 column.
The 1st point is always with contain first normal form because there should be only
multivalued attires attributes. In 2nd point says all primary key should contain
uniquely.
Primary key is a set of columns that uniquely unidentified in a row.
In here course code is the unique value so we can define as foreign key
28
In here we can see 02 columns where the values are not unique, because both rows
consist with same items.
Like this one case we can take as a primary key combining both 02 rows. Because
student cannot do the same course more than one.
29
1.1.9 Normalization of the logical design
As stated by the design, I have identified the unique primary keys for all the entities
among design
A primary key will explicitly identify all of the records and their relationships.
As a result, the relationships are still in their conventional form.
All the foreign key attributes rely functionally base on the primary keys and there are
no partial dependencies. So that, there are no any composite keys. All entities have
one column for primary key. Foreign keys are used to reticulate them with various
relationships.
30
1.1 The designed interfaces to input and output data
31
Figure 8 Customer details form
32
Figure 11 Equipment details form
According to the user and system requirement, this is more capable and easier for the
user to control the database system rather than maintaining a paper work.
These are the identified effective designs for the user and system requirement.
The system has been useful for the company to do their day-to-day work and
monitor the ongoing task daily.
33
This database system is user friendly, therefore it makes user convenient to
operate the system more accurately.
It is easy for the user to search the customer installation with use of the
customer the user can filter out the customer’s details from the installation
table.
It is easy for the user to add a new customer records according to the
requirement without writing paper documents in details.
As the Polly Pipe Water Sports Provider's database designer, I have built a new
database that matches to the user and system requirements that I created. I've added
Customer table, Installation table, Staff table, Equipment table and Facility table
as the main tables for this company's needs.
To design these tables I have used SQL server management to create the database.by
creating these table I developed the user interfaces through C# Coding in visual
studio. Therefore, this final system was manageable for the company and the user to
function the database.
Activity 2
34
Figure 13 Create database statement
35
Figure 16 create staff table
36
2.1.1 Data Validation Mechanism
Data validation is a most important when we are connecting with a SQL database.
Because we often doing some changes like create update delete and move the data in
database form here to there. In this case having a validate data is a must for the further
enhancement. By practicing simple data validation rule database are more consistence
and provide more value to their user. If not, we have to face lots of trouble like miss
place data or data incorrect. (Safe Software)
The above validation method help us to minimize the errors in the Database and they
have identify entered logically data accurately and sensible within the considered
limits. Also, SQL Constraints are use some rules to limit the error in input data.
Constraints can be divided in 02 parts
1. Column level constraints: Limits only column data .
2. Table level constraints: Limits whole table data.
There are constraints use for integrity of data maintain in the database.
NOT NULL
UNIQUE
PRIMARY KEY
FOREIGN KEY
CHECK
DEFAULT
37
NOT NULL Constraint
NOT NULL value used for restricts a column from having a NULL value. Once
apply this for column we cannot pass NULL value for that column. One important
thing is NOT NULL constraint cannot be defined at the table level.
Example:
In this example S_id flied of student table not taken NULL value. (StudytoNight)
PRIMARY KEY
The object is PRIMARY KEY uniquely identify a record. So, in here have no any
duplicate value. Also, the PRIMARY KEY value canot be Null.
Example
FOREIGN KEY
FOREIGN KEY used for data related tables for their relation. Also, this used for
restrict action that would destroy links between tables. (StudytoNight)
Example
38
In this table (Order Details) the primary key is Order_ID, C_ID Is the foreign key of
the customer details table. This constraint that only the values present in the c_id
column of the Customer Details is being entered to the Order Detail table and rejects
any incorrect value.
CHECK Constraint
This constraint used for the entered value for the Database are with recommended
range or not.
In here query will restrict the s_id value to be greater than zero.
UNIQUE
UNIQUE Constraint protect the file or column only have unique value. And here have
not duplicate data. This constraint can be applied at column level and table level.
In this example s_id field of the student table will only take unique values which are
not null.
After using UNIQUE the table look like this. (StudytoNight)
39
2.1.2 Created interfaces to insert, update and delete data in the
database using IDE
Interface of the customer table
40
Update code of customer
41
View customers
42
Interface for installation table
43
Update Code of installation
44
View installation
Search Installation
45
Interface for Staff
46
Update code of Staff
47
View Staff
Search Staff
48
Interface of Equipment
49
Update code of Equipment
50
View Equipment
Search Equipment
51
Interface of Facility Table
52
Update code of Facility
53
View code of Facility
Search Facility
54
Figure 54 search facility for relevant customer
55
Figure 55 Windows Default authentication
This is the way that we give access to the SQL server with using Windows
authentication
In addition, I have implemented the security mechanism for the interfaces. when
admin access to the system, as a result only the administrator has access to the
database. To gain access to the database and generated a Username and Password for
the authorized user.
56
Figure 57 Login with correct credentials
57
Figure 59 Login Page Code
Below we have shown some explanation of commands how they really work in
database.
58
Select (search)
This statement is really used to extract the information out of the database using
query.
SELECT < > FROM < >
Update
This statement is used to change the values in existing database
UPDATE < > SET < >=< > WHERE < >
59
Delete
This statement is used to delete the existing data records.
DELETE< > FROM < > WHERE < >
INSERT
Used when we register a new customer by entering full details into the database.
INSERT INTO < > (attribute…) VALUES (value 1….value n)
60
2.2.1 SQL statements with the examples from the developed database
Order by – this query use for the group of data in either ascending or descending
order-based on column. The query as follows.
ASC – the stands for ascending order (ex: A, B, C)
DESC -- stands for descending order (ex: C, B, A)
SELECT <attributes(s)> FROM <relation(s)> ORDER BY <attributes(s)>
ASC/DESC
61
Figure 61 Order by Statement
Between – this permit to specify the values are in the given range or not.
62
Update – This query statement helps to modify the set of records within the given
parameters, that we have define.
Where - used to impose a condition by which only the tuples with field that meet the
condition are selected.
SELECT <attribute(s)> FROM <relation(s)> WHERE<condition(s)>
Having – This similar to Where statement because of The HAVING clause was
added to SQL because the WHERE keyword could not be used with aggregate
functions.
63
Figure 65 Having Statement
Figure 66 IN Statement
64
3.1 The test plan to test the system against user and system
requirements
What is meant by a test plan?
Database testing is a sort of software testing that examines the database's schema,
tables, and triggers, among other things. It also verifies data consistency and integrity.
It might involve writing complicated queries to load/stress test the database and
ensure that it is responsive. (Techopedia)
According to the user and system which created, the testing part is the most important
one for the database developer, because every developer is accountable for what the
client actually wants, and before the database can be used, the developer must test the
system as well as perform user testing. Create a system-based feedback form to
collect opinions and suggestions from users which used by users whether the system
is familiar with the works or not. The most important thing is to provide a specific
guideline how to work with the system by using shortcuts and the interfaces which
was created by the developer, should be more confident about the work background.
Table 1 Test Case 1 & 1.1 with inserting Valid and invalid data
Test case 1
Description Inserting correct data
Excepted Result Query should be successfully after executed
Actual Result Query was executed successfully
Conclusion Database allows to inputs correct data
66
Test case 2
Description Updating the existing data record
Excepted Result Query should be successful after execution
Actual Result Query was executed successfully
Conclusion Database accept correct update data
67
Table 2 Test Case 2 & 2.2 with correct and incorrect data type
Test case 3
Description Searching data with existing tables
Excepted Result Query should be successful after execution
Actual Result Query was executed successfully
Conclusion Database accept correct searching data
68
Conclusion Database doesn’t accept incorrect search.
Table 3 Test case 3 & 3.1 with correct and incorrect search
Test case 4
Description Deleting data in existing tables
Excepted Result Query should be successful after execution
Actual Result Query was executed successfully
Conclusion Database allows correct input
69
3.1.2 How this selected test data can be improving the effectiveness
of testing.
According to the above test cases the main purpose of testing is to identify the
design, by creating the test cases we can identify the case using report issues. The
testing quality is inextricably linked to who looks, when, and where. Although it is
impossible to have a 100% bug-free application, integrating many teams in the
creation or assessment of user cases/acceptant tests allows QA to have a more
complete coverage. This does not imply that everyone should leave their jobs to
participate in testing. However, some critical individuals may offer value to the tests
but mostly we cannot identify the real issue of the system without any knowledge
about the actual environment in where the software operates.
The huge test cases for each and every system are most certainly a waste of money
and time. As a result, simple test cases will cover the entire system procedure while
getting feedbacks from some system developers that whether we can help to identify
the system is successful or what are the issues/bugs in the created system, so
improving QA members will be more accurate for the testing purpose to validate the
entire system.
By considering the above points we can find out the tips to improve our testing more
efficiency.
70
3.2 Feedback from the non-technical users and developers
Feedback Form
71
72
Figure 67 Feedback Form
Overall Feedback
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
satisfied Neutral Dissatisfied Yes No No idea Agree Neutral Disagree
According to the feedback observation I have identified the result of the technical
and non-technical users. As a result, in general there is a significant satisfaction
about the database. Even though there were some suggestions from the users to
improve the main database security, Therefore I was suggested to implement these
points.
73
There were some non-technical users where they have chosen the option as Neutral
because they don’t have the knowledge about the database effectiveness and client
requirements.
Therefore, I will go through further consultation should be done with the mentioned
suggestions.
Task4
Technical Documentation
Any document that explains the usage, functionality, creation, or architecture of a
product is considered technical documentation. Consider it a “how to” guide for your
users, new recruits, admins, and anybody else who needs to know how to utilize your
product. (Karnes, 2020)
The user guide of the created software is designed for Polly pipe water provider to
maintain their day-by-day work more easily, in order to work with the created system,
you need to follow these guidelines below to operate with this system.
74
and facility tables) based on Insert, Update, Delete, View and search, this helps to
understand the database for the user.
I have created the application using the database information, this system has been
designed for the user to communicate the database easily and it is also user-friendly.
This application will only accept the correct data type from the database. Therefore, if
the data inserted or updated with incorrect data type user should be aware on the data
type while working with the system, instead of using query languages I have used
English language because it the most preferable language for the user to understand.
The user should follow the above guidelines to operate the system, so that the user can
continue the work smoothly.
A backup of the database is required by default once a week and must be kept on an
external device.
Once a year, backup and compress the database, then clean the database on January
1st at 00:00 every year.
75
4.1.1 The process of using the system
When login to the system
Login page
Message Box
After login to the system with correct credentials, will receive a Welcome Page
76
From here you can select any category according to the requirement
Customer page
Installation Page
77
Message box shows when insert, update, delete, view and search data.
Staff Page
78
Message box shows when insert, update, delete, view and search data.
Equipment page
Message box shows when insert, update, delete, view and search data.
Facility Page
79
Message box shows when insert, update, delete, view and search data.
4.1.2 The data movement of the system using class diagram and Use
case Diagram.
80
Figure 69 USE CASE DIAGRAM
Class Diagram
81
Figure 70 Class Diagram
The database is known as a database is a collection of data that has been arranged to
make it easy to access, manage, and update. Data records or files holding
82
information about sales transactions or interactions with individual consumers are
often stored in computer databases. (ORACLE, n.d.)
Queries should be optimized – the main issue would be the poor SQL queries
performance, when attempting to optimize those queries, you'll face numerous
challenges, such as deciding whether to use IN or EXISTS. You can also speed up
SQL queries using query optimizers like EverSQL Query Optimizer, which will
both speed up the query and explain the recommendations, allowing you to learn for
the future.
Create optimal indexes - We can assist you in reducing query execution time and
improving overall database performance. Indexes achieve this by establishing a data
structure that helps keep things organized to track own the information easier. In
other words, indexing speeds up and improves the data retrieval process, saving you
(and your system) time and effort.
83
Defragmenting of the data - Data defragmentation is another option if you're
experiencing troubles with a slow database. Records are fragmented In MySQL's
internal data files and on the disk itself, the defragmentation of the disk will allow
the relevant data to be grouped together, resulting in quicker I/O operations, which
will have a direct influence on overall query and database performance.
Types of Disks - Depending on the quantity of data a query needs to access for
processing, fetching the results of a single query might need millions of i/o
operations from the disk. The kind of disks in your server can have a significant
influence on the performance of your SQL queries. Working with SSD disks may
increase the overall performance of your database, as well as the speed of SQL
queries.
Updating version of the database – some of the major factor is about the version of
the SQL query will may lead to the performance, it’s better to keeping your database
up to date with the latest version may have a major influence on overall database
performance. It's possible that a new version of MySQL will perform better than an
older version.
Data Security – This the most vital concept in the database, it allows the authorized
users to the access the database by identifying them from their own user’s name and
password, therefore there is no permission for this database for unauthorized users
under any circumstances. (EverSQL, 2018)
Finally, whether you choose one or more of these ways, you can be comfortable that
you will have plenty of options for enhancing the performance of your database. By
84
following above points the user can ensure the system's continuous usefulness and
the database can be improved.
85
References
(n.d.). Retrieved from Tech Terms:
https://techterms.com/definition/system_requirements
(n.d.). Retrieved from Software Engineering:
https://softwareengineering.stackexchange.com/questions/264113/what-is-
the-difference-between-user-requirements-and-system-requirements
(n.d.). Retrieved from GURU 99: https://www.guru99.com/er-modeling.html
(n.d.). Retrieved from https://hackr.io
(n.d.). Retrieved from tutorials Points:
https://www.tutorialspoint.com/dbms/er_model_basic_concepts.htm#:~:tex
t=Entities%20are%20represented%20by%20means,can%20be%20assigned
%20to%20attributes.
(n.d.). Retrieved from tutorials point:
https://www.tutorialspoint.com/dbms/database_normalization.htm
(n.d.). Retrieved from Techopedia:
https://www.techopedia.com/definition/1179/data-manipulation-language-
dml
(n.d.). Retrieved from ORACLE: https://www.oracle.com/in/database/what-is-
database/
(n.d.). Retrieved from Techopedia:
https://www.techopedia.com/definition/30546/test-plan
(n.d.). Retrieved from Java point: https://www.javatpoint.com/dbms-purpose-of-
normalization
(n.d.). Retrieved from Safe Software: https://www.safe.com/what-is/data-validation/
(n.d.). Retrieved from Data Operations: https://www.healthit.gov/playbook/pddq-
framework/data-operations/data-requirements-definition/#:~:text=Data
%20requirements%20definition%20establishes%20the,standard%20business
%20terms%20if%20available.
(n.d.). Retrieved from StudytoNight: https://www.studytonight.com/dbms/sql-
constraints.php#:~:text=SQL%20Constraints%20are%20rules
%20used,constraints%3A%20Limits%20whole%20table%20data.
(2015, Feb 12). Retrieved from Tech terms: https://techterms.com/definition/ddl
(2015, Feb 12). Retrieved from Tech Terms: https://techterms.com/definition/ddl
(2018, August 4). Retrieved from EverSQL: https://www.eversql.com/5-easy-ways-
to-improve-your-database-performance/
Goel, A. (2019, 08 30). hacker.io.
Karnes, K. (2020, February 18). Retrieved from https://clevertap.com/blog/technical-
documentation/
tutorialspoint. (2019). Retrieved from https://www.tutorialspoint.com
86