• 四则运算题目生成器——项目笔记


    这个程序,能够实现生成彼此不重复的题目,并且计算出相应答案答案,以及根据题目计算结果的功能。

    预估时间及实际花费时间表格


    设计以及调试花费了大量的时间。

    PSP2.1Personal Software Process StagesTime
    Planning 计划  
    · Estimate · 估计这个任务需要多少时间 20h
    Development 开发  
    · Analysis · 需求分析 (包括学习新技术) 5h
    · Design Spec · 生成设计文档 1h
    · Design Review · 设计复审 (和同事审核设计文档) 1h
    · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 1h
    · Design · 具体设计 2h
    · Coding · 具体编码 3h
    · Code Review · 代码复审 1h
    · Test · 测试(自我测试,修改代码,提交修改) 3h
    Reporting 报告  
    · Test Report · 测试报告 3h
    · Size Measurement · 计算工作量 1h
    · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 1h
      合计 22h

    需求分析

    这次作业大体上可以分为三个部分的实现。

    首先,根据参数生成满足要求的四则运算题目

    其次,计算出生成题目的答案

    最后,根据输入的两个文件进行评测

    同时,还要求生成的题目不能有重复,因为重复的判定十分困难,所以构思对应的算法和存储数据的数据结构,花费了大量的时间和精力。

    性能分析

    测试用例

    -n 1 -r 1 -e exercise.txt -a answer.txt

    -n 5 -r 1 -e exercise.txt -a answer.txt

    -n 10 -r 1 -e exercise.txt -a answer.txt

    -n 10 -r 2 -e exercise.txt -a answer.txt

    -n 1 -r 10 -e exercise.txt -a answer.txt

    -n 10 -r 10 -e exercise.txt -a answer.txt

    -n 100 -r 10 -e exercise.txt -a answer.txt

    -n 1 -r 100 -e exercise.txt -a answer.txt

    -n 10 -r 100 -e exercise.txt -a answer.txt

    -n 100 -r 100 -e exercise.txt -a answer.txt

    总结与收获


    这个个人项目,是软件工程课程的第一次作业。

    题目的要求很多而且实现起来并不容易。在最开始做题的时候,心中并没有一个很好的轮廓,就开始着手了代码的编写。之后的过程证明了这种做法是完全错误的。因为每增加一个功能,几乎都会发现之前的数据结构的设置,或者相应的函数都并不能完美的适合新的功能,需要回过头去重新修改,这无形之中大大的增加了工作量,也让程序的进展十分的缓慢。

    完成这次个人项目的过程中,我进一步体会到做工程与写小程序的区别。

    做工程首先要有一个整体的分析与规划,确定程序的需求以及大体的解决步骤。之后对于每一个小的步骤,确定适合的算法以及相应的数据结构。当完成了整个程序的构思,还需要进行检查,以避免出现差错。最后才是代码的编写工作。

    希望之后的作业不要再出现这次的情况,盲目地开始编写真是痛苦万分,而且事倍功半,这次的教训已十分深刻。

  • 相关阅读:
    子信息传递多个参数
    Oracle q' 简化单引号转义
    HTML的target属性中_blank、_self、_parent、_top含义
    数据库设计之“有时不得不违背的第三范式”
    Jquery下的Ajax调试方法
    JQuery.Ajax之错误调试帮助信息
    定时删除数据-用JOB
    数据分析
    机器学习数学基础
    机器学习数学基础
  • 原文地址:https://www.cnblogs.com/wx1306/p/4831901.html
Copyright © 2020-2023  润新知