CSC 308 Lecture Notes Week 4
Requirements Inspection Testing
Introduction to Requirements Modeling
| Time | Day | Team |
| 12:10 - 12:34 | Mon 2 Feb | DJ Cars |
| 12:36 - 1:00 | Mon 2 Feb | TokenCSC |
| 12:10 - 12:34 | Wed 4 Feb | Team 0 |
| 12:36 - 12:00 | Wed 4 Feb | Fire Breathing Rubber Duckies |
| 12:10 - 12:34 | Fri 6 Feb | Node |
| 12:36 - 1:00 | Fri 6 Feb | Team #1 |
Figure 1: Two views of testing in the software process.
void scheduleAppointment(); void scheduleMeeting(); void scheduleTask(); void scheduleEvent();
class Event {
String title;
Date startDate
Date endDate
Category category
String location;
}
class Date { /* ... */ }
class Category { /* ... */ }
| Java Form | Meaning | Common Interface Form |
| int | numeric integer | string editor for numbers; numeric slider bar or dial |
| double | numeric real number | same as integer |
| String | free-form string value | string editor or combo box |
| boolean | true/false value | string editor for true/false value; on/off button |
| class data fields | components of the class | box containing other types |
| enum literals | one of a set of possibilities | radio buttons; fixed-length listing of selections |
| Collection | zero or more components of the same type | variable-length listing of data values or selections |
| Method | the type of an operation | push button or menu item |
Table 1: Java Modeling Forms.
class Date { /* ... */ }
class Category { String* list; }
class Category {
String name;
Color color;
}
enum Color {
Black, Brown, Red, Orange, Yellow or Green, Blue, Purple;
}
class Calendar {
void scheduleAppointment();
void scheduleMeeting();
void scheduleTask();
void scheduleEvent();
}
class Calendar {
void scheduleAppointment(Appointment);
void scheduleMeeting(Meeting);
void scheduleTask(Task);
void scheduleEvent(Event);
}
abstract class Calendar {
abstract void scheduleAppointment(Appointment);
abstract void scheduleMeeting(Meeting);
abstract void scheduleTask(Task);
abstract void scheduleEvent(Event);
}
"After scheduling and confirming an appointment, the appointment data are entered in an online working copy of the user's calendar."
abstract class Calendar {
abstract void scheduleAppointment(Appointment);
abstract void scheduleMeeting(Meeting);
abstract void scheduleTask(Task);
abstract void scheduleEvent(Event);
Collection<Appointment> data;
}
Collection<ScheduledItem> data;
Figure 2: Monthly calendar view.
import java.util.Collection;
/**
* A MonthlyAgenda contains a small daily view for each day of the month,
* organized in the fashion typical in paper calendars.
*/
class MonthlyAgenda {
FullMonthName name;
DayOfTheWeek firstDay;
int numberOfDays;
Collection<SmallDayView> items;
}
class FullMonthName {
String month;
int year;
}
enum DayOfTheWeek { Sun, Mon, Tue, Wed, Thu, Fri, Sat }
/**
* A SmallDayView has the number of the date and a list of zero or more short
* item descriptions.
*/
class SmallDayView {
int DateNumber;
Collection<BriefItemDescription> items;
}
class BriefItemDescription {
String title;
Time startTime;
Duration duration;
Category category;
}
class Time { /* ... */ }
class Duration { /* ... */ }
class Category { /* ... */ }