首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
代写ISAD1000、代做Java/Python程序设计
项目预算:
开发周期:
发布时间:
要求地区:
Introduction to Software Engineering (ISAD1000/5004)
Semester 2, 2024
Due: Friday 18 October, 23:59 GMT+8
Weight: 50% of the unit mark
Note
This document is subject to clari1 Introduction
This is the 2 The Scenario
Your task will be to process output from a maze-generating program in order to create a
smoother, more appealing output for terminal display. The maze-generating program has
already been created for you; your task is solely to modify the output. Currently, the program
generates a simple maze and displays the maze in a format made up only of ‘+’, ‘-‘ and ‘|’
characters. While this is suitable for simple display, it is not the most intuitive to read for a
human and your task is to improve on this using Box-Drawing Characters (which are discussed
in more detail in section 2.1).
As an example, here is the kind of input you can expect (on the left) and how your program
should output the maze (on the right):Note that the primary display for this will be on the terminal. You may 2.1 Maze Structure
The Wikipedia article, but you will only need a
small subset of characters for this assessment. A maze may be made up of the following
characters (and their associated codes):
■ Full lines:
▸ ┃ (U+2503)
▸ ━ (U+2501)
■ Half lines (i.e. for open ends of walls):
▸ ╸ (U+2578)
▸ ╻ (U+257B)
■ Corners:
▸ ┏ (U+250F)
▸ ┛ (U+251B)▸ ┓ (U+2513 - Only used for the outside, top-right border)
▸ ┗ (U+2517 - Only used for the outside, bottom-left border)
■ Intersections:
▸ ┻ (U+253B)
▸ ┣ (U+2523)
If you happen to be familiar with mazes, this might not seem like a complete set, as the lines
are ever only being drawn up and right. However, the algorithm for creating the maze will
never generate a case where other characters (such as ╋ or ┳) would be used. Only the
characters listed above will be used.
The maze is structured as a 2D array, where each ‘cell’ is either linked or not linked to one of
its neighbours. As an example, if the program were to generate a “maze” where each cell was
linked to every neighbour it would generate (and your expected output would be):
… if no cell were linked, the following maze would be generated (and your expected output
would be):In order to determine which is the appropriate character, you will need to inspect a cell in this
2D array and look at each of its neighbours.
A full horizontal line can be determined in the following case, because the corner character
(‘+’) has walls (‘-‘) on the left and right, but not up or down:
NoteHINT: It is suggested that you read from the source maze and write to an output maze:
do not overwrite the source maze, as you will lose/overwrite information that may be
valuable for both earlier and later cells.
2.2 Maze Generating Program
As part of this assessment, you will be provided with a simple program that generates output
as outlined above. You are encouraged to use this program to become familiar with the
output and to use cases generated by this program to assist in testing (but they are NOT
suRuby. You do not need to learn this
language to use the program. There are four source code ■ binary_tree_demo.rb
■ binary_tree.rb
■ grid.rb
■ cell.rb
To run the program, you use the following command on either the lab machines or VMWare
Horizon:
ruby -I. binary_tree_demo.rb
The program will output the maze to the terminal and exit. You may wish to save the output to
a ruby -I. binary_tree_demo.rb > maze_output.txt
(Any name can be specimaze_output.txt)
3 The Tasks
For this assignment, you will create documentation for, and be assessed on, these tasks:
■ Version Control
■ Modularity Design
■ Modularity Implementation
■ Test Design■ Test Implementation
■ Summary of Work
ALL these tasks will primarily be assessed through your documentation. All code that you
create will, however, need to also be submitted to verify your work has been done.
3.1 Version Control
As part of this assignment, you are to apply version control to keep track of your work.
■ Create a short plan, identify what branches you will need, why you need them, and
when the branches will be merged.
■ Create a Git local repository for use throughout this assessment. The repository name
should be in the format of __ISE_Repo
▸ e.g. Brower_Arlen12345678_ISE_Repo
■ Commit all code and documents you create in the assessment
▸ You are expected to use meaningful commits; while there is no hard rule about
what each commit should contain, you are expected to show your ability to use
version control meaningfully. Marks are not awarded for number of commits.
■ Include evidence of your use of version control, such as an image of the log
Any other discussion or explanation on your use of version control should also be included in
the documentation.
Warning
Do not use GitHub, BitBucket, or any other similar online repositories. Doing so runs the
risk of potential collusion investigations. Similarly, do not upload your code to online
repositories even after the assignment due date; other students may have extensions or
deferred assessments.
3.2 Modularity Design
With the given scenario, you are to identify the most suitable modules you will need for your
software to achieve the required functionality, considering the good modularity principles
discussed in lectures/worksheets. You are to:■ Write down module descriptions for each module you decide to implement.
Descriptions should include:
▸ A meaningful name
▸ A clear and detailed explanation on the intended task of the module
▸ Imports, if any
▸ Export, if any
■ Explain your design decisions and how they conform to good modularity principles
Note
It’s rare that you will get the design 100% ideal from the very start. Design is often
iterative. This is actually a very good, interesting thing to include in your documentation
for this assessment. If you 3.3 Modularity Implementation
You are to implement the software using your designs, review the code you have written, and
refactor it. As part of this task, you should:
■ Implement the modules designed in the previous section
▸ You may use Java or Python for your implementation
▸ Your code must run on the lab machines or VMWare Horizon
■ Create a short review checklist to determine if you have followed good modularity
principles. You are expected to cover all basic guidelines covered in lecture 7.
■ Review your code using the prepared checklist, identifying any issues. You must use the
format suggested in worksheet 7 to record your results. Each module must be
reviewed.
■ If you have identi▸ If you refactor your code, explain how it is improved;▸ If you do not refactor your code, justify your decision
■ After refactoring, revise your preliminary descriptions of your modules.
■ At every stage, you should be making changes and committing those changes to the
repo whenever you have made a step you are satis3.4 Test Design
You are to design tests using both black box and white box methodologies.
■ Black box test design:
▸ For each module, according to module descriptions, design suitable test cases.
▸ Describe how you decide upon your test values for each test case
▸ Test cases should each also describe their expected output or behaviour
■ White box test design:
▸ Identify at least two modules where white-box testing will be bene▸ Design test cases to cover functionality of the selected modules using white box
testing
▸ You must test at least two di▸ Describe how you decide upon your test values for each test case
▸ Again, be comitting these test cases to the repo as you write and are satis3.5 Test Implementation
Implement your test designs in either Python or Java. You may use test ■ Identify the actual results for each test case
■ Identify any failures, and attempt to improve your code
▸ Be sure to document this process, as it again makes for useful discussion for this
assessment3.6 Summary of Work
You are to produce a table clearly showing your overall module design and the ■ Each module should have one row
■ For each module, you should identify if the following work has been done:
▸ Whether or not the module is complete;
▸ Whether or not the module’s tests have been designed;
▸ Whether or not the module’s tests have been implemented;
▸ Whether or not the module’s tests are successful
Additionally, your submission must include a short video roughly two minutes in length
demonstrating that your code is working. More information on this video is included in section
5 of this document.
4 Documentation
As noted, your work will primarily be assessed through your documentation. All information
outlined above must be included in your documentation and your documentation must be
submitted to Turnitin as a .pdf ■ A cover page; include the assessment name, your name in Blackboard, your student ID,
and your practical date/time.
■ An introduction; brie■ Discussion; re▸ You may include other information if you feel it would be useful to clarify
anything about your submission
Additionally, marks are allocated for a neat and professional document.
5 Video DemonstrationYour submission must include a short, two minute video that demonstrates your code
working. As part of this video state your name and student number 6 Assessment Submission
You are to submit your assessment in three locations on Blackboard:
■ Declaration of Originality submission point
■ A Turnitin submission point
■ A general submission point
6.1 Declaration of Originality submission point
As part of this submission, you will submit a Declaration of Originality stating that this work is
your own, has not copied anyone else, and any sources are appropriately referenced. This
may be a .pdf, .odt, or .docx 6.2 Turnitin submission
Your Turnitin submission will only include the Documentation .pdf as outlined above. No
source code 6.3 General submission point
The general submission point should include all ■ Your documentation .pdf ■ A .zip (not .rar, not .7z, etc.) ▸ Note that your Git repository is NOT just your working directory (source ■ A single README ■ Your short 2 minute video demonstrating how to run the system and test cases
7 Marking
The allocation of marks for this assessment are as follows:
■ Test Design
Academic Integrity
Please see the Coding and Academic Integrity Guidelines on Blackboard.
■ Version Control [16 marks]
■ Modularity Design [7 marks]
■ Modularity Implementation [20 marks]
▸ Black Box [16 marks]
▸ White Box [9 marks]
■ Test Implementation [20 marks]
■ Summary of Work [5 marks]
■ Documentation-speciacademicintegrity.curtin.edu.au.
The unit coordinator may require you to provide an oral justi
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
代做ceng0013 design of a pro...
2024-11-13
代做mech4880 refrigeration a...
2024-11-13
代做mcd1350: media studies a...
2024-11-13
代写fint b338f (autumn 2024)...
2024-11-13
代做engd3000 design of tunab...
2024-11-13
代做n1611 financial economet...
2024-11-13
代做econ 2331: economic and ...
2024-11-13
代做cs770/870 assignment 8代...
2024-11-13
代写amath 481/581 autumn qua...
2024-11-13
代做ccc8013 the process of s...
2024-11-13
代写csit040 – modern comput...
2024-11-13
代写econ 2070: introduc2on t...
2024-11-13
代写cct260, project 2 person...
2024-11-13
热点标签
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
软件定制开发网!