项目由四人小组一起完成。实现了一个以C/C++编写的基于文本存储的小型图书馆管理系统。
此次采用三层体系结构,由表示层输入指令和数据,通过功能层将指令的功能实现,将数据传输到数据层,最后由数据层对原生数据进行操作。
整个系统的业务逻辑对象有三个,按从上到下的顺序分别是超级管理员->管理员->借书用户。
图书馆系统的业务逻辑也是比较好懂,这里我只是多增加了一些诸如模糊搜索、热门推荐和书籍评论的功能。详细了解可移步本人码云。此次主要是对此次项目的一个总结与回顾。
我们组成员的基础算是好的,但是也只不过实现了整个系统的基础功能,虽然一开始也构想过搭建服务器,但在写完基础版本后这个想法好像就不了了之了。
由于前期统一了命名风格,虽然我们将代码功能实现的很快,但代码的质量实在是太差了:批注没有写、边界条件没有考虑周到、数据访问出现越界、构造函数的不同版本未能正确实现(拷贝构造中容器未赋值、赋值构造未释放旧资源)。感觉主要也是我的问题,由于我的架构是提前设计的,所以当天将架构分享给组员后,我们没有经过过多的商榷,没有整合每个人的想法,而单只是参照我的想法就开始干活了,虽然第一天进度很快,我们每个人几乎将自己负责的模块都实现了,但是由于部分函数功能没有完全说明,命名出现些许错字,导致部分代码臃肿难看、代码融合过程兼容性一直出错。尤其关于代码臃肿这一点,当时我设计的函数所需要判断的条件实在太多,导致for循环和if一直嵌套了许多层,这样会导致只要一个地方出错,整个函数就运行失败,而且美观度也非常有问题,项目总结时我想了想,其实可以将for循环例如查找书籍这类的封装成一个函数,毕竟这个查找很多地方都需要用,也就是将一个大功能分散成许多小功能,这样不仅代码会好看很多,而且也易于排查困难。
另外一点,就是如果负责小组中的架构,不仅只是要将基础要求的功能整合,更重要的是能借此推测出用户的喜好,想出一些创新的点去吸引用户。在互联网时代发展的今天,对于不是太难的技术,基本上是家家都能实现,但是能牢牢抓住用户的心的,就是一些新奇的创意。
作为整个系统的构造者,真的一定要去考虑各个功能可能会出现的错误,对边界条件的判断一定要先于功能的实现。
经过这次项目总结,我也体会到了自己身为架构设计的不足之处,许多地方考虑的都不是很周全,写下此文也是想让以后的我能记住第一次设计架构时的缺点,希望也能在下次项目中有所进步。
最后要说的一点就是,目前我的口才实在还是弟中弟,真的需要多多练习。
图书馆管理系统的项目总结
最新推荐文章于 2024-06-23 10:30:00 发布