SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may...
Transcript of SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may...
310CSC302 Software Engineering Project
Student Handbook
September 2006
Contents
1 Module Co-ordinator 2
2 Course Organisation and Timetabling 2
3 Course Aims and Objectives 3
4 Course Background 4
5 Project System Demonstration 5
6 Project Dissertation 5
7 Dissertation Structure 6
7.1 The Main Text 7
7.2 Publication of Results 9
7.3 Copyright of Material Supplied 9
8 Allocation of Marks 10
9 What You are Required to Submit: A Summary 10
10 Dissertation Assessment 11
11 Background Reading 12
12 Types and Choice of Project 13
12.1 Student-specified projects 13
12.2 Other types of available projects 14
12.3 Level of Project Difficulty 14
Project Preference Form 16
- 1 -
1 Module Co-ordinator
Professor D Crookes
Room G49, ECIT (Tel. 028 9097 1724)
[Occasionally, Room 1.2, No. 16 Malone Rd (Tel. 028 9097 5467) ]
Email: [email protected]
2 Course Organisation and Timetabling
The dates and deadlines for the various stages of the project are:
Friday 29 September 2006 Submit Project Preference Form
Friday 6 October 2006 Supervisor allocated
Monday 23 October 2006 Submit Problem Specification
Monday 4 December 2006 Submit Interim Report
Monday 30 April 2007 Submit Dissertation
Thursday 3 May 2007 Demonstration Day
Lectures
A short series of lectures will supplement the course, dealing with practical matters such
as project management, writing reports and the final dissertation. Full attendance is
expected. Lectures will be held in Room G07, Peter Froggatt Centre. For the first
term, lectures will be every two weeks. You will receive notification for those in the
second term. The dates for the first term are:
September 25
October 09, 23
November 6, 20
As soon as your supervisor is allocated, you should arrange to meet him/her to decide the
project, and develop the Problem Specification for your project.
Course Website
From the CS website, select the module 310CSC302, and click on the link for further
details.
- 2 -
3 Course Aims and Objectives
What are the Aims of this Course?
To give you experience of most aspects of systematic software development
To develop and demonstrate independent problem solving and project management skills
Software development is a process where:
1 The problem being considered is defined
2 A Problem Specification is prepared
3 A Specification of the System's Operational Behaviour is prepared
4 A User Interface is designed to enable the required behaviour
5 A Software System Design is prepared
6 Design Components are Coded and Tested separately
7 Components are Integrated
8 The completed system is delivered
Understanding the need for these stages and what must be defined at each stage is an
important part of the course.
While each project will have a different emphasis, each should involve, to some degree,
the software development processes described above.
The project is also a means of utilising the skills and knowledge you have acquired from
your undergraduate courses and industrial training year to allow you to co-ordinate the
different aspects of Computing into a single project.
How is this Aim Achieved?
• An individual Software Development Project
Why is this Important?
• Many students still think that software development is the same as program coding.
But ...
• Coding is only one aspect of the process of constructing software!
• Problems that on the surface seem relatively straightforward often have hidden depths.
• Successful Software Construction requires organisational as well as technical skills.
- 3 -
4 Course Background
• Software Engineering Project is a project-based course. There is no examination at
the end of the course.
• Marks are allocated for project work undertaken and submitted on or before Monday
30th April 2007 at 4.00 pm.
• Although at times it may appear that your project is more work than a conventional
course, it should not normally be more (students tend to ignore the time they spend
preparing for an examination).
• Your performance in project work is often of special interest to employers, and the
subject of questions during interview; it is also often cited in references written by
staff members. So extra work on your project can be useful.
• Traditionally, each student is allocated a problem set by a project supervisor.
However, this year we are allowing students to propose their own problem as the
basis of their project (see section 12 – You must return your Project Preference Form
by Friday 29th September). The project supervisor will act as the project's sponsor.
• Group work is not permitted at any stage during the course unless it is approved by a
project supervisor (and the Module Co-ordinator) and the nature of the project is that
several students work on a larger task and each student's work comprises an
independent component.
It is the responsibility of the student, not the supervisor, to ensure that the project is
completed satisfactorily. It is the responsibility of the student to arrange regular
meetings with the supervisor during the project, and record minutes of meetings.
Project Roles:
• Student: The student is responsible for ensuring that the project is carried out effectively
and completed on schedule. A student should spend on average six and a half hours per
week on project work. It is the student’s responsibility to record minutes.
• Supervisor: The supervisor is responsible for providing technical advice (normally) and
guidance to ensure that the student can complete the project in the time available. The
supervisor is the project's sponsor (or customer). The supervisor is not responsible for
debugging program code.
- 4 -
If you have a query regarding a technical aspect of a project then it should be discussed
with your supervisor. If you have a non-technical problem with a project then it should be
discussed firstly with the supervisor and then with the Module Co-ordinator.
Additional technical support may be available for some projects depending upon the
hardware and software used. The staff providing this assistance must not be used as
surrogate supervisors.
You are expected to communicate with your supervisor and the Module Co-ordinator via
e-mail as well as face to face.
5 Project System Demonstration
After projects have been submitted, a Demonstration Day will take place. Each student
will be given a time slot when they will be required to give a demonstration of their
completed system to their Supervisor and to their Assessor. The supervisor and assessor
will assign a mark to the system you have produced, based on the extent to which the
completed system conforms to the requirements. If a system is incomplete but partially
demonstrable then marks may be awarded for that portion of the system.
We may arrange a subsequent ‘show case’ demonstration day, where a number of local
employers from industry will be able to view selected demonstrations. While they will
not actually be recruiting, it will be an opportunity for students to bring their work and
skills to the attention of industry.
6 Project Dissertation
The total amount of time available for completing the project and the associated
dissertation is approximately six months. In order to complete the dissertation on time,
the dissertation needs to be started in parallel with the later stages of the development
work. You should aim to complete all development work on the project before the end of
March.
- 5 -
7 Dissertation Structure
The dissertation should normally have the following structure. There may be
circumstances where some variation in the structure is appropriate, but these should
always be discussed with your supervisor.
1 Title Page
This should have the following format:
Title of Dissertation
A dissertation submitted in partial fulfilment of
the requirements for the degree of
BACHELOR OF SCIENCE in Computer Science
in
The Queen's University of Belfast
by
'Student Name'
'Date of Submission'
2 Declaration Cover Sheet (Declaration of Academic Integrity)
This will be available on the course website.
3 Acknowledgements
To those who have helped the author during the project and the preparation of the
dissertation and to anybody who has given financial support.
4 Abstract
A summary (100 words) outlining the subject matter and conclusions of the dissertation.
5 Contents
A complete list of chapters, sections, appendices etc. with page numbers.
- 6 -
6 Main Text
The main body of the dissertation as described below, organised as a sequence of chapters
each normally containing several sections. The main text must not exceed 100 pages,
though it should normally be less.
7 References
A list of references to other documents (books, papers, etc.) which are referred to in the
main body of the text.
8 Appendices
These should include as appropriate:
(a) The signed Problem Specification which was submitted earlier in the year.
(b) A User manual giving details on how to use the software, including details of input
data, output formats and error messages.
(c) Test results, if appropriate.
(d) Other information which is not convenient or appropriate to include in the main
body of the dissertation.
(e) A CD containing your software should be attached to your dissertation using
suitable plastic holders (these may be purchased from the General Office along with
binders for your dissertation).
The minutes of the Project meetings should be retained and shown to your supervisor, as
evidence for assessing your Project Management.
7.1 The Main Text
Students are encouraged to prepare their dissertations using software compatible with
Microsoft Word. The Examiners will be looking for quality rather than quantity in
your dissertation. You should try to keep the main text of your dissertation as concise as
possible. Spelling should be correct, sentences grammatical, and formulae, figures and
tables accurate. All figures, tables and appendices should be given numbers and
headings. Your writing should be precise, concise, fluent and you should avoid
unnecessary detail. As is usual in technical writing, do not describe things in the first
person (say what was done, rather than you did it).
- 7 -
Some dissertations may be organised differently from the chapter headings given below.
However, you should attempt to address each of the following aspects somewhere in your
dissertation. Further details and advice will be covered in lectures.
1. Problem Specification
This is an important section which should give a good overview of the problem to be
solved, from the user’s perspective. It should provide a general description of the
problem including, as appropriate, the way the problem is solved at present and the
advantages and disadvantages of the present method. The goals and user functions
should be stated clearly. The constraints of the proposed solution should be specified,
including a description of the environment in which the software is to be developed,
i.e. the hardware/software platform it will run on, performance constraints, other
programs to be adapted or interfaced to. Verifiable criteria against which the success
of the project is to be judged should be identified. Any changes to the original
Problem Specification should be identified and explained. This chapter should be
largely based on the Problem Specification submitted earlier in the module, although
things may have changed.
2. Specification
This section should contain the specification of the proposed system. It should
include:
(a) A clear and precisely defined data model.
(b) A complete set of function definitions.
(c) Details of error conditions.
(d) All additional assumptions made about the problem
3. Design
This section should describe the design of your proposed system. This should
normally have two parts:
(i) User Interface Design.
(ii) Software System Design. The system should be decomposed into components
with the interfaces between components and the role of each component described. A
clear correlation should exist between your design and your specification.
- 8 -
4. Implementation
The section should include:
(a) A precise specification of each component, outlining the role of that component
in the design.
(b) A precise specification of the important functions and algorithms of each
component.
(c) Details of the test strategy and test suite for each component.
(d) A description of the integration testing carried out.
In keeping with the principle of making the dissertation as readable and fluent as
possible, it is not necessary to present the detailed program code in the main text.
Program code should be presented as a listing in one of the appendices. The program
listing must be appropriately annotated with comments and each component should
have a complete module header. Programs should be written in a clear style with
good program structure and well-defined data structures. The program code should
reflect its design.
5. Conclusion
This section should include a general evaluation of the success of the project
measured against the criteria stated in the introduction. An evaluation of the
hardware/software environment and language used may also be presented.
Suggestions for further work should also be discussed. Do not be afraid to be critical
or to draw a negative conclusion. Not all projects will be successful. A well
explained failure is as acceptable as a spectacular success.
7.2 Publication of Results
The publication of results of the student's work is left to the discretion of the supervisor.
7.3 Copyright of Material Supplied
Material supplied at the outset or during the project may be the subject of copyright (or
other industrial property rights) and other such material may be created during the project.
It is quite in order to make use of this material purely for educational purposes associated
with the project. However, no individual attempt must be made, without the agreement of
the University, to exploit any of the project material commercially by communicating it to
- 9 -
organisations or individuals outside the University or otherwise. In general, the policy is
that any potentially valuable results, whether patentable or not, obtained during the course
of a project which was carried out during the module, should be exploited for the benefit
of the public, the University, the student and the supervisor, but subject to any regulations
laid down by a grant awarding body or the University.
If it appears to the University that a project might be suitable for development and
commercial exploitation, it will initiate steps to this end. Should the student wish to
pursue the commercial exploitation of the project, this must be done with the agreement
of the University. (Normally the University encourages students who wish to take their
project work towards commercialisation, but it must ensure that its intellectual property is
protected).
8. Allocation of Marks
Marks Allocated for Student’s approach and initiative 10%
Marks Allocated for Interim Report 10%
Marks Allocated for System Produced (including demonstration) 40%
Marks Allocated for Dissertation 40%
___
100%
9. What You are Required to Submit: A Summary
1. A Problem Specification (around 3 pages or so) must be handed in to the General
Office before 4:00 pm Monday 23rd October 2006.
This should include a detailed description of the problem, the goals, requirements and
constraints of the proposed solution. A description of the environment in which the
software is to be developed, i.e. hardware, software, other programs to be adapted or
interfaced to, should also be specified.
2. An Interim Report. This normally comprises the final Requirements Analysis and
Specification document (which must be signed by the Supervisor). However, by
agreement with the supervisor at the start of the project, it may instead be a prototype
- 10 -
and a Specification document. The interim Report must submitted by Monday 4th
December 2006.
3. The Demonstration Day to Supervisors and Assessors will be held on Thursday 3rd
May 2007.
4. TWO copies of your bound dissertation before 4.00 pm Monday 30th April 2007.
5. A submission is not considered valid unless the Dissertation is handed into the
General Office and project register is signed. Dissertations must not be left in a
lecturer's pigeon-hole. Dissertations must not be left with another member of
university staff.
10. Dissertation Assessment
Each project dissertation will be assessed by the supervisor and possibly two assessors not
associated with the supervision of the project.
Assignment Submissions
A document must be submitted before 4.00 pm on the day that it is due. A 5 percent
penalty will be incurred for each day a submission is late. (University regulation)
Hardware/Software Platform to be Used
The projects must be developed on the hardware/software platform agreed with the
project supervisor. However, you may choose any computer to prepare your
documentation if the word processor on that computer can be configured to use the
document layout given below. However, the student is responsible for ensuring that
adequate precautions are made to prevent the loss of data.
Submission Format
Two bound copies of your dissertation. (Ring-bound folders, preferably not Lever Arch,
and spiral binding are acceptable). Please print your program code and attach it inside the
binder (unless it is too extensive, in which case it should be put on a CD and enclosed
with the dissertation). Your name and the course title should be written on the front
cover of the binder.
- 11 -
Document Layout
Documents must:
Be prepared using a word processor.
Use Times Roman 12pt font.
Have a page number on each page
Have a Justified Layout with 2.5 cm (one inch) margin on all sides
Must have a line spacing: 1.5 lines
Please read your submissions carefully and check document spelling using the
spelling checking tools. The main text must not exceed 100 pages.
This document is based approximately on the format required.
11. Background Reading
Software Engineering Background
*Software Engineering (7/e), Somerville, Addison-Wesley, or
*Software Engineering: Principles and Practice, Vliet, Wiley.
Or one of the approved Level 2 Software Engineering recommended texts.
In addition, your notes for Level 2 Software Engineering (205CSC210) should be useful
and relevant.
- 12 -
12. Types and Choice of Project
In stating your project preferences, you should consider among other things the skills you
would like to develop through the project, the experience you would like to gain, and the
usefulness of your project in discussing it with potential employers. You should also aim
to match your ability to the project, to maximise your potential achievement.
12.1 Student-specified projects
This year we are enabling you, if you wish, to propose your own project problem. The
aim is to enhance your motivation and enthusiasm for the project.
Constraints
There will naturally have to be certain constraints on the problem, so that the project is
suitable for achieving the learning outcomes of the module. In particular:
a project must involve the development of a significant piece of software;
a simple web development problem is not suitable. However, a web-based system
which involves developing a database, and providing interfaces for dynamically
accessing and updating the database, would for example be acceptable, provided it
requires a sufficient degree of data modelling and processing, and provided the code is
not generated by a tool. The grading of such a project (see below) would depend on
the complexity of the data modelling and the processing.
the project must be a completely new piece of work: for example, it cannot be one
which you have worked on during your placement;
the supervisor (and, if necessary, the Module Co-ordinator) must approve the project
proposal, and may suggest modifications to meet the above constraints;
you must of course not make any use of any projects which are available online unless
approved by your supervisor, and you must reference them clearly in the normal
recommended manner in your dissertation. Project submissions are frequently
checked for plagiarism by submitting them to the national JISC Service.
The programming does not have to be done in Java, but students should be aware that the
supervisor (or Computer Science staff) may not be able to provide technical assistance if
the project is implemented in an environment with which we are not familiar.
- 13 -
12.2 Other types of available projects
For non student-specified projects, to try to provided a better match of students,
supervisors and projects, you will be asked to indicate which types of project you would
prefer to be allocated (or perhaps not to be allocated!). These types are:
(a) A standard software development project
This is normally using Java, typically with some GUI development. Examples are:
games, graphical editors, animation of algorithms for teaching, or data management
systems.
(b) A research-related project.
This typically involves developing a software tool, or developing and implementing or
evaluating algorithms for problems in the research area. The research areas include, for
example:
image and video processing
speech processing
parallel programming / grid computing
programmable hardware systems (using FPGAs)
knowledge and data engineering, including AI
software systems for networks and distributed systems
(c) An industrial project
There is normally a small number of projects available from local software companies.
These are projects which will be specified and supervised in conjunction with the
company, and are normally allocated to students who have not done their placement with
that particular company. They have a particular requirement of being done in keeping
with the company’s professional practices.
12.3 Level of Project Difficulty
The project is meant to bring out the best in you, and to stretch your ability. On the one
hand, if you are given a problem which is beyond you, you may not be able to deliver
anything much at all; on the other hand, if you are given a problem which is not the most
challenging, it will not give you scope to do yourself justice, or the chance to gain very
high marks. We want you to realise your maximum potential.
- 14 -
All projects will therefore be graded, initially by the supervisor, into one of three
categories:
Standard:
Providing a range of challenges, but not of the hardest variety. If done really well, it
should be possible to get a clear First Class mark (up to, say, 75%)
Less Challenging:
If done really well, it should be possible to get a maximum of a good 2.1 Class mark
(mid 60’s). But the standard to achieve a Pass should be reachable by just about any
student, provided the effort is put in.
More Challenging:
Projects of this kind give scope to achieve really high marks if done particularly well.
However, for someone of limited ability, there is the danger of struggling to deliver
anything significant enough to achieve a pass.
Student-specified projects will also be graded in this way, by agreement with the
supervisor.
Some projects may have certain ‘optional’ features or requirements which, if delivered,
would bring the project into a higher category. Project descriptions of this kind may
therefore have two gradings, one for each version.
You will be given the opportunity to state your preferred level(s) of difficulty.
While we will take your stated preferences into account in allocating projects, we cannot
guarantee a project which meets all your preferences. Part of the training in this module
is being able to take any task which is given to you, and complete it to the best of your
ability. Where there is competition for a specific project, allocation will be based on
Level 2 marks.
- 15 -
310CSC302 Software Engineering Project
Project Preference Form
Student Name …………………………………….…………… Student No.……...………….
Please tick all the options below which reflect your preferences. Where you have more than one preferred option, tick all the relevant ones.
I would like to propose my own project idea, subject to input from my supervisor (Technical area: ……………………………………………………………………)or I would like to take whatever project my supervisor allocates
or, I would like to take a project from my supervisor, subject to the following preferences:
I would like to take a Standard software development project
I would like to take a Research-related projectThe research areas which interest me are: image and video processing
speech processing
parallel programming / grid computing
hardware description and design
knowledge and data engineering, including AI
other ……………………………………
I would like to undertake an Industrial project with a local company
Level of DifficultyI would like a project in the following category/categories (please tick those which apply) Any standard
or: Standard
Less Challenging
More Challenging
Please send this form to: [email protected], or leave it for Prof Crookes in the General Office (Crossland Building), by Friday 29th September 2006.
- 16 -