zoukankan      html  css  js  c++  java
  • 个人作业1——四则运算题目生成程序(基于控制台)

    Deadline:##

    2017-3-8 12:00AM,以博客发表日期为准。

    评分基准:##

    • 按时交 - 有分,检查的项目包括后文的四个方面
      • 题目要求
      • 个人软件过程耗时估计与统计表
      • 代码提交
      • 博文规范
    • 晚交 - 0分
    • 迟交两周以上 - 倒扣本次作业分数
    • 抄袭 - 倒扣本次作业分数

    题目描述:##

    看了大家对于本课程的目标和规划,很多同学都希望能提高自己的实践能力,没有捷径可走,就是练习、练习再练习!那么就从第一个个人项目开始吧,用一周的时间完成一个基于控制台的四则运算程序,实现一个自动生成小学四则运算题目的命令行程序

    从《构建之法》第一章的 “程序” 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 “软件”,满足以下需求:

    1. 除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24
    2. 运算符为 +, −, ×, ÷
    3. 并且要求能处理用户的输入,并判断对错,打分统计正确率。
    4. 要求能处理用户输入的真分数, 如 1/2, 5/12 等
    5. 使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目
      Myapp.exe -n 10

    个人软件过程:##

    1. 在开始实现程序之前,理解下Personal Software Process Stages(http://www.cnblogs.com/xinz/archive/2011/10/22/2220872.html)

    2. 在开始实现程序之前,请使用以下PSP表格,在第3列填上自己对每个环节的估计时间(单位:分钟).

    3. 在做每个环节的过程中,请在第4列填上对应环节的实际消耗时间(单位:分钟).

    4. 在软件开发中,掌握估计时间是一项重要的技能,请通过PSP表格做到

      a.厘清开发的完整环节,争取在每个环节都有实际的工作,一开始边界不清楚是正常的,但请尝试按自己的理解去努力在对应环节做实际的工作。
      b.预估每个环节的时间,并真实统计这些环节的耗时,在完成后输出完整的PSP耗时估计表。
      c.注意:该表格是给自己看的,不要伪造数据!
      d.PSP模版表格如下,第3列和第4列分别对应第2列条目的估计时间和真实时间,模版表格里的时间只是示意。

    PSP2.1 Personal Software Process Stages Time Senior Student Time
    Planning 计划 8 6
    · Estimate 估计这个任务需要多少时间 8 6
    Development 开发 82 88
    · Analysis 需求分析 (包括学习新技术) 6 10
    · Design Spec 生成设计文档 5 6
    · Design Review 设计复审 4 6
    · Coding Standard 代码规范 3 3
    · Design 具体设计 10 12
    · Coding 具体编码 36 21
    · Code Review 代码复审 7 9
    · Test 测试(自我测试,修改代码,提交修改) 13 21
    Reporting 报告 9 6
    · 测试报告 3 2
    · 计算工作量 2 1
    · 并提出过程改进计划 3 3

    代码提交:##

    1. 提交你的源代码和可执行程序至你的coding.net地址

      a.怎样使用git提交代码到coding.net? 参考,考验你强大自学能力的时刻到了:

      b.需要提交的应该有

      • 项目的工程文件,例如Eclipse的项目文件
      • 项目的源代码
      • 一些必要的配置
      • 单独创建一个public子目录,存放编译后的可执行程序,这不是标准的软件发布的做法,但是目前你这样先提交可以。

      c.不应该提交的有:

      • bin目录
      • obj目录
      • 可以在根目录下创建一个.gitignore文件,把需要忽略的文件夹和文件相对路径逐行添加进去,这样git 提交的时候就会忽略这些子目录和子文件。
    2. 博文的一开始需要写明你注册的 coding 地址

    博文规范##

    1. 提交的博客必须完整包含下面五个部分
      a.需求分析,即使老师已经给出了题目,也要对题目的需求做分析,需求分析可以是自己的思考分析,也可以是找小学老师,学生甚至家长调查后挖掘出更细致的需求,别小看这个过程,请真实的做这个过程。
      b.功能设计,题目的需求,以及从真实调研里获得的需求后,要对程序做基本的功能设计,有同学会问:“不就是出题嘛,有啥好设计的?”,其实, 题目里要求的只是基本的要求,自己思考和调研会有超出题目要求的需求,甚至你有天才的设计,作出特色的功能。因此,功能会有:

      • 基本功能
      • 扩展功能
      • 高级功能

      c.设计实现,设计包括代码如何组织,你会有哪些Java类,这些类分别负责什么功能,他们之间的关系怎样?你会设计哪些重要的函数,关键的函数是否需要画出流程图?
      d.代码说明,你一定花了最多时间在代码的编写与调试上,那么,这个环节请把你的重要代码展示出来,代码的排版请做好。
      e.测试运行,你的程序必须是可运行的,请展示你的程序运行的截图,包括题目要求的所有需求,都有运行的截图。说明你的程序确实完成了所有需求,如果有实现了扩展需求或者高级需求,也请大方秀出来。

    2. 展示PSP,这个环节重要的是让自己看到自己的估计和实际消耗时间,哪个环节耗时最多,哪个环节估计失败?为什么?

    3. 小结。如果,如果所有的环节你都认真做了,那么,此处你应该会有很多经验愿意与大家分享。

  • 相关阅读:
    观察 HTML中id和name 的差异,被微软忽悠过的同学自动举手
    ScottGu中文博客: 新捆绑和缩小支持(ASP.NET 4.5系列)
    在证书存储区中找不到清单签名证书
    HTML中的转义字符
    SQL 查询本周/本月/本季度/本年的数据
    sql STUFF用法
    jQuery UI Autocomplete 体验
    你必须知道的ADO.NET(二)了解.NET数据提供程序
    ASP.NET MVC的全球化方案
    MongoDB是什么?
  • 原文地址:https://www.cnblogs.com/happyzm/p/6472120.html
Copyright © 2011-2022 走看看