首页 > 其他分享 >FEIT Part 2 & Part 3: Software Development

FEIT Part 2 & Part 3: Software Development

时间:2024-10-29 12:10:04浏览次数:3  
标签:Development students data should Part FEIT student Assessment

University of Technology Sydney, FEIT – Assessment 1Page 1

Assignment 1 – Part 2 & Part 3: Software Development & Showcase

Due date: Sunday November 3, 2024, by 11:59 PM

Weight: 55 out of total Assessment 1 weight 70Project: University Application (CLI and GUI)

Collaboration: Groups of 3-4. Group submission individually assessed.

1- Project Abstract

A local university wants to develop a new interactive system – CLIUniApp - that offers access totwo interactive subsystems for students and admins separately. CLIUniApp stores students’ datainto a local file “students.data”, with all CRUD operations using this file.Students accessing the student subsystem have the choice to login (if they are previouslyregistered) or register. A registered student can enrol in a maximum of four (4) subjects, remove asubject, change their password, and view their enrolment.

Admins already exist in the system and do not need to register. An admin using the adminsubsystem can remove a student from the “students.data” file, partition students to PASS/FAILcategories, group students by grade, view all students, and clear all student data.Develop the software using your preferred IDE in Java or Python with reference to the requirementanalysis, modelling and design in Assessment 1 - Part 1, and submit it as a single .zip file pergroup. Requirements are further detailed in Section 2 - System Menu Requirements and Section 3 -Model Classes. Additionally, it is important to consult the Section 5 - Sample I/O to understand thesystem menu options and potential outputs.

This project also includes a GUI challenge task that reqruies a standalone GUI application calledGUIUniApp. Refer to Section 5 – Case Study GUI Implementation for more information.

2- System Menu Requirements The software features four system menus: one for the university, one for students, one for admin,and one for subject enrollment.

The University System

The university menu allows users to navigate between the Admin subsystem and the Studentsubsystem with the following options:

(A) Admin

(S) Student

(X) ExitUniversity of Technology Sydney, FEIT – Assessment 1

Page 2

The Student System

The student menu allows students to login or register with the following options:

(l) login

(r) register

(x) exit

  • RegisterNew students should be able to register. Their email and password should be verifiedagainst the defined patterns. The system then checks if the student already exist;only newstudents who do not exist in the database will be registered. Upon successful registration,the student’s data should be stored in students.data.
  • Login:A registered student should be able to login. Upon logging in, the system checks if thestudent exists and if so, reads the students’ data from students.data. After logging in, astudent is taken to the Subject Enrolment System.The Subject Enrolment System

Logged-in students can access this system to perform the following actions:

(c) change: Change the password.

(e) enrol: Enrol in a subject. A student can enrol in a maximum of four (4) subjects.

(r) remove: Remove a subject from the enrolment list.

(s) show: Shows the enrolled subjects with their marks and grades.

(x) exit

The Admin System Admins already exist in the system and can simply use the admin subsystem withoutlogging in. The admin system supports the following actions:

(c) clear database: Clear all data on students.data.

(g) group students: Groups students by grade.

(p) partition students: Partition students to PASS/FAIL categories.

(r) remove student: Remove a student by ID.

(s) show: Show all students.

(x) exit

3- Sample Model Classes

The software should contain the following classes at a minimum: Student, Subject, and Database.ou may add more classes based on your team’s Part 1 design.

The Student Class

The Student class has the following fields:

  • id: a unique, randomly generated number formatted as a 6-digit value, ranging from 000001to 999999.
  • Other fields are name, email, password, and <List>subjectsOther requirements are:University of Technology Sydney, FEIT – Assessment 1Page 3
  • A student can only enrol in a maximum of four (4) subjects.
  • A student can enrol/drop a subject at any time.
  • Upon enrolling in a subject, a random mark between 25 and 100 is generated for thissubject.
  • Upon enrolling in a subject, the grade of that subject is calculated based on the mark.
  • A student passes a course if the average mark of all four (4) subjects is greater or equal to
  • A student can change their password at any time.

The Subject Class

The Subject class has the fields:

  • id: a unique, randomly generated number formatted as a 3-digit value, ranging from 001 to
  • mark: randomly generated between 25 and 100.
  • grade: determined based on the mark.

The Database Class

The Database class should contain the functionalities:

  • check if students.data exists before using it and create the file if it doesn’t exist
  • read and write objects from and to students.data
  • clear all objects from students.data

NOTE: All the above operations should interact with students.data.

BEST PRACTICES AND RECOMMENDATIONS (OPTIONAL)The software is best developed using Controller classes (StudentController, SubjectController, etc)to manage the data exchange between the Model classes (Student, Subject, Database) and the menuactions. The Controller classes contain system menus and use the Model classes to performcorresponding operations.

4- Sample I/O

The sample I/O is intended to help you understand the different application scenarios,demonstrating how the program should work and how the output should be formatted.The University SystemUniversity of Technology Sydney, FEIT – Assessment 1Page 4

The Student System – Register/Login

Upon logging in or registering, a student’s credentials are verified against regular expressions(regex) defined as constants. Emails should end with the domain s a valid email, while firstname.lastname@university is not.A password should meet the following criteria: (i) It starts with an upper-case character, (ii) Itcontains at least five (5) letters, (iii) It is followed by three (3) or more digits.Registered stude代写 FEIT  Part 2 & Part 3: Software Development nts are stored in students.data. When a student logs in, the system should read thedata from the file and verify the credentials (as per Sample I/O).University of Technology Sydney, FEIT – Assessment 1Page 5

The Subject Enrolment System – Enrolment

The system should keep track of the enrolled subjects and store the enrolment data within the

Student objects on students.data. Every time a student enrols in a new subject, the overall (average)

mark should be re-calculated.

The Subject Enrolment System – Remove a Subject:University of Technology Sydney, FEIT – Assessment 1

Page 6

The Subject Enrolment System – Change Password

You may reuse the same password.

The Admin System – Listing, Grouping, and Partitioning Students

The Admin System – Remove a Student and Removing All StudentsUniversity of Technology Sydney, FEIT – Assessment 1Page 7The system should read the student objects from students.data when listing, grouping, partitioninstudents, and remove the student object(s) from students.data when removing a student or allstudents.

5- Case Study GUI ImplementationUniversity of Technology Sydney, FEIT – Assessment 1Page 8

GUIUniApp is a challenge task of Assessment 1 - Part 2 and is designed only for registeredstudents. The “login window” is the main window of GUIUniApp. A registered student should beable to log into GUIUniApp and access the “enrolment window” to enrol in a maximum of four (4)subjects. Each time a student is enrolled in a subject, the subject isadded to their enrolment list.GUIUniApp should handle possible exceptions for empty login fields and for attempts to enrol inmore than four (4) subjects. More specifically, GUIUniApp supports the following:Access management: Login for students (No admin options).

  • Enrolment management: A logged-in student can enrol in a maximum of four (4) subjects.New subjects should be added to the student’s enrolment list.
  • Exception handling. Exceptions such as empty login fields, incorrect student credentials,incorrect email format should be handled.
  • Data source management: Use student objects stored in students.data as registered studentsto log into the GUIUniApp.The GUIUniApp should have at least 4 windows as indicated in the marking scheme.

6- Marking Scheme

Total Assessment 1 - Part 2 mark is 50/70. The program must function correctly to receive

marks for functionality, accuracy, design, and output that aligns with the sample I/O. our software (should it work) will be marked according to the following marking schema:

  1. GUIUniApp (7 Marks)

Entity

Criteria

Mark

Login windowMain window. Upon logging in, students are taken to the enrolmentwindow. The registered students are read from students.data.2Enrolment window Enrollment window allows students to enroll in a maximum of four(4) subjects.2Subject windowEnrolled subjects with their marks and grades are listed in subject

window.2Exception windowNotifies users of format errors and when a student tries to enroll inmore than four (4) subjects.1

7- Deliverables and Contribution This assessment requires collaboration and equal contribution from all group members. Theindividual contributions or parts should be collated into one single group submission forassessment. You will be marked individually on Assessment 1 - Part 2 and Part 3. In Part 2,you should include detailed descriptions of each member’s contributions. During the Part 3

Showcase, each group member must present their own part of the project. Any student who fails toappear and present in this compulsory Showcase will receive a final individual mark of zero (0) for

Assessment 1 – Part 2 & Part 3.University of Technology Sydney, FEIT – Assessment 1Page 10The submitted CLI/GUI software must be fully functional to receive marks. If your team choose todo the GUI task, both CLI and GUI applications can be included in the same project folder andsubmitted as a single .zip file. You can include a README file to specify any additional libraries,specific programming language versions, etc, required for running your code.

8- Assessment Submission

Submit Assessment 1 – Part 2 code as a single .zip file per group.File naming convention: group<group-number>-Cmp<lab-number>.zip Upload your assessment file to Canvas under Task 1: Case Study/Part 2: Software Development bySunday, November 3, 2024, at 11:59 PM.

9- Assessment Showcase

Total Assessment 1 - Part 3 mark is 5/70. The Showcase will be conducted during usual lab hours in Week 12. All team members mustattend the showcase. Any student who fails to appear and present in this compulsory Showcase willreceive a final individual mark of zero (0) for Assessment 1 – Part 2& Part 3.Your showcase will be marked according to the following marking schema:

  1. Showcase (5 Marks)Criteria

Mark Demonstrate the working of the software with all group componentsis clear and easy to follow1Includes a walkthrough of the source code to demonstrate individual contributions1

Overall correctness of answers to the questions1

10- Special Consideration

Special consideration for deadline extensions must be arranged beforehand with the subject coordinator. Please refer to the UTS Special Consideration Procedure

(https://www.uts.edu.au/current-students/managing-your-course/classes-and-assessment/specialcircumstances/special-consideration).

11- Late Penalty

Please refer to the UTS Late Submission Penalties page (https://www.uts.edu.au/currentstudents/current-students-information-faculty-law/assessment/late-submission-penalties).University of Technology Sydney, FEIT – Assessment 1Page 11

12- Assessment Misconduct

Please see the subject outline for plagiarism and academic integrity in conjunction with UTS policyand procedures for the assessment for coursework subjects.

标签:Development,students,data,should,Part,FEIT,student,Assessment
From: https://www.cnblogs.com/CSSE2310/p/18512689

相关文章

  • 深入理解Docker,从入门到精通-Part1(基础使用)
    一、Docker基本概念Docker架构基本组件的介绍DockerClient是用户界面,它支持用户与DockerDaemon之间通信DockerDaemonDocker最核心的后台进程,运行于主机上,处理服务请求Dockerregistry是中央registry,支持拥有公有与私有访问权限的Docker容器镜像的备份DockerConta......
  • 【代码随想录Day54】图论Part06
    冗余连接题目链接/文章讲解:代码随想录importjava.util.Scanner;publicclassMain{privateintnumberOfNodes;//节点数量privateint[]parent;//存储每个节点的父节点//构造函数初始化并查集publicMain(intsize){numberOfNod......
  • 【代码随想录Day53】图论Part05
    并查集理论基础题目链接/文章讲解:并查集理论基础|代码随想录寻找存在的路径题目链接/文章讲解:代码随想录importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){intnumberOfElements,numberOfConnections;Scann......
  • 【代码随想录Day52】图论Part04
    字符串接龙题目链接/文章讲解:代码随想录importjava.util.*;publicclassMain{//使用广度优先搜索(BFS)方法计算从beginWord到endWord的最短转换序列长度publicstaticintfindLadderLength(StringbeginWord,StringendWord,List<String>wordList){......
  • C2W4.LAB.Word_Embedding.Part1
    理论课:C2W4.WordEmbeddingswithNeuralNetworks文章目录WordEmbeddingsFirstSteps:DataPreparationCleaningandtokenizationSlidingwindowofwordsTransformingwordsintovectorsforthetrainingsetMappingwordstoindicesandindicestowordsGett......
  • 关于ubuntu系统升级遇到的问题:upgrades to the development release are only.......
    主要问题在于使用的是命令:sudodo-release-upgrade-d这将会寻找最新的版本进行安装,但是如果最新版本不稳定的话请求会受到拒绝,导致更新无法进行。具体区别如下:do-release-upgrade是Ubuntu系统用于升级到新版本的命令。当你运行这个命令时,系统会检查是否有新版本可用,并且会自......
  • Study Plan For Algorithms - Part49
    1.交错字符串给定三个字符串s1、s2、s3,请验证s3是否是由s1和s2交错组成的。两个字符串s和t交错的定义与过程如下,其中每个字符串都会被分割成若干非空子字符串:s=s1+s2+...+snt=t1+t2+...+tm|n-m|<=1交错是s1+t1+s2+t2+s3+t3......
  • 什么是芯片领域的敏捷设计(Agile Development)
    芯片领域的敏捷设计是一种灵活的开发方法,致力于更快速、更高效地开发和优化集成电路(IC)和半导体技术。其核心特点包括:1、迭代开发;2、跨功能团队合作;3、客户反馈导向;4、及时响应变更。其中,迭代开发强调分阶段、小步快跑的设计方法,有助于快速地调整和优化设计。一、敏捷设计在芯......
  • 【MATLAB】无迹粒子滤波(Unscented Particle Filter)例程
    文章目录运行结果位置曲线和速度曲线位置误差曲线和速度误差曲线源代码代码结构源代码目的作者信息代码结构与功能详细说明修改建议总结运行结果位置曲线和速度曲线位置误差曲线和速度误差曲线源代码代码结构......
  • 【代码随想录Day50】图论Part02
    岛屿数量深搜题目链接/文章讲解:代码随想录classSolution{//计算网格中岛屿的数量publicintnumIslands(char[][]grid){intsum=0;//初始化岛屿数量为0//遍历整个网格for(inti=0;i<grid.length;i++){......