/******************************************************************* * Source Code File Name * Your Name * Programming Assignment number and name * * This program is entirely my own work *******************************************************************/
| 1.0 Overview | |
| The Honeydew Inc. software company is planning on expanding its line of utility software designed for the average computer user in their home. This software, tentatively entitled ToDoList, shall provide users with the ability to create and edit lists of tasks and errands that need to be done. | |
| 2.0 Requirements | |
|
The student shall define, develop, document, prototype,
test, and modify as required the software system. 2.1. The software shall allow the user to create a list of tasks ordered by an assigned priority. 2.2. The software shall allow the user to add items to the list and remove items from the list. 2.3. The software shall allow the user to assign a priority to each task. 2.4. The software shall allow the user to fetch the next task from the list. 2.5. The software shall allow the user to display, on screen, a list of all tasks. |
|
| 3.0 Deliverables | |
|
These products shall be delivered in print and/or
electronically as specified below to the instructor. 3.1 Software Design Document -- The student shall provide a printed software development plan for instructor approval NLT 14 days after program assignment. 3.2 Software Test Plan -- The student shall provide a printed test plan for complete verification and validation of the software for instructor approval NLT 14 days after program assignment. 3.3 Executable Program -- The student shall provide a fully tested executable program delivered on 3.5 inch disk. The program shall be compiled using the Microsoft Visual C++ compiler, Version 6.0 or or later and shall run on a PC running either Windows NT 4.0 or later or Windows 95/98. The executable program shall be delivered NLT 21 days after program assignment. 3.4 Source Code -- The student shall provide printed copies of all source code used in the compilation of the executable program and electronic copies of the source code on 3.5 inch disk. The source code listing shall be delivered NLT 21 days after program assignment. |
|
| 4.0 Period of Performance | |
| The period of performance of this assignment is 21 days from the date of assignment. Under no circumstances will any deliverables be accepted after 28 days from the date of assignment. | |
| 1.0 System Overview............................1 |
| 2.0 Referenced Documents.......................1 |
| 3.0 Architectural Design.......................1 |
| 3.1 Concept of Execution...................1 |
| 3.2 Abstract Data Type.....................1 |
| 3.3 Code Outline...........................2 |
| 4.0 Detailed Design............................2 |
| 4.1 Source File: main.cpp..................2 |
| 4.2 Source File: ToDoList.cpp..............3 |
| A. Sample Screen Display......................7 |
____________________________________________________________________ H O N E Y D E W L I S T Things I gotta do today. ____________________________________________________________________ What would you like to do? 1. Start a new task list. 2. Add a task to the current list. 3. Remove a task from the current list. 4. Get the next task in the list. 5. Quit. Enter the number of your choice then press [Enter]... ___________________________________________________________________
| 1.0 System Overview............................1 |
| 2.0 Referenced Documents.......................1 |
| 3.0 Test Procedures............................1 |
| A. Test Plan Forms............................8 |
| Function Tested | Inputs | Expected Output | Actual Output | Pass/Fail |
| main |
User selects option 1 User selects option 2 User selects option 3 User selects option 4 User selects option 5 |
Printed on screen: New list instantiated. In ToDoList.insert In ToDoList.delete In ToDoList.getNextTask Quitting application |
||
| PrintList |
Node 1: 1, Task 1 Node 2: 2, Task 2 Node 3: 3, Task 3 |
Printed on screen ------------------ Priority Task ------------------ 1 Task 1 2 Task 2 3 Task 3 |
||
| ClearList |
List created in previous test. |
Printed on screen ------------------ Priority Task ------------------ List is empty. |
||
| Insert |
Insert nodes in this order: Node 1: 2, Task 2 Node 2: 1, Task 1 Node 3: 4, Task 4 Node 4: 3, Task 3 |
Printed on screen: After first insert: 2 Task 2 After second insert: 1 Task 1 2 Task 2 After third insert: 1 Task 1 2 Task 2 4 Task 4 After fourth insert: 1 Task 1 2 Task 2 3 Task 3 4 Task 4 |
| Function Tested | Inputs | Expected Output | Actual Output | Pass/Fail |
| Delete |
List created in previous test. Pass priorities in this order: 6, 2, 1, 4, 3, 6 |
Printed on screen: When attempting first delete: Task with priority 6 not found After second delete and call to PrintList: 1 Task 1 3 Task 3 4 Task 4 After third delete and call to PrintList: 3 Task 3 4 Task 4 After fourth delete and call to PrintList: 3 Task 3 After fifth delete and call to PrintList: List is empty When attempting sixth delete: List is empty |
||
| GetNextTask |
List created as in test 3.3. Call function for each node in list. |
Printed on screen: After first call: Task 1 After second call: Task 2 After third call: Task 3 After fourth call: Task 4 After fifth call: List is empty |