Micro Level Requirements (BASED ON PROTOTYPES):


FILTERS PAGE


Consists of two main panels, the filters and the history.


Search filters:

Object: Requires: Feedback:

Number of Courses weight widget + add button Perhaps history changes to numbered list

that fills in with inputs equal to one line.


Input specific course widget weight widget + add button course added to history after selection

Time weight widget + add button time input added to history

Day weight widget + add button day input added to history

Department weight widget + add button department input added to history

Location weight widget + add button location input added to history

Category (ie gen ed) widget weight widget + add button specific category input added to history


Add button changes in a default field visible onClick state to indicate clicked

Remove button (history window) rules in history window visible onClick state to indicate clicked

Submit button (end of page) rules in history window visible onClick state to indicate clicked


History window:

Should delimit each rule algorithm clearly from the other rules in the history window.


Each rule either needs to have its own “remove” button, or a single static “remove” button that will remove a selected rule. Separate buttons are preferable for a more intuitive interface. If each rule gets its own remove button, should these populate when the number of classes are selected? (decide)


Create schedule button: Placed next to the history window to associate the “create schedule” with the rule history.


Display size: Input rule feedback is provided in the history, therefore, the history section of the page should not be off the screen, thus hiding the implemented action from the user. That is to day, both the filters and most of the history window should be viewable in an 800x600 display.


Navigation:

The filters page is in a page sequence before the results page, the user should be informed where they are in the scheduling process, therefore, remaining tabs or steps should be visible, even if not accessible or return empty pages.


Filters should all be defaulted when the page is displayed, after a filter is manipulated and “Add” is selected, the filter should be returned to default so that it can be manipulated again.


Once toggled, the “create schedule” button should execute the search algorithms and move the user to the output page. Feedback should be provided if this process takes longer than 5 seconds.


Incomplete entries (ie indicated 5 courses, but only put in 3) should either be ignored, or prompt an error message. (Decide)

OUTPUT PAGE:


Consists of four panels: Active schedule, other schedules, rule history, and a text list of courses with their detailed information of the active schedule.


Schedule output needs to be editable, to remove unwanted schedules


“select schedule” button to commit to a schedule and navigate to the next process.


Text panel:

Object: Requires: Feedback:

Check box next to each course course checked if clicked, unchecked if clicked again


“remove checked” Button to check boxes execute the action to removed checked courses from

the text list (thus removing them from the schedule). Schedule should redraw to reflect the changes in the schedule.


Other schedules panel:

Object: Requires: Feedback:

Thumbnail schedules multiple returned schedules small calendar displays, need to be selectable to

(in calendar format) place in active schedule window


Thumbnail popups Multiple schedules + thumbnails displays larger calendar display on rollover


Left/Right buttons multiple returned schedules scrolls through list of returned schedules

(alternative widget could be a scroll bar)


History panel:

Object: Requires: Feedback:

Echo of rule history Inputted search rules Color coordinated with outputted courses


Active Schedule panel:

Object: Requires: Feedback:

Calendar formatted courses returned courses Calendar Format, each course coordinated with the

history rule that generated it.