Running Head: LAB 2 – TRAIN PROTOYPE SPECIFICATION CS 411W Lab 2 Prototype Product Specification For TRAIN Prepared by: Jacob Sims-Green Team Hill Price Date: April 8, 2013 Version 2 1 LAB 2 – TRAIN PROTOYPE SPECIFICATION 2 Table of Contents 1 2 INTRODUCTION ...................................................................................................................4 1.1 Purpose ............................................................................................................................. 5 1.2 Scope ................................................................................................................................ 7 1.3 Definitions, Acronyms, and Abbreviations ...................................................................... 8 1.4 References ........................................................................................................................ 9 1.5 Overview .......................................................................................................................... 9 General Description .................................................................................................................9 2.1 Prototype Architecture Description .................................................................................. 9 2.2 Prototype Functional Description................................................................................... 15 2.3 External Interfaces......................................................................................................... 17 2.3.1 Hardware Interfaces .................................................................................................17 2.3.2 Software Interfaces ..................................................................................................18 2.3.3 User Interfaces .........................................................................................................18 2.3.4 Communication Protocols and Interfaces ................................................................18 LAB 2 – TRAIN PROTOYPE SPECIFICATION 3 List of Figures Figure 1: Major Functional Component Diagram ........................................................................15 Figure 2: Prototype Functional Component Diagram ..................................................................16 List of Tables Table 1: Real World Product v.s. Prototype ................................................................................153 LAB 2 – TRAIN PROTOYPE SPECIFICATION 1 4 INTRODUCTION Every position within a workforce body requires the employees that fill those arrangements to be educated on how to successfully carry out the responsibilities associated within those positions. Businesses and companies, both in the private and public sectors, teach the persons filling those roles by using different methods of training. This type of educational restraint has become a crucial determinant on whether a company will accomplish the goals instilled within the employees during training. In CS 410, the Green Team defined the societal problem with training by identifying key factors that need to be reexamined and improved through the implementation of new technology. To be more precise, the team defined the societal problem as comprised of three parts: difficulty in delivering training materials efficiently, implementing reliable feedback mechanisms, and creating and executing a training module in a reasonable amount of time. Such parameters, as previously written, can be seen as evidence for the hypothesis that the current delivery of modern training is in need of a practical solution. The ideal version should allow users of all roles to access the product and define each user's association with an organization. The course creator should have the capability of retrieving the training materials from a single database and thus allow for quicker access to resources. The product will facilitate creating training modules that can pull educational materials to build a course. This capability should greatly decrease course creation time by removing the need for manual construction and replacing it with automation, ultimately reducing monetary and opportunity costs. Lastly, the ideal product should strengthen customer involvement in course creation by generating the course from a list of customer requests. LAB 2 – TRAIN PROTOYPE SPECIFICATION 5 1.1 Purpose The Green Team has taken these ideal factors and placed them into a prototype design known as the Training Resource And Information Network (TRAIN). The group's design of the system addresses the traits of the best model. TRAIN is designed to be a functional prototype able to answer the needs for a compatible solution for the designated societal problem. The TRAIN prototype is designed to be a training module used in order to help create an ideal learning environment where both students and instructors can succeed. The Green Team has a created a blueprint where the product incorporates the factors of time, reliability, feedback, and security to generate a setting where students can benefit the most from lessons taught and instructors can focus on their clients’ needs. The group has designed a plan to address this set of goals, starting with the issue related to the length of time usually needed to produce instructional modules. The first goal of the prototype is to reduce the amount of time it takes to create a training course. By shortening the length of time, the instructor can allocate that time to other areas that would benefit from it the most. The second goal is to improve the return on investment (ROI) for customers, students, and the instructors using the TRAIN software for the creation of training units. The plan is to increase the value provided to the customers by the product in a way where everybody is benefiting its use. The best way to analyze if customers are benefiting from the training modules is to provide a method of feedback. This introduces the third goal: providing reliable feedback. Criticism from the students and instructors can help improve the lessons and the system overall. Finally, to make sure the customer data is private, the fourth and final goal is to provide a secure environment. This goal is needed to ensure the integrity of customer data LAB 2 – TRAIN PROTOYPE SPECIFICATION 6 (personal and organization information) and to prevent the system from being comprised by unethical and potentially harmful means. With those goals in mind, the hope is to achieve these results in the solution. The first result would be that TRAIN would provide a management environment where the instructor can create, configure, and manage a set of learning modules. This environment would be built upon the idea that the Green Team’s product would allow for the search and retrieval of needed data that is used to build these educational foundation of the modules. The plan is to structure the product in such a way to provide the best path for the uploading and updating of data. The second result is a measurable decrease in time it takes to create a course from start to finish through automation of the current process. The automation would consist of four different parts with the first being a customer survey. This review would reduce the communication time that it currently takes from arranging and having an in-person meeting with the instructor or by submitting request in a paper format. Another part of the automation process is the course generation function. This tool would replace the time consumed by the instructor to search for topics that match their customer’s request. The third aspect of the automation process is the ease of searching and selecting topics. With this type of capability, the prototype is expected to strengthen the overall value of the course with more time being spent in the planning of training that would best fit the needs of each customer. The fourth and final aspect in the automation process is the ability to have packaging of all the course materials. This should allow quick printing of course packs, saving time from having to print each topic one by one. The third and final result is to increase the ease of creating training modules. This solution represents the overall plan for the case study. Currently, one employee manages this whole process. The goal for TRAIN is to expand this role. This capability will allow new users LAB 2 – TRAIN PROTOYPE SPECIFICATION 7 to quickly learn the capabilities and procedures of the product. This will enable each user with knowledge of using and maintaining the system. 1.2 Scope The most effective way to put the proposed solutions of creating training modules to use is to design and build a prototype. To understand what the prototype’s functionalities and capabilities are, the goals and objectives hoped to be accomplished with the TRAIN prototype must be defined first. As detailed in a previous section, TRAIN is an educational tool that will help instructors and students design, develop, and evaluate training modules. This type of training production will not only allow for instructors to create courses in a more time efficient manner, but the instructor will have more time develop . The customers, however, will have the opportunity to select the courses being taught to them, providing a hands-on experience to their education. In order to accomplish this task, one of the first goals is to allow the solution to be global. The intention is to make the prototype expand beyond the scope of course creation by instructors through including the involvement of students and their needs. This will be accomplished by having the prototype become web-enabled, granting access to students and instructors wherever the training is needed. TRAIN will be learning-objective based. Instructors will base a course on a set of defined learning objectives. If the course has not yet been created with learning objectives that fit the needs of the students, TRAIN will be able to arrange them in a way that allow users to find the necessary objects by the execution of searching patterns (i.e. search bar, reference, titles). Instructors will be able to find the necessary objectives and place them into an order that will satisfy a subject of topic. Instructors will have the capability to edit current courses by the LAB 2 – TRAIN PROTOYPE SPECIFICATION 8 addition of other required learning objectives or removal of those no longer in use. In essence, TRAIN will allow users the full power of customization to better suit their needs. TRAIN will have the capability to create and add users, organizations, and roles when needed. The expectation is that this enables the model to become more robust with the fluctuation of clients and the roles they fill varying over time. Such capabilities are just a mere addition to the mock-up. The prototype will be able to consolidate all current learning objectives into one place, with the plan to enable users to avoid spending time looking for needed data. 1.3 Definitions, Acronyms, and Abbreviations Administrator: Training organization user that has all administrative capabilities. Course: Training class that covers various topics. Customer: User that can request course for employees. Data: Information content contained in a specialized type. Data Type: Different types of information used filter and create new course training material (Learning Objectives, Topics, References, Courses). Instructor: User role that will be giving training, manage courses, and their materials. Learning Objective: One individual sub-topic point that on which a user can be trained. National Center of Systems of Systems Engineering (NCSOSE): Organization that provide their expertise and extensive knowledge of engineering through hands-on assistance and training to interested customers. Reference: Direction of where material for lectures can be found. Student: User role that takes the training course and can provide feedback after course completion. System of Systems: Multiple interrelated groups of components with a common goal. Topic: General subject areas to cover containing slides, lectures, and learning objectives. TRAIN (Training Resource and Information Network): A web application software designed to improve quality and precision of training material and decrease duration of course creation. LAB 2 – TRAIN PROTOYPE SPECIFICATION 9 1.4 References National Centers for System of Systems Engineering. odu.com February 18, 2013. http://www.odu.edu/ncsose Sims, Jacob (2013). Lab 1 – TRAIN Descriptive Paper. 1.5 Overview This product specification provides the hardware and software configuration, external interfaces, capabilities and features of the TRAIN prototype. The information provided in the remaining sections of this document includes a detailed description of the hardware, software, and external interface architecture of the TRAIN prototype; the key features of the prototype; the parameters that will be used to control, manage, or establish that feature; and the performance characteristics of that feature in terms of outputs, displays, and user interaction. 2 General Description The TRAIN prototype is comprised of several different parts. These components comprise of the system architecture, the functional components and the external interface. Each section is a representation of different levels of the overall system. 2.1 Prototype Architecture Description Table 1 addresses what will be implemented in the prototype compared to the ideal real world product. The product will be a website built with C# in ASP.Net/MVC framework. This design will allow for the tool and associated files stored in a centralized database to be accessed remotely. MySQL is the database structure used to store all data connected to the prototype. (This space intentionally left blank.) LAB 2 – TRAIN PROTOYPE SPECIFICATION Features User Authentication 10 Real World Project Role logs in with Prototype Implemented Username/Password Admin: Approve View customer request and Request approve Admin: Assign Assign instructors that will Instructor/s to be teaching and creating Organization course. These instructors Implemented Implemented will be able to edit only their courses Admin: add users Create users and assign role Implemented Instructor: Add/Update Add or update topics, data Implemented references, learning objectives Instructor: Associate Link learning objectives to Data topics, topics to learning objectives, learning objects to references, references to learning objects Implemented LAB 2 – TRAIN PROTOYPE SPECIFICATION Features 11 Real World Project Prototype Instructor: Feedback Notify instructors/admin Not Implemented Notification when course is rated low Instructor: Edit Add or remove topics from Generated Course generated course Instructor: Create Create course from scratch Implemented Easily search for required Implemented Implemented Customized Course Instructor: Search material when creating/editing course Instructor: Add Add customized feedback to Not Implemented, all topics will have a Customized Feedback learning objective, topic, and number rating. All students will be able to course Instructor: Compile and Quickly compile all data only rate topics. Implemented Print Course making up course and print Manager: Request Request course by selecting Implemented Course desired learning objective Manager: View After selecting learning Requested Course objectives, display course Hours duration Implemented LAB 2 – TRAIN PROTOYPE SPECIFICATION Features 12 Real World Project Prototype Manager: Assign Assign students to approved Implemented Students course Manager: Add Students Give students username Implemented Manager: Update Update organization name Not Implemented, Admin can change Organization and email information Information Manager: View Student See all students ratings for Implemented Rating particular course Student: View Course Admin upload course Materials material for student view Student: Course Student gives text based Partially Implemented, a single text box for Feedback feedback on course as a course feedback Not Implemented whole Student: Topic Rating based feedback per Feedback topic Student: Learning Take a quiz at the end of Objective Quiz each topic based off of learning objective Not Implemented, Not Implemented, only course feedback LAB 2 – TRAIN PROTOYPE SPECIFICATION Features 13 Real World Project Prototype Student: Course History View previous courses taken Partially Implemented and feedback given Prerequisites Topics will have Not Implemented, admin will have to prerequisites that will affect review generated course and add extra course generation topics accordingly Student: Course Student gives text based Partially Implemented, a single text box for Feedback feedback on course as a course feedback whole Student: Topic Rating based feedback per Feedback topic Student: Learning Take a quiz at the end of Objective Quiz each topic based off of Not Implemented, Not Implemented, only course feedback learning objective Student: Course History View previous courses taken Partially Implemented and feedback given Table 1: Real World Product vs. Prototype The prototype database will be populated with both real and fake records. Users information, such as names, credentials, and associated organizations will be fictitious data used to showcase the capabilities of the prototype. The learning objectives, topics, and courses will be LAB 2 – TRAIN PROTOYPE SPECIFICATION 14 factual records used to display the competence of the algorithms implemented within the product in such areas as request, search, and creation of courses. Every user will need a personal computer to use TRAIN. This will provide the functionality of interaction between prototype and the end-user. To use the product remotely, the user will need to have access to the internet. This network provides the communication needed between the GUI and repository. The GUI will be implemented to visually look like the real world product but will have some functionality left out in the prototype, as defined per Table 1 previously mentioned. It will have interfaces designed four separate views that will be associated with the roles given. The real and fake data provided in the training module will be used to simulate the interaction between TRAIN GUI and associated database containing the record, as shown in Figure 1. (This space intentionally left blank.) LAB 2 – TRAIN PROTOYPE SPECIFICATION Figure 1: Major Functional Component Diagram 2.2 Prototype Functional Description The web-based application is comprised of four separate user interfaces that are associated with different types of users. Each client will have different capabilities when using the training module. Figure 2 provides the illustration of interaction between each role and the TRAIN server. (This space intentionally left blank.) 15 LAB 2 – TRAIN PROTOYPE SPECIFICATION 16 Figure 2: Prototype Functional Component Diagram The Administrator is granted all the capabilities provided to the other roles. There are certain abilities that the Administrator has that are not granted to the other three user roles. The first of these is the ability to review and approve course requests generated by the customers. When they have approved a course, they will then be able to assign instructors to that course. The Administrator will also have access to the functionality that manages users and organizations for the entire application. The next interface is the Instructor. They will be able to able to manage courses and materials associated with them. They will also be able to review feedback on courses they have LAB 2 – TRAIN PROTOYPE SPECIFICATION 17 been assigned by the Administrator. When needed, an instructor will have the ability to upload and edit data within their interface. The Instructor will also have access to everything that is accessible to the Customer, the next lower interface on the role tier. The Customer interface has the capability to request a training course and will be able to assign students to that course once it is approved. Feedback will also be another vital function within this interface that will allow the Customer to express their concerns with the way the course was taught. The Student interface, along with the Customer, will have access to the feedback section after the course has been taken. 2.3 External Interfaces The external interface used for the TRAIN prototype will be the website the product is built upon. This will be the main tool used to run the prototype and is capable of running through any current desktop web browser. With TRAIN being built as a website allows for remote access to the product. 2.3.1 Hardware Interfaces The TRAIN prototype will not have any hardware aspects to demonstrate its capabilities. It will be developed on a virtual machine running Windows 7 on the Old Dominion University Computer Science department servers. This will enable users with the correct CS account credentials to access from any computer on or off campus. (This space intentionally left blank.) LAB 2 – TRAIN PROTOYPE SPECIFICATION 18 2.3.2 Software Interfaces The website will be built in the ASP.Net/MVC 4.5 framework. This framework allows for the backend to be developed using C# as the main programming language for functionality and CSHTML for the frontend development. The database and its queries will be constructed using MySQL. 2.3.3 User Interfaces User interfaces will be displayed via the website interface. This will have the capability to access the product through any current desktop web browser. Having this capability, it allows for end-users to have an entry to the prototype from any computer outside of the ODU CS network. 2.3.4 Communication Protocols and Interfaces Hyper Text Transport Protocol (HTTP) will be the main tool used to communicate with the solution located on the ODU Computer Science network. This will deliver all the interfaces associated with the end-user based upon their roles stored within the database. The communication between the database and TRAIN will allow for the existing course modules or creation of new courses based upon Customer queries for learning objectives.