1.0 INTRODUCTION
The project report should be documented with an
engineering approach to the solution of the problem that you have sought to
address. The project report should be prepared in order to solve the problem in
a methodical and professional manner, making due references to appropriate
techniques, technologies and professional standards. You should start the
documentation process from the first step of software development so that you
can easily identify the issues to be focused upon in the ultimate project report.
You should also include the details from your project notebook, in which you
would have recorded the progress of your project
throughout the course. The project report should contain enough details to
enable examiners to evaluate your work. The details, however, should not render
your project report as boring and tedious. The important points should be
highlighted in the body of the report, with details often relegated to
appendices.
PROJECT REPORT:
Title Page
Original Copy of the Approved Proforma of the Project
Proposal
Certificate of Authenticated work
Role and Responsibility Form
Abstract
Acknowledgement
Table of Contents
Table of Figures
CHAPTER 1: INTRODUCTION
1.1 Background
1.2 Objectives
1.3 Purpose, Scope, and Applicability
1.3.1 Purpose
1.3.2 Scope
1.3.3 Applicability
1.4 Achievements
1.5 Organisation of Report
CHAPTER 2: SURVEY OF TECHNOLOGIES
CHAPTER 3: REQUIREMENTS AND ANALYSIS
3.1 Problem Definition
3.2 Requirements Specification
3.3 Planning and Scheduling
3.4 Software and Hardware Requirements
3.5 Preliminary Product Description
3.6 Conceptual Models
CHAPTER 4: SYSTEM DESIGN
4.1 Basic Modules
4.2 Data Design
4.2.1 Schema Design
4.2.2 Data Integrity and Constraints
4.3 Procedural Design
4.3.1 Logic Diagrams
4.3.2 Data Structures
4.3.3 Algorithms Design
4.4 User interface design
4.5 Security Issues
4.6 Test Cases Design
CHAPTER 5: IMPLEMENTATION AND TESTING
5.1 Implementation Approaches
5.2 Coding Details and Code Efficiency
5.2.1 Code Efficiency
5.3 Testing Approach
5.3.1 Unit Testing
5.3.2 Integrated Testing
5.4 Modifications and Improvements
CHAPTER 6: RESULTS AND DISCUSSION
6.1 Test Reports
6.2 User Documentation
CHAPTER 7: CONCLUSIONS
7.1 Conclusion
7.2 Limitations of the System
7.3 Future Scope of the Project
REFERENCES
GLOSSARY
APPENDIX A
APPENDIX B
1.4 EXPLANATION OF CONTENTS
Title Page
Sample format of Title page is given in Appendix 1 of
this block. Students should
follow the given format.
Original Copy of the Approved Proforma of the Project
Proposal
Sample Proforma of Project Proposal is given in Appendix
2 of this block. Students
should follow the given format.
Certificate of Authenticated work
Sample format of Certificate of Authenticated work is
given in Appendix 3 of this
block. Students should follow the given format.
Role and Responsibility Form
Sample format for Role and Responsibility Form is given
in Appendix 4 of this block.
Students should follow the given format.
Abstract
This should be one/two short paragraphs (100-150 words
total), summarising the
project work. It is important that this is not just a
re-statement of the original project
outline. A suggested flow is background, project aims and
main achievements. From
the abstract, a reader should be able to ascertain if the
project is of interest to them
and, it should present results of which they may wish to
know more details.
Acknowledgements
This should express your gratitude to those who have
helped you in the preparation of
your project.
Table of Contents: The table of contents gives the
readers a view of the detailed
structure of the report. You would need to provide
section and subsection headings
with associated pages. The formatting details of these
sections and subsections you
will find in unit 2 of this block.
Table of Figures: List of all Figures, Tables, Graphs,
Charts etc. along with their
page numbers in a table of figures.
Chapter 1: Introduction
The introduction has several parts as given below:
Background: A description of the background and context
of the project and its
relation to work already done in the area. Summarise
existing work in the area
concerned with your project work.
Objectives: Concise statement of the aims and objectives
of the project. Define
exactly what you are going to do in the project; the
objectives should be about 30 /40
words.
Purpose, Scope and Applicability: The description of
Purpose, Scope, and
Applicability are given below:
• Purpose: Description of the topic of your project that
answers questions on
why you are doing this project. How your project could
improve the system
its significance and theoretical framework.
• Scope: A brief overview of the methodology, assumptions
and limitations.
You should answer the question: What are the main issues
you are covering in
your project? What are the main functions of your
project?
• Applicability: You should explain the direct and
indirect applications of your
work. Briefly discuss how this project will serve the
computer world and
people.
Achievements: Explain what knowledge you achieved after
the completion of your
work. What contributions has your project made to the
chosen area? Goals achieved -
describes the degree to which the findings support the
original objectives laid out by
the project. The goals may be partially or fully
achieved, or exceeded.
Organisation of Report: Summarising the remaining
chapters of the project report,
in effect, giving the reader an overview of what is to
come in the project report.
Chapter 2: Survey of Technologies
In this chapter Survey of Technologies you should
demonstrate your awareness and
understanding of Available Technologies related to the
topic of your project. You
should give the detail of all the related technologies
that are necessary to complete
your project. You should describe the technologies
available in your chosen area and
present a comparative study of all those Available
Technologies. Explain why you
selected the one technology for the completion of the
objectives of your project.
Chapter 3: Requirements and Analysis
Problem Definition: Define the problem on which you are
working in the project.
Provide details of the overall problem and then divide
the problem in to sub-problems.
Define each sub-problem clearly.
Requirements Specification: In this phase you should
define the requirements of the
system, independent of how these requirements will be
accomplished. The
Requirements Specification describes the things in the
system and the actions that can
be done on these things. Identify the operation and
problems of the existing system.
Planning and Scheduling: Planning and scheduling is a
complicated part of software
development. Planning, for our purposes, can be thought
of as determining all the
small tasks that must be carried out in order to
accomplish the goal. Planning also
takes into account, rules, known as constraints, which,
control when certain tasks can
or cannot happen. Scheduling can be thought of as determining
whether adequate
resources are available to carry out the plan. You should
show the Gantt chart and
Program Evaluation Review Technique (PERT).
Software and Hardware Requirements: Define the details of
all the software and
hardware needed for the development and implementation of
your project.
• Hardware Requirement: In this section, the equipment,
graphics card,
numeric co-processor, mouse, disk capacity, RAM capacity
etc. necessary to
run the software must be noted.
• Software Requirements: In this section, the operating
system, the compiler,
testing tools, linker, and the libraries etc. necessary
to compile, link and install
the software must be listed.
Preliminary Product Description: Identify the requirements
and objectives of the
new system. Define the functions and operation of the
application/system you are
developing as your project.
Conceptual Models: You should understand the problem
domain and produce a
model of the system, which describes operations that can
be performed on the system,
and the allowable sequences of those operations.
Conceptual Models could consist of
complete Data Flow Diagrams, ER diagrams, Object-oriented
diagrams, System
Flowcharts etc.
Chapter 4: System Design
Describes desired features and operations in detail,
including screen layouts, business
rules, process diagrams, pseudocode and other
documentation.
Basic Modules: You should follow the divide and conquer
theory, so divide the
overall problem into more manageable parts and develop
each part or module
separately. When all modules are ready, you should
integrate all the modules into one
system. In this phase, you should briefly describe all
the modules and the functionality
of these modules.
Data Design: Data design will consist of how you
organise, managing and manipulate
the data.
• Schema Design: Define the structure and explanation of
schemas used in your
project.
• Data Integrity and Constraints: Define and explain all
the validity checks and
constraints you are providing to maintain data integrity.
Procedural Design: Procedural design is a systematic way
for developing algorithms
or procedurals.
• Logic Diagrams: Define the systematical flow of
procedure that improves its
comprehension and helps the programmer during
implementation. e.g.,
Control Flow Chart, Process Diagrams etc.
• Data Structures: Create and define the data structure
used in your procedures.
• Algorithms Design: With proper explanations of input
data, output data, logic
of processes, design and explain the working of
algorithms.
User Interface Design: Define user, task, environment
analysis and how you intend
to map those requirements in order to develop a “User
Interface”. Describe the
external and internal components and the architecture of
your user interface. Show
some rough pictorial views of the user interface and its
components.
Security Issues: Discuss Real-time considerations and
Security issues related to your
project and explain how you intend avoiding those
security problems. What are your
security policy plans and architecture?
Test Cases Design: Define test cases, which will provide
easy detection of errors and
mistakes with in a minimum period of time and with the
least effort. Explain the
different conditions in which you wish to ensure the
correct working of your software.
Chapter 5: Implementation and Testing
Implementation Approaches: Define the plan of
implementation, and the standards
you have used in the implementation.
Coding Details and Code Efficiency: Students not need
include full source code,
instead, include only the important codes (algorithms,
applets code, forms code etc).
The program code should contain comments needed for
explaining the work a piece of
code does. Comments may be needed to explain why it does
it, or, why it does a
particular way.
You can explain the function of the code with a shot of
the output screen of that
program code.
• Code Efficiency: You should explain how your code is
efficient and how you
have handled code optimisation.
Testing Approach: Testing should be according to the
scheme presented in the
system design chapter and should follow some suitable
model – e.g., category
partition, state machine-based. Both functional testing
and user-acceptance testing are
appropriate. Explain your approach of testing.
• Unit Testing: Unit testing deals with testing a unit or
module as a whole. This
would test the interaction of many functions but, do
confine the test within
one module.
• Integrated Testing: Brings all the modules together
into a special testing
environment, then checks for errors, bugs and
interoperability. It deals with
tests for the entire application. Application limits and
features are tested here.
Modifications and Improvements: Once you finish the
testing you are bound to be
faced with bugs, errors and you will need to modify your
source code to improve the
system. Define what modification you implemented in the
system and how it
improved your system.
Chapter 6: Results and Discussion
Test Reports: Explain the test results and reports based
on your test cases, which
should show that your software is capable of facing any
problematic situation and that
it works fine in different conditions. Take the different
sample inputs and show the
outputs.
User Documentation: Define the working of the software;
explain its different
functions, components with screen shots. The user
document should provide all the
details of your product in such a way that any user
reading the manual, is able to
understand the working and functionality of the document.
Chapter 7: Conclusions
Conclusion: The conclusions can be summarised in a fairly
short chapter (2 or 3
pages). This chapter brings together many of the points
that you would have made in
the other chapters.
Limitations of the System: Explain the limitations you
encounterd during the testing
of your software that you were not able to modify. List
the criticisms you accepted
during the demonstrations of your software.
Future Scope of the Project describes two things:
firstly, new areas of investigation
prompted by developments in this project, and secondly,
parts of the current work that
were not completed due to time constraints and/or
problems encountered.
REFERENCES
It is very important that you acknowledge the work of
others that you have used or
adapted in your own work, or that provides the essential
background or context to
your project. The use of references is the standard way
to do this. Please follow the
given standard for the references for books, journals,
and online material.
GLOSSARY
If you use any acronyms, abbreviations, symbols, or
uncommon terms in the project
report then their meaning should be explained where they
first occur. If you go on to
use any of them extensively then it is helpful to list
them in this section and define the
meaning.
APPENDICES
These may be provided to include further details of
results, mathematical derivations,
certain illustrative parts of the program code (e.g.,
class interfaces), user
documentation etc.
In particular, if there are technical details of the work
done that might be useful to
others who wish to build on this work, but that are not
sufficiently important to the
project as a whole to justify being discussed in the main
body of the project, then they
should be included as appendices.
1.5 SUMMARY
Project development usually involves an engineering
approach to the design and
development of a software system that fulfils a practical
need. Projects also often form
an important focus for discussion at interviews with
future employers as they provide
a detailed example of what you are capable of achieving.
In this course you can
choose your project topic from the lists supplied in Unit
4: Category-wise Problem
Definition. The next Unit Guidelines and Suggestions will
provide you detailed
guidelines and suggestions, which will be useful for you
during project development
and the preparation of the report.
1.6 FURTHER READINGS
1. Modern Systems Analysis and Design; Jeffrey A. Hoffer,
Joey F. George, Joseph
S. Valacich; Pearson Education; Third Edition; 2002.
2. ISO/IEC 12207: Software Life Cycle Process
(http://www.software.org/quagmire/descriptions/iso-iec12207.asp).
3. IEEE 1063: Software User Documentation
(http://ieeexplore.ieee.org).
4.
ISO/IEC: 18019: Guidelines for the Design and Preparation
of User
Documentation for Application Software.
5. http://www.sce.carleton.ca/squall.
6. http://en.tldp.org/HOWTO/Software-Release-Practice-
HOWTO/documentation.html.
7. http://www.sei.cmu.edu/cmm/