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 { /* ... */ }