代码仓库地址
一、软件开发计划
阶段 | 主要工作 | 文档 | 计划起始时间 | 计划终止时间 | 实际起始时间 | 实际终止时间 |
---|---|---|---|---|---|---|
需求分析 | 确定系统运行环境 | 10-20 | 10-30 | 10-20 | 10-29 | |
建立系统逻辑模型 | 10-20 | 10-30 | 10-20 | 10-29 | ||
确定系统功能及性能要求 | 10-20 | 10-30 | 10-20 | 10-29 | ||
编写需求规格说明、用户手册概要、测试计划 | 10-20 | 10-30 | 10-20 | 10-29 | ||
确认项目开发计划 | 10-20 | 10-30 | 10-20 | 10-29 | ||
学习 | 学习编程代码 | 10-29 | 12-08 | 10-31 | 12-07 | |
概要设计 | 建立系统总体结构,划分功能模块 | 11-12 | 11-18 | 11-12 | 11-18 | |
定义各功能模块接口 | 11-12 | 11-18 | 11-12 | 11-18 | ||
制定组装测试计划 | 11-12 | 11-18 | 11-12 | 11-18 | ||
详细设计 | 设计各模块具体实现算法 | 11-18 | 11-20 | 11-18 | 11-20 | |
确定模块间详细接口 | 11-18 | 11-20 | 11-18 | 11-20 | ||
制定模块测试方案 | 11-18 | 11-20 | 11-18 | 11-20 | ||
实现 | 编写程序源代码 | 11-29 | 12-02 | 11-26 | 12-01 | |
进行模块测试和调试 | 11-29 | 12-02 | 11-26 | 12-01 | ||
效果测试 | 测试整体效果 | 12-03 | 12-05 | 12-02 | 12-05 | |
上线 | 上线 | 12-04 | 12-04 | 12-03 | 12-04 | |
维护与更新 | 维护与更新 | 12-04 | 12-10 | 12-05 | 12-08 |
姓名 | 学号 | 主要工作 |
---|---|---|
周凡喻 | M23385403 | UI设计、定义各功能模块接口 |
岳智彬 | D23182407 | 编写部分程序源代码 |
刘奇 | D22180806 | 软件需求分析、编写需求规格说明、用户手册概要、测试计划 |
郑会吉 | D23181103 | 效果测试、上线、博客撰写 |
二、软件设计
2.1 构件设计
2.1.1 数据输入
功能名称:数据输入
功能标识:CWGL-CXSR-1
负责人:周凡喻
UML用例:
需求描述:用户选择输入操作后,需要根据界面提示输入或支出,然后选择对应分类,最后输入对应金额,输入确定保存后,对应数据保存至本地数据。
流程图:
用户 | 任一财务使用者 |
---|---|
前置条件 | 无 |
2.1.2 数据可视化及分析
功能名称:数据可视化及分析
功能标识:CWGL-SJKSH -2
负责人:岳智彬
UML用例:
用户使用场景:用户点击主界面的数据分析按钮后,软件询问查看支出或收入(并提供返回上级选择),并给出两个button供点击,若用户点击支出,软件对过去一个月的支出数据进行统计(暂定0-100,100-500,大于500三类),分别按照交易种类或金额区间给出两张图。并在界面提供返回上一级选项,用户选择后可以回到软件询问查看支出或收入界面,用户可以继续查看收入比例或返回上级。
激励源:用户点击数据分析按钮
流程图:
用户 | 任一财务使用者 |
---|---|
前置条件 | 本地存储数据不为空 |
2.1.3 预算
功能名称:预算
功能标识:CWGL-YS-3
负责人:周凡喻
UML用例:
需求描述:用户发出预算制定请求,系统让用户输入对应的金额作为预算金额,这里只是判断是否合理并保存。
流程图
用户 | 任一财务使用者 |
---|---|
前置条件 | 本地存储数据不为空 |
2.1.4 提醒与通知
功能名称:提醒与通知
功能标识:CWGL-TXTZ-4
负责人:岳智彬
UML用例:
需求描述:用户在更新预算并通过后,系统对之后输入支出项进行判断(当总和与预算之差小于100的时候输出当前预算,并提醒“当前种类预算已不足”)。
流程图:
用户 | 任一财务使用者 |
---|---|
前置条件 | 本地存储数据不为空,有预算计划 |
2.1.5 流水预测
功能名称:流水预测
功能标识:CWGL-LSYC-5
负责人:周凡喻
UML用例:
需求描述:用户提出流水预测请求后,根据***算法得到收入及支出的。
流程图:
用户 | 任一财务使用者 |
---|---|
前置条件 | 本地存储数据不为空 |
2.1.6 数据迁移
功能名称:数据迁移
功能标识:CWGL-SJQY-6
负责人:岳智彬
UML用例:
需求描述:用户提出数据迁移需求后,迁入—将本地文件数据导入程序存储数据并融合,导出则是将当前数据另存为一个txt记录。
流程图:
用户 | 任一财务使用者 |
---|---|
前置条件 | 本地存储数据不为空,迁入数据格式符合要求 |
2.1.7 用户注册及登录
功能名称:用户注册及登录
功能标识:CWGL-ZCDL-7
负责人:周凡喻
UML用例:
需求描述:用户使用程序后,首先要求输入用户名及密码,若存在,继续执行,否则需要注册。
流程图:
2.1.8 数据安全
功能名称:数据安全
功能标识:CWGL-SJAQ-7
负责人:岳智彬
UML用例:
需求描述:用户使用程序后,要求输入用户名及密码,若存在,继续执行,否则继续要求输入,错误3次以上后,记录当前系统时间并在1min内不得重新输入。
流程图:
用户 | 任一财务使用者 |
---|---|
前置条件 | 本地存储数据不为空,查询、输入等功能被请求 |
2.1.9 数据查询
功能名称:数据查询
功能标识:CWGL-CX-9
负责人:周凡喻
UML用例:
需求描述:选择查询,选择总量查询或明细查询,分别显示所有数据的总收入、总支出以及总余额,若选择明细查询则输出本地所有数据。
流程图:
用户 | 任一财务使用者 |
---|---|
前置条件 | 无 |
2.1.10多语言支持
功能名称: 多语言支持
功能标识:CWGL-DYY -10
负责人:周凡喻
UML用例:
需求描述:选择不同语言后,可以用所选语言对应数值显示(该功能应该在入口设置,及每次循环到主入口有一个该选项的功能)。由于时间原因,目前实现的是直接显示双语。
流程图:
用户 | 任一财务使用者 |
---|---|
前置条件 | 无 |
三、代码实现
3.1 账号注册界面
3.2 账号登录界面
3.3 数据输入和查询界面
3.3.1进/出账功能
3.3.2 查询流水
3.3.3 查询余额
3.3.4 增加预算
附录
慕课学习
1.周凡喻
2.岳智彬
3.刘奇
4.郑会吉
课外阅读及总结
1.周凡喻
《梦断代码》是一部记录了软件开发艰辛与挫折的作品,作者斯科特·罗森伯格通过对OSAF主持的Chandler项目的追踪,展示了软件开发中遇到的各种问题。在阅读这本书后,我深感软件开发的复杂性和困难,同时也对软件开发中的问题有了更深入的认识。
首先,我认识到软件开发的复杂性和困难性。在阅读这本书的过程中,我感受到了作者对软件开发的无奈和绝望。Chandler项目作为一项以创新为目标的软件项目,在开发过程中遇到了无数的问题,如需求不明确、人员流失、沟通不顺畅、bug难以修复等等。这些问题不仅影响了项目的进度和质量,还让项目成员们倍感压力和挫折。通过这个项目,我深刻地认识到软件开发是一项充满挑战的工作,需要不断地面对和解决各种问题。
其次,我认识到软件开发中的一些根本性大问题。在书中,作者通过Chandler项目的开发过程揭示了软件开发中的一些根本性问题,如需求管理、人员协调、进度控制等等。这些问题不仅在Chandler项目中存在,也是许多软件开发项目中共有的问题。通过这些问题的展示,我深刻地认识到解决这些问题需要更好的方法和管理策略。
最后,我认为这本书对软件开发者有很大的启示和帮助。在书中,作者通过Chandler项目的开发过程,展示了软件开发中的种种问题和困难。同时,他也提出了一些解决这些问题的策略和方法。这些策略和方法不仅对解决Chandler项目的问题有帮助,也对其他软件开发项目有很大的启示和帮助。在今后的工作中,我将尝试运用这些策略和方法来解决软件开发中遇到的问题。
总之,《梦断代码》是一部记录了软件开发艰辛与挫折的作品,通过这本书的阅读,我深刻地认识到了软件开发的复杂性和困难性,同时也对软件开发中的问题有了更深入的认识。我相信这本书对其他软件开发者也有很大的启示和帮助。