高级软件工程2017第3次作业——结对项目:四则运算题目生成程序(基于GUI)
Deadline:2017-10-11(周三)21:00pm
(注:以下内容参考集大作业 )
前言
想过和别人一起探索世界吗?多么希望,遇到困难时,有人能一起探讨;想要懈怠时,有人推你一把;当你专注于细节时,有人会为你把握大方向。也许大家共同面对、携手前进,工作会进展得更顺利。是的,理想的结对开发应该有这样的效果。1+1>2, 让我们一起来体验结对编程的魅力吧。
一、阅读
阅读《构建之法》第四章、第五章的内容,并在下方作业里体现出阅读后的成果
二、题目描述
我们在个人作业2中,用各种语言实现了一个命令行的四则运算小程序。进一步,本次要求把这个程序做成GUI(可以是Windows PC 上的,也可以是Mac、Linux,web,手机上的。如果是手机APP,请发布到应用商店),成为一个有基本功能、一定价值的程序。在下面的功能需求中实现两个:
- 记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算。
- 有计时功能,能显示用户开始答题后的消耗时间。
- 界面支持中文简体/中文繁体/英语,用户可以选择一种。
说明:关于题目提到的“多语言支持问题”, 我们的目的不是要大家在程序中用 if else 写很多条件来决定每一个界面显示那个语言, 而是利用工具和良好的架构来执行。
参考:
http://www.cnblogs.com/gjx031602211/p/6556182.html
http://www.cnblogs.com/ZCplayground/p/6539235.html
http://www.cnblogs.com/circlek/p/6528722.html
三、要求与说明
- 【代码基础】选取已提交代码中完成质量较高的那一份作为本次作业的基础。
- 【结对过程】结对编程实现上述功能。在程序开发开始之前,请先预估下PSP每个环节的消耗时间,并在过程中统计实际耗时,最后提交PSP表格。
- 【编程语言】不限
- 【项目设计】分析并理解题目要求,合作完成项目,并将最新项目发布在Github上。
- 【项目测试】使用单元测试对项目进行测试,并使用插件查看测试分支覆盖率等指标。第一版系统已通过的单元测试应仍能通过。
- 【代码规范】商讨并确定代码规范,并把规范提交到Git.
- 【角色轮换】理解领航员和驾驶员两种角色关系,并在结对编程中两个人轮流扮演不同的角色。两人都必须参与本次作业的编码工作,并在git提交日志和博文中都要体现这一点。
- 【源代码管理】在项目实践过程中需要使用Github管理源代码,代码有进展即签入Github。Github上要能看到多次commit的记录,必须有两个人各自的commit记录。签入记录不合理的项目会被助教抽查询问项目细节。
- 【博客发布】按照要求发布博客,利用在构建之法中学习到的相关内容,结合结对项目的实践经历,撰写解决项目的心路历程与收获。博客与Github项目明显不符的作业将取消作业成绩。
四、博文规范
- 在文章开头给出Github项目地址。(1分)
- 在开始实现程序之前,用PSP表格记录下你们估计将在程序的各个模块的开发上耗费的时间。(1分)
- 解题思路。刚开始拿到题目后,两个人如何思考,如何找资料,出现分歧时做了哪些探讨最终达成一致意见。(2分)
- 设计实现过程。设计包括代码如何组织,比如会有几个类,几个函数,他们之间关系如何,关键函数是否需要画出流程图?(5分)
- 代码说明。展示展示每个功能的核心代码,并解释思路与注释说明。(4分)
- 测试运行。程序必须是可运行的,展示出程序运行的截图。(3分)
- 合作情况:自己在扮演不同角色、角色切换时的感受、面临的问题和采取的办法。(2分)
- 项目小结。结合PSP表格总结项目的成败得失,分享经验,总结教训。(2分)
- 结对照片。请上传2-3张两人结对合作的照片,可以用背影。(2分)
- 中程汇报。(请在2017-10-7 21:00pm之前在微信群里发布中程汇报,篇幅为两段文字,请注明小组成员的学号后三位。如果老师有问题,请小组成员及时回答。不要上传word文档,请将文字贴到群中,方便大家查看和讨论)(8分)
- 介绍项目进展情况,面临的主要问题,基本的解决思路。(4分)
- 回答老师提问的情况 。( 4分)
说明:每个结对小组提交一份博客,其中7、8部分需要每位同学从自己的角度进行分析和总结。
五. 评分规则
本次结对项目分数由两部分组成,分别是
- 博客-30分,分数在博文规范中。
- 程序-40分
- 10分为源代码管理评分,该评分主要通过源代码管理中的commit注释信息,增量修改的内容,是否有运行说明等给分。
- 10分为正确性评分,按要求输入参数后,程序能够正确运行。
- 20分为功能评分,完全满足需求。
注意事项:
按时间完成并提交——正常评分
晚交一周以内——0分
晚交一周以上或不交——倒扣本次作业分数
抄袭——倒扣2倍本次作业分数【严禁代码与博客等一切形式的抄袭!博客园支持了对博客的查重功能,我们也有专用的代码查重系统进行代码查重。请各位同学千万不要触碰底线,勿谓言之不预也!】
高级软件工程2017第3次作业——结对项目:四则运算题目生成程序(基于GUI)的更多相关文章
- 高级软件工程2017第6次作业--团队项目:Alpha阶段综合报告
高级软件工程2017第6次作业--团队项目:Alpha阶段综合报告 Deadline:2017-10-30(周一)21:00pm (注:以下内容参考集大作业4,集大作业5,集大作业6,集大作业7 一. ...
- 高级软件工程2017第7次作业--团队项目:Beta阶段综合报告
Deadline:2017-11-06(周一) 21:00pm (注:以下内容参考集大作业8 集大作业9 集大作业10 ) 0.评分规则: 按时交 - 有分,内容包括以下5个方面: Beta阶段敏捷冲 ...
- 高级软件工程2017第5次作业—— 团队项目:需求改进&系统设计
Deadline:2017-10-23(周一) 21:00pm 注:以下内容参考 集大作业 1.评分规则: 按时交 - 有分,检查的项目包括后文的四个方面 需求&原型改进 - 20分 系统设计 ...
- 高级软件工程2017第6次作业——团队项目:Alpha阶段综合报告
1.版本测试报告 1.1在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个? Bug分类 Bug内容 Fixed 编辑博文时改变文字格式会刷新界面 Can't reproduced 无 N ...
- 结对项目-四则运算出题程序(GUI版)
目录: 一.致搭档(含项目地址) 二.PSP(planning) 三.结对编程中对接口的设计 四.计算模块接口的设计与实现过程 五.计算模块接口部分的性能改进 六.计算模块部分单元测试展示 七.计算模 ...
- 高级软件工程2017第7次作业--C++团队项目:Beta阶段综合报告
1.Beta阶段敏捷冲刺每日报告 Bate版敏捷冲刺报告--day0 Bate版敏捷冲刺每日报告--day1 Bate敏捷冲刺每日报告--day2 Bate敏捷冲刺每日报告--day3 Bate敏捷冲 ...
- 结对项目——四则运算GUI项目
一.项目地址:https://git.coding.net/lvgx/wsz.git 二.PSP: PSP2.1 任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min) Plannin ...
- 【2015 软件工程 个人项目 PJ1】四则运算题目生成程序
1.开发时间预估 PSP2.1 Personal Software Process Stages Time Planning 计划 · Estimate · 估计这个任务需要多少时间 2day Dev ...
- 105&250-高级软件工程2017第3次作业
小组成员 2017282110250 王婷婷 2017202110105 张芷祎 github地址 https://github.com/setezzy/Calculator_GUI PSP PSP2 ...
随机推荐
- CentOS 5.x 多个ISO文件 安装方法(VMware)
CentOS下载地址:http://mirror.centos.org/centos/ CentOS版本:5.11 VMware版本:11.1.0 CentOS 5.11有两个ISO: CentOS- ...
- ASP.NET 初识Cookie
1.ASP.NET中使用Cookie 0.说明 Cookie存在客户端电脑上,Session存在服务器上,所以保存登录信息等敏感信息时不能使用Cookie,用户个性化设置可以使用Cookie 1.新建 ...
- iOS 双击tabbar刷新页面
/*在继承UITabBarController控制器中*/ #pragma mark <UITabBarControllerDelegate> -(void)tabBarControlle ...
- Babel 安装教程
Babel是一个广泛使用的转码器,可以将ES6代码转为ES5代码,从而在现有环境执行. 这意味着,你可以现在就用 ES6 编写程序,而不用担心现有环境是否支持.下面是一个例子. // 转码前 inpu ...
- 洛谷P1501 [国家集训队]Tree II(LCT,Splay)
洛谷题目传送门 关于LCT的其它问题可以参考一下我的LCT总结 一道LCT很好的练习放懒标记技巧的题目. 一开始看到又做加法又做乘法的时候我是有点mengbi的. 然后我想起了模板线段树2...... ...
- [Luogu4149][IOI2011]Race
BZOJ权限题qwq Luogu sol 树上路径当然是淀粉质辣! 考虑所有过重心的路径.开一个\(10^6\)大小的数组\(t\)表示某一路径长度的最小边数,初始化为\(inf(i>0)\), ...
- 【NOIP2014】【洛谷1941】【CJOJ1672】飞扬的小鸟
题面 描述 Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙.如果小鸟一不小心撞到了水管或者掉在地上的话, ...
- DataX通过纯Java代码启动
DataX是阿里巴巴团队开发的一个很好开源项目,但是他们对如何使用只提供了python命令启动方式,这种方式对于只是想简单的用下DataX的人来说很是友好,仅仅需要几行代码就可以运行,但是如果你需要在 ...
- Unity 网格合并
从优化角度,Mesh需要合并. 从换装的角度(这里指的是换形状.换组成部件的换装,而不是挂点型的换装),都需要网格合并.材质合并.如果是人物的换装,那么需要合并SkinnedMeshRenderer, ...
- this->的作用
参考:https://www.zhihu.com/question/23324143 1.来源: 当年没有C++编译器,只能通过C++转成C语言才编译.而C++中的class就被翻译C语言的struc ...