0% found this document useful (0 votes)
21 views127 pages

Database Assignment 2

The document outlines the structure and components of the E-Space Solutions System, detailing user and system requirements, database design, user interfaces, and testing methodologies. It includes activities focused on database creation, security mechanisms, user feedback, and potential future enhancements. Additionally, it provides technical documentation and evaluation of the system's effectiveness based on user input and testing results.

Uploaded by

sahiruakash5k
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)
21 views127 pages

Database Assignment 2

The document outlines the structure and components of the E-Space Solutions System, detailing user and system requirements, database design, user interfaces, and testing methodologies. It includes activities focused on database creation, security mechanisms, user feedback, and potential future enhancements. Additionally, it provides technical documentation and evaluation of the system's effectiveness based on user input and testing results.

Uploaded by

sahiruakash5k
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

1

Table of Contents
0.1 Activity 01...............................................................................................................................30
1.1 User and system requirements of the E-Space Solutions System........................................30

1.1.1 User Requirements........................................................................................................30


1.1.2 System Requirements...................................................................................................30
1.2 ER Diagram for the E-Space Solutions System..................................................................31

1.3 Relational Schema...............................................................................................................33

1.4 Normalization......................................................................................................................34

1.5 User Interfaces for the above scenario.................................................................................35

1.5.1 User Interface................................................................................................................35


1.5.2 Wireframe used to create User Interfaces.....................................................................35
1.5.2 Created Wireframes for the above scenario..................................................................36
1.6 Evaluation of the effectiveness of the given design............................................................39

0.2 Activity 02...............................................................................................................................40


2.1 Database for E-Space Solutions System..............................................................................40

2.1.1 Software used to create the database............................................................................40


2.1.2 Database created...........................................................................................................40
2.1.3 Data Validation in the Database...................................................................................43
2.2 Interfaces designed using IDE for the E-Space Solutions System......................................47

2.2.1 Integrated Development Environment (IDE)...............................................................47


2.2.2 Used IDE to design the system.....................................................................................47
2.2.3 Interfaces created using Visual Studio IDE..................................................................49
2.3 Security Mechanism............................................................................................................54

2.3.1 Security mechanisms implemented in the developed database....................................54


2.4 Evaluation of the effectiveness of the database solutions developed..................................55

2.5 Data Manipulation Language (DML) and Usage of SQL Statements.................................56

2.4.1 Select Command...........................................................................................................57


2.4.2 Where Command..........................................................................................................58
2.4.3 Insert Command............................................................................................................59

2
2.4.4 Update Command.........................................................................................................60
2.4.5 Between Command.......................................................................................................61
2.4.6 In Command.................................................................................................................62
2.4.7 Group by Command.....................................................................................................63
2.4.8 Order by Command......................................................................................................64
2.4.9 Having Command.........................................................................................................65
0.3 Activity 03...............................................................................................................................66
3.1 Database Testing..................................................................................................................66

3.1.1 Levels of Testing..........................................................................................................66


3.1.2 Test Methods................................................................................................................67
3.2 Test plan to test the E-Space Solutions System...................................................................69

3.3 Test Cases for the E-Space Solutions System.....................................................................71

3.4 Effectiveness of Testing....................................................................................................102

0.4 Activity 04.............................................................................................................................104


4.1 User Feedback of the E-Space Solutions System..............................................................104

4.1.1 Google Form Created to Get the User Feedback........................................................104


4.1.2 Summary of the Questionnaire...................................................................................107
4.1.3 Recommendations and suggestions for the developed system according to the user
feedback...............................................................................................................................111
4.2 User Manual.......................................................................................................................112

4.2.1 Introduction.................................................................................................................112
4.2.2 Welcome page............................................................................................................113
4.2.3 Login Page..................................................................................................................113
4.2.4 Dashboard...................................................................................................................114
4.2.5 Colonist Registration Page.........................................................................................115
4.2.6 Pilot Registration Page...............................................................................................116
4.2.6 House Assignment Page.............................................................................................117
4.2.7 Job Assignment Page..................................................................................................118
4.2.8 Trip Information Page.................................................................................................119
4.2.9 E-Jet Information Page...............................................................................................120
4.3 Technical Documentation..................................................................................................121

3
4.3.1 Introduction.................................................................................................................121
4.3.2 User Requirements......................................................................................................122
4.3.3 Software Requirements...............................................................................................123
4.3.4 Hardware Requirements.............................................................................................123
4.3.5 Use Case Diagram......................................................................................................123
4.3.6 Data Flow Diagram.....................................................................................................125
4.3.7 Flow Chart..................................................................................................................127
4.3.7 Database Design.........................................................................................................130
4.3.8 Visual Studio forms and Source codes.......................................................................131
4.4 Potential Future Enhancements for the E-Space Solutions System...................................142

References....................................................................................................................................143

4
Table of Figures
Figure 1: ER Diagram of E-Space Solutions System....................................................................31
Figure 2: Relational Schema of E-Space Solutions System..........................................................33
Figure 3: Wireframe of Colonist Registration...............................................................................35
Figure 4: Wireframe of Pilot Registration.....................................................................................35
Figure 5: Wireframe of House Assignment...................................................................................36
Figure 6: Wireframe of Job Assignment.......................................................................................36
Figure 7: Wireframe of Trip Information......................................................................................37
Figure 8: Wireframe of E-Jet Information.....................................................................................37
Figure 9: SQL code for creating database.....................................................................................40
Figure 10: SQL code of creating data table (Colonist)..................................................................40
Figure 11: SQL code of creating data table (Pilot)........................................................................41
Figure 12: SQL code of creating data table (Job & House)..........................................................41
Figure 13: SQL code of creating data table (E-Jet & Trip)...........................................................42
Figure 14: Data validations in Colonist table................................................................................43
Figure 15: Data validations in the Pilot table................................................................................43
Figure 16: Data validation in E-Jet table.......................................................................................44
Figure 17: Data validation in House table.....................................................................................44
Figure 18: Data validation in Job table..........................................................................................45
Figure 19: Data validation in Trip table........................................................................................45
Figure 20: Visual Studio IDE........................................................................................................47
Figure 21: SQL Server Management Studio IDE..........................................................................47
Figure 22: User Interface (1).........................................................................................................48
Figure 23: User Interface (2).........................................................................................................49
Figure 24: User Interface (3).........................................................................................................49
Figure 25: User Interface (4).........................................................................................................50
Figure 26: User Interface (5).........................................................................................................50
Figure 27: User Interface (6).........................................................................................................51
Figure 28: User Interface (7).........................................................................................................51
Figure 29: User Interface (8).........................................................................................................52
Figure 30: User Interface (9).........................................................................................................52

5
Figure 31: Grant command............................................................................................................53
Figure 32: Revoke command.........................................................................................................54
Figure 33: Query of select command (1).......................................................................................56
Figure 34: Query of select command (2).......................................................................................56
Figure 35: Query of where command (1)......................................................................................57
Figure 36: Query of where command (2)......................................................................................57
Figure 37: Query of insert command (1).......................................................................................58
Figure 38: Query of insert command (2).......................................................................................58
Figure 39: Query of update command (1).....................................................................................59
Figure 40: Query of update command (2).....................................................................................59
Figure 41: Query of between command (1)...................................................................................60
Figure 42: Query of between command (2)...................................................................................60
Figure 43: Query of In command (1).............................................................................................61
Figure 44: Query of In command (2).............................................................................................61
Figure 45:Query of Group by command (1)..................................................................................62
Figure 46: Query of Group by command (2).................................................................................62
Figure 47: Query of Order by command (1)..................................................................................63
Figure 48: Query of Order by command (2)..................................................................................63
Figure 49: Query of Having command (1)....................................................................................64
Figure 50: Query of Having command..........................................................................................64
Figure 51: Black box testing..........................................................................................................67
Figure 52: White box testing.........................................................................................................67
Figure 53: Test output 1.................................................................................................................70
Figure 54: Test output 2.................................................................................................................71
Figure 55: Test output 3.................................................................................................................72
Figure 56: Test output 4.................................................................................................................73
Figure 57: Test output 5.................................................................................................................74
Figure 58: Test output 6.................................................................................................................75
Figure 59: Test output 7.................................................................................................................76
Figure 60: Test output 8.................................................................................................................77
Figure 61: Test output 9.................................................................................................................78

6
Figure 62: Test output 10...............................................................................................................79
Figure 63: Test output 11...............................................................................................................80
Figure 64: Test output 12...............................................................................................................81
Figure 65: Test output 13...............................................................................................................82
Figure 66: Test output 14...............................................................................................................83
Figure 67: Test output 15...............................................................................................................84
Figure 68: Test output 16...............................................................................................................85
Figure 69: Test output 17...............................................................................................................86
Figure 70: Test output 18...............................................................................................................87
Figure 71: Test output 19...............................................................................................................88
Figure 72: Test output 20...............................................................................................................89
Figure 73: Test output 21...............................................................................................................90
Figure 74: Test output 22...............................................................................................................91
Figure 75: Test output 23...............................................................................................................92
Figure 76: Test output 24...............................................................................................................93
Figure 77: Test output 25...............................................................................................................94
Figure 78: Test output 26...............................................................................................................95
Figure 79: Test output 27...............................................................................................................96
Figure 80: Test output 28...............................................................................................................97
Figure 81: Test output 29...............................................................................................................98
Figure 82: Test output 30...............................................................................................................99
Figure 83: Test output 31.............................................................................................................100
Figure 84: Screenshot of Google Form 1....................................................................................104
Figure 85: Screenshot of Google Form 2....................................................................................104
Figure 86: Screenshot of Google Form 3....................................................................................104
Figure 87: Screenshot of Google Form 4....................................................................................104
Figure 88: Screenshot of Google Form 5....................................................................................105
Figure 89: Screenshot of Google Form 6....................................................................................105
Figure 90: Screenshot of Google Form 7....................................................................................105
Figure 91: Summary of the questionnaire (1)..............................................................................106
Figure 92: Summary of the questionnaire (2)..............................................................................106

7
Figure 93: Summary of the questionnaire (3)..............................................................................107
Figure 94: Summary of the questionnaire (4)..............................................................................107
Figure 95: Summary of the questionnaire (5)..............................................................................107
Figure 96: Summary of the questionnaire (6)..............................................................................108
Figure 97: Summary of the questionnaire (7)..............................................................................108
Figure 98: Summary of the questionnaire (8)..............................................................................108
Figure 99: Summary of the questionnaire (9)..............................................................................109
Figure 100: Summary of the questionnaire (10)..........................................................................109
Figure 101: Summary of the questionnaire (11)..........................................................................110
Figure 102:Welcome page of the system.....................................................................................112
Figure 103: Login page of the system.........................................................................................112
Figure 104: Dashboard of the system..........................................................................................113
Figure 105: Colonist registration page of the system..................................................................114
Figure 106: Pilot registration page of the system........................................................................115
Figure 107: House assignment page of the system......................................................................116
Figure 108: Job assignment page of the system..........................................................................117
Figure 109: Trip information page of the system........................................................................118
Figure 110: E-Jet information page of the system.......................................................................119
Figure 111: Logo of SQL Server Management Studio................................................................121
Figure 112: Logo of Visual Studio..............................................................................................121
Figure 113: Logo of Figma..........................................................................................................121
Figure 114: Logo of draw.io........................................................................................................121
Figure 115: Use case diagram for the system..............................................................................123
Figure 116: DFD Level 0.............................................................................................................124
Figure 117: DFD Level 1.............................................................................................................125
Figure 118: Flow chart (1)...........................................................................................................126
Figure 119: Flow chart (2)...........................................................................................................127
Figure 120: Flow chart (3)...........................................................................................................128
Figure 121: ERD of the system...................................................................................................129
Figure 122: GUI 1........................................................................................................................131
Figure 123: Source code (1)........................................................................................................132

8
Figure 124: GUI 2........................................................................................................................132
Figure 125: Source code (2)........................................................................................................133
Figure 126: GUI 3........................................................................................................................133
Figure 127: Source code (3)........................................................................................................134
Figure 128: Source code (4)........................................................................................................134
Figure 129: GUI 4........................................................................................................................135
Figure 130: Source code (5)........................................................................................................135
Figure 131: GUI 5........................................................................................................................136
Figure 132: Source code (6)........................................................................................................136
Figure 133: GUI 6........................................................................................................................137
Figure 134: Source code (7)........................................................................................................137
Figure 135: GUI 7........................................................................................................................138
Figure 136: Source code (8)........................................................................................................138
Figure 137: GUI 8........................................................................................................................139
Figure 138: Source code (9)........................................................................................................139
Figure 139: GUI 9........................................................................................................................140
Figure 140: Source code 11.........................................................................................................140

9
Table of Tables
Table 1: Test case 1.......................................................................................................................70
Table 2: Test case 2.......................................................................................................................71
Table 3: Test case 3.......................................................................................................................72
Table 4: Test case 4.......................................................................................................................73
Table 5: Test case 5.......................................................................................................................74
Table 6: Test case 6.......................................................................................................................75
Table 7: Test case 7.......................................................................................................................76
Table 8: Test case 8.......................................................................................................................77
Table 9: Test case 9.......................................................................................................................78
Table 10: Test case 10...................................................................................................................79
Table 11: Test case 11...................................................................................................................80
Table 12: Test case 12...................................................................................................................81
Table 13: Test case 13...................................................................................................................82
Table 14: Test case 14...................................................................................................................83
Table 15: Test case 15...................................................................................................................84
Table 16: Test case 16...................................................................................................................85
Table 17: Test case 17...................................................................................................................86
Table 18: Test case 18...................................................................................................................87
Table 19: Test case 19...................................................................................................................88
Table 20: Test case 20...................................................................................................................89
Table 21: Test case 21...................................................................................................................90
Table 22: Test case 22...................................................................................................................91
Table 23: Test case 23...................................................................................................................92
Table 24: Test case 24...................................................................................................................93
Table 25: Test case 25...................................................................................................................94
Table 26: Test case 26...................................................................................................................95
Table 27: Test case 27...................................................................................................................96
Table 28: Test case 28...................................................................................................................97
Table 29: Test case 29...................................................................................................................98
Table 30: Test case 30...................................................................................................................99

10
Table 31: Test case 31.................................................................................................................100

11
0.1 Activity 01

1.1 User and system requirements of the E-Space Solutions System.


User requirements are users' specific needs, expectations, and desires for the system. Identifying
and analysing user requirements are critical to developing a successful, user-friendly, and
market-appropriate system (Anon., n.d.).
System requirements are the elements that a system has to fulfil to meet the needs of its users.
These specifications may cover a wide range of elements, including connection, software, and
hardware. Fulfilling these prerequisites guarantees that the program operates without hiccups or
incompatibilities (Anon., 2024).
The following are the user and system requirements of the E-Space solution system:

1.1.1 User Requirements


1. System Administrators
Role: Manage user access, databases, security etc.
2. Astronomers
Role: View trip details, manage passenger lists, and manage E-Jets.
3. Colonists
Role: Input details, choose job assignments, and get houses on Mars
4. Data entry operators
Role: Input and update colonist details, manage trip details, assign houses to colonists,
and input colonist job assignments.
5. Colony Superintendent
Role: Generate reports on colonists, job assignments and house assignments.

1.1.2 System Requirements


1. Data storage :
Store data about colonists, dependents, E-Jets, trips, houses, etc.
2. Security :
Restrict sensitive data access based on user roles.

12
3. Scalability :
The database could handle more colonists, trips, E-Jets, houses, etc.
4. Data integrity :
Colonist data, family details, job assignments, and trip records should be accurate and
consistent.
5. Reporting functions :
Ability to generate reports on job assignments, E-Jet trip details, trip passengers, etc.

1.2 ER Diagram for the E-Space Solutions System

Entity Relationship Diagram (ERD) is a visual representation that illustrates the relationship
between entities and attributes of the database. There are three main elements in ERD. They are
entities, attributes and relationships.
The following is the ER diagram (figure 1) designed for the E-Space Solutions System. Draw.io
online tool was used to draw the ER Diagram. There are seven entities: Colonist, Astronomer,
Trip, House, Dependents, Job and E-Jet

13
Figure 1: ER Diagram of E-Space Solutions System

1.3 Relational Schema

The design or the structure of the database is known as relational schema. It is an arrangement of
integrity constraints. It also shows what connections make up the database. The relational
schema is a view of the shape, blueprint or design of the sets of information within the database.

14
A relational schema includes many items to represent data connections in the database. Tables
are a main component in the relational schema. Entities of the ER diagram are represented by
using tables here. The purpose of tables in a relational database schema is to organize groups of
data that developers could implement in their databases. Attributes of the ER diagram are stored
in those tables. Primary keys and foreign keys are mentioned in the tables. Each table has a
unique primary key. Foreign keys are used to identify links between tables. Relations between
tables are represented by using arrows (Indeed Editorial Team, 2024).

Relational schema can help significantly with the organization of data in the database. It allows
for the accuracy and integrity of data in the database. Also, a clear relational schema is easy to
read and understand, which makes the tables and sets of information accessible (Indeed Editorial
Team, 2024).

The following figure 2 shows the relational schema designed for the E-Space Solutions System.
It includes seven tables chosen from the database.

15
Figure 2: Relational Schema of E-Space Solutions System

1.4 Normalization

Normalization is the process of grouping data in a relational database design that will eliminate
data redundancies and remove data anomalies. Redundancy in relation may cause insertion,
deletion, and update anomalies. When the database does not support inserting a new tuple into a
relationship due to a lack of data, it is known as an insertion anomaly. The situation where the
deletion of data results in the unintended loss of some other important data, is known as deletion
anomaly. An updating anomaly is when an updating of a single data value requires multiple rows
of data to be updated. There are 4 types of normalizations, 1 st normal form, 2nd normal form, 3rd
normal form and Boyce Codd normal form. Normalization helps to minimize data redundancy. It
ensures that data is stored consistently and organised, reducing the risk of data inconsistencies

16
and errors. It reduces the complexity of a database by breaking it down into smaller, more
manageable tables, making it easier to add, modify, and delete data (Anon., 2024).

According to the ER diagram and relational schema, the E-Space Solutions database does not
contain data redundancies and anomalies, so there is no need to normalise it.

1.5 User Interfaces for the above scenario

1.5.1 User Interface

A User Interface is a digital interface where the user interacts with the system's graphical
elements. In a User Interface, visual elements represent actions users can take, objects that users
can manipulate, and other information relevant to the user. Some common visual elements
include the mouse pointer, buttons, icons, menus, toolbars, and ribbons (Juviler, 2024).

1.5.2 Wireframe used to create User Interfaces.

A wireframe is a basic visual representation of elements on a website or a sketch of a website.


Wireframing is the process of creating a website service at the structural level. Before visual
design and content are included, wireframes are used early in the development process to
determine the basic structure of a page (Anon., 2024).
To create wireframes for this scenario, I used Figma, a powerful design tool that allows for the
creation of interactive and intuitive wireframes. Figma assisted in visualizing the user interface
while maintaining a flexible and cooperative design process. I created six User Interfaces to
register colonists, register pilots, register E-Jets, assign houses, assign jobs, and assign trips.

17
1.5.2 Created Wireframes for the above scenario
The created wireframes are given in figures 3-8.

Figure 3: Wireframe of Colonist Registration

Figure 4: Wireframe of Pilot Registration

18
Figure 5: Wireframe of House Assignment

Figure 6: Wireframe of Job Assignment

19
Figure 7: Wireframe of Trip Information

Figure 8: Wireframe of E-Jet Information

20
1.6 Evaluation of the effectiveness of the given design

The database design of E-Space Solutions meets user and system requirements. The role of the
System Administrator is to manage user access and database. This system design includes many
tables such as colonist, astronomer, department, E-Jet, and trip to handle the database easily.
This design includes primary keys and foreign keys which help to ensure data integrity which
helps the System Administrator. For the colonists, the system design allows clear tracking of
their family details, trip details, house details etc. And also system design track on their jobs and
roles on Mars. Astronomers have access to trip details, E-Jet information, and colonists’
information who are assigned to the trips. Colony superintendents can generate reports on
colonists, house allocations, job allocations etc. Since the details of colonists, houses and jobs are
recorded in the system, it is easy to retrieve information for generating reports.
In conclusion, this system design effectively meets user and system requirements. It supports
data integrity, security, and scalability, which help manage them. Also, this system design can be
expanded according to future enhancements.

0.2 Activity 02

2.1 Database for E-Space Solutions System


The database of the E-Space solutions system is created to meet the user and system
requirements identified. Also. It is created to support data integrity, security, and scalability.

21
2.1.1 Software used to create the database
SQL Server Management Studio is the software that is used to create the E-Space Solutions
Database. It is an integrated environment for managing any SQL infrastructure. The following
are the reasons to choose SQL Server Management Studio to create this database. SQL Server
Management Studio can be installed easily and contains excellent compression and encryption
capabilities that result in improved data storage and retrieval functions. Also, it gives user-
friendly interfaces which are helpful when designing and coding.

2.1.2 Database created


The E-Space Solutions System is created with six tables. As follows,
 Colonist
 Pilot
 Trip
 House
 E-Jet
 Job
SQL code for creating the database is given in Figure 9. SQL codes for creating different data
tables are given in Figures 9 - 13.

22
Figure 9: SQL code for creating database

Figure 10: SQL code of creating data table (Colonist)

23
Figure 11: SQL code of creating data table (Pilot)

Figure 12: SQL code of creating data table (Job & House)

24
Figure 13: SQL code of creating data table (E-Jet & Trip)

2.1.3 Data Validation in the Database


The process of making sure that information entered into a database is correct, consistent, and
complies with certain standards or guidelines before storage is known as data validation. This
procedure ensures that the data complies with the required format or constraints, helps maintain
data integrity, and avoids errors (Taylor, n.d.).
SQL provides several built-in mechanisms to perform data validation when inserting or updating
records. Following are the data validation techniques in SQL:
 NOT NULL Constraint
 UNIQUE Constraint
 CHECK Constraint
 PRIMARY KEY Constraint
 FOREIGN KEY Constraint

The above data validations have been done in the E-Space Solutions System. The followings are
the evidence:

25
Data validation in the Colonist table shown in Figure 14

Figure 14: Data validations in Colonist table

Data validation in the Pilot table shown in Figure 15

Figure 15: Data validations in the Pilot table

Data validation in the E-Jet table shown in Figure 16

26
Figure 16: Data validation in E-Jet table

Data validation in the House table shown in Figure 17

Figure 17: Data validation in House table

Data validation in the Job table shown in Figure 18

27
Figure 18: Data validation in Job table

Data validation in the Trip table shown in Figure 19

Figure 19: Data validation in Trip table

28
2.2 Interfaces designed using IDE for the E-Space Solutions System

2.2.1 Integrated Development Environment (IDE)

An Integrated Development Environment (IDE) is a software application that helps programmers


develop software code efficiently. IDEs offer features for editing, building, and testing systems.
Development tools often include text editors, code libraries, compilers and test platforms.
Without an IDE, a developer must select, deploy, integrate and manage all of these tools
separately. An IDE brings many of those development-related tools together as a single
framework, application or service (Gillis, n.d.).
An IDE typically contains a code editor, a compiler or interpreter, and a debugger, accessed
through a single graphical user interface (GUI). The user writes and edits source code in the code
editor. The compiler translates the source code into a readable language that is executable for a
computer. The debugger tests the software to solve any issues or bugs. An IDE can also contain
features such as programmable editors, object and data modelling, unit testing, a source code
library and build automation tools (Anon., 2024) (Gillis, n.d.).

2.2.2 Used IDE to design the system

Visual Studio IDE and SQL Server Management Studio are the IDEs used to create the E-Space
Solutions System (figure 20-21).

29
Figure 20: Visual Studio IDE

Figure 21: SQL Server Management Studio IDE

30
To design GUI interfaces used IDE is Visual Studio. It is a powerful developer tool that can be
used to complete the entire development cycle in one place. Beyond code editing and debugging,
Visual Studio includes compilers, code completion tools, source control, extensions, and many
more features to enhance every stage of the software development process. Visual Studio IDE
helps users to easily browse the UI so they can write their code quickly and precisely. It offers
some debugging tools and it is important for developers to quickly identify potential errors in the
code.
To design the database used IDE is SQL Server Management Studio. It is an integrated
environment for managing any SQL infrastructure. It is used to configure, manage, and
administer all components within SQL Server, including databases, SQL Server instances, and
SQL scripts. It provides a rich graphical interface to interact with SQL Server instances, allowing
users to configure, manage, and administer databases. Key features of SSMS include the Object
Explorer, Query Editor etc.

2.2.3 Interfaces created using Visual Studio IDE

The created interfaces by using Visual Studio are given in Figures 22-30.

Figure 22: User Interface (1)

31
Figure 23: User Interface (2)

Figure 24: User Interface (3)

32
Figure 25: User Interface (4)

Figure 26: User Interface (5)

33
Figure 27: User Interface (6)

Figure 28: User Interface (7)

34
Figure 29: User Interface (8)

Figure 30: User Interface (9)

35
2.3 Security Mechanism
A database's safety mechanism serves as a safeguard against misuse or illegal access to the data.
It ensures the data stored in the database can only be viewed, updated, or deleted by the
appropriate individuals. Security features guarantee that the database is utilized appropriately and
assist protect sensitive data (Anon., 2021).

2.3.1 Security mechanisms implemented in the developed database


SQL Server Management Studio use various commands to implement security on databases. .
These commands allow database user to control who can access the database, what actions they
can perform, and which objects they can interact with. Security mechanisms include Grant,
Revoke, Deny, Create user etc. By using data validation features like Check constraints, foreign
keys, and triggers database security can be optimized. These ensures that only valid data is
entered into the system, reducing the risk of data corruption or inconsistent information.

Basic security mechanisms, Grant and Revoke commands are implemented in the E-Space
Solutions Database (Figure 31-32).

Figure 31: Grant command

36
Figure 32: Revoke command

2.4 Evaluation of the effectiveness of the database solutions developed

E-Space Solutions database system tracks data about colonists, their dependents, pilots
(astronomers), E-Jets, House assignments, Job Assignments etc. The system ensures that the data
are accurately stored. For example, it ensures that data on each colonist such as ID, name, age,
gender, contact number, civil status, and family details is accurately captured. This structure
supports database users such as data entry operators, system administrators, colony
superintendents, astronomers and colonists.

The database supports scalability, security and data integrity. The system is scalable to support
an increasing number of colonists and associated data, quickly updated, and queryable for
pertinent reports. Also, the integrity and consistency of data are maintained, especially for
complex relationships such as colonists.

Implemented role-based access control ensures that users only have access to the information
they require. For example, the DataEntryOperator position is limited to reading and altering
basic colonist data, whereas an Administrator has complete power over the database. This
ensures the security of the system.

37
In general, the database design ensures that user access is appropriately controlled, data integrity
is maintained, and security protocols are adhered to. Utilizing these standards, the database
solution will assist the Mars Colonization initiative in reaching its goals while safeguarding
sensitive information and ensuring the system's capacity to expand with future developments.

2.5 Data Manipulation Language (DML) and Usage of SQL Statements

SQL statements are a set of instructions that are used to perform actions in a database. SQL
statements consist of keywords that are easy to understand.

Data Manipulation Language (DML) is a set of SQL commands used to manipulate data within
database tables or query views. It is a collection of operations utilized for inserting, deleting, and
updating information within a database. It performs interpret-only data queries. It is used in a
database schema to recall and manipulate information (Luchmee, 2024).

The data recorded in the database can be changed via DML statements. It allows for efficient
interaction between humans and machines. DML aims to offer a wide range of features and
options across database operators. However, DML cannot be used to change the structure of the
database (Anon., 2024).

The main difference between DML and SQL statements is that SQL is used to create, modify, or
destroy objects within DBMS, while the DML is the domain of INSERT, UPDATE, and
DELETE used to manipulate data.

Some Data Manipulation Language (DML) commands and SQL commands are as follows:

2.4.1 Select Command


This command is used to get data out from the data table. It allows to access data within a
database. This command is helpful when retrieving important data, such as colonists'

38
information, trips, and E-Jet assignments. They allow users to filter and find specific records.
Examples from the database:
1. Selecting all columns from a table (figure 33)

Figure 33: Query of select command (1)

2. Selecting specific columns from a table (figure 34)

Figure 34: Query of select command (2)

39
2.4.2 Where Command
This command is used to extract only those records that fulfil a specified condition. This is
essential for adding new colonists, trips, E-Jet assignments, and job assignments, all of which are
crucial for the colonization process. Examples from the database:
1. Using to filter records by a specific value (figure 35)

Figure 35: Query of where command (1)

2. Using operators in where command (figure 36)

Figure 36: Query of where command (2)

40
2.4.3 Insert Command
This command is used to enter the information or values into a row. This allows for the updating
of records, such as modifying colonists' information or changing the scheduled trip date. It's
important for maintaining accurate and up-to-date data.
Examples from the database:
1. Inserting a single cell into a table (figure 37)

Figure 37: Query of insert command (1)

2. Inserting multiple rows (figure 38)

Figure 38: Query of insert command (2)

41
2.4.4 Update Command
This command is used to update or modify the existing data in database tables. This allows for
the updating of records, such as modifying colonists' information or changing the scheduled trip
date. It's important for maintaining accurate and up-to-date data. Examples from the database:
1. Update a single cell of a table (figure 39)

Figure 39: Query of update command (1)

2. Update Multiple columns (figure 40)

Figure 40: Query of update command (2)

42
2.4.5 Between Command
This command is used to select values within a given range. These operators help in filtering
data by specific ranges. The values can be numbers, text, or dates. Examples from the database:
1. Using the Between command with numerical data (figure 41)

Figure 41: Query of between command (1)

2. Using the Between command with text (figure 42)

Figure 42: Query of between command (2)

43
2.4.6 In Command
This command allows to specify multiple values in a WHERE clause. Examples from the
database:
1. Using the In command with numerical data (figure 43)

Figure 43: Query of In command (1)

2. Using the In command with texts (figure 44)

Figure 44: Query of In command (2)

44
2.4.7 Group by Command
The GROUP BY statement groups rows that have the same values into summary rows. These are
useful for reporting and aggregating data, such as counting how many colonists fall into each age
group or how many trips are scheduled for specific dates. This helps in summarizing large
datasets. Examples from the database:
1. Group colonists by their age and count how many colonists fall into each age group
(figure 45).

Figure 45:Query of Group by command (1)

2. Group trips by their date and count the number of trips on each date (figure 46).

Figure 46: Query of Group by command (2)

45
2.4.8 Order by Command
This command is used to sort the result set in ascending or descending order. Sorting is helpful
for presenting data in a meaningful way, such as displaying colonists ordered by age or trips
sorted by their scheduled date. Examples from the database:
1. Sorting to ascending order(figure 47)

Figure 47: Query of Order by command (1)

2. Sorting to descending order (figure 48)

Figure 48: Query of Order by command (2)

46
2.4.9 Having Command

Having command is used to filter the rows of the table. (Figure 49-50)

Figure 49: Query of Having command (1)

Figure 50: Query of Having command

47
0.3 Activity 03

3.1 Database Testing

Database testing is a type of software testing process that tests the consistency, tables, triggers,
schema, and data integrity. It is also known as black-end testing. It entails writing challenging
queries that are challenging to load, stress testing the database, and assessing how responsive it
is. Database testing helps in ensuring the effectiveness, optimal stability, performance, and
security of the database. It helps in verifying the validity of data values and the information
received and stored in the database. Additionally, it preserves data from cancelled transactions
and helps prevent data loss (Anon., 2024).

3.1.1 Levels of Testing


 Unit testing
 Integration testing
 Validation testing
o Alpha testing
o Beta testing
 Acceptance testing

Unit Testing
This is the first step in testing, which is used to evaluate algorithms, logic, data structures,
interfaces, etc. Unit testing allows developers to identify bugs early in the development cycle,
which not only saves time but also significantly reduces the cost of bug fixing (Dubey, 2023).

Integration Testing
Integration testing is a type of software testing in which the various parts, modules, or
components of a software program are tested as a single unit. Integration test ensures that
different modules and components of the software work together (Yasar, n.d.).

Validation Testing

48
Validation testing if the software meets all requirements defined in the SRS (Software
Requirement Specification).

Alpha and Beta Testing


Alpha and Beta testing are types of User Acceptance Testing. Alpha testing is carried out
internally by the development team during the early stages of the SDLC. Beta testing happens
later in the SDLC, just before product release, and is performed by potential customers, industry
experts, or public beta testers (Anon., 2024).

Acceptance testing
Acceptance testing is somewhat similar to validation testing. This guarantees that software aligns
with user needs. This is the last step of software testing before making the system available for
actual use (Anon., 2024).

3.1.2 Test Methods


 Black box testing
 White box testing

Black box testing


Testing the system without any knowledge about internal workings is known as black box
testing. The tester evaluates the system functionalities and does not have to access the source
code. Here the tester interacts with the system's user interface by providing inputs and examining
outputs without knowing how and where the inputs are worked upon (Anon., n.d.).

In black box testing, testers do not need technical knowledge, programming or IT skills. Also,
testers do not need to learn the implementation details of the system. It focuses on the external
behaviour of the system and helps to identify usability issues and ensure the software meets user
needs. Since testers are not considering the source code, this method is suitable for large code
segments.
However, the black box testing may not explore all possible code paths or internal logic,
potentially leaving certain defects undetected. If a test falls it is difficult to identify the root cause

49
of the issue. Performance-related issues and scalability problems may not be effectively
identified through black box testing alone (Das, 2024).

Figure 51: Black box testing

White box testing


White box testing, also known as glass box testing involves testing the internal structure, design,
and coding of the system. Here the tester creates test cases to examine code paths. (Taylor,
2020).
White box testing allows for continuous improvement of code and development practices. It
gives the ability to achieve complete code coverage. This method reduces communication
overhead between testers and developers.
Since white box testing tests internal structure and coding, it is a complex method. White Box
Testing requires a deep understanding of coding and implementation. So, this method needs
expertise in testing. Also, it is time time-consuming test method (Akhtar, 2024).

Figure 52: White box testing

50
3.2 Test plan to test the E-Space Solutions System

The test plan describes the methodology and strategy to verify that the database system
developed for E-Space Solutions satisfies the user and system requirements. This involves
verifying its capacity to securely and effectively function, enforce data relationships, and store
and retrieve data accurately. This plan focuses on the performance, functionality and security of
the developed system.

Scope of Testing:
In this test plan following parts are tested:
1. Data management
2. Interface usability
3. System Security
4. Query execution

Objectives of the test pan:


1. Ensures the database correctly stores and retrieves data.
This step focuses on validating the database’s storing and retrieving operations. The system
should allow various data entries and manage them. For example, Colonist data such as ID,
name, age etc. should store correctly in the database. This step also involves updating and
deleting functions and ensure database responds.

2. Verify the data integrity and database principles, such as Primary key and foreign key
Data integrity ensures that the data stored in the database is consistent, accurate, and dependable.
This includes verifying database principles, primary keys and foreign keys. Primary keys are the
uniquely identified records in each table and foreign keys are the records that maintain the
relationships between tables. In this step, invalid data such as duplicate data are removed. For
example, a record of dependent without a corresponding colonist can be removed. This step also
includes testing database constraints such as UNIQE, NOT NULL etc.

3. Verify the usability of the database system


This step ensures easy use of a system for all types of users, such as data entry operators,
administrators, jet pilots etc. This testing will assess the user interface to ensure that even non-

51
technical users can easily understand and use it. Buttons, labels, instructions and error messages
are tested in this step.

4. Verify the security of the system


Security testing will ensure that sensitive data, such as colonist personal details or trip schedules,
is accessible only to identified users. This involves testing the usernames and passwords of the
system.

Types of testing:
1. Functional testing: Test all the functions in the system such as inserting, updating, and
deleting data.
2. Validation testing: Test data integrity rules, primary keys and foreign keys
3. Security testing: Test access permissions to protect sensitive data from unauthorized
users.

Testing Approach:
The testing will be conducted in the following stages:
1. Test as individual database components, such as tables, constraints etc.
2. Test interactions between multiple components, including relationships between tables
and cascading operations.
3. Test the database as a whole, including query functionality, user interfaces, and data
reporting mechanisms.
4. Re-test the system after fixing any identified issues to ensure no new problems arise.
This plan ensures that the database system is systematically validated before delivery by offering
a defined basis for the testing process that follows.

3.3 Test Cases for the E-Space Solutions System.


Test cases are a fundamental part of software testing. It is a set of actions that verify whether the
software application is working per the identified requirements.
Below are the test cases for the E-Space Solutions System:

52
Test case 1
Table 1: Test case 1
Test ID: 001 Tester: John Doe
Test case: Login of the system Date: 19th December 2024
Steps to test:
1. Enter username
2. Enter password
3. Click on the Login button
Pre-define: Login form Post define: Display dashboard form
Expected output: Actual output:
Successful login message.

Figure 53: Test output 1

Test case 2
Table 2: Test case 2
Test ID: 00 Tester: John Doe
Test case: Test password protection. Date: 19th December 2024
Steps to test:

53
1. Enter an invalid username and password
2. Click on the Login button
Expected output: Actual output:
Should show an error message like
“Login Error”.

Figure 54: Test output 2

Test case 3
Table 3: Test case 3
Test ID: 003 Tester: John Doe
Test case: Register a colonist Date: 19th December 2024
Steps to test:

54
1. Enter data into the fields
2. Click on the Register button
Pre-define: Colonist form Post define: Colonist form
Expected output: Actual output:
Message showing Record added
successfully.

Figure 55: Test output 3

Test case 4
Table 4: Test case 4
Test ID: 004 Tester: John Doe
Test case: Update colonist data Date: 19th December 2024
Steps to test:

55
1. Update data in the fields
2. Click on the Update button
Pre-define: Colonist form Post define: Colonist form
Expected output: Actual output:
Message showing Record updated
successfully.

Figure 56: Test output 4

Test case 5
Table 5: Test case 5
Test ID: 005 Tester: John Doe
Test case: Search colonist data Date: 19th December 2024
Steps to test:

56
1. Type the colonist ID in the Colonist ID field
2. Click on the Search button
Pre-define: Colonist form Post define: Colonist form
Expected output: Actual output:
Colonist data is shown in the fields.

Figure 57: Test output 5

Test case 6
Table 6: Test case 6
Test ID: 006 Tester: John Doe
Test case: Clear data fields Date: 19th December 2024
Steps to test:

57
1. Click on the Clear button
Pre-define: Colonist form Post define: Colonist form
Expected output: Actual output:
Data fields should be clear.

Figure 58: Test output 6

Test case 7
Table 7: Test case 7
Test ID: 007 Tester: John Doe
Test case: Delete colonist records Date: 19th December 2024
Steps to test:

58
1. Click on the Delete button
Pre-define: Colonist form Post define: Colonist form
Expected output: Actual output:
The record should be deleted and show
a message saying “Record deleted”.

Figure 59: Test output 7

Test case 8
Table 8: Test case 8
Test ID: 008 Tester: John Doe
Test case: Register a pilot/astronomer Date: 19th December 2024
Steps to test:

59
1. Enter data into the fields
2. Click on the Register button
Pre-define: Pilot form Post define: Pilot form
Expected output: Actual output:
Message showing Record added
successfully.

Figure 60: Test output 8

Test case 9
Table 9: Test case 9
Test ID: 009 Tester: John Doe
Test case: Update pilot data Date: 19th December 2024
Steps to test:
1. Update data in the fields

60
2. Click on the Update button
Pre-define: Pilot form Post define: Pilot form
Expected output: Actual output:
Message showing Record updated
successfully.

Figure 61: Test output 9

Test case 10
Table 10: Test case 10
Test ID: 010 Tester: John Doe
Test case: Search pilot data Date: 19th December 2024
Steps to test:
1. Type the pilot ID in the Pilot ID field
2. Click on the Search button

61
Pre-define: Pilot form Post define: Pilot form
Expected output: Actual output:
Pilot data is shown in the fields.

Figure 62: Test output 10

Test case 11
Table 11: Test case 11
Test ID: 011 Tester: John Doe
Test case: Delete pilot records Date: 19th December 2024
Steps to test:
1. Click on the Delete button
Pre-define: Pilot form Post define: Pilot form

62
Expected output: Actual output:
The record should be deleted and show
a message saying “Record deleted”.

Figure 63: Test output 11

Test case 12
Table 12: Test case 12
Test ID: 012 Tester: John Doe
Test case: Assign house to colonist Date: 19th December 2024
Steps to test:
1. Enter house details into fields
2. Click on the Add Record button
Pre-define: House form Post define: House form

63
Expected output: Actual output:
The record should be added and show a
message saying “Record Added
Successfully”.

Figure 64: Test output 12

Test case 13
Table 13: Test case 13
Test ID: 013 Tester: John Doe
Test case: Update house details Date: 19th December 2024
Steps to test:
1. Enter updated details into fields
2. Click on the Update button
Pre-define: House form Post define: House form
Expected output: Actual output:

64
The record should be updated and show
a message saying “Record updated”.

Figure 65: Test output 13

Test case 14
Table 14: Test case 14
Test ID: 014 Tester: John Doe
Test case: Search house records Date: 19th December 2024
Steps to test:
1. Enter House ID on the House ID field
2. Click on the Search button
Pre-define: House form Post define: House form
Expected output: Actual output:
House details should be shown in fields

65
Figure 66: Test output 14

Test case 15
Table 15: Test case 15
Test ID: 015 Tester: John Doe
Test case: Delete house records Date: 19th December 2024
Steps to test:
ck on the Delete button
Pre-define: House form Post define: House form
Expected output: Actual output:
The record should be deleted and show
a message saying “Record deleted”.

66
Figure 67: Test output 15

Test case 16
Table 16: Test case 16
Test ID: 016 Tester: John Doe
Test case: Delete house records Date: 19th December 2024
Steps to test:
1. Click on the Delete button
Pre-define: House form Post define: House form
Expected output: Actual output:
The record should be deleted and show

67
a message saying “Record deleted”.

Figure 68: Test output 16

Test case 17
Table 17: Test case 17
Test ID: 017 Tester: John Doe
Test case: Assign a job to colonist Date: 19th December 2024
Steps to test:
1. Enter job details into fields
2. Click on the Add record button
Pre-define: Job form Post define: Job form
Expected output: Actual output:

68
The record should be added and show a
message saying “Record Added
Successfully”.

Figure 69: Test output 17

Test case 18
Table 18: Test case 18
Test ID: 018 Tester: John Doe
Test case: Update job details Date: 19th December 2024
Steps to test:
1. Enter updated details into fields
2. Click on the Update button
Pre-define: Job form Post define: Job form
Expected output: Actual output:
The record should be updated and show

69
a message saying “Record updated”.

Figure 70: Test output 18

Test case 19
Table 19: Test case 19
Test ID: 019 Tester: John Doe
Test case: Search job records Date: 19th December 2024
Steps to test:
1. Enter job code on Job code field
2. Click on the Search button
Pre-define: Job form Post define: Job form
Expected output: Actual output:
Job details should be shown in fields

70
Figure 71: Test output 19

Test case 20
Table 20: Test case 20
Test ID: 020 Tester: John Doe
Test case: Delete job records Date: 19th December 2024
Steps to test:
1. Click on the Delete button
Pre-define: Job form Post define: Job form
Expected output: Actual output:
The record should be deleted and show
a message saying “Record deleted”.

71
Figure 72: Test output 20

Test case 21
Table 21: Test case 21
Test ID: 021 Tester: John Doe
Test case: Add trip records Date: 19th December 2024
Steps to test:
1. Enter trip detail into fields
2. Click on the Add record button
Pre-define: Trip form Post define: Trip form
Expected output: Actual output:

72
The record should be added and show a
message saying “Record Added
Successfully”.

Figure 73: Test output 21

Test case 22
Table 22: Test case 22
Test ID: 022 Tester: John Doe
Test case: Update trip details Date: 19th December 2024
Steps to test:
1. Enter updated details into fields
2. Click on the Update button
Pre-define: Trip form Post define: Trip form
Expected output: Actual output:

73
The record should be updated and show
a message saying “Record updated”.

Figure 74: Test output 22

Test case 23
Table 23: Test case 23
Test ID: 023 Tester: John Doe
Test case: Search trip records Date: 19th December 2024
Steps to test:
1. Enter trip code on the field
2. Click on the Search button
Pre-define: Trip form Post define: Trip form
Expected output: Actual output:
Trip details should be shown in fields

74
Figure 75: Test output 23

Test case 24
Table 24: Test case 24
Test ID: 024 Tester: John Doe
Test case: Delete trip records Date: 19th December 2024
Steps to test:
1. Click on the Delete button
Pre-define: Trip form Post define: Trip form
Expected output: Actual output:
The record should be deleted and show

75
a message saying “Record deleted”.

Figure 76: Test output 24

Test case 25
Table 25: Test case 25
Test ID: 025 Tester: John Doe
Test case: Add jet information Date: 19th December 2024
Steps to test:
1. Enter jet details into fields
2. Click on the Add Record button
Pre-define: Jet form Post define: Jet form
Expected output: Actual output:

76
The record should be added and show a
message saying “Record Added
Successfully”.

Figure 77: Test output 25

Test case 26
Table 26: Test case 26
Test ID: 026 Tester: John Doe
Test case: Update jet details Date: 19th December 2024
Steps to test:
1. Enter updated details into fields
2. Click on the Update button
Pre-define: Jet form Post define: Jet form
Expected output: Actual output:

77
The record should be updated and show
a message saying “Record updated”.

Figure 78: Test output 26

Test case 27
Table 27: Test case 27
Test ID: 027 Tester: John Doe
Test case: Search jet records Date: 19th December 2024
Steps to test:
1. Enter jet ID on the field
2. Click on the Search button
Pre-define: Jet form Post define: Jet form
Expected output: Actual output:
Jet details should be shown in fields

78
Figure 79: Test output 27

Test case 28
Table 28: Test case 28
Test ID: 028 Tester: John Doe
Test case: Verify primary key Date: 19th December 2024
enforcement.
Steps to test:
1. Add a colonist record with an ID of 001.
2. Add another colonist with the same ID.
Expected output: Actual output:
The system should reject the second

79
record and show an error like
"Violation of Primary key constraint."

Figure 80: Test output 28

Test case 29
Table 29: Test case 29
Test ID: 029 Tester: John Doe
Test case: Verify foreign key Date: 19th December 2024
enforcement.
Steps to test:
1. Enter pilot ID on trip records which do not exist on the pilot table.

Expected output: Actual output:


The system should reject the record and

80
show an error like "Foreign key
constraint violation."

Figure 81: Test output 29

Test case 30
Table 30: Test case 30

Test ID: 030 Tester: John Doe


Test case: Verify UNIQUE Date: 19th December 2024
enforcement.
Steps to test:
1. Add an E-Jet record with the same Jet ID twice.

Expected output: Actual output:

81
The system should reject the second
entry with an error like "Violation of
Primary key constraint”.

Figure 82: Test output 30

Test case 31
Table 31: Test case 31
Test ID: 031 Tester: John Doe
Test case: Test navigation. Date: 19th December 2024
Steps to test:
1. Click on the Jet Information button.

Pre-define: Dashboard form Post define: Jet form


Expected output: Actual output:
The navigation should be smooth and

82
show the next form (Jet Information
form).

Figure 83: Test output 31

3.4 Effectiveness of Testing

Testing is essential in software development as it ensures the overall effectiveness and quality of
the system, benefiting multiple stakeholders, including users, developers, organizations, and the
market. Testing ensures the system has no errors or bugs before marketing it. Customer
expectations are met by a well-tested product, which boosts customer happiness, fosters loyalty,
and gives the business a competitive edge.

If there are any errors and bugs in the system while marketing, the customer will reject the
product thus it badly effect the sellers, producers and developers. The error identification, and
proposing and implementing solutions to overcome the errors is an additional expenditure to the
company. Most importantly it is extra hard work to make the customer satisfaction again and it

83
could be an additional task to promote the product second time to the customer who rejected the
product.

The identifying bugs in early in the development process prevents time and cost wastage. The
testing the system on time is important because it help to save time and cost. Otherwise, if the
bugs identified after selling, it will create many problems because the system already in the
market has to be collected back for fixing bugs and errors.

The testing is important to validate that the software functions going smoothly under various
conditions. This is help to improve reliability of the software.

Testing help to identify the security failures in the system. It ensures the system can handle
critical situations without crashing.

In the E-Space Solutions project, the testing plan was designed to validate the efficiency,
performance, and security of the developed database system, ensuring its usability and reliability.
It makes sure that the system works as expected and meets all the needs of its users.
The system was tested to check if it could handle basic tasks like adding, updating, and deleting
data. Examples:
 When colonist data such as Colonization ID, name, and age was entered, the system kept
and retrieved it accurately.
 When house details such as house type, and colonist arrival date were updated, the
system updated the data and stored it correctly.
 When the trip record was deleted by the tester, the system deleted the record.

These tests proved that the system could manage data correctly and without errors.
The database rules were validated to make sure that all data relationships were correct and
appropriate. This was accomplished by enforcing primary and foreign key rules. Example:
 The system ensured that the assigned pilot in the trip table could not exist in the database
without a specific pilot in the Pilot registration table.
 The system ensured that the assigned pilot in the E-Jet table could not exist in the
database without a specific pilot in the Pilot registration table.

84
Other rules such as UNIQUE Constraints were also tested. This process removed unnecessary
data and ensured the database was clean and reliable. Example:
 The system ensures that the same E-Jet ID cannot be used twice.

All buttons, instructions, and error messages were checked to make sure they worked well and
were easy to understand. This made sure even users with little technical knowledge could use the
system smoothly. Example:
Finally, the security of the system was tested. The system was checked to ensure that only
authorized users could access or change specific data. Example:
 If the user enters the correct username and password, the system allows logging in.

In terms of identifying and resolving issues like duplicate data and security flaws, the testing was
generally rather successful. It demonstrated that the system could manage huge amounts of data
and function effectively. In addition to providing flexibility for future enhancements, these tests
verified that the database is robust, secure, and prepared to meet the demands of E-Space
Solutions.

0.4 Activity 04

4.1 User Feedback of the E-Space Solutions System

User feedback is customer data on likes, dislikes, and comments about the product or service. It
helps to understand how well the product or service is meeting user needs. User feedback is
important for improvements of the product/service. To get user feedback surveys, questionnaires,
or interviews can be used.

4.1.1 Google Form Created to Get the User Feedback

A Google form was created to get user feedback for the E-Space Solutions system. It included an
introduction of the project and details about the created system, with 10 questions.

Screenshots of the created Google form:

85
Figure 84: Screenshot of Google Form 1 Figure 85: Screenshot of Google Form 2

Figure 86: Screenshot of Google Form 3 Figure 87: Screenshot of Google Form 4

86
Figure 88: Screenshot of Google Form 5 Figure 89: Screenshot of Google Form 6

Figure 90: Screenshot of Google Form 7

87
4.1.2 Summary of the Questionnaire
This Google form got 26 responses. Form the responders, 16 was non-technical users and 9 was
developers.

Figure 91: Summary of the questionnaire (1)

The summary of the responses is given below:

Figure 92: Summary of the questionnaire (2)

88
Figure 93: Summary of the questionnaire (3)

Figure 94: Summary of the questionnaire (4)

Figure 95: Summary of the questionnaire (5)

89
Figure 96: Summary of the questionnaire (6)

Figure 97: Summary of the questionnaire (7)

Figure 98: Summary of the questionnaire (8)

90
Figure 99: Summary of the questionnaire (9)

Figure 100: Summary of the questionnaire (10)

91
Figure 101: Summary of the questionnaire (11)

4.1.3 Recommendations and suggestions for the developed system according to the user
feedback

Based on the valuable feedback gathered from the users, several recommendations have been
proposed to improve the E-Space Solutions system. These suggestions aim to enhance the
system's functionality, security, and usability to better support the Mars Colonization project.

E-Space Solutions system has received a generally positive evaluation, with an average rating of
4.16 for overall performance, indicating that users find the system to be effective and reliable.
The majority of respondents praised the system's user-friendly interface, ease of data entry, and
flexible architecture, making it suitable for the Mars Colonization project.

Based on the feedback received from users, several valuable suggestions have been made to
enhance the E-Space Solutions system to better support the Mars Colonization project. Security
is a one of the area mentioned by users, with suggestion to improve multi-factor authentication to

92
improve the protection of data in the system. This would add an extra layer of security,
mitigating potential risks associated with unauthorized access.

Users suggested enhancing the architecture of the system to ensure the project's long-term
success. Improving network/cloud security was additionally mentioned as a way to protect the
expanding volumes of confidential data and avoid potential cyber threats.

Some users also suggested increasing the system's data collection capabilities. It was suggested
that family member information be included in the data entry forms, as some colonists travel
with family members. Collecting such information would help with resource allocation and
housing placements. Furthermore, biomedical data and personal hobbies were suggested as
helpful data points to include because they can provide vital insights into the colonists' physical
and psychological preparation, thus improving their overall well-being during the project.

Although the system is generally viewed as effective and user-friendly, these recommendations
aim to better improve its functionality, security, and user experience to ensure its success in
assisting the Mars Colonization project in the future.

4.2 User Manual

4.2.1 Introduction

Welcome to the E-Space Solutions Mars Colonization System. This system is designed to assist
in the management of colonists, their families, E-Jets, trips, houses, and jobs for the Mars
colonization project.

93
4.2.2 Welcome page

This is the Welcome page of


the E-Space Solutions System.
Click on Login to get started.

Figure 102:Welcome page of the system

4.2.3 Login Page

This is the Login page of the E-Space


Solutions System.
1. To access the system, enter your
username and password into the
login screen and click on the Login
button.
2. To clear data fields click on the
Clear button.
3. To Exit from the system, click on
the Exit button.
Upon successful login, you will be
directed to the system’s main Figure 103: Login page of the system

interface (Dashboard).

94
4.2.4 Dashboard

This is the Dashboard of the E-Space Solutions System. To access specific pages click on the
buttons.

Figure 104: Dashboard of the system

1. Colonist Registration button - Click on this to navigate the Colonist Registration page.
2. Pilot Registration button - Click on this to navigate to the Pilot Registration page.
3. House Assignment button - Click on this to navigate to the House Assignment page.
4. Job Assignment button - Click on this to navigate to the Job Assignment page.
5. Trip Information button - Click on this to navigate to the Trip Information page.
6. Jet Information button - Click on this to navigate to the Trip Information page.

4.2.5 Colonist Registration Page

This is the Colonist Registration page of the E-Space Solutions System.

95
Figure 105: Colonist registration page of the system

1. Enter colonist details into data fields.


2. If the colonist has dependents, their data should be entered into the Dependents data
fields.
3. You can add colonists’ job interests to the system, so it’s easy to assign jobs to colonists
on Mars.
4. Click on the Register button to register colonist details to the system. And the system will
store the details.
5. If you want to update colonist data, enter updated data into fields and click on the update
button.
6. To search colonist details, click on the Search button. Colonist details will be shown in
the data fields.
7. If you want to delete a record, click on the Delete button. The system will delete the
specific record.
8. To navigate to the dashboard, click on the arrow on the left side of the page.

96
4.2.6 Pilot Registration Page

This is the Pilot Registration page of the E-Space Solutions System.

Figure 106: Pilot registration page of the system

1. Enter pilot details into data fields.


2. Date of birth should be selected from the calendar.
3. You have to select qualifications and space hours from the list.
4. Qualification description and About the E-Jet are optional fields, if there are no details to
add you can skip those fields.
5. Click on the Register button to register pilot details to the system. And the system will
store the details.
6. If you want to update pilot details, enter updated data into fields and click on the update
button.
7. To search pilot details, click on the Search button. Pilot details will be shown in the data
fields.
8. If you want to delete a record, click on the Delete button. The system will delete the
specific record.
9. To navigate to the dashboard, click on the arrow on the left side of the page.

97
4.2.6 House Assignment Page

This is the House Assignment page of the E-Space Solutions System.

Figure 107: House assignment page of the system

1. Enter House details into data fields.


2. You have to select a house type from the list.
3. If you are living with family members (dependents) in Mars, you have to add the number
of family members
4. Click on the Register button to add the record to the system. And the system will store the
details.
5. If you want to update the house record, enter updated data into fields and click on the
update button.
6. To search the house record, click on the Search button. Data will be shown in the data
fields.
7. If you want to delete a record, click on the Delete button. The system will delete the
specific record.
8. To navigate to the dashboard, click on the arrow on the left side of the page.

98
4.2.7 Job Assignment Page

This is the Job Assignment page of the E-Space Solutions System.

Figure 108: Job assignment page of the system

1. Enter Job details into data fields.


2. Click on the Add record button to add the record to the system. And the system will store
the details.
3. If you want to update the job record, enter updated data into fields and click on the update
button.
4. To search the job record, click on the Search button. Data will be shown in the data
fields.
5. If you want to delete a record, click on the Delete button. The system will delete the
specific record.
6. To navigate to the dashboard, click on the arrow on the left side of the page.

99
4.2.8 Trip Information Page

This is the Trip Assignment page of the E-Space Solutions System.

Figure 109: Trip information page of the system

1. Enter trip details into data fields.


2. The departure date and return date should be selected from the calendar.
3. The assigned E-Jet’s ID and assigned pilot’s ID should be entered into the system.
4. Click on the Add Record button to add the record to the system. And the system will
store the details.
5. If you want to update the record, enter updated data into fields and click on the update
button.
6. To search the trip record, click on the Search button. Data will be shown in the data
fields.
7. If you want to delete a record, click on the Delete button. The system will delete the
specific record.
8. To navigate to the dashboard, click on the arrow on the left side of the page.

100
4.2.9 E-Jet Information Page

This is the E-Jet information page of the E-Space Solutions System.

Figure 110: E-Jet information page of the system

1. Enter E-Jet details into data fields.


2. The jet type, number of seats, engine type, and weight should be selected from the list.
3. The made year should be selected from the calendar.
4. Click on the Add Record button to add the record to the system. And the system will
store the details.
5. If you want to update the record, enter updated data into fields and click on the update
button.
6. To search the trip record, click on the Search button. Data will be shown in the data
fields.
7. If you want to delete a record, click on the Delete button. The system will delete the
specific record.
8. To navigate to the dashboard, click on the arrow on the left side of the page.

101
4.3 Technical Documentation

4.3.1 Introduction
System overview:
The E-Space Solution Database system is developed to manage all the data associated with
colonists, dependents, pilots, e-jets, trips, houses, etc. It supports features such as:
 Registering colonists and their dependents
 Registering pilots
 Managing e-jets
 Managing trips
 Assigning houses
 Assigning jobs

Purpose of the system:


The system is developed for the E-Space Solutions Project and the purpose of the system is to
provide an organized database to store and retrieve all the data which ensures consistency and
accuracy.

Technologies used:
 SQL Server Management Studio used to design database
 Visual Studio used to design GUIs and code main functions
 Figma online tool used to design wireframes
 Draw.io online tool used to create diagrams

102
Figure 111: Logo of SQL Server Management Studio Figure 112: Logo of Visual Studio

Figure 113: Logo of Figma


Figure 114: Logo of draw.io

4.3.2 User Requirements

Following are the identified user requirements in the E-Space Solutions system:
1. Admin Users: System administrators who have full control over the system, including
access to all data, user management, and system settings.
2. Data Entry Operators: Responsible for entering and updating colonist, pilot, house, and
job data.
3. Astronomers (Pilots): Have limited access to view trip details and E-Jet assignments.
4. Colony Superintendents: Can view reports related to colonist assignments, houses, and
jobs.

103
4.3.3 Software Requirements

The following are the identified software requirements in the E-Space Solutions system:
1. Operating System: Microsoft Windows 10 or higher (64-bit).
2. SQL Server Management Studio (SSMS): Version 2017 or higher for database
management.
3. Visual Studio: Version 2019 or higher for application development.

4.3.4 Hardware Requirements

1. Processor: Intel Core i5 or higher.


2. RAM: Minimum 8 GB RAM.
3. Hard Drive: Minimum 500 GB HDD or 256 GB SSD.
4. Graphics: Integrated graphics card (for basic use).
5. Display: 1920 x 1080 resolution or higher for the GUI.
6. Network: Stable internet connection for cloud-based services and updates.

4.3.5 Use Case Diagram

A Use Case Diagram is a type of diagram in Unified Modeling Language (UML) that provides a
graphical representation of a system's functionality from the user's perspective. Below is the Use
case diagram drawn for E-Space Solutions Database System:

104
Figure 115: Use case diagram for the system

105
4.3.6 Data Flow Diagram

A Data Flow Diagram (DFD) is a graphical representation of the flow of data within a system. It
illustrates how data moves from one part of the system to another, showing the processes that
transform the data and the sources or destinations of the data. DFDs can be created at different
levels of abstraction.

Level 0 DFD
A Data Flow Diagram (DFD) Level 0 provides a high-level overview of a system. It shows
major processes, external entities, and data flows without delving into detailed interactions. It
captures the system's main functions. The following is the DFD level 0 drawn for the E-Space
Solutions System:

Figure 116: DFD Level 0

Level 1 DFD

106
DFD Level 1 provides a more detailed breakdown of the processes identified in Level 0. It
decomposes the high-level process into sub-processes, showing the internal workings of the
system and how data is processed at a finer level of detail. The following is the DFD level 1
drawn for the E-Space Solutions System:

Figure 117: DFD Level 1

107
4.3.7 Flow Chart
A flowchart is a graphical representation of the program or the algorithm for a better
understanding of it. It displays step-by-step solutions to a problem, algorithm, or process.
Symbols such as oval to show terminal, rectangle to show process, diamond to show decision,
and parallelogram to show data or input/output are used to draw flow charts.
Below is the flow chart drawn for the E-Space Solutions Database System.

Figure 118: Flow chart (1)

108
Below is the flow chart drawn for the colonist form of the E-Space Solutions Database System

Figure 119: Flow chart (2)

109
Below is the flow chart drawn for the trip form of the E-Space Solutions Database System

Figure 120: Flow chart (3)

4.3.7 Database Design

The following ERD shows the design of the database:

110
Figure 121: ERD of the system

Entities:
1. Colonist: Represents individuals willing to go to Mars. Attributes include ColonistID,
FullName, DateOfBirth, Age, ContactNo, EarthAddress, Gender, JobID, CivilSatatus.

111
2. Dependents:Represents family members of colonist. Attributes include DependentID,
DependentName, Gender, ColonistID.
3. House: Represents house assigned to colonis. Attributes include HouseID, Type,
HouseAddress, SquareFootage, ColonistID, NoOfRooms
4. Job: Represents job assigned to colonists, Attributes include JobID, JobTitle,
JobStartDate, Location, JobLevel
5. Trip: Represents a trip to Mars. Attributes include TripID, JetCode, LaunchDate,
ReturnDate, PassengerCount, PilotAssigned
6. E-Jet:Represents a spacecraft used to trip. Attributes include E-JetID, TripID,
AstronomerID, Weight, MadeYEar, NoOfSeats
7. Astronomer/Pilot: Represents the pilot assigned to operate E-Jets. Attribute include
AstronomerID, FullName, DateOfBirth, Age, Gender, SpaceHours, Qualifications

Relationships:
1. Colonist to Dependent: One-to-many relationship
2. Colonist to House: One to Many relationship
3. Colonist to Job: One-to-many relationship
4. Colonist to Trip: One-to-many relationship
5. E-Jet to Trip: One to Many Relationship
6. Astronomer to E-Jet: Many to many relationships
7. Astronomer to Trip: One to many relation

4.3.8 Visual Studio forms and Source codes

To create the E-Space Solutions System following forms were created in Visual Studio.
 Starting form
 Login form
 Dashboard form
 Colonist registration form
 Pilot registration form
 House assignment form

112
 Job assignment form
 E-Jet details form
 Trip details form

Starting Form
Graphic User Interface:

Figure 122: GUI 1

Source Code:

113
Figure 123: Source code (1)

Login Form
Graphic User Interface

Figure 124: GUI 2

Source code:

114
Figure 125: Source code (2)

Components Form
Graphic User Interface:

Figure 126: GUI 3

Source Code:

115
Figure 127: Source code (3)

Figure 128: Source code (4)

Colonist Registration Form


Graphic User Interface:

116
Figure 129: GUI 4

Source Code:

Figure 130: Source code (5)

Pilot registration form


Graphic User Interface:

117
Figure 131: GUI 5

Source Code:

Figure 132: Source code (6)

House assignment form


Graphic User Interface:

118
Figure 133: GUI 6

Source Code:

Figure 134: Source code (7)

Job assignment form


Graphic User Interface:

119
Figure 135: GUI 7

Source Code:

Figure 136: Source code (8)

Trip assignment form


Graphic User Interface:

120
Figure 137: GUI 8

Source Code:

Figure 138: Source code (9)

Jet information form


Graphic User Interface:

121
Figure 139: GUI 9

Source Code:

Figure 140: Source code 11

122
4.4 Potential Future Enhancements for the E-Space Solutions System

As the E-Space Solutions Colonization project expands, the system can be improved to enhance
security, reliability, and efficiency. The system can be modified by improving new technologies.
 Implement Cloud storage
Cloud storage can be implemented to enhance data security, backup, and scalability of the
system. This will help to increase data accessibility and availability. Cloud-based platforms
provide better security and disaster recovery. As the Mars Colonization project grows and the
volume of data increases, cloud infrastructure can easily scale.

 Improve data entry forms


Expanding the data entry forms to include more comprehensive fields (like family member
details, hobbies, skills, or biomedical data) will provide a more complete profile of each colonist.
This facilitates accurate decision-making for job and housing assignments.

 Improve the security of the system (Multi-factor Authentication)


Implementing multi-factor authentication (MFA) will add an extra layer of security to the
system. Sensitive information, including mission details and colonist profiles, would be better
safeguarded from cyberattacks due this technology.

 Develop mobile apps for the system


Creating a mobile application would allow users to access the system from their cellphones or
tablets while on the go, particularly astronauts or field workers. For colonists who must
communicate with the system remotely while on Mars or traveling, this might be quite useful.

The system's overall functionality, security, and user experience will be greatly improved by
these improvements, ensuring that it will continue to function effectively and efficiently as the
Mars Colonization project develops.

123
References

Akhtar, H., 2024. What is White Box Testing? (Example, Types, & Techniques). [Online]
Available at: https://www.browserstack.com/guide/white-box-testing
[Accessed 15 01 2025].

Anon., 2021. Control methods of Database Security. [Online]


Available at: https://www.geeksforgeeks.org/control-methods-of-database-security/
[Accessed 12 01 2025].

Anon., 2024. Acceptance Testing – Software Testing. [Online]


Available at: https://www.geeksforgeeks.org/acceptance-testing-software-testing/
[Accessed 13 01 2025].

Anon., 2024. Database Testing – Software Testing. [Online]


Available at: https://www.geeksforgeeks.org/software-testing-database-testing/#what-is-
database-testing
[Accessed 13 01 2025].

Anon., 2024. Difference between Alpha and Beta Testing. [Online]


Available at: https://www.geeksforgeeks.org/difference-between-alpha-and-beta-testing/
[Accessed 13 01 2025].

Anon., 2024. DML Full Form. [Online]


Available at: https://www.geeksforgeeks.org/dml-full-form/
[Accessed 13 01 2025].

Anon., 2024. Normal Forms in DBMS. [Online]


Available at: https://www.geeksforgeeks.org/normal-forms-in-dbms/
[Accessed 18 11 2024].

124
Anon., 2024. SQL | BETWEEN & IN Operator. [Online]
Available at: https://www.geeksforgeeks.org/sql-between-in-operator/
[Accessed 12 01 2025].

Anon., 2024. SQL IN Operator. [Online]


Available at: https://www.geeksforgeeks.org/sql-in-operator/
[Accessed 12 01 2025].

Anon., 2024. SQL ORDER BY. [Online]


Available at: https://www.geeksforgeeks.org/sql-order-by/
[Accessed 12 01 2025].

Anon., 2024. What are System Requirements?. [Online]


Available at: https://requirements.com/Content/What-is/what-are-system-requirements
[Accessed 8 01 2025].

Anon., 2024. What is an IDE? – Integrated Development Environment. [Online]


Available at: https://www.geeksforgeeks.org/what-is-ide/
[Accessed 18 11 2024].

Anon., 2024. What is Graphical User Interface (GUI)?. [Online]


Available at: https://www.geeksforgeeks.org/what-is-graphical-user-interface/
[Accessed 9 01 2025].

Anon., n.d. DML: Data Manipulation Language. [Online]


Available at: https://satoricyber.com/glossary/dml-data-manipulation-language/#:~:text=Data
%20Manipulation%20Language%20or%20DML,update%20data%20in%20a%20database.
[Accessed 12 01 2025].

Anon., n.d. Software Testing - Methods. [Online]


Available at: https://www.tutorialspoint.com/software_testing/software_testing_methods.htm

125
[Accessed 14 01 2025].

Anon., n.d. User Requirements. [Online]


Available at: https://www.awork.com/glossary/user-requirements#detailed-definition-and-
explanation
[Accessed 8 01 2025].

Das, S., 2024. What is Black Box Testing: Types, Tools & Examples. [Online]
Available at: https://www.browserstack.com/guide/black-box-testing
[Accessed 14 01 2025].

Dubey, S., 2023. Importance of Unit Testing. [Online]


Available at: https://www.pcloudy.com/importance-of-unit-testing/#What_is_Unit_testing
[Accessed 13 01 2025].

Gillis, A. S., n.d. integrated development environment (IDE). [Online]


Available at: https://www.techtarget.com/searchsoftwarequality/definition/integrated-
development-environment
[Accessed 18 11 2024].

Indeed Editorial Team, 2024. Relational Databases and Schemas: Definitions and Elements.
[Online]
Available at: https://www.indeed.com/career-advice/career-development/relational-database-
schema
[Accessed 14 01 2025].

Juviler, J., 2024. What Is GUI? Graphical User Interfaces, Explained. [Online]
Available at: https://blog.hubspot.com/website/what-is-gui
[Accessed 9 01 2025].

126
Luchmee, D., 2024. SQL DML Commands: Mastering Data Manipulation in SQL. [Online]
Available at: https://www.datacamp.com/tutorial/sql-dml-commands-mastering-data-
manipulation-in-sql
[Accessed 12 01 2025].

Taylor, C., 2020. White Box Testing. [Online]


Available at: https://cyberhoot.com/cybrary/white-box-testing/
[Accessed 14 01 2025].

Taylor, S., n.d. Data Validation. [Online]


Available at: https://corporatefinanceinstitute.com/resources/data-science/data-validation/
[Accessed 20 01 2025].

Yasar, K., n.d. Integration Testing is a type of software testing in which the various parts,
modules, or components of a software program are tested as a single unit. [Online]
Available at: https://www.techtarget.com/searchsoftwarequality/definition/integration-
testing#:~:text=Integration%20testing%20%2D%2D%20also%20known,tested%20as%20a
%20combined%20entity.
[Accessed 13 01 2025].

127

You might also like