大型程式設計(CSSE2002)
課業1 - 學期1,2024EEC學校昆士蘭州大學
必須透過做事來學習; 因為你認為您知道,直到嘗試之前,您都無法確定。- Sophocles不要打擾。 修訂1.1.0
概述此任務提供了基於一個基於一個Java專案的實用經驗
提供的規格。 該規範以Javadocs的形式提供,該規範描述了
您的課業必須實現的類和介面。 此外,您必須寫Junit
測試這些類的子集。1
您將對您的能力進行評估;
❼實施一個符合規範的程式,
❼編寫可以識別類實現中的錯誤的JUNIT測試,
❼並制定符合課程樣式慣例的程式碼。
任務電子表格應用程式是功能強大的工具,可以結合資料和公式以執行
計算。 在此課業中,您將實施綿羊(表處理器),這是一個範圍的申請。 綿羊類似於Google表或Microsoft Excel,它由一個網格組成
單元格每個包含資料或公式。 公式可以參考其他單元
網格使用其值。 評估公式以產生細胞值。 單元已更新
每當任何單元格中的資料或公式都會改變。
常見錯誤請仔細閱讀附錄A。概述了常見和關鍵錯誤
您必須避免防止丟失分數。 如果在任何時候您甚至都不確定,
請儘快檢查課程人員。
1儘管我們鼓勵您為所有課程編寫考試。
➞昆士蘭大學2024 1 0011110001
pla竊所有關於這項任務的工作都是成為您自己的個人工作。 提供的程式碼
課程人員(從這個學期開始)是可以接受的,但必須清楚地承認。 生成的程式碼
第三方工具也可以接受,但也必須清楚地承認,請參閱生成下面的人工智慧。 您必須熟悉竊的學校政策:
https://uq.mu/rl553如果您對可以接受的內容有疑問,請詢問課程人員。
強烈鼓勵您不使用生成人造的生成人工智慧智慧(AI)工具來開發您的課業。 這是一個學習練習,您會傷害
如果您不適當地使用AI工具,您的學習。 請記住,您將需要編寫程式碼,
在期末考試中。 如果您確實使用了AI工具,則必須清楚地在您的
提交。 有關如何確認使用生成AI工具的詳細資訊,請參見附錄C。
即使被確認,您也需要能夠解釋您提交的任何程式碼。訪談以維持評估完整性並根據第5.4節的規定
課程資料,課程協調員可能會透過電子郵件詢問您參加面試評估真正的作者的課業。 請參閱課程資料以獲取更多詳細資訊。
規格
規格文件以Javadocs的形式提供。
◦按照Javadocs中所述,完全實現類和介面。
◦仔細閱讀Javadocs,並在程式設計前瞭解規範。
◦不要以任何方式更改公共規範,包括更改或新增的名稱
其他公共類,介面,方法或欄位。
◦建議您在合適的情況下新增其他私人會員,課程或介面。
要檢視Javadoc規範,請訪問Web瀏覽器中的下面URL:
https://csse2002.uqcloud.net/assessment/ass1/docs/
入門
要開始,請從黑板下載提供的程式碼。 此郵政編碼包括
GUI元件。 在目錄中提取存檔,然後使用Intellij開啟它。
任務
1.完全實現Javadoc規範中描述的每個類和介面。
2.為以下類的所有公共行為編寫JUNIT 4測試:
❼細胞結實(在一個稱為CellLocation Test的類中)
❼參考
(在稱為referenceTest的課程中)➞昆士蘭州大學2024 2 0011110001
圖1:分配規範的類圖1。專案概況
綿羊。此軟體包提供了電子表格模型與使用者之間的介面
介面。
SheetView介面的實現告訴介面如何呈現份額表並透過ViewElement物件傳達此資訊。
SheetUpdate介面的實現處理使用者更新電子表格和
透過更新物件提供更新的結果。
Sheep.Sheets此軟體包包含SheetView和SheetUpdate inter Face和其他支援類的實現。 它主要實現了三種不同型別的擴充套件床單:固定網格,螢幕和工作表。
綿羊。在電子表格中的表達,特定單元格的值由sion表示 專案概況
綿羊。此軟體包提供了電子表格模型與使用者之間的介面
介面。
SheetView介面的實現告訴介面如何呈現份額表並透過ViewElement物件傳達此資訊。
SheetUpdate介面的實現處理使用者更新電子表格和
透過更新物件提供更新的結果。
Sheep.Sheets此軟體包包含SheetView和SheetUpdate inter Face和其他支援類的實現。 它主要實現了三種不同型別的擴充套件床單:固定網格,螢幕和工作表。
綿羊。在電子表格中的表達,特定單元格的值由sion表示。 該軟體包儲存所有表示式必須擴充套件的表示式抽象類。
表示式透過實現表達方式的表達工廠構建
介面,例如 核心。
該軟體包還儲存相關的例外。
sheep.expression.basic此軟體包儲存核心表達實現,即空的
單元格,沒有,恆定數值,常數和對另一個單元格的引用。
Sheep.Expression.Arithmetic算術表示式包含在此軟體包中。 所有Arith Metic表示式都是基本抽象類算術的子類。
綿羊。解析器接受字串輸入並構造適當的表示式。 對於ex ample,鑑於字串“ 4”,解析器將構建一個常數表示式的例項
代表4。
所有解析器都必須實現解析器介面。 如果解析器無法解析字串,則
parseexception被丟擲。
綿羊。提供的課程可以預先使用測試資料的電子表格,例如fibonacci
使用斐波那契類的序列。
Sheep.ui提供了使用者介面的實現。
階段
該任務分解為階段,以鼓勵增量發展。 你應該
完成每個階段,然後再進入下一個階段。 提供的主班允許您執行
每個階段透過在主要方法中刪除適當的線來分別分別。 圖1
突出顯示您將在每個階段實現的類代 寫CSSE2002綠色的第0階段,藍色,blue for Stage 1,
黃色為第2階段,紫色用於提供的程式碼。 在每個階段,確保您徹底測試
您的實施。
階段0建立一個簡單的電子表格固定網站的實現。 固定網格
課程應在綿羊包中,並實現綿羊。
和sheep.core.core.sheepupdate介面。 在實現固定表格類並在主方法中評論適當的行後,該程式應如下執行。
➞昆士蘭大學2024 4 0011110001
階段1僅實現電子表格中的基本表示式型別:常數
值,對其他細胞的引用和空細胞。 建立一個表示式工廠來建立這些
表示式和解析字串表示式的解析器。 最終將螢幕建立為
顯示這些表示式的結果。 當主要方法中的適當行是
評論說,該程式應如下進行。
第2階段完成表示式的實施,以包括算術操作。 你的
解析器和表達工廠應該能夠解析並建立這些表示式。 創造
完整的工作表實現,此表應在其他單元格時適當更新單元格
改變。 當評論主方法中的適當行時,該程式
應按照下面的方式執行。
➞昆士蘭州大學2024 5 0011110001
第3階段,如果您尚未這樣做,請確保您編寫所需的Junit測試課。
標記
任務將在100中標記。標記將分為三類:
功能(F),JUNIT測試(T)和樣式。
體重描述
F 65該程式相對於
規格。
t 25 Junit測試可以區分正確和
不正確的實現。
S 10程式碼樣式符合課程樣式指南。
總體任務標記定義為
A1 =(65×F) +(10×S) +(25×T)
功能每個類都有許多與之相關的單元測試。 您的功能標記基於您透過的單位測試的百分比。 假設您有10個單位
測試一堂課,如果您透過了其中的8個測試,那麼您將獲得該課程的80%分數。 課程
根據其複雜性,可以將加權加權不同。 您對功能的標記F是
然後每個班級的加權平均值,是I級的重量,pi是透過的測試數量
第一級和ti是I類測試的總數。
Junit測試您在Celllocation Test和ReferenceTest中提供的JUNIT測試將
用於測試細胞結實的正確和不正確的(錯誤)實現
參考類。 標記將被授予
CSSE2002 java專案描述
相關文章
- 《Python專案——描述性統計分析》Python
- 如何清晰地描述一個專案架構架構
- 描述專案的典型使用者與場景
- mvn 建立java專案 web專案JavaWeb
- 34套Java專案教程+原始碼包含Java swing專案 Java web專案 Java控制檯專案(視訊教程+原始碼)Java原始碼Web
- java專案打包Java
- 檔案描述符
- 安卓部署Java專案安卓Java
- Java專案問題Java
- Maven建立Java專案MavenJava
- Docker部署Java專案DockerJava
- XML口令檔案描述 (轉)XML
- 把普通java專案轉換成maven專案JavaMaven
- java專案日誌配置檔案Java
- 關於一個java專案呼叫另一個java專案的心得Java
- java怎麼匯入專案?java已有專案如何匯入eclipse?JavaEclipse
- java專案經理面試Java面試
- Maven 構建 Java 專案MavenJava
- 如何開發Java專案Java
- Java專案是什麼?Java
- JAVA專案映象構建Java
- JAVA 專案 配合 Docker 打包JavaDocker
- Linux檔案描述符Linux
- jb7中的部署描述檔案與weblogic中的部署描述檔案不同Web
- Java Web系列:Java Web 專案基礎JavaWeb
- 直接插入排序java描述排序Java
- 檔案描述符和檔案系統
- iOS 12測試版描述檔案下載安裝教程 iOS12描述檔案在哪?iOS
- 【Java】手工編寫JavaWeb專案!JavaWeb
- 如何吃透一個java專案?Java
- 使用Maven構建Java專案MavenJava
- JAVA專案伺服器部署Java伺服器
- Java專案Docker化改造(一)JavaDocker
- java專案打包(maven+原生)JavaMaven
- Linux下檔案描述符Linux
- Java新手學習Java專案打日誌Java
- Jenkins 2.32.3引數化構建maven專案-java專案JenkinsMavenJava
- jenkins 專案獲取遠端java專案併發布JenkinsJava