首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
software编程辅导、Java程序语言调试、Java编程辅导 讲解R语言编程|讲解数据库SQL
项目预算:
开发周期:
发布时间:
要求地区:
Electronic Contact Book (ECB)
Assignment Due in Week 12
GENERAL DESCRIPTION
This is an individual programming assignment worth 20% of the assessment of this course.
In this individual assignment, you are going to develop a Java software application for electronic contact
book (ECB). It’s made up of two tasks:
Task 1: Design stage:
In this individual assignment, you are required to submit your class diagram design of the assignment. Your
design should describe:
All the classes needed
The relationship of the classes.
The fields and non-trivial methods (like getters and setters) of each class
Task 2: Coding stage:
In this individual assignment, you will create a Java software package to process the records in a phone book
according to the given instructions/commands. Your Java software MUST provide ALL the following
functionalities:
1. Read from TWO inputs files: phone book file and instruction file
When the ECB system starts up, it assumes that an electronic phone book has the contact
information as given in the phone book file, and it manages the contact records according to the
instructions in the instruction file.
o Phone book file contains contact information in a predefined format;
o Instruction file lists instructions/commands to be performed on the records. The
instructions/commands can be: “add”, “delete”, “query”, and “save”.
2. Add a record (a person’s contact details) to your phone book
For instance, the instruction
▪ add name Jo Bloggs; birthday 08-07-1980; phone 88884444; address 9001 Chester
Crescent
is supposed to add/update a record for a person with name "Jo Bloggs", birthday 8/7/1980,
phone number 88884444 and address "9001 Chester Crescent".
Your ECB system checks whether this is an existing record:
o If both person name and birthday are identical to those of an existing record in your
phone book, the existing record will be updated with the new input information. E.g.,
update the items of address, email, and phone.
COMP9103 Software Development in Java Assignment Semester 2, 2020
2
COMP9103 Software Development in Java Assignment Semester 2, 2020
o Otherwise your system adds the new valid record to the list.
3. Delete record(s) from your list by name
For instance, the instruction
▪ delete Jeff Vader
indicates deleting the record(s) with name “Jeff Vader” from the list.
▪ delete Jeff Vader ; 8-07-1980
indicates deleting the record with name “Jeff Vader” and birthday “08/07/1980” from the
list.
4. Query the records by person name, birthday, or phone number.
For instance,
▪ query birthday 8-09-1991
▪ query name David Joans
▪ query phone 9110110
NOTE: If there are more than one query results, all the query results should be saved in
ascending order of person name and birthday.
5. Save the resulting data collection to output file(s)
▪ Save the resulting data collection of the instructions of “add” and “delete” into the
specified output file
▪ Save the query results to a separate specified report file. When there are more than
one “query” command, append the latest query results to the end of the report file.
Separate the results of different query instructions using dash lines with query
instructions.
DATA FORMAT
▪ Input phone book file has records as the following format:
o Each record has information about a person. There may be 5 fields:
1. name in the form of a string of forename(s) and surname, all on one line; and the name
cannot include numeric or punctuation characters
2. birthday in form of dd-mm-yyyy (leading zero in day or month may be omitted,
i.e., both 05-04-2012 and 5-4-2013 are valid)
3. phone in the form of a sequence of digits. You must ignore any leading zeroes.
4. address in the form of a string that may span more than one line
3
COMP9103 Software Development in Java Assignment Semester 2, 2020
5. e-mail which must be a valid e-mail address, e.g., a string with alphabetic, numeric and
punctuation characters and an "at" (@) symbol inside and with no gaps, such as:
abcdefg.123@gmail.com
o name and birthday are compulsory and required for all records when they are read in from
the phone book file. That is, you may have a person record with name, birthday and just email
address, or another record with all five fields.
o Fields may occur in any order
o Records are separated by blank line(s)
▪ Output Format
o The output file should have all the appropriate and valid records in it
o The output records should follow a consistent format
o Each field should fit on ONE line only
o Again, records should be separated by single blank line.
EXAMPLE:
▪ "phonesample1.txt" is a sample input phone book file, with records as below:
name
birthday
phone
email
Josephine Esmerelda Bloggs
13-5-1980
99887766
j.e.bloggs@fanfare.com.au
name
birthday
email
address
phone
Pac Man
27-03-1992
pac.man@gamebots.com
27 New Street, Birmingham, NSW,
Australia
000333998877
▪ "instructsample1.txt" is a sample instruction file with a single instruction: Save
▪ The output file is expected to contain the records as below:
4
COMP9103 Software Development in Java Assignment Semester 2, 2020
name Josephine Esmerelda Bloggs
birthday 13-5-1980
phone 99887766
email j.e.bloggs@fanfare.com.au
name Pac Man
birthday 27-3-1992
phone 333998877
email pac.man@gamebots.com
address 27 New Street, Birmingham, NSW, Australia
IMPORTANT NOTES
1. Your code must make use of at least one collection e.g., ArrayList.
2. Your system must be able to handle both normal cases and difficult cases.
3. You MUST NOT build a graphical user interface.
4. You need to do systematic testing of the classes you create.
5. Do NOT hard-code the names for the input and output files.
6. You MUST be demonstrated during your laboratory class to your tutor in week 12. Absenting the
demo will incur a penalty of 4 marks. If you miss the demonstration in week12 because of serious
illness or misadventure, you should request Special Consideration using the appropriate forms within a
week.
7. Recall that the University takes plagiarism very seriously, and it would be useful for you to review
this policy here.
YOUR SOFTWARE MUST
▪ be put into the java project package with name “comp9103”
▪ be invoked in the format:
java comp9103.Comp phonebookfile instructionfile outputfile reportfile
where Comp is the name for the main class, phonebookfile, instructionfile, outputfile, and reportfile are
names of files that will change between runs of the program.
Example: In the following example,
java comp9103.Comp phonesample05.txt instructsample05.txt outputfile05.txt reportfile05.txt
5
COMP9103 Software Development in Java Assignment Semester 2, 2020
your software reads and parses contact information and corresponding instructions in phonesample05.txt
and instructsample05.txt, executes the valid instruction(s) on the contact record(s), and outputs all the
resulting valid record(s) and query result(s) to outputfile05.txt and to reportfile05.txt respectively.
Your software should also be able to accept absolute path as input arguments. For example:
java comp9103.Comp d:\phonesample05.txt c:\instructsample05.txt d: \output\outputfile05.txt
d:\output\reportfile05.txt
MARKING SCHEME
There are 4 parameters on which your submission will be marked:
1. Design [2 marks]
2. Prototype Demo [2 marks]: in week 12
3. Implementation and testing [14 marks]: at the final submission
4. Standard of coding [2 marks]: at the final submission.
SUBMISSION
Complete assignment
Late submissions will incur a penalty of 2 marks per day.
You must demonstrate your program to your tutor in your scheduled lab in week 12:
o Your program (all the java source code), and
o Documentation of your software design, e.g. UML diagram and description of your
design.
You must ALSO upload a single .zip archive onto Canvas before the deadline. The .zip
archive must be named with your login ID, e.g. if yourlogin name is "abcd1234" then the archive
must be called "abcd1234.zip". It should contain:
o Your program (all the java source code) in correct architecture, and
o A description of the design of your program with UML diagram.
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
代写math 1151, autumn 2024 w...
2024-11-14
代做comp4336/9336 mobile dat...
2024-11-14
代做eesa01 lab 2: weather an...
2024-11-14
代写comp1521 - 24t3 assignme...
2024-11-14
代写nbs8020 - dissertation s...
2024-11-14
代做fin b377f technical anal...
2024-11-14
代做ceic6714 mini design pro...
2024-11-14
代做introduction to computer...
2024-11-14
代做cs 353, fall 2024 introd...
2024-11-14
代做phy254 problem set #3 fa...
2024-11-14
代写n1569 financial risk man...
2024-11-14
代写csci-ua.0202 lab 3: enco...
2024-11-14
代写econ2226: chinese econom...
2024-11-14
热点标签
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
软件定制开发网!