Develop a new interactive system

Assignment Help Software Engineering
Reference no: EM133694193

Fundamentals of Software Development

Assessment - Software Development

Project Abstract
A local university wants to develop a new interactive system. The system should offer access to two interactive sub-system menus for students and admins. The university interactive system is called "CLIUniApp". CLIUniApp stores students' data into a local file "students.data". All CLIUniApp CRUD operations should be operated with the storage file "students.data".

The university main system should offer access to students and admins. Students accessing the sub-system have the choice to login to the system (if they are previously registered) or register to the system. A registered student can enrol in maximum 4 subjects. A registered student can remove subject. A registered student can change their access password. A registered student can view their enrolment.

Admins already exist in the system and do not need to register. Admins using the sub-system can remove a student from the "students.data" file. Admins can view students partitioned as Pass/Fail. Admins can group and show students organized by grade Admins can view all students from file. Admins can clear all file data.

Develop the case study project using your preferred IDE with Java or Python and submit the software application as a .zip file by the due date (refer to submission section). The application should be development in a group of 3 students. Develop the application based on the requirement analysis, modelling and design completed by your team in Part 1 of the case study. Part 2 requirements are further explained in the "System Menu Requirements" section and in the "Model Classes" section. Feel free to add more classes following your class diagram of Part 1. It is important to refer to the "Sample I/O" section to understand the system menu options and possible output.

The case study has a GUI challenge task. The GUI challenge task is a standalone GUI application called GUIUniApp. Refer to section 5 for more information.

System Menu Requirements
The program system is composed of four system menus: The University System, The Student System, The Student Course System, and the Admin System

The University System
The university menu system should enable users to choose to go the Admin menu or Student Menu
(A) Admin
(S) Student
(X) exit

The Student System
The student menu system should enable students to Login and Register as follows:
(l) login
(r) register
(x) exit

Register
Students should be able to register. Email and password should be verified against pattern rules. Then the student should be checked if they exist. Only register students that do not exist in the Database file. On registration, student data should be stored in "students.data".

Login:
Students should be able to login. Then the student should be checked if they exist. Only a registered student should login. Upon login, students' data should be read from "students.data". After login, a student goes to Student Course Menu that offers the choices:

The Student Course System
Logged in students can access this menu to perform the following actions:
(c) change: enables a student to change their password
(e) enrol: Student enrols in a subject. A student can enrol in maximum 4 subjects.
(r) remove: Student can remove a subject from the subjects' enrolment list
(s) show: Shows the enrolled subjects and the marks and grades for each subject
(x) exit

The Admin System
Admin menu offers the following actions:
(c) clear database file: enables admin to clear the data file "students.data"
(g) group students: shows the students organized with respect to the grade
(p) partition students: shows the pass/fail distribution
(r) remove student: enables admin to remove a student by ID
(s) show: show the students from the data file
(x) exit

NOTE: Admins already exist in the system. They do not need to login into the system. Admins can simply use the admin sub-system.

Sample Model Classes
The program model has at least the following classes: Student, Subject, and Database. These classes are responsible for storing the program data and for supplying the program controllers with functionalities and data. You may add more classes based on Part 1 design.

The Student Class
The Student class has the fields:
ID randomly generated 1 <= ID <= 999999, unique and formatted as 6-digits width. IDs less than 6-digits width should be completed with zeroes from the left.
name, email, password, and a list of subjects
A student can only enrol in 4 subject maximum (A course of 4 subjects).
A student can enrol/drop a subject at any time.
Upon enrolment in a subject a random mark is generated for this subject 25<= mark <= 100
Upon enrolment in a subject, the grade of that subject is calculated based on the mark
A student pass/fail a course if the average mark of the subjects is greater or equal to 50
A student can change their password at any time.

The Subject Class
The Subject class has the fields:
ID randomly generated 1 <= ID <= 999, unique and formatted as 3-digits width IDs less than 3-digits width should be completed with zeroes from the left.
mark is randomly generated where 25<= mark <= 100
grade is determined based on the mark

The Database Class
The Database class should contain the functionalities to:
check if the file "students.data" exists before using it
create the file "students.data" if it doesn't exists
write objects to the file "students.data"
read objects from the file "students.data"
clear the objects from the file "students.data"
NOTE: All program menu(s) actions (Student and Admin) should use the "students.data" data and perform CRUD operations with this data.

Best Practices and Recommendations

The program is best developed using classes (controllers) to manage the data exchange between the model classes (Student, Subject, Database) and the menu(s) actions. The controllers (for example: StudentController, SubjectController, etc...) are normal classes that use the "students.data" data and perform CRUD operations with this data. The controllers contain the system menus that use the model objects and work with the data file "students.data".

NOTE: You may add any controller classes based on Part 1 case study design. Groups can implement the controllers the way that suits their program.

Sample I/O
The sample I/O should be used as a reference and guidance to help you understand the scenarios of the program. The sample I/O outlines several scenarios to help you understand how the program should work and how the output should be designed and formatted. The Sample I/O is composed of the following scenarios:

The admin should read the students data from the file "students.data" and produce the outputs shown in the scenario (listing, grouping, partitioning).
When the admin removes a student, or remove all students, that data should be removed from the file "students.data".
Case Study GUI Implementation
The case study GUI software implementation is a challenge task of Part 2. Develop a GUI application called "GUIUniApp" only for students. GUIUniApp should allow students to login into the system. The login window is the GUI main window. Once a student logs in correctly they can enrol into subjects (4 subjects maximum). Every time a student is enrolled in a subject, the subject is added to the subject menu enrolment list. Handle possible exceptions for empty login fields and for enrolment in more than 4 subjects.
Your GUIUniApp should have at least 4 windows (as indicated in the marking scheme). The GUIUniApp requirements are the following:
Access management: Login for students (No admin options)
Enrolment management: Logged in student can enrol in 4 subjects (maximum). New subjects should be added to the subject GUI menu list.
Exception handling. If there are any exceptions, for example: empty login fields, incorrect student credentials, incorrect email format.
Data source management: You should work with registered students details already saved in the file ‘students.data' and use the registered students (in the CLIUniApp) to login into the GUIUniApp.

Attachment:- Software Development.rar

Reference no: EM133694193

Questions Cloud

Explain how your experience in this project aligns : Explain how your experience in this project aligns with your chosen or contemplated career direction and how you contributed to the group when working
Implement the tasks using oracle application : CSE2/4DBF Database Fundamental, La Trobe University - Implement the following tasks using ORACLE Application Express (APEX). Download the file NEASchema.sql
Demonstrate your understanding of language and communication : ECE6011 Languages of Children, Victoria University Design, prepare and present 3 x Invitations to Play drawing on content of the unit material and journal
What is the importance of cultural and heritage management : RIICWD535E Prepare detailed design of civil timber structures, and What is the importance of cultural and heritage management in designing civil timber
Develop a new interactive system : 32555 Fundamentals of Software Development, University of Technology Sydney, develop a new interactive system. The system should offer access to two interactive
Prompt to control and test your implementation : Implementation of three classes, namely Node, LinkedList, and Browser. For each class, you are provided with the header file and skeleton implementations
Analyse and solve computing problems : COSC2804 Programming Studio, RMIT University - Analyse and solve computing problems; design and develop suitable algorithmic solutions; implement and debug
Fitted sarima models to the two time series : Fitted SARIMA models to the two time series, Data-driven Decision Making and Forecasting - Compare fitting a SARIMA model to fitting an ARMA model to residuals
Obtained residuals from prophet models : Obtained residuals from Prophet models and provide plots of the time series and predictions, Fitting and evaluating ARIMA and VAR time series models Assessment

Reviews

Write a Review

Software Engineering Questions & Answers

  Research report on software design

Write a Research Report on software design and answer diffrent type of questions related to design. Report contain diffrent basic questions related to software design.

  A case study in c to java conversion and extensibility

A Case Study in C to Java Conversion and Extensibility

  Create a structural model

Structural modeling is a different view of the same system that you analyzed from a functional perspective. This model shows how data is organized within the system.

  Write an report on a significant software security

Write an report on a significant software security

  Development of a small software system

Analysis, design and development of a small software system.

  Systems analysis and design requirements

Systems Analysis and Design requirements

  Create a complete limited entry decision table

Create a complete limited entry decision table

  Explain flow boundaries map

Explain flow boundaries map the dfd into a software architecture using transform mapping.

  Frame diagrams

Prepare a frame diagram for the software systems.

  Identified systems and elements of the sap system

Identify computing devices, which could be used to support Your Improved Process

  Design a wireframe prototype

Design a wireframe prototype to meet the needs of the personas and requirements.

  Explain the characteristics of visual studio 2005

Explain the characteristics of Visual Studio 2005.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd