时光匆匆,不知不觉间《软件工程》的课程已经快学完,虽说没有开发出具体的项目应用,但我们知道了软件工程是将系统化的,规范化的,可度量的方法应用于软件的开发,运行和维护修复的过程。在课程期间,学到了很多实用的东西,老师教会了我们如何去分析和处理问题,教会了我们编写项目软件的流程和注意事项,总的来说是获益匪浅的。

初学软件工程,或许很多人都会迷茫,不知道软件工程学有何用。其实,软件工程还没有精确地定义,我自己的理解是,软件工程可以指导我们分析出框架结构,对于项目实现的大体步骤及具体的细节等等高效的开发、使用及维护软件,软件工程是必不可少的。

下面我来回顾一下各章的内容,一到三章是软件工程基础,这一章主要讲解的是一些概念性和基础性的内容,例如软件的概念、特性,软件危机的主要表现,软件工程的概念以及软件生存期、典型生存期模型、敏捷软件开发等等。五到九章是结构化开发方法学,主要讲了需求分析的任务,需求分析的步骤及各种描述工具、分析文档;需求的各种描述工具有实体关系图、数据流图、数据字典等等,这是软件项目开发的第一步。介绍了概要设计、详细设计及用户界面设计,我们掌握概要设计方法及详细设计方法。程序编码以及测试方法,重点讲解了结构化程序设计,设计风格及效率,程序设计语言的选择。十到十二章重点讲解了面向对象的概念、分析及设计,掌握什么是面向对象,面向对象有哪些优缺点,了解面向对象的分析和设计方法。统一建模语言UML,讲解了静动态建模机制,理解UML的形成、内容、特点及应用领域并掌握例图、类图进行静态建模的方法、软件测试方法及黑白盒测试用例设计方法,还讲解了软件测试步骤。第十三十四章软件维护与项目管理,主要介绍了软件维护的任务、软件维护活动以及软件维护方法、软件配置管理、软件质量管理和进度管理等进行了介绍。

在学习软件工程过程中,或许有诸多不解,要从整体概念上较好地理解和把握、学好软件工程,学习时要注意多看多练要注意结合实际,更要多思考,面对错误不要一范就问,要尝试自己去解决。但是还要注意什么都学,肯定是什么都学不透的,要集中精力打攻坚战,学习软件工程首先要明白自己的学习目标究竟是什么,根据自己的实际工作出发,有针对性的在相应的学习方向上进行提高,制定出详细的学习规划。还要注意与其他科目的相辅相成,软件工程与空间数据库课程有很多共同之处,对二者研究拓展,多思多想,把从各个科目学到的知识通汇贯通。

在做一个软件工程项目的时候,我们首先要有整体的结构和思路,这样才能照着一定的思想一定思路去写下去。写软件一般都是在沿着现有思路一步一步地写下去,而软件工程注重于宏观的来构思整个软件的思路,重在创新。所以说软件工程最重要的核心就是——创新。任何产品的成功出现都是因为它成功的创新,虽然创新的程度不一样,而软件也一样最重要的不是代码的编写而是软件的分析与整体构思。学习软件工程对软件工程有了初步的认识,带着软件工程的思维或说是眼光在做项目的同时不断积累经验,总会有能够独立分析与构思整个软件系统能力的那天。但并不是说可以独立分析软件系统就是软件工程的最终目标,毕竟学无止境,知识是无尽头的,我们仍需要不懈的努力。

软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。

在学习的过程中,老师让我们做一个自己的团队项目,第一次通过团队做项目开发,我们都有很多的体验,知道团队的合作非常重要,争议固然存在,但需要的是通过讨论、协商,群策群力,在不断地磨合中达成一致与默契,应该注意的是团队的合作要合理的分工;在一个团队中,团队的成员能力各有高低,应该互相尊重,各取所长,不宜妄自菲薄;组长需要多加协调,组员积极配合才能合作愉快,才能完全的发挥出团体的实力。

软件工程课程虽已结束,但我对于软件工程的学习也许才刚刚开始,王老师的课让我受益匪浅。我体会到项目管理的重要性,随着软件规模、复杂度的不断增加,项目开发中更多的是协作、管理和控制。我也学习到了很多一般性的方法,例如:需求获取、模块化、分治、估算、计划等等。有了软件工程基本的知识,我们无论是做项目还是写软件都有了一套方法,这将是解决问题的有效途径,我们要学会合理的利用。

在这个飞速发展的软件时代,随着软件应用的日益广泛,软件规模日益扩大,《软件工程》显得格外的重要,《软件工程》强调基本概念和基本知识的理解掌握,又侧重软件项目的分析、设计、实现和维护的基本技能;我们已经学到理论的知识,但是软件的开发测试对逻辑思维、学习能力、反应思维要求很高,我们仍需要不断地锻炼严密和逆向的思维,在具体的项目中获得实践的经验,实践才是检验真理的唯一标准,只有将理论与实践结合,才能发挥我们所学的知识的作用,才能更直接的创造效益,才能为国家和社会有所贡献。

最后,要感谢辛勤付出的王老师,让我们学到这么多实用的知识,这门课程使我获益良多,在此对您说一声“辛苦了,谢谢您的教导!”。

posted on 2021-06-17 16:36  We-like  阅读(49)  评论(0编辑  收藏  举报