University of Missouri Kansas City Classroom Scheduling Worksheet

User Generated

zbon

Computer Science

University of Missouri Kansas City

Description

Unformatted Attachment Preview

Classroom Scheduling There are 2 main sections to this application; administration and generation. Administration would set the rules, classes, professors, rooms and other settings and configurations for the application. Generation would generate a schedule of professors teaching classes in given rooms given the rules and constraints. Administration Some items would need to evolve from semester to semester, while others would mostly remain unchanged for longer periods of time. Each semester, rules, classes, professors and other items may need to be copied from a previous semester. Classes, professors, and rooms are fairly straight forward. They just need creat/edit/update/delete functionality. Classes may include the section for each class as an atomic item, or the class may have sub items to represent the sections. The administrator will assign professors to teach certain classes, so the classroom scheduling will be combinatorial of Class/Professors X room X time. Rules The rules will need to be much more dynamic. Since rules have to be very flexible, it may need its own rule language to be defined, or the design should include plug-ins to allow quick and easy addition of new situations. Either way proper design patterns should be employed. Rules have varying degrees of granularity to be applied. A rule may be that Teacher X does not want to teach Class Z after 7pm on M/W/ or Fridays. The rule could also be relaxed to simply say that no teacher should teach any class after 7pm on M/W/F. Types of rules Intra Class/Teacher/Room Rules Intra Class/Teacher/Room Rules are rules that do not involve other combinations of classes, teachers and rooms. Examples of rules • Teacher X does not want to teach on M/W/F before 4, or on T/TH after 5 Inter Class/Teacher/Room Rules Inter Class/Teacher/Room Rules are rules that do not involve other combinations of classes, teachers and rooms. Examples of rules • Teacher Y cannot teach 3 classes back to back • • • Class Z should not be at the same time as Class Y ( this may be a specific section or all sections ) Class Z should follow Class Y (this may be a specific section or all sections) Teacher X and Teacher Y should teach on the same days or times preferable. Rule weighting Some rules can be relaxed if necessary, so a weighting system may need to be incorporated. An infinite weight might indicate the rule has to be enforced and no schedule can ever violate this rule. A low number would indicate that it’s not desirable, but we could allow this under some circumstances. When comparing different schedules, a lower total weighted value would therefore be the more appropriate schedule. Generate Schedule When all the rules a given, the user can begin generating schedules. Since this will likely be a timeconsuming process the scheduler should likely save the state of a given job. That way if the process needs to stop then it could restart where it left off. The administrator may want to be able to view schedules that are created as the process begins running. Stretch Goals • • • Distributed processing to speed the lookup through the search space Containerization. Being able to spin up 50 servers to work in a distributed manner could help solve the problem quickly. Multiple users with different views and responsibilities. Some users may only be able to view the completed schedule. Others may only be able to edit classes etc. Software Project Management Plan Team Members / SPMP Version: 1.0 Document Control Change History Revision Change Date V1.0 2/12/2008 Description of changes Initial release [Note change history doesn’t have to be stored with the document. Most version control tools like SVN keep track of change history automatically. The comments entered when checking in documents become the change history for the document. However, even if your version control tool supports change history, you make want to track a more detailed version here.] Document Storage This document is stored in the project’s SVN repository at: http://company.com/svn/project-name/docs/spmp.doc. Document Owner Larry Smith is responsible for developing and maintaining this document. Page 2 of 12 / SPMP Version: 1.0 Table of Contents 1 OVERVIEW ................................................................................................... 4 1.1 Purpose and Scope ...................................................................................................... 4 1.2 Goals and Objectives................................................................................................... 4 1.3 Project Deliverables ................................................................................................... 5 1.4 Assumptions and Constraints ................................................................................. 5 1.5 Schedule and Budget Summary .............................................................................. 6 1.6 Success Criteria ............................................................................................................ 6 1.7 Definitions ...................................................................................................................... 7 1.8 Evolution of the Project Plan ................................................................................... 7 2 STARTUP PLAN ........................................................................................... 7 2.1 Team Organization...................................................................................................... 7 2.2 Project Communications ........................................................................................... 7 2.3 Technical Process ........................................................................................................ 8 2.4 Tools ................................................................................................................................. 8 3 WORK PLAN................................................................................................. 8 3.1 Activities and Tasks .................................................................................................... 8 3.2 Release Plan .................................................................................................................. 8 3.3 Iteration Plans .............................................................................................................. 9 3.4 Budget .............................................................................................................................. 9 4 CONTROL PLAN .......................................................................................... 9 4.1 Monitoring and Control ............................................................................................. 9 4.2 Metrics Collection ........................................................................................................ 9 5 SUPPORTING PROCESS PLANS ............................................................. 10 Page 3 of 12 / SPMP Version: 1.0 5.1 Risk Management Plan ........................................................................................... 10 5.2 Configuration Management Plan ........................................................................ 10 5.3 Verification and Validation Plan ......................................................................... 11 1 Overview 1.1 Purpose and Scope This section provides an executive overview of the project. It explains why the project is being initiated and what can and cannot be expected from project. It may also include any background or contextual information necessary for understanding the project. The purpose for the project explains the problem or opportunity the project will address. The statement of purpose isn’t a statement of what you are doing (“we plan to automate billing”), but rather why you are doing it (“The purpose of this project is to streamline billing in order to save time, money and resources.”). Project scope defines the boundaries of the project—what will and won’t be included in the project. Defining project scope helps set expectations regarding what can be expected from the project. The scope definition may also play a role in evaluating requests for changes or new features. Project plans and estimates are based on the scope definition. A request for a change that is outside the current scope of the project can’t be accepted without a change in project scope. Partial Example A user’s guide and a system installation guide will be provided. One-on-one personalized training isn’t one of the project deliverables. 1.2 Goals and Objectives Goals and objectives define expected project outcomes. Goals are broad and inspirational. Objectives are narrow and measurable. Project goals generally related project outcomes to business objectives (reduced cost, increased revenue, improved quality, etc). A well-worded objective is SMART: Specific, Measurable, Attainable/Achievable, Realistic and Time-bound. Partial Example Project goals: 1. Establish a mobile porthole for real estate data. 2. Create a mobile porthole that appeals to homebuyers as well as home sellers. Page 4 of 12 / SPMP Version: 1.0 Project objectives: 1. Create a database on homes offered for sale in a local area. 2. Create client software that allows access to the database from mobile devices. 3. Create an interface that home sellers and their agents can use to enter and update home data. 4. Extend mobile access to real estate data in the multiple listing service (MLS). 1.3 Project Deliverables This section lists the outputs of the project that are delivered to the customer. Partial Example The following items will be delivered to the customer on or before 1/1/2008: 1. Source code for both the client and server portions of the system. 2. User’s Guide 3. System Administrators Manual 4. Test Plan 5. System test Cases 6. Suite of regression tests 7. Data conversion program for migrating existing data to new database format. 1.4 Assumptions and Constraints Assumptions are conditions, usually outside the control of the project team, that are taken for granted. Project plans (i.e. estimates) typically depend on certain assumptions being true. Assumptions that turn out to be false, may jeopardize project success. In order to reduce project risk, the project manager may elect to validate certain assumptions as part of the risk management process. This is also a good place to document verbal promises or assurances given to you. Constraints are limits or restrictions on freedom. Projects may have technical as well as non-technical constraints. Priorities for schedule and budget can impose non-technical constraints on a project. Restrictions on programming language or delivery platform are examples of technical constraints that limit design and implementation options. Partial Example Assumptions: 1. The location API works on the test hardware. 2. A senior architect will be assigned to the project during the first 4 weeks. 3. The Unix server and RAID controller can be purchased and delivered by 7/1/2008. Page 5 of 12 / SPMP Version: 1.0 4. Facilities will provide private office space for 3 outside contractors for the duration of the project. Constraints: 1. The software must run on a Windows Mobile 6 device. 2. The database must be open source. 3. The software must be ready by 1/1/2008. Note, the following is not a reasonable assumption for inclusion in this section: “We assume that our group has the necessary skills and knowledge needed to complete the project.” This might be something you are taking for granted, but it is not something worth documenting in the project plan. The assumptions you want to list here are those that are outside your control. Once the development team is established, it is their responsibility to possess or develop the skills and knowledge needed to complete the project. If there is a concern that the existing team doesn’t have the skills and knowledge needed to complete the project successfully, add it as a risk and develop a plan for mitigating the risk. 1.5 Schedule and Budget Summary The schedule summary shows start and end dates for high-level activities ending in major milestones or deliverables. Milestones are major events in the project life cycle that are used to measure progress. A Gantt chart is an excellent tool for visualizing the start and stop dates of major scheduled activities. The budget summary shows total project cost, possibly broken down into separate categories for such things as salaries, equipment, travel, overhead, etc. 1.6 Success Criteria Success criteria spell out what has to happen before the project can be considered a success. Having explicit success criteria serve two purposes. First, during a project success criteria help to focus attention on what is important. Second, at the conclusion of a project (project closure) success criteria are used to assess whether or not the goals and objectives of the project have been achieved. To be effective in both of these endeavors, success criteria must be defined in a way that is both quantifiable and verifiable. For more advise on how to define the success criteria for a project, I recommend: Success Criteria Breed Success, by Karl Wiegers. It is available on the web. Partial Example • Total project cost does not exceed 20% of the post-requirements phase estimate. Page 6 of 12 / SPMP Version: 1.0 • All high-priority use cases in the requirements specification are delivered before May 15. 1.7 Definitions This section should define potentially unfamiliar or ambiguous words, acronyms and abbreviations. 1.8 Evolution of the Project Plan This section describes plans for updating the project plan throughout the project. Partial Example Before the start of an iteration, the project plan will be updated to include a schedule of detailed tasks for the upcoming iteration. At the conclusion of an iteration, the project plan will be updated to include the actual effort for each completed task. Risk mitigation efforts will be evaluated at the start of each iteration. Severe risks will be analyzed and added to the project plan as soon as they materialize. 2 Startup Plan 2.1 Team Organization This section explains project roles and the authorities and responsibilities associated with these roles. Lines of communication, authority and reporting relationships are often shown with an org chart. If development team is known, actual names can be associated with roles. Partial Example Project Manager: The project manager is responsible for creating the project plan (with input from those doing the work), managing risks, running the weekly team meeting and providing monthly status reports to senior management. Programmers (3): Programmers are primary responsible for coding and unit testing modules. They are also expected to take part in architecture planning and review meetings. Build Coordinator: The build coordinator is responsible for setting up, running and distributing the results of the nightly build. 2.2 Project Communications This section contains the project communications plan. The communications plan describes how information is gathered and distributed. Page 7 of 12 / SPMP Version: 1.0 2.3 Technical Process This section describes the software development methodology or conventions the team agrees to live by. When following an organization standard process, this section will refer to the standard process and state any deviations that are planned for this project. In the absence of an organization standard process, this section will define planned phases, entry and exit criteria for each phase, major milestones, workflows, and other aspects of the proposed development process. 2.4 Tools This section specifies the development tools the team will be using to perform their work. Partial Example • Programming Language – Java • Version Control – source code and written artifacts will be stored in a Subversion repository. • Defect tracking – defects and issues will be tracked using Bugzilla. • Build tools – local and main builds will be done using CodeMake. • Automated testing – unit tests will be implemented with the JUnit testing framework. 3 Work Plan 3.1 Activities and Tasks A work breakdown structure is an excellent tool for identifying a complete list of tasks. Depending on the needs of the project, some or all of the following attributes will be recorded for each task: • • • • • • • • Task name Task Description Owner Effort estimate Actual effort Planned start and stop dates Actual start and stop dates Dependencies among other tasks 3.2 Release Plan For day-to-day project management the release and iteration plans (described in the next section) are probably the two most important project management artifacts. The release plan lists expected completion dates for major milestones and delivery dates of key work products. The project’s technical development process to a certain extent will dictate the choice and timing of milestones and deliverables. For Page 8 of 12 / SPMP Version: 1.0 example, projects following the Rational Unified Process will have four major milestones: life-cycle objectives, life-cycle architecture, initial operation capability, and product release. 3.3 Iteration Plans An iteration plan is a short-term fine-grained plan that shows the tasks to be completed during an iteration. 3.4 Budget The project budget is the projected cost of the project as a function of time. At any point in the project you should be able to say how much money has already been spent and estimate of the amount of money needed to complete the project. 4 Control Plan 4.1 Monitoring and Control Include in this section plans and procedures for tracking progress and controlling performance. Included here will be the approximate dates of technical as well as managerial reviews. Typically each major milestone or project phase will end in a review. For projects that don’t have a separate communication plan, this section may also include information on the timing and content of status reports and other project review documentation. Partial Example Weekly – 3/1/2008 – 5/15/2008 – Team meeting. Project participants report status, progress and potential problems. Critical Design Review. Formal inspection of product architecture. Executive Review. The project manager presents current project status to project sponsor and senior executives. 4.2 Project Measurements Product and process measures support project management and estimation by analogy. At the beginning of a project, estimates are made for product size, project cost and delivery dates. During a project, progress is tracked with measures of actual effort, integrated lines of code and actual expenditures. Keeping track of estimates and actuals during a project helps to calibrate whatever technique is being used to make estimates. Storing project performance data on completed projects provides a rich source of data for estimating future projects. Example Phase Measurement Source Page 9 of 12 / SPMP Version: 1.0 Release Planning Record effort estimates for product features Mgr Iteration Planning Record effort estimates for scheduled tasks Update effort estimates for product features Update estimated dates in release plan Mgr Iteration Closeout Record actual effort for scheduled tasks Record actual effort for product features Record LOC count for modules written System Test Record the rate at which errors are found. QA Project Closeout Archive project performance data in process database. (See process database definition for a list of measures to record.) Mgr Ongoing Record defects found from integration testing through first year of release. Assign each defect to one of the following categories: blocker, critical, major, minor or trivial. Keep track of the state of each defect: open, assigned, fixed, closed. Mgr/Pgr Mgr/Pgr/QA 5 Supporting Process Plans 5.1 Risk Management Plan Identify technical and managerial risks. Prioritize risks. Consider the probability of each risk turning into a problem and the likely consequences. For the highest priority risks, what actions will be taken to minimize the probability of the risk turning into a problem and the resulting consequences? What are the contingency plans for selected risks that do become a problem? Identify processes for monitoring risks and updating the risk management plan. 5.2 Configuration Management Plan Configuration management plans for this document and other baselined work products including review procedures and change management procedures. Partial Example 1. All work products will be stored in a centralized CVS repository running on a central server. 2. The naming convention for documents will be: NNN-VVV.suffix where NNN is a mnemonic that reflects the function of the document, VVV is a 3 digit version number, and 'suffix' is the standard/normal suffix for the document type. For example, the second version of the requirements document created as a Microsoft Word document might be labeled: REQ-002.doc. Page 10 of 12 / SPMP Version: 1.0 3. All project (work products) items (documents, source code, test cases, program data, test data, etc) will be stored in the CVS repository but not all will be under change control (subject to formal change control procedures.) Only the system requirements, project plan and source code will be baselined and under configuration control. 4. Items that are subject to change control will be considered baselined after a group review at the end of the life cycle phase during which they are created. Baselined here means that the product has undergone a formal review and can only be changed through the prescribed change control procedures. 5. The change control procedure once a product is baselined is: (1) anyone wanting to make a change to a baselined item sends an email to the rest of the group describing the change, reason for the change, expected impact, and timeline for integrating the change. (2) if no one responds to the group within 2 days with a reason for why the change request shouldn't be permitted, it will be considered accepted and the person proposing the change may proceed with the change. If anyone does object to the change, the reason for objecting will be discussed at a meeting where everyone is invited to attend and voice their opinion. At the end of the meeting a democratic vote will be held to decide whether or not the change should be allowed. 6. Including a change history with all documents is encouraged but only required for baselined documents. The change history should be at the front of the work item and include: (1) the name of the person making the change, (2) brief description of what has changed, (3) reason for the change, and (4) the date the change was integrated. 5.3 Verification and Validation Plan The verification and validation plan defines what actions are being taken to assure the quality of the development process and resulting software products. Partial Example The Verification and Validation plan is specified as a separate documented located in the version control system at: http://company.com/svn/projectname/docs/VandVPlan.doc 5.4 Product Acceptance Plan The product acceptance plan defines what is acceptable in terms of product quality and product functionality. Acceptance criteria should be objective and measurable. Note product success is one aspect of project success. Teams wanting to establish a clear understanding of what will be considered acceptable project performance may want to define a more general plan for project success that includes quantitative goals for delivery date, cost, etc. Partial Example The Verification and Valida Page 11 of 12 / SPMP Version: 1.0 Page 12 of 12
Purchase answer to see full attachment
Explanation & Answer:
Worksheet
User generated content is uploaded by users for the purposes of learning and should be used following Studypool's honor code & terms of service.

Explanation & Answer

Hello...

Related Tags