You are on page 1of 10

Department of Computer Science & Informatics

(CSIS6809)

Project Proposal
[Project Title]

Name: [Student initials & surname]


Student No.: [Student number]

March 2024
Abstract
Short paragraph in which you broadly state the purpose of the project, describe the
solution, end goals in terms of benefits to end user.
Table of Contents
1. Introduction..................................................................................................................... 1

2. Problem Definition and Aims.......................................................................................... 1

2.1 Client needs and design criteria / Problem statement...........................................1

2.2 Existing work.........................................................................................................1

2.3 Proposed solution................................................................................................. 1

3. Design considerations and specifications.......................................................................2

3.1 Technologies involved.......................................................................................... 2

3.2 Hardware and software limitations........................................................................2

3.3 Performance limitations........................................................................................ 2

4. Required skills................................................................................................................ 3

5. Design approach/methodology.......................................................................................3

5.1 Methodology......................................................................................................... 3

5.2 Project components..............................................................................................3

5.3 Planned timeline................................................................................................... 4

6. Environmental Impact.....................................................................................................4

7. Evaluation of solution......................................................................................................4

8. Conclusion...................................................................................................................... 5

9. References..................................................................................................................... 6

i
1. Introduction
Write a short introduction (approximately 200 words) in which you provide the reader
with context. You should draw on relevant, reputable sources to paint a picture
describing the current status of the environment that you intend to apply your project
to. For example, if your project will automate a business process, provide information
about how that process is currently implemented, and how it fits into the broader
business functions. Be sure to highlight the shortcomings of existing systems (where
applicable) or problems that have been identified that you intend to address.

2. Problem Definition and Aims


Once you have provided context, you can move on to selecting a specific issue that
you will be addressing. Your identified problem should therefore come from the
context you provided in the previous section. Depending on the type of project you
are doing (software development versus other projects), this will include different
sections.

2.1 Client needs and design criteria / Problem statement

For software development projects. Based on the stated problem, what are the
individual components that need to be addressed in order to meet the (fictitious)
client’s requirements?

For other project types. What is the problem as you see it (motivate!). Provide
enough information to justify that this problem needs to be addressed.

2.2 Existing work

What has already been done in this field? Are there existing programs/solutions
similar to what you intend to do?

1
2.3 Proposed solution

This section should discuss how you plan to address the points you have mentioned
earlier. This is intended for projects that involve any form of development.

 For software development projects, clearly state the features of the system,
and how they relate to the client requirements. Highlight the benefit(s) to the
end user. If any of the features fall outside the scope of the project, motivate
why.
 For other project types, explain what your project will contribute and how. For
example, is this a new or improved solution to an existing problem?

3. Design considerations and specifications


The client’s needs or the nature of the problem may impose design considerations
on your project. For example, a real-time monitoring system needs to respond in a
timely manner to changes in the system. Games need to take into consideration the
frame rate. Consider the goals of the project and address the following:

3.1 Technologies involved

Take into consideration the previous two sub sections, and select technologies
(programming languages, tools etc...) that will be best suited to the project. Your
choice of technologies should be grounded in literature (i.e. not used simply just
because you are familiar with it), and should strive to use the most appropriate
technologies where applicable. Again, this should be well-motivated and not based
on your opinion!

3.2 Hardware and software limitations

Your system will be deployed in a specific environment. This will often times limit the
sort of hardware you will have available (CPU, memory, network etc...) and the
operating system that you need to develop for.

2
3.3 Performance limitations

Complete where applicable. What are the performance parameters of the system?
For example, how long should it take to process queries? How big is the data set
that it needs to support? What measure of reliability is required (mean time between
failures)? How easy should it be to use?

4. Required skills
It is likely that you will need to acquire additional skills and knowledge to meet the
goals you have set forth in previous sections. This can include learning a new
programming language, using different frameworks, programs, technologies,
operating systems. Keep this in mind when you look at the scope of your project. If
you need to learn many new skills, you may need to limit your scope.

5. Design approach/methodology
This section should focus on your plan of action for the project. It involves time and
risk management, and the selection of a development strategy (or methodology).

5.1 Methodology

What methodology will be followed (software engineering, design science, data


science life cycle, etc...)? Students that are doing something research related, or that
falls outside the scope of software development, should read up on the various
methodologies that are available and pick one that is suitable to the problem.

5.2 Project components

Break your project into smaller components/steps that need to be completed. Try to
identify as many components as possible (UI design and implementation, database
services, queries, testing phases etc...). For data science, list all the necessary
components of the data science life cycle (data understanding, data processing,
model development, model testing, model deployment).

3
Suggestion (Optional but highly beneficial): You could make use of a Critical Path
Analysis and PERT (TechTarget, 2007) charts to list all the individual
components/steps and their dependencies. Highlight the critical paths where
possible.

Figure 1: A simple PERT diagram example.

Make sure you are well aware of which sections of the work will require additional
time and will cause the project to fail if not completed.

Refer to the following links for more information:

1. https://www.mindtools.com/critpath.html
2. http://www.projectengineer.net/how-to-draw-a-pert-chart/

5.3 Planned timeline

You should also create a Gantt (Gantt.com, 2017) chart in which you set up a
development/writing schedule. Be realistic and keep in mind the skills you need to
acquire to complete the project.

6. Environmental Impact
What is the effect of you system when placed in context of the environment? For
example, it is unlikely that your program is the only one that will be running on a
computer/phone. What are the implications if your program crashes, or uses a large
amount of resources? If you are automating a process for example, there may be
severe repercussions that lead to financial loss.

Furthermore, if your program involves personal or sensitive data, or will utilise hu-
man participants for the purpose of evaluation you will need to consider the ethics of

4
the system. You should therefore demonstrate that you are aware of ethical con-
cerns where appropriate (motivate if they are not), and discuss how they will be ad-
dressed (ethics applications, informed consent etc...)

7. Evaluation of solution
How will you judge whether your project has been a success? Use the parameters
set forth in the previous sections along with your chosen methodology to formulate
an evaluation strategy. Upon completing your project, you must use this strategy to
show that your project has been successful.

In the case of software development projects, how do you plan to demonstrate relev-
ant aspects such as the Utility, Reliability, Robustness, Performance and Correct-
ness of your system?

It is important that you learn to be held accountable for the work you do. If your sys -
tem does not meet the goals set forth above, you will be penalised. This includes
missing features, poor performance, incorrect outputs, and so on.

Please note that the chosen project methodology will typically prescribe the evalu-
ation methods that should be used. This can include simulations, lab experiments,
white box testing, correctness proofs and so on. The results of the testing should be
documented where appropriate in your final documentation.

You could typically do a small-scale usability test where you recruit 3 – 5 potential
(typical) users and test them with 3 – 5 (typical) tasks that they have to perform on
your system. You will then measure their performance with different metrics and gain
their opinions of the system via e.g. interviews or questionnaires. These results then
need to be analysed and documented in your technical manual. The issues/problems
that the users identified, also need to be documented and subsequently corrected on
your system before it is finally submitted for assessment.

This whole evaluation process that you will follow needs to be explained here in this
section of the proposal.

5
8. Conclusion
A short paragraph (3 - 4 sentences) summarising the chapter.

ALSO INCLUDE THE FOLLOWING:

Software Deliverable Summary

The software deliverables and their functions/components for this project will be the
following:

 List each software deliverable of your project

o List the functions the each should perform

Complexity/difficulty component(s) of my project

The following aspects will bring the desired complexity to my project to ensure that it
is on Honours level:

 List these aspects here

9. References
You need to include references for everything that you have used to create this
proposal. For example, textbooks or the Internet to find similar systems need to be
referenced. If it is not your own thoughts or work, it needs to be referenced and
credit needs to be given where it is due.

Also refer to the CSIS6809 Module Guide – at the end there is quite an extensive
section on referencing and referencing techniques. Here are two examples:

Gantt.com. (2017). What is a Gantt chart? http://www.gantt.com/?utm


expid=11664174-46.EjGD5xWgTOia25IJzkiv2w.0&utm referrer=https%3A
%2F%2Fwww.google.co.za%2F. Accessed: 2017-02-06)

TechTarget. (2007). PERT chart (Program Evaluation Review Technique). http://


searchsoftwarequality.techtarget.com/definition/PERT-chart. (Accessed:
2017-02-06)

6
7

You might also like