项目来源:
大一下学期同学C++大作业项目,做的是一个网上购书系统开发,功能如下
- 书籍信息显示
- 客户信息显示
- 选购书籍
- 结算总额
- 订单显示
- 使用说明
- 退出系统
页面端
项目文件结构
功能测试
经测试,原项目系统流程图大致如下
功能结构图如下
经测试及阅读源代码,原项目的优点如下:
- 采用指针链式结构存储信息,使得信息的查询速度得到大的提升,以及便于修改信息
- 源代码中异常机制使用恰当,保证了程序正常运作
原项目的缺点如下:
- 所有的程序块放在了一个cpp,代码的可读性差,不符合现代开发要求,不利于后期的维护
- 项目使用了文件存储,而用户信息、书本信息等数据往往是大量的,文件存储在存储少量数据时有优势,当数据量很大时应改用数据库存储
- 项目的ui界面存在问题,当一个功能完成后,不会将原有的操作信息清除
针对上述问题改进后
项目结构图
数据交互
功能结构图
改进后的优点:
- 系统的可维护性高,后续程序出现问题或者新增功能时,只需要修改对应的cpp或者新增cpp文件
- 数据存储在数据库里面,数据的读写更为方便,大量数据可以统一管理
- 代码的重复率降低,提高了代码的可读性
总结:
软件工程的逆向开发,可以帮助我们从别人的项目中学习到不同的开发思想与技术,对于项目的优点,我们可以进行学习与使用;
对于项目的不足之处,我们可以尝试进行改变源代码,再对比修改后的效果,验证自己的方法是否更为合适,以此加强开发能力。
标签:存储,购书,源代码,项目,信息,cpp,二次开发,网上 From: https://www.cnblogs.com/zouran/p/17185120.html