EE2.sad > Coursework

The University of Surrey

 EE2.sad:  Coursework


 [ Home | Syllabus | Exercises | Coursework | Exams ]

 [ Design activity | Lab 1: A,B,C | Lab 2: A,B,C | Groups ]
 

Design activity

The group task is to develop the software design for an on-line party invitation system, which is divided into three main stages. They should not take more than 5 hours to complete in total:

  1. initial system design (deadline 12pm Wednesday 24 Sept)
  2. development of design (deadline 12pm Wednesday 8 Oct)
  3. evaluation of final design (deadline 12pm Wednesday 15 Oct)
Check your coursework group and email me if there's any problem.

A wealthy friend of yours is planning to host a big private party to celebrate her 21st birthday, which will include a sit-down meal, disco and DJ in a luxury Surrey hotel. In order to manage exactly who will be there, she has asked you initially to develop a software system to send invitations and record the responses.

For the second stage of the design, it turns out that your friend would like some extra features in the system you are developing:

  • to allow multiple guests to respond to each invitation (e.g., Mr & Mrs Jones),
  • to specify dietary requirements (vegetarian, kosher, halal, vegan, no lactose, no gluten, no nuts),
  • to record partial acceptance (i.e., can attend later so missing the meal),
  • to receive up to 3 music requests for the DJ, and
  • to send out an automatic reminder on the day before the party.

The first stage of the design process is to produce a set of declarations for the main software components of the proposed invitation system. These should specify the most important functions and data structures for the program, with a view to providing a simple design that will be quick to implement. A rough sketch of the main parts of the system may help you to identify these. You should produce 8-12 declarations, which should only take about an hour, and submit them on your group discussion board/blog. As a group you should merge these suggestions to give you the best overall design. When you have agreed on one solution, then one person should submit the group's "initial design" through ULearn (details below).

For the sake of this exercise, we're going to use C's usual syntax to express these. You must give sufficient comments to explain the role of your functions and data structures clearly, probably a bit more than in the examples below, which are taken from one of my own programs to process audio signals:

  • a function declaration:
    /*-----------------------------------------------------------------------*/
        int ReadWaveFile(const char* wavefile, Wave *orig);
    /*                                                                       */
    /* Inputs:    Pointers to file name and Wave stucture.                   */
    /* Output:    Success flag                                               */
    /* Comments:  Reads wave file information into Wave structure in memory  */
    /*-----------------------------------------------------------------------*/
  • a data-structure declaration:
    // Structure for audio waveforms ------------------------------
    typedef struct {
        double *Series;      // time series
        long int Length;     // number of points in the series
        float SamFrq;        // sampling frequency (Hz)
        char *Comment;       // additional remarks
    } Wave;// -----------------------------------------------------

The second stage of the design process will involve a slight change to the specification, and a modification of your design in response. This phase of the software development will design a new version of the system. In addition to the previous requirements, the system now needs to be able to support the new features listed above.

The submission procedure is similar to the first stage: individuals should extend the initial group design and make a posting on the group discussion board, and one member of the group should submit the group's final design for this new system. The final group design should include one drawing that shows how the main parts of the system fit together.

The third stage will entail an evaluation of two other groups' designs through a web-based questionnaire. The combined results from these will be used to assess you and your group's design. The questionnaire is now available. The deadline for its completion is 12pm Wednesday 15 Oct.

Extra help

If you have any other specific questions or problems, you can always email me.



Dept.
[ CVSSP | Dept. | Fac. | Univ. ]

© 2002-8, maintained by Philip Jackson, last updated on 20 Nov 2008.


Faculty