RUNNING HEAD: LAB 1 – TRAIN DESCRIPTION LAB 1- TRAIN Description Green Team Tyler Swayne CS 411 W Janet Brunelle 04/07/2013 Version 4 LAB 1 – TRAIN DESCRIPTION 2 Table of Contents Introduction ...................................................................................................................................3 TRAIN Product Description .........................................................................................................4 Key Features and Capabilities ..................................................................................................5 Major Components ....................................................................................................................6 Identification of Case Study ..........................................................................................................8 TRAIN Product Prototype Description .......................................................................................9 Prototype Architecture ............................................................................................................15 Prototype Features and Capabilities ......................................................................................16 Prototype Development Challenge .........................................................................................17 Glossary ........................................................................................................................................19 Works Cited ..................................................................................................................................21 List of Figures Figure 1 – Train MFCD ......................................................................................................8 Figure 3 – Prototype MFCD .............................................................................................16 List of Tables Table 1 – Real world Product vs. Prototype ......................................................................11 LAB 1 – TRAIN DESCRIPTION 3 INTRODUCTION Training is a required element of every job and typically is not offered in a college curriculum. 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 1 – TRAIN DESCRIPTION 4 resources. Instead of having to sit with the customer and agree upon their 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. TRAIN PRODUCT DESCRIPTION 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 organizations to build training modules, it can also increase the effectiveness of the training. To accomplish these goals, TRAIN will provide a data management system. It 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 1 – TRAIN DESCRIPTION 5 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. 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. Key Product Features and Capabilities TRAIN has several key functional components. The functionality to select training material from the system and create courses is very significant. The customer will be able to select specific subtopics in which they need training. These subtopics will be linked to the actual training material. Once the customer selects all of their desired training subtopics and finalizes their request, the training organization’s users are able to approve the course. When they approves the course, they will be taken to the course creation interface where an initial course will be generated based upon the customer request. When the customer selects their training subtopics, all training material linked to these subtopics are pulled to generate the initial course. This functionality shortens the training organization’s user’s time to develop training modules drastically by removing most of the manual work required to create a course. It also chooses training material more accurately because the customer is hand picking the subtopics in which they need training. To further manipulate the courses and manage data within the system, several search algorithms must be implemented. The basis for the search capability is the tag system. Each LAB 1 – TRAIN DESCRIPTION 6 data entry will be able to be described by tags within the system. This allows the training organization’s users to search for data using keywords. This search will be used during the course creation, data download and update, and customer course request. Within the course creation interface, the user will be able to search for any specific type of data, however, only the actual training material that contains that data will be displayed to the user. This will allow them to search for subtopics of training material and find which material contains those subtopics. Within the data download or update, the user will select what type of data they are searching for and then use keywords to search for the data. Finally, within the customer course request interface, they will only be searching through the training subtopics. The searching functionality is the backbone of the system. Without search features, the rest of the system would not function. This enables the automation within the data management system. This removes the need to navigate manually through data through direct contact with the database. The feedback functionality is another feature within TRAIN. During the actual training sessions, the customers will be able to log in and provide feedback for each training topic. This feedback will be a mix of a number rating and a free text evaluation. Over time, the training material will develop a number rating that will be the average of all of the scores from the students that have rated the material. Poorly rated topics will be flagged for upgrading or updating the material. Major Components (Hardware/Software) Most of TRAIN's major components are software related. The only hardware needed within this system is a development workspace which will be composed of a server and desktop computers. The server will be running Windows and will also need Microsoft SQL Server installed on it. It must also be accessible via remote desktop connection. LAB 1 – TRAIN DESCRIPTION 7 The rest of TRAIN is composed of software components. TRAIN will have a database to store all of the application data. The actual web application will consist of four separate interfaces. Each separate user type will access its own specific interface. Figure 1 illustrates the relationship and composition of the customer and training organization’s interface's and their interaction with the server. The first interface is the administrator interface, which 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 data. This interface will also contain the screens to review and approve customer course requests. 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 to. From the dashboard, they will be able to LAB 1 – TRAIN DESCRIPTION 8 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. Figure 1: The Major Functional Component Diagram IDENTIFICATION OF CASE STUDY The organization requesting assistance is the National Center for Systems of Systems Engineering (NCSOSE). Dr. Adams and his organization provide their expertise in Systems LAB 1 – TRAIN DESCRIPTION 9 Engineering to interested customers. Their services include hands-on assistance to customers that will benefit from NCSOSE’s expertise and extensive knowledge of engineering. NCSOSE also provides training to organizations. That way, instead of having to continue to rely on NCSOSE to problem solve, they can solve their issues related to systems engineering independently and continue to profit from this knowledge. These training modules are called courses, and are a group of PowerPoint presentations that are packaged together. Each PowerPoint presentation is called a topic, and has a list of learning objectives that will be covered throughout it. Dr. Adams manually extracts the topics from their database and puts together the courses for the customers. Dr. Adams has a Ph.D. in Systems Engineering from Old Dominion University. He also has two M.S. degrees in Naval Architecture and Marine Engineering and Marine Engineering, and over twenty-five years of experience in the private and public industry. Because the course creation process is so lengthy and time consuming, Dr. Adams came to ODU for a solution. TRAIN will provide a means for Dr. Adams’ customers to easily hand pick desired learning objectives in which they need training. After this selection, a course will be automatically generated based on the learning objectives they chose. Dr. Adams can then view this generated course, easily search for topics, and add them to the pre-populated course. This will dramatically reduce the time Dr. Adams spends on creating training modules. TRAIN PRODUCT PROTOTYPE DESCRIPTION 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 LAB 1 – TRAIN DESCRIPTION 10 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 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 LAB 1 – TRAIN DESCRIPTION 11 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. 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 objectives Implemented LAB 1 – TRAIN DESCRIPTION 12 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 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 Not 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 Feedback course only rate topics. View all student feedback Partially Implemented, all topics will have a number rating. This will be searchable. LAB 1 – TRAIN DESCRIPTION Features Real World Product Instructor: Compile and Quickly compile all data 13 Prototype 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 Manager: Add Students Give students username 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 Rating particular course Student: View Course Admin upload course Materials material for student view Implemented Not Implemented LAB 1 – TRAIN DESCRIPTION 14 Features Real World Product Prototype 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 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 Prototype Architecture (Hardware/Software) The hardware components of the prototype will be limited to the server that the web application will be hosted on and the physical computers on which the system will be LAB 1 – TRAIN DESCRIPTION 15 developed. The server must contain enough memory to hold the application files and the database. It must also have Windows SQL server installed on it. Lastly, it must be accessible via remote desktop connection. The software components of the prototype include the database and the web application. The database schema must be structured to hold all components of the data needed within the system. The web application must be composed of four interfaces. Figure 2 illustrates each interface, their composition, and their interaction with each other and the server. The administrator interface must provide functionality to view and approve customer requests. It must provide the functionality to edit generated courses and finalize the course once complete. The administrator interface must provide the user with the functionality to download, upload, and update data. Finally, the administer interface must provide the functionality to create and edit user accounts and organizations. The instructor interface must provide the functionality to view and edit generated courses to the instructor user that has been assigned to the course. The instructor interface must also allow the user to download, upload, and update data. The manager interface within the prototype will allow the customer to request a course by selecting desired learning objectives. The customer and student interface will allow the customer to view each course they have been assigned to and provide open text feedback per course. (This space intentionally left blank.) LAB 1 – TRAIN DESCRIPTION 16 Figure 2: The Prototype Functional Component Diagram Prototype Features and Capabilities The prototype demonstrates the main functionality described in the real world product. It demonstrates the customer ability to request courses, the system’s ability to generate a course based off of the customer request, and the user’s ability to confirm, edit, and finalize customer requests. The prototype also demonstrates the functionality to upload, update, and download data. LAB 1 – TRAIN DESCRIPTION 17 Through those functional components, the searching functionality will be demonstrated as well. The administrator interface will demonstrate the ability to create and edit user accounts and organizations. This functionality is significant in showing how demonstrating the quickness of course creation and the effectiveness of the course generation will solve the problem. It will also demonstrate the usefulness of the data management system by the effective searching feature and efficient download and update capabilities. Test cases will be applied to the prototype to verify that the prototype fulfills the requirements. By successfully passing all test cases and certifying that the requirement has been met, the prototype will demonstrate success. The prototype will address the risks of security, extensibility, compatibility, accessibility, and ease of use. The system will ensure data security. User authentication and validation will be implemented within the system to guarantee security. Password encryption is also implied. Extensibility is mitigated through database and user interface design. The database must be flexible to be able to hold multiple file types. Thus, the user interface must allow the user to upload various file types. The compatibility risk concerned product compatibility with Microsoft products. This has been dealt with by using Microsoft SQL Server as the database server. The prototype will be implemented as a web application to also address compatibility issues. It has been designed ensure ease of use. Each user interface contains well-labeled fields so that the functionality and purpose of each phase is easy to understand. Prototype Development Challenges Developing the prototype presents several challenges. The first encompasses incomplete skills of the development team. The product will be developed in ASP.NET. A large portion of the team has not developed in ASP.NET before, so a slight learning curve will cause the development to start slowly. As the team learns ASP.NET, the progress will grow and advance LAB 1 – TRAIN DESCRIPTION 18 more quickly. The team is not all familiar with C#, SQL, and LINQ as well. This will add to the amount of information the team will need to learn as the prototype is being developed. Some technological issues could present a challenge to development as well. The web host is not accessible outside of the Computer Science domain. While developing outside of the computer science domain, the team will have to rely on the local compilation created by Microsoft Visual Studios to view the prototype. While this build is very accurate to the actual product, it is possible to have differences between the local version and the actual web application. (This space intentionally left blank.) LAB 1 – TRAIN DESCRIPTION 19 Glossary Student: A user role that takes the training course and can provide feedback after course completion. Manager: Also known as the customer, it is 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. 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 provides their expertise and extensive knowledge of engineering through hands-on assistance and training to interested customers. LAB 1 – TRAIN DESCRIPTION Works Cited National Centers for Systems of Systems Engineering. 2013 ncsose Retrieved from: http://www.ncsose.org/aboutus 20