《软件工程》学习心得
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程》学习心得
时光匆匆,不知不觉间《软件工程》的课程已经快学完,虽说没有具体的项目来开发应用,但我们知道软件工程是将系统化的,规范化的,可度量的方法应用于软件的开发,运行和维护的过程,在整个学习期间,总的来说还是学到了很多实用的东西,老师的介绍,教会我们如何去分析和处理问题,教会我们编写项目软件的流程和注意事项,总的来说还是获益匪浅的。
初学软件工程,或许很多人都会迷茫,不知道软件工程学有何用,其实,软件工程还没有精确地定义,但老师的实例我是深有体会,比如巧用建筑学知识,软件工程可以指导你分析出框架结构,项目实现的大体步骤及具体的细节等等,高效的开发、使用及维护软件,软件工程是必不可少的。
下面我来回顾一下各章的内容,第一章初识软件工程,这一章主要讲解的是一些概念性和基础性的内容,例如软件的概念、特性,软件危机的主要表现,软件工程的概念以及软件生存期、典型生存期模型等等。第二章软件需求分析,这一章主要讲了需求分析的任务,需求分析的步骤及各种描述工具、分析文档;需求的各种描述工具有实体关系图、数据流图、数据字典、等等;这是软件项目开发的第一步。第三章软件设计,本章详细介绍了概要设计、详细设计及用户界面设计,我们掌握概要设计方法及详细设计方法。第四章程序编码,这一章重点讲解了结构化程序设计,设计风格及效率,程序设计语言的选择。第五章面向对象技术,这一章重点讲解了面向对象的概念、分析及设计,掌握什么是面向对象,面向对象有哪些优缺点,了解面向对象的分析和设计方法。第六章统一建模语言UML,本章讲解了静动态建模机制,理解UML的形成、内容、特点及应用领域并掌握例图、类图进行静态建模的方法。第七章软件测试,本章详细介绍了软件测试方法及黑白盒测试用例设计方法,还讲解了软件测试步骤。第八章软件维护,本章主要介绍软件维护的任务、软件维护活动以及软件维护方法进行了介绍。
在学习软件工程过程中,或许有诸多不解,我们要从整体概念上较好地理解和把握、学好软件工程,学习时要注意多看多练要注意结合实际,更要多思考,面对错误不要一范就问,要尝试自己去解决。但是还要注意什么都学,肯定是什么都学不透的,要集中精力打攻坚战,学习软件工程首先要明白自己的学习目标
究竟是什么,根据自己的实际工作出发,有针对性的在相应的学习方向上进行提高,制定出详细的学习规划。还要注意与其他科目的相辅相成,就像我们在学习面向对象分析的时候要结合大一学习的面向对象及其方法学这一专业科目进行研究拓展,多思多想,把从各个科目学到的知识通汇贯通。
在写软件的时候,我们首先要有整体的结构和思路,这样才能照着一定的思想一定思路去写下去,有人说其实写软件并不难,只要给你一个思路你就可以不断地往下写。我觉得确是如此,其实我们平时写软件我觉得并不是很难的事,平时即使遇到处理不了的技术问题,哪里编译出现错误等等其实都可以在网上提问。技术问题一般我们都可以在网上得到答案,但软件的思想不是我们看了一下就能真正理解的。
写软件一般都是在沿着现有思路一步一步地写下去,而软件工程注重于宏观的来构思整个软件的思路,重在创新。所以说软件工程最重要的核心就是——创新。任何产品的成功出现都是因为它成功的创新,虽然创新的程度不一样,而软件也一样最重要的不是代码的编写而
是软件的分析与整体构思。学习软件工
程对软件工程有了初步的认识,带着软
件工程的思维或说是眼光在做项目的
同时不断积累经验,总会有能够独立分
析与构思整个软件系统能力的那天。但
并不是说可以独立分析软件系统就是
软件工程的最终目标,毕竟学无止境,
知识是无尽头的,我们仍需要不懈的努
力。
下面我们来了解一下软件工程的开发流程,生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤如软件工程开发流程图1,软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一
模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。
在学习的过程中,老师让我们开发一个图书管理系统,让我们第一次通过团队做项目开发,我们都有很多的体验,知道团队的合作非常重要,争议固然存在,但需要的是通过讨论、协商,群策群力,在不断地磨合中达成一致与默契,应该注意的是团队的合作要合理的分工;在一个团队中,团队的成员能力各有高低,应该互相尊重,各取所长,不宜妄自菲薄;组长需要多加协调,组员积极配合才能合作愉快,才能完全的发挥出团体的实力。
软件工程课程虽已结束,但我对于软件工程的学习才刚刚开始,张老师的课让我受益匪浅。我体会到项目管理的重要性,随着软件规模、复杂度的不断增加,项目开发中更多的是协作、管理和控制。我学习到很多一般性的方法,例如:需求获取、模块化、分治、估算、计划等等。有了软件工程基本的知识,我们无论是做项目还是写软件都有了一套方法,这将是解决问题的有效途径,我们要学会合理的利用。
在这个飞速发展的软件时代,随着软件应用的日益广泛,软件规模日益扩大,《软件工程》显得格外的重要,《软件工程》强调基本概念和基本知识的理解掌握,又侧重软件项目的分析、设计、实现和维护的基本技能;我们已经学到理论的知识,但是软件的开发测试对逻辑思维、学习能力、反应思维要求很高,我们仍需要不断地锻炼严密和逆向的思维,在具体的项目中获得实践的经验,实践才是检验真理的唯一标准,只有将理论与实践结合,才能发挥我们所学的知识的作用,才能更直接的创造效益,才能为国家和社会有所贡献。
最后,要感谢辛勤付出的张老师,是你让我学到这么多实用的知识,让我获益良多,在此说一声“谢谢你!”