Computer Science and Engineering Dept
Computer Science and Engineering Dept
Sources of advice to help you successfully write your final year project, dissertation or thesis.
Presented by Kavi Khedo
1
Note
Note that the description provided in this presentation on BSc (Hons) Final Year Project is not exhaustive and the steps vary from project to project. The aim of this presentation is to provide some general guidelines for the completion of a BSc Final Year Project. I am solely responsible for any errors or omissions that may appear in this description.
2
Getting Started
The most difficult part of writing a Final Year Project (FYP) is often 'where to begin'. Make a plan of the chapters. Your plan is likely to look like this:
6. Evaluation 7. Future Works 8. Conclusion 9. References 10.Appendices
3
1. Introduction 2. Background Study /Literature review 3. Analysis 4. Design 5. Implementation 6. Integration and Testing
Preliminaries
Abstract
Introduction
Introduction to the Area of Study Aims and Scope Problem Statement Approach or Methodology Used Time Management / Project Schedule Personal Contributions
6
A literature review is basically a summary of 'what the academic literature reveals' about the subject of your investigation. This section explains whatever background is needed for the reader to understand the details of your project. It also should convince the reader that you have done the appropriate study of existing work before embarking on your own work.
As a starting point, a literature review should summarise the major contributions in the (project) field of study. Discuss about: Concepts Technologies Similar Existing Solutions
8
Concepts A detail background study should be done about all the (possible) conceptual issues involved in the project.
Algorithms, Existing Techniques, Security, HCI, Real-time Systems, Software Architectures, Programming Standards, Concurrency
9
Technologies A detail background study should be done about all the (possible) technologies involved in the project.
Databases, Programming Languages, Web Servers, Web Technologies (ASP, PHP, etc), Middleware Technologies, Operating Systems, APIs.
10
11
Analysis
Analysis of Existing Systems Analysis of Current System Technological Analysis Requirements Capture & Discussion Discussion of alternative solutions System Requirements Document
12
Analysis
User Requirements Non-Functional Requirements System Requirements Interface Requirements Performance Requirements
13
Design
In this chapter, an overview of the system should be given, prior to discussing the various system design issues of the system. The structure of the system should be established and the different components of the system should be designed. A software module specification should be provided at the end of the design process.
14
Design
System Design Issues
Software Design Approach Performance Robustness Interactivity Flexibility Re-usability and Portability Quality of Service Error, Exception Handling & Fault Tolerance Security
15
Design
System Architecture Design (Modules and Interaction between the modules) System Modelling
Static Modeling (class diagram) Dynamic Modeling (Sequence Diagram, state transition diagrams)
Client/Server Design Software Design (Algorithms, Pseudocode) Database Design User Interface Design
16
Implementation
The Implementation phase is perhaps one of the most, if not the most important phase of the project. This chapter relates to the implementation of the components that make up the system. The issues that need to be considered during implementation should be discussed.
17
Implementation
Implementation issues
Discussion of issues that relate to the development of the system Performance consistency (application of common coding guideline) Simplicity, reliability Portability Security Issues Fault Tolerance Real-Time Issues Concurrency Issues
18
Implementation
Standards and Conventions Development Environment Hardware Configurations Software Tools Development Process
Implementation
Exception handling
20
This chapter depicts the different integration and testing methodologies used, which include unit testing, integration testing and system testing.
Integration is how the different components of the system were combined to make them work together as a single entity. Testing is to ensure whether the system conforms to its specifications and whether it meets the expectations of the users.
21
Integration Process
Integration involves combining the different modules and components of the system into a single entity.
Unit testing (Black Box, White Box) Integration Testing (Top-down, Bottom-up) System Testing (Alpha, Beta, Stress, Security)
22
Debugging
Debugging occurs as a consequence of successful testing. When a test uncovers an error, debugging is the process that results in the elimination of the error. Brute Force Method Backtracking Method Cause Elimination Method
23
Evaluation
This chapter should consist of a critical appraisal covering all aspects of the project. The constraints experienced as well as the project achievements should also be highlighted. The chapter will consist of the following sections:
Future Works
Even though the System developed is a fullfledge system that meets the specifications formerly identified, it can be improved even further and additional features can be implemented to extend its perspective of use. Improvements Additional Features
25
Conclusion
With hindsight, what is the strongest part of your work? What did you learn from the project? What you would do differently if you could repeat the project?
26
References
It is to acknowledge the work of other writers; to demonstrate the body of knowledge on which you have based your work; to enable other researchers to trace your sources and lead them on to further information. BIBLIOGRAPHY is the list of sources you have used. REFERENCE is the detailed description of the item from which you have obtained your information.
27
Referencing Examples
[1] A. Dey, G.D. Abowd, and D. Salber, A conceptual framework and toolkit for supporting the rapid prototyping of context-aware applications, Human-Computer Interaction Journal, Vol. 16 (2-4), 2001, pp. 97-166. [2] A. Dey, Providing Architectural Support for Building Context-Aware Applications, Ph.D. Thesis Dissertation, College of Computing, Georgia Tech, December 2000. [3] S. Intille, L. Bao, E.M. Tapia, and J. Rondoni, Acquiring in situ training data for context-aware ubiquitous computing applications, in Proceedings of Human Factors in Computing Systems Conference, CHI 2004, Vienna, Austria, April 2004. [4] A.K. Dey and G.D. Abowd, CybreMinder: A context-aware system for supporting reminders, In Proceedings of Second International Symposium on Handheld and Ubiquitous Computing, HUC 2000, pp 172186, Bristol, UK, September 2000. [5] The GUIDE Project Home Page, Lancaster University, 1997-1999, Available from: http://www.guide.lancs.ac.uk/overview.html Date Access: 28 15 January 2006.
Appendices
Appendices. Anything that you believe must be included for completeness, but which would interrupt the flow of the report if placed elsewhere.
29
Project Examination
Presentation
Preparation of slides Presentation skills Presentation (20 mins) Questions (10 mins) Software Demo Questions
Demo
30
31