BUAA2020軟工作業(三) 個人專案

2022-08-05 16:03:13 字數 2243 閱讀 7307

專案

內容這個作業屬於哪個課程

2020春季計算機學院軟體工程(羅傑 任健)

這個作業的要求在**

個人專案作業

我在這個課程的目標是

進一步提高自己的編碼能力,工程能力

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

學習c++,掌握測試方法,掌握軟體工程開發規範和相關工具的使用

其他參考文獻

部落格1教學班級

006專案位址

本次作業內容比較簡單,比較適合軟體工程入門,由於之前沒有用c++寫過程式,所以這次寫起來不算是特別順利,出過很多玄學bug,不過借助搜尋引擎的幫助,我的問題都解決了。通過這次作業我也正好入門了c++的物件導向機制,為以後的作業打下基礎。

psp2.1

personal software process stages

預估耗時(分鐘)

實際耗時(分鐘)

planning

計畫· estimate

· 估計這個任務需要多少時間

2020

development

開發· analysis

· 需求分析 (包括學習新技術)

6060

· design spec

· 生成設計文件

3050

· design review

· 設計複審 (和同事審核設計文件)

2020

· coding standard

· **規範 (為目前的開發制定合適的規範)

2010

· design

· 具體設計

3030

· coding

· 具體編碼

240300

· code review

· **複審

3020

· test

· 測試(自我測試,修改**,提交修改)

180240

reporting

報告· test report

· 測試報告

5030

· size measurement

· 計算工作量

1010

· postmortem & process improvement plan

· 事後總結, 並提出過程改進計畫

1010

合計

700

800

拿到這個題之後,首先明白這是一道求交點的題,根據數學知識即可得出求交點的公式:

採用o(n^2)的演算法,每新增一條直線或者乙個圓,就和之前輸入的所有直線和圓進行交點計算,並儲存到相應容器中,最後統計儲存的交點數量。

本**共有4個類:

circle:儲存圓方程的引數;

intersect:儲存所有直線、圓和交點。

採用stl中的set儲存,set中的insert方法可以在插入新元素的同時自動去除重複的元素,由於本次作業的交點是浮點數,所以在**中過載了set中的《運算子,在進行浮點數比較時忽略極小的數值差異,達到去重的目的。

對於以下每種情況分別手動編寫測試資料:

本次作業我在演算法上沒有什麼改進的地方,主要是一些細節的改善,比如減少重複的函式呼叫等等。

這裡是直接套公式計算交點座標並儲存在intersect中。

直接翻譯上面提到的演算法就可以,這裡要注意的是,答案可能是兩個相同的點也可能是兩個不同的點,由於set有去重的功能,這裡統一按兩個不同點的情況來計算。

在計算出交點連線的方程後直接呼叫直線和圓的交點方法即可。

BUAA2020軟工個人部落格作業2 軟體

專案 內容這個作業屬於哪個課程 2020計算機學院軟體工程 羅傑 任健 這個作業的要求在 軟體案例分析部落格作業 我在這個課程的目標是 進一步提高自己的工程能力,提高自己的團隊協作和表達能力 這個作業在哪個具體方面幫助我實現目標 對成熟的軟體分析,進一步了解軟體開發和維護的過程 1.使用10 30分...

BUAA 2020 軟體工程 個人部落格作業

author 17373051 郭駿 專案內容 這個作業屬於哪個課程 2020春季計算機學院軟體工程 羅傑 任健 這個作業的要求在 個人部落格作業 我在這個課程的目標是 學習軟體工程的開發知識,培養工程化開發能力 這個作業在哪個具體方面幫助我實現目標 閱讀教材,對軟體工程有整體上的了解 1.快速看完...

軟工作業 3 個人程式設計練習

一 程式分析 1.讀檔案到緩衝區 def process file dst 讀檔案到緩衝區 try 開啟檔案 f open dst,r except ioerror as s print s return none try 讀檔案到緩衝區 bvffer f.read except print rea...