You are required to implement a basic Java program using Java SE 5.0 and above.
This assignment is designed to:
1. Practise your knowledge of design classes in Java;
2. Practise the implementation of various kinds of classes in Java;
3. Practise the use of polymorphism;
4. Practise error handling in Java.
This is an individual assignment and worth 20% towards your final grade.
Academic Integrity
The submitted assignment must be your own work. No marks will be awarded for any parts which
are not created by you. Plagiarism is treated very seriously at RMIT. Plagiarism includes copying
code directly from other students, internet or other resources without proper reference.
Sometimes, students study and work on assignments together and submit similar files which may
be regarded as plagiarism. Please note that you should always create your own assignment even if
you have very similar ideas. Plagiarism-detection tools will be used for all submissions. Penalties
may be applied in cases of plagiarism.
General Implementation Details
• All input data should be read from the standard input and all output data should be printed
to the standard output. No need to use files at all.
• If the input is formatted incorrectly the execution should stop immediately and an
appropriate error message should be displayed.
• Although you are not required to use more than one class per task, you are required to
modularise classes properly. In general no method should be longer than 50 lines.
• Your coding style should be consistent with
(http://java.sun.com/docs/codeconv/CodeConventions.pdf)
• You should include comments to explain your code following the recommended style
http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html
• Your programs will be marked on yallara with Java SE 5.0. Make sure you test your
programs on yallara before you make the submission. Task: Simple Student Record System
The scenario is extended from that of Assignment 1. The basic requirement is to implement a
simple Java system to maintain the student records of a training center.
Student
Every student has a unique student ID as “S123”. His/her name such as “Ralph Derby”, and year
of birth, such as 1987, are recorded.
To receive the training certificate students are required to complete a certain number of courses.
For normal students these courses are Java Programming, Object-Oriented Design and Software
Testing. To receive the advanced certificate they have to complete three additional courses: J2EE,
Software Architecture and Design Patterns after completing the three basic courses.
It is possible that some of the students may have one or two courses exempted because of their
experience. For example an experienced Java programmer may only need Software Testing to
obtain the training certificate as the other two courses are exempted. The exemption is processed
and assigned by your system.
Students who are above 50 years old are eligible for 30% discount on their tuition fee.
Course
This training center only runs the aforementioned six courses.
The tuition fee for each course is $500 at the moment. Admin staff can update the tuition fee of
each individual course at any time. For every single course enrolment, the training center needs
to pay 30% of the tuition fee as government tax. This rate is always the same for all courses, but
it is subject to change.
Each course may run multiple times and the fee may be different for each run. You can assume
no course runs more than 5 times a year. It is possible that a course only runs once or twice a
year. Admin staff is responsible for starting a new run of these courses. Your system is only
required to handle this information for this year 2011 and next year 2012.
A student can register for any course at his/her level if he/she has not taken this course or failed
that course before (below 50). Normal students can not take advanced courses before completing
the three basic courses. Repeating student needs to pay for that course again at the current
tuition fee.
Each run of a course requires one instructor. There may be a prescribed textbook for that run.
Staff
This training center has a manager and several admin staff. Some of these staff members are
qualified to teach, meaning to be an instructor for any offered courses. Staff may have different
level of salary, assuming they do not change. That for the manager John Bobson is 90000 a year,
for Mark Leigh is 50k a year, 60k for Avis Gerardi and 70k for Katy Kirkbride. Both John and Katy
can teach.
Additionally this center also employs casual staff as instructors who must be able to teach any
courses. Casual staff uses hourly rate which varies based on the teaching experience. That is $60
per hour for Nelson Cesare, $50 for Linda Fripp and $30 for Jessie Pinnix. Instructing each course
requires 20 hours per run from the instructor. This amount does not change at all.
A current student may be employed as an instructor as well. However this student must complete
that course with a mark no less than 80. Otherwise he/she will not be assigned to the task.
Students exempted from a course are not eligible for teaching that course. The pay rate is $400
for each run of a course.
Implement the above scenario using OO-design.
The suggested menu is:
a) Student Admin
b) Course Admin
c) Staff Admin
d) Exit
The first option “Student Admin” would be responsible for at least the following:
- list all enrolled student
- add a new student
- enrol a student into a available course
- assign exemptions to a student
- process payment from one student (E.g Henry Wines who owes $300, is now paying $240)
- generate a financial report (total amount of tuition fees, tax and unpaid fees)
The second option “Course Admin” would be responsible for at least the following:
- create a new run of course
- assign an instructor for that course
- assign a textbook for that course
- adjust tuition fee for that course
- generate results for all students enrolled in that course (you may use a random number
generator to automatically give scores in between 0 – 100)
- disable a course for enrolment (course completed)
The third option “Staff Admin” would be responsible for at least the following:
- employ new causal staff ( assume admin staff are all permanent )
- add a student into the instructor list
- list all instructors
You are expected to use Exceptions to handle potential errors. You may need to define your
exception for situations like, enrolling a student into a course he/she has done or has been
exempted; enrolling into an unavailable or ineligible course; assigning a student instructor to a
course which he/she has not studied before or did not learn very well.
For testing and marking purposes, you are required to hardcode some data in your system,
including the staff members and causal instructors mentioned in the above specification. The
system should start with the following student info and course info.
ID Name Year
Birth
Java OO Design Software
Testing
J2EE Software
Architecture
Design
Patterns
Fee Paid
S110 Ralph
Derby
1987 90 75 Exp 85 Run 1 - $900
S123 June
Forster
1974 Exp Exp 60 Run 1 - Run 2 $1500
S134 Susie
Karl
1960 85 90 70 Exp 40 - $400
S220 Phillip
Gregg
1958 - Run 2 Run 2 - - - $800
S240 Henry
Wine
1984 40 60 90 - - - $1200
In the above table, “Exp” means that course is exempted, “-” means the student is not currently
enrolled in that course, the numbers are marks achieved in their previous studies.
Run Java OO Design Software
Testing
J2EE Software
Architecture
Design Patterns
1 Katy Susie Nelson Linda Jessie Nelson
2 Ralph Susie Katy John - Katy
3 Susie - Henry - - -
4 - - - - - -
The above table shows the instructors for each run of the six courses. A symbol “-” means no
such run at the moment.
General Requirements
• You must submit your design of the objects with a brief discussion of such as design.
• You programs should validate user inputs. Your programs should not crash or display
unexpected data upon invalid input.
• All programs should compile and run on Yallara.
• Marks will be deducted if you do not follow good coding styles in comments, consistent
indentations, etc (See http://java.sun.com/docs/codeconv/CodeConventions.pdf).
Submission
Assignment submission should be made via Weblearn by Sunday 11:59PM May 8 th , 2011. You
can submit your assignment as many times as you want before the due date. Each submission will
overwrite any previous submissions.
1. You need to submit a class diagram (in pdf, gif or jpeg format).
2. You are required to submit weekly to Weblearn. Your progress will be taken into consideration in
the marking. More details will be available later.
3. There will also be a demo for this assignment. You would be asked to demonstrate the work in
progress and/or explain your design. The details of the demo would be announced on the
Blackboard.
4. For the coding part, you must include only the source files in your submission (do not submit
any *.class files!) (Your submission must be one zip file, not rar file and not zipx files – wrong
submission format will be penalized)
5. Late submissions will incur a penalty of 10% per day. Submissions made 5 days after the due
date will receive no marks.
Any further inquiries regarding this assignment should be raised in appropriate discussion forum in
BlackBoard.
Home »
Code and More
» RMIT Assignment 2011 - Java SE 5.0
RMIT Assignment 2011 - Java SE 5.0
Introduction
About the Author
He loves discover new places and enjoy the beauty of nature, travel around the world to experience different cultures and make new friends. He's also a web designer and like writing blogs to sharing helpful informations about all of things in the life that can be help someone feel necessary or make them fun.
Nhãn:
Code and More
0 nhận xét:
Speak up your mind
Tell us what you're thinking... !