General Guidelines for Final Year Projects Introduction As part requirement for the award of BSc (Hons) (diploma/degree) for the Computer Science Department at the University of Mauritius, a project must normally be carried out by students in their final year of study. The project is a module that provides the students with the opportunity to design, undertake or conduct an independent piece of research or study related to their Programme of Studies under the guidance of a supervisor, who is normally a member of the academic staff (full-time or part-time). The project will carry 9 credits and will normally lasts for two semesters. A project report should be submitted as part of the module and this should be complemented with a project presentation and software demonstration. The following section consists of a report structure and a guidance to write a good report for Software Engineering projects and ensuring that essential parts are not missed out. Note however that some parts may not be applicable to your project. As far as possible, this guideline tries to depict the main sections. Report Guideline Your report may be structured in the following way: Title Page Acknowledgements Abstract Table of Contents List of Figures List of Tables Introduction Background Study 1 Analysis Design Implementation Integration & Testing Conclusion References Appendix A short outline for each sub-part is described below: Title Page As per the university‟s regulations, the title page of the report shall give the following information in the order listed: Full title of the project as approved by the Department The full name of the author The qualification for which the report is submitted The name of the institution to which the report is submitted The Department in which the project is to be submitted The month and year of submission. A good title should be relevant, short & concise and catchy. A good title will attract readers. It should not: Leave the reader guessing what it is about Have spelling and grammatical errors 2 Acknowledgements This part is all about thanking those who have helped you directly or indirectly on the completion of the project. For example, your supervisor, your team mate and/or anyone who provided some funding etc. Remember to be courteous. Abstract This is one of the most important parts of your report. It should normally be written last and should consist of one paragraph only. It should be: Short and concise (not longer than 250 words and rarely longer than one paragraph) State the objective State the method used State the results State the conclusions It should not: Introduce anything new Include references If you have found anything interesting, it is important that you mention it here because after reading the abstract, the reader might decide to quit reading the project and he might miss your superb result which is only revealed at the end. Table of Contents The table of contents is essential in any report as it helps the reader to go directly to where he wants. It is important not to mislead the reader by indicating wrong page number. Remember that you can use a word processor‟s „Style‟ feature to be able to able to generate TOC, LOF etc automatically 3 List of Tables Clear indication and labels to the list of tables. List of Figures Clear indication and labels to the list of figures. Preface This section gives a brief outline of the different chapters to be covered. The aim of this part is that the reader should understand the structure of the report after reading this Introduction The introduction part is another trigger for the reader. If after reading this part, the user is not bored yet, you have won him over. It should: Present the problem under investigation Indicate the Aims & Objectives of the project Scope of project Indicate a timeline for the project Include the distribution of task This part might sound like the abstract but it is much longer. It will most likely be a few pages long. Background Study The background study consists of the following: Literature review Critical appraisal of other people‟s work 4 Investigation on what is going on in your current field of interest and related works carried out Investigation of potential tools and technologies that can be used for project implementation. You should be able to prove to other people that you have done some research/investigation before embarking on the project. Analysis This section documents the analysis of the system to be implemented. It consists of the following: Feasibility Study (optional) Description of the system Functional and Non Functional Requirements Alternative ways of solving the problem (optional) Proposed Solution with reasons Evaluation of tools/approaches– Pros and Cons Choice of Final Tool(s)/approached with justification Functional Modeling of the system - Use Case, workflows Design The Design section documents the design decisions that have been taken. The structure of the system and its components has to be established. Explanation should be provided about how the following design issues will be tackled: Software Design Approach Performance Robustness Interactivity 5 Flexibility Re-usability & portability Quality of Service Error, Exception Handling & Fault Tolerance Security The design should consist of the following: Architectural Design - Interaction between components and/or modules Interface Design System Modeling- Object Modeling/UML diagrams, ERD Database Design Algorithms used Logic used for calculations, processes, integration etc. Implementation The implementation section describes how the different components in the project have been implemented. It should also consist of: Developments tools and environment used Implementation of different modules (including detail steps about how they were developed) Sample codes of the main pieces of logic (including standards and conventions) Difficulties faced and how they were addressed. Moreover, can include discussion about how the design issues that have been addressed: Performance Consistency Scalability Security issues Real-Time issues 6 Concurrency Control Flexibility Adaptability Fault-Tolerance Integration and Testing Testing starts alongside with the Implementation. The testing part will document the testing carried out – the test data and the results obtained. When independent modules have been implemented and tested, they can be integrated and tested as a whole. Different types of testing Carried out: Unit Test – testing a single component Integration Testing – Combining different components System test – Testing the system as a whole User acceptance test – user perspective of the system to check if requirements have been met. Note that you should be able to provide details about how the above tests have been carried out and not just list them. Test scripts/ test plans can be used to show the different types of test carried out. It is wise to start documenting the tests carried out together with their test results as you proceed with the Implementation stage. Conclusion This is usually the last chapter in the report which contains three main parts: Achievements: It should critically assess the work done including the strengths and weaknesses and try to explain the results obtained. Difficulties: The difficulties can also be summarised. Keep in mind that the conclusion should not be overcritical or sound depressing. Do not put your 7 difficulties as just being lack of time. All students get the same amount of time for project. Future Works: No report is totally complete or has completely explored a domain. You can give some indications where future work might be carried out or what other domain you would have explored without the current time/resource constraints. References It is a major offence to copy the work of others without properly referencing. This practice is termed as “plagiarism”. It is the equivalent of theft in the academic world. It is therefore very important that you add proper references at the end of your report and to add proper links of those references to your report. References are important because they acknowledge the work of others and prove that you have done enough investigation. There are two types of copying: Copying whole paragraphs Using the idea of someone else Different styles are needed depending on what you are referencing: Books Articles in journals Web pages Discussion groups The reference system used at the university of Mauritius is the Harvard System. It is a very popular referencing system and is widely utilized. The Harvard System The references section should include a list of references. The references for the following items should be written as follows: 8 1. For books Author‟s SURNAME, INITIALS., Year of publication. Title. Edition (if not the first). Place of publication: Publisher. e.g. MERCER, P.A. AND SMITH, G., 1993. Private viewdata in the UK. 2nd ed. London: Longman. 2. For journal/newspaper articles Author‟s SURNAME, INITIALS., (or NEWSPAPER TITLE,) Year of publication. Title of article. Title of newspaper, Day and month, Page number/s and column number. e.g INDEPENDENT, 1992. Picking up the bills. Independent, 4 June, p.28a. 3. For articles in a journal Author‟s SURNAME, INITIALS., Year of publication. Title of article. Title of journal, Volume number and (part number), Page numbers of contribution. e.g. EVANS, W.A., 1994. Approaches to intelligent information retrieval. Information processing and management, 7 (2), 147-168. 4. Conference Paper Contributing author‟s SURNAME, INITIALS., Year of publication. Title of contribution. Followed by In: INITIALS. SURNAME, of editor of proceedings (if applicable) followed by ed. Title of conference proceedings including date and place of conference. Place of publication: Publisher, Page numbers of contribution. 9 e.g. SILVER, K., 1991. Electronic mail: the new way to communicate. In: D.I. RAITT, ed. 9th international online information meeting, 3-5 December 1990 London. Oxford: Learned Information, 323-330. 5. For a thesis Author‟s SURNAME, INITIALS., Year of publication. Title of thesis. Designation, (and type). Name of institution to which submitted. e.g. AGUTTER, A.J., 1995. The linguistic significance of current British slang. Thesis (PhD). Edinburgh University. 6. For a film/video or broadcast Title, Year. (For films the preferred date is the year of release in the country of production.) Material designation. Subsidiary originator. (Optional but director is preferred, SURNAME in capitals) Production details – place: organisation. e.g. Macbeth, 1948. Film. Directed by Orson WELLES. USA: Republic Pictures. e.g. Birds in the Garden, 1998. Video. London: Harper Videos. 7. Web Author's /Editor's SURNAME, INITIALS., Year. Title [online]. (Edition). Place of publication, Publisher (if ascertainable). Available from: URL [Accessed Date]. e.g. HOLLAND, M., 2004. Guide to citing Internet sources [online]. Poole, Bournemouth University. Available from: http://www.bournemouth.ac.uk/library/using/guide_to_citing_internet_sourc.html [Accessed 4 November 2004]. 10 8. CD ROM/DVD Author's SURNAME, INITIALS., Year. Title [type of medium CD-ROM]. (Edition). Place of publication, Publisher (if ascertainable). Available from: Supplier/Database identifier or number (optional) [Accessed Date] (optional). e.g. HAWKING, S.W., 1994. A brief history of time: an interactive adventure. [CDROM]. Crunch Media. Example of a reference list: [His02] HISINGER, D., NEYRET, F. and CANI, M.P. 2002. Interactive Animation of Ocean Waves. In Symposium on Computer Animation [Jen 01] JENSEN, L. and GOLIAS, R. 2001. Deep-Water Animation and Rendering. In Gamasutra http://www.gamasutra.com/gdce/2001/jensen/jensen_01.htm [Jes03] JESCHKE, S., BIRKHOLZ, H. and SCHUMANN, H. 2003. A Procedural Model for Interactive Animation of Breaking Ocean Waves. In WSCG POSTERS Proceedings [Pea86] PEACHEY, D.R. 1986. Modelling Waves and Surf. In ACM SIGGRAPH Proceedings, Vol. 20, No.4, pp. 65-74 You should use some consistent system of coding your references so you can refer to them easily from the main report. This may take the form of a simple numbering system where a superscripted number is appended to the actual point of reference in the body of the text and a numerical listing of the detailed references is placed at the end of the project (or at the end of each chapter). For more details about the Harvard Referencing style, the following link might be helpful: 11 http://libweb.anglia.ac.uk/referencing/files/Harvard_referencing.pdf http://www.imperial.ac.uk/Library/pdf/Harvard_referencing.pdf Appendix It contains things that could not be directly included in the report but which will nevertheless help the reader gain a better understanding of the project if included. It usually includes: Part of the code Data sets Algorithms Extra illustrations (charts, barcharts, photos) Surveys Forms and templates Final Note This objective of this guide is to help you write a better report for your project. It has often been the case that students implement excellent software but due to poor quality of their report, their grades are lowered. Moreover, it is important to note that this is just a Guide. It should not be used word to word if certain parts do not apply for your project. Feel free to add new elements which you feel should form part of your report. In case of doubts, please contact your Project Supervisor. Please check the Uom Website below for Regulations regarding Final Year Project. http://www.uom.ac.mu/ABOUTUS/REGULATIONS/regulations.htm 12