CITS5551 Assessment
The main assessment in this unit is the software project. You are expected to meet regularly with your team mates and with your client as appropriate. You should contact and meet with your client as soon as possible to enable your team to get started. Everybody should keep a record of every meeting. Who was present, what was discussed, what tasks were assigned with what deadlines, and when the next meeting will be held. Students will be expected to show these notes to the unit coordinator upon request.
In the first few weeks, you will need to be working on the functional and technical specifications for the system and the project plan. You will need to come up to speed with the technologies involved in the project. You may not have the requisite experience or be familiar with the coding platform you have chosen and so you will all need to become familiar with these technologies. Remember that it is a requirement that all students be involved with all aspects of the project - everyone needs to code. This is either coding the product itself, or writing functional and system tests, deployment technologies or other tools.
Remember that you should be spending 10 hours a week on this unit and so the quantity of work should be proportional to that amount of time. Even though the deliveries relate to prototypes and documentation, if you are in a position to get started on the development of the project, you should do so.
Functional and technical specification and project plan (group) (30%)
Due End Week 7, the group will have prepared documentation to support the development of the project. This will include a functional specification that details what you have been asked to build. The format of this document can take a number of accepted forms - modeling diagrams, use cases, user stories, explicitly stated functional requirements (in the form of "the system shall"). Accompanying the functional specification will be a technical specification that will detail the technical aspects of the project. This will include decisions about development environment, languages, technologies. You will have to decide what platforms the product will be deployed on. To this extent, you will have access to development software and access to resources through Amazon Web Services as necessary. Your documents should have been approved by your client.
Prototype presentation and prototype (40% group/individual that includes 5% professional conduct)
Due End Week 12 You will create a video presentation (screen capture or talking to camera) of the project. This will be roughly 10 minutes long and will introduce the project, talk about what the application is supposed to achieve, detail what decisions you made about scope and technology and then demonstrate the prototype and/or wireframes you have developed.
The team should also submit prototype code demonstrating key functionality to be delivered. Obviously, the full implementation of the system is not expected at this stage. Your prototype should include additional system mockups that are not included in the specifications, (any programming language suitable/chosen for the project) code snippets, HTML files, etc. Look at previous projects that are included in the GitHub repository for examples of how previous groups have documented this stage.
Included in the document should be a page for each team member detailing their individual contribution to the project. Project plans should be clear about what tasks have been assigned to each individual and the proportion of work should be equal for each team member.
Remember that you should be spending 10 hours a week on this unit and so the quantity of work should be proportional to that amount of time. Even though the deliveries relate to prototypes and documentation, if you are in a position to get started on the development of the project, you should do so.
Essay (30%, individual)
Due End Week 12
The essay component will require all students to write an individual essay. The essay should be approximately 3,000 words. The essay topic is:
Software (and hardware) applications can have significant implications for the end users in terms of the impacts on their individual rights such as the right to privacy and non-discrimination and the overall functioning of society. Thinking of applications such as those created by companies like Facebook, Twitter, Google, Apple or Amazon discuss how the developers involved did not consider how their applications would be used and the unintended consequences of those applications on individuals and society as a whole. Should the developers have anticipated the the varied uses of their products and if so, what responsibility should they bear in those consequences? Does the ACS Code of ethics have any relevance in the matter? Should their be laws or other regulations to stop this from happening in the future or do you think that the technology companies should simply provide a technological solution to any problems their software might cause?
Essay Marking Criteria
- The document is professionally presented in readable, good English
- All citations and quotes from other work is clearly indicated with an appropriate and standard referencing style (i.e. don't plagiarise)
- The essay has a clear structure of an introduction, main discussion and conclusion
- Suitable examples from industry are given to form the basis of the argument being made
- The examples are analysed based on a view of the ethics, professional code of conduct or general societal responsibilities of software engineers and the companies they work for.
- An opinion is expressed about what the consequences should be for software engineers and companies where the products are misused - should their be fines, sanctions, banning?
- Evidence of what approaches countries and other regulatory organisations have taken in these situations
- Remember, it is OK to have a point of view, just back it up with cited evidence and a clear argument
Please submit through the Turnitin submission on the LMS