Document 17804775

advertisement
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.
Download