SOFT7003: Advanced Software Production 2019-20
Courseworks 1 and 2:
Manage, Design and Build a Software System
Overview
In these courseworks you must manage, design and build a software system for which there is currently a requirement for a start-up business. Thus, these systems are implementations of live projects in an Agile Project Team.
In Coursework 1 you must work individually on the initial stages of the project to produce the first set of deliverables including: project plan, requirement specification, quality factors, risk analysis, configuration management and test plan. You must document the work individually.
The documents produced will form key components to be used during the second coursework in which you must work as a group to complete the implementation.
Learning Outcomes:
On successful completion of this coursework students will be able to:
- Demonstrate an understanding and professional competency in software production principles and practice.
- Analyse and apply the processes and techniques necessary for the management and production of software projects taking into consideration customer requirements, quality assurance, risk assessment, development schedules and costs.
- Analyse current software production research and development issues using appropriate and reliable information sources such as ACM, IEEE, Springer and Science Direct.
- Demonstrate proficiency in a range of modes of communication including presentations to groups, writing reports and writing technical documentation.
- Identify and analyse risk, reliability, legal, social, environmental, professional and ethical issues relevant to research and problem solving in the domain.s
Coursework 1 (Individual work worth 40%)
Each student within the group is required to work on one of the following components and then combine the work to form a report. The components for this include:
- Project Plan
- Requirement Specification
- Quality Factors and Risk Analysis
- Configuration Management Plan and Test Plan
Students should choose (by mutual agreement) one of the above each and start work in week 1. Students can work as a group but the work must be prepared individually then added to the report. Start by setting up a google drive for your group’s work, and invite your module leader to join it. This will be checked regularly.
Project Plan
The project plan should consist of the activity list, PERT chart and Gantt chart. Where risks are considered relevant appropriate contingency arrangements can be incorporated as alternative plans.
Requirements Specification
The functional and non functional requirements should be identified and a systems analysis should be produced using appropriate UML diagrams to specify the system behaviour.
Quality Factors and Risk Analysis
Identify relevant quality factors, for example using the McCall model or ISO
9126 criteria. You should also ensure that the quality factors are consistent with the requirements specification.
For the risk analysis the project, process and product risks can be estimated then relevant risks can be prioritised to be addressed.
Configuration Management Plan and Test Plan
The configuration management plan should specify how the software will be developed by specifying the tools and techniques to use to manage the source files and development process.The test plan should specify how the final system will be tested to ensure that the functional requirements have been met. Specific tests can be indicated.
The configuration management plan and test plan need to be consistent with the details given in the requirements specification.
Group presentation
Groups are required give two 15-minutes interim presentations to present their proposal and progress to the clients. All members are expected to contribute. The performance of the group and of individuals within a group will be incorporated in the assignment assessment.
Coursework 2 (Group work worth 60%)
Coursework 2 requires you to work as a group to continue the development of the software system. The following sections are expected to be addressed and included in the final group report. The assessment weighting for each component is given below.
Design Specification
The design specification should explain how the specification given in the requirements specification will be realised in terms of software modules, algorithms, data models and data structures. The design specification should guide the code development and testing stage.
Configuration Management and Implementation details
The configuration management and implementation section should explain how the software was developed and also how the final system is built and configured for use. The CM records should also detail the version history for each configuration item. The implementation details should also provide a user guide for the final system.
Fully commented source code
A complete listing of all source, build, configuration and data files is required. Each file must be suitably commented.
Test and evaluation results
Screen shots, or similar, should be captured and annotated to record the testing of each feature, requirement or use case. This will demonstrate that the test plan has been carried out successfully.
For the evaluation results it is suggested that feedback from one or more users from outside the development group is recorded and included as evidence.
Critical Reflection of the development
Consider aspects of the groupwork and development project which worked well and aspects which did not. You can consider:
- Whether sufficient research and investigation was done
- Whether sufficient analysis of requirements was done
- Whether appropriate development methods were used.
- Whether the requirements were fully implemented
- Whether the documentation was a good reflection of the work done
- Whether relevant professional issues were considered
- Whether skills and lessons were learned from the exercise
Minutes of meetings
This section can give a breakdown of the roles and contribution from each of the group members. Groups can also record the minutes of meetings detailing agenda, attendance, discussions and agreed actions.
Group demonstrations and presentation
Groups are required give two interim presentations, a final 10 minute presentation and to demonstrate their working software. All members are expected to contribute. The performance of the group and of individuals within a group will be incorporated in the assignment assessment.
Individual Report
The individual report should reflect on the group work from an individual perspective. The report should be of approximately 500 words and can address your individual contribution, the contribution made by each of the group members and a personal critical reflection of the group-work in terms of effectiveness and coherence. You should aim to identify positive aspects and give suggestions of how any areas of weakness could be addressed. You should also reflect on any legal, social, ethical or environmental issue you felt arose during the development.
Marking Criteria
The assessment weighting for each component of coursework1 and 2 is given below.
Coursework 1 Max. Marks
Project Plan 20
Requirement Specification
Quality Factors and Risk Analysis
Configuration Management Plan and Test Plan
Interim group presentations 20
TOTAL 40
Coursework 2 Max. Marks
Design Specification 20
Configuration Management and Implementation details
Fully commented source code
Test and evaluation results
Critical Reflection of the development 10
Minutes of meetings 10
Group demonstration and presentation 10
Individual Report 10
TOTAL 60
Feedback
The marks and feedback for Coursework 1 will be given by the end of week 8. Formative feedback will be available every week in the practical class on the coursework work completed so far. The summative feedback for the final submission will be available by the end of week 14.
Groupwork Policy
This coursework follows the Free Supervised Model with continuous assessment. Consequently, weekly progress checks will be done during practicals. One of the first things you will need to do as a group is decide who does what. When you do this, bear in mind the marking scheme, and spread the workload evenly so that everyone is contributing work that will be worth a fair share of the total marks.
Please be aware that you will not all receive the same marks, but marks will be awarded according to your contributions throughout the module. You should also take care to balance the workload: all group members should participate in the requirements analysis, system analysis and system design.
Each group member must take responsibility for at least 2 tasks during courseworks 1 and 2 and carry them through the whole design and implementation process. It is important that the work is evenly split within the group.
Your total mark for this module will be the sum of your score for courseworks 1 and 2. To obtain a pass you must obtain at least 50% overall. To obtain a distinction you must obtain at least 70% overall.
Acceptance of module conditions
Registration on this module means that you agree to the requirements, conditions and sanctions associated with the assignment. The instructions are very detailed – read them carefully.
Plagiarism warning
The university regulations on plagiarism will be followed and students are advised to check on correct referencing procedures. Plagiarism is taken extremely seriously at Oxford Brookes and if you are at all unclear about what this is, you should consult our website: http://www.brookes.ac.uk/library/skill/plagiarism.html
Turnitin checks
Turnitin is a web-based tool that supports students in the development of good academic practice when preparing written work for assessment. This text-matching tool allows academic staff to check students’ work for improper use of sources or potential plagiarism by comparing it against continuously
up-dated databases (including web-pages and student work). Turnitin produces an ‘Originality Report’ for each submitted piece of work which indicates all the matches in the student assignment to the web-based sources on its database, and thus can provide academic staff with the opportunity to help students develop proper citation methods as well as to safeguard students’ academic integrity.
Turnitin may be used as part of an investigation into an alleged case of plagiarism but its primary use is to support students’ academic development and enhance good academic practice.
For more information on the use of Turnitin in the University see:
http://www.brookes.ac.uk/services/upgrade/study-skills/turnitin.html
Submission
Week 5: 25.2.2020 5pm submission of outline proposal and project plan on Moodle
Presentation of outline proposal and project plan during practical session
Coursework 1 is expected to be c. 2000 words for each student contribution. The combined report submission should be made by one of the group members. State on the coversheet which group members did each task (use student numbers not names).
Week 9: 24.3.2020
Presentation of project update and project plan during practical session
Week 11: 21.4.2020 5pm submission of complete project on Moodle
Presentations during practical session.
Coursework 2 is expected to be c. 4000 words, excluding the individual reports. Group coursework reports should be uploaded to Moodle. The combined report submission should be made by one of the group members. Please attach the coursework coversheet to the group report.
Individual report submissions from each student are also required to be uploaded to Moodle. Ensure that all work is clearly labelled with group number and student
numbers.