software engineering _ current students _ policies and guidelines _ work report guidelines
TRANSCRIPT
-
7/31/2019 Software Engineering _ Current Students _ Policies and Guidelines _ Work Report Guidelines
1/14
16/12 software engineering > current students > policies and guidelines > work report guidelines
ww.softeng.uwaterloo.ca/Current/work_report_guidelines.htm
Copyright 2001 University of Waterloo. All rights reserved.
software engineering > current students > policies and guidelines >
work report guidelines
introduction evaluation: technical content
report topics sophistication of the analysis or synthesis
confidential final mark
self-study reports clearing failed reports
report format references
evaluation: technical communication wkrpt coordinator
sample reports:example 1, example 2
1. introductionWe use work-term reports to evaluate both your engineering judgment and your writing skills. A
satisfactory report is one that (1) describes sound engineering judgment that you used to solve an
analysis problem or a synthesis (i.e., design) problem, and (2) is structured and written in such a
manner that your ideas and recommendations are clear, concise, and convincing. You are likely a
highly skilled software designer, architect, or analyst; but if you cannot communicate your ideas or
concerns effectively to others on your project team, or to your managers, then your ideas will not be
realized in the final product.
As a Software Engineering student, you must submit a work-term report at the start of your 2B, 3B,
and 4A academic terms - regardless of your co-op employment status during the previous work term
You should submit your report electronically on UW Learn -- http://learn.uwaterloo.ca/ . Look for your
Work Term Report course, and for the drop box within there. Only your latest submission is retained;any prior submissions are overwritten with the latest submission.
The deadline for submission is 11:59 PM, 7 days after the start of term. For example, if the term star
on Monday, Sept 12, 2050, the deadline for submission is 11:59 PM, Monday, Sept 19, 2050.
One of the most important instructions is that PDF is the only acceptable format for your report.
A late submission will receive a failing mark, and will be marked the following term. Normally, reports
will be marked four weeks before the end of the term. You will be notified via email when your report
ready to be picked up.
Each work-term report is evaluated based on three criteria: checklist, communication, and technical
content. Checklist marking determines whether the report adheres to the SE work-term-report formaTechnical-communication marking evaluates the writing in the report, with respect to structure, clarity
and grammar. Technical-content marking evaluates whether the report supports its ideas and
decisions with sound engineering judgment. There are awards for top work-term reports, which are
sponsored by the Sandford Fleming Foundation and various companies.
This document describes the requirements for work-term reports submitted by Software Engineering
students. It borrows from the E&CE Work Term Report Guidelines [1] ) and the Faculty of
Mathematics Work Report Guidelines [2] ). Co-operative Education and Career Services produces
booklet , which describes the policies and regulations that apply to students enrolled in co-op
education programs, and which includes a chapter on work-term-report guidelines. This document
supersedes these other documents, with respect to guidelines and requirements for Software
-
-
7/31/2019 Software Engineering _ Current Students _ Policies and Guidelines _ Work Report Guidelines
2/14
16/12 software engineering > current students > policies and guidelines > work report guidelines
ww.softeng.uwaterloo.ca/Current/work_report_guidelines.htm
.
The rest of this document is organized as follows. Section 2 discusses appropriate report topics, wit
an emphasis on the contents of, and the differences between, analysis and synthesis reports. Sectio
3 discusses confidential reports and self-study reports. Section 4 presents the formatting
requirements for SE work-term reports. Section 5 describes how technical-communication markers
evaluate reports, and summarizes the possible outcomes of technical-communication marking.
Section 6 describes our expectations regarding the technical content of SE work-term reports, and
how these expectations change as you progress through the program. It also summarizes the
possible outcomes of technical-content marking. Section 7 concludes this document by explaining
how final marks are assigned.
2. report topicA software-engineering work-term report is a technical document that describes an analysis of a
software-engineering problem or a design solution. A software-engineering problem is a software-
related problem in a specific context. For example, the following problems, often phrased as "Which
is better" problems, are context free and are therefore unacceptable report topics:
C verses Java
32-bit computing verses 64-bit computing
MS SQL Server verses MySQL
Algorithm A verses algorithm B
To be considered software-engineering problems, these questions need to be considered in the
context of a particular application, accounting for factors such as the type of data being processed,
the target computing resources, the skills of the development team, and so on. For example, whethe
C is the better choice of programming language than Java depends on several factors. Is the
application a device driver or a financial application? Does system performance or programmer
productivity have higher priority? What distinguishes a software-engineering problem from a genera
software-related problem is the context in which the solution will be developed or deployed. The
following variations of the above problems are acceptable report topics that were chosen by student
in previous terms:
Which language should be used for the Internet communications project?Should the next-generation ice-modelling algorithms be implemented on 32- or 64-bit
computers?
Which database should be used for organizing Orientation Week?
Which encoding method, Fourier or wavelet, should be used for edge detection in tracking an
image?
In general, a software-engineering problem's context describes the environment in which the softwar
will be developed or deployed. The context includes design constraints , which distinguish between
acceptable and unacceptable solutions (e.g., the software must run on a Mac OS platform, the proje
must be completed within 100 days, the software module must integrate into existing code,
responses to input must be within 2 seconds). The context also includes design criteria , which areproperties that discriminate better solutions from worse solutions (e.g., maintainability of the softwar
ease of use, cost of development, time to market). A recommended solution must satisfy all of the
design constraints. It should also optimize as many of the design criteria as possible. Thus, the
design criteria can be used to compare among acceptable solutions.
A work-term report can be either an analysis or a synthesis report, and it usually pertains to a specif
software-engineering problem that you encountered on your work term. Both types of reports follow a
similar outline: (1) a description of the problem , (2) a description of your solution to the problem, and
(3) justifications of the decisions or recommendations that you made in the course of deriving your
solution. For example, an analysis report describes an in-depth investigation of a software-
engineering problem, or of a software-engineering decision to be made. It includes the following
information:
-
7/31/2019 Software Engineering _ Current Students _ Policies and Guidelines _ Work Report Guidelines
3/14
16/12 software engineering > current students > policies and guidelines > work report guidelines
ww.softeng.uwaterloo.ca/Current/work_report_guidelines.htm
1. Problem: A choice to be made among alternatives (e.g., a choice between using C or Java o
a specific project), or an analysis of an existing problem (e.g., an evaluation of the speedup
realized by the hotspot optimization in a specific Sun Java interpreter). The description
includes the context of the problem (e.g., the application domain, the background of the proje
team, the environment in which the final product will be placed) and the design constraints an
design criteria that are used to evaluate choices.
2. Solution: Your recommendations.
3. Justification: The data on which you based your recommendations. The justification includes comparison preferably a quantitative comparison of alternatives with respect to the specific
problem and the particular usage.
In contrast, a synthesis report describes design work. It includes the following information:
1. Problem: A summary of a requirement that is not being met, a problem that needs to be
solved, or a product to be developed. The description of the problem includes functionality or
services that the solution should provide, as well as the design constraints and design criteria
for evaluating and deciding among proposed solutions.
2. Solution: Your recommended design or solution.
3. Justification: An explanation of how your design or solution satisfies the need or solves the
problem. The justification includes alternative solutions that were considered and explains whthe proposed design or solution is the best fit with respect to the design constraints and the
design criteria.
In the above, "justification" does not mean trying to persuade the reader to accept your solution or
your recommendations. Your justification, and your report in general, should be a professional and
objective description of the decisions you made and the data on which you made your decisions. In
this respect, "professionalism" and "ethical reporting" is about fully disclosing all data available to
you, whether or not the data support your decisions or recommendations. Much of engineering work
is about using judgment to make decisions or recommendations in the presence of incomplete
information or conflicting goals. In such cases, a report's justification might include the assumptions
you made regarding incomplete knowledge; or it might include a trade-off analysis that assesses the
degree to which different alternatives satisfy various goals, and the relative importance of those
goals.
A work-term report should not read like a tutorial (e.g., what is .NET and how does it enforce security
It should not read like a user's manual, a marketing document, or any other company-related
document that has been extended to be a work-term report. It should not be a chronological
description of how you created a product. We are not looking for a comprehensive report of
everything that you did on your work term; more specifically, we are not looking for quantity of
accomplishments. What we are looking for is your ability to recognize, document, and explain a
design or software-engineering decision.
Confidential Reports
We recommend that you discuss your work-term report with your employer about half way into your
work term. Every SE work-term report is read by two markers: a technical-communication marker an
a technical-content marker. Once marked, the reports are returned to the students. We do not take
copies of the reports nor do we allow our markers to do so. If an employer is concerned about
confidentiality the reports can be placed in envelopes marked "SE-confidential" when they are
passed among markers. In that way, the markers know to handle the reports' contents carefully. As
such, we recommend that (1) you strive to extract from your work-term experience some software-
engineering problem that you had to solve, and that (2) you abstract or anonymize the problem and
your solution, so that your report does not include any company confidential information. Our markers
do not sign non-disclosure agreements (NDAs).
If these measures do not satisfy the employer, then in special cases the SE work term report
-
7/31/2019 Software Engineering _ Current Students _ Policies and Guidelines _ Work Report Guidelines
4/14
16/12 software engineering > current students > policies and guidelines > work report guidelines
ww.softeng.uwaterloo.ca/Current/work_report_guidelines.htm
coordinator may allow the report to be marked by the employer. In these cases the marker should be
a professional engineer and only one such employer-marked report is allowed per student.
Self-study Reports
If your work-term experience is not a good basis for a work-term report, you may choose to submit a
self-study report on a topic, of your choice, that is related to a specific software-engineering problem
The structure and content of a self-study report is similar to that of a regular work-term report, in that
can be an analysis or synthesis report. It describes (1) a problem and the context, constraints, and
acceptance criteria of the problem; (2) your solution to the problem; and (3) the justification for your
solution. The only difference between a regular work-term report and a self-study report is in the letteof submittal: the author of a regular report would describe how the report topic relates to the author's
work-term experience, whereas the author of a self-study would describe the report as a self-study
report. A student may submit at most one self-study report during his or her academic career.
3. report formatIIn general, there is no single standardized format for software-related technical reports. However,
many businesses establish company-wide standards for structuring documents. Such standards hel
the author to ensure that his or her document is complete, and help the reader to find information
within the document quickly.
The following guidelines, expressed also in the SE Work-term-report Checklist , specify the formattin
standards that Software Engineering students follow when writing work-term reports. The checklist isnot a comprehensive list of all the requirements for your report's structure and contents. Rather, it is a
list of formatting requirements that, taken together, help to ensure that your report looks professional
and is easy to use as a reference document. The checklist requirements enable the communication
marker to determine objectively whether a report meets the formatting requirements.
Report Structure
A work-term report is made up of three parts: front matter, main body, back matter. The front matter
the report consists of all the pages that precede the report's introduction. It includes the front cover,
the title page, the letter of submittal, the executive summary, the table of contents, and the lists of
figures and tables, laid out that order:
CoversThe report is bound, with a clear plastic front cover (so that the Title Page can double as the front
cover) and a dark coloured (e.g., navy, maroon, black) opaque back cover.
Title Page
The Title Page contains the following information: university and program names, title of report, nam
and location of employer, student's name, student's id number, student's userid, student's previous
academic term, completion date of report, and SE-confidential if a confidential report . Here's an
example:
UNIVERSITY OF WATERLOO
Software Engineering
Data Structures for Modelling and Analyzing State-Machine Executions
-
7/31/2019 Software Engineering _ Current Students _ Policies and Guidelines _ Work Report Guidelines
5/14
16/12 software engineering > current students > policies and guidelines > work report guidelines
ww.softeng.uwaterloo.ca/Current/work_report_guidelines.htm
Verisoft, Inc.
Waterloo, ON N2L 3T8
Prepared by
Sally Niu
Student ID: 12345678
Userid: [email protected]
3A Software Engineering
September 13, 2005
Letter of Submittal (Cover letter)
The Letter of Submittal resembles a letter that, in a work setting, would accompany the report when
is sent to a client, or to whomever requested the work being reported. We require that the Letter of
Submittal be inserted into your report, so that it does not become separated from the report during
marking. The Letter of Submittal is in standard business-letter format, as described in [3] , and is
addressed to the Director of the Software Engineering Program. It contains the following information
in the following order:
SE-confidential if a confidential report
Report title
Report number
Your previous academic term
Name of employer
Department(s) you worked for
Description of your co-op job (1-3 sentences)
Description of the report topic and how it relates to your co-op job (1-3 sentences)
Acknowledgement of assistance
Declaration statement of the form I hereby confirm that I have received no help, other than wha
is mentioned above, in writing this report. I also confirm this report has not been previously
submitted for academic credit at this or any other academic institution.
Student's name, student id, and signature
Here is an example, adapted from the ECE Work-term report guidelines [1] :
home_address
September 13, 2005
-
7/31/2019 Software Engineering _ Current Students _ Policies and Guidelines _ Work Report Guidelines
6/14
16/12 software engineering > current students > policies and guidelines > work report guidelines
ww.softeng.uwaterloo.ca/Current/work_report_guidelines.htm
director_of_SE, Director
Software Engineering
University of Waterloo
Waterloo, ON N2L 3G1
Dear Madam (or Sir):
This report, entitled "Data Structures for Modelling and Analyzing State-Machine Executions," is my
first work-term report. It is based on my 2A co-op experience, working for Verisoft, Inc.
Verisoft produces software tools that semi-automatically verify properties of state-machine models o
software systems. I was employed in the Research Department, which is responsible for extending
these tools to work with new modelling notations. During the course of my co-op employment, I
helped to design, implement, and test a version of Verisoft's model-exploration tool to work with a
modelling notation used by one of Verisoft's customers.
This report analyzes different data-structure designs for representing a state-machine model, and
investigates the space and time complexity of these designs with respect to operations performed
on the model during verification. This analysis problem is similar to one that I encountered on my
work term. However, the data-structure designs and verification operations described in this report
have been modified from those with which I worked, to protect proprietary design decisions.
I would like to thank my supervisor, Dr. Marsha Checkik, for helping me to understand automated
verification, and for providing valuable advice and resources. I also wish to thank Mr. Patrice
Godefroid for proofreading my report and improving its appearance. I hereby confirm that I received
no help, other than what is mentioned above, in writing this report. I also confirm that this report has
not been previously submitted for academic credit at this or any other academic institution.
Sincerely,
signature
Sally Niu
Student ID: 12345678
Table of Contents
The Table of Contents appears on a separate page and contains an entry for each report-body
section and subsection, each item in the front matter (except for the Title Page and the Letter ofSubmittal ), and each item in the back matter. The entry titles of numbered entries (e.g., report
sections, appendices) include the entry numbers. Entry titles are left justified, indented per section
level (i.e., subsections indented within sections), and dot-filled to the corresponding page number,
which is right justified. Here is an example:
Table of Contents
-
7/31/2019 Software Engineering _ Current Students _ Policies and Guidelines _ Work Report Guidelines
7/14
16/12 software engineering > current students > policies and guidelines > work report guidelines
ww.softeng.uwaterloo.ca/Current/work_report_guidelines.htm
ag
Executive Summary.................................................................................................................
Table of Contents.....................................................................................................................
List of Figures........................................................................................................................
List of Tables...........................................................................................................................
1. Introduction.........................................................................................................................
2. Automated Verification.........................................................................................................
3. Data Structures for Modelling State Machines........................................................................
4. Performance Analysis..........................................................................................................
4.1 Space Complexity.......................................................................................................
4.2 Time Complexity........................................................................................................1
5. Conclusions.......................................................................................................................1
6. Recommendations..............................................................................................................1
Acknowledgements.................................................................................................................1
References.............................................................................................................................1
Glossary................................................................................................................................17
Appendix A - Detailed Space Complexity Analysis.....................................................................1
Appendix B - Detailed Time Complexity Analysis.......................................................................2
iv
List of Figures
The List of Figures , if applicable, appears on a separate page and contains an entry for each figure
that appears in the main body of the report or in an appendix. There is no minimum or maximum
number of figures required for the report. Rather, the technical-content marker will evaluate whether
the report's information is represented appropriately in figures, in tables, or as text. The List of
Figures' entry titles are left justified and dot-filled to the corresponding page number, which is right
justified.
List of Tables
The List of Tables , if applicable, appears on a separate page and contains an entry for each table
that appears in the main body of the report or in an appendix. There is no minimum or maximum
number of tables required for the report. Rather, the technical-content marker will evaluate whether th
report's information is represented appropriately in figures, in tables, or as text. The List of Tables'
entry titles are left justified and dot-filled to the corresponding page number, which is right justified.
The main body of the report consists of the introduction, the sections and subsections of the report,
the conclusions, and the recommendations. The length of the main body is between 10 and 20 pagelong. The main body is divided into numbered sections and subsections. Information about the
contents of these sections is found in the Technical Content section of these guidelines.
The back matter of the report consists of all the pages that follow the report's recommendations
section, including the references, acknowledgements, and optional glossaries and appendices.
Information about the contents of these sections is found in the Technical Content section of these
guidelines.
References
The References section is used in lieu of footnote or endnote references. It contains at least three
references, and these references are cited in the main body of the report. References are listed eith
-
7/31/2019 Software Engineering _ Current Students _ Policies and Guidelines _ Work Report Guidelines
8/14
16/12 software engineering > current students > policies and guidelines > work report guidelines
ww.softeng.uwaterloo.ca/Current/work_report_guidelines.htm
in alphabetic order of the first author's last name or in order of citation within the report. Each
reference is in a standard IEEE format and includes sufficient detail for a reader to contact the
publisher and obtain a copy of the referenced material. At a minimum, an electronic reference
includes the author, title, a URL, and the date (the current-as-of date ) when you last accessed the
document. Each reference is cited (referred to by number) in the report body text. No references are
cited in the report's front matter.
Appendices
Each appendix starts on a separate page. If an appendix cites referenced material, the
corresponding reference appears in a special References section at the end of that appendix. Each
appendix is cited (referred to by letter) in the report body text.
General formatting
The report is bound with a clear plastic front cover and a dark coloured (e.g., navy, maroon,
black) back cover.
The pages are of size 8 1/2 x 11 inches, with 1-inch margins.
Double-sided printing is accepted for all parts except the title page, letter and executive
summary. The main body should start on a right-hand page.
The text is in 12-point Times New Roman font, with 1.5 spacing.
Sections and subsection headings are numbered (e.g., 2.1, 2.2, ...), and are in decreasing-
sized fonts (e.g., 16-pt section headings, 14-pt subsection headings, 12-pt sub subsectionheadings).
Appendices restart the section numbering, using capital letters as section labels and Arabic
numerals as subsection labels (i.e., A.1, A.2, ); appendix
headers are in decreasing-sized fonts.
If a section is divided into subsections, it has at least two subsections. Similarly for
subsections divided into sub subsections, and so on.
The front matter, Conclusions, Recommendations, Glossary, Acknowledgements, and
References sections are not divided into subsections.
Each figure has a number and a caption below the figure.
Each table has a number and a title above the table.
Figure and table numbering restarts at the beginning of each appendix, using a combination
the appendix label and figure/table number within the appendix (e.g., A-1, A-2).Each figure and table is ci ted (referred to by number) in the report text, either on the same
page as the figure/table or on the preceding page.
Figures and tables are legible.
Paragraphs are indented, with one space between paragraphs.
Front-matter pages are numbered using lower-case roman numerals, with the title page as
page 1. Page numbers do not appear on either the title page or the letter of submittal.
Page numbering restarts at the main body of the report: pages in the main body and back
matter, including appendices, are numbered using Arabic numerals, with the first page of the
Introduction as page one. Alternatively, page numbering could restart with each appendix
where page numbers are prefixed with appendix letters (e.g. A-1, A-2)
Page numbers are centred at the bottom of the page.
Paper sections are correctly ordered.The length of the report's main body is 10-20 pages.
Checklist Marking
In checklist marking, a submitted report is checked against the formatting requirements listed above
These formatting requirements will be checked by the communication markers as part of the overall
communication mark for the report. No separate checklist mark will be given. However, reports that
do not follow the formatting requirements will have degraded communication marks.
4. technical communicationTechnical communication pertains to the effective communication of technical information. The
-
7/31/2019 Software Engineering _ Current Students _ Policies and Guidelines _ Work Report Guidelines
9/14
16/12 software engineering > current students > policies and guidelines > work report guidelines
ww.softeng.uwaterloo.ca/Current/work_report_guidelines.htm
technical-communication marker evaluates the quality of communication in a report, with respect to
three criteria: the report's structure and flow, its clarity, and its writing.
The report's structure and flow pertains to how well information and ideas are organized and
presented. Introduce the problem being reported clearly, and explain why the problem is important
and interesting. Provide sufficient background material, draw conclusions, and make
recommendations at appropriate points in the report's main body. Structure the report's sections and
subsections to guide the reader effectively through the work being reported. As appropriate, use
figures and pictures to simplify and clarify descriptions, use tables to organize and relate data, and
use graphs to summarize trends in data; do not present raw data in the body of the report. Ensure th
figures and tables are self contained, and use captions (figures), legends (tables or graphs), and axiannotations (tables or graphs) to convey explanatory information. Relegate complex detai ls to
appendices, glossaries, or cited references.
The report's clarity pertains to how clearly information and ideas are expressed. Keep your
descriptions concise, and present explanations in a logic order. Choose your words carefully and us
them correctly. Ensure that the report's conclusions and recommendations follow from either the
analytical results or the synthesis. At the technical-communication stage, evaluations of the
conclusions and recommendations are made from a communications standpoint rather than a
technical standpoint.
The report's writing pertains to technical aspects of the writing. Use formal and standard English with
no contractions. Check that your report is free of spelling errors, grammar and punctuation errors,
slang, colloquialisms, sentence fragments, and run-on sentences. Use Canadian spelling. Define, on
first use, all technical terms and acronyms. Ensure that your writing is objective and professional in
tone, and not pretentious, persuasive, or defensive. Use paragraph and sentence structures that are
appropriate to a university student at your level in the program.
There is no constraint on the voice (first person, third person) used in the report. Technical reports ar
often written in the third person and in a passive voice, to emphasize the work rather than the author
or the workers. However, such writing tends to be cumbersome and wordy. We recommend writing i
the active voice, to improve the clarity of your writing. We recommend writing in the third person (e.g
"the team", "the software architect") over the first person (e.g., "I", "we"), to de-emphasize who is
performing or reporting on the work. However, first person is acceptable, as long as the tone of the
report is professional rather than personal.
Technical-Communication Marking
A report's technical communication is normally evaluated by a marker from the English department
(e.g., a graduate student). For each of the four evaluation criteria -- format requirements, structure an
flow, clarity, and writing -- the marker assigns a numerical value between 0 and 3 that indicates the
degree to which the report meets that criterion. The interpretations of the assigned values are Mostly
(3), Marginally (2), Slightly (1), and Not (0). The report's technical-communication score, then, is
calculated by summing the numerical evaluations for format requirements, structure and flow, clarity,
and writing , for a maximum score of 12. A technical communication mark of 5 or less is evaluated a
unacceptable.
5. technical contentThe technical content of a software-engineering work-term report is the recognition, documentation,
explanation, and justification of a software-engineering design or decision. The following guidelines
provide details on what information is expected in various sections of the report. These guidelines a
followed by a subsection that discusses how standards for evaluating technical content correspond t
your level in the program. A second subsection describes the logistics of technical-content marking.
Executive Summary
The Executive Summary is a one-page summary of the report's highlights, including the purpose and
scope of the report, the major points in the report, highlights of the conclusions, and highlights of the
recommendations. It is self contained, and is meant to be read and understood by someone (e.g., a
-
7/31/2019 Software Engineering _ Current Students _ Policies and Guidelines _ Work Report Guidelines
10/14
16/12 software engineering > current students > policies and guidelines > work report guidelines
ww.softeng.uwaterloo.ca/Current/work_report_guidelines.htm
company executive officer) who is not likely to read the report itself.
Introduction
The Introduction introduces the problem being studied, specifies its scope and context (e.g., how it
relates to other problems or subsystems), and identifies the design constraints and criteria used to
define "success." It also describes the report's intended audience, especially with respect to what
fundamental knowledge the reader is expected to have (e.g., with respect to mathematical or
programming knowledge), and it succinctly presents any background material that the reader needs
to know, to understand the rest of the report (e.g., information about the application domain). It
concludes with an outline of the rest of the report. Normally, a work-term report's introduction is no
more than two pages, so it is important to cover all of this information succinctly.
Main (Analysis or Synthesis) Sections
The Main Sections of the report are the heart of the report, containing detailed descriptions of the
technical decision being reported. In an analysis report, the Main Sections start by elaborating on th
problem identified in the Introduction , expanding on the problem definition and on background
material relevant to understanding the problem. They describe the analytical study or the experiment
performed, and explicate and justify any assumptions made. They conclude by reporting the results o
the study, drawing conclusions, and making recommendations. To be complete, an analysis report
should identify any threats to the validity of the analysis' results, and should describe the costs and
consequences of following, and of not following, the recommendations. In a synthesis report, the Mai
Sections start by elaborating on the problem identified in the Introduction, expanding on the problemdefinition to include rigorous and precise specifications of the design criteria and constraints. The
sections describe your solution to the problem, including an explanation of how your solution satisfie
the design criteria and constraints. They also report alternative designs and solutions that were
considered, and they explain why the proposed solution is most favourable in the given context. To b
complete, a synthesis report should identify any limitations of the solution proposed.
Conclusions
The Conclusions section clearly states to what degree the original problem has been solved.
Conclusions are explicitly stated; do not ask the reader to draw his or her own conclusions based on
your results. The section includes summaries of the conclusions drawn from report's analysis or
synthesis and includes limitations on the results. It does not introduce new conclusions that were not
mentioned in Main Sections of the report.
Recommendations
The Recommendations section clearly summarizes your recommendations for any actions to be
taken (e.g., allocation of capital or human resources) as the result of your report's findings. The
discussion may include recommendations as to who should perform these actions; the cost, timing,
and consequences of the recommended actions; and any side effects. The Recommendations
section can also state under which conditions you would give an alternative recommendation. Your
recommendations must be based on the results of the report's synthesis or analysis, and must be
explicitly stated; do not ask the reader to infer his or her own recommendations. Your
recommendations should not include proposals for future studies unless the report's results are
inconclusive (e.g., none of the solutions meet all of the design criteria, or multiple solutions do so). In
such a case, this section might recommend future analyses to be performed, to better differentiateamong indistinguishable solutions.
References
The References section clearly identifies the sources of all quotations, paraphrases, borrowed ideas
and technical data used in the report. A report that fails to identify such sources is deemed
Unacceptable , and the student may be charged with plagiarism .
Acknowledgements
The Acknowledgements section recognizes the people who helped with the writing of the work repor
yet whose contributions were not so significant as to warrant the helper(s) being named as co-
authors. This includes anyone who was interviewed, anyone who proofread the report, or anyone
-
7/31/2019 Software Engineering _ Current Students _ Policies and Guidelines _ Work Report Guidelines
11/14
16/12 software engineering > current students > policies and guidelines > work report guidelines
ww.softeng.uwaterloo.ca/Current/work_report_guidelines.htm
.
Glossary
Avoid using highly technical terms and acronyms, so that your report is easily read and understood b
the reader (marker), who is not likely to be as knowledgeable about the details of your work as you
are. If multiple technical terms and acronyms are absolutely necessary, then define and explain them
adequately in the text, and collect their definitions into a Glossary for easy reference.
Appendices
The Appendices contain information that is either too distracting or too long to include in the report
text. In particular, relegate to appendices any supporting material or data that is not likely to be ofinterest to most readers, but which is necessary to evaluate or replicate your work. Such information
includes code, documentation for code, specifications, tables of data that are summarized or
presented graphically in the report's main body, test suites, and long mathematical derivations or
proofs.
Sophistication of the Analysis or Synthesis
We ask you to write four reports: two that correspond to your first two work-term experiences, and tw
that relate to your senior work-term experiences. The first two reports come early in your academic
career, so that we can give you early feedback on your technical writing, as these skills are often the
determinant factor when a potential employer decides to offer you a job. We ask for the two senior-
level reports because these latter experiences better resemble the types of engineering work about
which you are likely to write once you graduate.
The report's analyses and justifications must be commensurate with your level in the program. As a
second-year student, you may use qualitative analysis (e.g., "algorithm A is faster than algorithm B",
"tool X is better than tool Y because it has feature Z"), although quantitative analysis is preferred.
Either way, your analysis must be with respect to the problem's design criteria. For example, if a
feature Z is not relevant to the problem, then is a tool X that supports feature Z any better than a tool
that does not? If tool X has feature Z and tool Y has feature W, which tool is more appropriate to the
solution? If a tool is missing a critical feature, does it have a work around?
As a third- or fourth-year student, your report must contain quantitative evaluations (e.g., "algorithm A
is twice as fast as algorithm B"), and the conclusions and recommendations must be sufficiently
concrete that a manager could act on them. A senior-level analysis report should provide sufficientdetail for the reader to make a business decision. A senior-level synthesis report should be complete
enough to convince the reader (a manager) to allocate resources to implement the proposed design
Consider the following two examples:
Example 1. "Algorithm A has a run-time performance ofn3, for data of size n, whereas algorithm B
has a run-time performance of 100n2logn." It is naive to use only these complexity results to conclud
that algorithm B is better than algorithm A, as there may be a number of factors that justify the use of
algorithm A, including 1) n is known to be small, such as less than 200; 2) the algorithm's complexity
does not the determine the application's overall complexity; and 3) algorithm A is already
implemented and thoroughly tested.
Example 2. Application A is 2.5 times faster and has many more features than the currently used
application B. It is naive to use only these observations to conclude that A is the better application, a
there may be a number of reasons for staying with application B, such as 1) it would be cheaper to
purchase a new faster computer; 2) the 'additional features' are not expected to be used and are
therefore irrelevant; 3) the system has already been integrated with application B, and switching
applications could result in significant downtime; 4) none of the technical staff are currently trained in
application B, and the training budget is limited; and 5) the support and licensing agreements may b
different for the two applications.
In both of these examples, a decision cannot be made without at least approximate costs for each
factor involved. To make a decision in example 1, you might need to know
-
7/31/2019 Software Engineering _ Current Students _ Policies and Guidelines _ Work Report Guidelines
12/14
16/12 software engineering > current students > policies and guidelines > work report guidelines
ww.softeng.uwaterloo.ca/Current/work_report_guidelines.htm
. ,
you may need to assume that n could be arbitrarily large.
2) How the complexities of algorithms A and B compare with the complexity of the host application.
3) How long it would take to implement and test algorithm B, and how much this development would
cost.
To make a decision in example 2, you might need to know
1) How much it would cost to purchase, install, and maintain a new computer. (This may include
training costs.)
2) What the additional features are, and whether they would help to solve other pressing problems.Would the use of these features improve productivity?
3) How long it would take to install the new application, and how much the downtime could be
minimized. What is the worst case scenario?
4) What the approximate training costs would be.
5) What the relevant support and licensing costs would be.
How you choose the factors on which to base your decision depends on the problem's design
constraints and design criteria. The requirements on an algorithm used in a critical real-time
application would be significantly different from the requirements on an algorithm used in an
interactive dialogue with a user. You may want to review the basic decision-making techniques
described in your SE 101 text, Introduction to Professional Engineering in Canada [3] .
Some senior work report reports might deal with software engineering principles that do not lendthemselves to quantitative analysis. In this case, Multi-Criteria Decision Making (MCDM), from the
management sciences could be used as a systematic way to evaluate qualitative results. Please se
the sample work report (example) for a good example of MCDM's application and some references
for further reading.
In summary, junior-level reports must evaluate their analyses or designs with respect to the design
constraints and design criteria of the problem. Senior-level reports must go further, performing
quantitative evaluations with respect to the problem's design constraints and criteria and providing
sufficient information to support the recommendations made in the report.
Technical-Content Marking
Normally, graduate students mark the technical content of a work-report.
The technical content of a work-term report is evaluated on a scale of 0 to 4, based on the following
criteria:
The topic has sufficient scope and depth to justify a report.
The writing displays evidence of sound engineering judgment, analysis or synthesis, and
insight appropriate to a university student at your level in the program.
The technical details appear to be correct and to form a coherent design or software-
engineering decision.
The meanings of the technical-content-marking scores are Yes (4), Mostly (3), Marginally (2), Slightly
(1), and Not (0). A report with a technical-content score of 0 is deemed Unacceptable and receives failing mark.
The technical-content marking of your report will include a Critical Feedback section, where the
technical-content marker can provide constructive comments on how to improve your skills in
communicating technical and engineering ideas.
-
7/31/2019 Software Engineering _ Current Students _ Policies and Guidelines _ Work Report Guidelines
13/14
16/12 software engineering > current students > policies and guidelines > work report guidelines
ww.softeng.uwaterloo.ca/Current/work_report_guidelines.htm
6. final markFirst and second year work report grades are calculated using a combination of the reports'
technical-communication and technical-content scores. This evaluation is then translated into a
numerical mark. Reports are evaluated as follows, where the final evaluation is the table entry that
corresponds to the row that matches the technical-communication score and the column that matche
the technical-content score.
TechnicalCommunication
Technical Content
... 0 1 2 3 4
0-5 Unacceptable Unacceptable Unacceptable Unacceptable Unacceptable
6-8 Unacceptable Resubmit Satisfactory Satisfactory Very Good
9-11 Unacceptable Satisfactory Satisfactory Very Good Excellent
12 Unacceptable Satisfactory Very Good Excellent Outstanding
Students will be notified by e-mail when their reports are finished being marked and ready to be
picked up. If you receive a grade of Resubmit, you will have UNTIL THE DAY BEFORE THE START
OF THAT TERM'S FINAL EXAMS to resubmit your report. If you miss this deadline, your report will
receive a mark of Unacceptable. A report may be resubmitted only ONCE. The resubmitted report isevaluated using the same table above. A mark of Unacceptable is a failed report. Failed work-term
reports are included in the failure count and must be cleared before graduation.
A report's final evaluation is translated into a numerical mark:
Evaluation Mark
Outstanding 95
Excellent 89
Very Good 75
Satisfactory 65
Unacceptable38
Your work-term-report mark is reported on your transcript, as an incentive for you to write the best
report that you can. The mark is not included in your term average.
Third and fourth year work reports are marked by one marker only who assigns a final grade from th
above table.
There are awards for top work-term reports: an award is given in each class to the writer of the best
SE non confidential work-term report submitted that term. Only reports that receive an evaluation of
Outstanding are eligible.
clearing failed reportsAn unsubmitted work report gets a mark of 38. For reports failed F09 or later, add the course
(WKRPT x00) on Quest for the term in which you wish to resubmit it. For reports failed prior to F09,
just submit the report in a subsequent semester and indicate that it is a supplemental report for
WKRPT x00. Under the new rules the mark for the resubmit will show on your transcript. Under the ol
rules you only get a "Supp Satisfied" beside the original 38
wkrpt coordinatorThe SE work report coordinator is usually a prof from ECE whose research area is in software
-
7/31/2019 Software Engineering _ Current Students _ Policies and Guidelines _ Work Report Guidelines
14/14
16/12 software engineering > current students > policies and guidelines > work report guidelines
engineering. The current coordinator is listed on the academic administrators page. They may be
contacted by emailing [email protected].
7. references[1] Department of Electrical and Computer Engineering, "E&CE Work Term Report Guidelines",
University of Waterloo, Waterloo, Ontario, March 2005;
http://www.ece.uwaterloo.ca/~wtrc/WrkTrmRpt.html .
[2] Faculty of Mathematics, "Mathematics Work Report Guidelines", University of Waterloo, Waterloo
Ontario, March 2005; http://www.math.uwaterloo.ca/navigation/Current/workreport/index.shtml
[3] G.C. Andrews, J. D. Aplevich, R.A. Fraser, and H.C. Ratz, Introduction to Profession Engineering
in Canada, Prentice Hall, 2003, pg. 60.
[4] IEEE Computer Society, "IEEE Computer Society Style Guide - References", March 2005;
http://www.computer.org/portal/web/publications/style_refs .
Copyright 2007 University of Waterloo. All rights reserved.