Professor M. L. Liu
(January
6, 2005)
A senior project report is a formal document: you should therefore avoid using colloquial language.
A senior project report is also a technical report, you should therefore avoid extensive use of the first-person pronoun I, and generally the narrative should be written in present tense.
The report’s target audience should be your peers. Thus, you should write your report so that it is understandable to a student with similar background.
1. Project abstract
This is a one-page summary of what the project is all about. Briefly summarize the question or problem that you are trying to solve, some of the reasons why it is a worthwhile question, and perhaps give an overview of your main results.
2. Background Information
A brief section giving background information which may contain the following information:
3. Problem Statement
Explain in full the problem that you are trying to solve. For example, if you are building a web application, then describe the application at a high level.
This is the appropriate place for specifying the requirements, including those in each of the following areas:
· Functionalities (end-user, administrative, others)
· Data requirements (what kind of information needs to be managed? )
· User interface (what type of interface is required?)
· System requirements (platforms, language, tools)
· Other requirements (security, performance, fault-tolerance, etc.)
4. Describing How You Solved the Problem or Answered the Question
Describe how your work addresses the requirements specified in the previous section.
There should be at least three sections:
· Design: Using a combination of narrative and diagrams, describe the architecture of your application. You may also present class diagrams, user interface layouts, and database schema.
If a database is used, then a schema of the database should be presented.
You should explain how your
designs satisfy the requirements, and, where applicable, provide justifications
for your design choices.
· Implementation: Describe how the implementation was carried out. If special tools were used, explain how the tools were helpful. Present portions of your code to explain the key parts of your implementation. For example, you may present the code for a controller servlet, followed by a paragraph that explains the code. It is recommended that you refer to the code by line number. For example: The code in line 7-9 creates a query to obtain the user’s address from the database. (This implies that your code presentation should be line-numbered)
You should provide justifications for your
implementation choices (for example, why did you choose to use mySQL for
your database, or Java for your programming language.)
· Testing: Describe how you tested your application – the test plan; tools employed, the test outcomes, etc.
6. Conclusions
· Summarize the problem that you were trying to solve and how you solved it.
· Explain what you have learned from the experience.
· Future extension: what can be done to further enhance your work.
7. References
Provide a list of sources of information that you made use of in your work – you may include books, articles, and web sites. Please number your references. Following is a sample list:
REFERENCES
1.
B. Bershad and M. Zekauskas. Shared memory parallel programming with entry consistency for
distributed memory multiprocessors. Tech. Rep. CMU-CS-91-170, Carnegie Mellon
Univ., Pittsburgh, Sept. 1991.
2.
R. Campbell, N. Islam,
D. Raila, D., and P. Madany. Designing and implementing Choices: An
object-oriented operating system in C++. Commun. ACM 36, 9 (Sept. 1993),
117–126.
3.
BEA Systems, Inc. WebLogic Application Server.
http://www.bea.com/framework.jsp?CNT=index.htm&FP=/content/products/server.
Januaray 2003.
Please note that reference number 3 above is a web site. Reputable web sites are acceptable as references, but must be clearly documented as shown in the example.
All references given must be referred to in the main body of the
report, like this:
However, more recent work shows that incorporating performance into frame-work design is important [2, 3, 4]. In the realm of design patterns, Recoverable Distributor and other distributed design patterns [17]
where 2, 3, 4, and 17 are numbers of the references as they appear in the list of references.
8. Appendices
Include program listings, tables of data, etc., that are too lengthy to present in the main body of your report. You should mention in the main body of your report that such information can be found in the appendix. Program listings should be well documented and well formatted.