結對項目


結對項目


這個作業屬於哪個課程 < 網工1934-軟件工程 >
這個作業要求在哪里 作業要求
這個作業的目標 實現一個自動生成小學四則運算題目的命令行程序

隊員: 3119005398周晉軒 3119005369高子淇

本項目已上傳結對項目github

last更新:添加圖形化界面並生成.exe可執行文件

一、psp表格

PSP Personal Software Process Stages 預估耗時(分鍾 實際耗時(分鍾)
Planning 計划 30 20
Estimate 估計這個任務需要多少時間 30 10
Development 開發 1000 360
Analysis 需求分析(包括學習新技術) 120 30
Design Spec 生成設計文檔 30 10
Design Review 設計復審 30 20
Coding Standard 代碼規范 (為目前的開發制定合適的規范) 60 30
Design 具體設計 10 5
Coding 具體編碼 120 120
Code Review 代碼復審 20 5
Test 測試(自我測試,修改代碼,提交修改) 60 30
Reporting 報告 30 40
Test Repor 測試報告 20 10
Size Measurement 計算工作量 10 10
Postmortem & Process Improvement Plan 事后總結, 並提出過程改進計划 30 15
Total 總計 2000 600

二、效能分析

生成題目答案模式下,要用到計算模塊生成答案;閱卷模式下,也要用到計算模塊檢查正誤。因此無論何種模式下cal()計算函數是最頻繁調用也是消耗最大的函數

生成題目和答案模式下的性能分析

生成題目和答案模式下的性能分析

閱卷模式下的性能分析

閱卷模式下的性能分析

三、設計實現過程

核心思想

使用fractions*模塊將算式中的數字實例化並替換為Fraction類,保持分數運算、輸出、讀取。實際上是字符串替換和exce()*的運用
*fractions 模塊提供了分數類型的支持
*exec 執行儲存在字符串或文件中的 Python 語句

主要函數及作用

  1. cal()計算模塊
  2. getqst()生成題目
  3. getans()生成答案
  4. check()閱卷模塊
    函數展示1
    函數展示2

四、代碼說明

本程序將功能分為兩塊:生成模式和閱卷模式,命令行參數-n-r為生成模式,-e-a為閱卷模式

代碼說明

五、測試運行

命令行輸入展示

生成模式 main.py -n 10 -r 10
閱卷模式 main.py -e Exercises.txt -a Answers.txt
測試 命令行輸入

生成文件展示

測試 生成文件
測試 生成文件內容

本程序支持生成10000道題目的生成

測試 10000題

項目小結

周晉軒:本次結對項目是本人為數不多合作開發的經歷之一,在這次結對項目中,我和隊友首先明確了項目主要結構和總體方向,然后在開發中積極討論和互相學習,相信我們都從合作中得到了許多經驗,感受到合作帶來的效率提升,經隊友指出也發現了各自在開發中的許多不足之處。雖然在合作過程中還是不可避免地走了不少彎路,但是我認為我們都在享受其過程和完成項目后的喜悅!
高子淇:這次項目一開始覺得很簡單,后來分工開始寫自己部分的時候,發現需要考慮問題非常多,尤其是符號處理和括號優先級。還有在處理減法非負的問題以及在除數位置上的減法非零問題都花了比較多的時間。兩個人合作完成度很高,基本上問題都在討論后得到了解決,學到了如何完成一個多人項目


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM