Project Doucmentation (Group A4)
From SoftwarePractice.org
Personal Assignment Schedular Introduction
This page documents the software design process of our group project, "Personal Assignment Scheduler (PAS)".
The objective of our group project is to develop a program that helps students with tracking their assignments and finishing them on time. As it is an educational project, we also aim to explore the different phases of a software desing process. As well, through out the project, we aim to learn different set of software DnD tools and programs.
PAS Functionality
Through discussiong with our tutors as well was group discussions, we have decided that the PAS shall have the following functionalities.
- Add, save, modify, view and delete assignments.
- Show assignment progress using a progress bar.
- Display a list of completed tasks.
- Display the due date and number of days left.
- Shows a warning message if an assignment is overdue.
- Simple user interface.
- Incoperates a workflow for the user to follow.
System Inputs and Outputs
The first analysis we've done is system analysis. This is to look at the system and work out what the system inputs and outputs are. This gives clear understing of how the system interfaces and reacts to the outside world.
The table below shows the system inputs and outputs of the PAS.
| Student Inputs | System Outputs |
|---|---|
| Assignment and Subject Names | Warning Messages |
| Due Date (DD / MM / YYYY) | Eleventh-hour Mode |
| Assignment Type, Mode, Submission Method | Status Progress Bar and Due Date |
| Lecturer/Tutor contact details and Comments | Details of Assignment |
| Reverent tasks for Assignment | List of saved Assignments |
Stakeholders
Through the lectures and tutorials, we've come to understand that it is imperative to understand the user needs of the software, before we begin the design and development. One way to do this is the stakeholders analysis. This is to find out who the stakeholds of the project and hence the final product (i.e PAS), and understand their needs and interests.
The table below shows the PAS stakeholders and their needs and interests
| Stakeholders | Needs and Intrests |
|---|---|
| Student | To achieve high marks on All assignments keeping upto date with courseware while following a schedule |
| Lecturer Tutor Teacher | Able to guide Students reduction in late submission and inappropriate formatting |
| University | To provided all students this software |
| Public School | To provided all students this software |
| Parents | Satisfaction that kids are learning on time and keeping upto required standards |
| Offices Businesses | use a version of our software to help their employees keep track and update their performance |
| Maintenance | To upgrade software and add further functionality desired |
Scenarios
Usage Scenarios
Usage scenarios help us understand how our software will be used by the end users. Then, we have better pictures of how the sofware should interaface and react to the unser inputs. From these scenarios, we can elicit some design inputs as well.
The following are the usage scenarios of our PAS.
- Creating Assignments
- Mike wants to make a schedule for his assignments which includes weekly tasks. He runs the PAS program and enters all the assignment details into program and saves them.
- Deleting Assignments
- James wants to delete his finished assignment from his schedule. He runs the program, selects his finished assignment and clicks on the 'Delete' button to delete it.
- Warning Messages
- Ricky is worried about his un-finished assignments. He usually forgets what task should be completed for the current week. By using the PAS software he can keep track of his assignments and tasks by visually seeing what he is upto and how he is progressing.
- Progress Performance
- Adam wishes to see progress and where does he stand as far the standards are set.He can to see bar indicating his performance/standards required at one place by opening a schedule and its progress report
- Managing Multiple Assignments
- John is given four assignments, one for each subject that he is studying and wants to be able to track his progress with each assignment without wasting too much time on managment tasks. Using the software, he will be able to manage as many assignments and tasks as he wishes without worrying about each individual assignment.
- Revision of submission Details
- Alex is confused about where and what format is the assignment to be submitted; He can verify the submission method by opening the assingment and viewing it's details within the program.
- Checking Due Date of Assignment
- John wants to check due date and how many days left for one of his assignment. He runs the Personal Assignment Scheduler program and selects the right assignment from Assignment list. He then clicks “Due Date” button to view the due date of the chosen assignment. System will popup a message with the due date and how many days left.
Use Case Diagram
Use case analysis is good for capturing functional requirements of a software. Again this give us insights into how the software should interact with the users (called actors) to achieve a specific function of the software. Use case analysis is usually done with a diagram of use case. We have done so and the diagarm below shows the use cases of our PAS.
Use Cases
Based on the above use case diagram, we have developed the use case scenarios as below. This helps us to elicit functional requirments and hence design inputs to our PAS.
| User Action | System Responsibility |
|---|---|
| 1. Open Computer 2. Open Software 3. Choose Add New Assignment | |
| 4. Open New Assignment Form | |
| 5. Input Assignment Details | |
| 6. Create Assignment 7. Add to Existing Assignments | |
| 8. Logout |
| User | System Response |
|---|---|
| 1. Open software program 2. Open existing assignment | |
| 3. Details & Options displayed a. Edit b. View detail c. View progress d. Delete | |
| 6. Selection to view progress | |
| 5.Shows 2 different colour bars with percentage for expected and actual progress | |
| Options Displayed : 6.return to main menu 7.close window 8.Back | |
| 9.Close window |
| User Action | System Responsibility |
|---|---|
| 1. Getting assignment Question 2. Open Program | |
| 4. Ask subject code 5. Enter due date 6. Ask delivery mode 7. Enter milestones | |
| 8. Choose delivery type | |
| 9. Save new assignment 10. Show all existing assignments 11. Show any due assignment | |
| 12. Do assignments | |
| 13. Ask status of weekly assignments 14. Show progress of assignments |
| User Action | System Responsibility |
|---|---|
| 1. Run PAS program | |
| 2. Choose Assignment 3. Click “Due Date” button | |
| 4. Get Date data from chosen assignemtn 5. Get System current date 6. Calculate day left 7. Show due date and how many days left | |
| 8. Press OK to Main page |
Object Oriented Design Analysis
At this poin in the porject, we have completed the requirement analysis. We now have a good understanding of user requiremet as well as software functional specifications. All the analysis we have done so far help us achieve that. In regard to the Miniature Unified Process, we have now completed the Inspection and Elaboration phases of the process. We are about to begin the Construction phase, which is mainly of design and implementation activities.
To start the design of PAS, we start to perform the class diagram analysis, which is one of the main principles of the object oriented design. In this project, we used UML language to perform the class diagram analysis. We analysed the static structure of the PAS and tried to describe the major classes and their attributes and operations. These classes will be the backbone of our final object oriented design of PAS.
Class Diagram
BlueJ Screenshot
Analysis Class Diagram
CRC Diagram
| Assignment | |
| Responsibilities | Collaborations |
| Displaying/Editing the due date Displaying/Editing the milestones Displaying/Editing the delivery mode | Progress GUI |
| Progress | |
| Responsibilities | Collaborations |
| Status diplay for the assignments completed | Assignment GUI Time |
| GUI | |
| Responsibilities | Collaborations |
| Creating/Updating information messages Responsible for displaying created messages with Detail Warning/Reminder Messages | Progress Assignment Time |
| Time | |
| Responsibilities | Collaborations |
| Checking the time and date Calculation for Eleventh hours mode Comparing the Current time with due time & dates | Progress Assignment |
Function List
This section lists the major functions used in the design of the PAS.
| Assignment | GUI | Time | Progress |
|---|---|---|---|
| newAssignment | openProgram | checkTime | checkProgress |
| deleteAssignment | createForm | dueDate | currentProgress |
| openAssignment | displayMsg | setDueDate | modifyProgress |
| saveAssignment | displayForm | systemTime | |
| modifyAssignment | displayProgress | checkDueDate |
Collaboration Diagram
Create New Assignment
Checking Progress
Need to put arrow lines on it.
Modify Milestone Image:Milestone2.jpg
Sequence Diagram
New Assignment
Check Progress
Delete Assignment
Modify Due Date
Pre/Post Conditions of the Functions
In the following sections, we describes the pre and post conditions of the fucntions we are going to used in PAS design.
Operation Specifications for Assignments
|
|
|
|
|
|
Operation Specifications for GUI
|
|
|
|
|
|
Operation Specifications for Progress
|
|
|
|
|
PAS Screenshots
Finally, we have completed our PAS:) It is quite a achievement and pleasure to see our PAS working. The following are the screen shots of our PAS in action :)
Design Screenshots
Program Screenshots
Test Cases
Through out the implementation phase, we have done a lot of testing of the functions as we wrote them. We took the approach of black box testing, where inputs is fed to the function and the output is observed to check the correct operation of the fuction under test. Then we performed integration testing, by putting the functions together, where we made sure that functions that were written seperately by group members worked togehter. Finally, we did the user acceptance testing where we have demostrated our PAS working infront of our tutors and let him test it. The followings are the test cases that we used.
Best Test Case of PAS
- Scenarios
- Best Test Case for PAS (modify the due date)
- Martin receives an email from his OOD subject coordinator that the project of the subject date line extends to next week. Therefore, he needs to change the date line for the project. He opens the Personal Assignment Schedular (PAS) program. PAS program main page shows the list of Martin assignments and projects that he assigned into PAS system before. He easily clicks the title of the OOD project name from the list and clicks the “MODIFY” button to edit the date due date. PAS program brings up all the data form his projects such as due date, subject name and so on. In the due date section, Mark easily rechooses the due date. Then he clicks the “save” button to save his modification into his file. PAS will bring him back to the main page with refreshment of his assignments and projects list. He also can easily check up the due date for pressing the “Due Date” button which will tells him due date and how many days left. On the other hand, he also can click by “View” button to check full details of this project. The view page will show all the details the status of the project which overdue or how many days left.
- Best Test Case for PAS (modify the due date)
| User Action | System Action |
|---|---|
| 1. Open PAS | |
| 2. Check the current Date 3. Search all saved files in the system 4. Show the list of user saved projects and assignments 5. Wait user input | |
| 6. Choose project from the list 7. Hit “MODIFY” button | |
| 8. Check button status (MODIFY or VIEW) 9. Check “null” input 10. Grab the file name of the project 11. Grab the data from the file 12. Open Modify page 13. Show all details of the project on Modify page | |
| 14. Set the Date, Month, Year | |
| 15. Check “null” inputs 16. Update all the data into file 17. Open Main / Home page 18. Reload the file list 19. Recalulate Due Date left 20. Wait user inpt | |
| 21. Click “EXIT” button | |
| 22. Ask “YES” or “NO” to exit | |
| 23. Comfirm by pressing “YES” | |
| 24. Kill the program |
- Test case for viewing assignment details
Jane has a physics assignment due in three weeks. She used PAS to enter and save her assignment details. A week later, she wanted to check the due date and other details about the assignment.
To view her assignment details, she must do the following:
| User Action | System Action |
|---|---|
| 1. Double-click on PAS icon to run the program. | |
| 2. System runs the program. | |
| 3. Once loaded, select the right assignment from the Assignments list. | |
| 4. Click ‘View’ button to view the assignment details. | |
| 5. Switch to the ‘View’ tab and display the all the assignment details. | |
| 6. Once finished viewing the assignment details, click on the ‘Close’ button to return to the Main Menu of the program. | |
| 7. Closes the ‘View’ tab and returns the user to the Main Menu to select another assignment to carry out a different operation. |
Group Talk
All done! and well done to all who have put in lots of effort in making this project successfull.
Thanks to our lectures and tutors who have supported, helped and guided us through out the semesters.
Instructor comments
Good work, you're making great progress. I'd suggest at this point that it would be good to work on getting a class diagram together. JohnR 11:46, 9 September 2006 (UTC)








