Organization Device Tracker Computer Science Capstone Proposal

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 23

Organization Device Tracker

Computer Science Capstone Proposal

By Sean Figel and Dennis Tang


CST 499
October 12

Executive Summary
Organization Device Tracker Capstone Report 2

The objective of the application is to provide a solution to the client Signal Service Inc
issues with data management of the devices that are provided to the office staff and field
technicians of the organization. Data about these devices is not keep up to date and this has
caused a few issues for Signal Service Inc. These issues with data management has lead Signal
Service Inc to purchase addition devices that were not necessary during staff changes. There has
also been an issue with devices becoming outdated, damaged or slow which has caused
productivity decline from field and office staff.
The Organization Device Tracker aims to be the solution to this data management issues.
The goal of the project is to provide a web application that will allow Signal Service Inc a secure
and easy to use location to store data about their organizations devices. This application will
allow Signal Service Inc to keep data about their devices up to date to allow management to
easily view how many devices that the organization has during staff changes. By doing this
Signal Service Inc will see a decline in purchases of additional devices as well as keeping stock
of the status of the organizations devices.
There are three main features of the web application. The first feature will be to store the
data of the devices. This data will include the manufacture of the device, operating system and
hardware specifications along with any other data the Signal Service Inc requests to be stored
within the application. The second feature is to keep notes on the status of the devices. These
notes can include reported issues with devices or requests for repairs or replacement of devices
after they have been damaged. The last main feature of the application is to provide a secure
place for the data to be stored by requiring a login in order to view and edit data. Due to the
nature of this application Signal Service Inc may request additional features to the application. If
this occurs then the team will document the feature request and discuss extending the scope of
work with Signal Service Inc.
The scope of work for this application software project is to provide a completed
application with the three main features by October 8th, 2019. This scope may be extended by
the team during discussions with Signal Service Inc if Signal Service Inc requests additional
features. The application development will begin on August 28th, 2019 with biweekly meetings
with Signal Service Inc management to review the progress of the application and to provide
feedback for the development team on the application.
This application is a requested solution for Signal Service Inc. The application can be
adjusted to assist other organizations with similar issues however the Organization Device
Tracker is being developed as a specialized application for Signal Service Inc.
Our team expects this application project to provide us with experience in software
development and project management. Signal Service Inc expects the application to provide
them with a solution to their device data management issues to reduce excessive purchases of
devices and provide a location to keep track of device status and active issues with devices in the
field.

Table of Contents

● Executive Summary (Page 2)


Organization Device Tracker Capstone Report 3

● Table of Contents (Page 3)

● Introduction (Page 4)

● Project Objective (Page 5)

● Stakeholders (Page 6)

● Environmental Scan (Page 7)

● Functional Decomposition (Page 8)

● Risks and Dependencies (Page 9)

● Required Resources (Page 10 )

● Methodology (Page 10)

● Ethical Consideration (Page 12)

● Legal Consideration (Page 13)

● Timeline (Page 14)

● Usability Testing (Page 14)

● Final Implementation (Page 15)

● Conclusion (Page 16)

● Project Reflection (Page 17)

● References (Page 19)

● Appendix (Page 20)

Introduction

The use of computer hardware is increasing every year. Small businesses are finding

themselves with more computer hardware requirements to run their business. Computer
Organization Device Tracker Capstone Report 4

hardware ranging from cell phones to tablets, and laptops are used in everyday business. Often,

these companies find themselves with an extensive amount of computer hardware and become

lost in this sea of technology. Since these companies typically don't have their own IT

department to handle the manual cataloging of devices, our project aims to provide the business

with an easy way to catalog their work devices.

One of these companies is Signal Service Inc. The company does not have a dedicated IT

department in order to manage all of the devices that the organization provides for the staff. The

manager, Sarah Wilson, had been using a basic Excel worksheet in order to try to keep all of the

devices tracked and organized. However this document was out of date and stored somewhere

within the companies shared storage drive. Sarah was finding it difficult to locate the document

and had requested a solution that will provide a simple to use interface that is easy to navigate

and access.

In order to assist Signal Service Inc, our project, Organization Device Tracker, was

created as a web application to provide a simple inventory management solution to track the

number for the devices currently owned by the company. Further data on each device can be

found within the application, such as device system specification, and to whom the device was

given. The application requires an authorized user to login to view and manage the inventory

data. The inventory data is entered through an entry process that requests different information

for each device. Companies can manage their computer hardware rapidly and easily with our

project. By having easy access from anywhere to edit the device inventory, company managers

will be able to make informed decisions on device purchases during times when there are

changes to staff.

Project Objectives
Organization Device Tracker Capstone Report 5

There were a few goals for this project. The first goal was to create an application that

could be used by Signal Service Inc to easily and efficiently keep track of device inventory data.

Our second goal was to gather experience developing an application for a client and delivering

the application by a deadline. In order to achieve our first goal we completed the following

objectives.

First we had to analyze the hosting options for the application that was developed for the

client. This task involved doing research on hosting options in order to find the best option for

our project and the client. Next we created a schedule with project milestones in order to keep on

task with completing the project. This schedule included listing tasks that need to be completed

and who within the development group completed these tasks. A few of these tasks were to

develop the GUI that is being used by the customer, develop the server environment, develop the

server software application that will run the application functions. The schedule also listed the

project features that we will make sure are included.

These features are a login screen with password verification, data included staff member

that the device is assigned to, tracking the data for each device and being able to attach notes to

each device for expanded details on the status of the device. If we are able to complete all of

these features before the deadline then we will continue development to include the following

features, providing device history to show what devices have been repaired, replaced or retired.

Support for multiple login users with different permissions within the application. Scanning

through the details within the systems and checking for any major security risks for the

organization due to the age of the Operating System.

Stakeholders
Organization Device Tracker Capstone Report 6

The main stakeholders are Signal Service Inc andany future staff tasked with managing

the inventory of the organizations provided devices.Signal Service Inc. aims to obtain an easy to

use and maintain web application to assist with the management of the device inventory. With

this application the information about how many devices that Signal Service Inc currently has

along with which staff member the devices have been provided to. This application will also

assist any new staff member who is placed in charge of managing the devices within the

organization.

Signal Service Inc stands to lose having an easy to access location for all of the data

about the companies’ devices. The company will also have to devote work time to have a staff

member take down all of the information for the devices and input them into the Excel

workbook. This will most likely become out of date due to the lack of a dedicated IT department

and the process of gathering all of the devices information and inputting them into an Excel

workbook will proceed again.

Our goal is to provide ODT as a solution to change the cycle of work by providing an

application that is easy to use and maintain. By providing something that is quick to update it

will be more likely that the data is maintained and updated regularly during device swaps and

repairs. In order to make sure that this application is easy to use we will request Signal Service

Inc to test the application during development to request feedback on application features.

Environmental Scan

The task of inventory management is something that all corporations and businesses must

address. Keeping track of what you have in your inventory can be very important yet time

consuming. Software applications have been developed to improve the efficiency of managing
Organization Device Tracker Capstone Report 7

an inventory. Many of these software applications for inventory management exists today. Most

of them even exists in the Fortune 500 companies. For example, it can be useful to track internal

inventory movement. If Google gave each of their employee one laptop to use under the

company’s finances, then they would need to know the serial number for each of their laptops.

Without a management system to track this, they would not be able to predict how many laptops

they have assigned each year.

The lack of asset management could cause overspending and result in major financial

damage to the company. Besides the internal use of asset tracking, another of these software

solutions is the tracking of inventory space and stock levels. Brightpearl is a platform "designed

for retail/warehouses to manage their orders, inventory, real-time accounting, reporting, and

customer data." (REFERENCE 1) it’s main use is to assist with keeping track of warehouse

inventory and mainly used by retail warehouses. The platform itself currently has at least eighty-

four retail partners. "Before Brightpearl, we were using NetSuite (REFERENCE 2), which was

really difficult to configure and manage. Every change was a complex task and a project. Trying

to do anything took way too long. Not one for wasting time, I began my search for software

which would fit and suit my business better." (REFERENCE 3) According to reviews about the

platform, Brightpearl is a balanced management solution for inventory-based businesses. Our

project will not work as in a large scale as Brightpearl. However, it can provide a simple, secure

and innovative way to manage inventory systems. Our project allows users to manage

information for each device with ease.

Functional Decomposition

Our client requested that the application be easy to use and wanted the application to

store data about devices within their organization in a secure local location. They also requested
Organization Device Tracker Capstone Report 8

that the application should be able to keep track of which devices are assigned to which

employees. To provide a solution that best meets these requests, the application was designed

with three main features. First was to develop to be accessed using a login system to provide

secure access to the organizations device data. To develop this feature we used a gem bcrypt to

assist with the creation of a secure password within the user database. We then developed a login

page for the application. The second feature for the application was to provide a place to store

data on the devices within the organization. To provide this feature we developed an ER diagram

(Appendix A) for us to present to the client as the possible database configuration. During the

presentation of the possible database configuration the client requested an additional data field to

hold the name of the employee who currently has the device assigned to them. After this meeting

we added this new data field to the project. The third feature was to link the devices information

to the employee information to allow for the application to track who had each device or if the

device is in inventory. This was completed using the relational models within the Rails

environment to provide relationships between the staff database, the device database and the

notes database.

Risks and Dependencies

One major risk on this project will be based on how much data we will be able to enter

into our application. Our main concern was if there is too much data stored, the application

would crash or miscalculations would happen. Another risk is the client requesting more features

that we would be unable to complete within the scope timeframe. If this happened then we would

have to discuss extending the timeframe for the project with the client. Our application has a

security risk involved with the data that is being collected could be accessed by an unauthorized
Organization Device Tracker Capstone Report 9

user. In order to mitigate this risk our team researched and developed a secure login feature that

allows our client peace of mind that the data will be stored securely.

A dependency is the server located onsite at the main office of the client If the server is

not able to host the software application then we will need to research a backup hosting solution

for the application. The client does have a cloud based Google server that is currently being used

for another web application. This makes this cloud based server the second choice for

deployment of our application with the clients and IT administrator’s permission. Otherwise the

application will need to be hosted to a web server and the client will need to be provided a

weblink to the application.

Another dependency that the application has is that the development of the software goes

forward without delays. If the software development experienced extensive delays it could lead

to the application being delivered to the client in a late or incomplete state. This outcome is

something that our team strived to prevent from happening, however if this outcome does happen

we will make arrangements to complete the application by another future deadline.

Required Resources

The first resources that we used was a development system. An Amazon Web Services

account was used for development and testing. Github repository was used to manage the project

and code for the application. The server to host the application was provided by the client as the

client requested that the application be useable on their server. They have a local server and a

server hosted with Google servers available for us to work with. The client stated that they prefer

that we used the locally hosted server if possible.

Methodology
Organization Device Tracker Capstone Report 10

Through the use of the Agile methodology we were able to complete this project by the

deadline. The Agile methodology is a type of project management technique that is used within

software development and allows teams to react to the unpredictable nature of developing

software. (Reference 4) The Agile methodology will allow us to work quickly while cooperating

with Signal Service Inc to insure that the project is progressing towards the way that the client

envisioned. I will plan on having a short weekly meeting with the client to provide an update on

how the project is progressing as well as gathering feedback from the client on the direction that

the project should progress. Using the Agile methodology will allow for us to quickly shift our

development focus based on the feedback that the client provides us.

We needed to research solutions on how we would host the web server for the

application, what software languages we could use to develop the server application and the web

client application and how we should divide the development tasks between us. We decided on

these topics before we began development on the application. Once development had begun we

implemented Scrum in order to assist with keeping our project on task and our development

efficient. Scrum is the process of developing software in incremental iterations. The defined

process was developed by Ken Schwaber. (Reference 5)

Implementing Scrum into our methodology had us keep daily meetings with the

development team to gather information on which tasks for the application were currently being

worked on, which tasks had been completed and which tasks were being held up because of

dependencies. This continued for two weeks, which was considered to be our sprint. At the end

of each sprint, the product was in a demo-able state for the client to use and provide feedback.

Once the client review had been completed we would then have a meeting to evaluate the next
Organization Device Tracker Capstone Report 11

sprint and begin working on tasks to complete the next two week sprint. We repeated this cycle

until the project deadline.

By using the Agile methodology and Scrum together we were able to complete our

project without encountering any large scale delays during development and deliver an

application that provides a service for our client that we are proud of.

Ethical Consideration

For our project there are two main ethical concerns. The two main ethical concerns are

keeping the collected data secure and tracking which devices are assigned to each employee of

the company. Since our project is an inventory system which involves data collection, our first

ethical concern is to make sure that collected information will be kept secure and will only be

used for inner business use. As with any system that collects data there is an ethical

responsibility to keep the data from being stolen or viewed by individuals without the proper

authority. To mitigate future information breaches within our project, we will suggest hosting the

information locally on a server machine situated behind a controlled access door. We will also be

programming a login system for the inventory application that requires the use of a username and

a password in order to view and modify the data. By installing the server application on a

physically isolated server and requiring the use of a username and password in order to view the

data will be our best effort to keep the data secure.

Another ethical concern for our project is that the company is tracking which staff

members have which devices. This tracking could be seen as being invasive towards the staff

members. It could also be seen as discriminating against the field technicians as they are

provided with multiple devices and they take these devices home whereas the majority of office
Organization Device Tracker Capstone Report 12

employees do not take any company devices home. In order to mitigate this ethical concern we

will be gathering information for every device that the company provides for both the field

technicians and the office staff. As for the ethical concern about the company being viewed as

invasive towards the employees this concern is outside of our scope to be able to provide a

solution for. We can provide advice about how to describe our project to everyone within the

organization but we cannot guarantee the absence of this ethical concern.

Legal Consideration

Our legal concerns for the project are the software license for the software language that

we are using and the application we will develop. We have decided on using on Ruby on Rails

which is an open source programming language. We decided to use the MIT software copyright

license and have added the license to the GitHub repository that will be used during the project.

The MIT license will allow our project to be a free use software as long as the license file is

included with the software distribution. This MIT license has been modified to include our

names as the developers of this software.

Milestones

The milestones for the project are outlined for us to keep track of the progress being

made on the project during development. These milestones will be broken into smaller tasks. Of

the larger milestones we had the mapping milestone. This was where we discuss the project

scope with the client and provide details on the features that were to be included with the final

deliverable for the project. The next milestone was the development of the application features.

During development the client was kept up to date with the progress of the application during a

biweekly meeting. During the development the testing milestone were also worked on. This is

due to the software application was developed using a Test Driven Development method.
Organization Device Tracker Capstone Report 13

The last two milestones were the client’s approval and then the launch of the application.

The client’s approval milestone was completed when the client approved that the application

provided the three main requested features to their satisfaction. We did not consider the launch of

the application to be completed until the client had an answer for all of the questions within the

post deployment questionnaire. The milestones for the project are defined in more detail in

Appendix B.

Timeline

The timeline for the project was outlined in Appendix C prior to the start of the project.

Together our team worked on development and kept roughly within the proposed timeline during

the first half of development. We began to have some difficulty keeping the final testing for the

project timeline on time due to difficulty with scheduling a meeting with the client. This reduced

the time for the client to test the final implementation of the application. Due to this Sean

discussed with the client continued communication outside of the time scoped out for this project

in order to insure that the application will be the solution that the client envisioned. Therefore we

conclude that our timeline was developed without taking into consideration the possibility of

rescheduled meeting with the client. In order to combat these possible rescheduled meetings

client meetings should be added to the timeline with a date range for the meeting to take place in

order to better facilitate possible rescheduling.

Usability Testing

Our usability testing and evaluation of the application went well. In order to facilitate the

usability testing we installed the application on a local server for the client to use over a few

days. Once the application was installed and confirmed to be running on the server, the client

was provided with a user guide and was shown how to access the application from their office
Organization Device Tracker Capstone Report 14

computer. We then scheduled a meeting with the client to return and go through the

questionnaire with the questions listed in Appendix D.

During this meeting we discussed the application and how it was working for the client.

The client seemed to be happy that the application was working as intended with being able to

add items to the list of devices as well as being able to link the devices to staff members and

notes for the devices. Going through the questionnaire answers that the client had written they

said that the application is working for their organization but there is room for improvement. The

client stated that the application has some sections that could be improved. The client requested

some changes to how the device and staff databases are linked. The feature that was requested

was to have the data from the staff database be shown within the device creation form. We

discussed this feature with them and will work on providing this feature outside the timescope of

the project.

Overall the client was happy that the application provided the features that were within

the initial scope of the project. However there is room for improvement on the application which

we will continue to discuss with our client for future versions of the application.

Final Implementation

The final deliverables for this project were to provide the client, Signal Service Inc with a

functional web application that can be used to keep track of their device inventory. This

application was delivered with all three of the following features fully implemented. The first

feature was to view, edit and remove data about the devices for the organization. The second

feature was to provide a secure login system to access the devices data. The last major feature

was to provide an option to save notes to describe issues about devices. There was also an added

feature to add, view and delete details about the staff members name and role within the
Organization Device Tracker Capstone Report 15

company. This information allows the organization to know when a device has been assigned to

a staff member.

The web application was deployed on their local server with local access. The client at

this time has not requested that they would would like to have offsite access but we have

discussed this would be a feature would require additional work outside of the initial scope of the

project to provide. This feature would need to be discussed with the client’s IT department

before deployment. The client was happy that the onsite server was able to run the application so

that there would be no additional cost to the client in order to run our application.

A document was distributed to the client that describes how to use the software

application. This user guide document details all of the different features and provide instructions

on how to use each feature of the application.

Conclusion

Our client Signal Service requested a solution for their organizations device management

following the purchase of hardware that was unnecessary. The lack of an inventory management

procedure was partially to blame for this purchase. Signal Service requested an application that

can provide their inventory manager a place to store information about the organization’s

devices. The Organization Device Tracker was developed to provide a solution for Signal

Service’s inventory management needs.

Development of the application was done using an Agile development method. During

development there were biweekly meetings scheduled with the client to keep them informed of

the progress of the application. During these meetings the current build of the application would

be shown to the client for feedback to provide direction to the development of the application.
Organization Device Tracker Capstone Report 16

The application was designed as a web application using Ruby on Rails. The GUI design

was developed using HTML, CSS and Bootstrap. The three main features that was developed for

the application was a login system that requires an email address and password, store data on the

organizations devices and to keep notes on individual devices. The development time for this

application was two months, the duration of the CST 499 2019 course at California State

University Monterey Bay. Besides the timeframe there was no addition budget for the project.

The project development went relatively on schedule, with the GUI taking quite a bit

more time to develop than anticipated and there was some difficulty in the development of the

login feature. By the end the application has the three features that were proposed with room for

improvement in the ease of use for the application. These improvements will be pursued during

additional development time that has been discussed with the client. The client has stated that the

application will work for their needs at this time and will provide additional feedback in the

future on additional features for the application.

Project Reflection

This project gave us a great opportunity to work on a project defined by our team and

work within a timeframe deadline. During development communication was key in order to have

efficient development on the application. We had some struggles with keeping within our

timeline of events defined prior to the start of the development process due to other

responsibilities that both team members had.

There were some difficulties during development that we were able to work through

during communication. There was one instance where the application design using Bootstrap

was showing up differently when run between our two development consoles. In order to try and

mitigate this type of issue a future having a centralized development location would assist with
Organization Device Tracker Capstone Report 17

more streamlined development. We were able to keep our source code managed through the use

of GitHub so we did not have too much issues with version management during development.

We found that implementation on features seemed to be more difficult than we had

anticipated and design of the GUI of the application took exceedingly more time to develop.

While working on the GUI for the project we ended up beginning with using css and was having

issues with formatting during this time. Appendix F shows a before and after image for the

formatting of the project. The after image uses Bootstrap in order to assist with the formatting of

the CSS. This was a good learning experience for us to keep in mind when estimating time for

projects in the future. In order to avoid this in the future we could begin GUI development at the

beginning of the application development through the use of paper prototyping or some other

form of design planning.

Moving forward we will take what we have learned from this project to improve our

skills when developing future projects. We found this project to be a great learning experience

for the challenges of project management and development for software projects. We will

continue to strive to work hard on our future projects and deliver solutions for our next client.
Organization Device Tracker Capstone Report 18

References

REFERENCE 1: https://reviews.financesonline.com/p/brightpearl/

REFERENCE 2: http://www.netsuite.com/portal/home.shtml

REFERENCE 3: https://www.brightpearl.com/expertise/customer-stories/vesternet

REFERENCE 4: https://linchpinseo.com/the-agile-method/

REFERENCE 5: https://www.scrum.org/about
Organization Device Tracker Capstone Report 19

Appendex

Appendix A

Appendix B

● Mapping

○ Define the features of the project and confirm features with the client that they

would like to have added to the project.

○ Confirm that the server located at the client’s site is capable of hosting the project

application.

● Developing

○ Device database

■ This milestone will be completed once the database for the devices has

been developed. This includes UI development.


Organization Device Tracker Capstone Report 20

■ Device note feature

■ This milestone will be completed once the database for the notes has been

developed. UI development is included within this milestone.

○ User login

■ The milestone will be complete once the database has been developed and

the UI has been developed for the login of the users.

○ Note feature

■ The development of the feature to add notes to the devices. There will

need to be a UI for where the user will enter these notes.

● Testing

○ Test driven development during the development process followed by the client

using the software once a stable version is available.

● Client Approval

○ Confirm with the client that the project has been developed to their satisfaction.

● Launch

○ Deploy the application for the client to use.

○ Provide the client with post deployment questionnaire

○ Receive the completed post deployment questionnaire


Organization Device Tracker Capstone Report 21

Appendix C

8/26 Work Begins 9/18 Test User Database

8/28 Requirements Stage 9/22 Develop User Login Feature

8/30 Confirm that the local server at 9/25 Meet with Client to provide an

client’s site can host web server update on project

application

9/5 Learn Ruby and Rails 9/30 Develop feature to store notes

attached to each device entry

9/10 Develop UI 10/6 Final Testing and Bug correction

9/12 Develop Device Database Schema 10/7 Install server application at client

site

9/14 Test Device Database 10/8 Client Testing Begins

9/16 Develop User Database Schema 10/11 Meet with client for project review

Appendix D

This is a list of questions that will be requested of the client to answer once the application has

been deployed to the client. These are the initial questions and more could be added in the future.

● How is the application working for your organization?


Organization Device Tracker Capstone Report 22

● Does the application meet your expectations? If no explain how the application can be

improved to meet expectations.

● Is there any difficulty with using the application? If yes, please describe the process that

is difficult to complete.

● Is there any additional features that you would like to have added to the application?

● Is there any graphical changes you would like to have done to the application?

● Are there any other additional comments about the application?

Appendix E

Website explaining different techniques for usability testing.

https://www.usability.gov/how-to-and-tools/methods/running-usability-tests.html

Appendix F

Before

After
Organization Device Tracker Capstone Report 23

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy