这次的代码编写对于我来说真可谓是前所未有的挑战。
首先,在此之前之前其实从未真正接触过面向对象的编程。在这次软件编写的过程中,我才深刻体验到了类的使用对于模块化封装带来的便利。同时,我还体会到了面对对象这个概念对于软件编写的思维过程的重要性。有了抽象出的对象,在构建思维上的功能实现的时候才更有思路。
其次,在软件的模块化上我也遇到很多自己从没想过的问题。比如说一开始我在两个类间构成了循环引用循环。这是我对类的作用没有分析清楚。再比如就是实例化的类的作用范围,这点一开始我根本没有察觉到实例的作用范围会影响到什么。后来当我发现我做出的更改不能及时在另一个实例更新,我才意识到一个实例化的类是有其作用范围的。这些应该在规划要搭建那些类的时候就考虑清楚。
最后当然是工作量上的明显变化。这次编写花了4天时间。当然中间还有别的工作,所以大概的编写时间在2天半左右。我没有在编程过程中计时,下次应该养成这个习惯。在代码量上,所有模块加起来应该有700行左右的代码,这也是我从来没有遇到过的。当然,在代码编写的过程中我有大语言模型的帮助,但是编程实际上考验的还是组织规划能力。也就是工程学上方法论。
这个软件由于是自己独立编写,在功能测试上肯定会有我意想不到的缺陷,这有待被发现。另外,虽然这次的代码通过json实现基础的数据结构保证数据不在进程结束后消失,但是很显然。如果存在巨量的数据,拿在遍历查询的过程中,软件运行的速度肯定会变得相当慢。也许应该通过添加索引实现更快速的查询。但目前我只学会如何在SQL语言中编写稍微高效查询事务。所以还有待我继续学习。
软件工程方面的知识相当丰富,不少方法论值得我在自己的学科中借鉴。希望自己能保持学习。
下面提供一个已存在的用户账户,方便使用并测试软件:
用户类型 | 用户名 | 密码 |
---|---|---|
普通用户 | dcx123 | 123456 |
---- | ---- | ---- |
管理员 | xzl | 000401 |
所有的程序代码已传入仓库:https://github.com/2021513338/Software_Engineering_Coursework/tree/master
请注意是位于master分支下。