Report #1: SYSTEM SPECIFICATION Iteration 1(a) (due date given here)
Note: Keep this report for future reference since it will become part of the final report (Report #3). Thus, as you progress through the semester, take every opportunity to revise, update and/or correct it.
The report must contain the following section. Each section should be clearly delineated, with its own heading and pagination. The sections should be numbered as below, to facilitate the grading process.
A minimum 3-page customer statement of requirements is
required, see item #3 above. This should describe informally,
without the use-case jargon, motivation for your project, what
kind of problem you are solving, and how this problem is solved in the
current practice (before your proposed system gets deployed). Use the
application domain language and terminology, i.e., the language
familiar to your target users, and avoid technical jargon. Utilize
charts, illustrations, and screen mock-ups to make it easier for the
reader to understand the problem. Provide references (books, papers,
websites) where to find more information or see existing solutions.
Examples are given in Section 1.5 of class lecture notes.
Enumerate all the requirements at the end of this
section. Each requirement should briefly state what the user should
be able to do using the system or what the system should do
automatically, e.g., at periodic intervals.
Also see Appendix A: User Effort Estimation
There is no limit on the number of pages for the
report. Of course, you should avoid stuffing your report with
redundant or irrelevant material. The report must be
self-contained; the grader should not need to read any other
material to read and understand the report. You should provide as
much details as possible (particularly in the use case scenarios and
the domain model), but these are business details, i.e., how
the user typically interacts with the system to obtain the
service. You should not go into software details of
how you plan to build this system.
(The latter will be part of Report #2.)
Brevity is good because it will be easier for you to create a
professionally looking technical reportit is easier to
maintain consistency, clarity, and readability for shorter
reports.
Check also: 10+ ways
to reduce wordiness in your writing (TechRepublic)when you
streamline your wording, your message becomes more powerful and clear.
Do not just show the UML diagramsprovide some narrative! Unfortunately, diagrams, particularly technical diagrams, are rarely if ever self-explanatory. You should document the alternative solutions that you considered as well as the arguments for the final choice. Diagrams only represent your final solution, but do not explain why you decided on this solutions and what alternatives were considered. Hence, all diagrams must be accompanied with explanation and discussion of alternatives and tradeoffs. Anything that could lead to ambiguity or misunderstanding on the reviewers part, should be clearly explained. Explanations should be written in prose and key arguments highlighted in bullet points. Use the terminology from the textbook and the lecture notesthis is important so to facilitate the report grading and reassure the grader that you are studying the textbook and you understand it.
The phrase few-most-important-use-cases used above is not meant to discourage you from documenting all the use cases in full detail. If you have enough time to do it allgo for it! But, be carefull not to get overextended and end up not being able to meet the deadline. Remember, in the spirit of agile methods: Do the best you can in the time available and hand in your report on time.
The above list gives only the main required items for this project
report. It is absolutely necessary that you read and understand the
relevant materials in the class lecture
notes in order to be able to prepare a good project
report. Check also Requirements
analysis @ Wikipedia.
Also, IEEE Recommended Practice for Software Requirements
Specifications contains (in the appendix) several sample outlines
for the description of specific requirements: IEEE Std
830-1993 (Superseded by IEEE Std 828-1998).
Check also the new IEEE Recommended Practice for Software
Requirements Specifications:
IEEE Std 830-1998 (Revision of IEEE Std 830-1993)
All teams must include in their reports a table showing effort breakdown. This activity has two purposes:
| Note: See point allocations in the table below. | ||||||
| Member 1 | Member 2 | Member 3 | Member 4 | Member 5 | ||
| Res pon sibi lity lev els |
Project management (10 points) | 70 % | 20 % | 10 % | ||
| Sec.3: Customer Statement of Requirements (6 points) | 50 % | 20 % | 30 % | |||
| Sec.4: Glossary of Terms (4 points) | 100 % | |||||
| Sec.5: Functional Requirements Specification (37 points) | 60 % | 10 % | 10 % | 20 % | ||
| Sec.6: Nonfunctional Requirements (6 points) | 100 % | |||||
| Sec.7: Domain Analysis (25points) | 20 % | 80 % | ||||
| Sec.8: User Interface Design (8 points) | 100 % | |||||
| Sec.9: Plan of Work (3 points) | 100 % | |||||
| Sec.10: References (1 point) | 100 % | |||||
The values in each row must add up to 100 %. The values in each column will give us the responsibility levels for individual team members, as follows. If we multiply the percentages for individual team members with total number of points, we will know how many points each member can potentially earn. For instance, Member 1 in the above example can earn a maximum of:

From this chart, we can easily see that the responsibility allocation in the example scenario is not well balanced across the team members. Ideally, all members should take on approximately equal level of responsibility. Hence, in the above scenario, Members 1 and 3 should take on greater responsibility levels and Members 2 and 4 should reduce their responsibility levels.
The report should be prepared on computer (special negative points for handwriting and hand-drawn figures). Using a software tool is mandatory for producing this report. Hand-drawn diagrams are not acceptable. Read the supplementary textbook ( Miles & Hamilton: Learning UML 2.0 ) for details on UML notation. Here are some options for software tools that support UML design:
http://www.omondo.com/ (Academic License available
for free)http://www.eclipse.org/http://argouml.tigris.org/ http://www.rational.com/tryit/index.jsp http://www.microgold.com/ You should start implementing at least some functions of your
system immediately. This code will help you to better specify
and design your system. You should not wait until after submitting
Report #2 to start with codingthe first
demo is not that far away!
Check about the departmental
resources here.
A note about mock up screens for the user
interface.
Keep in mind that you do not need to program in a
programming language in order to start generating mock up screens for
your system. The idea of mock up screens is that you generate them in
PowerPoint or another graphics editor, not in a programming
language.
However, do not report about the pilot implementations in this
report. The first time we expect you to report about the
implementation is in the first demo.
5. Grading
See also the grading policy for the assigning the overall team grade vs. grades for the individual members.
The reports will be graded as follows:
(NOTE: Check also the actual
grading sheet.)
| Aspect | Cust. req. stat. | Glos sary |
|
Sys. seq. diag |
Nonfct. req'ts FURPS+ |
(incl. description!) | Cont racts |
User i'face | Plan of wrk | Ref's | Extra effort |
|||||||
| Stake hold. | Actors | Goals | Use c. casual descr. | Use c full descr. | Use case diag |
Conc epts | Assoc | Attrib | ||||||||||
| Points | 6 | 4 | 2 | 2 | 4 | 5 | 11 | 4 | 9 | 6 | 12 | 4 | 3 | 6 | 8 | 3 | 1 | 10 |
| Total points | 100 | |||||||||||||||||
IMPORTANT NOTE:
It is not enough only to meet the listed requirements to receive the maximum grade. For example, having a perfect report for a trivial project will result in a very low overall grade. Thus, the overall quality and functionality of the project is the key scaling factor for all other aspects of the grade.The extra effort part of the grade is hard to quantify; it is essentially what you do more than the minimum required abovehow far you go beyond the call of duty. It also includes the general appearance of the report and the overall impression about the envisioned product and your creativity and current progress. Some indications of how extra points will be assigned are given in the actual grading sheet. You should demonstrate extra effort to receive 100% the total score for this report.
These are key ingredients of a successful report:
Each team should submit only one report to the TA. Email a PDF document of the report both to the instructor and the TA on or before the due date. Also, the report should be posted for download on your project website.
Submission deadline: 5:00 p.m. on the due date.