SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may...

26
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 - 1 -

Transcript of SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may...

Page 1: SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may appear that your project is more work than a conventional course, it should not

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 -

Page 2: SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may appear that your project is more work than a conventional course, it should not

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 -

Page 3: SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may appear that your project is more work than a conventional course, it should not

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 -

Page 4: SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may appear that your project is more work than a conventional course, it should not

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 -

Page 5: SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may appear that your project is more work than a conventional course, it should not

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 -

Page 6: SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may appear that your project is more work than a conventional course, it should not

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 -

Page 7: SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may appear that your project is more work than a conventional course, it should not

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 -

Page 8: SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may appear that your project is more work than a conventional course, it should not

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 -

Page 9: SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may appear that your project is more work than a conventional course, it should not

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 -

Page 10: SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may appear that your project is more work than a conventional course, it should not

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 -

Page 11: SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may appear that your project is more work than a conventional course, it should not

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 -

Page 12: SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may appear that your project is more work than a conventional course, it should not

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 -

Page 13: SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may appear that your project is more work than a conventional course, it should not

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 -

Page 14: SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may appear that your project is more work than a conventional course, it should not

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 -

Page 15: SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may appear that your project is more work than a conventional course, it should not

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 -

Page 16: SE 2001-2002 - QUBD.Crookes/CSC302/Student Handbook-2006... · Web view• Although at times it may appear that your project is more work than a conventional course, it should not

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 -