软件工程学习总结和体会(自己总结).doc_第1页
软件工程学习总结和体会(自己总结).doc_第2页
软件工程学习总结和体会(自己总结).doc_第3页
软件工程学习总结和体会(自己总结).doc_第4页
软件工程学习总结和体会(自己总结).doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

成 绩评阅人软件工程I课程考核报告学 号: 1115115285 姓 名: 王瑞博 专 业: 软件工程 班 级: 11软工软件一班 指导教师: 李生 南 阳 理 工 学 院 软 件 学 院2013年5月软件工程课程学习总结 以前从没学过软件工程这门课,只是听学长学姐们说过,这是一门很深奥的课程,据说是有工程师称号的高手才摆弄的东西。学过之后才发现,其实这门课真的很高深,就连老师也说他也有很多问题还没有解决呢。下面我就谈谈我个人在本学期学习中一些总结和体会,希望对为学习本课程的人有一些帮助。一、软件工程基础什么是软件工程呢?软件工程是一类求解软件的工程,为了克服软件危机,人们研究和借鉴工程学的原理和方法,形成了一门新的学科软件工程学。目前比较认可的一种定义是:软件工程是为了研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何让把经过时间考证而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。从以上这些关于软件工程的定义,我们可以对软件工程这门工程学科有一个全面的整体性认识。软件工程学的主要内容包括:1、软件开发方法(需求分析、设计、编程、测试和维护);2、软件工具(泛指开发一切帮助开发软件的软件);3、软件工程环境(以软件工程为依据,支持典型软件生产的系统);4、软件工程管理学(对软件工程生存期内的各个阶段的活动进行管理)。(一)软件工程的三要素和基本目标1、 软件工程以关注软件质量为目标,由过程、方法和工具三要素组成。(1) 软件工程过程:在软件工具的支持下所进行的一系列软件工程活动,它是将技术层结合在一起的凝聚力,使得计算机软件能够合理地和及时地开发出来,是生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。(2) 软件工程方法:完成软件开发任务的技术方法,它依赖于一组基本原则,这些基本原则控制了每一技术区域,且包含建模活动和其他描述技术。软件工程方法学主要包括传统方法(结构化方法)和面向对象方法。(3) 软件工程工具:是对过程和方法提供了自动的或半自动的支持。软件工程三个要素之中软件工程过程是基础,方法是实现过程的技术,工具为过程和方法提供自动化或半自动化支持。三者以有组织的质量保证为核心。2、 软件工程的目标是提高软件的质量与生产率,最终实现软件的社会化大生产。(2) 软件工程原理软件工程专家学者们总结了开发软件的经验,提出了软件工程的7条基本原理。这7条原理被认为是确保软件产品质量和开发效率的原理的最小集合,又是相互独立、缺一不可、相当完备的最小集合。这7条原理是:1、 用分阶段的生命周期计划严格管理。这是吸取前人的教训而提出来的,在整个软件生命周期中应指定并严格执行6类计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划、运行维护计划。2、 坚持进行阶段评审。软件的质量保证工作不能等到编码结束之后再进行,应坚持进行严格的阶段评审,以便尽早发现错误。评审过程应该包括完成者在内的各种不同角色的人参与,利用人的差异提高评审质量。3、 实行严格的产品控制。开发人员最痛恨的事情之一就是改动需求。但是实践告诉我们,需求的改动往往是不可避免的。这就要求我们要采用可续的产品控制技术来顺应这种要求。也就是要采用变动控制(基准配置管理)。当需求变动时,其他各个阶段的文档或代码也随之变动,以保证软件的一致性。4、 采纳现代程序设计技术。采用先进的技术既可以提高软件开发的效率,又可以减少软件维护的成本。5、 结果应能清楚地审查。软件是一种看不见、摸不着的逻辑产品。软件开发小组的工作进展情况可见性差,难以评价和管理。为了更好地进行管理,应根据软件开发的总目标及完成期限,尽量明确地规定开发小组的责任和产品标准,从而使所得到的标准能清楚地审查。6、 开发小组的人员应少而精。开发人员的素质和数量是影响软件质量和开发效率的重要因素,应该少而精。有以下原因:(1) 高素开发人员的效率比低素质开发人员的效率要高几倍到几十倍,开发工作中犯得错误也少的多。(2) 当开发小组为N人时,可能的通信信道为N(N-1)/2,可见随着人数N的增大,通信开销将急剧增大。7、 承认不断改进软件工程实践的必要性。这是基于上述六条基本原理的总结和归纳。(3) 软件的生存周期一个软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。软件的生存周期可分为八个阶段:问题定义;可行性研究;需求分析;总体(概要)设计;详细设计;编码与单元测试;综合测试;软件维护等。(4) 软件开发模型瀑布模式:是传统的软件开发模式,其中的“瀑布”是对这个模式的形象表达,由山顶倾泻下来的水,自顶向下、逐渐细化。其特点是:线性化过程;分为分析、设计、编码、集成等几个阶段,并且各阶段逐级推进,不允许跨越。里程碑管理;阶段评审;文档驱动;简洁便于工程应用的线性化过程步骤,并可以通过里程碑管理机制而使项目进程量化。其明显的优点就是没个阶段结束前都要对所完成的阶段成果进行评审,这使得软件的错误能够在个阶段内尽早发现并尽早解决,总的来说瀑布模式具有良好的质量保证机制,有很强的生命力。原型进化模式:对软件进行直接模拟或仿真,只需要分析需求框架后进行原型创建,再对原型系统进行逐步细化与完善,通过版本更新逐步满足用户对于软件的多方面需要。增量模式:开发过程有三个任务域,分别是设计结构、开发构件和集成系统,它既有完善的工程管理机制,又能适应用户需求变更,有利于质量的监控,并且各局部基于构件构造,有利于逐步构建与完善;由于先交付核心构件可利于降低项目的技术风险。螺旋模式:是一种可较好的规避开发风险过程的模式,项目是基于任务的螺旋式推进,每个螺旋由内之外分别是需求分析、软件设计、系统集成、验证与交付。(5) 软件的开发过程 1、需求分析:系统开发前期需求分析很重要,它是为了有效解决用户问题的需要进行的一项工程活动,所需要考虑的需求问题是功能需求、数据需求、性能需求和接口需求,开发者承担分析任务,核心是用户。其步骤有三个:获取客户需求,客户泛指某个人或机构部门等,一般方法是调查,包括访谈、座谈、问卷、跟班和收集资料,需求规约可表达用户的软件价值。建立需求模型,它是用户需求的图解,一些常用的模型有:业务树图、用例图、活动图。分别用于结构化需求建模、系统业务举例和反映系统工作流程。进行需求验证,要验证的主要内容有:有效性验证、一致性验证、完整性验证、现实性验证和可检验性验证。2、 概要设计:是对需求规格说明书中提供的软件系统逻辑模型进行进一步的分解,从而建立软件系统的总体结构和各个子系统之间、各个模块之间的关系,定义各子系统接口界面和各功能模块的功能描述等。3、 详细设计:将概要设计产生的功能模块进一步细化,形成可编程的程序模块,设计其具体细节,并设计模块的单元测试计划。阶段产品:详细设计规格说明和单元测试计划等。4、 实现:包含编码和单元测试。(详细介绍在课本79页)阶段产品:可运行并通过单元测试的程序和详细的单元测试报告等。5、 综合测试:包含组装测试和验收测试。(详细介绍在课本79页)阶段产品:(1) 满足概要设计要求、可运行的软件系统和源程序。(2) 组装测试报告。(3) 可供用户使用的软件产品。(6) 用例模型1、UML简介 UML是统一建模语言,有统一的语法、语义和语用规则,其建模过程的特点是:用例驱动、以构架为中心和增量迭代,通过包实现对模型的有效的一体化管理。包括三部分:用例建模,它面向用户需求的,能够反映系统的用户价值,用例图的基本元素有用例、参与者、交流;用例之间有泛化、延伸和包含关系。活动建模,活动图用于描述系统动态过程,主要图形元素有:活动、转换、起点、终点、判断、并发、同步、泳道等。可描述高层业务级活动,涉及整个业务流程,针对每个用例活动建模,反映用例内部活动细节。类分析建模,这里就只考虑实体类,实体类所代表的数据相互之间通常有一定的关系,依靠这种关系可形成有组织的程序数据结构。实体类之间的主要数据关系有:关联、聚类、泛化。2、 使用StartUML绘制用例图StartUML是一款开放源码的UML开发工具,由韩国公司主导开发。用例图包含了角色、用例、以及角色和角色、用例和用例、角色和用例之间存在的关系。具体绘制的方法和步骤详见课本257页。2、 个人感想软件工程课程强调概念和知识的理解和掌握,侧重软件项目的分析、设计、实现和维护的基本技能。比较注意“点”和“面”的结合。是一门理论性较强的学科。对于理论性太强的学科,把握起来真的很困难。书上列举很很多不错的例子,本书既可以当有趣的故事书来读,又可以当教科书来用,由此可见编者的水平有多高啊!我们这门课的老师水平也很高,我对他的印象真的很好,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论