School of CSE - Course Revision Proposal

Course Title:

COMP3111/9008: Software Engineering

Proposer:

Albert Nymeyer

Rationale

Why is the revision being proposed?

COMP3111/9008 has been given in essentially the same format for the last 8 sessions. In essence this format comprises 50% the B-method and 50% classical software development. The lectures in these 2 strands are intertwined.

The course is being revised because:
1) The general feedback from students for this course is very negative. A crucial objective of the course is to promote the use of a formal method in s/w development, and demonstrate the important role it plays. The course is failing to meet this objective,
2) The integration between the B-method and classical s/w development is poor. The students do not see any significant connection, and view the course as being disjoint.
3) Experience with teaching the B-method suggests that the method needs to be taught in its entirety. There is simply not enough time in the course to do this. In fact, one could certainly argue that a full 6uoc course needs to be devoted to the method. COMP2111 has of course become such a course.
4) While the course is ostensibly project based, this has been difficult to organise because of the ramp-up time needed to get students up-to-speed in the B-method. In practice, students tackle the project in just the 2nd half of the course.

What are the academic objectives?

The objectives of the revised course are the following: 1) teach the students the modern classical method of s/w development 2) let students experience working in a group project

Which programs/stage(s) does it serve? What proportion of students do you expect to come from which program?

No change from previous. The course is compulsory for CE and CS students.

Why can the same objectives not be achieved with the current course?

See above.

How does the proposed course relate to other courses?

There is some overlap with:
- COMP2111: as described above, COMP2111 focusses on the B-method as a software development tool. This course should of course be available to students, and is an excellent alternative for students that wish to study a strictly formal approach.
- COMP'OODI as proposed by John Potter is also concerned with software development, but focusses on (O-O) design and implementation, and test-driven software development.
- COMP3710 is being revised to become `the' project management course for all of engineering. It does not address the important issues in software development.

Stakeholders and Consultation

Consultations and discussions have occurred with Sri (CE director), Tim (CS director), Ken (SE director) and within the SE cluster. There is consensus that the current delivery of COMP3111 is inadequate, and the course needs revision. The CE director has spoken out strongly for a course that focusses on traditional software engineering, as recommended by the IEEE.

Enrolment Impacts
Likely enrolment (with justification), and impact on enrolments of other courses.

No change

Justification of Prerequisites (or lack thereof)

The current prerequisite of the course is COMP2011 or COMP2711. These can be dropped.

Delivery and Assessment

Anything noteworthy about delivery mode, assessment (with justification).

The course is:
Project based: The course will be project based. This means that students will be grouped very early in the course, and will work together throughout the course.
Lectures: The lectures will provide stronger support to the software project.
Assessment: The current intention is that a final examination will be the only individual assessment in the course. Peer assessment procedures will be used to gauge contributions from individuals to group deliverables.
Mentors: Mentors will play an important role in the course. There will be no tutorials.

Handbook Entry

The current handbook entry on the website is:

Informal specification: Data flow diagram methodology, analysis, design, testing, management and documentation of software. Formal specification: set theory, logic, abstract machines, case studies. The B Method, a formal development method. The B Method will be supported by the use of the BToolkit. Managing the project life cycle. CASE tools. A major group project is undertaken.

The undergraduate handbook says the following:

Informal specification: Data flow diagram methodology, analysis, design, testing, management and documentation of software. formal (sic) specification: set theory, logic, schema, calculus, case studies. The Z specification notation. Managing the project life cycle. CASE tools. A major group project is undertaken.

The new text could be:

The phases of the software lifecycle: requirements, specification, (informal and formal) analysis, design, implementation, testing, integration, and maintenance. Also focusses on software project management. A major group software-development project is undertaken.

Textbooks/References

Object-Oriented and Classical Software Engineering, 6th Edition Author: Stephen Schach; McGraw Hill International, 2005

Syllabus (Indicative syllabus / overview of contents)

An overview of the current course, the IEEE recommendation, and the revised course, using the section titles from IEEE, is shown below. The number of lecture hours is given.

 IEEE Section TitleCurrentIEEEProposed
1Overview/motivation213
2Languages-2-
3*S/W processes323
4*S/W Reqs and Specs24#612^
5*S/W Design (Classical, OO, reuse)366
6*S/W Testing/Validation (bbox,wbox,reviews)666
7*S/W Evolution (conf & version mgtm, maint.)-43
8*S/W Tools/Environs (CASE,test)-23
9Language Translation-5-
10S/W Project Management446
 (Total Hours)423842
* Core (others are elective)
# Includes all of the B-method, ERDs and DFDs.
^ Broken down into requirements gathering, informal and formal system specification and analysis

The major differences are:
1) No B-method. There will be a formal component in the course, however, and it will need to be doable/meaningful in the limited time.
2) Some time on design methods like extreme programming and design patterns (possible overlap with COMP'OODI).
3) Introduce configuration mgmt and version control
4) Exposure to a (standard) CASE tool (UML based) like Rational software. UML will figure prominently in the course.
5) More time spent on project management.

Note, some of the above changes mirror changes in the new edition of the course text for 2005.

Effect on School Resources:

1. Who is proposed to teach the proposed new course, and what impact would this have on their planned/current allocation?

No change to choice of lecturers.

2. What sort of tutorial component is proposed, if any?

Mentors will be important for advising project groups.

3. What is the likely impact on lab utilisation (this relates to assignment and project work as well as scheduled labs?

The B-toolkit is used substantially in the current course. In the revised course it will be replaced by one or more `lighter' CASE tools, yet to be decided upon. These tool(s) should be UML based.

4. Any other resource needs? E.g. special print/disk quota, access to servers, access to special machines, special labs.

No