|
|
|
|
|
|
SEG4110 UML Design Assignment and Course project - Fall 2011The following are the two major deliverable work items for the Fall 2011 version of the SEG4110 course. Please see the course syllabus for additional details of marking. In addition, the TA will give you further guidance. Note that there are additional smaller work items you must submit from the various labs.
First major work item in the course: The UML Design AssignmentTo be done individually by each person. No group work or working together. This assignment is worth 11.5% of your final grade. Deadline: Thursday October 13th, 2011 at 11 a.m.. Handed in electronically, according to the directions from the TA. Note that we will be covering the needed OCL and Umple knowledge as the course progresses, but you can start the other aspects of UML modelling by mid September. The deadline is well into the course so you can learn RSM and Umple in the labs. However it is suggested you start as soon as possible sketching the diagram by hand. Then you can do additional iterations when you have done the RSM and Umple labs. Remember, you also have a midterm near the deadline date, so it will be important not to leave this assignment until then, otherwise you will end up doing badly on either the midterm or the assignment. This assignment may take you 10 hours of work, so budget your time carefully. Instructions: Design the infrastructure for an application that can monitor traffic at intersections, and then simulate the effects of changes to intersections. You will create a full UML model with class diagrams, state diagrams, component diagrams and deployment diagrams. You will also create an Umple version and generate code. The high level requirements for the system are as follows: Click here to see the requirements Be as creative as you can. Expand on the requirements somewhat, and then create necessary UML diagrams. You should include a component diagram, class diagrams, state diagrams, a deployment diagram, and a use case diagram. In addition, include an instance diagram showing some sample data. Add OCL statements to enhance your model as much as possible, both to describe class invariants and method preconditions and postconditions. Overall, I would expect to see at 10-15 pages of neat diagrams, including 10 or more OCL statements. Add whatever other text you want to better explain your model. Second major work item in the course: The ProjectThe following are the components of the SEG4110 course project you will need to work on. Clearance for the topic and group members.You should, as soon as possible, form groups of two and request approval of your topic by email to the professor. Remember the topic is first-come-first served. I will not let everybody do 'Ajax' or 'Ruby on Rails', which tend to be the most popular topics. You can propose a topic outside the list of topics given in the syllabus. Proposal (3%) - Due Fri Sep 30 2011, 11 a.m.You must write about the technology you are planning to use, and describe a small technology-demonstration project you will do with this. The TA will give you feedback on the feasibility of your work, and grade you on the extent to which you have demonstrated that you understand the technology you will be using. 5-6 single-spaced pages are expected. You can hand this in earlier to get earlier feedback from the TA. Note that the deadline is very early, and overlaps with your UML design project. It is expected that you will start work on the project before your UML design assignment is handed in. If you do not do this, then you will not have time to do a good first version before the deadline for your initial report below. Initial report (5%) - Due Fri Nov 4, 2011, 11 a.m.Immediately after this deadline, your system will be passed to another group (the 'testing grooup') that will start to test it. There will be absolutely no lateness allowed. If you miss the deadline you will get zero, so be very careful. The reason for the strictness is that the testing group would otherwise be delayed. If you can't get your project to work as nicely as you would have liked, then at least do your best given the time available. Cut features and simplify. Focus on quality. Above all, make sure what you have installs and runs for the other team to be able to do testing. Test it yourselves thoroughly before submission. Here is what is expected: You are going to be providing a version of your work that can be tested by the testing group; the testing group will need to install your work, and figure out how to run it. Their job for the "Testing report of another group's work." (see below) due about a week later will be to try to find as many problems with your work as possible. You therefore need to address the assignment to the other group as well as to the TA. Give the other group as much information as possible about what it does and how to use it. The material you hand in will include:
To hand in your work, put everything into a zip file. The TA will give you further instructions. He will be responsible for sending the work to the testing group. Your mark will be based on the effort you have put into the project, the quality of the testcases and the quality of the user manual. Only 40% of your mark will be on the quality of the system itelf, since you will be marked again on that later when you submit your final report. Specific environments:If the system will only work in a special environment (i.e. a specific set of computers in the SITE building), then the originating group may need to physically go there at times suitable to the testing group. If the originating group doesn't set up the special environment properly to help the testing group they will lose marks from their 'Initial Report' assignment. Regardless of what happens, the testing group needs to be left alone by the originating group so the testing can be done independently. One solution to the problem of 'special environments' would be for the originating group to set up everything, including code, on the Internet in a hosted environment. The testers do not need to install anything. They just have to go to the URL you specify and use the system -- and use 'show source' to see code. If the originating team does this, they should make sure they start all required servers, and make sure there is a mechanism to re-start them if they crash, hang, or get into some other kind of error state. For testing web services you can provide special-purpose pages, that allow the testers to enter data to be passed to the web service (i.e. so the service can be tested indepenent of the application as a whole).
Testing report of another group's work (4%), Due Wed Nov 16 2011, 11 a.m.You will be testing another group's work, and it will be available to you as of Nov 7th. If any originating group didn't submit their 'Initial Report' (and hence got zero), then one group's work might be sent to multiple groups. Where possible the testing group will receive work from an originating group that did something very different from what the testing group created. Your job for the testing report is to provide a thorough test of the originating group's work by the deadline. Again you will send your results back to the TA, who will immediately after the Nov 16th deadline re-distribute the results back to the originating group to help improve their system. And again, missing the deadline will result in zero ... no exceptions and no extensions possible. If you can't get the system you are given to work (e.g. installation doesn't work or it always crashes on almost all testcases) , you are allowed to communicate to the originating group. But do not communicate with them in other cases -- just raise a problem report (see below). Problem reportsYour report should consist of a series of problem reports. Each problem report should be as follows:
In addition, include a cover page describing the overall experience doing this testing. Feel free to suggest any improvements you can think of. Howver, don't suggest enhancements that would obviously require an excessive amount of work. You will be marked based on the effort you applied into testing and the quality of your recommendations. If you are given a particularly bad project to test, you will be expected to report primarily severity 1 and 2 problems, since you will not have time to get to the severity 3 problems. Overall, I would expect you to spend an hour per person setting up and familiarizing yourself with the system and about 3-4 hours per person on the testing and report writing. Presentations in class and in lab time slots (8%)These will be held December 5th and 7th (and possibly other dates a little earlier), with individual group demo times to be announced by the TA or the professor: Guidelines for the presentationsYou should give a presentation about your project and a demonstration of your system at work. Normally the demonstration should be live. However, remember that you will not have much time to set up. You can do the demo on the classroom computer; if so you will have 2 minutes to install anything you need before class (you must come early). Alternatively you may demo using a laptop that you plug in to the overhead projector. If you have special requirements, e.g. complicated setup, multiple computers, special hardware, etc., then you may create a video of your demo that you explain live. However, please email the professor and the TA for personal permission to do this. The presentation, including the demonstration, should take no more than 30 minutes and should show off interesting aspects of your work. For the presentation component, you should spend about 13 minutes explaining lessons you learned from your work that you think the class, the professor and the TA would benefit from knowing. Prepare 4-5 powerpoint slides. The presentation should in general come after the demonstration, although you may need to show one slide before the demo to explain the context., Any text on your slides should be at least 20 point font; text of code can be 16 point font or larger. Make sure you do not duplicate material the professor presented in class or the TA presented in the labs (you will lose marks if you do), so please check with the course notes first. Some of the things you might talk about briefly include:
All group members must participate, so perhaps one could give the demo and another the presentation. You could even split the presentation between two people. You should leave about 2 minutes at the end for questions. I will be very strict cutting you off if you exceed your time budget for your demo. Here is the marking scheme.
As a reminder: Come early to set up. It would be best if most groups have everything on a laptop. If you bring materials to class, and expect to install them before class, I strongly suggest you use a 'memory stick'. Don't panic if your demo crashes. Do your best. I will be lenient, especially for the first group. Final report (10%)Due: Wednesday, Dec 7th, at 7 p.m. Note that this deadline is also in the day of some of the presentation/demos. Essentially, you should have finished the work by the time of the presentation/demo. Here are the deliverables
Last update to this page: Wednesday, 03-Aug-2011 15:29:34 EDT |