Software Engineering


Demo #1 -- Iteration 1(c) --  (date listed here)


This demo should show your interim accomplishments. The main criteria in grading the demo will be the complexity and quality of the software product. It should implement non-trivial behavior and run without or with minimum crashing.

After this demo, you should pause and reconsider your project objectives. Do you believe that you can accomplish all the goals you set out to accomplish by the end of the semester? Are you falling behind the schedule? Should you scale down the project? Should you simplify or entirely remove some use cases? Conversely, if you feel that things are going smoothly, perhaps you should expand the system features? Perhaps your project currently is not ambitious enough?

1.   Product Brochure

Each team should bring to the demo a one-to-two-pages advertising leaflet providing basic descriptive information about the software product they developed. No more than two (2) pages are allowed! At the least, the brochure should include the group number and members’ names, project title, project webpage URL, the list of features and short description of each feature, system requirements to run the system, etc. A block diagram of the system and some screen snapshots could be useful, too. Please keep in mind that this is a marketing brochure, not a technical document.

2.   Demo Format

The key part of the demo should be spent in demoing the software product. Do not waste too much time on non-essential features of your product, such as login, user authentication, and creating new user accounts (we see this all the time and it’s boring to see it anew). Create some user accounts before the demo, so you can use the existing accounts to demonstrate the system functionality. Explaining how login works is like advertising that a car has a steering wheel. Of course steering wheel is critical, but what kind of a car is that if you need to advertise this fact and state the obvious?! Your most important concern should be to show the essential and unique functions of your product, not those that are assumed by default.

The demo format is as follows:

  1. Use up to five (5) slides to give a short overview of the product—who and what it is for
  2. Use live demonstration to show the features/functions that you implemented so far:
    1. Briefly describe what the function does
    2. Demonstrate a scenario of how the user uses it
    3. During the demonstration, highlight important aspects, such as user interface design, any data processing at the application’s back-end, etc.
  3. Briefly outline your plan for the rest of the semester—what new features are you planning to have ready by the final demo. Use one (1) slide only.

Please keep in mind that this should be a technical demonstration, not a marketing pitch. If your application uses a database, prepare several example records before the actual demo, so you can focus on essential features during the demo. We don’t want to see how you create another user profile or manage user accounts.
Likewise, if your system offers different services to different user types, create profiles for different user types before the actual demo. During the demo, focus on the services offered to these users.

You want to impress the audience that:

Plan well in advance, so you can avoid disaster scenarios:

3.   Demo Schedule

The Demo Room is at D-110 ( EIT lab ), Engineering Building D-Wing.   (EIT reservation schedule)
We will have a very large touch screen for the demo purpose. However, we do not want anyone to touch the screen with dirty hands. We should avoid any contamination to the screen. Please wash your hands before you enter the computer lab at D110. Any food or drink is strictly forbidden in this lab. We also have a huge projection screen which can show your work to everybody. The operating systems are Windows and Linux. (Check details about the available software on the EIT lab home page.)

Students are required to test their demos before the actual demo. In the past there were issues with software versions. You can bring your own laptop but contact the TA to arrange about network connections. An alternative is to bring your own laptop/notebook and connect to the projectors. If you’re using your own laptop to project the slides and run your software, please ensure that the video connector is compatible with the cables in the lab before the actual demo.

If you have preferences for the demo slot, please email the TA ASAP requesting a time slot for you to give the demo (the slots will be assigned on a first come first served basis). Otherwise we will assign you randomly to one of the remaining slots. When contacting the TA, put the request title in the subject line and indicate the group number for which the reservation is being made so to speed up the work.
This table shows the current demo reservation schedule.

The demo should last no more than 18 minutes. Make sure your demo is ready before it starts; as you can see, the schedule is tight and we’ll not be able to wait until you get ready. See the TA before the demo if you need help with installing and trying it on the lab machines.

NOTE: It is required that all group members be present for the demo and each member takes part. Although you are not required to attend other groups’ demos, it is a good idea that you do so to see how other students present their work and to compare your progress with that of others.

4.   Grading

Make sure to email us the breakdown of individual contributions immediately after the demo.

See also the grading policy for the assigning the overall team grade vs. grades for the individual members.

The demo will be graded as follows:
Aspect
Points
Explanation
Functionality /
Task complexity
15 Emphasize the key functions of your system, what are they useful for.
Show that this is a non-trivial project that required a team of smart
students working for a full semester. (Functions such as login and
user registration are not very interesting.)
Programming, not
webpage design
15 You must convince us that programming has been central for your
project development and webpage design has only been ancillary.
In addition to regular programming languages (C, C++, Java, C#),
programming includes dynamic websites and webpages using
PHP, JSP, JavaScript, AJAX, etc.
Software
reliability
10 “Software reliability” means that your software runs without crashing
and, generally, it does not display unintended behavior or bugs.
Presentation
quality
10 Impress the audience that you have developed a useful, non-trivial product,
that only a highly trained software engineer can do.
User Interface /
Ease of use
10 “Ease-of-use of the user interface” should not be confused with a flashy
interface. On the contrary, you should avoid flashy user interfaces.
“Ease-of-use” means that interface is easy to understand and operate and
allows the user to accomplish the task with a minimum effort (see here
about estimating user effort).
A minimal user interface that is well organized should be sufficient.
Novelty/
Usefulness
10 Demonstrate that you have invented at least something, some part
of your product, rather than plainly copying an existing idea.
Product
brochure
5 Informativeness and general appearance of the product brochure.
Total
points
     75

NOTE: Please keep in mind that the grades are assigned competitively, i.e., the group that is perceived as the best receives 100 % and the others are scaled relatively to this.


BACK TO:

Ivan Marsic
Sun Feb 27 17:06:47 EST 2005