Course Title: Software Engineering Project B

Part A: Course Overview

Course Title: Software Engineering Project B

Credit Points: 24


Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

COSC2411

City Campus

Undergraduate

140H Comp Sci & Info Technology

Face-to-Face

Sem 2 2007,
Sem 2 2008

Course Coordinator: Peter McDonald

Course Coordinator Phone: +61 3 9925 3783

Course Coordinator Email:e24390@ems.rmit.edu.au


Pre-requisite Courses and Assumed Knowledge and Capabilities

Software Engineering Project (Part A)


Course Description

This is a core software engineering course available only to students enrolled in the BP096 program.

Software Engineering Project (Part A) and Software Engineering Project (Part B) combine to comprise a full year course in the final year of the Software Engineering degree program. It aims to provide students the opportunity to explore in depth the phases of the Software Development Life Cycle, including Software Maintenance based on the knowledge acquired during their industry year as well as on academic knowledge.

Teams of approximately four students complete a software project with emphasis on thorough execution of requirements specification, design and testing. Projects are swapped with another group for study of maintenance issues.


Objectives/Learning Outcomes/Capability Development

This course contributes to the development of the following capabilities:
•    Enabling Knowledge: experience with the interrelationships of the software engineering life cycle phases including requirements, design of software solutions and test regimes to ensure quality deliverables, software maintenance, documentation and techniques for communicating effectively with clients.
•    Critical Analysis: Ability to analyse requirements for software systems, and to evaluate and compare design options to create a solution that satisfies the client’s needs.
•    Problem Solving: Ability to design and implement (as part of a project team) a substantial software system , and deploy it at a client’s site.
•    Communication: Ability to effectively elicit system requirements from clients, and to communicate complex IT concepts, relevant alternatives and decision recommendations to both clients and IT specialists, via business reports, standard software development documentation, and oral presentations
•    Team Work: Ability to work as an effective and productive team member/leader in a project that develops and deploys a substantial software system for a real-world client.
•    Responsibility: Ability to apply relevant standards, ethical and social considerations, and an understanding of legal issues to the development and deployment of a substantial software system for a real-world client, especially the responsibilities and obligations project teams have to clients with respect to observing appropriate standards, and delivering a quality product on time and to specifications.


On completion of this course you should have achieved:

- Sharing and integration of industry based learning
- An increased understanding of the interrelationships of the SE life cycle phases
- Ability to develop understanding of requirements, both functional and non-functional, with client
- Exploration and thorough development of design
- Development of methods for describing and communicating design
- Develop ability to design and set up testing regimes to ensure quality deliverables
- Develop understanding of how to maintain and further develop programs written by others
- Develop understanding of the role of design and documentation in building maintainable software
- Develop high level of competency as a Software Engineer


Overview of Learning Activities

Students will form teams of 4 or 5 students, and will be allocated a project sponsored by a real-world client. Each team is expected to work on the project during the academic year, adhering to the prescribed academic milestones and deliverable due-dates. There will also be other meetings and project activities in relation to the client.

Each week there will be lectures and workshops to present material relevant to the different phases of software development and different topics in software engineering. These lectures and workshops also serve to explore case studies, and for the teams to deliver presentations based on their project work.


Overview of Learning Resources

Lecture materials and guides to completing project deliverables will be provided by the lecturer.

Students will need access to the RMIT Learning Hub (http://www.rmit.edu.au/online) for newsgroup/discussion board, and directions to further learning resources and supplementary learning materials.

Students will also need access to the RMIT Library e-resources.


Overview of Assessment

Assessment for this course consists of some team work, a formal written examination and an individual performance evaluation.

The team work requires a series software project deliverables be delivered throughout the semester, one of these a group presentation.

Note: Students must be enrolled in both Software Engineering Project (Part A)  and Software Engineering Project (Part B). The result for both will be awarded at the end of the year and will apply to both courses.