0% found this document useful (0 votes)
88 views89 pages

Sithum Database 2023

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
88 views89 pages

Sithum Database 2023

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 89

Higher Nationals

Internal verification of assessment decisions – BTEC (RQF)


INTERNAL VERIFICATION – ASSESSMENT DECISIONS
Programme title BTEC HND in Computing
Miss.Nalini Basnayake
Assessor Internal Verifier
Unit 04: Database Design & Development
Unit(s)
Database Solution for Polly Pipe
Assignment title
K.K.G. Sethum Damsavi Senarathna
Student’s name
List which assessment criteria Pass Merit Distinction
the Assessor has awarded.

INTERNAL VERIFIER CHECKLIST

Do the assessment criteria awarded match


those shown in the assignment brief? Y/N

Is the Pass/Merit/Distinction grade awarded


justified by the assessor’s comments on the Y/N
student work?
Has the work been assessed Y/N
accurately?
Is the feedback to the student:
Give details:
• Constructive? Y/N
• Linked to relevant assessment criteria? Y/N
Y/N
• Identifying opportunities for
improved performance?
Y/N
• Agreeing actions?
Does the assessment decision need Y/N
amending?

Assessor signature Date

Internal Verifier signature Date


Programme Leader signature (if required)
Date
Confirm action completed
Remedial action taken
Give details:

Assessor signature Date


Internal Verifier
signature Date
Programme Leader
signature (if required) Date
Higher Nationals - Summative Assignment Feedback Form
Student Name/ID
Unit 04: Database Design & Development
Unit Title
Assignment Number 1 Assessor
Date Received
Submission Date 1st submission
Date Received 2nd
Re-submission Date submission
Assessor Feedback:
LO1 Use an appropriate design tool to design a relational database system for a substantial problem
Pass, Merit & Distinction P1 M1 D1
Descripts

LO2 Develop a fully functional relational database system, based on an existing system design
Pass, Merit & Distinction P2 P3 M2 M3 D2
Descripts

LO3 Test the system against user and system requirements.


Pass, Merit & Distinction P4 M4 D2
Descripts

LO4 Produce technical and user documentation.


Pass, Merit & Distinction P5 M5 D3
Descripts

Grade: 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.

Assignment Feedback
Formative Feedback: Assessor to Student

Action Plan

Summative feedback

Feedback: Student to Assessor

Assessor Date
signature

Student Date
signature
Pearson Higher Nationals in
Computing
Unit 04: Database Design & Development
Assignment 01
General Guidelines

1. A Cover page or title page – You should always attach a title page to your assignment. Use
previous page as your cover sheet and make sure all the details are accurately filled.
2. Attach this brief as the first section of your assignment.
3. All the assignments should be prepared using a word processing software.
4. All the assignments should be printed on A4 sized papers. Use single side printing.
5. Allow 1” for top, bottom , right margins and 1.25” for the left margin of each page.

Word Processing Rules

1. The font size should be 12 point, and should be in the style of Time New Roman.
2. Use 1.5 line spacing. Left justify all paragraphs.
3. Ensure that all the headings are consistent in terms of the font size and font style.
4. Use footer function in the word processor to insert Your Name, Subject, Assignment No,
and Page Number on each page. This is useful if individual sheets become detached for any
reason.
5. Use word processing application spell check and grammar check function to help editing
your assignment.

Important Points:

1. It is strictly prohibited to use textboxes to add texts in the assignments, except for the
compulsory information. eg: Figures, tables of comparison etc. Adding text boxes in the body
except for the before mentioned compulsory information will result in rejection of your
work.
2. Carefully check the hand in date and the instructions given in the assignment. Late
submissions will not be accepted.
3. Ensure that you give yourself enough time to complete the assignment by the due date.
4. Excuses of any nature will not be accepted for failure to hand in the work on time.
5. You must take responsibility for managing your own time effectively.
6. If you are unable to hand in your assignment on time and have valid reasons such as illness,
you may apply (in writing) for an extension.
7. Failure to achieve at least PASS criteria will result in a REFERRAL grade .
8. Non-submission of work without valid reasons will lead to an automatic RE FERRAL. You will
then be asked to complete an alternative assignment.
9. If you use other people’s work or ideas in your assignment, reference them properly using
HARVARD referencing system to avoid plagiarism. You have to provide both in-text citation
and a reference list.
10. If you are proven to be guilty of plagiarism or any academic misconduct, your grade could be
reduced to A REFERRAL or at worst you could be expelled from the course
Student Declaration

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: Date:


(Provide E-mail ID) (Provide Submission Date)
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:
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 Name Type
SHA1 Dave Clark Plumber
SHA8 John Smith Installation Manager
SHA2 Freddy Davies Aquatics installer
SHA11 McCloud Aquatics installer
SHA23 Satpal Singh Plumber
SHA66 Winstn Kodogo Aquatics installer
SHA55 Alison Smith Brick Layer

Equipment Type Table


Type Equipment
Tanks 20 gallon tank, 50 gallon tank, 100 gallon
tank, 200 gallon tank
Thermostats Standard, Super
Air Pumps Standard, Super
Filters Air driven, Undergravel
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 Dench 2 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

Instillation Management Form

Activity 1
1.1. Identify the user and system requirements to design a database for the above scenario
and design a relational database system using conceptual design (ER Model) by including
identifiers (primary Key) of entities and cardinalities, participations of relationships.
Convert the ER Model into logical database design using relational database model
including primary keys foreign keys and referential Integrities. It should contain at least
five interrelated tables. Check whether the provided logical design is normalised. If not,
normalize the database by removing the anomalies.

(Note:-It is allowed to have your own assumptions and related attributes within the scope of the case study
given)

1.2. Design set of simple interfaces to input and output for the above scenario using
Wireframe or any interface-designing tool. Evaluate the effectiveness of the given design (ERD
and Logical design) in terms of the identified user and system requirements .

Activity 2
Activity 2.1
a. Develop a relational database system according to the ER diagram you have created
(Use SQL DDL statements). Provide evidence of the use of a suitable IDE to create a
simple interface to insert, update and delete data in the database. Implement proper
security mechanisms in the developed database.
Evaluate the database solution developed and its effectiveness with relevant to the
user and system requirements identified, system security mechanisms (EX: -User
groups, access permissions) and the maintenance of the database.
Activity 2.2
a. Explain the usage of DML with below mentioned queries by giving at least one single
example per each case from the developed database. Assess the usage of the below
SQL statements with the examples from the developed database to prove that the
data extracted through them are meaningful and relevant to the given scenario.
Select/ Where / Update / Between / In / Group by / Order by / Having

Activity 3
Activity 3.1
Provide a suitable test plan to test the system against user and system requirements. provide
relevant test cases for the database you have implemented. Assess how the selected test
data can be used to improve the effectiveness of testing.
Note:- Learner needs to give expected results in a tabular format and screenshots of the actual results with
the conclusion

Activity 3.2
Get independent feedback on your database solution from the non-technical users and some
developers (use surveys, questioners, interviews or any other feedback collecting method)
and make recommendations and suggestions for improvements in a separate
conclusion/recommendations section.

Activity 4

Produce a technical documentation and a user guide for the developed database system.
Suitable diagrams diagrams (Use case diagram, class diagram, flow charts, DFD level 0 and 1)
should be included in the technical documentation to show data movement in the system.
Assess the developed database by suggesting future enhancements to ensure the
effectiveness of the system.
Grading Criteria 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.

LO2 Develop a fully functional relational database system,


based on an existing system design
P2 Develop the database system with evidence of user
interface, output, and data validations, and querying across
multiple tables.

P3 Implement a query language into the relational database


system

M2 Implement a fully functional database system that


includes system security and database maintenance.

M3 Assess whether meaningful data has been extracted using


query tools to produce appropriate management information.

LO3 Test the systems against user and system requirements


P4 Test the system against user and system requirements.

M4 Assess the effectiveness of the testing, including an


explanation of the choice of test data used.
LO2 & LO3
D2 Evaluate the effectiveness of the database solution in
relation to user and system requirements, and suggest
improvements.
LO4 Produce technical and user documentation

P5 Produce technical and user documentation.

M5 Produce technical and user documentation for a fully


functional system, including diagrams showing movement of
data through the system, and flowcharts describing how the
system works.

D3 Evaluate the database in terms of improvements


needed to ensure the continued effectiveness of the
system.
Acknowledgment
In a spirit of utmost gratitude, the Author wishes to extend sincere
appreciation to Miss. Nalini Basnayake for her invaluable guidance, unwavering
encouragement, supervision, and insightful advice throughout the creation of this assignment.
The Author experienced a continuous source of support and motivation from Miss.
Basnayake as they collaborated towards the Author's academic goals.
In a world where change happens in the blink of an eye,
the task of putting thoughts onto paper, especially in the ever-evolving realm of technology,
is no small feat. Therefore, the Author expresses heartfelt thanks to all the esteemed authors
whose wisdom and guidance have played a pivotal role in shaping this assignment.
The Author's deepest gratitude extends to
their parents, who not only provided the opportunity to pursue numerous courses in
information technology but also generously supplied the necessary resources for the Author's
studies and projects.
Above all, the Author acknowledges with immense appreciation the collective efforts
of all those who contributed to the completion of this assignment.
Contents
Acknowledgment.................................................................................................................................16
List of figures......................................................................................................................................18
List of tables........................................................................................................................................19
Activity 1............................................................................................................................21
User Requirement...........................................................................................................21
System Requirement.......................................................................................................22
Entity Relationship Diagram (ERD)...............................................................................25
Logical Database Diagram............................................................................................. 28
Data Integrity..................................................................................................................28
Data Validation...............................................................................................................29
Database Normalization................................................................................................. 31
Activity 2............................................................................................................................41
SQL Commands............................................................................................................. 41
Database Security........................................................................................................... 51
Database Maintenance Schedule.....................................................................................55
Activity 3............................................................................................................................64
Test Cases.......................................................................................................................64
Database test case...........................................................................................................64
Activity 4............................................................................................................................79
User Manual................................................................................................................... 79
Data Flow Diagram for the main functions of Pollypipe system....................................85
List of figures
Figure 1 Entity Relationship Diagram..................................................................................... 27
Figure 2 Database Diagram.................................................................................................... 28
Figure 3 Data Type Check.......................................................................................................30
Figure 4 Format Check............................................................................................................30
Figure 5 Login Form................................................................................................................37
Figure 6 Main Menu Form......................................................................................................37
Figure 7 Installation Form.......................................................................................................38
Figure 8 Staff Form................................................................................................................. 39
Figure 9 Customer Form.........................................................................................................39
Figure 10 Equipment Form.....................................................................................................40
Figure 11 Login Table..............................................................................................................42
Figure 12 Customer Table.......................................................................................................43
Figure 13 Installation Table.................................................................................................... 44
Figure 14 Staff Table...............................................................................................................44
Figure 15 Equipment Table.....................................................................................................45
Figure 16 Insert.......................................................................................................................46
Figure 17 Update.................................................................................................................... 48
Figure 18 Delete..................................................................................................................... 50
Figure 19 Access control.........................................................................................................54
Figure 20 Encryption...............................................................................................................55
Figure 21 Insert.......................................................................................................................57
Figure 22 Update.................................................................................................................... 58
Figure 23 Select...................................................................................................................... 58
Figure 24 Delete..................................................................................................................... 59
Figure 25 Between..................................................................................................................60
Figure 26 Group By.................................................................................................................60
Figure 27 In.............................................................................................................................61
Figure 28 Order by..................................................................................................................62
Figure 29 Where.....................................................................................................................62
Figure 30 Customer Table Test Case.......................................................................................67
Figure 31 Staff Table Test Case...............................................................................................69
Figure 32 Installation Table test case.....................................................................................71
Figure 33 Equipment Table Test Case.....................................................................................73
Figure 34 feedback................................................................................................................. 76
Figure 35 Feedback response.................................................................................................77
Figure 36 Feedback response 2.............................................................................................78
Figure 37 Step 1 – Login......................................................................................................... 79
Figure 38 Step 1 – Login......................................................................................................... 80
Figure 39 Customer................................................................................................................ 81
Figure 40 Staff........................................................................................................................ 82
Figure 41 Equipment.............................................................................................................. 84
Figure 42 System Login...........................................................................................................85
Figure 43 Register New Record.............................................................................................. 86
Figure 44 Update Record........................................................................................................87
Figure 45 Delete Record.........................................................................................................88

List of tables

Table 1 system requirements.................................................................................................22


Table 2 examples of the 1st, 2nd, and 3rd normal forms.......................................................33
Table 3 1NF (First Normal Form)............................................................................................ 34
Table 4 2NF (Second Normal Form)........................................................................................34
Table 5 3NF (Third Normal Form)...........................................................................................35
Table 6 Database Maintenance Schedule...............................................................................56
Table 7 Database test case.....................................................................................................64
Table 8 Staff Table Test Plan...................................................................................................65
Table 9 Installation Table Test Plan........................................................................................65
Table 10 Equipment Table Test Plan...................................................................................... 66
Activity 1
User Requirement
User requirements encompass a set of criteria provided by clients or users to develop
software. These requirements are typically conveyed in a straightforward narrative within a
User Requirement Document (URD). This document aids system developers in
understanding and implementing the system based on the specified user needs. (anji, 2020)

For the Polly Pipe Aquarium Database System, the user requirements include the ability to
Add, Update, and Delete Customer, Employee, Equipment, and Installation Details. Specific
details to be included for each category are outlined as follows:

Customer Details:
- Customer Name
- Customer Address
- Mobile Number

Employee Details:
- Employee Name
- Telephone Number
- Address
- Date of Birth
- Employee Type

Equipment Details:
- Equipment Name
- Equipment Type
- Equipment Description

Installation Details:
- Installation Type
- Staff Assigned Period
- Installation Time
- Installation Address

These requirements serve as a comprehensive guide for the development of the Polly Pipe
Aquarium Database System, ensuring that it aligns with the expectations and needs of the
users.
System Requirement
The specification that a system must have for a piece of hardware or software to function
properly is known as the system requirements. Installation or performance issues may arise
in the system if these conditions are not met. The Installation problem may block the
installation of a system or application, whereas the performance may cause a product to
malfunction, perform inadequately, hang, or crash. Clients are often provided with these by
system developers and software development companies as part of the product. (Anon.,
2015)

Software requirements describe the system's functional and non-functional requirements


that specify the system's software components. (John, 2012)

For the Database system to operate, the following system requirements must be met on the
device.

Table 1 system requirements

Operating System: Windows 10 or 11


Processor Minimum i3 Processor or i5 Processor must be
installed.
Hard disk 500GB

RAM 4.00 GB or Above

System type 64-bit operating system, x64-based processor

SQL Server must be installed to run the Polly Pipe Aquarium Database System.

Functional Requirement

A Functional Requirement (FR) is a specification of the service that the


program must provide. It defines a software system or a component of one. A function is
nothing more than a software system's inputs, actions, and outputs. It might be computation,
data manipulation, business process, user interaction, or any other unique feature that
determines what function a system is likely to accomplish. When it comes to a database
system the functional requirements should relate to the tasks that the database system will
perform, which are typically searching and sorting (query). Functional requirements can also
contain information about the data to be stored in the database. (Martin, 2014)

Non-Functional Requirement
Non-functional requirements encompass a set of specifications detailing the operational
capabilities and limitations of the system. These specifications are designed to enhance the
system's functionality in areas such as security, reliability, performance, maintainability,
scalability, and usability.

Entities
An entity is essentially a discernible real-world "object" that has existence. It should not be
classified as an "entity" until it is distinctly distinguishable from all other objects in the real
world. In the context of information, an entity within a database system is limited to the
specific "thing" or "object" for which data is stored or retrieved. Examples of entities
include an individual person, a singular product, or a specific organization.(AltexSoft,
2022)

Entities are classified into two types:

1. Strong Entity:

- A strong entity is capable of existing independently without relying on another


element for its existence.

2. Weak Entity:

- A weak entity, on the other hand, relies on another entity within the database for
its existence and cannot stand alone.

Attributes
Attributes refer to the characteristics or properties of an entity that are
represented in a highly informative table. In a data table, an entity is defined by a set of
fixed traits. For instance, creating a student entity involves specifying attributes such as roll
number, name, and course. The values assigned to these attributes for each student entity
provide validation and detail within the table.

Here's a breakdown of the types of attributes:

1. Simple Attribute:

- A simple attribute cannot be further broken down into smaller, more relevant
components for the database.
2. Composite Attribute:

- Composite attributes are qualities that depend on another attribute and are
subdivided into smaller attributes.

3. Multi-Valued Attribute:

- A multi-valued attribute can have more than one value for a particular entity.

4. Single Value Attribute:

- A single-value attribute accepts only one value for an entity.

5. Stored Attribute:

- A stored attribute is an attribute value that can be saved in a database.

6. Derived Attribute:

- A derived attribute can calculate its value based on the value of a stored attribute.

Relationship
Indeed, relationships in a database can be categorized into three types:

1. One-to-One Relationship:
- This type of connection links a record in one entity to exactly one record in another
entity. For instance, the relationship between employees and the cars they drive, where each
employee has one car for travel.

2. One-to-Many Relationship:
- In a one-to-many relationship, a record in one entity is linked to another entity that can
have multiple records. Take the example of a person and their mobile numbers; a person can
have multiple mobile numbers, but a mobile number is not shared with another person.

3. Many-to-Many Relationship:
- This connection occurs when multiple records in one entity are associated with a set of
multiple records in another entity. For example, consider the relationship between students
and course enrollment, where a student can enroll in multiple courses, and a course can have
multiple students.
Entities and Attributes for Polly Pipe Aquarium Database.
Customer – Entity

 Customer ID - Attribute
 Customer Name - Attribute
 Customer Address - Attribute
 Mobile Number - Attribute

Employee – Entity

 Employee ID - Attribute
 Employee Name - Attribute
 Telephone Number - Attribute
 Address - Attribute
 Date of Birth - Attribute
 Employee Type - Attribute

Equipment – Entity

 Equipment No - Attribute
 Equipment Name - Attribute
 Equipment Type - Attribute
 Equipment Description - Attribute

Installation – Entity

 Installation No - Attribute
 Installation Type - Attribute
 Staff Assigned Period - Attribute
 Installation Time - Attribute
 Installation Address - Attribute
 Equipment required - Attribute
 No of Employees required – Attribute

Entity Relationship Diagram (ERD)


An Entity Relationship Diagram (ER Diagram) is a visual depiction of related
entities or groups of similar interest. It employs a range of symbols of different shapes and
sizes to construct a structure, acting as a model to represent the internal arrangement and
connections. (LucidChart, 2017)
Entity Relationship Diagrams find frequent application in the following scenarios:

1. ER Models in Database Design:

- ER Diagrams are designed to comprehend information tables and their interconnections.


They are also employed in troubleshooting information-related issues within a database.

2. ER Diagrams in Software Engineering:

- In software engineering, ER diagrams are commonly utilized during the design phases of
a software system project. They serve as a standard tool to identify various system
components and their interactions with one another.

Entity Relationship Diagram for Polly Pipe Aquarium.

As a system developer, I employed the draw.io application to create essential


diagrams, including the logical Database diagram needed for the development of the Polypipe
Aquarium Database system. The diagram, constructed using entities, various types of
attributes, and relationships, serves as a crucial tool for comprehending and building the
system effectively.
Figure 1 Entity Relationship Diagram
Logical Database Diagram

Figure 2 Database Diagram

Data Integrity
Certainly, data integrity is a critical aspect involving accuracy, validity, consistency, and
security, especially in legal contexts. It is achieved through a set of procedures,
guidelines, and standards implemented during the system's design phase.

Types of Data Integrity:

1. Entity Integrity:

- In relational databases, professionals establish a primary key for each set of data to
distinguish it from others. This practice prevents null values and data duplication,
ensuring the uniqueness and identification of each dataset.

2. Referential Integrity:
- Referential integrity involves implementing rules into a database's architecture
regarding the use of foreign keys. This ensures a consistent and effective linkage of data
sets across the database, enabling reliable saving and retrieval of data.

3. Domain Integrity:

- Domain integrity encompasses procedures that guarantee the accuracy of data values
within a column. This involves restrictions on data type, format, and quantity, ensuring
that data adheres to specified protocols.

Data validation is also integral to maintaining data integrity, ensuring that data meets
predefined standards and criteria.

Data Validation
Data validation is the procedure of verifying the accuracy and quality of data. This
involves incorporating various checks into a system or report to ensure that both input and
stored data maintain logical consistency. In automated systems, data is often input with
minimal human monitoring. Therefore, ensuring the validity of the data entered into the
system is crucial to meet specified requirements and maintain overall data integrity.

Various forms of data validation exist, and some are outlined below.

Data Type Check

A data type check verifies that the inputted information corresponds to the
correct data type. For instance, consider a field designed to accept only numeric values. In
such a scenario, the system should disallow any data containing extraneous characters,
such as letters or special symbols. The image below illustrates the implementation of a
data type check in data validation for a non-integer value along with an accompanying
error message.
Figure 3 Data Type Check

Format Check

Numerous data types adhere to specific formats. For example, date columns
often follow a predetermined format, such as "YYYY-MM-DD" or "DD-MM-YYYY."
Implementing a data validation method to verify the correct formatting of dates contributes
to maintaining uniformity across data and time. The image below illustrates a format check
applied to the date data type in the staff table, accompanied by a corresponding message.

Figure 4 Format Check

Consistency Check

A consistency check is a logical examination ensuring that data is inputted in a technically


coherent manner.
Uniqueness Check

Certain data, like IDs or email addresses, inherently possess uniqueness.


Fields in a database designated for such information should ideally only contain distinct
entries. This form of data validation check ensures that an item is not inserted into a
database more than once.

Database Normalization

Database Normalization is the process of organizing the structure of a database


to decrease or eliminate data duplication. This method aims to address issues related to data
redundancy, which can lead to challenges in insertion, deletion, and updating operations. By
adhering to normalization principles, data redundancy is reduced, contributing to a more
efficient database design.

Data Anomalies:
Data anomalies are problems that arise in a poorly managed, non-normalized database due
to data redundancy. Three types of data anomalies include:

Insert Anomaly:
An insertion anomaly occurs when it is impossible to add data to the database due to the
absence of other required data.

Update Anomaly:
An update anomaly results from data inconsistency caused by redundancy and incomplete
updating.

Delete Anomaly:
A deletion anomaly involves unintended data loss due to the deletion of other related data.
Purposes of Database Normalization

Normalization is applied for two main reasons:

Avoidance of Data Redundancy:


Redundant information, repeated multiple times in a table, can unnecessarily increase the
size of the database.

Ensuring Functional Dependency:


Normalization ensures that functional dependencies exist, reducing inconsistency problems
in the database.

Normalization Rules:
Six normalization rules are commonly used:

✓ 1NF (First Normal Form):


Every table cell should have a single value.
Each record needs to be unique.

✓ 2NF (Second Normal Form):


Should be in 1NF.
Should have a single-column primary key not functionally reliant on any subset of candidate
key relations.

✓ 3NF (Third Normal Form):


Should be in 2NF.
Should have no transitive functional dependencies.

✓ BCNF (Boyce-Codd Normal Form):


Addresses anomalies even when a database is in 3rd Normal Form.
Sometimes referred to as the 3.5 Normal Form.
✓ 4NF (Fourth Normal Form):
Exists when no database table instance has two or more independent and multivalued data
characterizing the relevant entity.

✓ 5NF (Fifth Normal Form):


Only applicable if a table is in 4th normal form and cannot be deconstructed into smaller
tables without data loss.

✓ 6NF (Sixth Normal Form):


Not standardized but has been discussed by database experts.

The tables below provide examples of the 1st, 2nd, and 3rd normal forms, showcasing the
application of these normalization principles.

Table 2 examples of the 1st, 2nd, and 3rd normal forms.

ID Name Contact Courses Branch


Number
001 Sharma 0778845423 Diploma in IT, Colombo
HND in Computing
002 Safran 0777996609 HND in Tourism & Colombo
Hospitality
003 Azeez 0758418283 Diploma in BM, Negombo
HND in BM
004 Hamdhan 0777724405 BeEng (Top-up) in Ja-Ela
Software Engineering
The below normal forms were created based on the data given in the above table.

Table 3 1NF (First Normal Form)

ID Name Contact Courses Branch


Number
001 Sharma 0778845423 Diploma in IT Colombo
001 Sharma 0778845423 HND in Computing Colombo
002 Safran 0777996609 HND in Tourism & Colombo
Hospitality
003 Azeez 0758418283 Diploma in BM Negombo
003 Azeez 0758418283 HND in BM Negombo
004 Hamdhan 0777724405 BeEng (Top-up) in Ja-Ela
Software Engineering

Table 4 2NF (Second Normal Form)

ID Name Contact Number Branch


001 Sharma 0778845423 Colombo
002 Safran 0777996609 Colombo
003 Azeez 0758418283 Negombo
004 Hamdhan 0777724405 Ja-Ela

ID Courses
001 Diploma in IT
001 HND in Computing
002 HND in Tourism &
Hospitality
003 Diploma in BM
003 HND in BM
004 BeEng (Top-up) in
Software Engineering
Table 5 3NF (Third Normal Form)

ID Name Contact Branch ID


Number
001 Sharma 0778845423 Colombo

002 Safran 0777996609 Colombo

003 Azeez 0758418283 Negombo

004 Hamdhan 0777724405 Ja-Ela

Branch ID Branch
1 Colombo
2 Negombo
3 Ja-Ela

ID Courses
001 Diploma in IT
001 HND in Computing
002 HND in Tourism &
Hospitality
003 Diploma in BM
003 HND in BM
004 BeEng (Top-up) in
Software Engineering
Primary Key
A primary key is a singular column value utilized to uniquely identify each row within a
table. Key characteristics include:

 The data in the specified column is always unique.


 Each database table can have only one primary key.
 It serves to identify each record in a relational database table.
 Removal of a primary key value from the database table is not allowed.
 Null values are not accepted in a primary key column.

Composite Key
A composite key is formed by combining two or more columns in a table to uniquely identify
each row. Key characteristics of a composite key are:

 It comprises two or more attributes, often represented by multiple columns.


 Data in different columns may vary.
 The composite key is established when more than one column is employed to identify
every row in the database.

Foreign Key
Foreign keys are columns that establish connections between two or more tables, typically
representing primary keys of another table.

User Interface Design for Polly Pipe Aquarium System


I developed the interface design for the Polly Pipe system using Visual Studio 2017,
establishing a link with the SQL server to enable users to easily run the Polly Pipe database
system. Notable features include:

Login Form
This form is utilized for user login, where correct input of the username and password leads
to the display of the Main Menu.
Figure 5 Login Form

Main Menu Form


After logging into the system, users are greeted with the Main Menu form, offering five
options for accessing specific pages: Cu, Staff, Installation, and Equipment.

Figure 6 Main Menu Form


Installation Form
Designed for recording installation data, this form incorporates radio buttons as a
user-friendly feature, providing convenience for users to record or edit records through this
interface.

Figure 7 Installation Form

Staff Form
This form serves the purpose of documenting personnel details for Polly Pipe
Company. Each employee is assigned a unique ID number, and their information can be
efficiently retrieved by entering the ID in the "Employee No" field. This form simplifies the
task of maintaining employee records and facilitates the allocation of tasks based on
relevant installations. The database is regularly updated to reflect changes, such as staff
resignations and new hires. In instances of issues related to employee attendance or other
personnel matters, this record proves instrumental in monitoring and managing employee-
related concerns.
Figure 8 Staff Form

Customer Form

This Customer Menu within the Polly Pipe system prominently features
options for registering, updating, and deleting customer information. The menu is
specifically designed for entering customer details into the system. Given the large-scale
nature of Polly Pipe's business organization, maintaining comprehensive customer data is
crucial. In the event of any issues or concerns raised by customers regarding services,
having readily available customer records significantly enhances the efficiency of resolution
processes.

Figure 9 Customer Form


Equipment Form

This interface facilitates the easy editing of Polypipe company's equipment records by
administrators. It proves highly convenient for updating the installation menu as
administrators can utilize the equipment records stored in the database through the
equipment menu interface.

Figure 10 Equipment Form


Activity 2

SQL Commands
SQL, which stands for Structured Query Language, comprises commands that serve as
instructions to interact with databases, enabling operations, functions, and data queries. SQL
commands are versatile and can be employed for various tasks, including searching the
database, creating tables, adding or modifying data, and deleting tables.

There are five categories of SQL statements:

Data Definition Language (DDL)


DDL commands are utilized to create, manipulate, and modify objects in databases and
tables.

 Create: Used for creating databases and tables.


 Alter: Used to modify databases.
 Drop: Used to remove or delete databases and tables.

Data Manipulation Language (DML)


DML commands enable users to manipulate data within a database.

 Insert: Used to insert data into a database record.


 Select: Used to retrieve data from the database record.
 Delete: Used to remove data from the database record.
 Update: Used to modify or update data within the database record.

For creating the Polly Pipe database system, the primary SQL commands employed are
DDL and DML.
Data Control Language (DCL):
DCL commands deal with the control of access to data.

Transaction Control Language (TCS):


TCS commands manage transactions in a database.

Session Control Statement (SCS):


SCS commands control aspects related to sessions.

To create the Polypipe database system, Microsoft SQL Server Management Studio version
18.12.1 was used. Below are the pieces of evidence, comprising queries, employed in
creating the database system. (Note: The specific queries are not provided in your message;
if you have queries to discuss or need assistance with, please provide them.)

Login Table

Figure 11 Login Table


The queries utilized to construct the login table, as depicted in the above image,
are crucial for ensuring secure access to the system. To log in, users must enter the specified
username and password, and any incorrect input will result in unsuccessful login attempts.
Notably, only the administrator has the authorization to add or modify passwords and
usernames in the database, underscoring the system's robust security measures.

Customer Table

Figure 12 Customer Table

I utilized queries to input four values into the customer table, representing
previous customers associated with Polypipe. The screenshot below displays the queries
along with the customer details encompassing four columns in the customer database. The
system application provides users with the capability to modify existing customer data or
append new data to the database.
Installation Table

Figure 13 Installation Table

As depicted above, the installation table comprises 5 columns for installation-


related information, with 5 rows containing filled values. The intention is to continually
update the installation table with additional values as more customers request installation
services.

Staff Table

Figure 14 Staff Table


Polypipe presently has a workforce of seven individuals, and their respective information has
been incorporated into the staff table. With these comprehensive employee details stored in
the database, the company can efficiently allocate these staff members to installations as
required and contact them as needed. The existence of thorough employee records in the
database positions the corporation to potentially address many issues that may arise due to a
lack of such records. Additionally, the system allows users to register or remove employee
information, facilitating updates in the event of employee resignations or new hires.

Equipment Table

Figure 15 Equipment Table

Four sets of equipment data have been incorporated, and the company can
easily identify and manage equipment using the unique equipment ID provided in the
equipment table. This table facilitates the efficient allocation of required equipment for
installations within the company.
Evidence of the use of a suitable IDE to create a simple interface to insert,
update and delete data in the database.

Insert

I employed the registration button within the Pollypipe system's graphical user
interface (GUI) to enter information into the database. The evidence of successfully

adding data to the customer table is displayed beneath.

Figure 16 Insert
As depicted in the image above, I have successfully registered a new customer. The
subsequent picture illustrates the registered customer data displayed in the data grid
view.
The following image displays the C# code associated with the register button, along with
the corresponding SQL query that is utilized.
The

SQL SQL statement utilized in Visual Studio to perform an insertion operation using Data
Manipulation Language (DML)

Update

I utilized the update button within the Pollypipe system's graphical user
interface (GUI) to modify pre-existing data in a table. The confirmation of the
update on the customer table is visible below. The specific column updated is
the "Mobile Number-466378" column for "Customer No-14," and it has been
changed to "Mobile Number-4663985.

The form below shows the Updated value of the customer table.

Figure 17 Update
The following images depict the C# code associated with the update button, along with the
corresponding SQL update query.

SQL DML query for Update.

Delete
I employed the Delete button within the Pollypipe system's graphical user interface (GUI) to
remove the customer data row from the customer table with the identifier "Customer No-14."
The confirmation of this deletion is presented below.

Figure 18 Delete
The Picture below shows that there is no Customer data for Customer No- “14” in the Data
grid view of Customer GUI.
The following image displays the C# code associated with the Delete button in the Customer

GUI, along with the corresponding SQL DELETE query.

SQL DML query for Delete.

Database Security

Security measures for database management systems encompass safeguards applied to


protect the database, its contents, and the associated applications from unauthorized access
and cyber threats. Database security is essential for safeguarding organizational information
stored within databases. Various methods can be employed to implement effective database
security:

Setting up Security Controls:


Most database management solutions offer unique security assurance and monitoring
mechanisms. Developers need to adjust settings based on the organization's security
preferences to enhance protection.

DBMS Configuration:
Configuring the database management system involves customizing both the system and the
database server. This allows control over the database server's operation and functionality.
Organized data structures, permissions, and access controls contribute to effective database
security.

Authentication:
Authentication is the process of verifying whether a user attempting to log into a system has
the necessary permissions. Implementing robust authentication measures is crucial for
controlling access to the database and ensuring only authorized users can interact with it.

Constant Database Auditing:


Continuous monitoring and auditing of database security help identify security
vulnerabilities in real-time. This proactive approach reduces the severity of potential
breaches and facilitates the detection of suspicious patterns or activities.

Backups:
A secure database should incorporate a well-audited method for creating and managing
backups. Having reliable backups is crucial in mitigating the impact of data loss or theft,
ensuring that even if data is compromised, a backup is available for recovery.

Encryption:
Employing file encryption adds an extra layer of protection by rendering the contents of the
file unreadable to unauthorized individuals. In the event of data theft, encrypted files
provide an additional barrier, preventing unauthorized access even if the files are
compromised.

Here are some main database security threats that many companies face.

Insider threats
The most fundamental database threat is also the most challenging to predict – insider
threats. Individuals with authorized access to the database and its settings can compromise
data integrity in various ways. The following are types of insider threats:

Malicious Intent:

Occurs when someone with official access to the database intentionally steals,
leaks, or deletes information. This could be a disgruntled employee or an authorized partner
with harmful intentions.

Negligence:

Involves unintentional disclosure of database access, such as through insecure


emails, sharing via flash drives, or falling victim to a virus. Negligence can pose a
significant risk to the security of the database.

Infiltration:

Takes place when an individual joins a team with the intent to steal the company's
data. This type of insider threat involves a person intentionally seeking access for malicious
purposes.

Injection Attacks:
Specifically targeted at databases or database management systems, injection
attacks involve cybercriminals inserting SQL or NoSQL attack strings into a database. False
strings are interpreted as genuine, posing a threat to the application's HTTP protocols and
data layers.

Denial of Service (DoS/DDoS) Attacks:

If an attacker aims to disrupt database performance, they may employ a large


number of queries, not just lengthy ones leading to cache overload. When the server
becomes overwhelmed with data processing requests, it may shut down. The resulting
downtime can cost the company potential clients, income, and jeopardize the brand.

Backup attacks
Organizations often fall short in maintaining vigilance when it comes to
securing backup files. Frequently, they apply identical procedures and controls to backups
as those used for the primary database. This approach poses a significant risk as if the
primary database were compromised, an attacker could swiftly exploit the same
vulnerabilities in the backup. Another common mistake is either neglecting to secure backup
data comprehensively or lacking proper monitoring of their status.

In response to these potential threats, we have implemented a robust


database security program for the Pollypipe database system. This initiative aims to address
and mitigate the risks associated with backup files, ensuring a more comprehensive and
resilient defense against potential security breaches.

These are the security mechanisms used for the database security of our
Pollypipe database system.

Access control (Authentication)

This security mechanism is used to restrict unauthorized access and to make sure
only eligible people such as the administrator and other administrative staff members can
access the database system.
Figure 19 Access control

Currently, only the administrator has been granted access to the Pollypipe database
system. User access is restricted solely to the administrator, who is responsible for managing
and overseeing the operations of the database system. This controlled access is implemented
to maintain a secure and centralized administration of the Pollypipe database, ensuring that
sensitive information and system functionalities are carefully managed and protected.

The above picture shows the username and password provided for an administrator.

Encryption
The mechanism employed to safeguard sensitive data, such as passwords, involves encoding
it through encryption algorithms, transforming readable characters into unreadable ones. In
the Pollypipe database system, we have successfully implemented this encryption

Figure 20 Encryption
mechanism, effectively securing our data against unauthorized access. The image below
illustrates that if the username or password is incorrect, the user will be denied access to the
system, showcasing the protective measures in place.

Database Maintenance Schedule


Database maintenance comprises a set of operations aimed at ensuring the proper
functioning of a database. Database management systems like Oracle and SQL Server
necessitate regular upgrades to stay current with modern technologies and to address
emerging security threats.

Given that Pollypipe operates as an organization, adhering to a


well-structured maintenance schedule is imperative. Without a proper maintenance plan,
both the maintenance tasks and database security efforts could become more time-
consuming and challenging to manage. Therefore, scheduled database maintenance is not
only essential for optimal performance but is also a critical component of maintaining
robust database security within the organizational context.
The table below is the Database system maintenance schedule of the Pollypipe Aquarium.
Table 6 Database Maintenance Schedule

Role Description Time Designation


System upgrade As the name Monday to System Developer
specifies it is used to Thursday
upgrade & update the
system for proper
usage.

Security System This role is assigned Everyday 24/7 System Security


Upgrade to protect the system Specialists
from unauthorized
access and cyber
threats
System Backup This is the role of Monday to Database Administrator
backing up the system Friday (The role of supervising)
data of the company
and the
Backing up system is
Scheduled to be
Automatic.

Usage of DML of SQL queries with examples per each case from the Pollypipe
Database.
In the realm of Data Manipulation Language (DML), there exist four statements
designed for the manipulation of database tables. The following delineates these four DML
statements along with corresponding examples. The provided DML queries serve as
evidence of table manipulation, specifically targeting the Staff table.

Insert- Used to insert data into a database record.


Figure 21 Insert

Update- Used to update/modify data from the database record.


Figure 22 Update

Select- Used to select data from the database record.

Figure 23 Select
Delete- Used to delete data from the database record.

Figure 24 Delete

Between – Used to select/modify a column or a row in between 2 columns or rows.


Figure 25 Between

Group By-

Figure 26 Group By
In-

Figure 27 In
Order by-

Figure 28 Order by

Where-

Figure 29 Where
The queries mentioned above, intended for the Staff table, are applicable to other
tables within the Pollypipe database. These queries prove particularly useful for modifying or
manipulating database tables, especially in emergency situations where the graphical user
interface (GUI) system software is temporarily shut down for maintenance purposes.
Activity 3
Test Cases
A test case refers to a sequence of operations performed on a system to assess
its adherence to system requirements and ensure proper functionality. The primary goal of a
test case is to assess the performance of different system features, verifying that they
operate as expected and confirming the system's alignment with pertinent requirements,
guidelines, and user specifications. Additionally, the process of developing a test case can
be instrumental in identifying flaws or errors within the system.

Database test case


The described type of test case delves into the internal workings of a system,
aiding testers in comprehending the flow of data within the system. Testing teams
commonly employ SQL queries to formulate database test cases, and this approach was
specifically utilized in the test case we implemented for the Customer Table Test Plan.

Table 7 Database test case

Test Case Test Data Steps to be performed Expected Output

Insert Customer ID Add Customer Data. Creating 1 row


(1 row affected)

Update Customer Address Update the Customer Table update


Address using an ID from
the table.

Delete Customer ID Delete Customer Data using Delete row


an ID from the table.

Search/Select Customer ID Search Customer Data usingDisplay Customer


ID
Data
Staff Table Test Plan
Table 8 Staff Table Test Plan

Test Case Test Data Steps to be performed Expected Output

Insert Employee ID Add Employee Data. Creating 1 row


(1 row affected)

Update Employee Address Update the Employee Table update


Address using an ID from
the table.

Delete Employee ID Delete Employee Data Delete row


using an ID from the table.

Search/Select Employee ID Search Employee DataDisplay Employee


using ID
Data of the mentioned
ID.

Installation Table Test Plan


Table 9 Installation Table Test Plan

Test Case Test Data Steps to be performed Expected Output

Insert Installation ID Add Installation Data. Creating 1 row


(1 row affected)

Update Staff Assigned Update Staff Assigned Table update


Period using an ID from
Period
the table.

Delete Installation ID Delete Installation Data Delete row


using an ID from the table.

Search/Select Installation ID Search Installation DataDisplay Installation


using ID
Data of the mentioned
ID.
Equipment Table Test Plan
Table 10 Equipment Table Test Plan

Test Case Test Data Steps to be performed Expected Output


Insert Equipment ID Add Equipment Data. Creating 1 row
(1 row affected)

Update Equipment Type Update the Equipment Table update


Type using an ID from the
table.

Delete Equipment ID Delete Equipment Data Delete row


using an ID from the table.

Search/Select Equipment ID Search Equipment DataDisplay Equipment


using ID
Data of the mentioned
ID.

Below Picture are the pieces of evidence of the test cases for the above test case plans.

Customer Table Test Case

Figure 30 Customer Table Test Case


Staff Table Test Case

Figure 31 Staff Table Test Case


Installation Table test case

Figure 32 Installation Table test case


Equipment Table Test Case

Figure 33 Equipment Table Test Case


Assess how the selected test data can be used to improve the effectiveness of
testing.
Running the testing phase during the system development is imperative to identify
and address errors and bugs. This testing phase is essential for ensuring that the system aligns
with both the system and user requirements of the client. Keeping detailed records of testing
outcomes, including failures and successes, is crucial for further system evaluation,
modification, and adjustment.

The database testing method, as described above, was particularly


beneficial in assessing the core functionalities of the Pollypipe Aquarium database system.
This approach led to the discovery of fewer errors within the database systems, contributing
to a more robust and reliable system.

The feedback form and feedback response of the Database system are given
below.
Figure 34 feedback
Feedback response

Figure 35 Feedback response


Figure 36 Feedback response 2
Activity 4
User Manual
Step 1 – Login

When you open the Pollypipe Aquarium System a login interface will be displayed.

Figure 37 Step 1 – Login

Username – Admin

Password – admin321

Once you log in, the Main Menu interface will be displayed as seen below.
Step 2 – Main Menu

Figure 38 Step 1 – Login

Upon the display of the Main Menu, you can navigate to various interfaces
by selecting the corresponding buttons available within the Main Menu interface.
 Customer
 Staff
 Installation
 Equipment

Customer
You can see the following interface by clicking Customer in the main menu.
Figure 39 Customer

Through this interface, users have the capability to register, update, and delete
customer records. By choosing the "Customer No" option, users can initiate actions to either
update or delete a specific customer record from the system database.

Staff
By clicking the Staff in the main menu, you can see the following interface.
Figure 40 Staff

Within this interface, users have the ability to register, update, and delete employee
records. The employee records can be viewed by selecting the employee number from the
box located at the top, near the "Employee No."

Installation
The following interface will be viewed by clicking Installation in the main menu.
This interface provides users with the capability to register, update, and delete installation
records. The installation records can be viewed by selecting the installation number from the
box located at the top, near "Installation No."

Equipment
You can view the following interface by clicking Equipment in the Main Menu.
Figure 41 Equipment

The user can register, update, and delete an Equipment record using this interface.

You can view the equipment record by selecting the equipment ID from the box shown at
the top near Equipment No.

Technical Documentation

Software Requirement
The following requirements must be fulfilled for a good performance of the system.

Processor: Core i5 5th Gen or Above

RAM: 4GB or above.

Hard disk: 256 GB Minimum

SSD: 128GB Minimum

Operating System: Windows 10 or above.

Microsoft SQL Server 2020


SQL Server Management Studio v18.12.1
Data Flow Diagram for the main functions of Pollypipe system.

System Login

Figure 42 System Login


Register New Record

Figure 43 Register New Record


Update Record

Figure 44 Update Record


Delete Record

Figure 45 Delete Record

System Improvements can be considered for further enhancement of the system


in the future.
 Incorporate a "Show Password" feature to facilitate easier modification within the interface
design.
 Integrate a "Refresh" feature to enhance system performance during periods of lower
responsiveness.
 Implement a "Payment" function to handle employee salary processing and customer
transactions seamlessly.
 Provide multi-user access for administrative staff members, allowing collaborative usage of
the system.
 Expand the storage capacity of the system to accommodate the growing volume of database
records effectively.
References
AltexSoft, 2022. AltexSoft. [Online]
Available at: https://www.altexsoft.com/blog/non-functional-requirements/
[Accessed 26 7 2022].
anji, 2020. Ofni Systems. [Online]
Available at: https://www.ofnisystems.com/services/validation/user-requirement-
specifications/
[Accessed 2020].
John, 2012. Enfocus Solutions Inc. [Online]
Available at: https://enfocussolutions.com/business-user-and-system-requirements/
[Accessed 18 2 2012].
LucidChart, 2017. ER diagram tutorial. [Online]
Available at: https://www.lucidchart.com/pages/er-diagrams
Martin, 2014. Martinfowler.com. [Online]
Available at: https://martinfowler.com/tags/requirements%20analysis.html
[Accessed 2014].

You might also like