RMIT Classification: Trusted
School of Computing Technologies / STEM College
—
COSC2471/2472 iPhone Software Engineering
Assessment 1: Initial plan and iOS SwiftUI code
—
Due date: Sunday, 25th August 2024 11.59 pm AEST
Weighting: 20 marks (worth 20%)
Assessment type: Report + SwiftUI iOS code
Page limit (report): 10–15 pages (+/-10%)
Group or individual assessment: Group of 2
—
Overview
Do you have an idea for an iOS app that you’ve been thinking about for ages but have never
had the time or confidence to build?
• Does a friend or family member have an idea that they keep telling you about?
• Do you run a business that would benefit from an iOS app?
• Do you think you could implement a feature of your favourite app in a more
interesting way?
• Or maybe you’re so in love with your favourite app that you’d like to pay homage to it
by honing your SwiftUI skills, recreating it or a portion of it, and then making it unique
in some way.
The final deliverable for this course is an iOS app developed with Xcode 14 or 15 with a
Swift code base. It must adhere to the following 3 requirements:
1. The app must be built using SwiftUI. Storyboards are not permitted, and you will get
a ZERO for using Them. This is a course about SwiftUI.
2. The app must use several different types of views, such as the standard layouts
offered by SwiftUI and a custom layout.
3. You should primarily consider an app that has a list of data that you want to manage.
The above requirements will make your idea compatible with the course requirements.
This assessment focuses on the careful planning and implementation of a prototype
before assessment 2, which will be the complete app.
Page 1 of 5
RMIT Classification: Trusted
Tools
• Xcode
• GitHub
• Figma
• Text editor & PDF file creator
Course learning outcomes
This assessment is linked to the following course learning outcomes:
CLO 1 Describe the limitations and challenges of working in a mobile environment as well as the
commercial and research opportunities presented by these technologies.
CLO 2 Apply the different types of application models/frameworks used to develop mobile software
applications.
CLO4 Describe and apply software patterns for the development of the application models
described above.
CLO5 Apply critical analysis, problem solving, and team facilitation skills to mobile app software
engineering scenarios.
Marking criteria
This assessment will measure your ability to:
Part 1: Report (10 points)
Part 2: SwiftUI iOS prototype code (10 points)
Kindly check the grading rubric for further details.
Page 2 of 5
RMIT Classification: Trusted
Assessment details
Part 1: Report [10 marks = 5 x 2]
Your task is to write a detailed proposal for the app. The final PDF report must cover the
following FIVE points:
a) An introductory page containing the app name, your group, the URL of your Git
repository, and any other necessary details.
On the next page, add a table of contents with section details and page numbers.
The page numbers must be hyperlinked to the correct sections in the report.
b) Explain your app and its purpose. Your app should aim to accomplish one main task.
What problem are you trying to solve?
A detailed review of at least 4 apps to inform the design and features of your
intended app.
c) Demonstrate that you have applied an iterative process to the development of the
design and features in your app.
You are strongly recommended to reference to Apple’s Human Interface Guidelines
(HIG):
https://developer.apple.com/design/human-interface-guidelines
Apply the design recommendations from HIG to ensure that the app is intuitive to use
and does not require the user to spend a lot of time figuring out what the app does
and how to use it.
d) Completed wireframes that show the application of design themes and principles in
the finished product.
e) Analyse the data requirements of the app and design a data model suitable for the
persistence of the application data.
Identify a relevant remote web service (API) that can provide data for use in your
app.
Write the report to a high professional standard. You will lose marks for typos and ungainly
and unprofessionally formatted writing. Spend time researching the ideas for various apps
and get a good grasp of what you will create; your report must reflect this detailed research.
Do not create a plaintext report only; make it professional and thorough. You must use the
Harvard style of referencing for all purposes. For details, please read the guide at:
https://www.lib.rmit.edu.au/easy-cite/?styleguide=styleguide-6#stn-0
Page 3 of 5
RMIT Classification: Trusted
Part 2: SwiftUI iOS prototype code [10 marks = 5 X 2]
After completing the tasks in Part 1, use Xcode to create the prototype of your SwiftUI iOS
app. At this stage, you can test your app using any iPhone device simulator. No testing on a
real device is needed, as this is just a prototype.
The prototype must cover these points:
a) Effective use of GitHub during the development process. Your repository must be a
part of
rmit-iPSE-2024-s2 organisation. Please read rubric for further details. Your code
repository must follow the format a1-sStudentNumber, as an example a valid
repository name is a1-s31111111.
b) The prototype must use layouts supported by SwiftUI and
have one custom layout implemented for a screen.
All the layouts and content should make sense in the app's context. Use of lorem ipsum
text is not allowed.
c) All data must be stored via data structures. At this stage, the use of databases and
iCloud is not permissible.
d) You must create at least 5 connected screens for the prototype.
e) Write efficient code, and general code elegance rules apply. Please read the rubric
for details.
Submission instructions
Create ONE zipped archive containing your PDF report and project code.
Please ONLY submit 1 zipped archive via Canvas.
Page 4 of 5
RMIT Classification: Trusted
Academic integrity and plagiarism
Academic integrity is about the honest presentation of your academic work. It means
acknowledging the work of others while developing your own insights, knowledge, and ideas.
You should take extreme care that you have:
• acknowledged words, data, diagrams, models, frameworks and/or ideas of others
you have quoted (i.e., directly copied), summarised, paraphrased, discussed, or
mentioned in your assessment through the appropriate referencing methods.
• provided a reference list and /or bibliography of the publication details so your reader
can locate the source if necessary. This includes material used from Internet sites.
If you don’t acknowledge the sources of your material, you may be accused of plagiarism
because you have passed off the work and ideas of another person without appropriate
referencing, as if they were your own.
RMIT University treats plagiarism as a very serious offence constituting misconduct.
Plagiarism covers a variety of inappropriate behaviours, including:
• contract cheating- paying someone else to do your work.
• failure to properly document a source.
• copyright material from the internet or databases
• collusion between students.
Use of ChatGPT:
Generative AI tools such as ChatGPT should be approached with caution. The AI is
basically re-packaging text that somebody else has written. (We will discuss the issue
in class, both in terms of academic standards and because the technology will be
important in your careers.) Keep it simple and only submit work which you did
yourself. Please ask if you have any questions or are not sure about anything.
For more details concerning referencing anything found via ChatGPT, kindly read:
https://rmit.libguides.com/referencing_AI_tools
Assessment declaration
When you submit work electronically, you agree to the assessment declaration.
Page 5 of 5