软件工程课程总结

大作业“你帮我助”软件开发

这是我第一次尝试软件开发,遇到很多困难。

设计阶段

由于开发的软件功能较简单,在设计阶段较为顺利,使用到的模型也很直观。结合软件工程课程上介绍的用例模型、类图等,可以建立模型。采用面向对象设计的方法,先从软件的需求出发,设计用例模型。根据要求,Actor有管理员用户。分别设计用例模型。

实现阶段

本人编程基础薄弱,要将设计的模型写成代码还是非常困难的。大二学过的C是接触过的唯一编程语言,所以选择了C++,但是几乎是从头开始学。在编写代码的过程中,通过上网搜索解决了很多问题,收获很大。

最终的实现算法效率比较低,而且使用到了全局变量,容易出错。用于水平所限,采取了每次读写文件都从头开始读,存入到全局变量数组中,如果有修改再全部重新写到文件当中。这样的方法在数据不庞大还可以使用,如果数据很多将会很慢。文件读写的方法也不合适,用的是string类型,换行读写。在Qt中遇到的各种报错,也可能跟这些因素有关。

目前,GUI界面的功能仍不完整,但是临近期末,并不打算再去完善。第一次使用Qt,遇到了很多奇怪报错。

从软件工程的角度来说,本次软件开发的过程效率并不高。首先,前期设计的工作缺少,没有写相应的文档,也没有细化设计的模型,而是直接进入代码实现。我在编写代码的过程中,明显感觉到组织架构的层次不够清楚,经常要停下思考正在编写的功能在整个软件当中处于什么样的环节,这说明面向对象分析与设计阶段工作不足。另外,在编写代码的过程中,我会遇到技术上的困难。比如,在设计阶段,本来是将不同物品类别设计成继承于一个物品类,但是我没有解决如何在运行程序的过程中创建子类的问题,所以最终把物品类别改成了其中一个属性,这和设计开始的想法不同。我觉得,在实际的软件开发过程中,代码实现阶段应该遵守分析设计阶段得出的模型。但是,由于我编程能力的限制,无法做到这一点,在这种情况下,合理调整设计的模型我认为是可以接受的。

课程总结

这门课程系统地介绍了软件开发的过程、方法等,让我对软件开发有了更为全面的认识。大作业也是我的第一次尝试,更让我对软件开发中用到的方法有更深的理解。大作业对于我来说难度有点大,花费了很多时间和精力,但是收获很多。我觉得软件工程中的很多思想也可以应用到别的领域,比如模块化、统一建模语言等。老师上课会结合生活中的场景、现代公司软件开发的实例讲解相关内容,我觉得这样的授课方式既通俗易懂,又增加了趣味性。另外,不管是头歌上的实训作业,还是上课老师带我们手画各种模型图,我觉得都是很好的练习,可以加深我对模型图的理解。

总之,这门课很好地带我入门,让我初步了解软件工程,编程等实践能力也有一定提升。

posted @ 2022-12-25 01:00  X-Tako  阅读(60)  评论(0)    收藏  举报