3
Abstract
As technology advances, new IT courses and learning methodologies arise. In Spring 2009 the IT Automation course was introduced to FIU. Sponsored by Kaseya and lectured by Dr. Masoud Sadjadi, the purpose of this course is to get students familiar with IT automation. To achieve this goal, students have access to certain online resources. These online resources are of limited capacity making it necessary to use an appointment system for their use. At the beginning the appointments were taken care by hand, this turned out to be time consuming and a hard task to maintain. Later on a scheduling system was developed to allow students to make these reservations online through Moodle. This scheduling system provides a better user experience, but it is difficult to control a fair distribution of these resources among users. With this problem in hand, our goal is to develop a system that will interact with the current scheduler, and allow the administrator to define usage policies. In this document we have analyzed the current system, and defined the user requirements at a high level. Also, we propose three alternative solutions to the problem, along with a feasibility study of these solutions. Finally, a project plan is presented including tasks, milestones, and deliverables.
Table of Contents
1. Introduction 4
1.1. Problem definition 4
1.2. Background 4
1.3. Definitions, Acronyms, and Abbreviations 5
1.4. Overview of document 6
2. Feasibility Study 7
2.1. Description of Current System 7
2.2. Purpose of New System 7
2.3. High-level Definition of User Requirements 8
2.4. Alternative Solutions 8
2.4.1. Description of Alternatives 8
2.4.2. Selection Criteria 10
2.4.3. Analysis of Alternatives 11
2.5. Recommendations 12
3. Project Plan 14
3.1. Project Organization 14
3.1.1. Project Personnel Organization 14
3.1.2. Hardware and Software Resources 15
3.2. Identification of Tasks, Milestones and Deliverables 16
4. Appendix 18
4.1. Appendix A - Project schedule 18
4.2. Appendix B - Diary of Meetings 20
4.3. Appendix C – Feasibility Matrix 22
4.4. Appendix D – Cost Matrix 24
5. References 26
1. Introduction
This chapter provides an introduction to the document. First, on section 1.1 a clear definition of the problem is presented. Then, on section 1.2 an overview of the background information to allow the reader to understand more about the problem. Finally, section 1.3 defines certain words to be used in the document, and section 1.4 provides an overview of the different chapters of the document.
1.1. Problem definition
In the IT Automation class atFIU, students are expected to develop scripts and procedures in a lab setting. A limited number of resources are available for this course, which primarily include mentors and virtual labs. The latter refers to different virtual environment configurations designed for students to solve a particular IT problem. At the moment, a system is being developed to allow students to schedule these resources. However, the system does not provide an efficient way to manage these resources so that all the students have a fair share.
The scheduling system gives students the freedom to reserve resources for the labs at the time that better fits with their schedule as long as they are available. However, this freedom results in misuse of resources as seen in previous prototypes. For instance, some students do not use the system on a regular basis and wait until deadlines to complete the required hours for the course. An excessive demand of requests puts a lot of pressure on the system, which cannot provide enough resources. Another case is when students schedule resources along the semester but do not use them all. The waste of resources is also an issue that needs to be addressed since it is an unfair practice that affects other students.
1.2. Background
The IT Automation course was first offered in Spring 2009 atFIU (Sadjadi). Sponsored by Kaseya and lectured by Dr. Masoud Sadjadi, this course has the objective of preparing students in the IT management and automation field. Students are expected to learn the necessary skills to master different IT automation tools in a lab setting.
Dr. Sadjadi has been working withgraduate and undergraduate students to develop a system that would facilitate the management of resources for the IT Automation course. The prototypes that have been developed so far are based on Web Services. Moreover, a familiar interface is provided through Moodle (Moodle Community), which is commonly used by IT students at FIU. The first prototype allowed students to schedule virtual labs only. The last prototype allowed students to schedule the different resources available for the course. It also gives the administrator the capability to configure settings through the same interface. The prototype is still in development but the expected release is on Spring 2011.
1.3. Definitions, Acronyms, and Abbreviations
IT: Information Technology.
Kaseya: Company that offers IT Systems Management Software and Network Management Software for IT Departments and Managed Service Providers.
Resources: In this particular context, this term refers only to virtual labs, mentoring, and certificate exams.
Virtual Lab: Different virtual environment configurations designed for students to solve a particular IT problem.
Mentoring: Time used by teacher assistants to help students.
Certificate Exams: Virtual environments specifically for graded exam sessions.
CMS: Course Management System also known as a Learning Management System (LMS) or a Virtual Learning Environment (VLE).
Moodle (Moodle Community): An open source CMS that educators can use to create effective online learning sites.
JavaScript: A scripting programming language most commonly used to add interactive features to web pages.
phpScheduleIt (Korbel): A web application written in PHP developed by Nick Korbel for resource reservation and management.
PHP: (Hypertext Preprocessor) is a popular general-purpose server side scripting language that can be embedded into HTML to create web applications.
Web Service: A standardized way of integrating web-based applications that share business logic, data, and processes through a programmatic interface across a network.
FullCalendar (Shaw, 2010): A jQuery plugin developed by Adam Shaw, which provides a full-sized, drag & drop calendar that uses AJAX to fetch events on-the-fly for each month and is easily configured to use your own feed format.
jQuery: JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development.
Quota: Limited time the students will have in the new system to allocate resources.
1.4. Overview of document
Chapter one provides an introduction to this document and begins with a detailed definition of the problem. After this, background information on the problem previously described is provided. Finally, a list of definitions, acronyms, and abbreviations used across the document is given followed by an overview of each chapter's contents.
Chapter two contains the feasibility study conducted to determine whether a feasible solution exists for the given problem. This chapter begins with a complete description of the current system and its deficiencies. Next, the purpose for the new system is explained in detail, followed by a list of the requirements given by the user as part of the possible solution. After this, a list of alternative solutions is provided along with a brief description for each of these solutions. Then, the criteria used to evaluate the possible solutions are explained followed by the summary of the analysis of each solution according to the mentioned criteria. To conclude this chapter, a recommendation is given explaining why one of these solutions is more feasible than the others.
Chapter three explains how the team plans to develop the chosen solution. It explains how personnel are organized and what role will each team member play during the development process. After this, a list of the resources needed to develop the solution is provided. Finally a detailed table of tasks, milestones and deliverables shows exactly what each team member will be doing on each phase.
Finally, chapter four contains the appendices that were used to create this document. These appendices include a project schedule, the diary of meetings, and the feasibility matrix.
2. Feasibility Study
The following chapter will analyze the different possible solutions to the problem in question. First, section 2.1 describes the current scheduling system along with its limitations and constraints. Then, section 2.2 provides an overview of the new system and its main goals. Next, section 2.3 defines the user requirements at a high level. Finally, section 2.4 will talk about three possible solutions to the problem, followed by recommendations on section 2.5.
2.1. Description of Current System
Dr. Sadjadi and his research team developed the current scheduling system. This scheduling system provides an interface through Moodle that allows students to reserve different types of resources. The resources available at the moment include virtual labs, mentoring and certificate exams.
The main interface of the scheduler is a JavaScript calendar, based on FullCalendar jQuery plugin (Shaw, 2010), with all the desired scheduling functionality added to it. Students can select for which resource they want to reserve time and schedule it on the calendar. The calendar will show the users not only their appointments but also the availability of resources to make the scheduling process easier.
At the moment the system doesn’t have any type of policy towards the use of resources. Students can reserve an unlimited amount of resources, leaving other students without available time slots. This is an unfair distribution of resources that inevitably leads to wasted resource usage time. Furthermore, administrators don’t have access to any kind of report about usage. Since this is the case, there is no way to prevent or penalize students with unused allocated resources.
2.2. Purpose of New System
The purpose of the new system is to allow a fairer distribution of resources between students. Also, the new system should give the administrator more control over the resources and their use. The way to control these resources will be through different reports and usage policies. Ultimately, the administrator will make sure that the students are using the resources in a fair and efficient manner.
Consequently, since it will be easier to find available resources, students will have a better experience throughout the course. They will waste less time trying to allocate the resources they need, and will optimally have more resources available for their use.
2.3. High-level Definition of User Requirements
The high-level user requirements are the following:
1. The system shall allow the administrator to define policies about usage time, availability, cost, and other fixed factors about each resource in a user-friendly manner.
2. The system shall provide a way to modify these policies without affecting previously reserved time slots.
3. The system shall allow students to allocate and release resources.
4. The system shall provide students with reports about their usage of resources.
5. The system shall display the number of hours of a resource that the student can reserve.
6. The system shall allow students to request additional time on a resource (outside of their normal quota) upon approval.
7. The system shall provide an interface with the scheduling system to check the available quota, and the request’s compliance with the applicable policies.
2.4. Alternative Solutions
This section presents different alternative solutions for the problem stated above. Sub-section 2.4.1 contains a description of each solution and how it should be implemented. Next, sub-section 2.4.2 presents the selection criteria on which the analysis of each of these alternatives was based. A summary of this analysis is shown in sub-section 2.4.3.
2.4.1. Description of Alternatives
· Alternative 1: PhpScheduleIt adaptation
PhpScheduleIt is a web application written in PHP developed by Nick Korbel for reservations and resource management (Korbel). The system includes a full user log in and registration system, user profile management, a scheduling and reservation system, and numerous administration tools. On the administrative side phpScheduleIt supports a fixed group of policies that can be defined for each resource. The system administrator can also decide what resources are available for each user. In order to use phpScheduleIt as a solution for the given problem, the system will be wrapped inside a Moodle module so it can interact with the existing system's modules. The source code will be modified to fit user requirements and discard unwanted functionality.
· Alternative 2: Fair scheduling algorithm
Modify the existing scheduling system to allow a fairer distribution of resources. The new scheduler will handle a priority-based system, where a determined number of minimum resources for each student will be considered high priority resources. Additional resources acquired by students will have lower priorities. This way every student will have a chance to use their high priority resources over the additional lower priority resources of other students. Additionally there will be scheduling periods where students will choose when to use their resources before the schedule is locked. During this period other student’s high priority resources may replace some student’s lower priority resources. The students whose resources were removed will have a chance to reschedule their lower priority resources before the scheduling period ends. Once the scheduling period is over students may only choose open time slots to spend their resources until the next scheduling period begins.
· Alternative 3: Quota System
A new custom-made module that will interact with existing modules of the current system. This module will work with quota or credit types instead of handling resources directly. Each type of resource will have a value in a given type of credit. As it most important feature, the new module will allow the creation of user designed policies to determine whether resources should be assigned to a student. These policies can be applied to students individually or as a group. Additionally, system administrators will be able to give students access to additional resources should the student need them.
2.4.2. Selection Criteria
This sub-section describes the criteria used to evaluate each of the solutions proposed in the previous sub-section. The following types of feasibility were considered for this analysis: operational, technical, schedule, economic.