高级软件工程2017第2次作业—— 个人项目:四则运算题目生成程序(基于控制台)...
Deadline:2017-09-27(周三) 21:00pm
(注:以下內(nèi)容參考 福大軟工作業(yè) 和集大個(gè)人作業(yè) )
0、前言
很多童鞋在本課程的目標(biāo)和規(guī)劃中,都表示希望能提高自己的實(shí)踐能力。
Practice makes perfect. 沒有捷徑可走,就是練習(xí)、練習(xí)再練習(xí)! 那么,就讓我們從第一個(gè)個(gè)人項(xiàng)目開始,修煉我們的程序員之道吧!題目要求如下。
1、閱讀
閱讀《構(gòu)建之法》第一章至第三章的內(nèi)容,并在下方作業(yè)里體現(xiàn)出閱讀后的成果。特別是第2章中的個(gè)人軟件開發(fā)流程(PSP)及單元測試。
2、題目描述
從《構(gòu)建之法》第一章的 “程序” 例子出發(fā),完成一個(gè)能自動(dòng)生成小學(xué)四則運(yùn)算題目的命令行 “軟件”,滿足以下需求:
- (以C/C++/C#為例) calgen.exe -n 5
- (以python為例) python3 calgen.py -n 5
附加功能(算附加分)
輸出示例1
基本功能
輸出示例2
支持附加功能
3、要求與說明
- 【編程語言】不限
- 【項(xiàng)目設(shè)計(jì)】分析并理解題目要求,獨(dú)立完成整個(gè)項(xiàng)目,并將最新項(xiàng)目發(fā)布在Github上。
- 【項(xiàng)目測試】使用單元測試對項(xiàng)目進(jìn)行測試,并使用插件查看測試分支覆蓋率等指標(biāo)。
- 【源代碼管理】在項(xiàng)目實(shí)踐過程中需要使用Github管理源代碼,代碼有進(jìn)展即簽入Github。簽入記錄不合理的項(xiàng)目會(huì)被助教抽查詢問項(xiàng)目細(xì)節(jié)。
- 【博客發(fā)布】按照要求發(fā)布博客,利用在構(gòu)建之法中學(xué)習(xí)到的相關(guān)內(nèi)容,結(jié)合個(gè)人項(xiàng)目的實(shí)踐經(jīng)歷,撰寫解決項(xiàng)目的心路歷程與收獲。博客與Github項(xiàng)目明顯不符的作業(yè)將取消作業(yè)成績。
4、博文規(guī)范
在文章開頭給出Github項(xiàng)目地址。(1分)
在開始實(shí)現(xiàn)程序之前,PSP表格(參加附錄1)記錄下你估計(jì)將在程序的各個(gè)模塊的開發(fā)上耗費(fèi)的時(shí)間。(1分)
解題思路描述。即剛開始拿到題目后,如何思考,如何找資料的心路歷程。(3分)
設(shè)計(jì)實(shí)現(xiàn)過程。設(shè)計(jì)包括代碼如何組織,比如會(huì)有幾個(gè)類,幾個(gè)函數(shù),他們之間關(guān)系如何,關(guān)鍵函數(shù)是否需要畫出流程圖?(5分)
代碼說明。展示出項(xiàng)目關(guān)鍵代碼,并解釋思路與注釋說明。(4分)
測試運(yùn)行。程序必須是可運(yùn)行的,展示出程序運(yùn)行的截圖。PS:如果有擴(kuò)展需求或者更高級的需求,請秀出來,有額外加分。(3分)
在你實(shí)現(xiàn)完程序之后,在PSP表格記錄下你在程序的各個(gè)模塊上實(shí)際花費(fèi)的時(shí)間。(1分)
項(xiàng)目小結(jié)。結(jié)合PSP表格總結(jié)項(xiàng)目的成敗得失,分享經(jīng)驗(yàn),總結(jié)教訓(xùn)。(2分)
博客參考模板 http://www.cnblogs.com/vertextao/p/7469789.html
5、評分規(guī)則
本次個(gè)人項(xiàng)目分?jǐn)?shù)由兩部分組成,分別是
- 10分為源代碼管理評分,該評分主要通過源代碼管理中的commit注釋信息,增量修改的內(nèi)容,是否有運(yùn)行說明等給分。
- 10分為正確性評分,按要求輸入?yún)?shù)后,程序能夠正確運(yùn)行。
- 20分為功能評分,完全滿足需求1-4。
- 附加分20分,實(shí)現(xiàn)附加需求1&2各得10分
- 按時(shí)間完成并提交——正常評分
- 晚交一周以內(nèi)——0分
- 晚交一周以上或不交——倒扣本次作業(yè)分?jǐn)?shù)
- 抄襲——倒扣2倍本次作業(yè)分?jǐn)?shù)【嚴(yán)禁代碼與博客等一切形式的抄襲!博客園支持了對博客的查重功能,我們也有專用的代碼查重系統(tǒng)進(jìn)行代碼查重。請各位同學(xué)千萬不要觸碰底線,勿謂言之不預(yù)也!】
附錄
1. PSP2.1表格
| Planning | 計(jì)劃 | ||
| · Estimate | · 估計(jì)這個(gè)任務(wù)需要多少時(shí)間 | ||
| Development | 開發(fā) | ||
| · Analysis | · 需求分析 (包括學(xué)習(xí)新技術(shù)) | ||
| · Design Spec | · 生成設(shè)計(jì)文檔 | ||
| · Design Review | · 設(shè)計(jì)復(fù)審 (和同事審核設(shè)計(jì)文檔) | ||
| · Coding Standard | · 代碼規(guī)范 (為目前的開發(fā)制定合適的規(guī)范) | ||
| · Design | · 具體設(shè)計(jì) | ||
| · Coding | · 具體編碼 | ||
| · Code Review | · 代碼復(fù)審 | ||
| · Test | · 測試(自我測試,修改代碼,提交修改) | ||
| Reporting | 報(bào)告 | ||
| · Test Report | · 測試報(bào)告 | ||
| · Size Measurement | · 計(jì)算工作量 | ||
| · Postmortem & Process Improvement Plan | · 事后總結(jié), 并提出過程改進(jìn)計(jì)劃 | ||
| 合計(jì) |
2. 參考資料
- C++:VS2015安裝與C++單元測試
- C#: 基于VS2015的C#的單元測試
- Java: Intelli IDEA簡易教程(含單元測試)
- Python: 基于PyCharm的Unit test
轉(zhuǎn)載于:https://www.cnblogs.com/endeav0ur/p/7559880.html
總結(jié)
以上是生活随笔為你收集整理的高级软件工程2017第2次作业—— 个人项目:四则运算题目生成程序(基于控制台)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#中实现QQ截图的功能及相关问题
- 下一篇: Alpha 冲刺 (1/10)