UFCFED 30 M
UFCFED-45-M Group Software Development Project
Overview
This module gives the students the opportunity to extend, consolidate and apply the knowledge they have gained in the prerequisite modules. The focus of the module is on the completion of a group project. Teaching and learning is largely driven by the requirements of the project.
Objectives
- Devise and participate in strategies for the effective working of a group towards a common goal
- Demonstrate project management skills and techniques in a group-based setting while engaging in a practical software project to produce a high quality software product
- Critically understand and employ both algorithmic and non-algorithmic software cost estimation techniques, planning/tracking techniques, risk management and other project management techniques for their chosen group software development project
- Employ appropriate software development process models, software development languages, methods, tools and modeling notations for the chosen group software development project
- Demonstrate critical understanding and consideration of legal, social, ethical and professional issues
- Employ appropriate configuration and quality management standards and procedures for both the software process and the developed software product
- Provide critical evaluation of the experience in undertaking a group-based software development project with critical reflections on software engineering lessons learned with regards to software development process, methods, modelling techniques, quality and configuration management aspects, etc.
Curriculum
Software engineering as a coherent process.
The role and benefits of the SEI Capability Maturity Model.
Selection, evaluation and use of CASE tools.
Software cost estimation both algorithmic and non-algorithmic methods.
Critical reflection on current software engineering practices.
Organisation and management of a software development team.
The Software Requirements Specifications Document.
Documentation issues and change management using traceability techniques.
Quality and configuration management issues.
Risk management.
Project monitoring and control.
Task allocation and resourcing.
Computer supported collaborative work.
Application of system/software modelling, design and construction techniques to a group project.
Legal, Social, Ethical and Professional issues.
Usability issues.
Assessment
Proposal (15%) Portfolio (60%) Report (25%)