SCHEDULEPRO DESCRIPTIVE PAPER – Lab 1 Lab 1: Descriptive Paper Version # 3 Steven L. Small Old Dominion University Professor Brunelle February 27, 2012 |1 SCHEDULEPRO DESCRIPTIVE PAPER – Lab 1 |2 Table of Contents 1. INTRODUCTION.…………....………………………………………………………………3 2. PRODUCTION DESCRIPTION……………………………………………………………..5 2.1. Key Product Features and Capabilities.…………………………………………………..5 2.2. Major Components.………………………………………………………………………6 2.3. Target Market/Customer Base…………………………………………………………..12 3. SCHEDULEPRO PRODUCT PROTOTYPE DESCRIPTION.…………………………….12 3.1. Prototype Functional Goals and Objectives………………………………………….….13 3.2. Prototype Architecture…………………………………………………………………..14 3.3. Prototype Features and Capabilities……………………………………………………..15 3.4. Prototype Development Challenge...……………………………….…….………….…..16 GLOSSARY …………………………………………………………………………………….17 REFERENCES…………………………………………………………………………………..18 List of Figures Figure 1. Current process flow of meeting creation………………………………………………3 Figure 2. Main Functional Components Diagram……………………………………………….10 Figure 3. Administrator interface – Room and Resource Management…………………………11 List of Tables Table 1. Competition matrix……………………………………………………………………..5 Table 2. Profile comparison between real world product and prototype………………………...13 SCHEDULEPRO DESCRIPTIVE PAPER – Lab 1 1 |3 INTRODUCTION Scheduling meetings for large groups of people is a complex, frustrating, and inefficient process. The current process of organizing a meeting often involves having a coordinator take the time to search for employees who are required or asked to attend, review their schedules and attempt to find the best meeting time that accommodates the maximum attendance (Figure 1). The introduction of SchedulePRO will effectively allow a business or organization to plan meetings while keeping personnel and resource availability in mind. SchedulePRO will streamline current business practices by replacing the pen-and-paper, and other time consuming methods of planning techniques. It takes the grunt work out of coordinating meetings, allowing a business to focus on the real goal - an effective and well attended event. Figure 1. Current process flow of meeting creation [This space intentionally left blank] SCHEDULEPRO DESCRIPTIVE PAPER – Lab 1 |4 Unfortunately, the coordinator is unable to decide the best type of scenario for all employees to meet, especially if there is a large number required to attend. This problem occurs in all environments: schools, large businesses, and personal use. Tools such as Outlook and Doodle have tried to mitigate the problem by invoking shared calendars, but still do not provide an optimal solution. SchedulePRO plans to accomplish this goal. For example, a CEO wants his/her coordinator to set up a meeting seminar with the CEO, several key members, and over 50 employees. The coordinator simply runs the SchedulePRO software which will: mine data from the attendee’s calendar, select the best room and the best time/date to hold the meeting to maximize attendance. A list of optimized meeting results is given to the coordinator from which he/she selects. In the SchedulePRO prototype, the program will be run through a web service. The data receive from the attendee is imported from their Google calendar (if they have one) and is integrated into the infrastructure. It saves time for the coordinator, becomes more efficient for the attendee, and acquires all the necessary information needed to create an event. The intention for creating a web-based prototype is for its use-case and feedback potential. With so many users, the prototype can eventually become scaled for commercial use. [This space intentionally left blank] SCHEDULEPRO DESCRIPTIVE PAPER – Lab 1 2 |5 PRODUCT DESCRIPTION The goal of SchedulePRO is to build upon the products currently used today, such as Microsoft Outlook of Google Mail. The software is able to integrate itself onto existing infrastructures which do not possess an effective feature that allows meetings to be scheduled. Businesses that run the software will come to understand its usefulness and will no longer have to worry about another scheduling tool again and save precious time and money in the process. 2.1 Key Product Features and Capabilities Software such as Doodle, ResSchedule, ScheduleView, and the Outlook Calendar implement features that mimic SchedulePRO (Table 2); however, there are features and capabilities that SchedulePRO has and others do not. The major features and components consist of: Automatic importation of calendar data Availability editor for users without calendars Resource management capabilities, allowing for customizable room creation Attendee prioritization, which determines who is required to attend the meeting for it to take place An “Easy Button” optimization algorithm computes and displays the best meeting instance available [This space intentionally left blank] SCHEDULEPRO DESCRIPTIVE PAPER – Lab 1 |6 Table 2. Competition matrix 2.2 Major Components A SchedulePRO user will interact with the SchedulePRO web server through the following user interfaces that facilitate successful meeting creation: Coordinator interface Attendee interface Administrator interface The coordinator GUI is specifically designed for the user who is planning the meeting. Most of the software revolves around the coordinator, whose responsibility is to create the meetings in the first place. The GUI itself will consist of interactive screens allowing the coordinator to quickly and effectively select parameters for creating a meeting. A database, populated with emails of attendees, is viewable to choose and prioritize who is needed for each particular meeting. Once the attendees are selected, the coordinator is tasked to choose a venue. Room selection, created by the administrator, becomes available, in which the coordinator can select SCHEDULEPRO DESCRIPTIVE PAPER – Lab 1 |7 single or multiple venues. Each venue contains its own resource data, such as maximum capacity, and can be outfitted with various objects such as: Projector Media PC Blue-Ray Drawing Board Podium Speakers When attendees are chosen and a venue is selected, the coordinator will have to decide the date and time range of when the meeting should occur. The range of dates covered can vary from one day to two months. The interface will automatically exclude dates such as weekends and holidays from the meeting times available. Once parameters are selected the coordinator can either submit the information and run the algorithm or send out a notification email to the attendees. All parameters are submitted to the algorithm. The scheduling algorithm initiates a data fetcher process for the attendees listed in the meeting parameters and waits till it finishes. The algorithm then retrieves the appropriate availability data from the SchedulePRO database and produces a meeting report with optimal meeting times using that data. Finally, the meeting coordinator reviews the meeting report and requests attendance confirmation for the generated optimal event time(s). The attendee is sent a notification after the coordinator creates the meeting and is given an option to import data from their current calendars or manually input their schedule. Information sent back to the coordinator is processed through the optimization algorithm to SCHEDULEPRO DESCRIPTIVE PAPER – Lab 1 |8 provide a fitness of best meetings available. The end decision of which event to choose is always made by the coordinator. Figure 2. Main Functional Components Diagram There are several hardware components required to run SchedulePRO (Figure 2): SchedulePRO web server SchedulePRO database Schedule and calendar software databases Coordinator web terminal Attendee web terminal SchedulePRO is a server-deployed software package. It requires a network connection to possible third party availability data sources, such as Microsoft Exchange. Users (meeting coordinators and meeting attendees) connect through web terminals that are not provided as part SCHEDULEPRO DESCRIPTIVE PAPER – Lab 1 |9 of the SchedulePRO solution. Users can also input their schedule and availability by integrating another calendar software such as Google calendar. Figure 3. Administrator interface – Update Deamon configuration The SchedulePRO web server will contain the scheduling algorithm, data fetcher, and data update daemon (Figure 3). When the update daemon is started, it loads the settings stored in the daemon configuration file. The daemon then sits idle until it is time to retrieve data. The update daemon starts a data fetcher process, which retrieves availability data from an outside source using the appropriate interface. The acquired availability is then written to the SchedulePRO database. SchedulePRO can be configured to update on demand. When a coordinator submits meeting parameters to the scheduling algorithm, the algorithm process will begin a data fetcher process that updates only the information pertinent to the meeting being planned. Daemon configurations are made through the administrative interface, and saved to a configuration file. SCHEDULEPRO DESCRIPTIVE PAPER – Lab 1 | 10 The availability of rooms and attendees is stored in the SchdeulePRO database. Availability objects consist of a set of events which occur in (known or unknown) rooms, and have (at least one known) attendee. Rooms contain resource instances, which are defined to be a type of resource. Groups are made up of attendees, and attendees can belong to multiple groups. The administrative interface can also be used to: 2.3 Create rooms Edit rooms Edit resources Edit attendee database entries Target Market/Customer Base Colleges are the ideal market with a vast customer base. There are over 7,000 colleges in the United States alone. Faculty and staff all work in their individual department and have different schedule sets. SchedulePRO is an ideal solution to organizing and solving the conflict of scheduling a faculty meeting that works best for all employees. Students, who juggle school, work, and family would find this tool useful in terms of planning and coordinating group assignments. Initially, students would get a free version of the product with the addition of advertisements to help mitigate the costs. The faculty and staff would also be given a trial period with the expectation of the software being purchased. A second target market for SchedulePRO consists of a variety of businesses. Companies that consist of multiple office locations would benefit from using SchedulePRO as well as businesses which frequently network with other institutions. SchedulePRO will minimize the time-consuming process of planning a meeting or event, and will allow businesses to maximize meeting benefits by ensuring the highest attendance rate possible. SCHEDULEPRO DESCRIPTIVE PAPER – Lab 1 3 | 11 SCHEDULEPRO PRODUCT PROTOTYPE DESCRIPTION In the SchedulePRO prototype, the program will run through a web service rather than a software package. Instead of data being mined, it will be imported. Excluded from the prototype are third party data sources and the update daemon. The scale will also be reduced to make it for personal use more than business. SchedulePRO users can interact with the system through multiple user interfaces that facilitate successful meeting creation. 3.1 Prototype Functional Goals and Objectives The prototype scales down the components of SchedulePRO, with the absence of an administrator, the bulk of the functionality runs through the coordinator (Table 2). In the actual product, the administrator will be tasked with inputting all the data into the database, such as: attendee information, venue capacity, and resources. The objective is to allow the coordinator to select different meeting instances to provide unique scheduling results and use them as test cases. Another difference in the prototype and the real world product is that the type of information that can be import has be limited to come from one source – Google calendar. This will allow for pin-point accuracy when all the attendees are extracting information from the same source. The approach, from start to finish, is the following: Analysis of the system Requirements Top-down design Program Test SCHEDULEPRO DESCRIPTIVE PAPER – Lab 1 Feature General Update daemon can automatically import calendars Login page Administrator Interface Administrators can add, remove, and modify rooms Administrators can add, remove, and modify available resources Administrators can add and remove users, as well as modify user rights Coordinator Interface Coordinator can manage a list of attendees to invite Coordinators can send out availability update requests to attendees | 12 Final Product Prototype Fully Implemented Full implementation, including best practices for security No Implementation Basic implementation Full Implementation Uses premade test data Full Implementation Uses premade test data Full Implementation Uses premade test data Full Implementation Full Implementation Full Implementation Full Implementation Full Implementation using test data Coordinators can specify room preference Full Implementation Coordinator can place different priorities on each property Full Implementation No Implementation Attendee Interface Attendees can import calendar data from Google Calendar Full Implementation Full Implementation Attendees can import calendar data from Exchange Full Implementation No Implementation Attendees can edit the availability stored by SchedulePro Full Implementation Full Implementation Algorithm Scheduling algorithm can produce results Limited based on fitness of individual properties Full Implementation Implementation Table 2. Profile comparison between real world product and prototype [This space intentionally left blank] SCHEDULEPRO DESCRIPTIVE PAPER – Lab 1 3.2 | 13 Prototype Architecture The interface of the coordinator has been simplified by limiting the customization of the parameters and resources. In the prototype, the user will only have the option to: Select attendees Add third party attendees Remove attendees Select time range Select date range Select venue Exclude venue The update notification sent to the attendee will only allow importing information from a Google calendar account or manually inputting their schedule in a calendar GUI. The data will be sent by to the meeting database allocating the attendee completion percentage. There is no longer an administrative interface; instead, the data available will be generated as test data. The “Easy button” optimization algorithm starts by: Creating a comprehensive list of possible meetings Calculating fitness for each potential meeting, based on parameters set by the coordinator Ordering potential meetings based on fitness Present ordered list to coordinator review interface A web server and database are required to run, process, and store the information. The prototype will be built using Java for the algorithm and SQL for the database. The application is SCHEDULEPRO DESCRIPTIVE PAPER – Lab 1 | 14 PHP generated HTML involved for all interfaces. The SchedulePRO web server will function in order to: 3.3 Obtain Google credentials Download Google calendar data for data range Format schedule data and present for attendee to edit Format data Submit data to the coordinator and SchedulePRO database Prototype Features and Capabilities In the software design, there are customer and technical risks that must be mitigated through the prototype. The large quantity of parameters and preferences, initially available to the coordinator, can result in a cumbersome, difficult interface. In the prototype, the parameters available are reduced to allow for an easier process and demonstration of the algorithm itself. The data provided may prove to be inaccurate, based on the user’s promptness and efficiency in updating their calendar. To mitigate, all attendee data is generated in a test case. Calendars entail a sense of privacy and attendees might feel their personal information is not secure. Best security practices will not be utilized for the prototype. Legal roadblocks may prevent software from accessing data from a proprietary system and the data may not exist. Tools are going to be provided to the attendee that will allow availability input and update. 3.4 Prototype Development Challenges The greatest challenge that will be faced in development is the learning curve for SQL, defining the optimization algorithm, mining data from the attendee, and understanding the languages used to create the interactive coordinator/user interfaces. This is a prototype built by college students and there is still a learning phase. Development will begin with building and SCHEDULEPRO DESCRIPTIVE PAPER – Lab 1 | 15 installing a virtual machine. The workstation will serve to store the test data and algorithms used for SchedulePRO. It will take a couple of weeks to get familiar with manipulating languages such as: PHP XML AJAX JSON SQL Despite the challenges, the prototype will serve as a foundation that is going to be further built upon. SchedulePRO will be the future in innovative approach to coordinating group events, utilizing the technological infrastructure present in many business or organizational environments. SCHEDULEPRO DESCRIPTIVE PAPER – Lab 1 | 16 GLOSSARY Administrator – any person that is given access permission to create and modify the resources available for parameter input. Attendee – any person that is requested or directed to be present at a meeting that include the personnel directing the meeting and those whose presence is requested. Attendee web service – method at which the attendee interacts with the software through a web based user interface requiring little knowledge of its use but plays a large role in its success. Availability – blocks of time/days in which a person or resource can be added to a meeting event instance. Calendar – electronic version that can be used interchangeably among an attendee or coordinator from an outside data source. Coordinator – any person that is given access permission to create and modify meeting events. Coordinator web service – method at which the coordinator interacts with the software through a web based interface requiring advanced knowledge of its use and is directly responsible for picking the best fit outcome. Data Fetcher – background running application called at sporadic intervals to allow for the inflow of information for algorithm input. EULA – End User License Agreement. Fitness – numerical representation (percentage) of how meeting scenario generation compares to the ideal case scenario of all parameters being fully met. GUI – Graphical User Interface. LAMP – Linux, Apache, MySQL, & PHP. MySQL/SQL – Structured Query Language. Optimization – determining a best-fit outcome or a set of outcomes based upon the input parameters. Outside – refers to attendees that are not on the shared network and whose schedule is not readily accessible through the business server. PHP – Hypertext Preprocessor. SCHEDULEPRO DESCRIPTIVE PAPER – Lab 1 | 17 Priority – ranking system given to any parameter of a meeting such as personnel, resources, time and date availability that give a weighted value to such parameter. Resource – a physical component not limited to: a classroom, conference room, partitioned space, or removable object that will be utilized during a meeting instance, such as: overhead projector, tables, whiteboards, smart boards, camera recording devices, sound system, etc. Test Interface – modeled and simulated data accessed through our virtual machine to replicate the real world product interface with external servers and proprietary scheduling systems. Window – a term that is used in connection with the graphical user interface (GUI) through a windowed environment. SCHEDULEPRO DESCRIPTIVE PAPER – Lab 1 | 18 REFERENCES The State of Meetings Today. Retrieved from http://www.effectivemeetings.com/meetingbasics/meetstate.asp 12 Stats and Facts. Retrieved from http://www.perfectlaborstorm.com/2011/workforce-trends/ 12-stats-and-facts-time-wasted-work-adds-up/ Roberts, J., Niles, C. Green Team. Retrieved from http://cs.odu.edu/~411green/collaboration.htm
© Copyright 2025 Paperzz