SoftwarePractice.org: Home | Courseware | Wiki | Archive

Project Documentation - Group B8

From SoftwarePractice.org

This article documents our 'Personal Assignment Scheduler' project. ~Group B8

Contents

Expressing Requirements

Project Choice

Our team has decided to undertake the 'Personal Assignment Scheduler' project. We decided this upon two reasons;

  1. Students are the main stakeholders of this project. Therefore, we are able to understand the nature of the problem and its requirements better.
  2. This software solution may prove to be a useful tool for such students as ourselves. (If all goes well..)

Stakeholders - Their Concerns, Their Expectations

  • Tertiary Students and Lecturers
    • The software needs to be reliable
    • Should include various options and be more flexible
    • Good interface by design and colour
    • Appropriate of notices or prompts
    • Easy to navigate
    • Compatible with previous versions (if any), eg. for saved schedules
    • Provides online help
  • Maintenance teams
    • The software allows navigational ease
    • Provides logs to allow for additional updates/maintenance
    • Provides logs to allow follow up of updates/maintenance
    • User-friendly
    • Allows ease of identification of classes/components/elements
  • Additionally lecturers may wish to provide a template schedule to his/her students, to establish an expected time frame for assessments

Best Usage Scenario

John time-consumably scrolled through his diary to find out when his assignment was due.

Usage Scenarios

FirstScenario - Forecast/reminder of task:

Jack checked his schedule to realize that he had an assignment due urgently the next day.

Second Scenario - Flexible features:

James looked at his schedule and realized his task that he previously handed in, was 'pastdue' because he did not tick off the completed task.

Third Scenario - Removing assignment:

Nicholas needs to remove his completed assignment. In order to do this he opens the software and selects the completed assignment and removes it.

Fourth Scenario - Editing assignments:

Mohammad needs to edit his assignment, he opens the software, selects the assignment and selects edit to change certain criteria.

Fifth Scenario - Checking progress:

Kevin realizes he is falling behind on his work, and has a need to check his progress on how much work he has accomplished and how much work he still needs to do. To do this, Kevin opens the program and check the status bar.

Best Essential Use Case

Add Assignment - User submits a task/assignment and due date to the software.
User action System Responsiblity
1. Add assignment.
2. Select delivery mode.
3. Display Schedule.
4. Edit incremental deliverables.
5. Update and display incremental deliverables.

Other Essential Use Cases

Remove Assignment - User removes a task/assignment from the software after completion.
User action System Responsiblity
1. Select desired assignment.
2. Display options.
3. Select to 'remove' assignment.
4. Remove assessment and related tasks.
5. Update schedule.
6. Notify user.


Edit Assignment - User edits a task/assignment that has been submitted to the software.
User action System Responsiblity
1. Select desired assignment.
2. Display assignment information.
3. Select desired field to change.
4. Edit criteria.
5. Update schedule.
6. Notify user.


Student Alert - User is notified of upcoming tasks and their current due date.
User action System Responsiblity
1. Open application.
2. Search and collect assignments from database.
3. Display message, 'Assignment due tomorrow'

OR 'Assignment due in # days'.

4. Select 'OK' or 'Dismiss'.
5. Update schedule.


Overdue Alert - User is notified of incomplete overdue tasks.
User action System Responsiblity
1. Open application.
2. Search and collect assignments from database.
3. Display message, 'Task is overdue: <Task.name><Task.dateDue>'.
4. Select 'OK' or 'Dismiss'.
5. Update schedule.


Check Progress - User is shown actual and expected progress of an assignment.
User action System Responsiblity
1. Open application.
2. Open assignment.
3. Display program options.
4. Select 'Progress'.
5. Display Status bar.

Use Case Diagram

Initial Design Sketches

Design Interface - Main screen in which the user decides on what is to be done

Data Entry - Main data entry screen where the user enters their data for the schedular

Status Bar - Notifies the user of how much is done from a particular task

Final Design Sketches

Design Interface - Main screen in which the user decides on what is to be done

Data Entry - Main data entry screen where the user enters their data for the schedular

Status Bar - Notifies the user of how much is done from a particular task

Classes

CRC Cards.

Assessment
Responsibilities Collaborations
Name of Assessment. Task
Subject. AddRemoveDialogue
Delivery mode. AssignmentList
Create and Edit deliverables(tasks).
Task
Responsibilities Collaborations
Task description. ProgressBar
Incomplete/complete status. AssignmentList
Date. EditDialogue
AssignmentList
Responsibilities Collaborations
Displays assessments. Task
Date due. Assessment
Progress. AddRemoveDialogue
Checkbox, for mark of completion. EditDialogue
ProgressBar
Responsibilities Collaborations
Calculate/display 'actual' progress. Task
Calculate/display 'expected' progress. AssignmentList
CalendarDisplay
Responsibilities Collaborations
Displays the assessments of current week/month. AddRemoveDialogue
Displays week/month forecast. Task
PromptDialogue
FileHandler
Responsibilities Collaborations
Open files. Task
Save files.
Load configurations and preferences.
Load help file.
AddRemoveDialogue
Responsibilities Collaborations
Add due date. AssignmentList
Add task. CalendarDisplay
Remove task. Assessment
Update assignment list.
EditDialogue
Responsibilities Collaborations
Edit task/assessment. AssignmentList
Save task/assessment. CalendarDisplay
Update assignment list. PromptDialogue
Check time and date. Task
DateTime
PromptDialogue
Responsibilities Collaborations
Prompt errors. AssignmentList
Reminders. CalendarDisplay
Notify of task completion. EditDialogue
Prompt for verification. AddRemoveDialogue
DateTime
Responsibilities Collaborations
Check system time and date. All, except for FileHandler and ProgressBar
Show time and date.

Class Diagram.

Sequence & Collaboration Diagrams

Sequence Diagrams

Add Assignment - This sequence diagram shows the process of "Add Assignment"

Edit Assignment - This sequence diagram shows the process of "Edit Assignment"

Progress Bar - This sequence diagram shows the process of "Progress Bar"

Delete Assignment - This sequence diagram shows the process of "Delete Assignment"

Collaboration Diagrams

Add Assignment - This collaboration diagram that shows the process of "Add Assignment"

Edit Assignment - This collaboration diagram that shows the process of "Edit Assignment"

Progress Bar - This collaboration diagram that shows the process of "Progress Bar"

Delete Assignment - This collaboration diagram that shows the process of "Delete Assignment"

Specifications

Operation Specifications

Progress Specifications

GUI Specifications

Test Cases

Best Test Case

Best test case: Add Assignment
John time-consumeably scrolled through his diary to find out when his assignment was due.
User action System Action
1. Open Automize.A.S
2. Program displays saved files.
3. Wait for user's action.
4. Open project.
5. Display program options.
6. Wait for user action
7. Click "Add" to add assessment
8. Open dialogue box
9. Display options
10. Wait for user action
11. Specify Assignment name, Due Date,

Subject Name, Study Mode, Assessment Comments

12. Click "Add"
13. Close Dialogue box
14. Add assignment to Assignment List
15. Wait for user's next action

Other Test Cases

First Scenario - Forecast/reminder
Jack checked his schedule to realize that he had an assignment due urgently the next day.
User action System Action
1. Open Automize.A.S
2. Program displays saved files.
3. Wait for user's action.
4. Open project.
5. Display upcoming assignments.
6. Wait for user action.
7. Click on upcoming assessment.
8. Display Due Date
9. Click "OK"
10. Close Dialogue box
11. Wait for user's next action


Second Scenario - Flexible features
James looked at his schedule and realized his task that he previously handed in, was 'pastdue' because he did not tick off the completed task.
User action System Action
1. Open Automize.A.S
2. Program displays saved files.
3. Wait for user's action.
4. Open project.
5. Search for any assessments which have specified date<current date.
6. Display Overdue assessments
7. Select assessment
8. Open assessment content
9. Ask to "delete" or "edit" assessment
10. Click "delete" assessment
11. Remove assessment
12. Update Schedule


Third Scenario - Removing assignment
Nicholas needs to remove his completed assignment. In order to do this he opens the software and selects the completed assignment and removes it.
User action System Action
1. Open Automize.A.S
2. Program displays saved files.
3. Wait for user's action.
4. Open project.
5. Display program options.
6. Wait for user action.
7. Highlight assessment to be deleted.
8. Click "Delete"
9. Display confirmation box.
10. Click "Yes"
11. Close confirmation box.
12. Remove assessment from list
13. Wait for user's next action.


Fourth Scenario - Editing assignments
Mohammad needs to edit his assignment, he opens the software, selects the assignment and selects edit to change certain criteria.
User action System Action
1. Open Automize.A.S
2. Program displays saved files.
3. Wait for user's action.
4. Open project.
5. Display program options.
6. Wait for user action.
7. Highlight assessment to be edited.
8. Double click assessment from the list
9. Open Assessment with fields.
10. Wait for user action
11. Input data.
12. Click "Save"
13. Add Assessment to Assignment List.
14. Update database.
15. Wait for user's next action


Fifth Scenario - Checking progress
Kevin realizes he is falling behind on his work, and has a need to check his progress on how much work he has accomplished and how much work he still needs to do. To do this, Kevin opens the program and check the status bar.
User action System Action
1. Open Automize.A.S
2. Program displays saved files.
3. Wait for user's action.
4. Open project.
5. Display program options.
6. Wait for user action.
7. Click "Progress"
8. Open Progress page
9. Display Check boxes
10. Formulate Status Bar
11. Click "Back"
12. Return to Assignment List
13. Wait for user's next actions

Instructor comments

Anything happened since the Inception phase? JohnR 11:52, 9 September 2006 (UTC)

Come on guys, upload your doco, you are dragging the chain --Dawsonj 02:10, 8 October 2006 (UTC)

Personal tools