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

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

代寫CSSE7023、Java設(shè)計(jì)程序代寫 Assignment 1

時(shí)間:2024-03-27  來源:合肥網(wǎng)hfw.cc  作者:hfw.cc 我要糾錯(cuò)



Advanced Software Engineering (CSSE7023)
Assignment 1 — Semester 1, 2024
School of EECS
The University of Queensland
Due March 28th 16:00 AEST
One must learn by doing the thing; for though you think you
know it, you have no certainty, until you try.
— Sophocles
Do not distribute. Revision 1.0.0
Overview This assignment delivers practical experience developing a Java project based on a supplied specification. The specification is provided in the form of JavaDocs, which describe the classes and interfaces that
your assignment must implement. You will be assessed on your ability to
• implement a program that complies with the specification,
• and develop code that conforms to the style conventions of the course.
Task Spreadsheet applications are powerful programs that combine data and formulae to perform calculations.
In this assignment, you will be implementing SheeP (Sheet Processor), a spreadsheet application. SheeP
is similar to Google Sheets or Microsoft Excel. It consists of a grid of cells , each of which contains either data
or a formula. The formulae can reference other cells in the grid to use their values. Formulae are evaluated to
produce a value for the cell. A cell is updated whenever the data or formulae in any cell it references changes.
Common Mistakes Please carefully read Appendix A. It outlines common and critical mistakes which you
must avoid to prevent a loss of marks. If at any point you are even slightly unsure, please check as soon as
possible with course staff.
Plagiarism All work on this assignment is to be your own individual work. By submitting the assignment
you are claiming it is entirely your own work. You may discuss the overall general design of the application
with other students. Describing details of how you implement your design with another student is considered
to be collusion and will be counted as plagiarism.
You may not copy fragments of code that you find on the Internet to use in your assignment. Code supplied
by course staff (from this semester) is acceptable, but must be clearly acknowledged as described in the next
paragraph.
You may find ideas of how to solve problems in the assignment through external resources (e.g. StackOverflow, textbooks, ...). If you use these ideas in designing your solution you must cite them. To cite a resource,
provide the full bibliographic reference for the resource in file called refs.md. The refs.md file must be in the
root folder of your project. For example:
1 > cat refs.md
2 [1] E. W. Dijkstra, "Go To Statement Considered Harmful," _Communications of the ACM_,
3 vol 11 no. 3, pp 1**-148, Mar. 1968. Accessed: Mar. 6, 2024. [Online]. Available:

© The University of Queensland 2024 Page 1
5 [2] B. Liskov and J. V. Guttag, _Program development in Java: abstraction,
6 specification, and object-oriented design_. Boston: Addison-Wesley, 2001.
7 [3] T. Hawtin, "String concatenation: concat() vs '+' operator," stackoverflow.com,
8 Sep. 6, 2008. Accessed: Mar. 8, 2024. Available:
9 https://stackoverflow.com/questions/**605/string-concatenation-concat-vs-operator
10 >
In the code where you use the idea, cite the reference in a comment. For example:
1 /**
2 * What method1 does.
3 * [1] Used a method to avoid gotos in my logic.
4 * [2] Algorithm based on section 6.4.
5 */
6 public void method1() ...
8 /**
9 * What method2 does.
10 */
11 public void method2() {
12 System.out.println("Some " + "content.") // [3] String concatenation using + operator.
13 }
You must be familiar with the university’s policy on plagiarism.
https://uq.mu/rl553
If you have questions about what is acceptable, please ask course staff.
Generative Artificial Intelligence You are required to implement your solution on your own, without the
use of generative artificial intelligence (AI) tools (e.g. ChatGPT or Copilot). This is a learning exercise and
you will harm your learning if you use AI tools inappropriately. Remember, you will be required to write code,
by hand, in the final exam.
Specification
The specification document is provided in the form of JavaDocs.
◦ Implement the classes and interfaces exactly as described in the JavaDocs.
◦ Read the JavaDocs carefully and understand the specification before programming.
◦ Do not change the public specification in any way, including changing the names of, or adding additional,
public classes, interfaces, methods, or fields.
◦ You are encouraged to add additional private members, classes, or interfaces as you see fit.
You can download the JavaDoc specification from BlackBoard (Assessment → Assignment One) or access it at
the link below.
https://csse7023.uqcloud.net/assessment/assign1/docs/
Getting Started
To get started, download the provided code from BlackBoard (Assessment → Assignment One). This archive
includes code for the GUI components. Extract the archive in a directory and open it with IntelliJ.
Task
Implement each of the classes and interfaces described in the JavaDoc specification.
© The University of Queensland 2024 Page 2
Figure 1: Class diagram of the specification for assignment 1.
Project Overview
sheep.core This package contains the interface between the model of a spreadsheet and the user interface.
Implementations of the SheetView interface tell the interface how to render a spreadsheet and communicate this information via the ViewElement object.
Implementations of the SheetUpdate interface handle user updates to the spreadsheet and provide the
result of the update via a UpdateResponse object.
sheep.sheets This package contains implementations of the SheetView and SheetUpdate interfaces and other
supporting classes. Primarily it implements three different types of spreadsheets: FixedSheet, DisplaySheet,
and Sheet.
sheep.expression Within a spreadsheet, the value at a particular cell is represented by an expression. This
package stores the Expression interface that all expressions must implement.
Expressions are constructed via expression factories that implement the ExpressionFactory interface,
e.g. CoreFactory.
This package also stores relevant exceptions.
sheep.expression.basic This package stores core expression implementations, namely, the empty cell, Nothing,
a constant number value, Constant, and a reference to another cell, Reference.
sheep.expression.arithmetic Arithmetic expressions are contained in this package. All arithmetic expressions are subclasses of the abstract class Arithmetic.
sheep.parsing A parser accepts string input and constructs an appropriate expression. For example, given
the string “5”, a parser would construct an instance of the Constant expression that represents 5.
All parsers implement the Parser interface. If a parser cannot parse a string, a ParseException is
thrown.
sheep.fun Provided classes that pre-load spreadsheets with test data, such as the Fibonacci sequence using
the Fibonacci class.
sheep.ui Provided implementation of the user interface.
Stages
Software of any reasonable size or complexity should be developed in stages. This technique is called incremental
development. It allows you to determine that your logical approach is working and that you can implement a
working solution. In professional software development, it allows you to get feedback from clients as you develop
the system. This contrasts with a “big bang” approach of taking months or years to develop the entire system,
and then showing it to clients to find out that it does not do what they want.
The assignment is decomposed into stages to encourage incremental development. You should finish each
stage before moving on to the next . The provided Main class allows you to run each stage individually by
uncommenting the appropriate lines in the main method. Figure 1 highlights the classes that you will implement
in each stage: green for stage 0, blue for stage 1, yellow for stage 2, and purple for provided code. At each
stage, ensure that you thoroughly test your implementation.
Stage 0 Create a simple implementation of a spreadsheet, FixedSheet. The FixedSheet class must be
within the sheep.sheets package and implement the sheep.core.SheetView and sheep.core.SheepUpdate
interfaces. After implementing the FixedSheet class and uncommenting the appropriate lines in the main
method, the program should display as below when executed.
© The University of Queensland 2024 Page 4
Stage 1 Implement the basic types of expressions within the spreadsheet: constant values, references to
other cells, and empty cells. Create an expression factory to create these expressions and a parser to parse
expressions from strings. Finally create DisplaySheet to show the results of these expressions. When
the appropriate lines in the main method are commented out, the program should display as below when
executed.
Stage 2 Complete the implementation of expressions to include arithmetic operations. Your parser and
expression factory should be able to parse and create these expressions. Create the full Sheet implementation, this sheet should appropriately update cells when other cells change. When the appropriate lines
in the main method are commented out, the program should display as below when executed.
Grading
Three aspects of your solution will considered in grading your submission. These are functionality, automated
style check, and human readable style.
Functionality Each class has a number of unit tests associated with it. Your grade for functionality is based
on the percentage of unit tests you pass. Classes may be weighted differently depending on their complexity.
© The University of Queensland 2024 Page 5
Automated Style Check Your grade for automated style checking is based on the percentage of style
violations identified by the Checkstyle tool1
. Multiple style violations of the same type will each be counted
when calculating the percentage of style violations.
Note: There is a plug-in available for IntelliJ that will highlight style violations in your code. Instructions for
installing this plug-in are available in the Java Programming Style Guide on BlackBoard (Learning Resources →
Guides). If you correctly use the plug-in and follow the style requirements, it should be relatively straightforward
to get high marks for this section.
Human Readable Style Course staff will mark the readability of the code you submit. This will assess the
structure, style, documentation and logic of your code. The high-level evaluation is how easily can another
programmer, who is familiar with Java, understand your code. This includes layout of code, use of descriptive
identifier names, and concise and informative comments. It also includes the detailed design of your code’s logic
and how much code is unnecessarily duplicated.
Automated Testing & Checking
Marking will be done automatically in a Linux environment. The environment will not be running Windows,
and neither IntelliJ nor Eclipse (or any other IDE) will be involved. OpenJDK 21 with the JUnit 4 library will
be used to compile and execute your code. IDEs like IntelliJ provide code completion hints. When importing
Java libraries they may suggest libraries that are not part of the standard library. These will not be available in
the test environment and your code will not compile. When uploading your assignment to Gradescope, ensure
that Gradescope says that your submission was compiled successfully.
Your code must compile.
If your submission does not compile, you will receive zero marks.
Submission
Submission is via Gradescope. Submit your code to Gradescope early and often. Gradescope will give you some
feedback on your code, but it is not a substitute for testing your code yourself.
What to Submit Your submission must have the following internal structure:
src/ folders (packages) and .java files for classes described in the JavaDoc.
A complete submission would look like:
1The latest version of the course Checkstyle configuration can be found at http://csse7023.uqcloud.net/checkstyle.xml. See
the Style Guide for instructions.
© The University of Queensland 2024 Page 6
src/sheep/expression/ExpressionFactory.java
src/sheep/expression/InvalidExpression.java
src/sheep/expression/Expression.java
src/sheep/expression/TypeError.java
src/sheep/expression/CoreFactory.java
src/sheep/expression/basic/Reference.java
src/sheep/expression/basic/Constant.java
src/sheep/expression/basic/Nothing.java
src/sheep/expression/arithmetic/Arithmetic.java
src/sheep/expression/arithmetic/Equal.java
src/sheep/expression/arithmetic/Divide.java
src/sheep/expression/arithmetic/Less.java
src/sheep/expression/arithmetic/Plus.java
src/sheep/expression/arithmetic/Minus.java
src/sheep/expression/arithmetic/Times.java
src/sheep/sheets/DisplaySheet.java
src/sheep/sheets/CellLocation.java
src/sheep/sheets/Sheet.java
src/sheep/sheets/FixedSheet.java
src/sheep/sheets/SheetBuilder.java
src/sheep/parsing/Parser.java
src/sheep/parsing/ParseException.java
src/sheep/parsing/SimpleParser.java
refs.md
Ensure that your classes and interfaces correctly declare the package they are within. For example,
Reference.java should declare package sheep.expression.basic;.
Only submit the src folder and the refs.md file in the root directory of your project.
Do not submit any other files (e.g. no .class files or IDE files).
Provided tests A small number of the unit tests (about 10-20%) used for assessing functionality will be
provided in Gradescope. These will be used to test your submission, each time you upload it.
These are meant to provide you with an opportunity to receive feedback on whether the basic functionality of
your classes works correctly or not. Passing all the provided unit tests does not guarantee that you will pass
all the tests used for functionality marking.
Assessment Policy
Late Submission You must submit your code before the deadline. Code that is submitted after the deadline
will receive a late penalty as described in section 5.3 of the course profile. The submission time is determined
by the time recorded on the Gradescope server. A submission is not recorded as being received until uploading
your files completes. Attempting to submit at the last minute may result in a late submission.
You may submit your assignment to Gradescope as many times as you wish before the due date. There will be
two submission links on Gradescope, one for “on-time” submissions and one for “late” submissions. If you have
an extension for the assignment, you will submit your assignment via the “late” submissions link. Your last
submission made to the “on-time” submission link, before the due date, will be the one that is marked, unless
you make a submission to the “late” submission link. If a misconduct case is raised about your submission, a
history of regular submissions to Gradescope, which demonstrate progress on your solution, could support your
argument that the work was your own.
© The University of Queensland 2024 Page 7
A CRITICAL MISTAKES
You are strongly encouraged to submit your assignment on time, or by the revised deadline if you have an
extension. Experience has demonstrated that most students who submit their assignments late lose more marks
due to the late penalties than they gain by making improvements to their work.
Extensions If an unavoidable disruption occurs (e.g. illness, family crisis, etc.) you should consider applying
for an extension. Please refer to the following page for further information.
https://uq.mu/rl551
All requests for extensions must be made via my.UQ, before the submission deadline. Do not email the course
coordinator or other course staff to request an extension.
Remarking If an administrative error has been made in the marking of your assignment (e.g. marks were
incorrectly added up), please contact the course coordinator (csse7023@uq.edu.au) to request this be fixed. For
all other cases, please refer to the following page for further information.
https://uq.mu/rl552
Change Log Revision: 1.0.0
If it becomes necessary to correct or clarify the task sheet or JavaDoc, a new version will be issued and an
announcement will be made on the course Blackboard site. All changes will be listed in this section of the task
sheet.
A Critical Mistakes
THINGS YOU MUST AVOID
This is being heavily emphasised here because these are critical mistakes which must be avoided.
Code may run fine locally on your own computer in IntelliJ, but it is required that it also builds and runs
correctly when it is marked with the electronic marking tool in Gradescope. Your solution needs to conform to
the specification for this to occur.
• Files must be in the correct directories (exactly) as specified by the JavaDoc. If files are in incorrect
directories (even slightly wrong), you may lose marks for functionality in these files because the implementation does not conform to the specification.
• Files must have the correct package declaration at the top of every file. If files have incorrect package
declarations (even slightly wrong, such as incorrect capitalisation), you may lose marks for functionality
in these files because the implementation does not conform to the specification.
• You must implement the public and protected members exactly as described in the supplied documentation (no extra public/protected members or classes). Creating public or protected data members in a
class when it is not specified will result in loss of marks, because the implementation does not conform to
the specification.
◦ You are encouraged to create private members as you see fit to implement the required functionality
or improve the design of your solution.
• Do not import the org.junit.jupiter.api package. This is from JUnit 5 and may cause our JUnit
tests to fail.
• Do not use any version of Java other than 21 when writing your solution. If you accidentally use Java
features which are different in a version older than 21, then your submission may fail functionality tests. If
you accidentally use Java features which are only present in a version newer than 21, then your submission
may fail to compile.
© The University of Queensland 2024 Page 8


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















 

掃一掃在手機(jī)打開當(dāng)前頁
  • 上一篇:莆田鞋十大良心微商推薦(莆田鞋購買渠道一覽表)
  • 下一篇:菲律賓中國人結(jié)婚證 辦菲律賓結(jié)婚證的流程
  • 無相關(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個(gè)行業(yè)
    流體cfd仿真分析服務(wù) 7類仿真分析代做服務(wù)4
    超全面的拼多多電商運(yùn)營技巧,多多開團(tuán)助手,多多出評軟件徽y1698861
    超全面的拼多多電商運(yùn)營技巧,多多開團(tuán)助手
    CAE有限元仿真分析團(tuán)隊(duì),2026仿真代做咨詢服務(wù)平臺
    CAE有限元仿真分析團(tuán)隊(duì),2026仿真代做咨詢服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內(nèi)
    釘釘簽到打卡位置修改神器,2026怎么修改定
  • 短信驗(yàn)證碼 豆包網(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在线免费观看
    欧美中日韩免费视频| 日韩中文字幕国产精品| 高清不卡一区二区三区| 国产成人激情视频| 欧美人交a欧美精品| 日本欧美黄网站| 欧美日韩在线不卡视频| 成人国产精品日本在线| 色偷偷噜噜噜亚洲男人| 久久精品一偷一偷国产| 中文字幕日韩精品久久| 激情欧美一区二区三区中文字幕| 国产精品50p| 国产精品高精视频免费| 日本精品久久久| 国产日本在线播放| 国产精品视频一| 少妇人妻互换不带套| 国语精品中文字幕| 日韩亚洲一区二区| 亚洲精品国产一区| 国产免费xxx| 国产精品国产三级国产aⅴ9色| 日韩免费在线观看av| 国产精品aaa| 亚洲日本理论电影| 国产美女搞久久| 国产精品久久久久久av| 欧美影院在线播放| 日韩有码视频在线| 亚洲精品欧美日韩专区| 国产精品自拍偷拍| 久久99久国产精品黄毛片入口| 国模无码视频一区二区三区| 国产精品视频免费一区二区三区| 日本乱人伦a精品| 国产传媒久久久| 亚洲欧洲日夜超级视频| 国产精品夜夜夜爽张柏芝| 国产精品久久久影院| 国模私拍视频一区| 国产精品久久久久久网站| 欧美精品国产精品久久久| 久久这里只有精品18| 日本视频一区二区在线观看| 成人亚洲欧美一区二区三区| 中文字幕一区二区三区有限公司 | 欧洲在线视频一区| 九九九九九精品| 日韩精品一区二区三区四| 久久精品.com| 日韩精品一区二区在线视频| 日韩在线播放av| 免费在线国产精品| 国产精品国产三级国产专区53| 久久婷婷人人澡人人喊人人爽| 久久综合一区| 久久综合婷婷综合| 欧美精品成人一区二区在线观看| 春日野结衣av| 国产精品久久久久久久久借妻| 91精品久久久久久蜜桃| 99在线观看视频| 日韩专区中文字幕| 欧美成aaa人片免费看| 国内精品视频免费| 亚洲欧洲一区二区| 日韩午夜视频在线观看| 成人久久久久久| 一本久道久久综合狠狠爱亚洲精品 | 在线观看成人av| www黄色av| 少妇大叫太大太粗太爽了a片小说| 国产成人亚洲综合青青| 欧美精品自拍视频| 久久天天躁夜夜躁狠狠躁2022| 北条麻妃在线视频观看| 日韩av高清不卡| 国产成人极品视频| 日本不卡一二三区| 国产精品国产三级国产aⅴ浪潮| 成人精品视频在线| 日韩免费在线观看视频| 久久亚洲综合国产精品99麻豆精品福利| 男女视频一区二区三区| 欧美激情一区二区三区高清视频| 久久精品在线免费视频| 欧美不卡三区| 亚洲永久在线观看| 日韩中文娱乐网| 成人一区二区在线| 欧美一区二区三区电影在线观看| 日韩中文字幕免费| 国产欧美一区二区三区另类精品| 欧美激情二区三区| 久久久久久亚洲| 免费在线成人av| 亚洲欧洲精品在线观看| 68精品久久久久久欧美| 亚洲免费久久| 国产精品久久久一区二区三区| 91免费版网站在线观看| 男人天堂新网址| 午夜精品久久久久久久男人的天堂| 久久久精品视频成人| 99三级在线| 国语自产精品视频在线看一大j8| 亚洲a在线播放| 欧美成人性色生活仑片| 国产成人综合精品在线| 国产剧情久久久久久| 欧美日本韩国一区二区三区| 在线观看国产一区| 精品国产一区二区三区久久狼5月 精品国产一区二区三区久久久狼 精品国产一区二区三区久久久 | 日韩精品久久一区二区三区| 国产精品高潮呻吟久久av野狼| 97精品国产97久久久久久| 欧美日韩亚洲第一| 中文字幕一区二区三区四区五区| 欧美乱偷一区二区三区在线| 综合一区中文字幕| 国产成人一区二区三区别| 国产美女久久精品香蕉69| 欧美区高清在线| 日本视频一区在线观看| 亚洲视频电影| 色综合久久88| 久久伊人免费视频| 久久精品国产精品| 久久人妻精品白浆国产| 97免费视频在线播放| 国产欧美一区二区在线播放| 黄色片网址在线观看| 日韩欧美亚洲精品| 亚洲综合中文字幕在线观看| 美女av一区二区| 操91在线视频| 国产精品第10页| 国产精品加勒比| 国产精品久久久久久久久久久久午夜片 | 国产一区二区视频播放 | 91精品成人久久| 成人免费aaa| 国产精品午夜国产小视频| 国产一区喷水| 国产日韩欧美黄色| 美女视频久久| 欧美影院在线播放| 欧美一级视频免费看| 伊人久久99| 亚洲最大av网| 亚洲欧美日韩精品在线| 亚洲熟妇无码一区二区三区导航| 亚洲综合国产精品| 亚洲一区在线免费| 亚洲一区免费网站| 欧美精品999| 中文字幕无码精品亚洲35| 久久久久久av| 亚洲五码在线观看视频| 亚洲精品欧美一区二区三区| 亚洲v欧美v另类v综合v日韩v| 欧美一区二区三区在线免费观看| 春日野结衣av| 欧美一级视频一区二区| 色之综合天天综合色天天棕色| 少妇人妻无码专区视频| 日韩精品在线视频免费观看| 欧美少妇一区二区三区| 欧美日韩一区在线播放| 国产主播精品在线| 国产又爽又黄的激情精品视频| 久久精品99久久久香蕉| 操日韩av在线电影| 亚洲欧洲国产日韩精品| 人人妻人人澡人人爽欧美一区双| 精品人伦一区二区三区| 白白操在线视频| 精品国产一区二区三区久久久狼| 欧美激情图片区| 日本福利视频一区| 国产日韩欧美日韩| 久操手机在线视频| 欧美精品video| 欧美午夜小视频| 99在线看视频| 日韩在线激情视频| 一区二区视频在线免费| 日本免费在线精品| 国产亚洲情侣一区二区无| 久久精品日产第一区二区三区精品版 | 亚洲精品在线观看免费| 国产专区欧美专区| 国产成人短视频| 亚洲在线色站| 国产一区自拍视频| 色琪琪综合男人的天堂aⅴ视频| 亚洲一区亚洲二区亚洲三区| 免费一区二区三区| 色婷婷综合久久久久|