首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
COSC1295语言程序讲解、辅导Java,Python,C/C++编程 解析R语言编程|辅导R语言程序
项目预算:
开发周期:
发布时间:
要求地区:
RMIT Classification: Trusted
School of Science
COSC1295 Advanced Programming, sem 1 2021
Assignment Part 1: Console Implementation
Assessment Type: Individual assignment; no group work permitted. Submit online via Canvas. Marks
are awarded for meeting requirements as closely as possible according to assignment specifications and
the supplied rubric. Clarifications/updates will be made via announcements/relevant discussion forums.
Due date: Multiple milestone submissions. Final submission due 9am Monday May 31, 2021.
No late submissions accepted unless Special Consideration is granted in advance.
Weighting: 50% of your final grade.
In addition, multiple milestones through the semester to a total of 15 marks.
1. Outline
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 Resident Care System using Java. Using
Java as a vehicle, you are required to demonstrate your understanding of object-oriented design principles,
design patterns, generics, graphical user interfaces, unit testing and object relational mapping building on the
foundations laid by the Programming Fundamentals course and further developed in COSC1295. The system
you develop should be maintainable and extensible as well as produce substantial value for the stakeholders by
improving the level of patient care. The marks will therefore be awarded both for your functionality as well as
justifying the design decisions and code quality. During the final face to face assessment you will also be
required to justify your design decisions as well as explain how your program can be extended to meet other
related requirements.
This assignment is structured to let you incrementally build your product throughout the semester by
incorporating the OO design principles, Java constructs and technologies introduced in the notes and videos on
Canvas, and developed in the lecturorial and prac sessions. You are required to ensure you make steady
progress and marks will be awarded in the prac classes for completing specific milestones. The main purpose of
this assignment is to develop and demonstrate your problem-solving skills by applying the concepts taught for
a reasonably complex open-ended problem (and to create a complete working system based on agile
specifications). You should not be overly concerned about every minute detail and are free to make reasonable
assumptions (you may check with your lab-tutor if in doubt, who will also mark your final assignment).
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 an accurate simulation of any real system or service that is being used commercially.
Page 2 of 5
RMIT Classification: Trusted
2. Assessment Criteria
This assessment will determine your ability to implement Object-Oriented Java code according to the specifications shown
below. In addition to functional correctness (i.e. getting your code to work) you will also be assessed on code quality.
Specifically:
● You are required to demonstrate your understanding of object-oriented programming constructs encapsulation,
inheritance and polymorphism.
● You are required to promote performance and robustness by using well tested collections and by catching and
handling all exceptions.
● You are required to demonstrate that you have done adequate unit testing considering various business rules
using the JUnit framework.
● You are required to demonstrate all the objects stored in memory can be persisted to a file and restored when
the program starts again.
● Your interaction design must anticipate what users might need next and include appropriate JavaFX elements to
make the system accessible, intuitive, usable and efficient (fewer clicks/keystrokes)
● You are required to ensure all historic data can be archived to a relational database allowing access by external
software and the current system.
● Your object-oriented design should provide high cohesion and low coupling following well established design
principles and patterns. You should justify your design decisions that led to the final product using detailed
comments in the beginning of each class.
● You should reflect on the difficulties/limitations of the technologies used and suggest how these can be
improved by researching and identifying other technologies and tools in a separate one-page report.
Further specifications and assessment criteria will follow throughout the semester.
3. Learning Outcomes
This assessment is relevant to the following Learning Outcomes:
CL01: use the Java programming language in the implementation of small to medium sized application programs that
illustrate professionally acceptable coding and performance standards.
CL02: demonstrate knowledge of the basic principles of the object-oriented development process and apply this
understanding to the analysis and design of solutions for small to medium scale problems.
CLO3: describe and apply basic algorithms and data structures, in particular simple searching and sorting of data stored
in data structures and manipulating data.
CLO4: implement basic event-driven programming and graphical user interfaces in Java.
Page 3 of 5
RMIT Classification: Trusted
4. Product Description
You are required to develop a system to manage the high care patients for the Able Care Home. The management wants
a visual interface that maps the patients to their respective beds to help nurses easily check the prescription details and
administer the medications in an effective manner. Moreover, it may be necessary to change the bed assigned to an
existing resident when a new resident is admitted reflecting their gender and medical condition (need for isolation). In
order to comply with recent regulations, the management wants to archive all the patient related details including
medicine prescription and administration details to a database that can be accessed and audited by external parties. In
this assignment you are only required to deal with two wards with 6 rooms, each with the number of beds per room
varying from 1 to 4 as shown below.
Functional Requirements to be Carried out through a Graphical User Interface
• Allow manager to add new residents to one of the vacant beds
• Allow manager to add staff (doctors, nurses) or modify staff details (e.g., password) or shift days/times
• Allow medical staff to check the details of a resident in a bed
• Allow a doctor to attach a new prescription to a patient in the selected bed stating various medicines to be
administered at specific doses at specified times
• Depict the gender of the resident in a bed using blue/red
• Allow a nurse to move the resident to a different bed
• Updating the details of medicines administered for a resident in the selected bed
• Any action (e.g., adding a patient to a bed, updating a prescription, administering a medication, etc) must include
day+time and id of the staff member performing the action and these are recorded with the action. An Exception
(different ones) should be raised if the staff member is not authorized to perform the action, or is not rostered
for that day+time.
Other Functional Requirements
• Saving all the patient related records to a file before exiting the system, allowing it to be restored (which need
not be accessible to external parties).
• Archive all the patient related details including medicine prescribed and administered throughout the stay when
discharging a patient (allowing them to be audited)
Ward 1 Ward 2
Page 4 of 5
RMIT Classification: Trusted
Process, Quality, Security, Testing, Personal-Reflection and Technology Related Requirements
• The program submitted should be refactored to promote code maintainability by using the object-oriented
concepts including encapsulation, inheritance and polymorphism.
• Use of design patterns such as singleton and/or adherence to design principles such as SOLID.
• Well-designed test cases showing main business rules are implemented. For example, an attempt to add a new
resident to a vacant bed should succeed while an attempt to add a resident to an already occupied bed should
fail with appropriate diagnostic messages.
• Catching and handling all error conditions to create a robust system.
• A one-page document justifying all the design changes and lessons learned.
• Ensure only doctors can add prescriptions and only nurses can administer medication. Only manager with own
username/password can add username/password for doctors and nurses.
Progress Milestones
You will be required to demo your progress in the lab regularly to demonstrate progress.
The specific milestone requirements and associated dates will be communicated via Canvas.
5. Project Phase 1
Phase 1 (Focusing on Class and Interface Design, Use of Collections, JUnit Test cases, Serialization and Exceptions)
Due: Start of Week 7
Implement the staff and location related functionality incorporating collections, generics and exception handling. As
well as the rules for allocating patients to beds and recording medication, etc, requirements, you must account for the
following rules/compliance on care staff managing patients:
• Your program should ensure nurses are assigned to two shifts from 8am to 4 pm, and 2 pm to 10 pm (ERROR:
originally said 10AM) every day of the week (14 shifts). You may assume all nurses work 8 hours a day on a day
(i.e., one shift) they are assigned.
• There should also be a Doctor assigned for 1 hour, every day of the week (basically, for writing prescriptions).
• Regulation also requires no more than 8 hours is assigned to a nurse in a single day. The checkCompliance()
method of the CareHome class should throw an exception if these business rules are not enforced.
• Assume the same shift pattern will be repeated every week and a list of available qualified Doctors and Nurses
are maintained in separate lists.
• Incorporate serialization to store objects created to file and to recreate them when the program is restarted.
• Write the JUnit tests for the relevant classes to ensure all the business rules are adhered to. Your test cases
should include both positive and negative tests (where exceptions are expected to be thrown).
• Build a simple text-menu based system for the Aged Care facility manager to access and demonstrate all
functionality you build at this stage. NOTE: that the text-based menu will be replaced by a GUI so you do not
need to build both, unless you need to demo functionality BEFORE you build a GUI. (Any text-based menu build
will be temporary and therefore does not need to be robust UNLESS you don’t build a GUI interface.)
Page 5 of 5
RMIT Classification: Trusted
6. Use of Github
You are required to use Github repository management to manage your code.
• Create your repository via the Github Classroom link provided in Canvas Announcements on March 24 2021.
• You are expected to constantly update your code repository continuously, e.g,. after each significant file
modification (this may be several times per day, or even per hour).
• Easy-to-follow guides to using Github will be provided.
7. Submission format for final submission
• You will submit your assignment by uploading a zip file of you project via Canvas AND by providing a link to your
private Github repository. Marks will be deducted if your Github repository shows development activity after
the due date/time.
• You will also submit any related documents, e.g., a README detailing how to run your program, an outline of
your design and design decisions made, and a brief refactoring report.
8. 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), summarized, 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 behaviors,
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 the University website.
9. Referencing guidelines
You are free to refer to textbooks or notes and discuss the design issues (and associated general solutions) with your
fellow students or on Canvas; however, the assignment should be your OWN WORK.
The submitted assignment must be your own work. For more information, please visit
http://www.rmit.edu.au/academicintegrity.
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 work
even if you have very similar ideas.
Plagiarism-detection tools will be used for all submissions. Penalties may be applied in cases of plagiarism.
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
urba6006代写、java/c++编程语...
2024-12-26
代做program、代写python编程语...
2024-12-26
代写dts207tc、sql编程语言代做
2024-12-25
cs209a代做、java程序设计代写
2024-12-25
cs305程序代做、代写python程序...
2024-12-25
代写csc1001、代做python设计程...
2024-12-24
代写practice test preparatio...
2024-12-24
代写bre2031 – environmental...
2024-12-24
代写ece5550: applied kalman ...
2024-12-24
代做conmgnt 7049 – measurem...
2024-12-24
代写ece3700j introduction to...
2024-12-24
代做adad9311 designing the e...
2024-12-24
代做comp5618 - applied cyber...
2024-12-24
热点标签
mktg2509
csci 2600
38170
lng302
csse3010
phas3226
77938
arch1162
engn4536/engn6536
acx5903
comp151101
phl245
cse12
comp9312
stat3016/6016
phas0038
comp2140
6qqmb312
xjco3011
rest0005
ematm0051
5qqmn219
lubs5062m
eee8155
cege0100
eap033
artd1109
mat246
etc3430
ecmm462
mis102
inft6800
ddes9903
comp6521
comp9517
comp3331/9331
comp4337
comp6008
comp9414
bu.231.790.81
man00150m
csb352h
math1041
eengm4100
isys1002
08
6057cem
mktg3504
mthm036
mtrx1701
mth3241
eeee3086
cmp-7038b
cmp-7000a
ints4010
econ2151
infs5710
fins5516
fin3309
fins5510
gsoe9340
math2007
math2036
soee5010
mark3088
infs3605
elec9714
comp2271
ma214
comp2211
infs3604
600426
sit254
acct3091
bbt405
msin0116
com107/com113
mark5826
sit120
comp9021
eco2101
eeen40700
cs253
ece3114
ecmm447
chns3000
math377
itd102
comp9444
comp(2041|9044)
econ0060
econ7230
mgt001371
ecs-323
cs6250
mgdi60012
mdia2012
comm221001
comm5000
ma1008
engl642
econ241
com333
math367
mis201
nbs-7041x
meek16104
econ2003
comm1190
mbas902
comp-1027
dpst1091
comp7315
eppd1033
m06
ee3025
msci231
bb113/bbs1063
fc709
comp3425
comp9417
econ42915
cb9101
math1102e
chme0017
fc307
mkt60104
5522usst
litr1-uc6201.200
ee1102
cosc2803
math39512
omp9727
int2067/int5051
bsb151
mgt253
fc021
babs2202
mis2002s
phya21
18-213
cege0012
mdia1002
math38032
mech5125
07
cisc102
mgx3110
cs240
11175
fin3020s
eco3420
ictten622
comp9727
cpt111
de114102d
mgm320h5s
bafi1019
math21112
efim20036
mn-3503
fins5568
110.807
bcpm000028
info6030
bma0092
bcpm0054
math20212
ce335
cs365
cenv6141
ftec5580
math2010
ec3450
comm1170
ecmt1010
csci-ua.0480-003
econ12-200
ib3960
ectb60h3f
cs247—assignment
tk3163
ics3u
ib3j80
comp20008
comp9334
eppd1063
acct2343
cct109
isys1055/3412
math350-real
math2014
eec180
stat141b
econ2101
msinm014/msing014/msing014b
fit2004
comp643
bu1002
cm2030
联系我们
- QQ: 9951568
© 2021
www.rj363.com
软件定制开发网!