RUNNING HEAD: LAB 2 – PROTOTYPE PRODUCT SPECIFICATION FOR TRAIN Lab 2 - Prototype Product Specification for Train Green Team Tyler Swayne CS411W Janet Brunelle 04/23/2013 Version 3 1 LAB 2 – PROTOTYPE PRODUCT SPECIFICATION FOR TRAIN 2 Table of Contents 1 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 2 General Description ....................................................................................................................9 2.1 Prototype Architecture Description ...................................................................................10 2.2 Prototype Functional Description ......................................................................................14 2.3 External Interfaces .............................................................................................................14 2.3.1 Hardware Interfaces ...............................................................................................16 2.3.2 Software Interfaces ................................................................................................16 2.3.3 User Interfaces .......................................................................................................16 2.3.4 Communication Protocols and Interfaces ..............................................................18 List of Figures Figure 1 – TRAIN MFCD ...................................................................................................6 Figure 2 – Prototype MFCD .............................................................................................14 Figure 3 – Training Organization Site Map .......................................................................17 Figure 4 – Student Organization Site Map ........................................................................18 LAB 2 – PROTOTYPE PRODUCT SPECIFICATION FOR TRAIN 3 List of Tables Table 1 – Real World Product vs. Prototype .....................................................................10 LAB 2 – PROTOTYPE PRODUCT SPECIFICATION FOR TRAIN 4 1 INTRODUCTION Training is a required element of every job and typically is not offered in higher education. Education emphasizes on principles and building the mind where training emphasizes on application and building skills. The training that does exist in the workforce is in need of innovation. There is difficulty in creating training modules and delivering materials efficiently. Managing training material can add to this difficulty. Some company's sole source of business is to provide training. These organizations have extremely large amounts of data and traversing through this material and producing appropriate training modules is timely and problematic. Finally, lack of feedback restricts training from progressing and improving. Many organizations do not implement reliable feedback mechanisms to improve their training and ultimately their business as well. The solution to this problem is a data management system that allows users to quickly build training modules. A data management system allows customers to upload resources with keywords making all of their information easily searchable. This allows the customer to find, update, upload, and download their immense amounts of data with ease. The alternative to this would be manual database manipulation to insert, search, and download data. This process is extremely time consuming and error prone. The functionality to build training packages easily by modularizing data within the management system also drastically reduces the time of the overall process. This cuts the cost of training and gives organizations extra resources for focusing on the content of the training material. Structured feedback can automatically flag poorly rated training materials within the system. This lets the training organization’s users know what is not effective and needs to be updated or removed. Finally, a customer interface that allows the customers to log on and request training could also help organizations save LAB 2 – PROTOTYPE PRODUCT SPECIFICATION FOR TRAIN 5 resources. Instead of having to sit with the customer and agree upon customer training requirements, the customer could use this interface to request training on specific topics. This will design courses more accurately since the request is coming straight from the customer. This data management system is what the workforce needs to restructure the current system of training. TRAIN is a data management system that employs each of these characteristics to solve this societal problem. 1.1 Purpose TRAIN is intended to drastically reduce the time it takes to create training modules. By doing this, it allows the training organization’s users to focus more on delivering and creating the material within the training modules. Another result of this will be more accurate training material selection. In order to reduce the time it takes to create training modules, the data must be in one searchable repository. This will allow easy management of the data within, resulting in quick downloading and uploading functionality. Feedback from the customer will give them the capability to identify poorly rated content and update it as needed. While TRAIN is primarily intended to reduce the time it takes for the training organization’s users to build training modules, there are many other components that aim to increase the effectiveness of the training. To accomplish these goals, TRAIN will provide a data management system. This tool will have a centralized database and provide a GUI interface for easy data upload, download, and updating. To increase the speed of creating courses, this system will provide an interface that gives them the functionality to easily select training material to add to a course. The system will also include a customer interface so that a customer representative can select low level training objectives from the training organization. Based on this request, an initial course will be generated which the training organization’s users can manipulate to add or remove any LAB 2 – PROTOTYPE PRODUCT SPECIFICATION FOR TRAIN 6 material. This is what will help them build courses more accurately geared towards the customer request since the customer is essentially building their own course with their approval. The relationship between the customer and training organization is illustrated in Figure 1 below. A feedback feature will also be included within the system within the customer interface. This will allow students to rate training materials and overall courses. Poorly rated training materials can be flagged so the training organization’s users can review and update ineffective data. Free text feedback can also provide them with an explanation of a positive or negative assessment to help when changing or creating new training material. The implementation of this solution will accomplish the goals outlined for this system. Figure 1: The Major Functional Component Diagram LAB 2 – PROTOTYPE PRODUCT SPECIFICATION FOR TRAIN 7 1.2 Scope To demonstrate TRAIN’s ability to solve training organizations shortfalls a prototype will be developed. The prototype will execute much of the functionality described within the real world product and will still be composed of four separate interfaces. Table 1 shows each of the TRAIN's features and the prototype’s implementation of the feature. The administrator will be able to create user accounts and organizations. Once a customer manager is created, they will be able to create student user accounts within their organization. The manager will be able to request a course by selecting desired learning objectives, and select which students will be receiving the training. Once the customer has requested a course, the administrator will be able to assign an instructor to it. The administrator or assigned instructor will be able to view the initially generated course, edit the topics within, and finalize this content. They will then receive a compressed folder containing all files needed for the course. The instructor and administrator also are able to manipulate data within the system. This includes data upload, download, and update. Each student will be able to view a list of the courses, which they have been assigned to take. They will be able to select a course and add free text feedback for each course. There will be no numerical rating and topic weighting system. Because of this, poorly rated topics will not be flagged and the administrator will not be notified. Prerequisites will also not be implemented. The administrator will have to consider prerequisite topics when reviewing and editing auto generated courses, all of which is show within Table 1. The prototype will demonstrate the ability to manage data. The administrator and instructor interfaces will be able to upload, download, and update data. The prototype will also demonstrate the functionality to create courses or edit auto-generated courses based off of a LAB 2 – PROTOTYPE PRODUCT SPECIFICATION FOR TRAIN 8 customer request. It will also demonstrate the ability to create and edit user accounts and organizations. The prototype will also demonstrate the customer ability to request courses. These are significant because they are the predominant functions of the system. This will still reduce course creation time down drastically, which was the main objective of the software. It will also serve as a centralized data management system that allows easy manipulation of data. The customer request and course generation will also expedite the course creation functionality and select topics for customer requests more accurately. 1.3 Definitions, Acronyms, and Abbreviations Student: A user role that takes the training course and can provide feedback after course completion. Manager: A user role that can request training and assign students to an approved course. Instructor: A user role that manage courses and their materials. Administrator: A user role that review and approve course requests. Topic: General subject areas to cover containing slides, lectures, and learning objectives. Learning Objective: Specific subjects to teach which contain references. Course: Training class that covers various topics and other data types. 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). Reference: Direction of where material for lectures can be found. System of Systems: Multiple interrelated groups of components with a common goal. LAB 2 – PROTOTYPE PRODUCT SPECIFICATION FOR TRAIN 9 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. 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. 1.4 References National Centers for Systems of Systems Engineering. 2013 ncsose Retrieved from: http://www.ncsose.org/aboutus 1.5 Overview This product specification provides the software interfaces, algorithm descriptions, and database configuration of the TRAIN prototype. The information provided in the remaining sections of this document includes a detailed description of the hardware and software interfaces of the TRAIN prototype. It also contains the key features and performances characteristics of each feature in terms of outputs, displays, and user interaction. 2 General Description The TRAIN prototype will focus on the innovative design of the data management system that provides training organizations the ability to easily create training modules. The prototype will also provide the functionality for customers to request training, and for training organizations to build training modules based on customer requests. The system will be stored on an ODU Computer Science virtual server and be run as a web application. LAB 2 – PROTOTYPE PRODUCT SPECIFICATION FOR TRAIN 10 2.1 Prototype Architecture Description The TRAIN prototype will implement most of the real world product's functionality. Table 1 shows the differences between the prototype and the real world product. Prerequisites will implement in the prototype. The student feedback functionality will be limited to just a free text description. Features Real World Product Prototype User Authentication Role logs in with 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 Admin: Add/Update Add customer organization, Implemented Organization add users, change information Instructor: Add/Update Add or update topics, data references, learning Implemented LAB 2 – PROTOTYPE PRODUCT SPECIFICATION FOR TRAIN 11 objectives Features Real World Product Prototype Instructor: Associate Link learning objectives to Implemented Data topics, topics to learning objectives, learning objects to references, references to learning objects 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 Instructor: View course only rate topics. View all student feedback Partially Implemented, all topics will have a Feedback number rating. This will be searchable. Instructor: Compile and Quickly compile all data Implemented Print Course making up course and print LAB 2 – PROTOTYPE PRODUCT SPECIFICATION FOR TRAIN Features Real World Product Manager: Request Request course by selecting Implemented Course desired learning objective Manager: View After selecting learning Requested Course objectives, display course Hours duration Manager: Add Students Give students username 12 Prototype Implemented Implemented Manager: Assign Assign students to approved Implemented Students course 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 Not Implemented, LAB 2 – PROTOTYPE PRODUCT SPECIFICATION FOR TRAIN 13 Features Real World Product Prototype Student: Learning Take a quiz at the end of Not Implemented, only course feedback Objective Quiz each topic based off of learning objective 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 Table 1: The Real World Product versus the Prototype The database will be limited to the data needed for the prototype interfaces. The prerequisite information and extensive feedback information will be left out. The database will be pre-populated with one user account for each role. The user interfaces will contain the same layout and style as the real world product. They will have the same navigation menu and header on each page as the real world product as well. There will be a separate interface for the administrator, the instructor, the manager, and the student. The administrator and instructor interfaces will represent the training organizations users. The manager and student interfaces will represent the customer users. Figure 2 illustrates each interface, their composition, and their interaction with each other and the server. LAB 2 – PROTOTYPE PRODUCT SPECIFICATION FOR TRAIN 14 Figure 2: The Prototype Functional Component Diagram 2.2 Prototype Functional Description TRAIN is developed as a web application. There will be four different user roles. Each user will have access to different functionalities. The four user roles will be the Administrator, Instructor, Manager, and Student. The Administrator and Instructor roles will be used by the training organization's employees. The Manager and Student roles will be used by the employees of the organizations requesting the training. The administrator interface will represent the super user that has all role capabilities within the system. This will contain the area where the user can upload, download, and update LAB 2 – PROTOTYPE PRODUCT SPECIFICATION FOR TRAIN 15 data. This interface will also contain the screens to review and approve customer course requests and create the course accordingly. Finally, this interface will allow the administrators to have the ability to manage all user accounts and organization information. The instructor interface will be used to deliver the training. This interface will contain the functionality to access all other areas of the application. The Instructor interface will give this user the capability to upload, download, and update data within the system. The instructor will also be able to manage courses; however, this will be only for courses that they have been assigned to instruct. The Manager will represent the employee in charge of the customer organization. This interface will allow managers to request training. It will include the functionality to assign students to a course once approved. The manager interface will also include the feedback mechanism. The student interface will provide an area for individuals receiving training to keep track of their courses and give feedback on courses taken. This interface will include a dashboard that displays all courses the students are assigned. From the dashboard, they will be able to navigate to the feedback mechanism. They will also be able to navigate to a course history page where the student can view previous courses and ratings given to each course. 2.3 External Interfaces The external interfaces will consist of a PC and the web application. The PC must be running a current version of Windows operating system. The web application can be displayed on through any standard web browser. The external interfaces will be used for the development and demonstration of the prototype. They will be explained in more detail in the sections below. LAB 2 – PROTOTYPE PRODUCT SPECIFICATION FOR TRAIN 16 2.3.1 Hardware Interfaces TRAIN does not contain any hardware interfaces. The only hardware needed within this system is a development workspace. The workspace will be composed of a server and development computers. The server will be running Windows. The Windows server will also need Microsoft SQL Server installed on it. 2.3.2 Software Interfaces Group members will be developing the product using ASP.Net in C# with the model view controller framework. The site will be developed in Microsoft Visual Studios 2012. The database will be generated by Visual Studios and stored on the SQL Server. It will be accessed by using LINQPad. 2.3.3 User Interfaces There will be four user interfaces, all of which will be accessible by any PC connected to the Internet using a web browser such as Internet Explorer or Google Chrome. Once the user submits their username and password, their accounts will be authenticated and the user will be redirected to their specific interface. Figure 3 illustrates the site map for the training organization's user interfaces and Figure 4 illustrates the site map for the student organization's users. (This space intentionally left blank.) LAB 2 – PROTOTYPE PRODUCT SPECIFICATION FOR TRAIN 17 Figure 3. Training Organization Site Map The navigation bar will be limited based on the user’s role. The Instructor will not be able to navigate to the Customer Request page or the Course Approval page. They will be limited to the screens illustrated in Figure 3. The Manager and Student interfaces will be completely separate of the Instructor and Administrator interfaces. They will not have access to any screens shown on Figure 3. The Student role will be further restricted to the pages shown in Figure 4. (This space intentionally left blank.) LAB 2 – PROTOTYPE PRODUCT SPECIFICATION FOR TRAIN 18 Figure 4. Student Organization Site Map 2.3.4 Communication Protocols and Interfaces Transmission Control Protocol/Internet Protocol (TCP/IP) via standard Ethernet connection will be used to exchange data between the TRAIN web server and the user’s web browser. Hypertext Markup Protocol (HTTP) will be used to translate the data received from the web server to the interface for the users. ASP.Net has built in communication protocols to communicate with the database server. When the web browser contacts the web server, the application will interact with the database server, and the HTML generated and returned.