Академический Документы
Профессиональный Документы
Культура Документы
Final Report
Query Queens + 2
2404 Maile Way, Honolulu, HI 96822
(317) 605-7365 lkirkwoo@hawaii.edu
As a center for research and education, the mission of Hawai’i Space Flight Laboratory is to
create microsatellites for space exploration and to educate students to become future space
engineers. HSFL creates various microsatellites throughout the year, and at the end of each year,
they send a report containing information about their completed projects to NASA to bid for
funding for future projects.
The old process used by HSFL included the manual entry of data about equipment, the manual
creation of reports to send to NASA, and no record of what projects each intern/employee is
working on at any given time. The manual data entry resulted in misfiled, redundant, and missing
information, which made both ad hoc queries and accurate reporting impossible. As a result, too
much time was spent maintaining records, searching for equipment, and manually creating
reports, when it should have been spent creating microsatellites. This delay in productivity
reduced the total number of projects completed each year, led to low quality reports, and
eventually resulted in a decrease in the total funding the government was willing to provide to
HSFL.
The objective of this project was to create and implement a database system that monitored
equipment, stored important employee and intern information in a centralized location, and
tracked information about projects. The implementation of these processes reduced data
redundancy and prevented the loss of information, which will enable the performance of ad hoc
queries and ensure the creation of accurate reports. The database system monitors equipment
information so HSFL can effectively create satellites, manages employee/intern information to
promote internal communication and track of intern progress, and maintains accurate and up to
date information to create impressive reports to bid for funds.
In order to create a successful database system we followed the Rapid Application Development
(RAD) Methodology. The RAD methodology included continual evaluation and improvement of
the system throughout the design process, and also constantly involved the end user (Amber
Imai-Hong) to ensure that our final product met the needs of HSFL. We adhered to the seven
design steps when creating this database system. First, we conducted a requirements analysis to
gain a thorough understanding of HSFL and its needs. Following the requirements analysis, we
created a conceptual design in the form of an entity relationship diagram that captured all of the
information that needed to be in the system, and the relationships between that information. We
then selected an appropriate DBMS based on the requirements of the database system. After
choosing MySQL as our DBMS, we created a logical design to define the structure of the
database, and used the physical design phase to optimize the performance of data retrieval from
secondary storage. We then created a prototype and evaluated the performance of the database
system using white and black box testing.
Through our use of the RAD methodology as well as the Agile project management approach,
our team was able to successfully create a database system in a timely manner that met the needs
of HSFL. Our system provides a reliable method of information storage and ensures the creation
of accurate reports which in turn will increase the funding HSFL receives.
1
Table of Contents
Introduction 3
Results: 11
Requirements Analysis Results 11
Conceptual Design Results 16
DBMS Evaluation and Results 17
Logical Design Results 18
Physical Design Results 19
The Database System Prototype Implemented 21
Performance Evaluation Results 23
Appendix 25
Appendix A: Requirements Analysis 25
Appendix B: Conceptual Design 34
Appendix C: Selection of DBMS 38
Appendix D: Relational Logical Schema 39
Appendix E: Prototype 40
Appendix F: Performance Evaluation Results 66
2
Introduction
This report will explain the final results of the HSFL database system project, as well as detailing
the process that was used to ensure a successful completion of the project. We would like to
thank you for choosing our team to create your database system, and ensure that it is of the
highest quality and will meet the needs of HSFL.
Section 1 outlines the previous system that was used at HSFL prior to the implementation of the
database system, explains the problem with the old system, and provides an introductory
description of the project.
Section 3 includes a more detailed description of the approach we took to create the system and
is broken down into the following subsections:
1. Requirement Analysis
2. Conceptual Design
3. Selection of DBMS for implementation
4. Logical Design
5. Physical Design
6. Prototype
7. Performance Evaluation
Finally, Section 4 provides a clear description of the final results and future plans for the
database system.
3
I. Problem Statement and Project Description
Background of Hawai’i Space Flight Laboratory:
Hawai’i Space Flight Laboratory (HSFL) is both an innovative research facility and an
educational center. It is a part of the School of Ocean and Earth Science and Technology
(SOEST) and the College of Engineering (CoE) here at the University of Hawai’i. HSFL
specializes in the exploration and understanding of space through the creation of microsatellites.
These microsatellites can be configured for a variety of science and educational tasks, providing
unique information about the space environment. Additionally, Hawaii’s geographic location
provides direct access to orbital space, giving HSFL an advantage over other space laboratories
who do not have the same opportunity. As a result, HSFL has the potential to become a leading
low-cost gateway to space.
HSFL’s Mission:
The mission of Hawai’i Space Flight Laboratory (HSFL) is to bring scientists together to design,
launch, and operate microsatellites to explore the space environment. They also play an
important role in developing the future workforce by providing internships to students each
semester.
As a research facility, HSFL aims to:
● Promote innovative engineering and science research for terrestrial and planetary
space missions
● Develop, launch, and operate small spacecraft from the Hawaiian Islands to accelerate
the validation of new space technologies
● Provide workforce training in all aspects of unmanned space missions
● Build synergistic collaborations among educational, governmental, and corporate
institutions interested in space exploration
Problem Description:
HSFL’s old system did not allow them to reach the goals outlined in their mission statement.
Every piece of data that flowed into the company was either recorded by hand, or not at all. All
applicants filled out a physical application that was then stored in a messy file cabinet and
equipment was inadequately monitored using Google Sheets. When an employee needed a
certain piece of equipment to create a microsatellite, they had no way of knowing if it was
available somewhere in the lab or not. In order to find out, they had to go to the stockroom and
search through piles of unorganized equipment. Not only did this result in significant wasted
time, but they often overlooked equipment that was in stock, and ended up spending unnecessary
money on a duplicate piece of equipment. Finally, annual reports were created by hand. At the
end of each fiscal year, an employee was asked to search through various locations of the
company to find the information required for the annual report, and painstakingly compile the
reports by hand. This practice resulted in time being spent on less valuable practices instead of
their more important business process of creating microsatellites. This reduced the total number
of projects completed each year, the quality of reports generated, and subsequently the amount of
funds provided by the government and other sponsors. The old system is represented by the
context diagram shown in Figure 1 below.
4
Problem Statement:
The former process that was entirely manual resulted in misfiled, redundant, and missing data.
There was no centralized storage of equipment information, making the performance of ad hoc
queries impossible. Since ad hoc queries could not be performed, a significant amount of time
was wasted searching for a piece of equipment and restocking. Furthermore, the inaccurate data
led to the creation of incorrect reports, and the manual gathering of the necessary information
also wasted time. Overall, the old manual data entry and monitoring process resulted in misfiled,
redundant, and missing data, wasted valuable time and money, and inhibited HSFL from
reaching its research and educational goals.
Therefore, in order to ensure HSFL continues with groundbreaking research and moving toward
the goal of becoming a major gateway to space, an effective database system is necessary.
5
Project Description
In order to solve the problems described in the previous section and enable HSFL to reach their
goals, our team created a database system to manage information. Our system monitors
equipment, manages employee and project information, and has the capability to create
customized reports for HSFL to send to sponsors to bid for funds.
The objective of this project was to create a database system that would enable HSFL to fulfill its
purposes of engineering microsatellites for the exploration of space and mentoring interns to
develop the future workforce.
In order to reach their primary goal, HSFL must have the specialized equipment necessary to
create microsatellites. Therefore, the “Equipment” section of our database system meets this
need. The system monitors what equipment is available at all times, and allows employees to
perform ad hoc queries to find out how many of a specific piece of equipment is in stock at any
given time. The database system shows users the amount of available stock, and updates when
someone takes an item out, or puts something back in the system. Additionally, the employee
and intern information sections of our database system stores various demographic information
about the employees and interns. It also monitors project progress, who works on what project,
and what equipment was used. Furthermore, interns are able to record various accomplishments
to demonstrate the progress they are making to their mentors. The employee/intern and project
information management sections allow HSFL to demonstrate the great work they have been
doing. This information can then be put into marketing materials, can be used to recruit new
talented interns, and can also be put into the reports used to bid for funds. The final major benefit
of our system is the new capability to create customized reports with the simple click of a button.
Instead of compiling information by hand at the end of each year, an employee can now create
the necessary reports by clicking the “Annual Report” button that we have pre-programmed into
the user interface. The increased accuracy, customization, and ease of creation of these reports
will allow HSFL to impress government agencies and NASA, and obtain more funding for future
projects. The capabilities and processes included in the new system are depicted in the context
diagram (Figure 2) below.
The implementation of our proposed database system will assist HSFL in the following ways:
6
Figure 2: Context Diagram of the New HSFL Database System
7
II. Approaches and Accomplishments
8
black box and white box testing, and recorded the user responses in the form of a survey.
We used the results of the survey to go back through the other design phases to make the
necessary changes to address the requests made by the performance evaluators.
Advantages of RAD
Overall, the biggest advantage of RAD methodology is that it is an iterative process. It provides
the flexibility to continually update and improve the requirements throughout the entire life of
the project. More traditional, non-agile design methodologies such as the waterfall method, did
not provide the flexibility that RAD does. The waterfall method involved the gathering of
requirements at the very beginning of the design process, but then those requirements were never
revisited at any point in the design process. The same requirements were assumed throughout,
but since the waterfall method took such a long time to complete a project, the requirements had
often changed by the time the project was complete, making the result inadequate. The RAD
methodology allows continual re-evaluation of requirements throughout the design, so the final
product meets the clients needs much more fully. Additionally, the agile process makes RAD
much faster than the waterfall methodology, which helped us to complete the HSFL database
project in a timely manner. Finally, the RAD methodology included the end user throughout the
design process. We met with Amber Imai-Hong, an employee at HSFL multiple times in order to
ensure that our design was meeting her vision and the needs of HSFL.
9
We also followed a strict timeline of milestones throughout the project, and understood the main
role of each individual team member. We communicated clearly throughout the project, assigned
individual tasks, then always checked each others’ work. We also maintained clear
communication with HSFL through Amber Imai-Hong during the design of the system. By
following these project management methods, clear goals were set and worked toward, the
project was kept within budget, and completed on time. A clear project timeline that includes
which team member took the lead for each part can be seen in the Gantt Chart shown in Figure 3
below.
10
III. Results:
The following sections detail the results of the final HSFL Database System. The outputs from
each phase of RAD design are outlined below, beginning with the requirements analysis and
finishing with the final performance evaluation. By adhering to the Agile Project Management
approach our team was able to complete the system within the time and budget constraints.
Additionally, by following each step of the Rapid Application Development methodology, we
were able to create and implement a database system that met the needs of HSFL, and will allow
them to reach their future goals.
The old HSFL file-based system had three basic processes that were inadequate for the company.
The three basic processes within the previous system were: equipment monitoring,
reporting/bidding, and employee/intern management. The file based system can be seen in
Figure A.1.
11
Equipment Monitoring:
The equipment monitoring process is meant to help HSFL efficiently and effectively manage
specialized equipment to engineer microsatellites. Therefore, it is very important for HSFL to
have an updated report of what equipment is available and who, where, and when equipment was
used or put back. In the old system, equipment was loosely monitored and recorded through
google sheets, which resulted in incorrect and missing information.. Because of this, there was
no way of knowing what equipment was available. This led to incorrect budgeting, significant
project delays, and wasted time.
Reporting/Bidding:
The reporting/bidding process is crucial for HSFL to bid for funds from potential sponsors. As
HSFL is a non-profit organization, the company requires funding from outside agencies in order
to continue creating new satellites to explore space. HSFL obtains these funds by bidding at the
end of each year, which is done through the creation of reports. They are extremely important as
they act as the main marketing function for the company, and without reports HSFL will not
have the money necessary for future projects.
With the old, file-based system, employees would hand search through a file cabinet,
compile the required information throughout a certain time period, type all of this information on
a word document, and then calculate the underrepresented interns/employees with tally marks.
Because of this, reports took extremely long to make and were very error prone.
Based on the analysis above, we finalized the common transactions, queries, and reports
that the database system could implement. By analyzing the old system, we identified four
major processes that the HSFL database included. Below, Figure A.2 is a context diagram
describing the layout of the database system along with a brief explanation of the flow of data.
Data flow diagrams are listed in Appendix A.1 and the accompanying Data Dictionary to provide
further explanation of the data can be found in Appendix A.2.
12
Figure A.2: New Context Diagram
13
Change Information:
The information that is stored in the database system also needs to be changed at some point,
when new projects are created, or if some demographic information changes such as a change in
address. This “change information” function allows the information in an employee/intern
account to be modified.
A data flow diagram for Process 1.0 Employee and Intern Management can be found in
Appendix A.1.
A data flow diagram for Process 2.0 Reporting can be found in Appendix A.1.
A data flow diagram for Process 3.0 Workforce Development can be found in Appendix A.1.
14
equipment is available at any given time is very important in order to create the microsatellites.
This process allows the engineers to check what equipment is available prior to beginning a
project. This eliminates the current problem of lack of equipment that results in major delays of
projects.
A data flow diagram for Process 4.0 Equipment Management can be found in Appendix A.1.
Table 1 below provides an overview of each process, including the main function as well as the
main inflows and outflows.
15
2. Conceptual Design Results
In the conceptual design phase we captured all of the information included in the database, and
described the relationship among the data. To visualize this, we created an Entity Relationship
Diagram (ERD). This design phased helped us to ensure that the data needed for the database
system was included. The Entity Relationship Diagram can be seen in Appendix B.1 with a data
dictionary in Appendix B.2. There are four entities and three relationships in the ERD. They are
better described below:
Entity: Intern
The intern entity is a crucial part of HSFL’s processes. It is used to complete the annual and
semi-annual report, track progress among all interns, and grant access to certain parts of the user
interface. It has 19 attributes and the identifier of the intern entity is the “I_user” attribute. The
intern entity has several derived attributes that are used for the annual and semi-annual report.
These derived attributes are the sum of funding, % of female, and # of female/male attributes.
Relationship: Assigned to
Many interns is assigned to a single employee. The assigned to relationship identifies the mentor
for each intern.
Entity: Employee
The employee entity contains important information that affects all business processes of HSFL.
Like the intern entity, the attributes in the employee entity are used for annual and semi-annual
report, to grant access to certain parts of the user interface, to track equipments and projects, etc.
This entity has 10 attributes and the identifier for this entity is “E_user”, or the username of an
employee. The derived attributes from the employee entity include the total number of
employees, % of females, % of underrepresented, etc.
Relationship: Use
Many employees use equipment. The use relationship is crucial for HSFL, as it tracks who, what,
and when an employee uses equipment. The main attributes that are in the use relationship are
T_number, use_date, and amount.
Entity: Equipment
The equipment entity information is crucial for HSFL to engineer microsatellites. There are 7
attributes in this entity, and the main identifier is Enumber.
Entity: Project
The project entity contains information on the engineering of satellites. There are 6 attributes to
the project entity and the main identifier is Pnumber.
Relationship: Requires
The requires relationship is important for HSFL to track what equipment is used per project. The
only attribute in the requires relationship is the amount of equipment per project.
16
3. DBMS Evaluation and Results
We based our selection of the appropriate database management system on the requirements
obtained during the requirements analysis phase. We focused on three crucial needs:
Functionality, Cost, and Size to fit HSFL. From these three needs we were able to create four
major requirements the DBMS would have to fulfill in order to fit the database.
1. The database needed to be user-friendly
2. Compatible with PHP
3. Low to no cost for the database
4. Be able to handle a moderate amount of data to support a small size company
We compared three main types of database management systems: Relational, Object, and
Object-Relational. We mapped out the advantages and disadvantages of each database
management system and selected the best fit for HSFL’s needs. More details about this
information can be found in Figure C.1 in Appendix C. Out of the three types of systems we
analyzed, relational was the best fit for HSFL’s needs. It allowed a simpler way to maintain the
database and also made it easy to adapt future data to continually update the system for new
users and the incorporation of new information.
After deciding on the relational database management system, we conducted further research on
five specific database management systems. We compared the pros and cons of MYSQL, Oracle,
Ingres, Microsoft Access and IBMDB2 to determine which option best fit the four requirements
of HSFL’s system: user-friendliness, being compatible with PHP, low cost, and able to handle a
moderate amount of data. A description of each of the five systems along with their advantages
and disadvantages can be found in Figure C.2 in Appendix C. Overall, MySQL was the best fit
for HSFL because of its compatibility with PHP, the free cost from the community edition, it was
also easy to learn and use, and lastly it was able to hold enough data for a small size company.
The other relational database was either too expensive or did not have the capabilities to satisfy
the needs of HSFL.
17
4. Logical Design Results
In the logical design phase, we defined the structure of the database. This phase was important
to ensure that tables and data were organized correctly for performance and to save internal
memory space.
To define the structure of the HSFL database system, we used the top down approach. The top
down approach transformed the ER diagram that was created during the conceptual design phase
to a set of relations in 3rd normal form (NF). In 3rd NF, each table contained no transitive
dependencies, no composite attributes, no multivalued attributes, no repeating groups, and no
partial dependencies. This normalization process created smaller indexes, faster search options,
and less memory consumption. After completing the normalization process we had 10 different
tables.
We then analyzed each table to determine the most appropriate normal form by considering the
transactions, queries, and reports that HSFL needed. Based on the results collected by this
analysis, we denormalized the tables “assigned to” and “intern”. As the “assigned to” table was
not utilized frequently, we added the attribute of “E_user” to the “intern” table. The
denormalization of these tables allowed us to modify table structures to save memory space by
eliminating the need for cartesian products. At the
18
5. Physical Design Results
In the physical design phase, we made alterations in order to optimize the retrieval of data from
secondary storage. To optimize the database system we tuned queries, indexed on frequently
used and large tables, created views, and made storage level decisions based on the DBMS we
selected, MySQL.
Tuning Queries:
To ensure that all information within HSFL’s database system can be located efficiently, we
tuned queries. This included creating subqueries to avoid joins and correlated queries when
possible. By creating more subqueries, we were able to save internal memory space and reduce
the number of operations. Below is an example of one of the queries that we tuned by creating a
subquery:
For more queries included in the database system, refer to Appendix E.3.
Deciding on Indexing:
We created indexes on tables that required a significant amount of data retrieval. Indexing
optimized data retrieval by reducing the amount of data that had to be searched through in order
to gather the results of a query. We added indexes to HSFL’s “equipment” table and “intern”
table. Because the “equipment” table is used frequently for transactions and reports and requires
many queries, we indexed the table based on type of equipment. This optimized the retrieval of
information from the “equipment” table by making it faster to search through. Additionally, we
indexed the “intern” table by semester. The intern table has many attributes and we often pull
data by semester for semi-annual and annual reports. Indexing by semester allowed us to have
faster data retrieval.
Figure 4: Equipment and Intern table indexed by Equipment type and Intern semester
19
Denormalization/Creation of Views:
The purpose of creating views was to minimize the amount of data that was searched for by
queries. The creation of a view is done by view materialization, where a physical table is created
for the virtual table (view). The creation of views improves performance because the tables are
then pre-joined, making the queries simpler and the data retrieval faster. Instead of having to
search through multiple different tables, the database can go straight to the view and retrieve the
information much more quickly. As the annual and semi-annual report requires statistics on
underrepresented interns and employees in HSFL, we created two views for the underrepresented
interns and employees. The attributes in the view employee table were E_user and Active and
the attributes in the view intern table were I_user and Semester. Below are the two views
created:
20
6. The Database System Prototype Implemented
The prototype of the HSFL Database has a website front-end that allows users to easily record,
access, and modify data. To overcome the technical challenge of a lack of user knowledge about
database systems, our system has explicit instructions on each home page for easy use. The
instructions explain what each tab on the navigation bar includes. For examples of the Intern and
Employee Home Pages, see Appendix E.1. The user interface includes many forms that allows
users to perform ad hoc queries, and also to very easily create customized reports. Additionally,
the intuitive design makes the site easy to navigate.
For security measures, we included validations for the forms we created for users to put in the
appropriate information. Also, in order to change user information, users will need to know the
exact username or the information will not be updated. A login for interns and employees was
not a priority for HSFL, but this is included in our future plans for the company to increase
security.
The website front-end of the HSFL Database System is split into two different sections: one for
interns and a separate section for employees. Table E.1 describes the the purpose, forms, and
reports included in each intern section. For more examples of forms, reports and queries included
in the intern section, refer to Appendix E.2.
Table E.1: Intern side with description of each section, purpose, forms and reports included
21
The second section of the website is for employees. As employees have more responsibilities
than the interns do and therefore require more advanced access, their section of the system is
slightly more complex. The user interface for employees consists of five parts. Table E.2
describes the the purpose, forms, and reports included in each part of the employee section. For
more detailed examples of forms, reports and queries included in the intern section, refer to
Appendix E.3.
Table E.2: Employee side with description of each section, purpose, forms and reports included
22
7. Performance Evaluation Results
After creating our prototype, we first tested the database system within the team in order to
ensure that all the queries worked correctly, were efficient, and provided the information HSFL
needed in a neat and organized fashion. We then conducted a performance evaluation of the
database system in order to gauge how usable the design was and how completely it met the
needs of HSFL.
In order to test our database, we used two different methods: black box testing and white box
testing. Black box testing is a way to test the interface and database system by letting users who
are unfamiliar with the system and have little experience provide feedback. White box testing on
the other hand, tests the database through users who have previous experience and knowledge.
We gave a survey to 40 individuals, 20 black box testers and 20 white box testers. Their survey
responses provided insight into what users liked and did not like about our database system.
Specifically, the survey provided information about how well users understood the website, how
efficient it was, its usability, and if they had any suggestions for improvements. We gave the
survey to both black box and white box testers. Survey results can be seen in appendix F.
Through this survey, we concluded that we needed to make the overall interface more user
friendly and have all contents more easily accessible. In order to do this, we changed the layout
of the website and added different instructions on each of the features contained in each page.
This change made the website more user friendly. A quick tutorial and training session will also
be provided to HSFL employees and interns to ensure that the database system is utilized to its
fullest potential.
23
IV. Conclusion and Future Plan
In conclusion, we have successfully created and implemented a relational database system for
HSFL. The system monitors equipment information so employees know what equipment is in
stock and available to be used for microsatellites at all times. The use of a database system to
store this information is advantageous as it allows ad hoc queries to be performed. The system
also manages employee/intern and project information. This ensures that HSFL stays on track in
creating microsatellites, and also allows for intern and employee progress to be tracked. The
database system also allowed us to integrate customized reports into the web-based front end, so
employees simply have to click a button to retrieve the annual and semi-annual reports necessary
to bid for funds. Overall, the web-based front end allows HSFL employees and interns to easily
access the system and perform transactions and create reports. We strictly adhered to each design
phase of the RAD methodology in order to ensure that the final system was efficient,
cost-effective, and of the highest quality and performance. The added functionality provided by
our database system will allow HSFL to continue creating microsatellites, educating future space
engineers, and will allow for the granting of more funding due to better reports, which will
enable HSFL to continue making progress in space exploration.
While the system is very functional already and provides many added benefits to HSFL, we plan
to continue making improvements. Based on the results of the performance evaluation, we plan
to incorporate different features to meet the newly discovered feature requirements. In the future,
we plan to add a feature that allows employees to add new types of equipment that do not yet
exist in the database. If a project needs a new type of equipment that isn’t already in the
database, there is currently no way to track that piece of equipment. We will be creating a way to
add that new type of equipment to the database and update the website to include it as an option.
Furthermore, we will also be adding supplier information to both the web based front end and the
database itself. A future requirement that would provide added benefit to HSFL would be the
ability to communicate with suppliers directly from our system. This will allow them to order
supplies directly from the site, as well as to track the progress of the new piece of equipment.
Our team will be working to add this feature.
Lastly, we will be adding more security and validation throughout all the pages. A definite future
requirement for HSFL is increased validation and general login/password features. While not an
original requirement of HSFL, a login and registration function would add greater security to the
system, and we plan to add that to the first page of the website front end. Along with the login
functionality, we will be including increased security for each of the pages that only allows
access if you are logged into the system and have been granted access rights. For each form,
validation will also be included in order to make sure the user is inputting information in the
correct format for each form.The addition of increased validation will reduce the potential errors
associated with incorrect data input.
24
Appendix
25
Process 2: Reporting
26
Process 4: Equipment Management
27
Appendix A.2
Process 1:
Employee Application
Attribute Data Type Description
Intern Application
Attribute Data Type Description
28
E_email Short Text Email of intern
Process 2:
Account Information:
Attribute Data Type Description
29
I_Lname Short Text Intern Last Name
Annual Report
30
E_Physically_challenged Short Text “Y” or “N”
Email Lists
31
E_email Short Text Employee email
Project Report
Attribute Data Description
Type
E_users Short Text Head employee user that are in charge of the project
Process 3
Accomplishments
Intern Updates
32
Process 4:
Equipment Report/Equipment
33
Appendix B: Conceptual Design
Appendix B.1
Appendix B.2
Employee
Attribute Data Type Description
34
E_Gender Short Text “F” or “M”
Intern
Attribute Data Type Description
35
I_Physically_challenged Short Text “Yes” or “No”
Project
Attribute Data Description
Type
E_users Short Text Head employee user that are in charge of the project
Equipment
Attribute Data Description
Type
36
Value Short Text Value of equipment
Uses
Attribute Data Type Description
Requires
Attribute Data Type Description
37
Appendix C: Selection of DBMS
-Adaptable to future
changes in the database
38
Appendix D: Relational Logical Schema
39
Appendix E: Prototype
40
Appendix E.1
The following figures are examples of the instructions on each home page of the prototype. The
instructions describe what each tab in the navigation bar includes and is used for. This will help
new intern and employee users with understanding the capabilities this database has.
41
Figure E.1.2: Employee Home Page
42
Figure E.1.4: Equipment Home Page
43
Figure E.1.6: Track Intern Progress Home Page
44
Appendix E.2
In this form, interns can create their username and fill out the following information. The
following query inserts the information from the form and puts them in the intern table according
to the attribute. After submitting this form, they are relocated to another intern application to fill
out additional information.
45
Figure E.2.2: Create Intern Account Page Two
The intern will need to use the username created in the previous application form, Figure E.2.1,
in order for the database to know which user information to update. The first set of queries below
updates the information from the username provided. All information goes into the intern table
except, ethnicities.
The ethnicity information is a separate table named, intern ethnicity, and these queries are
putting this information into the table. Users may have multiple ethnicities, which is why we
made another table to help employees track their information easier.
46
Queries for create intern account two:
Set 1
Set 2
47
Figure E.2.3: Intern Accomplishments Page
For this form, the intern will need to provide their username to record all their accomplishments
for the day. The following query inserts the data in the accomplishment table. Employees are
able to view interns accomplishments in the employee side, track intern progress section.
48
Figure E.2.4: Change Intern Information Page
The form above allows users to find their information to see what needs to be changed. The first
query is searching for the intern information from the intern table. After typing their username
again, the queries below allow users to change any of the above information necessary.
49
Figure E.3.1: Create Employee Account Page One
This form is for new employee users to create an employee account. The query used in this
application has the data inserted into the employee table according to the attributes. Once the
button “Next” is pressed, it redirects you to the additional employee application form.
50
Figure E.3.2: Create Employee Account Page Two
The first set of queries below updates the information from the username provided. The
employee will need to use the username created in the previous application form, Figure E.3.1,
for the database to know which user information to update. All information goes into the
employee table except, ethnicities.
The ethnicity information is a separate table named, employee ethnicity. Users may have
multiple ethnicities, which is where the additional set of queries take place and put that
information into the employee ethnicity table to avoid data redundancy.
Set 1
$sql = "UPDATE employee SET E_gender='$E_gender' WHERE E_user='$user'";
$sql1 = "UPDATE employee SET E_address='$E_address' WHERE E_user='$user'";
$sql2 = "UPDATE employee SET E_veteran='$E_veteran' WHERE E_user='$user'";
$sql3 = "UPDATE employee SET E_physchall='$E_physchall' WHERE E_user='$user'";
$sql4 = "UPDATE employee SET Active='$E_active' WHERE E_user='$user'";
$sql5 = "UPDATE employee SET E_bdate='$E_bdate' WHERE E_user='$user'";
51
Set 2
$sql_ethnicity_white = "INSERT INTO employee_ethnicity(E_username, E_ethnicity)
VALUES('$user','$I_ethnicity_white')";
$sql_ethnicity_af = "INSERT INTO employee_ethnicity(E_username, E_ethnicity)
VALUES('$user','$I_ethnicity_af')";
$sql_ethnicity_asian = "INSERT INTO employee_ethnicity(E_username, E_ethnicity)
VALUES('$user','$I_ethnicity_asian')";
$sql_ethnicity_na = "INSERT INTO employee_ethnicity(E_username, E_ethnicity)
VALUES('$I_user','$I_ethnicity_na')";
$sql_ethnicity_nhpi = "INSERT INTO employee_ethnicity(E_username, E_ethnicity)
VALUES('$I_user','$I_ethnicity_nhpi')";
52
Figure E.3.3: Change Employee Account Information Page
This form allows users to see their information printed on the screen once they type their
username in. The first query is searching for the employee information from the employee table.
After typing their username again in the following form, the queries below allow users to change
any of the above information necessary.
53
Figure E.3.4: Example of Equipment Take Out Page
The form above allows users to look up the equipment available before taking it out, which is
where the first query takes place. The navigation bar also separates the equipment by type with a
drop down list for easy use. The following queries is updating the equipment, uses and requires
table according to the attributes listed and will need to provide their username.
54
Figure E.3.5: Example of Equipment Put Back Page
The form above allows users to look up the equipment available before putting back, which is
where the first query takes place. Along with the take out navigation, the put back tab also has a
drop down list of equipment. The following queries is updating the equipment, uses and requires
table according to the attributes listed and will need to provide their username.
55
Figure E.3.6: Add New Project Page
If the company has a new project, they are able to add that information in this form. The query
below inserts the filled out form information into the project table. In the reporting section,
employees are able to search for the project information according to the project name.
56
Figure E.3.7: Employee Contact Information Page
For intern communication with the company, HSFL needs to find out employee contact
information, which is found in this page. The following query grabs certain attributes from the
employee table and finds usernames that are similar to what the user had typed out. If the user
types in “j”, all the usernames with a “j” in it will print below.
$query = "SELECT E_user, E_fname, E_lname, E_email, E_address FROM employee WHERE
E_user LIKE '%$value1%'";
57
Figure E.3.8: Intern Contact Information Page
Similar to the employee contact page, this is where users can find contact information on interns.
The first query is grabbing the intern information based on the semester chosen, but the second
query gives another option of finding the information based on the username. If the user types
one letter, the query grab all usernames that include that letter.
$query = "SELECT I_user, I_fname, I_lname, I_email, Semester, I_address FROM intern
WHERE Semester ='$value1'";
$query1 = "SELECT I_user, I_fname, I_lname, I_email, Semester, I_address FROM intern
WHERE I_user LIKE '%$value1%'";
58
Figure E.3.9: Annual Reporting Page
Figure E.3.10: Example of Year 2018 Annual Reporting Page for Interns
59
Figure E.3.11: Example of Year 2018 Annual Reporting Page for Employees
To view results of annual reports by fiscal year and/or active employees, an employee can simply
select two buttons and the report will be printed with calculated statistics. The following queries
grab attributes from the employee table, intern table, two view tables, employee ethnicity table,
and intern ethnicity table. The female to male ratio, percentages of each,the number of
underrepresented, and the percentage of underrepresented are all calculated in the below queries
as well.
60
Queries for annual reporting page:
61
$query55 = "Select (Count(E_user)* 100 /(Select Count(*) from employee WHERE
Active='Y'))From nonconfidential_employe_info_view4 WHERE Active='Y'";
62
Figure E.3.12: Search Project Page
For basic project information, such as, account number the project is under and project number,
this page is where users will find it. The query below grabs all attributes in the project table and
prints the information of the project selected.
63
Figure E.3.13: Finding Equipment Per Project Page
For HSFL reporting, it is important to know what equipment was taken out for certain projects.
The form above is able to print the information by the query below. The user will input the
project number and the query will grab the equipment number and amount taken from the
requires table, but only if the project number matches and the amount taken is not 0.
64
Figure E.3.14: Tracking Intern Accomplishments Page
This form gives users the option to track intern accomplishments by the mentor the intern is
under or by the intern’s username. The first query is grabbing all the attributes from the intern
accomplishment table and grad date, gpa and employee username from the intern table, but only
if the intern username in intern table matches to the intern username in the accomplishment table
and the employee username matches with what the user types in. The second query is grabbing
the same information, but only if the intern username typed in matches the username in the
accomplishments table.
65
Appendix F: Performance Evaluation Results
Here’s a sample performance evaluation survey that was given to both black box and white box
testers in order to get a good understanding of what should be improved on.
66
Figure F.2: Statistical results on Question 1
Out of 40 people, 80% of the 40 testers believed the system met their needs with 5 stars out of 5.
Then, 15% of testers believed the system met their needs with 4 stars out of 5. Lastly, the
remaining 5% of the testers believed the system met their needs with 3 stars out of 5. There were
no users who felt like the system did not their needs in the form of 0-2 stars.
67
Figure F.3: Statistical Results on Question 2
With question two, 62.5% of the testers believed it took a lot less time using the system in order
to get what they wanted. 25% believed it took a little less time then expected, while 12.5%
believed it took an expected amount of time. There were no users that felt using the system took
more time than expected.
68
Figure F.4: Statistical Results on Question 3
For visual appeal, 5 out of the 40 testers believed the user interface was 5/5 stars in terms of
visual appeal. 18 believed the user interface deserved a 4 out of 5 stars. Lastly, 12 and 5 testers
believed the interface deserved 3 stars and 2 stars respectively. There were no users who
believed visual appeal was ranked 1 star or less.
69