Software Engineering Project Assignment 1:
Project specification and gui design

The purpose of these assignments is to simulate the client - programmer relationship.  I, the instructor will play the role of client and you will play the role of programmer.   Consequently the project is composed of several assignments representing the different stages of program design and development. The assignments also represent the different discussions/meeting you would have with a client.

Lectures before each assignments are mean to prepare you for the assignments and give you an idea of what is expected.

Client Program Specification:

My goal is to publish a web page, called Trip Planner.  The customer will be able to browse a map, specific a trip by listing cities and roads,  or request directions for a  route from an origin city to a destination city.    The map  is composed of cities and hiways.

Cities have names and Highways have names and distances between cities.

User of trip planner should be able to:

Assignment:
At the first reading of the project description it may seem complete, but on more consideration and while you design the program you will discover that it is incomplete.

For this first assignment you shourl write your own project specification which is more specific.  As the client I am not interested in programming details, I expect you to take care of that, but I am very interested in how the trip planner looks and reacts.  So your project specification should include use-cases  and drawings of what the web site looks like.  The use-case description should refer to the drawings.

You may add extra features to your specification, but then I, the client, will expect them. If features are good and you are successful in implementing them then I will be happy and award you more.  If the features are bad or you are unsuccessful implementing them then I will be disappointed and not pay you extra.  You may add extra features during any time of the project.

Submit on paper and turn in class on the due date (make copies for your self and put the original in a folder):