文章目录
目录
这个作业属于哪个课程 | <软件工程> |
这个作业要求在哪里 | <作业要求> |
这个作业的目标 | 实现可视化简易计算器 |
其他参考文献 | <崔老师的博客> |
Gitcode项目地址
1.作业任务
实现具有可视化界面的计算器
2.界面展示
3.PSP表格
PSP | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
Planning | 计划 | 60 | 50 |
• Estimate | • 估计这个任务需要多少时间 | 10 | 15 |
Development | 开发 | 1000 | 1200 |
• Analysis | • 需求分析 (包括学习新技术) | 500 | 540 |
• Design Spec | • 生成设计文档 | 50 | 60 |
• Design Review | • 设计复审 | 30 | 35 |
• Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 20 | 20 |
• Design | • 具体设计 | 50 | 60 |
• Coding | • 具体编码 | 400 | 480 |
• Code Review | • 代码复审 | 100 | 120 |
• Test | • 测试(自我测试,修改代码,提交修改) | 100 | 110 |
Reporting | 报告 | 80 | 60 |
• Test Repor | • 测试报告 | 20 | 25 |
• Size Measurement | • 计算工作量 | 20 | 25 |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 60 | 50 |
合计 | 2500 | 2850 |
4.解题思路描述
选择html+css+js实现简单的图形化界面,使用js完成计算器的基础功能。
5.设计与实现过程
1.html设计页面,给所有按键打上button标签
2.css设计按键,背景等样式
3.js实现计算器基本功能
4.设置计算结果精度
5.使用HTML2EXE软件
6.性能改进
二进制存储数据可能会造成精度缺失,如0.1+0.2=0.3000000004,使用toFixed方法确定精度,再用parseFloat去掉小数点后多余的零,暂时得到正确答案。
7.单元测试
使用jest进行单元测试
提高覆盖率:多编写数据让尽可能多的分支跑到即可。
8.异常处理
1.在单元测试时发现测试异常,在还没建立dom树前就先引入待测试函数,导致对document报错。
2.开根号,平方操作没有调用保留小数的操作,导致位数不对,测试错误。
3.可供计算的数据范围有限,该情况暂时无法解决。
9.心得体会
通过此次设计可视化计算器,对html,css,js的代码逻辑理得更加清楚,在动手设计的时候,了解了很多没见过的API并运用进该项目,对前端基础有了更深刻的认识。