软件工程实践第二次作业
作业基本信息
这个作业属于哪个课程 | https://bbs.csdn.net/forums/ssynkqtd-05 |
---|---|
这个作业要求在哪里 | https://bbs.csdn.net/topics/617377308 |
这个作业的目标 <写上具体方面> | 完成一个前后端交互的具有可视化界面的科学计算器 |
其他参考文献 |
0.Gitcode项目地址
1.PSP表格
PSP | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 30 |
• Estimate | • 估计这个任务需要多少时间 | 20 | 15 |
Development | 开发 | 1000 | 1200 |
• Analysis | • 需求分析 (包括学习新技术) | 350 | 350 |
• Design Spec | • 生成设计文档 | 10 | 10 |
• Design Review | • 设计复审 | 10 | 10 |
• Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 15 | 20 |
• Design | • 具体设计 | 30 | 30 |
• Coding | • 具体编码 | 120 | 150 |
• Code Review | • 代码复审 | 30 | 30 |
• Test | • 测试(自我测试,修改代码,提交修改) | 60 | 80 |
Reporting | 报告 | 20 | 20 |
• Test Repor | • 测试报告 | 70 | 70 |
• Size Measurement | • 计算工作量 | 20 | 20 |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 30 | 35 |
合计 | 1815 | 2070 |
2.成品展示
科学计算器
1.基本运算
实现基本的加减乘除等运算,并将计算式子与结果保存到后端的数据库中。
2.清零回退
实现算式在显示界面的清零功能与删除功能。
3.错误提示
在遇到除以0和括号不匹配问题时,显示界面会进行相应的报错。
4.读取历史记录
对于计算过的算式与结果,点击Ans按钮可以获取上一个计算得到的结果,点击load按钮,可以获取数据库中最新的十个计算结果。
5.科学计算器(附加功能)
实现三角函数,幂函数,对数函数等运算功能
利率计算器
1.利率计算
输入本金和时间,可以从后端数据库中获取对应的利率,计算出相应的利息。
2.前端修改存款与贷款的利率(附加功能)
在前端选择要修改的利率选项,在输入要修改为的值,最后会在后端数据库中将相应的利率进行修改。
3.设计实现过程
前端设计:使用HTML进行前端页面的设计,HTML是一种标记语言,通过标签来描述网页的结构和内容。同时,我还使用了CSS和JavaScript来美化页面和实现一些动态效果。
后端框架:选择Flask作为后端框架,Flask是一个轻量级的Web应用框架,具有简单易用、灵活可扩展的特点。通过Flask,我可以快速地搭建一个Web服务,处理前端发送的请求并返回相应的数据。
数据库连接:使用pymysql库来连接mysql数据库。pymysql是一个Python实现的MySQL客户端库.通过pymysql,我可以方便地对数据库进行增删改查操作,以此来建立三个表格来存放历史数据,存款利率和贷款利率。
前后端交互:前后端交互:在前后端交互方面,我采用了jQuery技术。jQuery是一个快速、简洁的JavaScript库,通过jQuery,我可以方便地向后端发送请求并接收响应数据,从而实现前后端的数据交互。
4.代码说明
前端
设计一个按钮,实现利率计算器与基础计算器的模式转换功能。
通过document.getElementById(‘toggleButton’)获取到该按钮的DOM元素,并将其存储在变量content中。在通过if,else语句判断可见性状态。
<button id="toggleButton">模式</button>
document.getElementById('toggleButton').addEventListener('click', function() {
var content = document.getElementById('content');
if (content.style.display === 'none')