国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看

合肥生活安徽新聞合肥交通合肥房產(chǎn)生活服務(wù)合肥教育合肥招聘合肥旅游文化藝術(shù)合肥美食合肥地圖合肥社保合肥醫(yī)院企業(yè)服務(wù)合肥法律

CHC6186代寫、Java程序設(shè)計代做

時間:2024-04-26  來源:合肥網(wǎng)hfw.cc  作者:hfw.cc 我要糾錯



CHC6186 Advanced Object-Oriented Programming
Coursework
For this coursework, you will produce in Java two versions of the game Numberle. One version will
have a Graphical User Interface (GUI) and the other version will have a command-line interface (CLI).
The GUI version will be constructed according to the principles of Model View Controller, and the CLI
version will use the same model. The two versions will from now on be called the GUI version and
the CLI version.
Learning Outcomes
This coursework will assess the following learning outcomes.
● Create a software artefact by applying the methodologies of advanced object-oriented
programming to a requirements specification
● Consult on-line code libraries to find the classes and methods most appropriate for solving a
problem
● Create appropriate documentation that clearly communicates the intended behaviour of a
program
This coursework is worth 50% of your module mark; the remaining 50% comes from your exam.
How to Play Numberle
Numberle is a mathematical equation guessing game where players must accurately guess a randomly
generated equation within six tries.1 Players enter their own equation, aiming to match the target
equation. In total, players have 6 attempts to guess the target equation. When calculating, players
can use numbers (0-9) and arithmetic signs (+ - * / =).
For this coursework, the length of the mathematical equation is fixed at 7 characters. (However, the
character number of the link numberle.org is originally 8, but you can change it to 7 characters by
clicking the top left setting button) In each attempt, the player enters their own correct equation to
find out what numbers and arithmetic signs are in the equation. If the number or sign is in the
equation, but in the wrong place, it will be highlighted in orange. If it is in the exact place, then it will
be highlighted in green. If there is no number or sign in the equation at all, the color will be gray. In
this coursework, arithmetic expressions are
evaluated using BODMAS. BODMAS stands for
"Brackets, Orders (exponents), Division and
Multiplication, Addition and Subtraction." This
means that operations within brackets are
performed first, followed by any exponents, then
division and multiplication (from left to right), and
finally addition and subtraction (from left to right).
The website is implemented in Javascript. Any
attempt to submit Javascript will receive a mark
of zero and any Java based on the website’s
Javascript will be treated as plagiarism in the
normal way. The website colours may be used.
 1
https://numberle.org
Functional Requirements
For greater clarity, the description of the GUI and the CLI versions of the game can be summarised in
the following list of functional requirements.
FR1 For the GUI version, a confirmatory message or a message box should be displayed to
indicate whether the player has won (guessed the mathematical equation) or lost (run out
of guesses), even though the game status is clear from the tile coloring on the last filled
row.
FR2 For the CLI version, a confirmatory message indicating the player has won or lost is
required.
FR3 The behaviour of the program shall be controlled by three flags:
• One flag should, if set, cause an error message to be displayed if the equation is not
valid; this will not then count as one of the tries.
• Another flag should, if set, display the target equation for testing purposes.
• A third flag should, if set, cause the equation to be randomly selected. If unset, the
equation will be fixed.
FR4 Both GUI and CLI versions of the program should allow players to input their guesses for
the mathematical equation, consisting of numbers and arithmetic signs.
FR5 The Model should load a list of valid equations from a fixed location (from one provided
file equations.txt). This list will serve as potential guesses for the player.
FR6 The GUI should display a keyboard in which digits or signs are displayed in dark grey if it
has been revealed that they do not occur in the mathematical equation, green if a correct
location of a digit or a sign has been found, and orange if the digit or sign has been
guessed but never at the correct location. See below for an example; this functionality is
like the GUI shown on the website.
The CLI should indicate available digits or signs by listing them in four separate categories
in a certain order.
FR7 The GUI version should have a button to ask for a new game which will be enabled only
after the first valid guess has been made. This is not required for the CLI version.
Non-functional Requirements
The following non-functional requirements also apply
NFR1 The GUI version and CLI version should be two separate programs ie there should be two
files each with a main method in them and which file is run determines which version
activated.
NFR2 The GUI version must be constructed according to the principles of MVC, as restated
below. Because of this requirement, code that belongs in the View but is placed in the
Model will usually not be counted towards the marks for the View. Similar rules will apply
for other misplaced code.
NFR3 The CLI version will use the Model part of the GUI version directly without using the View
or Controller; nor should it define a new view or controller.
NFR4 The code must be documented with asserts, unit testing, class diagram, comments as
described below.
NFR5 The code must be of good quality as described in the marking scheme below.
NFR6 The flags mentioned in FR3 should be in the Model. It is not necessary for them to be
changeable at run time.
NFR7 The model should also have a constant indicating the number of allowable guesses.
Marking Scheme (See rubric as well).
 Model. This should have an interface designed to be convenient for the Controller, View
and JUnit class to use with no superfluous public methods, no references to two classes
and contain no GUI code. It may consist of several classes but there must be a class called
Model or similar that provides the interface and this class should extend Observable. File
reading should also be done in the Model. A high mark will be earned for a Model that
implements all the required functionality and respects all these constraints. A pass mark
will be earned for a Model that implements only some of the required functionality or fails
to respect these constraints.
20%
Controller. This should forward only valid requests to the Model, querying the Model if
necessary to find out if the request is valid, and must also enable / disable buttons as
described above in the functional requirements. It must have no GUI code, though it may
send messages to the View. A high mark will be given to a controller that respects all these
constraints and a pass mark will be given to a controller that respects only some of them
10%
View of GUI version using the Swing framework. It should implement Observer and
therefore have an update method that is called when the Model changes. This will be
marked according to how many of the functional requirements have been met. A high
mark will be given to a view that implements all the requirements and a pass mark will be
given to a view that implements only some of them.
10%
CLI version of the program, using the Model. 10%
Specification of Model with asserts. This should include invariants for the class as well as
pre and post conditions for each public method in the model. This will be marked
according to how many of the relevant conditions are included and whether the ones that
are included are correct. Partial credit will be available for describing them in English. A
high mark will be given to a specification that includes all the relevant constraints. A pass
mark will be given to a specification that includes only a few of them.
10%
Unit testing of the Model in JUnit. There should be three tests, significantly different from
each other. You should explain in comments the scenario ie the situation you are testing
for. You should use write (and then call) methods for the Model that set it into the state
desired for the test. It should be easy to see what state the Model is being set to by
reading the code for the unit tests. A high mark will be given to significantly different tests
10%
that are easy for the marker to interpret. A pass mark will be given to unoriginal second or
third tests or to three tests that are difficult to understand. Your Model may use a
separate Board class but the testing should be of the Model class and the specification
should be applied to that class also.
Use of the code quality practices described in Lecture 1, plus the additional practices of
light relevant commenting and correct formatting. Short elegant programs are preferred,
and code smells are to be avoided. Note that high marks for this category will only be
possible if the GUI fulfils most of the requirements. A high mark will be awarded if all the
practices are observed and a pass mark will be awarded if only some of them are.
10%
Class diagram. This should show how the Model, View and Controller are related to each
other, as well as how they interact with library classes such as Observable. Simplicity and
clarity will be reward. It will be marked according to its accuracy as a representation of the
program. A high mark will be awarded for an accurate diagram and a pass mark will be
awarded for a less accurate diagram.
10%
Video presentation that shows you displaying the code and using the program. It will be
marked according to timing, presentation and how well you show that you have met the
FRs and NFRs in both versions.
10%
Submission
Requirements
1. Your submission should contain three files (.pdf, .zip, and .mp4).
2. The first file is a .pdf document with screenshots of the implementation (Java code), testing,
and design with a class diagram.
3. The second file is a .zip file with the Java project.
4. The third file is a .mp4 video that is less than 1 GB. If the video is not viewable, it will not
receive marks. The video must be a maximum of five minutes long during which you must
display most of the relevant functionality and refer to your code. Any recording software can
be used so long as it captures your screen and your voice.
5. Additionally, you are required to regularly upload your code to GitHub as per the university
counterpart's requirement. Provide the GitHub repository link in the PDF document.
6. The PDF document is the version that will be marked, but the .zip and .mp4 are requested so
that we may run the code.
File Naming Convention
You must save the files with the following names:
• {YourStudentNumber}-coursework.pdf
• {YourStudentNumber}-coursework.zip
• {YourStudentNumber}-coursework.mp4
For example:
• 202007081314-coursework.pdf
• 202007081314-coursework.zip
• 202107081314-coursework.mp4
Submission Deadline:
You must upload from the student website (student.zy.cdut.edu.cn) before 17:00, May 6th
(Monday).
Some students will be selected to give a Zoom presentation, after the exam period. If you are asked
to give a Zoom presentation then you must do so.
Formative Feedback
We are giving you the opportunity to receive feedback on the design of your program. To receive
this feedback, you need to upload a detailed UML class diagram of your code to student website
before 17:00 on Friday March 25th. As this is a formative feedback deadline, it will not be possible
for you to seek deadline extensions. You will be given a short amount of written feedback on your
design within a week. The Week 5 teaching session will go through a worked example in order to
help you produce the class diagram.
The class diagram should have all methods and attributes showing. In addition, you should indicate
which methods call which other methods. A class diagram with insufficient detail or syntactically
nonsensical or not realisable as an actual Java program will make it more difficult for us to give you
feedback and will receive a low mark if submitted with the final report.
Academic Conduct
This is an individual piece of work and you will have to work on your own and submit your own
original attempt at the assignment. Any code that has been copied from any source (e.g. Stack
Overflow, online tutorial, textbooks, other students etc.) must be properly referenced to avoid any
suspicion of plagiarism. Refer to the Module Handbook for further information on this. If you need
help you can always ask for advice and guidance from the module leader by email; online sessions
can be arranged for further clarification.
Rubric The work shall be marked according to the following rubric.
D C B A
Model only basic functionality
implemented or slightly more
than basic but references to View
or Controller or superfluous
methods
no superfluous methods and no
references to View or Controller
but only the basics of
functionality implemented
no superfluous methods and
no references to View or
Controller but only the basics
of functionality implemented
convenient to use with no superfluous methods, all required
functionality and no references to View or Controller, extends
Observable, calls setChanged and notifyObservers
Controller zero of the requirements: only
valid requests, querying Model
first, enables/disables buttons
without GUI code
one out of only valid requests,
querying Model first,
enables/disables buttons without
GUI code
two out of only valid requests,
querying Model first,
enables/disables buttons
without GUI code
only valid requests, has references to both Model and View,
converting UI interactions into methods to change the Model,
querying Model first, enables/disables buttons without GUI code
GUI View no view update method or
update method implementing
very few of the FRs
update method in view
implementing some of the FRs
update method in view
implementing most of the FRs
update method in view implementing all the FRs, uses Swing, has
Model and Controller as attributes, displays board and allows
Controller to change the view e.g. enable/disable options,
implements Observer and calls addObserver
CLI class CLI version implementing very
few of the FRs
CLI version implementing some of
the FRs
CLI version implementing
most of the FRs
CLI version implementing all the FRs, using same Model as the
GUI version, but no Controller and is demonstrated on the video
Specification
of
Model with
asserts
a few pre/postconditions
described in English
suitable pre/post conditions for
most public methods but in
English
suitable pre/post conditions
for most public
methods expressed in some
logic
suitable pre/post conditions for all public methods and class
invariants all expressed as statements of formal logic
Unit testing
of
Model with
JUnit
one test with the scenario poorly
described or not at all
tests all essentially similar or only
one or two or scenario being
tested poorly described
third test not significantly
different or scenario being
tested not described with
sufficient care
three significantly different tests of the model with all scenarios
exactly described and with all inputs satisfying the preconditions
Code quality
practices
most code quality practices not
observed
some code quality practices
observed but many not
most code quality practices
observed but some clearly not
all code quality practices observed including light correct
commenting, suitable identifier names (constants, methods,
classes etc) in appropriate cases, indentation, lack of code
smells (long methods, repeated code, lack of modularity)
Class
diagram
Inadequate class diagram with
serious mistakes in attributes and
relationships between classes
Adequate class diagram with
mistakes in both attributes and
relationships between classes
Good class diagram with only
a few mistakes in attributes,
visibility or relationships
between classes
Excellent class diagram with all attributes indicated with correct
visibilities and correct relationships between classes all shown
Video
Presentation
Very poor presentation with
insufficient coverage of FRs and
NFRs, poorly presented and
overly long
Passable presentation covering
FRs or NFRs or well-presented or
at least appropriate length
Quite good presentation but
missing some details of FRs
and NFRs or poorly presented
or overly long
Excellent presentation with full explanation of most FRs and
NFRs, referencing the code, well presented and within time limit

請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp











 

掃一掃在手機(jī)打開當(dāng)前頁
  • 上一篇:COMP222代寫、Python, Java程序語言代做
  • 下一篇:代做COMP10002、c++編程設(shè)計代寫
  • 無相關(guān)信息
    合肥生活資訊

    合肥圖文信息
    流體仿真外包多少錢_專業(yè)CFD分析代做_友商科技CAE仿真
    流體仿真外包多少錢_專業(yè)CFD分析代做_友商科
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路流場仿真外包
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路
    流體CFD仿真分析_代做咨詢服務(wù)_Fluent 仿真技術(shù)服務(wù)
    流體CFD仿真分析_代做咨詢服務(wù)_Fluent 仿真
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢外包_剛強(qiáng)度疲勞振動
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢外包_剛強(qiáng)度疲
    流體cfd仿真分析服務(wù) 7類仿真分析代做服務(wù)40個行業(yè)
    流體cfd仿真分析服務(wù) 7類仿真分析代做服務(wù)4
    超全面的拼多多電商運營技巧,多多開團(tuán)助手,多多出評軟件徽y1698861
    超全面的拼多多電商運營技巧,多多開團(tuán)助手
    CAE有限元仿真分析團(tuán)隊,2026仿真代做咨詢服務(wù)平臺
    CAE有限元仿真分析團(tuán)隊,2026仿真代做咨詢服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內(nèi)
    釘釘簽到打卡位置修改神器,2026怎么修改定
  • 短信驗證碼 豆包網(wǎng)頁版入口 破天一劍 目錄網(wǎng) 排行網(wǎng)

    關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網(wǎng) 版權(quán)所有
    ICP備06013414號-3 公安備 42010502001045

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    日本精品久久久久久久| 国产精品成av人在线视午夜片| 久久全国免费视频| 一区二区三区四区视频在线| 黄色免费视频大全| 日韩在线视频免费观看高清中文| 亚洲精品一区国产精品| 国产天堂在线播放| 国产精品二区三区四区| 精品日韩美女| 国产精品高潮呻吟久久av无限 | 亚洲精品第一区二区三区| 国产噜噜噜噜久久久久久久久 | 国产自产在线视频一区| 久久精品亚洲一区| 日韩精品不卡| 日韩最新免费不卡| 欧美日韩国产精品一区二区| xxav国产精品美女主播| 欧美牲交a欧美牲交| 久久精品香蕉视频| 日韩一二区视频| 国产成人免费电影| 免费看日b视频| 精品国产一区二区三区四区vr | 欧美激情在线一区| 成人av色在线观看| 亚洲精品欧美一区二区三区| 91.com在线| 日本精品va在线观看| 久久久久一区二区| 欧美丰满熟妇xxxxx| 久久国产精品99国产精| 成人国产精品av| 天堂资源在线亚洲视频| 色偷偷av亚洲男人的天堂| 欧美一区亚洲二区| 精品成在人线av无码免费看| 97精品国产97久久久久久免费| 日韩在线电影一区| 久久av免费观看| 欧美韩国日本在线| 精品伦理一区二区三区| aaa免费在线观看| 日本视频一区在线观看| 国产精品区免费视频| 国产女人水真多18毛片18精品| 亚洲精品中文字幕乱码三区不卡| 久久久99国产精品免费| 激情伊人五月天| 最新中文字幕久久| 久久综合九色综合88i| 欧美专区一二三| 欧美精品一二区| 91观看网站| 欧美一区激情视频在线观看| 久久躁狠狠躁夜夜爽| …久久精品99久久香蕉国产| 欧美专区在线视频| 欧美激情视频在线| 久久国产手机看片| 国产一区玩具在线观看| 亚洲bt天天射| 国产精品视频一二三四区| 国产精品一区二区a| 任我爽在线视频精品一| 久久久久久国产| 北条麻妃久久精品| 不卡视频一区| 黄色片视频在线免费观看| 亚洲一区 在线播放| 日韩在线高清视频| 91国内揄拍国内精品对白| 男女视频一区二区三区| 亚洲国产欧美日韩| 欧美精品一区二区三区国产精品| 久久艹国产精品| 超碰成人在线免费观看| 国内一区二区三区在线视频| 欧美一级淫片播放口| 中文字幕精品在线播放| 国产精品日韩久久久久| 久久人人97超碰精品888| 国产欧美日韩免费看aⅴ视频| 日韩欧美在线观看强乱免费| 色综合久久88色综合天天看泰| 色久欧美在线视频观看| 97人人模人人爽人人喊中文字| 国内精品久久久| 青青草原av在线播放| 亚洲乱码日产精品bd在线观看| 精品国偷自产一区二区三区| 国产精品人成电影在线观看| 久久国产精品一区二区三区四区| 99热亚洲精品| 国产精品尤物福利片在线观看| 激情小说综合网| 欧美中文字幕视频在线观看| 色999日韩自偷自拍美女| 一区二区三区免费看| 国产精品丝袜久久久久久消防器材| 国产经典久久久| 91久久精品视频| 成人国产精品久久久| 国产九九精品视频| 国产日韩欧美视频| 精品视频导航| 精品一区二区国产| 免费中文日韩| 欧美极品视频一区二区三区| 欧洲精品亚洲精品| 日韩视频在线视频| 日本午夜精品一区二区三区| 天天综合狠狠精品| 日韩在线第三页| 婷婷久久青草热一区二区| 亚洲一区中文字幕在线观看| 在线日韩av永久免费观看| 美日韩精品视频免费看| 欧美成人一区二区三区电影| 国产精品成人在线| 久久国产精品视频| 国产99久久精品一区二区永久免费| 久久资源免费视频| 精品国产一区二区三区麻豆免费观看完整版 | 欧美日韩喷水| 欧美又大又粗又长| 欧美在线一区二区视频| 免费在线观看日韩视频| 免费观看美女裸体网站| 麻豆成人av| 国产乱子伦农村叉叉叉| 97精品国产97久久久久久免费| 91免费在线观看网站| 久久综合一区| 日韩色av导航| 久久亚洲影音av资源网| 国产av第一区| 亚洲va久久久噜噜噜久久狠狠 | 99精品国产一区二区| 97久草视频| 国产成人精品日本亚洲专区61| 久久国产精品亚洲va麻豆| 久久久久久久国产精品视频| 久久精品国产91精品亚洲| 国产精品久久久久久久久男| 欧美成年人视频| 亚洲欧美日韩精品综合在线观看 | 久久精品99久久香蕉国产色戒| 国产精品高潮呻吟久久av无限| 久久99亚洲精品| 中文字幕一区二区中文字幕| 欧美一区二区三区免费观看| 欧美日韩福利在线| 国产免费人做人爱午夜视频| 91精品国产高清久久久久久91裸体 | 国产精品手机播放| 久久久久成人精品| 日本精品一区二区| 国产在线一区二区三区四区| 国产精品永久免费在线| 久久精品美女| 久久av在线看| 日韩一区二区三区资源 | 久久黄色免费看| 久热精品视频在线观看| 欧美一区二区三区精美影视 | 久久亚洲一区二区三区四区五区高| 亚洲在线不卡| 欧美日韩精品久久久免费观看| 精品少妇人妻av免费久久洗澡| 97国产在线播放| 国产精品无码av无码| 亚洲综合精品一区二区| 青草视频在线观看视频| 国产毛片视频网站| 久久国产精品-国产精品| 久久综合伊人77777| 色一情一乱一伦一区二区三区丨| 狠狠色噜噜狠狠狠狠色吗综合| wwwwww欧美| 国产精品女人网站| 色综合电影网| 国产精品揄拍一区二区| 按摩亚洲人久久| 一区国产精品| 欧美成人精品免费| 777久久精品一区二区三区无码| 国产精品久久久久久av| 日韩尤物视频| 高清亚洲成在人网站天堂| 播播国产欧美激情| 午夜精品理论片| 国模视频一区二区| 久久99久久99精品蜜柚传媒| 夜夜爽www精品| 国产特级淫片高清视频| 国产成人久久久精品一区| 亚洲欧洲精品在线| 国产视色精品亚洲一区二区|