BTEC HND Computing Assessment
BTEC HND Computing Assessment
1
Confirm action completed
Remedial action
taken
Give details:
2
Higher Nationals - Summative Assignment Feedback Form
Student Name/ID G.Malshi Dilinika
LO2 Develop a fully functional relational database system, based on an existing system
design
Pass, Merit & P2 P3 M2 M3 D2
Distinction 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.
3
Assignment Feedback
Formative Feedback: Assessor to Student
Action Plan
Summative feedback
4
Assessor Date
signature
Student Date
signature
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
7
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.
8
Higher National Diploma in Computing
Assignment Brief
Student Name /ID Number G.Malshi Dilinika
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:
9
Assignment brief
Quiet Attic Films is a film production company based in London, England who specialize in
making short information films and advertisements for television. They want you to design
and implement a database that meets the requirements for their data. These requirements
are specified in this scenario and the examples of paper documents kept by the company
shown below.
Quiet Attic Films organize their data around the concept of a ‘production’. A production is
specified as being for a particular client; but note that a client might have more than one
production at any time. A production will take place at one or more locations. A production
will also use a number of, what are called, properties, which might be anything from an actual
property like a building, to costumes or small items of any sort. It is important to keep a
record of which properties are required at which location.
There should also be a record kept of the staff types that are assigned to productions
Activity 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
10
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)
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
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 and evaluate the database solution developed in
terms of its effectiveness with relevance to the user and system requirements identified,
system security mechanisms (EX: -User groups, access permissions) and the maintenance of
the database. Suggest improvements for any identified problems.
Assess the usage of the below SQL statements with the examples from the developed
database to prove that the data extracted through them are meaningful and relevant to the
given scenario.
Select/ Where / Update / Between / In / Group by / Order by / Having
11
Activity 3
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
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 a separate conclusion from the feedbacks.
Activity 4
Produce technical and user documentation for a fully functional system, including data flow
diagrams showing movement of data through the system, and flowcharts describing how the
system works. Evaluate the developed database by suggesting future enhancements to
ensure the effectiveness of the system.
12
Grading Criteria Achieved Feedback
13
M2 Implement a fullyfunctional database
system, which includes system security and
database maintenance.
14
TABLE OF CONTENTS
15
Evaluation:...................................................................................................................................21
ER Diagram..................................................................................................................................21
Relational Database System (SQL DDL Statements):.......................................................................22
Simple Interface Using SQL:.............................................................................................................29
Security Mechanisms:......................................................................................................................29
Database Evaluation:.......................................................................................................................29
Improvements:................................................................................................................................30
SQL Statements Usage Examples:....................................................................................................30
3.1 Test Plan:...................................................................................................................................35
Test Data:........................................................................................................................................35
Conclusion:......................................................................................................................................36
Conclusion:......................................................................................................................................40
References.......................................................................................................................................40
In the dynamic landscape of film production, managing diverse aspects of each production
efficiently is imperative for success. The Quiet Attic Films Database System has been
meticulously designed to address the unique requirements of a film production company
based in London, England. This robust database system provides a comprehensive solution
for organizing and coordinating productions, clients, locations, properties, and staff types.
16
The core concept of the database revolves around a "production," serving as a central entity
connected to clients, locations, properties, and staff types. By adopting a relational database
model, the system ensures a structured and organized approach to data management. This
system caters to the intricacies of a film production environment, where multiple
productions may be underway simultaneously, each involving various clients, locations, and
resources.
In this documentation, we delve into the technical architecture of the system, presenting
the database schema, data flow diagrams, and flowcharts that illustrate how data moves
through the system. The design principles incorporate best practices for normalization,
security, and user-friendliness.
Quiet Attic Films Database System is not just a repository for data; it's a strategic tool
crafted to streamline operations, enhance collaboration, and pave the way for future
advancements in film production management.
Database Design:
- Client:
- Attributes: ClientID (PK), ClientName, ContactPerson, ContactEmail, ContactPhone
- Production:
17
- Attributes: ProductionID (PK), ClientID (FK), Title, Description, StartDate, EndDate
- Location:
- Attributes: LocationID (PK), ProductionID (FK), Name, Address, Capacity, Description
- Property:
- Attributes: PropertyID (PK), ProductionID (FK), Name, Type, Description
- StaffType:
- Attributes: StaffTypeID (PK), TypeName, Description
2. Relationships:
- Client-Production:
- Cardinality: One-to-Many (1:N)
- Participation: Mandatory on the Production side, Optional on the Client side
- Production-Location:
- Cardinality: Many-to-Many (M:N)
- Participation: Optional on both sides (a production may or may not have locations, and a
location may or may not host productions)
- Production-Property:
- Cardinality: Many-to-Many (M:N)
- Participation: Optional on both sides (a production may or may not use properties, and a
property may or may not be used by productions)
- Production-StaffType:
- Cardinality: Many-to-Many (M:N)
- Participation: Optional on both sides (a production may or may not involve staff types,
and a staff type may or may not be involved in productions)
18
3. Logical Design:
- Client:
- ClientID (PK), ClientName, ContactPerson, ContactEmail, ContactPhone
- Production:
- ProductionID (PK), ClientID (FK), Title, Description, StartDate, EndDate
- Location:
- LocationID (PK), ProductionID (FK), Name, Address, Capacity, Description
- Property:
- PropertyID (PK), ProductionID (FK), Name, Type, Description
- StaffType:
- StaffTypeID (PK), TypeName, Description
Normalization:
The logical design is in 3NF (Third Normal Form) as it avoids transitive dependencies and
ensures that every non-prime attribute is fully functionally dependent on the primary key.
19
Interface Design:
Input Interface:
- Forms for entering client information, production details, location details, property details,
and staff type details.
Output Interface:
- Query interface to search and display productions based on various criteria such as client,
location, property, etc.
Evaluation:
- The design aligns with the user and system requirements, capturing the relationships and
entities effectively.
- Normalization ensures data integrity and reduces redundancy.
- Interfaces are user-friendly, allowing easy input and retrieval of information.
However, further refinement may be needed based on specific business processes and
additional requirements that might emerge during implementation. User feedback and
testing would be valuable in refining the design further.
ER Diagram
20
Relational Database System (SQL DDL Statements):
```sql
-- Creating Tables
CREATE TABLE Client (
ClientID INT PRIMARY KEY,
ClientName VARCHAR(255),
ContactPerson VARCHAR(255),
ContactEmail VARCHAR(255),
ContactPhone VARCHAR(15)
);
21
FOREIGN KEY (ClientID) REFERENCES Client(ClientID)
);
22
PRIMARY KEY (ProductionID, LocationID),
FOREIGN KEY (ProductionID) REFERENCES
Production(ProductionID),
FOREIGN KEY (LocationID) REFERENCES Location(LocationID)
);
23
Table Client
Table Location
24
Table Production
Table prodcutionlocation
25
Table productionproperty
Table productionstafftype
26
Table property
Table stafftype
27
Simple Interface Using SQL:
For creating a simple interface, you can use an Integrated Development Environment (IDE)
like MySQL Workbench. This IDE allows you to visually design databases, run SQL queries,
and manage data.
Security Mechanisms:
- User Groups: Create user groups for different roles (e.g., admin, data entry, viewer).
- Access Permissions: Grant specific permissions to each user group (e.g., read-only, read-
write, admin).
- Encryption: Use encryption for sensitive data.
- Regular Audits: Regularly audit the database to identify and address potential security
issues.
Database Evaluation:
- Effectiveness:
28
- The database meets the identified user and system requirements.
- Provides a secure and structured way to store and manage data.
- Relationships between entities are well-defined.
- Security:
- User groups and access permissions ensure data confidentiality.
- Encryption adds an extra layer of protection.
- Regular audits help maintain security.
- Maintenance:
- Regular backups and updates are necessary.
- Monitor performance and optimize queries for efficiency.
Improvements:
```sql
-- Select: Retrieve productions for a specific client
SELECT * FROM Production WHERE ClientID = 1;
29
-- Where: Retrieve locations with a capacity greater than 100
SELECT * FROM Location WHERE Capacity > 100;
30
-- Update: Modify the description of a production
UPDATE Production SET Description = 'New Description' WHERE
ProductionID = 101;
31
-- In: Retrieve properties of specific types
SELECT * FROM Property WHERE Type IN ('Costume', 'Equipment');
32
-- Order by: Retrieve productions ordered by start date
SELECT * FROM Production ORDER BY StartDate;
33
These examples demonstrate meaningful and relevant data extraction based on the given
scenario, allowing users to retrieve and manipulate data effectively.
Objective: Ensure that the database system meets user and system requirements, and all
functionalities work as expected.
Test Data:
34
- Perform stress testing with large datasets to evaluate performance.
- Implement automated testing for repetitive tasks to save time.
- Collaborate with end-users to ensure their requirements are adequately covered.
Methodology: Use surveys to gather feedback from non-technical users (clients, staff) and
developers involved in the project.
Conclusion:
The feedback from both non-technical users and developers indicates that the database
solution is generally effective. Minor improvements, as suggested, can be incorporated in
future updates to enhance the user experience and system efficiency. Regular feedback
sessions should be conducted to address evolving needs.
35
Technical Documentation:
1. System Overview:
Quiet Attic Films Database System is designed to manage productions, clients, locations,
properties, and staff types. The system ensures data integrity, security, and efficient
retrieval.
2. Database Schema:
Flowcharts:
1. Inserting Data:
graph TD;
A[Start] -->|User inputs data| B(Insert Data);
B -->|Validate data| C{Valid?};
C -->|Yes| D(Insert into Database);
36
C -->|No| E(Show Error);
D --> F[End];
E --> F;
```
2. Updating Data:
graph TD;
A[Start] -->|User selects data to update| B(Update Data);
B -->|Validate data| C{Valid?};
C -->|Yes| D(Update in Database);
C -->|No| E(Show Error);
D --> F[End];
E --> F;
```
3. Deleting Data:
graph TD;
A[Start] -->|User selects data to delete| B(Delete Data);
B -->|Confirm deletion| C{Confirmed?};
C -->|Yes| D(Delete from Database);
C -->|No| E(Show Error);
D --> F[End];
E --> F;
```
4. Retrieving Data:
graph TD;
A[Start] -->|User provides query| B(Retrieve Data);
B -->|Execute Query| C{Data Found?};
C -->|Yes| D(Display Data);
C -->|No| E(Show No Data Message);
37
D --> F[End];
E --> F;
```
1. Database Evaluation:
- Strengths:
- Well-structured schema.
- Effective use of normalization.
- Security mechanisms in place.
2. Future Enhancements:
38
- Integration with External Systems:
- Explore possibilities for integrating with external systems for seamless data exchange.
Conclusion:
The developed database system is currently effective but can benefit from user interface
enhancements, advanced features, and additional security measures. Future enhancements
should be aligned with evolving user needs and technological advancements. Regular
updates and user feedback sessions are crucial for the continuous improvement of the
system.
References
Thompson, A., & Strickland, A. J. (2003). "Strategic Management: Concepts and Cases."
McGraw-Hill.
39
Taylor, P. (2017). "Database Security: Concepts, Approaches, and Challenges." Wiley.
40