第五次作業——python效能分析與幾個問題(個人作業)
阿新 • • 發佈:2018-04-14
結合 撰寫 porting tin 設計實現 cti personal 設計文檔 hub
第五次作業——效能分析與幾個問題(個人作業)
前言
閱讀了大家對於本課程的目標和規劃之後,想必很多同學都躍躍欲試,迫不及待想要提高自身實踐能力,那麽就從第一個個人項目開始吧,題目要求見下。
閱讀
閱讀《構建之法》第一章至第三章的內容,並在下方作業裏體現出閱讀後的成果。特別是第2章中的效能分析及個人軟件開發流程(PSP)。
參考文章:
- 《構建之法》教學筆記——Python中的效能分析與幾個問題
- 四則運算器效能分析
- 軟工第2次作業-四則運算器
題目描述
可以選擇以下題目(或者自主選擇題目和語言,提交材料不變):
題目要求:
- 能自動生成小學四則運算題目(註意是給小學生用的,要是結果出現負數的話他們會迷茫的!)
- 除了整數外,還要支持真分數的四則運算
工具清單
- 編程語言:Python
- 效能分析工具:多種(自選):https://blog.csdn.net/xiemanr/article/details/72763234
- 源代碼管理平臺:Github
測試須知
要求與說明
- 【項目設計】分析並理解題目要求,獨立完成整個項目,並將遵循上述測試須知中規範的最新項目發布在Github上。
- 【項目測試】使用單元測試對項目進行測試,並使用插件查看測試分支覆蓋率等指標。
- 【性能優化】完成項目的首個版本之後,使用性能分析工具找出代碼中的性能瓶頸並進行改進。
- 【源代碼管理】在項目實踐過程中需要使用Github管理源代碼,代碼有進展即簽入Github。簽入記錄不合理的項目會被助教抽查詢問項目細節。
- 【博客發布】按照要求發布博客,利用在構建之法中學習到的相關內容,結合個人項目的實踐經歷,撰寫解決項目的心路歷程與收獲。博客與Github項目明顯不符的作業將取消作業成績。
博文規範
將博文發布到個人博客上,並提交到班級博客群,word留檔案,且需包含以下8個內容。(10分)
- 在文章開頭給出Github項目地址。(0.5‘)
- 在開始實現程序之前,在下述PSP表格記錄下你估計將在程序的各個模塊的開發上耗費的時間。(0.5‘)
- 解題思路描述。即剛開始拿到題目後,如何思考,如何找資料的心路歷程。(0.5‘)
- 設計實現過程。設計包括代碼如何組織,比如會有幾個類,幾個函數,他們之間關系如何,關鍵函數是否需要畫出流程圖?(2‘)
- 代碼說明。展示出項目關鍵代碼,並解釋思路與註釋說明。(2‘)
- 測試運行。程序必須是可運行的,展示出程序運行的截圖。PS:如果有擴展需求或者更高級的需求,請秀出來,有額外加分。(2‘)
- 記錄在改進程序性能上所花費的時間,描述你改進的思路,並展示一張性能分析圖,並展示你程序中消耗最大的函數。PS:如果采用Visual Studio Community 2015開發,使用C++或者C#語言實現,VS 2015的性能分析工具可自動生成。(2‘)
- 在你實現完程序之後,在下述PSP表格記錄下你在程序的各個模塊上實際花費的時間。(0.5‘)
特別註意:
- 按時間完成並提交——正常評分
- 晚交一周以內——0分
- 晚交一周以上或不交——倒扣本次作業分數
附加題(2分)
助教寫了一個四則運算的測試程序 ,
目的是測試同學的生成的四則運算程序是否符合要求, 目前正在內測階段,測試程序是RESTful形式發布的:
接口地址
參數說明
如果:
- 參與內測,測試的方式有很多種,同學的程序可以直接通過RESTful方式來訪問測試程序(推薦),
也可以通過執行自己的程序來對比測試程序執行的結果,無論通過哪種方式,需要至少提出測試程序的一個bug。 - bug需要直接在這裏提issue,同時在博客中附上issue的鏈接。
可以獲得2分的附加分。
參考鏈接
- 理解RESTful架構
- 從消費者的角度評估REST的價值
附:PSP 2.1表格
psp2.1 | Personal Software Process Stages | Time(%)student | Time(%)SDE |
---|---|---|---|
Planning | 計劃 | ||
Estimate | 估計這個任務需要多少時間 | ||
Development | 開發 | ||
Analysis | 需求分析 | ||
Design Spec | 生成設計文檔 | ||
Design Review | 設計復審(和同事審核設計文檔) | ||
Coding Standerd | 代碼規範(為目前的開發制定合適的規範) | ||
Design | 具體設計 | ||
Coding | 具體編碼 | ||
Code Review | 代碼復審 | ||
Text | 測試(自測,修改代碼,提交修改) | ||
Reporting | 報告 | ||
Text Report | 測試報告 | ||
Size Measurement | 計算工作量 | ||
Postmortem & Process Improvement Plan | 事後總結,並提出過程改進計劃 |
第五次作業——python效能分析與幾個問題(個人作業)