Running Head: Lab 2 – TRAIN Product Specification Outline Lab 2 – TRAIN Product Specification Outline Drew Carpenter CS411w Janet Brunelle April 8, 2013 Version 1 Lab 2: TRAIN Product Specification 1 Table of Contents 1 2 Introduction ................................................................................................................. 2 1.1 Purpose................................................................................................................ 2 1.2 Scope ................................................................................................................... 3 1.3 Definitions, Acronyms, and Abbreviations ........................................................ 4 1.4 References ........................................................................................................... 5 1.5 Overview ............................................................................................................. 6 General Description .................................................................................................... 6 2.1 Prototype Architecture Description .................................................................... 6 2.2 Prototype Functional Description ....................................................................... 8 2.3 External Interfaces .............................................................................................. 9 2.3.1 Software Interfaces ......................................................................................... 9 2.3.2 User Interfaces ................................................................................................ 9 2.3.3 Communications Protocols and Interfaces .................................................... 10 List of Figures Figure 1. TRAIN Prototype Architecture Diagram. .......................................................... 8 Lab 2: TRAIN Product Specification 2 1 Introduction 1.1 Purpose TRAIN should reduce the time required to compile material into a course. Through the searching and selection pages, customers will directly request the Learning Objectives and Topics they want to cover. Feedback should be presented to improve future Courses, indicate the satisfaction of the Students, and demonstrate return on investment for the Customer. The solution needs to allow the management of training material. There should be a method to easily search through Topics. Instructors and Administrators should be able to upload and update Topic and Reference files. It should keep track of these changes and maintain a full version history. Train should decrease the time to build Courses for Customers. By letting customers request an initial set of Courses more time can be spent refining it to meet their needs. The software should suggest improvements as a new course is being requested. Once ready all the material for a Course will be available to download as a single package. (This space intentionally left blank.) Lab 2: TRAIN Product Specification 1.2 3 Scope The prototype will not be able to meet all the initial goals for TRAIN. Feedback will be limited to a single rating and comment box at the end of each course. Because of this, Topics should only have a simple score based off the one type of feedback. Searching will be affected too; Tags and Keywords will be the primary means of choosing related Topics for a customer. Despite the reduced capabilities, TRAIN should meet the functional objectives. Accounts will have authentication and authorization based on an email and password. Topics, References, and Learning Objectives can be created and modified by authorized users. Customers may compile courses from searches of Tags and Keywords. Courses are then approved by an Administrator and assigned to an Instructor. Students may be able to provide feedback through TRAIN to improve future courses. (This space intentionally left blank.) Lab 2: TRAIN Product Specification 4 1.3 Definitions, Acronyms, and Abbreviations 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. Lab 2: TRAIN Product Specification 5 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 Lab 1 – TRAIN Prototype Descriptive Paper. Version 2. (2013, April). Training Resource and Information Network. Green Team. CS411W: Drew Carpenter. Lab 2: TRAIN Product Specification 6 1.5 Overview This product specification provides software configuration, interfaces, features and capabilities of TRAIN. Detailed descriptions will be included of the interfaces and software architecture of TRAIN; the searching and course generation algorithms that make up the core of the product. 2 General Description 2.1 Prototype Architecture Description TRAIN is comprised of the following major components: Windows Server: Contains the database and application server TRAIN is hosted on. Admin Web Access: Creating users and organizations, approving courses and assigning Instructors to a course are done here. Instructor Web Access: Has pages edit Courses and update all training material. Manager Web Access: Contains the Course Request and Organization management pages. Student Web Access: Lets Students give feedback on Courses they have taken. (This space intentionally left blank.) Lab 2: TRAIN Product Specification 7 Lab 2: TRAIN Product Specification 8 Figure 1. TRAIN Prototype Architecture Diagram. 2.2 Prototype Functional Description The major functional components of the product TRAIN prototype include the following: Course Request: Lets Customers create a Course tailored to their needs Topic searching and filtering: Narrows down Topics based on Tags, keywords, and Feedback when creating Courses. Data edit and create: Creating and updating the core data in TRAIN including Topics, References, Tags, and Learning Objectives. Lab 2: TRAIN Product Specification User and Organization management: Adding new Organizations and Users and updating information on them. Feedback collection: Lets Students give feedback on courses they have attended. Course improvement: Marks Courses and Topics with negative feedback. 2.3 External Interfaces This section identifies the physical and logical interfaces used within and by the prototype. The characteristics of each type of interface used and the type of information transferred should be described. 2.3.1 Software Interfaces ASP.NET MVC 4: The framework that TRAIN is built on. Reliably provides the basic tools needed to build a web application and access a relational database. Train Database: The TRAIN database is a MSSQL database storing all of its data. 2.3.2 User Interfaces Users can use any device with a web browser and an active internet connection. Firefox version 20 or Chrome version 26 are the recommended software. A mobile device may be used but TRAIN has not been optimized for the small screen size. 9 Lab 2: TRAIN Product Specification 2.3.3 Communications Protocols and Interfaces All information is transferred through HTTP. If desired HTTPS can be enabled on the server to provide secure communication. 10