軟件工程2017第2次做業—— 我的項目:四則運算題目生成程序(基於控制檯)

Deadline:2017-12-29(週五) 21:00

:如下內容參考 武漢大學高級軟件工程課程博客 )html

一、閱讀

閱讀《構建之法》第二章至第三章的內容,並在下方做業裏體現出閱讀後的成果。特別是第2章中的我的軟件開發流程(PSP)及單元測試。python

二、題目描述

從《構建之法》第一章的 「程序」 例子出發,完成一個能自動生成小學四則運算題目的命令行 「軟件」,知足如下需求:編程

  1. 參與運算的操做數(operands)除了100之內的整數之外,還要支持真分數的四則運算,例如:1/6 + 1/8 = 7/24。操做數必須隨機生成
  2. 運算符(operators)爲 +, −, ×, ÷ (如運算符個數固定,則不得小於3)運算符的種類和順序必須隨機生成
  3. 要求能處理用戶的輸入,並判斷對錯,打分統計正確率。
  4. 使用 -n 參數控制生成題目的個數,或經過用戶交互過程肯定題目個數,例如執行下面命令將生成5個題目
    • (以C/C++/C#爲例) calgen.exe -n 5
    • (以python爲例) python3 calgen.py -n 5

附加功能(算附加分)數組

  1. 運算符個數隨機生成(考慮小學生運算複雜度,範圍在1~10)
  2. 設計並實現一種合理的根據題目難度分配不一樣分值的方案
  3. 設計並實現一種計時機制,可以實現超時中止答題,或者根據答題用時調整分數
  4. 防止隨機生成的題目發生重複
輸出示例1

基本功能
編程語言

三、要求與說明函數

  • 【編程語言】不限
  • 【項目設計】分析並理解題目要求,獨立完成整個項目,並將最新項目發佈在Github上。
  • 【項目測試】使用單元測試對項目進行測試,並使用插件查看測試分支覆蓋率等指標。
  • 【源代碼管理】在項目實踐過程當中須要使用Github管理源代碼,代碼有進展即簽入Github。簽入記錄不合理的項目會被抽查詢問項目細節。
  • 【博客發佈】按照要求發佈博客,利用在構建之法中學習到的相關內容,結合我的項目的實踐經歷,撰寫解決項目的心路歷程與收穫。博客與Github項目明顯不符的做業將取消做業成績。

四、博文規範

  1. 在文章開頭給出Github項目地址。(1分)單元測試

  2. 在開始實現程序以前,PSP表格(參加附錄1)記錄下你估計將在程序的各個模塊的開發上耗費的時間。(1分)學習

  3. 解題思路描述。即剛開始拿到題目後,如何思考,如何找資料的心路歷程。(3分)測試

  4. 設計實現過程。設計包括代碼如何組織,好比會有幾個類,幾個函數,他們之間關係如何,關鍵函數是否須要畫出流程圖?(5分)編碼

  5. 代碼說明。展現出項目關鍵代碼,並解釋思路與註釋說明。(4分)

  6. 測試運行。程序必須是可運行的,展現出程序運行的截圖。PS:若是有擴展需求或者更高級的需求,請秀出來,有額外加分。(3分)

  7. 在你實現完程序以後,在PSP表格記錄下你在程序的各個模塊上實際花費的時間。(1分)

  8. 項目小結。結合PSP表格總結項目的成敗得失,分享經驗,總結教訓。(2分)

博客參考模板 http://www.cnblogs.com/vertextao/p/7469789.html

五、評分規則

本次我的項目分數由兩部分組成,分別是

  1. 博客 — 20分,分數組成在博文規範中。
  2. 程序 — 40分(附加分40分)
    • 10分爲源代碼管理評分,該評分主要經過源代碼管理中的commit註釋信息,增量修改的內容,是否有運行說明等給分。
    • 10分爲正確性評分,按要求輸入參數後,程序可以正確運行。
    • 20分爲功能評分,徹底知足需求1-4。
    • 附加分40分,實現附加需求1-4各得10分
  3. 注意事項:
  • 按時間完成並提交——正常評分
  • 晚交一週之內——0分
  • 晚交一週以上或不交——倒扣本次做業分數
  • 抄襲——倒扣2倍本次做業分數【嚴禁代碼與博客等一切形式的抄襲!博客園支持了對博客的查重功能,咱們也有專用的代碼查重系統進行代碼查重。請各位同窗千萬不要觸碰底線,勿謂言之不預也!】

附錄

1. PSP2.1表格

PSP2.1

Personal Software Process Stages

預估耗時(分鐘)

實際耗時(分鐘)

Planning

計劃

· Estimate

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

Development

開發

· Analysis

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

· Design Spec

· 生成設計文檔

· Design Review

· 設計複審 (和同事審覈設計文檔)

· Coding Standard

· 代碼規範 (爲目前的開發制定合適的規範)

· Design

· 具體設計

· Coding

· 具體編碼

· Code Review

· 代碼複審

· Test

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

Reporting

報告

· Test Report

· 測試報告

· Size Measurement

· 計算工做量

· Postmortem & Process Improvement Plan

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

合計

2. 參考資料

相關文章
相關標籤/搜索