Diagrams And Data Dictionary Models Computer Science Essay

Published:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Island Dreams is a travel company that specialises in organising holidays for people on Britain's offshore islands. They sell all sorts of packages, some of which include activities such as water skiing or deep-sea fishing. They also sell their own holiday insurance. Like any company they have in the past received various complaints about the products (holidays, insurance packages etc.) that they have sold. In order to be a more effective company, one that responds to customer needs, they want to develop a system to handle customer complaints.

Task 1

Produce an ER Diagram and a Data Dictionary to model the data requirements of Island Dreams

Produce an ER Diagram

An entity-relationship (ER) diagram is a specialized graphic that illustrates the interrelationships between entities in a database.

Selecting Initial entities

An entity may be defined as a thing which an organization recognizes as being capable of an independent existence and which can be uniquely identified. An entity is an abstraction from the complexities of some domain.

Consider that we are developing a system to handle customer complaints, the first set of entities identified is:

Customer

Purchase

Product

Location

Complaint

Completed Entity Grid (Relationship)

A relationship is some association between entities. In this section we shall concentrate on binary relationships.

These relationships can be visualized by using an entity grid in which the entities are shown as labels for the rows and columns.

Complaint

Location

Product

Customer

Purchase

Purchase

X

X

X

Customer

Product

X

Location

Complaint

Converting the Grid into an Initial ERD

Each entity in the grid is represented by a box on the diagram. A line is drawn between boxes where there is an 'X' in the grid.

Location

PRODUCT

COMPLAINT

Purchase

CustomeR

Relationship Cardinality and Participation

Cardinality concerns the number of instances involved in a relationship. A relationship can be said to be either a 1:1 (one-to-one) relationship, a 1:M (one-to-many) relationship, or a M:N (many-to-many) relationship.

Participation (or optionality) concerns the involvement of entities in a relationship. Participation is about exceptions to the rule. An entity's participation is optional if there is at least one instance of an entity which does not participate in the relationship. An entity's participation is mandatory if all instances of an entity must participate in the relationship. We assume that the default participation is mandatory. If the participation is optional we add a circle (an 'O' for optional) alongside the relevant entity.

Permanent Relationship

One-to-Many Relationship

Location  Product

Product

Location

Product  Purchase

Purchase

Product

Customer  Purchase

Purchase

CustomeR

Optional Relationship

One-to-One Relationship

Purchase  Complaint

COMPLAINT

Purchase

Finally, we can summarize the Entity-Relationship (ER) Diagram as follow.

ER Diagram for Travel Purchase System of Island Dreams

Location

Product

COMPLAINT

Purchase

Customer

Supporting Documentation for the ERD:

Entity name : PRODUCT

Description : Any of the things the company sells to customer

Identifying Attribute(s) : ProductCode

Other Attributes : ProductName, ProductTypeCode, ProductType, LocationCode*

Entity name : LOCATION

Description : Location

Identifying Attribute(s) : LocationCode

Other Attributes : Location

Entity name : PURCHASE

Description : Any customer makes a purchase in Island Dreams

Identifying Attribute(s) : PurchaseOrderNo

Other Attributes : ProductCode*, CustomerNumber*

Entity name : COMPLAINT

Description : Any complaint relates to a particular purchase

Identifying Attribute(s) : ComplaintID

Other Attributes : PurchaseOrderNo*, ComplaintType, Outcome

Entity name : CUSTOMER

Description : Any customer in Island Dreams

Identifying Attribute(s) : CustomerNumber

Other Attributes : CustomerName, Address, CustomerTelephone, Notes, ReturningCustomer

Produce a Data Dictionary

A data dictionary is a means for recording the meta-data of some organization (Navathe and Kerschberg, 1986)

Conceptual data dictionaries record meta-data at a very high level of abstraction.

Logical data dictionaries are used to record data requirements independently of how these requirements are to be met. Logical meta-data is however at a slightly lower level of abstraction than conceptual meta-data

Physical data dictionaries are used to record data structures; that is, they record meta-data relating to actual database or file structures. The system tables at the heart of a relational DBMS comprise a physical data dictionary

In terms of meta-data, therefore, we conventionally mean both data resources and data requirements. A Data Dictionary is a mechanism for recording the data resources and requirements of some organisation. This means that a data dictionary cannot be considered solely as a tool for the analysis and design of database systems. It is also an important implementation tool and an important function of what we might call the corporate information architecture. Conceptual and logical data dictionaries are usually the realm of the data administrator.

A Data Dictionary is used to store and manage definitions of processes, data flows, data stores, etc. The Data Dictionary contains the full definitions of all the data in the system. From it the designer will be able to establish the structures present in the data and also the physical size of each data element. This information is required to enable the designer to build up the file structure and organisation, to determine the space requirements and hence the problems, if any, in achieving the required access speeds.

All definitions in the Data Dictionary have some common requirements regardless of the type of entry. These are:

The name of the object created by the analyst: this should be meaningful to the analyst and especially to the users.

The type of object, i.e. element, structure, flow, etc.

Any aliases of the object: many objects defined in the DD will be known by more than one name by different users of the DD and also the users of the system. Indeed, users may be unaware of this and the analyst may uncover such aliases through the course of the project. For example, 'order acknowledgement' may have the aliases 'customer order acknowledgement' or 'delivery note part 3'. There is an onus on the analyst to check that a data object is not already satisfactorily defined, for his or her purposes, in the DD. Alias definition, through careless naming of objects, is to be avoided. All necessary aliases must be defined under their alias in the DD, but only a cross-reference back to the primary named entry need be made.

The author: this is necessary so that when a DD entry is updated, the originator of the entry can be consulted to confirm that the original meaning of the entry is not altered.

The date: the creation date for the entry.

Data Element Entries

A data element is a unit of data that cannot be broken down into a smaller but still meaningful unit.

Data elements are thus the first group of data objects with information in the Data Dictionary. An entry in the Data Dictionary must fully and unambiguously describe the element.

Data elements form the detail of any system, but it is necessary to define higher level objects so that analysis does not become cluttered with unnecessary detail. By combining various data elements, a flexible, but still rigorous definition of a more complex structure, termed a data structure, can be derived.

Data Element Entry : ProductCode

Data Dictionary

Title

System

TPS

Document

Name

Sheet

1

Type

Element

Name

ProductCode

Alias

Definition

Product Code

Occurrence

Picture

Range 0-99999

Notes

Author

MC

Date

13 Apr 11

Data Element Entry : ProductName

Data Dictionary

Title

System

TPS

Document

Name

Sheet

2

Type

Element

Name

ProductName

Alias

Definition

Name of Products

Occurrence

Picture

Notes

Author

MC

Date

13 Apr 11

Data Element Entry : ProductTypeCode

Data Dictionary

Title

System

TPS

Document

Name

Sheet

3

Type

Element

Name

ProductTypeCode

Alias

Definition

Product Type Code

Occurrence

Picture

Notes

Author

MC

Date

13 Apr 11

Data Element Entry : ProductType

Data Dictionary

Title

System

TPS

Document

Name

Sheet

4

Type

Element

Name

ProductType

Alias

Definition

Types of Product

Occurrence

Picture

Notes

Author

MC

Date

13 Apr 11

Data Element Entry : LocationCode

Data Dictionary

Title

System

TPS

Document

Name

Sheet

5

Type

Element

Name

LocationCode

Alias

Definition

Codes of Location

Occurrence

Picture

Notes

Author

MC

Date

13 Apr 11

Data Element Entry : Location

Data Dictionary

Title

System

TPS

Document

Name

Sheet

6

Type

Element

Name

Location

Alias

Definition

Location

Occurrence

Picture

Notes

Author

MC

Date

13 Apr 11

Data Element Entry : PurchaseOrderNo

Data Dictionary

Title

System

TPS

Document

Name

Sheet

7

Type

Element

Name

PurchaseOrderNo

Alias

Definition

Purchase Order Number

Occurrence

Picture

Range 0-99999999

Notes

Author

MC

Date

13 Apr 11

Data Element Entry : ComplaintID

Data Dictionary

Title

System

TPS

Document

Name

Sheet

8

Type

Element

Name

ComplaintID

Alias

Definition

Complaint ID

Occurrence

Picture

Range 0-99999999

Notes

Author

MC

Date

13 Apr 11

Data Element Entry : ComplaintType

Data Dictionary

Title

System

TPS

Document

Name

Sheet

9

Type

Element

Name

ComplaintType

Alias

Definition

Complaint Type

Occurrence

Picture

Notes

Author

MC

Date

13 Apr 11

Data Element Entry : Outcome

Data Dictionary

Title

System

TPS

Document

Name

Sheet

10

Type

Element

Name

Outcome

Alias

Definition

Outcome

Occurrence

Picture

Notes

Author

MC

Date

13 Apr 11

Data Element Entry : CustomerNumber

Data Dictionary

Title

System

TPS

Document

Name

Sheet

11

Type

Element

Name

CustomerNumber

Alias

Definition

Customer Number

Occurrence

Picture

Range 0-99999

Notes

Author

MC

Date

13 Apr 11

Data Element Entry : Address

Data Dictionary

Title

System

TPS

Document

Name

Sheet

12

Type

Element

Name

Address

Alias

Definition

Customer Address

Occurrence

Picture

Notes

Author

MC

Date

13 Apr 11

Data Element Entry : CustomerTelephone

Data Dictionary

Title

System

TPS

Document

Name

Sheet

13

Type

Element

Name

CustomerTelephone

Alias

Definition

Customer Telephone Number

Occurrence

Picture

Notes

Author

MC

Date

13 Apr 11

Data Element Entry : Notes

Data Dictionary

Title

System

TPS

Document

Name

Sheet

14

Type

Element

Name

Notes

Alias

Definition

Customer Notes

Occurrence

Picture

Notes

Author

MC

Date

13 Apr 11

Data Element Entry : ReturningCustomer

Data Dictionary

Title

System

TPS

Document

Name

Sheet

15

Type

Element

Name

ReturningCustomer

Alias

Definition

Returning Customer

Occurrence

Picture

Notes

Author

MC

Date

13 Apr 11

Data Structure Entries

A data structure is a group of related data elements and/or other data structures.

Data Structure Entry : Product

Data Dictionary

Title

System

TPS

Document

Name

Sheet

1

Type

Structure

Name

PRODUCT

Alias

Definition

Product = ProductCode + ProductName + ProductTypeCode + ProductType + LocationCode

Occurrence

Picture

Notes

Author

MC

Date

13 Apr 11

Data Structure Entry : Location

Data Dictionary

Title

System

TPS

Document

Name

Sheet

2

Type

Structure

Name

LOCATION

Alias

Definition

Location = LocationCode + Location

Occurrence

Picture

Notes

Author

MC

Date

13 Apr 11

Data Structure Entry : Purchase

Data Dictionary

Title

System

TPS

Document

Name

Sheet

3

Type

Structure

Name

PURCHASE

Alias

Definition

Purchase = PurchaseOrderNo + ProductCode + CustomerNumber

Occurrence

Picture

Notes

Author

MC

Date

13 Apr 11

Data Structure Entry : Complaint

Data Dictionary

Title

System

TPS

Document

Name

Sheet

4

Type

Structure

Name

COMPLAINT

Alias

Definition

Complaint = ComplaintID + PurchaseOrderNo + ComplaintType + Outcome

Occurrence

Picture

Notes

Author

MC

Date

13 Apr 11

Data Structure Entry : Customer

Data Dictionary

Title

System

TPS

Document

Name

Sheet

5

Type

Structure

Name

CUSTOMER

Alias

Definition

Customer = CustomerNumber + CustomerName + Address + CustomerTelephone + Notes + ReturningCustomer

Occurrence

Picture

Notes

Author

MC

Date

13 Apr 11

Task 2

Produce the resulting tables clearly indicating the primary and foreign keys

Primary Key

Each relation must have a primary key. This is to enforce the property that duplicate rows are forbidden in a relation. A primary key is one or more columns of a table whose values are used to uniquely identify each of the rows in a table.

Foreign Key

Foreign keys are the means of interconnecting the data stored in a series of disparate tables. A foreign key is a column or group of columns of some table which draws its values from the same domain as the primary key of some related table in the database.

Syntax for Data Definition

Domains

ProductCodes: CHARACTER (10)

ProductNames: CHARACTER (50)

ProductTypeCodes: CHARACTER (3)

ProductTypes: CHARACTER (30)

LocationCodes: CHARACTER (5)

Locations: CHARACTER (30)

PurchaseOrderNos: CHARACTER (8)

ComplaintIDs: CHARACTER (8)

ComplaintTypes: CHARACTER (20)

Outcomes: CHARACTER (10)

CustomerNumbers: CHARACTER (5)

CustomerNames: CHARACTER (30)

Addresses: CHARACTER (80)

CustomerTelephones: CHARACTER (20)

Notes: CHARACTER (80)

ReturningCustomers : CHARACTER (1)

Relation Product

Attributes

ProductCode: ProductCodes

ProductName: ProductNames

ProductTypeCode: ProductTypeCodes

ProductType: ProductTypes

LocationCode: LocationCodes

Primary Key ProductCode

Foreign Key LocationCode

Relation Location

Attributes

LocationCode: LocationCodes

Location: Locations

Primary Key LocationCode

Relation Purchase

Attributes

PurchaseOrderNo: PurchaseOrderNos

ProductCode: ProductCodes

CustomerNumber : CustomerNumbers

Primary Key PurchaseOrderNo

Foreign Key ProductCode, CustomerNumber

Relation Complaint

Attributes

ComplaintID: ComplaintIDs

PurchaseOrderNo: PurchaseOrderNos

ComplaintType: ComplaintTypes

Outcome: Outcomes

Primary Key ComplaintID

Foreign Key PurchaseOrderNo

Relation Customer

Attributes

CustomerNumber: CustomerNumbers

CustomerName: CustomerNames

Address: Addresses

CustomerTelephone: CustomerTelephones

Note: Notes

ReturningCustomer: ReturningCustomers

Primary Key CustomerNumber

The Bracketing Notation

PRODUCT(ProductCode, ProductName, ProductTypeCode, ProductType, LocationCode*)

LOCATION(LocationCode, Location)

PURCHASE(PurchaseOrderNo, ProductCode*, CustomerNumber*)

COMPLAINT(ComplaintID, PurchaseOrderNo*, ComplaintType, Outcome)

CUSTOMER(CustomerNumber, CustomerName, Address, CustomerTelephone, Notes, ReturningCustomer)

SQL for producing the tables

PRODUCT

CREATE TABLE PRODUCT (ProductCode VARCHAR (10) Not Null Unique,

ProductName VARCHAR (50),

ProductTypeCode VARCHAR (3),

ProductType VARCHAR (30),

LocationCode VARCHAR (5),

PRIMARYKEY (ProductCode),

FOREIGNKEY (LocationCode INDENTIFES Location TABLE))

LOCATION

CREATE TABLE LOCATION (LocationCode VARCHAR (5) Not Null Unique,

Location VARCHAR (30),

PRIMARYKEY (LocationCode))

CUSTOMER

CREATE TABLE CUSTOMER (CustomerNumber VARCHAR (5) Not Null Unique,

CustomerName VARCHAR (30),

Address VARCHAR (80),

CustomerTelephone VARCHAR (20),

Notes VARCHAR (80),

ReturningCustomer VARCHAR (1),

PRIMARYKEY (CustomerNumber))

PURCHASE

CREATE TABLE PURCHASE (PurchaseOrderNo VARCHAR (8) Not Null Unique,

ProductCode VARCHAR (10) Not Null,

CustomerNumber VARCHAR (5) Not Null,

PRIMARYKEY (PurchaseOrderNo),

FOREIGNKEY (ProductCode INDENTIFES Product TABLE,

CustomerNumber INDENTIFES Customer TABLE))

COMPLAINT

CREATE TABLE COMPLAINT (ComplaintID VARCHAR (8) Not Null Unique,

PurchaseOrderNo VARCHAR (8) Not Null,

ComplaintType VARCHAR (20),

Outcome VARCHAR (10),

PRIMARYKEY (ComplaintID),

FOREIGNKEY (PurchaseOrderNo INDENTIFES Purchase TABLE))

All the resulting tables are as follow:

PRODUCT

ProductCode

ProductName

ProductTypeCode

ProductType

LocationCode*

LOCATION

LocationCode

Location

CUSTOMER

CustomerNumber

CustomerName

Address

CustomerTelephone

Notes

ReturningCustomer

PURCHASE

PurchaseOrderNo

ProductCode*

CustomerNumber*

COMPLAINT

ComplaintID

PurchaseOrderNo*

ComplaintType

Outcome

(Primary Key, Foreign Key*)

Task 3

Using a Database Management System (DBMS) of your choice, set-up all of the above tables, and populate them with well-designed test data (minimum 5 records per table). Provide printouts of all tables.

A Database Management System (DBMS) is a set of computer programs that controls the creation, maintenance, and the use of a database. It is a software system that uses a standard method of cataloging, retrieving, and running queries on data. It allows organizations to place control of database development in the hands of database administrators (DBAs) and other specialists. A DBMS is a system software package that helps the use of integrated collection of data records and files known as databases. It allows different user application programs to easily access the same database. DBMSs may use any of a variety of database models, such as the network model or relational model. In large systems, a DBMS allows users and other software to store and retrieve data in a structured way. Instead of having to write computer programs to extract information, user can ask simple questions in a query language. Thus, many DBMS packages provide Fourth-generation programming language (4GLs) and other application development features. It helps to specify the logical organization for a database and access and use the information within a database. It provides facilities for controlling data access, enforcing data integrity, managing concurrency, and restoring the database from backups. A DBMS also provides the ability to logically present database information to users.

I am using Microsoft Access to set-up all of the above tables, and populate them with well-designed test data.

Relationships

Tables

Table: LOCATION

Table: PRODUCT

Table: CUSTOMER

Table: PURCHASE

Table: COMPLAINT

Task 4

Set-up and test all of the following queries using Structured Query Language (SQL). Provide printouts of SQL code for each query and the output produced when you run the query in the database you have developed:

Display the names and addresses of the customers of Island Dreams and the purchases that they have made.

Display a full record of a complaint. This should include the name of the customer, the complaint type, and the outcome of the complaint.

Structured Query Language (SQL) is a database computer language designed for managing data in relational database management systems (RDBMS), and originally based upon relational algebra and calculus. Its scope includes data insert, query, update and delete, schema creation and modification, and data access control.

Display the names and addresses of the customers of Island Dreams and the purchases that they have made.

The SQL statement for this query is:

SELECT CUSTOMER.CustomerName, CUSTOMER.Address, PRODUCT.ProductName

FROM PRODUCT INNER JOIN (CUSTOMER INNER JOIN PURCHASE ON CUSTOMER.CustomerNumber = PURCHASE.CustomerNumber) ON PRODUCT.ProductCode = PURCHASE.ProductCode

Result:

Display a full record of a complaint. This should include the name of the customer, the complaint type, and the outcome of the complaint.

The SQL statement for this query is:

SELECT COMPLAINT.ComplaintType, COMPLAINT.Outcome, PRODUCT.ProductName, CUSTOMER.CustomerName

FROM CUSTOMER INNER JOIN (PRODUCT INNER JOIN (PURCHASE INNER JOIN COMPLAINT ON PURCHASE.PurchaseOrderNo = COMPLAINT.PurchaseOrderNo) ON PRODUCT.ProductCode = PURCHASE.ProductCode) ON CUSTOMER.CustomerNumber = PURCHASE.CustomerNumber

Result:

Task 5

Explain any assumptions you have made when analyzing, designing and implementing the above database, justify the approach you have taken and explain any alternative approaches you could have taken to any of the above tasks. Discuss any changes you would make to improve your work.

Assumptions for analyzing, designing and implementing the above database

We must assign a location code for all locations which can be provide service by Island Dreams

We must assign a product type code for all product type

We must assign a product code for all products

We must assign a customer number for all customers

Alternative approaches

I have used Microsoft Access as the Database Management System. Microsoft Access is a relational database management system from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software-development tools. It is a member of the Microsoft Office suite of applications, included in the Professional and higher editions or sold separately. Access tables support a variety of standard field types, indices, and referential integrity. Access also includes a query interface, forms to display and enter data, and reports for printing. The underlying Jet database, which contains these objects, is multiuser-aware and handles record-locking and referential integrity including cascading updates and deletes.

Repetitive tasks can be automated through macros with point-and-click options. Microsoft Access is popular among non-programmers and professional developers alike. Non-programmers can create visually pleasing and relatively advanced solutions with very little or no code. It is also easy to place a database on a network and have multiple users share and update data without overwriting each other's work. Data is locked at the record level which is significantly different from Excel which locks the entire spreadsheet.

Microsoft offers a wide range of template databases within the program and for download from their website. These options are available upon starting Access and allow users to enhance a database with pre-defined tables, queries, forms, reports, and macros. Popular templates include tracking contacts, assets, issues, events, projects, and tasks. Templates do not include VBA code.

Microsoft Access also offers the ability for programmers to create solutions using the programming language Visual Basic for Applications (VBA), which is similar to Visual Basic 6.0 (VB6) and used throughout the Microsoft Office programs such as Excel, Word, Outlook and PowerPoint. Most VB6 code including the use of Windows API calls, can be used in VBA. Power users and developers can extend basic end-user solutions to a professional solution with advanced automation, data validation, error trapping, and multi-user support.

Database solutions created entirely in Microsoft Access are well suited for individual and workgroup use across a network. The number of simultaneous users that can be supported depends on the amount of data, the tasks being performed, level of use, and application design. Generally accepted limits are solutions with 1 GB or less of data (Access supports up to 2 GB) and performs quite well with 20 or fewer simultaneous connections (255 concurrent users are supported). This capability is often a good fit for department solutions. If using an Access database solution in a multi-user scenario, the application should be "split". This means that the tables are in one file called the back-end (typically stored on a shared network folder) and the application components (forms, reports, queries, code, macros, linked tables) are in another file called the front end[disambiguation needed]. The linked tables in the front end point to the back end file. Each user of the Access application would then receive their own copy of the front end file.

Applications that run complex queries or analysis across large datasets would naturally require greater bandwidth and memory. Microsoft Access is designed to scale to support more data and users by linking to multiple Access databases or using a back-end database like Microsoft SQL Server. With the latter design, the amount of data and users can scale to enterprise-level solutions.

In enterprise environments, Microsoft Access is particularly appropriate for meeting end-user database needs and for rapid application development. Microsoft Access is easy enough for end users to create their own queries, forms and reports, laying out fields and groupings, setting formats, etc. This capability allows professional developers, as well as end users, to develop a wide range of applications to fulfill the needs of an organization or commercial purpose. Many technology departments enjoy Access's ease of use, thus allowing departmental users the ability to create highly focused applications, while allowing the technology departments to focus on the enterprise level systems that provide the information (enterprize data) to supported departments.

However, Microsoft Access may be used only as the 'front-end', using another product for the 'back-end' tables, such as Microsoft SQL Server and non-Microsoft products such as Oracle and Sybase. Similarly, some applications will only use the Microsoft Access tables and use another product as a front-end, such as Visual Basic or ASP.NET. Microsoft Access may be only part of the solution in more complex applications, where it may be integrated with other technologies such as Microsoft Excel, Microsoft Outlook or ActiveX Data Objects.

To handle a huge volume of database, using Oracle database system as a Database Management System is better than Microsoft Access.

An Oracle database system-identified by an alphanumeric system identifier or SID-comprises at least one instance of the application, along with data storage. An instance-identified persistently by an instantiation number (or activation id: SYS.V_$DATABASE.ACTIVATION#)-comprises a set of operating-system processes and memory-structures that interact with the storage. Typical processes include PMON (the process monitor) and SMON (the system monitor).

Users of the Oracle databases refer to the server-side memory-structure as the SGA (System Global Area). The SGA typically holds cache information such as data-buffers, SQL commands, and user information. In addition to storage, the database consists of online redo logs (or logs), which hold transactional history. Processes can in turn archive the online redo logs into archive logs (offline redo logs), which provide the basis (if necessary) for data recovery and for some forms of data replication.

The Oracle RDBMS stores data logically in the form of tablespaces and physically in the form of data files ("datafiles"). Tablespaces can contain various types of memory segments, such as Data Segments, Index Segments, etc. Segments in turn comprise one or more extents. Extents comprise groups of contiguous data blocks. Data blocks form the basic units of data storage.

Writing Services

Essay Writing
Service

Find out how the very best essay writing service can help you accomplish more and achieve higher marks today.

Assignment Writing Service

From complicated assignments to tricky tasks, our experts can tackle virtually any question thrown at them.

Dissertation Writing Service

A dissertation (also known as a thesis or research project) is probably the most important piece of work for any student! From full dissertations to individual chapters, we’re on hand to support you.

Coursework Writing Service

Our expert qualified writers can help you get your coursework right first time, every time.

Dissertation Proposal Service

The first step to completing a dissertation is to create a proposal that talks about what you wish to do. Our experts can design suitable methodologies - perfect to help you get started with a dissertation.

Report Writing
Service

Reports for any audience. Perfectly structured, professionally written, and tailored to suit your exact requirements.

Essay Skeleton Answer Service

If you’re just looking for some help to get started on an essay, our outline service provides you with a perfect essay plan.

Marking & Proofreading Service

Not sure if your work is hitting the mark? Struggling to get feedback from your lecturer? Our premium marking service was created just for you - get the feedback you deserve now.

Exam Revision
Service

Exams can be one of the most stressful experiences you’ll ever have! Revision is key, and we’re here to help. With custom created revision notes and exam answers, you’ll never feel underprepared again.