Introduction to Software Development Assignment 2
Each group should assume the role of a Software Start-up Company. Each group will submit the following two items for the IoTBay project:
Working Software: Working software application code will not be submitted via Turnitin. The individually implemented (modules or features) working software application code will be integrated and collated in a single project Zip including single database. Submit ISD project working software code files (source and executable) with readme file (how to deploy and run the software) as a single Zip file in the UTSOnline Assignment 2/ “Working Software Code Submission” folder using your relevant workshop link before 05/06/2020 11:55 PM AEST. You can submit the software only once. You must not make any changes once the software code is submitted. If you make any changes after the submission due date, then the late assignment rules will be applied.
Report: Each group will submit a softcopy (Microsoft Word File or PDF) of the group report containing individual group member contributions. The individual student contributions or parts will be highlighted (with their names and student ids) and collated in a single group deliverable file for submission and assessment (group submission but individual assessment). Each individual contribution will provide the (1) brief description of the assigned software application feature or module, (2) non-functional aspects, and (3) software testing results with executed tests and (4) defect log including (5) individual contribution logbook/timesheets via Turnitin before 05/06/2020 11:55 PM AEST. Use the Project - Assessment item 2 Turnitin link (View/ Complete) in the UTSOnline Assignment 2 folder for submitting your assignment.
Your both software code and report submission files title/name must follow the following naming pattern.
Your workshop activity number–group id
For instance, if your Wrk1 activity number is 02 (see timetable for your activity) and group id is G1 then your submission file title/ name must be worded as 02-G1. From each group only one student (project leader) should submit the assignment on the behalf of the whole group. You do not need to put the student ids of all the group members on the file title/ name. You must check Turnitin report and ensure that your work does not contain plagiarism. You may submit your report to Turnitin many times before the submission due date. Final Turnitin reports can be used as evidence by the teaching staff if plagiarism is suspected in an assignment and will be dealt as per University rules. Do not allow anyone to copy your solution – this is considered misconduct; all miscreants will receive a mark of 0, at best for the assignment and will be dealt as per University rules. You may be required to provide the hard or soft copy of the assignment anytime during the semester.
The assignment will be done in a group (preferably in the same workshop and same group as for assignment 1). Group size should be limited to 4 and no more than 6 students (enrolment numbers and situation-specific circumstance will dictate the actual size of the groups). Groups were formed for assignment 1 (during Weeks 1-4) and for any reason(s) you want to change the group for assignment 2, then it is solely your responsibility to make other arrangements and find another alternative group who is willing to accept you. You cannot change the group once you have started the assignment 2 (Week 7 onwards). This is a group assignment, however each student in the group needs to implement (code) and test end-to-end (as per MVC architecture layers) a complete working (free of defects) software feature or module as their individual contribution. If the overall software works but an individual’s implemented software feature or module does not work according to the requirements, then that individual will receive zero mark for this assignment. This way other members in the groups will not be affected by the no or poor performance of an individual. You must respect other students in the same group, different groups and teaching staff. If you have any group issues, then you must inform your workshop tutor as soon as possible and well before (at least 3 weeks or earlier) the assignment submission or due date. Group assignment issues reported on or after the assignment submission date may not be considered. There will be zero tolerance for any academic and non-academic misconduct. See University Rules, Subject Outline and Academic Misconduct section of this brief for details.
Subject objectives: 1, 2, 3,4 and 5
- Investigate and solve software development problems with minimal supervision.
- Determine and balance the competing goals of software development activities within their constraints
- Plan and manage a software development task to create, modify or extend a software feature or function to completion within the task constraints.
- Apply sound software engineering practices to successfully create, modify or extend a software feature or function.
- Clearly Communicate software and task information to interested stakeholders
You are required to develop a web software application for Online IoTBay. The software should be developed using agile practices and following and MVC architecture designed and planned in assignment 1. You can adjust the above in consultation and approval from your tutor during the assignment 2. This assessment task will require a team of 4-6 students to produce, submit and present a group report (comprises of individual contributions), small working software application (comprises of individually implemented and tested software features or modules) and individual contribution logbooks/ timesheets for release 1 (see minimum viable product section) for Online IoTBay. Based on the plan, software requirements, architecture, and design (submitted for Assessment Items 1) for release 1 (minimum viable product), each individual student in the group shall:
• Working Software Application: Each student in a group will implement and test the assigned (as agreed between the group members and approved by the tutor as a product owner) feature or module of the small software application; and • Report: Each student in a group will provide the brief description of the assigned software application feature or module, non-functional aspects, and software testing results with executed tests and defect log.
The individual student contributions or parts will be collated in a group deliverable for submission and assessment (group submission but individual assessment). The deliverables of this assessment task also include a compulsory oral/visual presentation (no PowerPoint slides) of the individually implemented working software application during the scheduled assignment assessment or review session (showcase), individual contribution logbooks/ timesheets and working software code implemented – as per Subject Weekly Schedule. Any whole team or individual student who failed to appear and present in these compulsory assignment assessment and review sessions (Showcase) will receive zero (0) as a final individual mark. Each ISD project team needs to nominate a project manager/ lead who will submit the assignment 2 (software and report) on the behalf of the whole group or team.
Each group shall explore different ways of ensuring quality outcomes through the agile development and testing approach. This can be supported through a set of software development and testing tools. Please note that the work done in the Assignments 1 is a starting point for students to produce the working software and report in Assignment 2. Working software must be developed and tested for release 1 of IoTBay (minimum viable product). Students must get feedback on their work-in-progress project from their tutors (product owners) during the workshop sessions before formal submission. Note: It is recommended that the essential functionality of the assignment will be implemented using the web technologies and techniques taught in this subject (e.g. Java, JSP, JDBC, Java DB). You are not allowed to use any other technology or framework. You can use CSS or bootstrap framework for web pages and user interface.
You have already implemented the initial prototype in assignment 1 (prototype). It was the starting point of the web application and provided the options of login and register to users (without database connectivity). It should provide further implementations, pages and links for other features (see table below) with appropriate navigation between pages (view), controller and model including database tables and sample data. In consultation with your tutor during Assignment 1 Showcase, you should confirm/ finalise the features from the following table (e.g. 1 feature per team member) for the minimum viable product, update the backlog, assign the individual feature to the team member and align the user stories captured in assignment 1. Features 01, 02, 03 and 04 are mandatory and foundational features for the minimum viable product (release 1). If you are 4 people in a group, then you will include these mandatory 4 features for the implementation and testing for release 1. For 6 people in a group, you will select these mandatory 4 features plus any of the other 2 features of your choice from the list to ensure that each student in a group has the responsibility to implement an individual end to end feature using MVC. Special circumstances or group size (<3) may change the group work in consultation with the tutor and subject coordinator. Professional software development and learning requires team effort. The purpose of the following key features table is to teach you and demonstrate how to systematically organise features (e.g. data capturing/data management to BI & reporting). You can apply these learnings to other Industry and University projects.