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:
- 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:
- 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