48485 Software Systems Design
6cpRequisite(s): 48475 Software Systems Analysis
Fields of practice: Computer Systems Engineering program
Undergraduate
Upon completion of this subject, students should be able to demonstrate development in the following areas.
- setting up a software development project and managing its outcomes
- choosing representations for a software design inside greenfields or legacy systems
- applying standards and tailoring mechanisms, dependent on the project size and complexity
- knowing when deliverables are of sufficient quality, especially with respect to correctness (not necessarily completeness) and coherence to the major stakeholders
- organising a moderately sized software development project, in a team – team building
- understanding software design and development concepts
- ongoing development of critical and independent thinking
- being able to function within a software development group
- an understanding of personal responsibility within the software development process
- an understanding of confidently presenting original material to an audience with wide-ranging interests, and
- an appreciation of the need for and value of critical reflection in one's academic, personal and professional life.
The subject organises students into groups who undertake to complete a project started within a previous subject. The emphasis is one of commitment and self-management. They choose the structure for their group, commit to a project plan that is self-actuated, track and control the artefacts of development, objectively assess the outcomes in a presentation to an audience that consists of academic and industry luminaries and maintain the artefacts in a self-perpetuating configuration management system.
Within this, students examine what they have previously done, in a self-critical exercise. They are invited to review legacy components left by other participants. They make decisions about its value, which requires intense justification. They then review the impact on the existing architecture and high-level design, making changes in a series of supplementary design documents. They commit to what is possible to be achieved in the duration of the course – this also requires intense justification that includes time management and Gantt charts. The commitment is what the students are assessed on once the project is complete. The group then decides on what methodologies and tailored software engineering processes are to be employed for the development.
The final component is the presentation – the crowning achievement of their success (or failure) to achieve their commitment. A course dinner is organised by the students as a fitting end to the project.
The subject is facilitated by a software system engineering team consisting of a coordinator, lecturer and tutor whose responsibilities include facilitating lectures, tutorials, laboratories, workshops and seminars, and conflict resolution for any difficulties that may arise from the group activities.
Assessment: Assessment consists of two major assignments as described above for group work, engineering logs for individual assessment and a bonus of up to 5 per cent for individual presentation of a researched or assigned topic. In the event of problems within the project development and group assessment being compromised, an exit interview for each individual or the entire team shall be applied at the discretion of the coordinator.
Typical availability
Autumn semester, City campus
Spring semester, City campus
Access conditions
Note: The requisite information presented in this subject description covers only academic requisites. Full details of all enforced rules, covering both academic and admission requisites, are available at Access conditions and My Student Admin.