首页 > 其他分享 >COSC239图形设计应用

COSC239图形设计应用

时间:2023-05-19 14:33:12浏览次数:41  
标签:courses should will COSC239 user 应用 marks 图形 your



RMIT Classification: Trusted
Further Programming
COSC2391
Assignment 2: Graphic Design Application
Assessment
Type
Individual assignment; no group work. Submit online via Canvas → Assignments → Assignment 2.
Marks are awarded for meeting requirements as closely as possible according to assignment
specifications and the supplied rubric. Clarifications or updates may be made via announcements.
Due Date Week 13, Sunday 4 June 11:59pm. Late submission penalty will be applied unless special consideration
has been granted.
There will be 2 milestones: week 12 in-lab milestone check and week 14 post submission final
interview. You will describe the key concepts adopted in your code, demonstrate code execution, and
explain your code at the milestones.
Marks 45 marks out of 100 for assignment 2
5 marks for week 12 in-lab milestone check in addition to 45 marks.
1. Overview
NOTE: Carefully read this document. In addition, regularly follow the Canvas assignment discussion board for assignment
related clarifications and discussion.
In this assignment, you are required to work individually to develop a Graphic Design Application, named MyTimeTable,
which allows students to manage courses. Building on your work in Assignment 1, you will practice your knowledge of
object-oriented design principles, design patterns, Java Collections Framework, generics, exceptions, graphical user
interfaces, serialization and deserialization, and unit testing. You will use Java SE 8 or later and JavaFX.
Task specification
Basic functional requirements are listed below (mandatory).
• The application can have many users.
• Each user can create a profile, with a unique username, password, the first name, the last name, and the student
number.
• Once the username and password are created, the user can log in.
• Each user has a dashboard after login. The board should display a user’s student number, first name, and last
name.
• Each user can perform the following actions:
o Edit the profile (i.e., change the first name, the last name, or the password). Student number must not
be editable.
o View all courses. The list of all courses offered is provided in course.csv file. The program should show
all available courses (i.e., courses that still have capacity for extra enrollments) and courses that are
full, where there are clear indicators about which courses are full and which courses are still open for
enrollments.
o Search for a course. A user should be able to search for a course and look up the information of that
course.
o Enroll into a course. The program should be able to detect duplicated enrollments (i.e., a student cannot
enroll into the same course twice), and detect class clashes (i.e., a student cannot enroll into a course
that clashes with another course that he/she has already enrolled into.)
o Withdraw from a course.
Page 2 of 4
RMIT Classification: Trusted
o View all enrolled courses in list view (a list of all enrolled courses) and timetable view (a timetable of all
enrolled courses).
o Export the list of enrolled courses to a file.
o Log out
• Each course from the couse.csv has the information of Course name, Capacity, Year, Deliver mode, Day of
lecture, Time of lecture, and Duration of lecture.
o For each course, the number of total enrollments should not exceed the maximum capacity. For online
courses, the capacity is specified as “N/A”, and therefore, there is no limit on the number of total
enrollments.
o You can assume all courses run from beginning of March until end of May, for simplicity.
• The profile data should persist between logins for the same user.
• You will get a bonus (4 marks) if you provide the following functionalities for each user:
o Change the font size, font type (e.g., Calibri), text color, and font style (i.e., bold, italic). Note that bonus
marks will be awarded given the coverage of texts, of which the fonts can be changed.
• You will get a bonus (1 mark) if you store users’ passwords through hashing: a password is hashed and stored
as the hash value in the database rather than a plaintext.
• The bonus marks will be added to compensate any marks that you have lost elsewhere.
Disclaimer: the specification in this assignment is intended to represent a simplified version of a system in real life and
thus is not meant to be a 100% accurate simulation of any real system or service that is being used commercially.
4. Assessment details
In this assignment, you will incrementally build a graphic design application, named MyTimeTable. The assignment is
structured into 2 milestones which must be demonstrated to your lab tutor.
Part A (mandatory)
You are required to work on the backend part of the application (excluding data storage, which will be covered in Part C)
regarding the basic functions mentioned in the task specification in Section 1 - Overview. You can start this part from
week 7 and work on it until the due date.
• You will incorporate object-oriented concepts to design and implement classes (including abstraction,
encapsulation, inheritance, and polymorphism).
• You will need to choose appropriate data structures to store relevant information.
• You will need to document the code properly by following Code Conventions for the Java Programming Language
by Oracle: https://www.oracle.com/java/technologies/javase/codeconventions-introduction.html
Part B (mandatory)
You are required to work on the frontend part of the application and connect the frontend with the backend regarding
the basic functions mentioned in the task specification in Section 1 - Overview. You can start this part from week 7 and
work on it until the due date.
• You MUST use JavaFX.
• Your program should include appropriate JavaFX components to make the application easy-to-navigate. For
example, each window should have a window title; menu options (if applicable) are selected from a menu bar.
• Your program should respond clearly to every user action. For example, if the user types a wrong password, the
login window should display a clear error message and ask the user to type again.
• Your program should provide a visual consistency. Avoid using different styles and labels for similar elements on
different windows of the application.
• You are required to follow MVC design pattern to connect the frontend with the backend.
• The UI design of your program should serve the purpose of the application.
Part C (mandatory)
Page 3 of 4
RMIT Classification: Trusted
You can start this part from week 9 and work on it until the due date.
• Your program should save the user profile data and allow the application to be restarted in the same state it was
in at the end of the previous execution. You must store the data in a database (using JDBC) when the application
closes and restore the data when the application starts again.
Part D (optional)
You may optionally implement the advanced functions mentioned in the task specification in Section 1 - Overview. The
completion of part D will provide bonus marks (i.e., 5 marks) which can be used to compensate the marks that you have
lost elsewhere. You can start this part from week 7 if you are planning to obtain some bonus marks.
6. Academic integrity and plagiarism (standard warning)
Academic integrity is about 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 of the publication details so your reader can locate the source if necessary. This includes
material taken from Internet sites.
If you do not 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:
• Failure to properly document a source
• Copyright material from the internet or databases
• Collusion between students
For further information on our policies and procedures, please refer to https://www.rmit.edu.au/students/studentessentials/rights-and-responsibilities/academic-integrity
7. Marking Guidelines
• GUI (10/45)
• Functionality (20/45)
• Object oriented design and choice of data structures (10/45)
• Source code quality (5/45)
• Milestone check week 12 (5/5)
GUI: The application is easy-to-navigate and consistent and responds clearly to every user action. Note marks for GUI
are checked during the post-submission interview. If you do not attend the final interview, you will be awarded ZERO
mark for GUI.
Functionality: All basic functions required by specification are implemented correctly covering different cases that might
happen during the usage of the program. Note marks for Functionality are checked during the post-submission
interview. If you do not attend the final interview, you will be awarded ZERO mark for Functionality.
Object oriented design and choice of data structures: Appropriate choice of data structures that serves the purpose of
the application. Class designs that adhere to the SOLID principles.
Source code quality: Adequately documented and properly indented code; appropriate class/method/variable names.
Milestone checks:
Page 4 of 4
RMIT Classification: Trusted
• In-lab milestone check in week 12 (5 marks): Clearly explain how the code follows MVC; complete required
functions and demo via code execution, including user login and sign-up, change of user profile.

 

标签:courses,should,will,COSC239,user,应用,marks,图形,your
From: https://www.cnblogs.com/messagejava/p/17415040.html

相关文章

  • 直播平台制作,支持其他应用打开,接收其他应用文件并保存
    直播平台制作,支持其他应用打开,接收其他应用文件并保存AndroidMainfest中      <activity      android:name=".ui.activity.OtherFileActivity"      android:screenOrientation="portrait">      <intent-filter>    ......
  • Win10/11启用旧版Windows照片查看器(而非“照片”应用)
    摘自Win10/11启用旧版Windows照片查看器-哔哩哔哩(bilibili.com)方法一通过将下列文本保存在.reg文件后导入WindowsRegistryEditorVersion5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsPhotoViewer\Capabilities\FileAssociations]".jpg"="PhotoViewer.File......
  • 驱动开发:通过应用堆实现多次通信
    在前面的文章《驱动开发:运用MDL映射实现多次通信》LyShark教大家使用MDL的方式灵活的实现了内核态多次输出结构体的效果,但是此种方法并不推荐大家使用原因很简单首先内核空间比较宝贵,其次内核里面不能分配太大且每次传出的结构体最大不能超过1024个,而最终这些内存由于无法得到更好......
  • 文心大模型提示词笔记——应用场景案例
    发现:绝大多数应用场景的Prompt,质量都与使用者对“好结果”的了解成正比。1产品海报2写科普文 3写代码指定Markdown、js总结一下这几个例子·拿到应用场景后,先试着判断场景的任务特点,结合任务共性先优化一波。再结合场景主体、应用场合的特点,对生成内容的需求做一些补充说明。......
  • 「聊天机器人构建、智能文档问答」大模型应用开发实操课程来了
    此刻,生成式AI正以惊人的势头改变着我们的世界,无论是在科技、商业还是日常生活中,新的浪潮席卷着全球各个行业和领域。跟过去十几年中“有多少人工就有多少智能”的智障AI比起来,大模型如OpenAI的GPT-4、百度的文心一言、谷歌的PaLM2所展现出惊人的语言理解和生成能力,让人......
  • svg 绘制不规则得图形
    svg如何绘制不规则的图形?一般公司有ui,将图像下载未svg格式,在网页打开 将代码复制下来,直接在网页中使用即可也可以自己在ps或者其他的绘图工具中绘制,保存格式选择svg就行,后面操作方法相同......
  • 跨平台桌面应用环境备忘录
    1、QtQt是一个跨平台的C++图形用户界面库,可以部署在Windows、Mac、Linux、嵌入式系统(QNX等)、Android等平台,兼容广泛。常用软件有:Maya、GoogleEarth、钉钉、WPS、VirtualBox、XnViewMP、RDM、OneDrive等等,应用非常广泛。 Qt目前有商业版和开源版。开源版商业化风险请参考:QtL......
  • FMC子卡设计资料原理图450-基于ADRV9009的双收双发射频FMC子卡 数字信号处理卡 射频收
    FMCJ450-基于ADRV9009的双收双发射频FMC子卡   一、板卡概述       ADRV9009是一款高集成度射频(RF)、捷变收发器,提供双通道发射器和接收器、集成式频率合成器以及数字信号处理功能。这款IC具备多样化的高性能和低功耗组合,FMC子卡为2路输入,2路输出的......
  • 面向对象设计里引入 Friend 是对封装性的破坏吗,friend 在 SAP ABAP 里的应用场景
    笔者的SAP技术交流群里,有朋友提问:我想问一个很基础的问题,为什么类要有friend啊反正我工作这些年,在SAP生产代码里没用过友元,只是在生产代码的单元测试代码里用过,原因也就是让单元测试代码能够访问到被测试的生产类的私有属性。代码如下:SAPABAP的帮助文档:在面向对象......
  • Linux Pycharm 创建虚拟环境并应用
    (1)10.9.54.154面板输入:condacreate--nameTransUnetpython=3.7 (2)安装相应包,选择y (3)查看已有的虚拟环境:condainfo--envs (4)pycharm加载虚拟环境:file,settings,pythoninterpreter,addinterpreter,virtuaienvenvironment,existing,...,anaconda3,envs,Transun......