軟工 第 二 次作業(結對專案)

2022-05-23 06:57:12 字數 3264 閱讀 7278

1.這個作業屬於哪個課程?

2019春季計算機學院軟體工程

2.這個作業的要求在**?

第2次軟工作業要求

3.我在這個課程的目標是?

4.這個作業在哪個具體方面幫助我實現目標?

了解結對程式設計與個人程式設計的異同,進一步訓練對程式進行設計和測試的能力

5.專案github位址

結對專案一

psp2.1

personal software process stages

預估耗時(分鐘)

實際耗時(分鐘)

planning 計畫

3020

· estimate	| · 估計這個任務需要多少時間		 | 30 |  20
development | 開發 | 1300 | 1150

· analysis | · 需求分析 (包括學習新技術) | 120 | 140

· design spec | · 生成設計文件 | 30 | 40

· design review | · 設計複審 (和同事審核設計文件) | 5 | 5

· coding standard | · **規範 (為目前的開發制定合適的規範) | 20 | 5

· design | · 具體設計 | 60 | 120

· coding | · 具體編碼 | 720 | 480

· code review | · **複審 | 180 | 60

· test | · 測試(自我測試,修改**,提交修改) | 180 | 300

reporting | 報告 | 150 | 60

· test report | · 測試報告 | 60 | 30

· size measurement | · 計算工作量 | 30 | 10

· postmortem & process improvement plan | · 事後總結, 並提出過程改進計畫 | 60 | 20

| 合計 | | 1500(25h) | 1230(20.5h)

information hiding,資訊隱藏。通俗一些來解釋,這即是封裝和不同層次的抽象,從頂級的模組內容進行概念抽象,一直到底層類中成員的訪問性控制進行物理邏輯上的資訊隱藏。在本次作業中最重要,最不同於以往訓練內容的抽象在於軟體程式的模組化,我們希望盡量保持模組之間的獨立,減低模組之間的耦合度,使各個模組達到一種loose coupling的狀態。從模組這一層次的高度來說,我們嚴格按照部落格中規定的規範進行了介面設計,遵循了一些介面設計的原則,進行了測試,並且保持不同模組僅通過我們定義的這些模組進行資訊交流。但較為遺憾的是隨著系統複雜性的增高,我們在模組內部耦合性並未保持在乙個較低的水平上。

我們大約在效能改進上花費了4小時進行學習和**修正。對於有環的情況我們採用dfs的方法進行遍歷搜尋,對於無環的情況我們採用拓撲排序+動態規劃的方法減少搜尋次數,從而提高效能。

契約程式設計的核心即是與軟體相關的不同角色需要有不同的約束。在這一點上,我們會對輸入進行仔細地判斷,對於不正確的內容我們會報出異常。在輸出方面我們始終保持輸出形式的一致性。

測試覆蓋率截圖:

本程式中所需要處理的一場主要包括:

· 檔案操作異常

· 輸入指令不規範異常

介面樣式

介面設計

功能:· 讀入指定路徑檔案中的內容(單行)

· 輸入自定義的內容(多行)

· 提供計算方式的選擇:-w \ -c

· 提供是否指定首尾字元的多項選擇(當輸入框中不只包含乙個字元時,取第一位字元)

· 提供是否允許包含隱含環的選項

· 單擊生成後即時於輸出框顯示結果

· 可通過圖形化介面選擇匯出檔案位置

該介面通過 windows form 框架和視覺化控制項實現。

介面介面

gui對外提供建立gui介面的介面:

public static void showgui()

gui通過呼叫計算模組的get_chainbyline函式獲取處理之後的單詞鏈,並予以顯示:

corebuild core = new corebuild();

wordchain wc = core.get_chainbyline(textinput, char_h, char_t, b_r, c_wc);

foreach(word word in wc.getwordchain())

//輸出指結果框

textbox5.text = textoutput;

首先放出一張結對**:

結對程式設計優劣

結對程式設計是極限程式設計的形式之一,根據老師上課所講述內容,其內涵在於將**複查實施到極致,這使得**質量會大幅提公升。除此之外,對於程式設計師來說,結對程式設計的方式能夠提公升他們的信心、動力、滿足感和人際關係;對於組織來說,結對程式設計有利於知識的傳遞和人員的流動。

結對程式設計在不同的條件下也會顯現出一些劣勢,如當兩人水平差距較大時可能會出現難以合作的問題,當任務量較小同時質量穩定性又較高時,兩人協作可能會出現時間和生產力的浪費

個人優劣

彭一夫:優勢在於注重細節,對整體要求和結構把控好,合作態度好;劣勢在於程式設計水平較差

吳昊:優勢在於能對演算法優化進行深入研究,合作交流態度好;劣勢在於對整體構架能力稍弱

軟工實踐結對作業第二次

031502328 駱景釗 031502337 肖小強 實現乙個智慧型自動分配演算法,根據輸入資訊,輸出部門和學生間的匹配資訊 乙個學生可以確認多個他所申請的部門,乙個部門可以分配少於等於其要求的學生數的學生 及 未被分配到學生的部門 和 未被部門選中的學生。提供輸入包括 程式生成方法 規範之前沒說...

軟工實踐 第二次結對程式設計作業

結對同學部落格 本作業部落格 史恩澤 我 施金海 psp2.1 personal software process stages 預估耗時 分鐘 實際耗時 分鐘 planning 計畫 5060 estimate 估計這個任務需要多少時間 5060 development 開發 2240 3560 ...

2020軟工實踐第二次結對作業

這個作業屬於哪個課程 這個作業要求在 homework 11277 這個作業的目標 結對實現學術家族樹的程式設計,學習前端內容和單元測試的知識 學號031802223 劉東權 031802219 林璟 github位址 psp2.1 personal software process stages ...