Software Design Specification

Das Auto Programming Quiz 01/17/14

Name:Computer Science:AMPM Date:

(Not Required, but you may fill-in-the-blanks and use this page as notes and documentation)

  1. Your name and date copyright notice as comments at the top of the VB.NET program
  1. Summary: Project Name – dasAuto
  2. Design and program a VB.NET Object-Oriented Project to keep track of and control a car’s direction and speed
  3. Save the project to your “Z:\vbNet_css##\” folder named dasAuto
  1. Definitions:
  2. Direction – the distance the car is pointing, in degrees 0 to 360, an Integer number
  3. 0 (or 360) both point due North, 90 is East, 180 is South, 270 is West
  4. Direction may be changed in increments of 15 degrees
  5. Speed – a measurement of velocity of travel in mph (miles per hour), an Integer number
  6. Speed is between 0 mph and infinity (in retrospect, this may not be a really good idea)
  7. Do not allow the car velocity to fall below 0
  1. Requirements:
  2. The initial direction is North (0 degrees)
  3. The initial speed is 0 (not moving)
  4. The user can control direction:
  5. The initial direction is due North (0 degrees)
  6. The user can turn right 45 degrees
  7. If, when turning right, the direction reaches 360, change it to 0
  8. The user can turn left 45 degrees
  9. If, when turning left, the direction reaches 0, change it to 360
  10. The user can control speed:
  11. The initial starting speed is 0 (not moving)
  12. To accelerate, increase speed by 10
  13. To decelerating, decrease speed by 10
  14. Do not allow the speed to fall below 0
  15. You MUST display current direction and speed to the user after each change
  1. Extras:
  2. How will you display direction and control?
  3. How will you allow the user to control direction and speed?
  4. What can you add to improve the program?
  1. How each requirement will be achieved:
  2. Program works, uses Object-Orientation, has one class, includes a way for the user to control direction and speed = 80 points (C)
  3. Nicely designed GUI = additional 10 points (B)
  4. Anything else = additional 10 points (A)
  1. Assumptions:
  2. The project MUST be Object-Oriented and have (at least) one class
  3. The project MUST have user controls to change direction and speed
  4. The class definition MUST:
  5. Have local attribute property variables
  6. Have a New() constructor behavior method routine
  7. Have “set” and “get” behavior method routines
  1. Standard languages and tools:
  2. VB.NET 2010 or 2008
  3. Wintel (Windows/Intel) based personal computer
  1. Definitions of variables and a description of where they are used:
  2. Class attribute property variable to hold direction
  3. Class attribute property variable to hold speed
  1. Logical structure and logical processing steps:
  2. User-generated event to Exit
  3. User-generated event to Turn Right
  4. User-generated event to Turn Left
  5. User-generated event to Accelerate
  6. User-generated event to Decelerate
  1. Performance: Sample Input:

Event / Direction / Speed
Start / 0 / 0
Accelerate / 0 / 10
Turn Right / 45 / 10
Accelerate / 45 / 20
Turn Left / 0 / 20
Decelerate / 0 / 10
Decelerate / 0 / 0
Decelerate / 0 / 0
  1. Reliability:
  2. Try any expected exceptions
  3. Catch any errors and display a useful (and clean) error message
  1. Questions and Answers: