# Class Scheduling Using Genetic Algorithm

Topics: Genetic algorithm, Genetic algorithms, Fitness proportionate selection Pages: 11 (2798 words) Published: October 1, 2010
Chapter 3
Methods of the Research

3.1 Assumptions and Dependencies
When creating and designing a scheduling system, there are some things that need to be identified beforehand. As this chapter is meant to accommodate to the specific requirements of the school, information about the current scheduling situation and the school organizational structure may be required. These will also his chapter will discuss about the research design and the manner in which the research was conducted. 3.1.1 Generic Timetabling Requirements

There are 3 basic constraints that need to be followed for every class scheduling problem. Below are the lists of the basic constraints that were considered when implementing generating a timetable. Classroom Constraints: The capacity of the room should be determined on how many students can fit a particular room. In addition, a room can only be occupied by one course at a time. Timeslot Constraints: Course lectures should be scheduled during the hours of operations of the school. Faculty Constraints: A faculty member should be in one class at a given time.

3.2 Project Development
3.2.1 Waterfall Model
System Development Life Cycle (SDLC) model with a linear and sequential method that has goals for each development phase. The waterfall model simplifies task scheduling, because there are no iterative or overlapping steps. One drawback of the waterfall model is that it does not allow for much revision.

System Development Life Cycle (SDLC)
The system development life cycle is a project management technique that divides complex projects into smaller, more easily managed segments or phases. Although each phase is presented discretely, it is never accomplished as a separate step. Instead, several activities can occur simultaneously, and activities may be repeated. System development projects typically include:

1. Initiation Phase
2. Planning Phase
3. Designing Phase
4. Development Phase
5. Testing Phase
6. Implementation Phase
7. Maintenance Phase
The proponents will be using the System Development Life Cycle (SDLC) in developing the Class Scheduling System using Genetic Algorithm.

3.2.1.1 Initiation Phase
In this phase, a business need is identified with the proposal that a solution be found, the plan is set, resources are planned, and the context that the new system will operate in is determined.

3.2.1.2 Planning Phase
The planning phase is the most critical step in completing development, acquisition, and maintenance project. Careful planning, particularly in the early stage of a project, is necessary to coordinate activities and manage project risks effectively.

3.2.1.3 Designing Phase
The designing phase involves converting the informational, functional, and network requirements identified during the initiation and planning phases into unified design specifications that developers use to script programs during the development phase. Analysts should review the materials from earlier phases and begins the system design, identifying any additional system objects, determining operations and data structures for all objects, validating relationships and interactions between objects, and prototyping user interface objects.

3.2.1.4 Development Phase
The development phase involves converting design specifications into executable programs. Effective development standards include requirements that programmers and other project participants discuss design specification before programming begins. The procedures help ensure programmers clearly understand program designs and functional requirements.

3.2.1.5 Testing Phase
The testing phase requires organizations to complete various tests to ensure the accuracy of programmed code, expected functionality, operability of applications, and other network components. Thorough testing is critical to ensuring the systems meet organizational...