软件工程课程总结.docx
- 文档编号:1178879
- 上传时间:2022-10-18
- 格式:DOCX
- 页数:8
- 大小:100.74KB
软件工程课程总结.docx
《软件工程课程总结.docx》由会员分享,可在线阅读,更多相关《软件工程课程总结.docx(8页珍藏版)》请在冰豆网上搜索。
软件工程课程总结
课程总结
题目
《软件工程》课程总结
学生XX
学号
学院
专业班级
指导教师
职称
教授
2014
年
11
月
《软件工程》课程总结
一、学习目标
通过系统的学习,了解软件开发从项目确定到需求分析,再到概要与详细设计、代码实现、开发后的软件测试这一完整软件开发过程。
学习上面提到的每一个步骤中完成任务的相关方法与工具。
学完后应初步具备管理整个软件开发完整流程的能力。
提高软件的质量与生产率,最终实现软件的社会化大生产。
在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。
二、学习态度
这一学期的软件工程课就要进入尾声了,在复习理论知识的同时,更需要回顾和反思自己的学习态度。
在这学期的软件工程学习中,我从来没有迟到、早退以与旷课。
不过因为参加银行从业考试请了一次假。
在这学期中,我每节课都是按时上课,虽然我对软件、计算机这方面没有天赋,但是我尽量做到认真听课,提醒自己不要开小差。
听很多人说这是一门比较深奥的课程,刚开始的时候我比较排斥这门课,但是老师讲的风趣幽默,慢慢的我开始进入状态,上课认真做笔记,认真听讲。
三、学习内容
通过一学期软件工程的学习,使我了解到了很多以前都不知道的知识。
现将所学课本外的知识总结如下:
第一章软件工程概述
软件工程是工程化软件开发与维护的方法论软件的开发者维护者或软件项目管理者都将是软件工程的实践者,并都需要掌握与应用软件工程方法。
1.1.软件是计算机系统中的逻辑成分,是程序、数据、文档等诸多元素的集合,需要有物理硬件的支持才能产生作用。
是一系列按照特定顺序组织的计算机数据和指令的集合。
软件并不只是包括可以在计算机上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。
1.2.软件危机〔softwarecrisis〕,20世纪60年代以前,计算机刚刚投入实际使用,软件设计往往只是为了一个特定的应用而在指定的计算机上设计和编制,采用密切依赖于计算机的机器代码或汇编语言,软件的规模比较小,文档资料通常也不存在,很少使用系统化的开发方法,设计软件往往等同于编制程序,基本上是个人设计、个人使用、个人操作、自给自足的私人化的软件生产方式。
软件危机主要表现在:
软件开发费用和进度失控,生产出来的软件难以维护,软件产品质量难以保证等等。
1.3.软件工程是关于软件开发,使用与维护的工程方法学,并是工程技术、工程管理与工程经济的有机综合。
1.4.结构化方法学是传统的主流方法学,以功能为基本元素,包括结构化分析、结构化设计与结构化实现,可对整个软件生命周期提供方法学支持。
第二章软件开发过程模式
软件开发过程模式是一个有关开发的实施路线与步骤的工程框架,软件开发时务、方法、工具、标准、规程等诸多要素,即基于这个工程框架凝结于一体。
2.1.软件生命周期是软件由提出到开发到投入应用的全过程。
瀑布模式是最传统的过程模式,“瀑布〞形象表达了其自顶向下、逐级细化的过程特征。
2.2.原型进化模式的开发流程是:
开发者先建立原型系统供用户评价或使用,然后根据用户的意见反馈,对原型系统不断修正,由此是它逐步接近并最终达到目标系统的要求。
2.3.增量模式是瀑布模式和原型进化模式优点的结合。
螺旋模式是一种可较好规避开发风险的过程模式。
还学了送代模式是软件的分析、设计与实现可交替反复进行的模式。
迭代模式有对面向对象方法更好的过程支持,可使面向对象方法获得更有成效的工程应用。
2.4.最后学习了组件复用模式。
如下图1为组件复用模型。
图1组件复用模型
第三章软件项目管理
项目是一个具有工程独立性的工程作业单元,并是一个可将人、财、物合在一起的工程容器。
软件的工程模式开发即以项目为单位进行,并通过项目实施有效管理。
为使软件开发各项工作有序的进行,项目管理者必须事先制定项目开发计划。
项目成本估算的方法有:
程序代码行成本估计、软件功能点成本估计、软件过程成本估计。
软件风险管理的主要任务是风险识别、风险评估和风险防X。
软件文档是工程模式软件开发的成果体现。
所谓软件配置,也是基于软件生产轨迹进行过程控制与产品追踪。
最后学了软件质量管理,也是对软件品质的优劣进行评价。
第四章计算机系统工程
项目是基于计算机的系统工程需要有对整个计算机系统较全面的考虑诸多方面的因素,如:
硬件设备、数据资源、网络环境、其他协作软件等,是待开发软件系统以的环境因素,然而绝不能有半点忽视,而必须在软件系统创建之前就认真分析。
只有这样,软件项目才能有正确的工作方向,所开发出来的软件才不会是空中楼阁。
计算机系统结构如图2所示:
软件系统
计算机系统
图2.计算机系统组成
第五章需求分析
需求分析是一项非常关键的软件工程活动,是在开始软件设计、实现之前必须先期完成的任务,需求分析需要解答的问题是“软件能够做什么〞。
系统分析师将承担软件需求分析任务,其工作目标是确定用户软件需求,发现软件的用户价值。
本章要点是:
分析任务与过程;获取用户需求;需求建模;需求验证。
需求分析是对高层需求框架的细化,将涉与用户细节需求,并需要确认软件规格,其过程如图3所示:
如图3.需求分析过程
第六章结构化分析建模
软件分析的关键是建立分析模型,实际上,在进行软件业务分析时就已建立了模,如业务树、业务流。
然而,业务分析模型是面向用户的’一般只涉与用户需求规约,因此在进一步的面向设计的分析建模中,分析者还需要考虑软件技术问题,以支持软件规格定义,支持软件由分析到设计的过渡。
分析建模特点是分析模型建立在需求规约基础上,并要求从数据、功能、行为等多个建模时叫建立模型,以使得对软件问题能有比较全面的建模解说。
功能建模师对系统的数据加工的图解。
行为建模用于说明软件系统与环境的交互。
还学了数据字典,它是用于定义软件元素,以使软件元素获得严格的、详细的、精确地规格说明。
如下图4为需求分析中规约、模型、字典之间的关系。
图4.需求分析中规约、模型、字典之间的关系
第七章基于UML的面向对象分析建模
UML是一种可很好适应面向对象技术的建模方法,不仅可直观反映面向对象技术要素,并可有效贯通分析与设计,而使整个开发过程一体化。
UML是统一建模语言,有统一的语法规则,语义规则与语用规则,并可从多个不同视角建立软件模型。
用例建模是面向用户需求的,能够反映系统的用户价值。
活动图用于描述系统动态过程,主要图形元素有:
活动、转换、起点、终点、判断、并发、同步、泳道等。
类分析建模的首要工作是发现实体类,可使用名词搜索法发现候选键,然后再从候选键中筛选出实体类。
第八章概要设计
在软件规格确定以后,即可设计软件。
软件设计一般按照概要设计,详细设计两步进行,首先需要完成的是概要设计。
本章将要介绍的即是概要设计,其如同设计蓝图,用于确定系统构架、软件结构,以提供实现软件必须有的框架。
系统构架,是对已确定的需求的技术实现构架、作好规划,运用成套、完整的工具,在规划的步骤下去完成任务。
数据结构是指数据元素之间的逻辑关系。
第九章结构化设计建模
结构化程序以功能为目标。
需求分析中有关软件的功能分析,将成为程序结构设计的依据。
面向数据流的程序结构映射,即体现出了由功能分析到功能设计的过渡。
结构化程序以功能模块为构件,其结构设计即围绕模块进行,涉与模块功能定义、模块接口设计、模块调用与控制设计。
本章要点程序结构建模语言分别是程序结构图和HIPO图。
基于数据流的程序结构映射是以功能为目的的结构化建模方法,可达到由功能分析到功能设计的有效转换。
第十章基于UML的面向对象程序设计
面向对象程序设计需要考虑两两个方面的问题,其一,基于类的程序静态构造;其二于对象的程序动态过程。
可通过UML建立面向对象设计模型。
其中的类图可用来描述程序的静态逻辑构造,涉与实体类、控制类、边界类、数据类等诸多类体。
协作图、时序图、状态图则可用来描述基于对象的程序动态过程。
最终的安装发布还涉与物理结构,组件图可用来描述程序程序系统物理结构。
第十六章非主流工程方法
前面章节介绍了结构化方法、面向对象方法,它们是主流软件工程方法,成熟并有广泛的软件工程应用。
此外还有许多非主流软件工程方法,如:
敏捷工程方法净室工程方法;形式化规格说明,它们不如主流工程方法成熟,而且未获得广泛的软件工程应用,但它们却有特定的软件工程应用价值,并因这些工程价值而受到人们关注。
敏捷工程方法是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。
净室工程方法是一种新的计算机软件开发技术,它是一种在软件开发过程中强调在软件中建立正确性的需要的方法,来代替传统的分析、设计、编码、测试和调试周期,净室方法建立一种不同的观点。
Z语言是一种获得了最广泛使用的形式化规格说明语言,以集合运算与谓词逻辑演算为数学语言,并以模式图形符号组织形式化说明。
四、学习感悟
时间飞逝,不知不觉间《软件工程》的学习完了。
在这将近半学期的学习中,虽然我不能说我将《软件工程》学习的有多么的好,但是通过学习,我还是受益良多。
在以前,我一直对软件存在一些偏见或则是误解,认为软件就是程序,软件的开发就是编写程序,只要编完了程序,一切也就ok了,而且我还片面的认为只要我掌握了时下最新的语言和工具,那么我就能写程序了。
一个人,只要会编程,就能写软件,就是程序员;一个公司,只要招聘一些程序员,就能开发好的软件产品。
只要有几个有经验的程序员,再找些兼职的大学生,就能组成一个软件公司。
但是通过了《软件工程》这门课的学习,使我认识到了我以前的错误。
软件其实不仅仅是程序,软件开发其实也不仅仅是编写程序,软件是思想在硬件上的载体和体现,处理的是逻辑和信息。
唯有对软件和软件的开发过程,有充分的认识,才能更好的开发出,过程受控、质量受控的软件产品。
而且在以前,我一直以为软件的开发其实是一件很轻松快乐的事情,只要一天坐在电脑旁敲敲键盘,那么一切就可以了,但是现在我才发现,我以前的很多的思想是多么的肤浅可笑。
编程其实是一种乐趣和苦恼共存的一项创造性活动。
因为编程不仅能够满足我们内心深处进行创造的渴望,而且还能愉悦我们内在的情感。
在学习软件工程过程中,或许有诸多不解,我们要从整体概念上较好地理解和把握、学好软件工程,学习时要注意多看多练要注意结合实际,更要多思考,面对错误不要一X就问,要尝试自己去解决。
但是还要注意什么都学,肯定是什么都学不透的,要集中精力打攻坚战,学习软件工程首先要明白自己的学习目标究竟是什么,根据自己的实际工作出发,有针对性的在相应的学习方向上进行提高,制定出详细的学习规划。
还要注意与其他科目的相辅相成,就像我们在学习面向对象分析的时候要结合大一学习的面向对象与其方法学这一专业科目进行研究拓展,多思多想,把从各个科目学到的知识通汇贯通。
而且通过学习《软件工程》,还让我认识和培养了我的团队协作能力,特别是对于我们这些在校的学生来说,这种学习更是能让我在以后工作中少走很多的弯路。
所以,通过《软件工程》的学习,我是真的学习到了很多有用的东西,让我明白了很多的道理。
在此我对曾老师的辛勤教育表示感谢,因为是您让我学习到了这些,是我获益良多。
《软件工程》课程强调概念和知识的理解和掌握,侧重软件项目的分析、设计、实现和维护的基本技能。
比较注意“点〞和“面〞的结合。
是一门理论性较强的学科。
对于理论性太强的学科,把握起来真的很困难。
书上列举很很多不错的例子,本书既可以当有趣的故事书来读,又可以当教科书来用,由此可见编者的水平有多高啊!
我们这门课的曾老师,我对他的印象真的很好,这是一位好老师,也是一位负责
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程 总结
![提示](https://static.bdocx.com/images/bang_tan.gif)