– Submitted by Michael Brown –
For my senior project I am doing an Asset Tracking System. This system is for the Waynesboro Area School District (WASD) in Waynesboro, PA. This system will allow them to track all of their assets which include software, equipment, and other assets. It will also be able to trace where that specific asset was bought through such as a grant or a money order.
Currently they are having issues with tracking where their software and equipment. This system will allow them to pull up a report and see where a certain software package is locate or who has it or where equipment is located. This system would save them time and effort looking for either of these parts.
The system itself will be a web based application running off of their web server. It would include security features along with user friendliness. The system would be based off of the serial number and the district tag number all equipment get. The Asset Tracking system is based upon needs of Waynesboro. These needs are as follows:
Security will be implemented for the system to keep the information away from unauthorized personnel. User accounts will be used to access the system. Based on the group ID that each user is given will determine what they can view. The passwords will be stored in the database based on the sha1 or md5 encryption method.
For this, I will have to do research on how to set up a sign in system that will be able to show certain information to users who have a certain access level. I will also have to research on how to verify the hash of the password on the system.
I will have to research on to how to send a welcome e-mail that will contain the username and password and send that to the new user given that Administrators are only able to register new users. This itself will be a step that the Network Administrator and IT Department head will have to approve.
The system will store information related to the products used. It will store, the type of asset: software/equipment, title, description, district Identification tag, serial numbers, location, room, signed in/out. This information will be used to keep track of the information about each asset.
Upon deployment of the system, it will be accessible district wide and while users are at home. Pending approval access will only be from district computers thus the sub-domain feature would not be implemented. This decision lies with the Network Administrator due to security issues that that person may only know of.
1 – Design a project development and implementation plan.
The system will be developed when the project is formally approved by Dr. Miller and Spring Break. The system will be proposed to be started implemented during Spring Break at Waynesboro Area School District/Waynesboro Area Senior High School/Waynesboro Area Middle School. The District Network Administrator and District Technology Facilitator and the person in charge of the web server will be on the team to help with the implementation. It has been discussed with them that the ideal date of implementation is the week of PCT’s Spring Break.
2 – Value teamwork, leadership, and consensus building.
There will be many people that will be part of the teamwork to have this system completed on time. There will be the owner of the system, Waynesboro Area School District and the alpha and beta testers. The alpha and beta testers will be on the initial team and will start the teamwork by providing the developer with any bugs that they might have found. The overall leadership of the program will be from the school district since they will be utilizing the asset tracking system.
The system will be implemented on the web server on the above date but it will be beta testing for the rest of the week plus any additional time needed. For purposes of further testing preliminary there will be a sub-domain (ex. https://tracking.wasd.k12.pa.us) so Michael can access the system via other locations other than on campus property.
All the teams involved in the overall development team will finally come together to an understanding on how the system will operate maintained and administrated.
3 – Develop consulting, decision making and time management skills.
The teams will have certain plans for the development of the project. The developer will be in charge of getting the web system coded and do the initial beta testing. The developer will make sure that the aspects that the Waynesboro Area School District wants in the system are implemented. The developer will also make sure that the security and integrity of the system is intact.
The testers will make sure that the bugs that are found are documented and fixed. The developer will have the responsibility to correct those bugs. Bugs are reported with an online bug tracking system package called FlySpray. This software package will be used when the system is completely implemented to easily set up bug reporting, etc.
4 – Identify and specify the processes which solve the organizational problem being addresses.
This system will benefit the organization (Waynesboro Area School District/Waynesboro Area Senior High School) with their problem of missing information pertaining to equipment and software that has been purchased whether from grant money or form.
They will also be able to assign responsibility to who signed out the equipment or software. They will be also be able to tell where know where the equipment or the software is. The status of any asset will be able to be seen when reports are run (database query). Status’ include but are not limited to: End of Life (EOL), In for Repair, deployed, etc.
5 – Explain and develop standards and policies associated with the project.
There will be standards with security associated with this project. Integrity will be a big point with this system. Security polices will be in place with the system. Some policies will be as follows:
6 – Explain the benefits of cross functional teams.
There are many benefits to cross functional teams in this project. First there will be many different people that will be utilizing this system. The first benefit is there is a greater scope of information that is available to everyone. The different people that come to it such as the purchasing department, personnel, and the IT department share information.
Purchasing will tell the IT department that their order is in and that it is available to pick up at a certain location if not at the correct school. The IT department will then tag the equipment or software and file it with the database.
Personnel are a big key in this process. They will be in communication with the IT Department mainly the Asset Tracking Administrator so that anyone on a specific list is fired or leaves the district that has access to the system that their access is removed to protect the security of the system.
The IT Department will be the “Administrator” of the entire system. They will maintain the security and update the Personnel department on who has access to the system so in case they are fired or leave the district the Personnel Department can communicate with the IT Staff so their access is removed like stated above.
Cross Functional teams are always good to have because they will help share information about the system that might need changed or what each different needs on the system to be able to utilize it.
Finally cross function teams will provide to make the concept of inventory/asset tracking less unidirectional. It will help to make the schools within the district to have one central database with all the information.
7 – Explain and apply various life cycle concepts in engaging in and completing a project.
The life cycle process has 4 to 5 steps. The first process is the system initiation. This process we have already gone through, which was identifying the problem at hand. The problem is that the WASD Tech Department needs a way to track their assets in a more effectively and economy way. With discussions between myself, Shawn Schaeffer and Constante Paz we have decided to go with a web based application so it can be accessible anywhere they go. I have been given the okay from them and Kay Eblery who is the Director of IT to go forth with this process.
The second step is the system analysis. With discussion with Shawn Schaeffer we have determined the problem. We have already stated the problem in a way above. The other issue is that each building is filling out paperwork for their assets. This information may become lost or the information could not be legible. Shawn, Kay, Constante and myself have talked about the requirements and expectations with the project. The system needs to be able to go and be able to submit the information to a specified database on a central server. It must be a web form format.
System Design we did part of but not entirely. This step we have to identify other possible solutions. There were no other solutions that were discussed. My proposal was given thought and was given the okay to proceed. We then have to design the solution. The solution for WASD needs to include, documentation/support, user friendliness, ease of use and needs to have security implemented with it.
One of the final steps is the system implementation. This step is very self-explanatory. The proposed date of implementation date is the second week of March. This is when I am home and on spring break. During this week the system will be implemented and have a dedicated IP Address, etc. There might be issues that come across being not knowing the root myself password or something not running correctly or a little code error.
The final step is something I have just learned about. This step is “System Support & Continuous Improvement.” This step is where we will sit down and see if there is anything in the system that needs to be improved or changed such as security parameters due to new security threats or just updating the services that the system runs off of.
If maintenance has to be done, the system will be taken offline and be worked on in a development environment. This step we would call a maintenance or enhancement period of the current system. All systems go through this process and I foresee down the road whether that be months or years that the system will have to be changed or upgraded to suit current district, security and departmental needs.
8 – Prepare appropriate end-user documentation.
End User documentation will be prepared in a help file for either Windows or Macintosh. It will go through everything of how to set the system up, add users, add assets, etc. The help file will be in both Windows and Macintosh formats if able to do create both type of file formats. The first file that will be created will be the Windows one. All the user(s) will have to do is click the help file and let it load and they will have access to everything. Since the users will only have access to both Macintosh and Windows that is why only these two formatted files will be created.
9 – Explain how your project addresses the synthesis, application and analytical skills used throughout the degree program.
This project will incorporate all my skills that I have learned throughout my four years here at PA College of Technology. Each technology learned through these years will be implemented into the system such as web page development, web application, security and networking.
Web Page development and web applications will be used by creating a web based interface for the asset tracking system. The different techniques that are used in these two classes will be used to help create a web application that allow users to log in and administrator the different assets.
Security will be implemented by allowing only authorized users have access to the system. Other security parameters that will be in place are once those employees leave the district their access will be removed. As well as users will only have access to what they need to. Not everyone will have access to add or edit the different assets. Certain users may only be able to view the information.
Networking will be used by creating the application on a system that will be accessible through the organization. Certain people at each school will have access to the system when the system will be based on the web server located at the Middle School. The system will also have a sub domain and a dedicated (static) IP address.
Data Storage is a big event with this system. Storage is necessary while creating an ease of access. The type of databases or data storage that will be used is mySQL databases. These databases are used on the web server. The data storage databases will be password protected with a cryptic password and a username. There will be multiple databases that will be used. The reason for this is to keep everything secure, that if a hacker would get into one database and get the username and password for the different accounts, they would not have access to the actual information related to the asset information.
With this system documentation is a necessary feature. Without it the users will be lost and may corrupt the information. There will be a how to get started guide that will explain how to edit, add and remove asset information. It also will show administrators how to set up users with the proper permission.
The documentation will show how the notification system works in case of a hack attempt or when new users registers. Documentation will show the “Asset Tracking Administrator” how to easily set up a static IP address for the systems. Some people in charge of this system may not know how to set it up or may need to give this information to the Network Administrator to set up.
The system requirements will also be entered in the documentation. Before the system can be used the Administrator will have to make sure that the equipment that they have is suitable for the system. Such information will include what versions of apache, mySQL and PHP are necessary. For the most part these will be set to have the most updated stable release mainly due to security issues.
The system will have to be kept up to date. PHP & mySQL versions get updated several times a month with security and maintenance updates. Due to the overwhelming increase in website attacks, these two languages on the server side will have to be updated when a “stable” release comes out. So no unexpected events happens after an update has been implemented a backup of the website will be taken and tested on the new versions of PHP and mySQL to look for any bugs that might occur with how the system was coded. Different versions of these languages depreciate (discontinue) code one in a while so it will have to be tested.
A log-in system will have been implemented to keep unauthorized persons out of the system. The only people that will be able to log in will be each tech at each of the schools within the school district. Special Access will be given to those needed to verify information on how money was used for Technology from State, Federal and Private Grants. The system will try to use a single sign-on feature to implement the current network credentials with the persons log in for the system. If this does not work the Asset Tracking System Administrator will create user accounts for those needing access. Those passwords will need to be changed upon the first log in into the system.
The Asset Tracking System Administrator will have “Super Administrator” rights to do anything which includes demoting or removal of current users, banning, or any other security or administrative task.
If a staff member leaves the school district, is released from the district or is fired, their access will be removed as soon as notification is made by personnel to the Asset Tracking System Administrator. Any user seeing abusing the system will have their access removed or another form of disciplinary action.
The system will be updated on a regular basis. If the developers of the JoomlaPack component develop a standalone backup utility that does need the Joomla CMS, it will be used to create easy weekly backups of the website and the database. This can be done automatically through a cron job.
With this system, information will be entered whether or not the money used to purchase certain equipment was purchased via a grant, loan, etc. That information will have to be secured so the authorized users only can view it. Reports will have to be called up so grants can be tracked to the equipment and equipment back to the grants they came from. This information has to be protected because grant information can only be viewed by authorized personnel.
In addition captcha which is an anti-bot log in system will be utilized. This will require users to enter to words correctly to make sure they can get into the system. This is so if a “bot” of some sort it introduced to the system it has to verify two random selected words from a database.
In the php.ini file, display errors will be turned off so users can not use that to see weaknesses in the database or find out usernames to the database if the database cannot be connected to.
This system will be based on a website type system. The system will be web based due to the mobility of the persons using the system. Each technician at each school at the Primary and Secondary level and the district wide network personnel will need access to this. In addition, the system will be binded to a static IP Address in case the DNS server would ever crash, the system would still be accessible via the static IP address. Finally, if the WAN uplinks go down between schools, the school that hosts it will always have access to it unless their network goes down.
This system will be coded in four different languages. The main portion of the system will be coded utilizing Hypertext Preprocessor (PHP), and Hyper Text Markup Language (HTML). This will be necessary to create a website that can dynamically change. The next important language will be the SQL code. This language will be used to update the information in the database with UPDATE and INSERT commands. This language is necessary for the PHP to talk to the Database. The last language that will be used is called Cascading Style Sheets (CSS). This language will be used to format the system to utilize the current coloring scheme of the Waynesboro Area School District website. We want to keep the coloring schemes the same so when someone navigates from one to another that it does not have a “drastic” change.
This system will be incorporated into the current web system at the school district. It will be hosted on the current web server at the Middle School. The “Asset Tracking Administrator” will have remote access to the box to make sure that there are no issues with the tracking system. The system will be deployed on the Internet. All users who are registered will be able to gain access to it via a web address (ex. https://tracking.wasd.k12.pa.us)
I would have to research the basis on how to implement a system that would create a hash from the standard md5 hash or another type of hashing technique of a phrase and salt to increase the security of the information that is stored for the password.
The next event that I will have to research is the implementation of “system” that will send an e-mail to Information Technology Team in charge of the Asset Tracking System, in the occasion that the Inventory System has been hacked or an unauthorized attempt has been made to the database (SQL Injection Attack). Also in this task, when a new user has been added it will e-mail the lead IT personnel on this occasion.
In addition, I would need a script that would show the currently logged on users and only show that to the administrators. The number of users would be shown to the regular users of the system.
Also would like to be able to attach files to certain records. This would allow users to see extra notes such as information pertaining to maintenance that was done on the computer in the past, etc.
The system should be able to send an e-mail to the newly registered user. This e-mail would be needed because only Administrators can register new people.
The documentation will be based on a help file that is based for Windows and Macintosh. I will have to research on how to create a file like this for each Operating System. This might mean that I have to purchase a program to create the file. I am hoping to find free open source software that will help aid in this feature being implemented. If such cannot be created, an online help feature will be implemented.