ImageVerifierCode 换一换
格式:PPT , 页数:105 ,大小:738.51KB ,
文档编号:5873733      下载积分:20 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-5873733.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(ziliao2023)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(第1章-软件开发方法二软件工程课件.ppt)为本站会员(ziliao2023)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

第1章-软件开发方法二软件工程课件.ppt

1、第第1 1章章 软件开发方软件开发方法法(二)软件工程(二)软件工程计算机教学实验中心计算机教学实验中心 下一页上一页停止放映第第2 2|83|83页页问题的提出什么是软件工程?什么是软件工程?为什么提出软件工程?为什么提出软件工程?主要研究哪些问题?主要研究哪些问题?软件工程的目标、原理软件工程的目标、原理软件开发活动软件开发活动下一页上一页停止放映第第3 3|83|83页页1 1了解软件工程的基本概念、基本原则了解软件工程的基本概念、基本原则2 2理解软件工程的主要定义理解软件工程的主要定义3 3理解软件过程及模型理解软件过程及模型4 4了解软件工程方法学了解软件工程方法学下一页上一页停止

2、放映第第4 4|83|83页页一、软件工程概述一、软件工程概述什么是软件工程?什么是软件工程?为什么要学习软件工程?为什么要学习软件工程?软件工程包括哪些内容?软件工程包括哪些内容?下一页上一页停止放映“软件工程是一种描述规范软件工程是一种描述规范。”Michael Jackson软件工程?软件工程?下一页上一页停止放映第第6 6|83|83页页软件工程的定义软件工程的定义软件工程专家软件工程专家BoehmBoehm定义定义IEEEIEEE给出的定义给出的定义教科书给出的定义教科书给出的定义下一页上一页停止放映第第7 7|83|83页页软件工程专家软件工程专家BoehmBoehm定义定义著名软

3、件工程专家著名软件工程专家B BW WBoehmBoehm为软件工为软件工程的定义是:程的定义是:运用现代科学技术知识来设计并构造运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。些程序所必需的相关文件资料。下一页上一页停止放映第第8 8|83|83页页IEEEIEEE给出的定义给出的定义19831983年年IEEEIEEE给出的定义为:给出的定义为:以优质、高效、低成本为目标,研究以优质、高效、低成本为目标,研究开发、运行和维护软件以及使之退役开发、运行和维护软件以及使之退役的系统方法。的系统方法。其中,其中,“软件软

4、件”的定义为:计算机程序、方法、的定义为:计算机程序、方法、规则、相关的文档资料以及在计算机上运行时规则、相关的文档资料以及在计算机上运行时所必需的数据。所必需的数据。下一页上一页停止放映第第9 9|83|83页页教科书给出的定义教科书给出的定义教科书中定义为:教科书中定义为:运用系统的、规范的和可定量运用系统的、规范的和可定量的方法来开发、运行和维护软的方法来开发、运行和维护软件。件。下一页上一页停止放映第第10 10|83|83页页关于软件工程学软件工程是一门交叉学科,涉及到计算机软件工程是一门交叉学科,涉及到计算机科学、管理科学、工程学和数学。科学、管理科学、工程学和数学。软件工程的理论

5、、方法、技术都是建立软件工程的理论、方法、技术都是建立在计算机科学的基础上;在计算机科学的基础上;它是用管理学的原理、方法进行软件生它是用管理学的原理、方法进行软件生产管理;产管理;用工程学的观点进行费用估算、制定进用工程学的观点进行费用估算、制定进度和实施方案;度和实施方案;用数学方法建立软件可靠性模型以及分用数学方法建立软件可靠性模型以及分析各种算法。析各种算法。下一页上一页停止放映 了解并掌握软件的开发步骤、方了解并掌握软件的开发步骤、方法、准则。为了:法、准则。为了:克服、解决克服、解决“软件危机软件危机”改进改进“软件生产软件生产”方法、工方法、工具具提高软件的生产率提高软件的生产率

6、为什么学习软件工程?为什么学习软件工程?下一页上一页停止放映第第12 12|83|83页页软件工程的目标软件工程的目标开发生产尽可能多的软件产品;开发生产尽可能多的软件产品;提高软件的生产效率;提高软件的生产效率;满足应用的功能需要和具有较好的软件性能;满足应用的功能需要和具有较好的软件性能;能按时、按质完成软件开发任务;能按时、按质完成软件开发任务;降低软件开发成本。降低软件开发成本。下一页上一页停止放映第第13 13|83|83页页目标的实现是矛盾的目标的实现是矛盾的在实际开发过程中,企图让以上几个目标都在实际开发过程中,企图让以上几个目标都达到理想的程度是非常困难的。达到理想的程度是非常

7、困难的。例如,如果过于追求提高软件的性能,可能例如,如果过于追求提高软件的性能,可能造成开发出的软件对硬件有较大的依赖,从造成开发出的软件对硬件有较大的依赖,从而直接影响到软件的通用性和可移植性。而直接影响到软件的通用性和可移植性。实际上软件工程就是要解决如何在用户要求实际上软件工程就是要解决如何在用户要求的功能、质量、成本、进度之间取得平衡,的功能、质量、成本、进度之间取得平衡,才能真正满足应用的实际需要。才能真正满足应用的实际需要。下一页上一页停止放映第第14 14|83|83页页软件工程具体目标软件工程具体目标保护公众安全、健康和幸福保护公众安全、健康和幸福建立、健全开发软件产品的学科建

8、立、健全开发软件产品的学科识别新软件或修改现行软件的需求风险识别新软件或修改现行软件的需求风险避免开发失败的软件避免开发失败的软件鼓励寻求开发和采购软件产品的替代方法鼓励寻求开发和采购软件产品的替代方法促进软件生存期所有方面生产率的改进促进软件生存期所有方面生产率的改进通过不断更新软件,发现新的用途通过不断更新软件,发现新的用途便于开发具有便于开发具有“鲁棒性鲁棒性”的软件的软件通过对引起故障或有影响的元素的不断检测通过对引起故障或有影响的元素的不断检测以促进软件过程和产品的改进。以促进软件过程和产品的改进。下一页上一页停止放映第第15 15|83|83页页软件工程的本质特征软件工程的本质特征

9、1.1.软件工程关注于大型程序的构造软件工程关注于大型程序的构造2.2.软件工程的中心课题是控制复杂度软件工程的中心课题是控制复杂度3.3.软件经常变化软件经常变化4.4.开发软件的效率非常重要开发软件的效率非常重要5.5.和谐地合作是开发软件的关键和谐地合作是开发软件的关键6.6.软件必须有效地支持它的用户软件必须有效地支持它的用户7.7.在软件工程领域中是由具有一种文化背在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造景的人替具有另一种文化背景的人创造产品产品下一页上一页停止放映第第16 16|83|83页页软件工程原理软件工程原理自自19681968年提出年提出“软件

10、工程软件工程”的概念以来,的概念以来,专家学者又陆续提出了专家学者又陆续提出了100100多条关于软件工多条关于软件工程的准则。程的准则。著名软件工程专家著名软件工程专家B.W.BoehmB.W.Boehm于于19831983年发表年发表的一篇论文中提出了软件工程的七条基本的一篇论文中提出了软件工程的七条基本原理。他认为这七条原理是确保软件产品原理。他认为这七条原理是确保软件产品质量和开发效率的最小准则集合。质量和开发效率的最小准则集合。下一页上一页停止放映第第17 17|83|83页页软件工程七条基本原理软件工程七条基本原理用分阶段的生命周期计划严格管理用分阶段的生命周期计划严格管理坚持进行

11、阶段评审坚持进行阶段评审实行严格的产品控制实行严格的产品控制采用现代程序设计技术采用现代程序设计技术结果应能清楚地审查结果应能清楚地审查开发小组人员少而精开发小组人员少而精承认不断改进软件工程实践的必要性承认不断改进软件工程实践的必要性下一页上一页停止放映第第18 18|83|83页页用分阶段生命周期计划严格管理用分阶段生命周期计划严格管理据统计发现据统计发现:不成功软件项目中半数是因计划不成功软件项目中半数是因计划不周造成的。不周造成的。在软件的整个生命周期中应该制定并严格执在软件的整个生命周期中应该制定并严格执行六类计划:行六类计划:项目概要、项目进度表、项目项目概要、项目进度表、项目控制

12、、产品控制、验证控制、产品控制、验证及及运行维护计划运行维护计划。不同层次的管理人员必须严格按照计划各尽不同层次的管理人员必须严格按照计划各尽其职地去管理软件开发与维护工作,绝不能其职地去管理软件开发与维护工作,绝不能受客户或上级的影响而擅自背离预定计划。受客户或上级的影响而擅自背离预定计划。下一页上一页停止放映第第19 19|83|83页页坚持进行阶段评审坚持进行阶段评审软件的质量保证工作不能等到编码阶段结束软件的质量保证工作不能等到编码阶段结束之后再进行。这是因为:之后再进行。这是因为:大部分错误是在编码之前造成的(根据大部分错误是在编码之前造成的(根据BoehmBoehm统计,设计错误占

13、软件错误的统计,设计错误占软件错误的63%63%,编码错误占编码错误占37%37%)。)。错误发现与改正得越晚,所付出的代价也错误发现与改正得越晚,所付出的代价也越高。越高。因此,在每个阶段进行严格的评审,尽早发因此,在每个阶段进行严格的评审,尽早发现并修正各个阶段中所犯的错误是一条必须现并修正各个阶段中所犯的错误是一条必须遵循的重要原则。遵循的重要原则。下一页上一页停止放映第第2020|83|83页页示意图关于阶段评审作用示意图关于阶段评审作用 下一页上一页停止放映第第21 21|83|83页页实行严格的产品控制实行严格的产品控制在软件开发过程中不应随意改变需求,但不能在软件开发过程中不应随

14、意改变需求,但不能禁止更改需求。当必须修改时,为了保持软件禁止更改需求。当必须修改时,为了保持软件各配置成分的一致性,必须实行严格的产品控各配置成分的一致性,必须实行严格的产品控制。制。一切有关修改软件的建议都必须按照严格的规一切有关修改软件的建议都必须按照严格的规程进行评审,获准后才能实施修改。程进行评审,获准后才能实施修改。绝对不能谁想修改就随意进行修改的行为。绝对不能谁想修改就随意进行修改的行为。下一页上一页停止放映第第2222|83|83页页采用现代程序设计技术采用现代程序设计技术以前的以前的结构化结构化程序设计技术,如今的程序设计技术,如今的面向面向对象对象程序设计技术都被实践证明是

15、各个不程序设计技术都被实践证明是各个不同历史阶段的优秀程序设计技术和方法。同历史阶段的优秀程序设计技术和方法。采用先进的技术既可以提高软件开发的效采用先进的技术既可以提高软件开发的效率,又可以提高软件维护的效率。率,又可以提高软件维护的效率。下一页上一页停止放映第第2323|83|83页页结果应能清楚地审查结果应能清楚地审查软件产品是看不见、摸不着的逻辑产品,软件产品是看不见、摸不着的逻辑产品,软件开发人员的工作进展情况可见性差。软件开发人员的工作进展情况可见性差。为了提高开发过程的可见性,应根据软件为了提高开发过程的可见性,应根据软件开发项目中的目标完成期限,规定开发组开发项目中的目标完成期

16、限,规定开发组织的责任和产品标准,使得到的结果能够织的责任和产品标准,使得到的结果能够清楚的审查。清楚的审查。下一页上一页停止放映第第2424|83|83页页开发小组人员少而精开发小组人员少而精开发小组成员的素质应该高,人员不宜过开发小组成员的素质应该高,人员不宜过多。人员素质和数量是影响产品质量和开多。人员素质和数量是影响产品质量和开发效率的重要因素。发效率的重要因素。素质高的人开发效率比低的人高几倍甚至素质高的人开发效率比低的人高几倍甚至几十倍,而错误则明显得少;几十倍,而错误则明显得少;人数增加,管理难度也增加。人数增加,管理难度也增加。下一页上一页停止放映第第2525|83|83页页承

17、认不断改进软件工程实践的必要性承认不断改进软件工程实践的必要性要积极主动地采纳新的软件技术,要不断要积极主动地采纳新的软件技术,要不断总结经验;不能自以为是,固步自封,唯总结经验;不能自以为是,固步自封,唯我独好。我独好。大千世界,错综复杂,只有不断学习,才大千世界,错综复杂,只有不断学习,才能不断进取,不断进步。能不断进取,不断进步。下一页上一页停止放映第第2626|83|83页页软件开发活动软件开发活动软件工程过程是由一系列软件工程的阶段任软件工程过程是由一系列软件工程的阶段任务和活动组成。务和活动组成。19951995年年ISOISO将软件生存周期的活动和任务划分将软件生存周期的活动和任

18、务划分为为3 3个过程:个过程:主要过程主要过程(需求、设计、构造、测试和维护)(需求、设计、构造、测试和维护)支持过程支持过程(软件配置、软件工程管理、软件过程和(软件配置、软件工程管理、软件过程和软件质量)软件质量)组织过程组织过程(基础设施建设、工具和方法、改进、培(基础设施建设、工具和方法、改进、培训)训)下一页上一页停止放映第第2727|83|83页页主要过程主要过程主要过程包括的软件开发活主要过程包括的软件开发活动和任务是:动和任务是:软件需求软件需求 软件设计软件设计 软件构造软件构造 软件测试软件测试 软件维护软件维护下一页上一页停止放映第第2828|83|83页页1 1、软件

19、需求、软件需求任务任务:收集、分析、理解、确定用户的要求;:收集、分析、理解、确定用户的要求;然后把用户的要求精确、完整地描述表达出来。然后把用户的要求精确、完整地描述表达出来。目的目的:要回答:要回答“要解决什么问题?要解决什么问题?”,既系统既系统”做什么?做什么?“。分两步骤:分两步骤:可行性研究、制定软件开发计划可行性研究、制定软件开发计划结果结果:可行性报告、软件计划、需求说明书可行性报告、软件计划、需求说明书需求说明书是让用户理解需求说明书是让用户理解:“什么是他们真正需要的什么是他们真正需要的”。下一页上一页停止放映第第2929|83|83页页了解用户需求有关的问题了解用户需求有

20、关的问题什么是需求?什么是需求?希望,功能,限制,必需品,任何必要的东西;希望,功能,限制,必需品,任何必要的东西;什么时候什么时候?从确定方案开始;从确定方案开始;为什么为什么?用户的需求是开发需要的依据;用户的需求是开发需要的依据;来自哪里来自哪里?来自用户,工业标准,和实践经验;来自用户,工业标准,和实践经验;如何实现?如何实现?使所有相关的人参与需求分析活动,通过有效的交使所有相关的人参与需求分析活动,通过有效的交流实现;流实现;谁来做谁来做?用户,工程管理人员,开发人员,维护人员。用户,工程管理人员,开发人员,维护人员。下一页上一页停止放映第第3030|83|83页页用户参与需求分析

21、的重要性用户参与需求分析的重要性根据根据Standish Group 1994Standish Group 1994年发表的一份研年发表的一份研究报告统计,延迟的、超出预算的、未完究报告统计,延迟的、超出预算的、未完成的工程的最普遍的原因是:成的工程的最普遍的原因是:缺少用户参与;缺少用户参与;不完备的需求规范;不完备的需求规范;改变需求规范。改变需求规范。下一页上一页停止放映第第31 31|83|83页页需求分析的难点需求分析的难点 问题的复杂性。问题的复杂性。涉及因素多而;如运行环境和系统功能等。涉及因素多而;如运行环境和系统功能等。交流障碍。交流障碍。涉及不同类型人员较多,知识背景、角度

22、、角色的不同;涉及不同类型人员较多,知识背景、角度、角色的不同;不完备性和不一致性。不完备性和不一致性。用户对问题的陈述有矛盾、片面性等造成。用户对问题的陈述有矛盾、片面性等造成。需求易变性。需求易变性。需求是变化的。需求是变化的。下一页上一页停止放映第第3232|83|83页页需求工作的重要性需求工作的重要性IBMIBM公司有关研究的结果表明:公司有关研究的结果表明:有效的需求管理可以降低开发成本。有效的需求管理可以降低开发成本。通常改正需求错误需要付出改正其他错误通常改正需求错误需要付出改正其他错误1010倍以上的代价。倍以上的代价。需求错误通常导致软件工程中全部错误的需求错误通常导致软件

23、工程中全部错误的25-40%25-40%。改正很少的需求错误可以避免大量耗费在改正很少的需求错误可以避免大量耗费在返工上的成本和时间。返工上的成本和时间。下一页上一页停止放映第第3333|83|83页页需求活动需求活动 识别问题识别问题 通过调研和收集资料,了解用户的确切需求,并将用通过调研和收集资料,了解用户的确切需求,并将用户提出的功能行为和特殊要求等用双方都能理解的表达户提出的功能行为和特殊要求等用双方都能理解的表达方式逐条列出。在整个分析期间要和用户充分协商。方式逐条列出。在整个分析期间要和用户充分协商。可行性研究可行性研究 对于大型复杂问题,要对用户的要求及实现环境从技对于大型复杂问

24、题,要对用户的要求及实现环境从技术、经济和社会因素三个方面进行可行性研究,以确定术、经济和社会因素三个方面进行可行性研究,以确定问题是否可解。问题是否可解。分析建模分析建模 建立软件求解模型;信息、行为和表示。建立软件求解模型;信息、行为和表示。需求规格化及编写文档需求规格化及编写文档 需求规格说明书、初步用户使用手册等。需求规格说明书、初步用户使用手册等。下一页上一页停止放映第第3434|83|83页页2 2、软件设计、软件设计任务任务:给出实现系统的实施蓝图。:给出实现系统的实施蓝图。目的目的:要回答:要回答“如何解决该问题?如何解决该问题?”,既系统既系统“怎样做?怎样做?”。步骤步骤:

25、概要设计:解决系统的模块划分、模块的层次概要设计:解决系统的模块划分、模块的层次结构及数据库设计。结构及数据库设计。详细设计:解决每个摸块内部算法和数据结构。详细设计:解决每个摸块内部算法和数据结构。结果结果:系统设计说明书和模块功能说明书系统设计说明书和模块功能说明书 下一页上一页停止放映第第3535|83|83页页软件设计工作软件设计工作软件设计要做的工作总的可以归结为软件设计要做的工作总的可以归结为:软件软件系统结构系统结构(软件结构软件结构)设计、数据设计、界设计、数据设计、界面设计和过程设计。面设计和过程设计。设计办法是功能分解,包括:设计办法是功能分解,包括:采用某种设计方法,将一

26、个复杂的系统采用某种设计方法,将一个复杂的系统按功能划分成模块;按功能划分成模块;确定每个模块的功能;确定每个模块的功能;确定模块之间的接口,即模块之间传递确定模块之间的接口,即模块之间传递的信息;的信息;评价模块结构的质量。评价模块结构的质量。下一页上一页停止放映第第3636|83|83页页软件设计准则软件设计准则(1 1)软件结构准则;分层结构、便于控制;软件)软件结构准则;分层结构、便于控制;软件结构的深度和宽度要适中;具有合理的扇出和扇结构的深度和宽度要适中;具有合理的扇出和扇入数。入数。(2 2)模块化准则;分解复杂问题;)模块化准则;分解复杂问题;(3 3)模块独立性准则;应使模块

27、之间和与外部环)模块独立性准则;应使模块之间和与外部环境之间接口的复杂性尽量地减小;模块应具有低境之间接口的复杂性尽量地减小;模块应具有低耦合、高内聚;耦合、高内聚;(4 4)数据和过程描述清晰、可区分(表达式);)数据和过程描述清晰、可区分(表达式);(5 5)成果可重复。)成果可重复。下一页上一页停止放映第第3737|83|83页页软件设计方法软件设计方法 面向数据流的设计方法;又进一步细分为面向数据流的设计方法;又进一步细分为变换流和事务流方法;变换流和事务流方法;结构化设计方法;结构化设计方法;面向数据结构的设计方法;面向数据结构的设计方法;JacksonJackson方法;方法;Wa

28、rnierWarnier方法方法 面向对象方法面向对象方法下一页上一页停止放映第第3838|83|83页页使用的开发工具使用的开发工具 层次图、层次图、HIPOHIPO图、结构图图、结构图 程序流程图、程序流程图、N-SN-S图、问题分析图图、问题分析图PAD PAD(Program Analysis Diagram)(Program Analysis Diagram)类语言、过程设计语言类语言、过程设计语言PDLPDL(Procedural Procedural Design LanguageDesign Language)等)等 统一建模语言统一建模语言UMLUML(Unified Mod

29、eling Unified Modeling LanguageLanguage)下一页上一页停止放映第第3939|83|83页页3 3、软件构造、软件构造任务任务:根据设计说明书中每个模块的控制:根据设计说明书中每个模块的控制流程编写出相应的源程序。流程编写出相应的源程序。目的目的:写出高质量的代码和相应饿文档。:写出高质量的代码和相应饿文档。构造要注意使系统更易于使用和系统的可构造要注意使系统更易于使用和系统的可重用性。重用性。选择合适的开发工具及系统软件、数据库选择合适的开发工具及系统软件、数据库软件、中间件等。制定编程规范。软件、中间件等。制定编程规范。结果结果:源程序和文档源程序和文档

30、下一页上一页停止放映第第4040|83|83页页编程风格编程风格编程风格主要体现在如何描述源程序文件、编程风格主要体现在如何描述源程序文件、数据说明、输入输出等。数据说明、输入输出等。(1 1)源程序文件;变量名的命名、源程序中)源程序文件;变量名的命名、源程序中的注解以及源程序的书写格式;的注解以及源程序的书写格式;(2 2)数据说明;按不同类型数据的顺序以及)数据说明;按不同类型数据的顺序以及字典顺序说明、对数据结构加注释说明;字典顺序说明、对数据结构加注释说明;(3 3)语句构造;语句构造一般规则;)语句构造;语句构造一般规则;(4 4)输入输出语句;输入输出语句的规则。)输入输出语句;

31、输入输出语句的规则。下一页上一页停止放映第第41 41|83|83页页语句构造规则语句构造规则不要为节省空间而把多个语句写在同一行;不要为节省空间而把多个语句写在同一行;尽量避免复杂的条件测试;尽量避免复杂的条件测试;尽量减少对尽量减少对“非非”条件的测试;条件的测试;避免使用多层嵌套的循环和重复;避免使用多层嵌套的循环和重复;利用括号使表达式的运算顺序清晰直观。利用括号使表达式的运算顺序清晰直观。下一页上一页停止放映第第4242|83|83页页I/OI/O语句规则语句规则保持输入格式简单;对所有输入数据都进行校验;使用数据结束标记,不要要求用户指定数据的数目;当程序设计语言对格式有严格要求时

32、,应保持输入格式的一致性;检查输入项中重要组合的合法性;给所有的输出数据加标记,并设计良好的输出报表;用标记标明交互的输入请求,应规定可以使用的选择值或边界值;要根据用户的不同类型、特点和要求设计输入方案,输入数据的格式要简单,应具有完备的出错检查和出错恢复措施。下一页上一页停止放映第第4343|83|83页页程序设计语言程序设计语言选用程序设计语言时要考虑它的三种特性:选用程序设计语言时要考虑它的三种特性:(1 1)心理特性)心理特性 对人对人-机通信质量有重要影响。例如,人们习惯使用机通信质量有重要影响。例如,人们习惯使用已熟悉的程序设计语言,由此产生的惰性影响人们学已熟悉的程序设计语言,

33、由此产生的惰性影响人们学习新语言。习新语言。(2 2)工程特性)工程特性 它涉及到软件的可移植性、开发工具的可利用性等。它涉及到软件的可移植性、开发工具的可利用性等。(3 3)技术特性)技术特性 它对设计质量、人和整个软件工程有影响。例如,对它对设计质量、人和整个软件工程有影响。例如,对数据结构复杂性要求很高的系统,考虑选用数据结构复杂性要求很高的系统,考虑选用C C及及C+C+等等语言;若对高性能和实时功能要求高,可考虑选用语言;若对高性能和实时功能要求高,可考虑选用AdaAda语言。语言。下一页上一页停止放映第第4444|83|83页页4 4、软件测试、软件测试任务任务:检查、发现程序中的

34、错误,提高系:检查、发现程序中的错误,提高系统可靠性。统可靠性。目的目的:保证系统的正确性、可靠性和可用:保证系统的正确性、可靠性和可用性。性。回答回答:“该系统是否能实现规定的操该系统是否能实现规定的操作?作?”。方式方式:模块测试、组装测试:模块测试、组装测试 、确认测试和、确认测试和系统测试系统测试结果结果:测试报告和软件修改报告等。测试报告和软件修改报告等。下一页上一页停止放映第第4545|83|83页页测试包括测试包括 单元测试。单元测试。对一个模块的测试,一般以白盒法对一个模块的测试,一般以白盒法测试为主,多个模块可以并行进行。测试为主,多个模块可以并行进行。集成测试。最终将本项目

35、所有模块集成在一起集成测试。最终将本项目所有模块集成在一起测试,交出完整程序产品。测试,交出完整程序产品。确认测试。以用户为主的测试。证实系统能否确认测试。以用户为主的测试。证实系统能否正确地实现其功能。正确地实现其功能。系统测试。软件只是整个应用系统的一部分。系统测试。软件只是整个应用系统的一部分。最后要集成为一个整体,包括硬件、软件以及相最后要集成为一个整体,包括硬件、软件以及相关的其它设备。此时的测试称系统测试。关的其它设备。此时的测试称系统测试。下一页上一页停止放映第第4646|83|83页页测试与测试与测试测试阿尔法测试:阿尔法测试:对于商品软件在研制方有客户对于商品软件在研制方有客

36、户(订货方订货方)参与参与的确认测试叫阿尔法测试。的确认测试叫阿尔法测试。贝塔测试:贝塔测试:指在若干客户场地由客户组织,最终用户参指在若干客户场地由客户组织,最终用户参与的测试,此时所有文档均予冻结,作为本与的测试,此时所有文档均予冻结,作为本软件版本的基线。对于新软件,改版则为里软件版本的基线。对于新软件,改版则为里程碑。程碑。下一页上一页停止放映第第4747|83|83页页设计测试用例应考虑的问题设计测试用例应考虑的问题 界面:内界面主要检查参数个数及类型匹配。界面:内界面主要检查参数个数及类型匹配。外界面主要检查外界面主要检查I/OI/O文件、数据格式、类型匹配。文件、数据格式、类型匹

37、配。模块的数据结构:类型是否不正确或不一致?模块的数据结构:类型是否不正确或不一致?初始化、缺省值使用情况;变量名拼错;上、初始化、缺省值使用情况;变量名拼错;上、下界溢出等数据异常,测试能否正确处理等下界溢出等数据异常,测试能否正确处理等。边界条件:保证在边界值的情况下模块依然可边界条件:保证在边界值的情况下模块依然可以正确操作,值出界时要有正确反应。以正确操作,值出界时要有正确反应。独立路径:保证至少所有语句都要执行一次,独立路径:保证至少所有语句都要执行一次,每个条件或子条件都执行一次更好。每个条件或子条件都执行一次更好。错误处理路径:不管程序有无异常处理都要察错误处理路径:不管程序有无

38、异常处理都要察看出错处理路径。特别要考察是否死机。看出错处理路径。特别要考察是否死机。下一页上一页停止放映第第4848|83|83页页程序调试程序调试调试是在测试发现错误之后排除错误的过调试是在测试发现错误之后排除错误的过程。调试过程会发生两种结果:程。调试过程会发生两种结果:找到原因并把问题排除;找到原因并把问题排除;没找到问题的原因。没找到问题的原因。调试是软件开发过程中最艰苦的脑力劳动。调试是软件开发过程中最艰苦的脑力劳动。在调试过程中遇到的错误有所不同,错误在调试过程中遇到的错误有所不同,错误的后果越严重,查找错误原因的压力也越的后果越严重,查找错误原因的压力也越大。通常,压力会导致软

39、件开发人员在改大。通常,压力会导致软件开发人员在改正一个错误的同时可能引入更多的错误。正一个错误的同时可能引入更多的错误。下一页上一页停止放映第第4949|83|83页页调试技术调试技术 输出存储器内容;特点是效率低、难定位、输出存储器内容;特点是效率低、难定位、输出的是静止状态的程序内容。输出的是静止状态的程序内容。加打印语句;特点是显示的是程序的动态加打印语句;特点是显示的是程序的动态信息,但大量的输出,时间慢,可能引出信息,但大量的输出,时间慢,可能引出新的问题。新的问题。用调试工具;特点是动态调试,可自动执用调试工具;特点是动态调试,可自动执行,是目前广泛采用的一种调试技术。行,是目前

40、广泛采用的一种调试技术。下一页上一页停止放映第第5050|83|83页页调试策略调试策略 试探法。大概分析、估计错误的位置。试探法。大概分析、估计错误的位置。回溯法。确定最先出现回溯法。确定最先出现“症状症状”的地方,的地方,然后沿程序的控制流程往回追踪源程序,直然后沿程序的控制流程往回追踪源程序,直到找出错误源为止。到找出错误源为止。对分查找法。若已知程序中若干个关键点对分查找法。若已知程序中若干个关键点的正确值,然后用调试工具在关键点附近处的正确值,然后用调试工具在关键点附近处输入正确值;若输出正确,则故障在前半部输入正确值;若输出正确,则故障在前半部分;否则,再查后半部分。分;否则,再查

41、后半部分。归纳法。从线索出发,通过分析线索之间归纳法。从线索出发,通过分析线索之间的关系而找出故障。主要步骤为:收集有关的关系而找出故障。主要步骤为:收集有关数据,组织数据,导出假设,证明假设。数据,组织数据,导出假设,证明假设。下一页上一页停止放映第第51 51|83|83页页调试的启发性原则调试的启发性原则这部分内容大多是心理学的问题:这部分内容大多是心理学的问题:要思考,不要盲目地修改程序,至使错要思考,不要盲目地修改程序,至使错误越改越多;误越改越多;如陷入困境,放到第天去解决;如陷入困境,放到第天去解决;陷入绝境后,要与别人交谈你的问题,陷入绝境后,要与别人交谈你的问题,或许对你有所

42、启发;或许对你有所启发;避免用试验法。不要在问题没有搞清楚避免用试验法。不要在问题没有搞清楚之前,就改动程序,这样对找出错误不之前,就改动程序,这样对找出错误不利,程序越改越乱,以致于面目全非。利,程序越改越乱,以致于面目全非。下一页上一页停止放映第第5252|83|83页页5 5、软件维护、软件维护任务任务:改正软件系统在使用过程中发现:改正软件系统在使用过程中发现的隐含错误,扩充在使用过程中新的功的隐含错误,扩充在使用过程中新的功能要求。能要求。目的目的:维护软件系统的正常运行。:维护软件系统的正常运行。回答回答:系统是否满足用户的应用要求。:系统是否满足用户的应用要求。阶段结果阶段结果:

43、软件系统的问题报告和软件修改报告。软件系统的问题报告和软件修改报告。下一页上一页停止放映第第5353|83|83页页软件维护的原因软件维护的原因 软件的原有功能和性能可能不再适应用户软件的原有功能和性能可能不再适应用户的要求;的要求;软件的工作环境改变了(例如,增加了新软件的工作环境改变了(例如,增加了新的外部设备),软件也要做相应的变更;的外部设备),软件也要做相应的变更;软件运行中发现错误,需要修改。软件运行中发现错误,需要修改。下一页上一页停止放映第第5454|83|83页页维护活动分类维护活动分类 校正性维护校正性维护:指为了识别和纠正错误,修改软件性:指为了识别和纠正错误,修改软件性

44、能上的缺陷,进行确定和修改错误的过程。占整个维护能上的缺陷,进行确定和修改错误的过程。占整个维护工作的工作的15%15%。适应性维护适应性维护:为了使本软件适应硬件和软件的变化:为了使本软件适应硬件和软件的变化而修改软件的过程称为适应性维护。占整个维护活动的而修改软件的过程称为适应性维护。占整个维护活动的25%25%。完善性维护完善性维护:增加软件功能、增强软件性能、提高:增加软件功能、增强软件性能、提高运行效率而进行的维护活动称为完善性维护。占整个维运行效率而进行的维护活动称为完善性维护。占整个维护工作的护工作的55%55%。预防性维护预防性维护:为了提高软件的可维护性和可靠性而:为了提高软

45、件的可维护性和可靠性而对软件进行的修改称为预防性维护。只占整个维护活动对软件进行的修改称为预防性维护。只占整个维护活动的的5%5%。下一页上一页停止放映第第5555|83|83页页维护活动的特点维护活动的特点 非结构化维护和结构化维护。主要区别是开非结构化维护和结构化维护。主要区别是开发过程是否用软件工程方法,若各阶段均有相发过程是否用软件工程方法,若各阶段均有相应的文档记录,系统则容易维护。采用结构化应的文档记录,系统则容易维护。采用结构化维护可以大大提高软件维护效率。维护可以大大提高软件维护效率。软件维护的困难性。是由于软件需求分析和软件维护的困难性。是由于软件需求分析和开发方法的缺陷。开

46、发方法的缺陷。软件维护的费用在总费用中的比重不断增加,软件维护的费用在总费用中的比重不断增加,已经上升到了已经上升到了70%70%80%80%或更多,我们看到的软或更多,我们看到的软件不断升级就是维护的具体体现。件不断升级就是维护的具体体现。下一页上一页停止放映第第5656|83|83页页维护活动流程维护活动流程建立维护机构,组织维护活动:建立维护机构,组织维护活动:制定维护申请报告;制定维护申请报告;审查维护申请报告并批准;审查维护申请报告并批准;进行维护并做详细记录;进行维护并做详细记录;复审。复审。下一页上一页停止放映第第5757|83|83页页软件的可维护性软件的可维护性软件可维护性是

47、指维护人员理解、修改软件的难软件可维护性是指维护人员理解、修改软件的难易程度。易程度。可维护性因素可维护性因素软件的可维护性因素主要包括:可理解性、可测试软件的可维护性因素主要包括:可理解性、可测试性、可修改性、可靠性和可使用性。性、可修改性、可靠性和可使用性。提高可维护性的方法提高可维护性的方法提高软件的可维护性必须从软件生存周期各个阶段提高软件的可维护性必须从软件生存周期各个阶段的工作入手,每个阶段都把可维护性贯彻到阶段的工作入手,每个阶段都把可维护性贯彻到阶段的开发活动过程中,并按规范对阶段工作进行评的开发活动过程中,并按规范对阶段工作进行评估,以保证个阶段的工作按质按量完成。估,以保证

48、个阶段的工作按质按量完成。文档文档文档是影响软件可维护性的决定性因素。文档分为文档是影响软件可维护性的决定性因素。文档分为用户文档和系统文档两类。用户文档和系统文档两类。下一页上一页停止放映第第5858|83|83页页支持过程支持过程支持过程包括的软件开发活支持过程包括的软件开发活动和任务是:动和任务是:软件配置管理软件配置管理软件工程管理软件工程管理软件过程软件过程软件质量软件质量下一页上一页停止放映第第5959|83|83页页软件配置管理软件配置管理软件修改后会发生什么呢?软件修改后会发生什么呢?同步更新同步更新当两个或两个以上的角色各自当两个或两个以上的角色各自工作在同一产物上时,最后一

49、个修改者会破工作在同一产物上时,最后一个修改者会破坏前者的工作。坏前者的工作。通知不达通知不达当被若干开发者共享的产品中当被若干开发者共享的产品中的问题被解决时,修改未被通知到一些开发的问题被解决时,修改未被通知到一些开发者。者。多个版本多个版本软件修改与文档不一致。软件修改与文档不一致。新版本公布的管理和监控新版本公布的管理和监控。配置和变更管理提供了准则管理演化系统中的配置和变更管理提供了准则管理演化系统中的多个变体,跟踪给定软件创建过程中的版本。多个变体,跟踪给定软件创建过程中的版本。下一页上一页停止放映第第6060|83|83页页软件工程管理软件工程管理软件工程管理是一门艺术。其主要活

50、动有:管理软件工程管理是一门艺术。其主要活动有:管理项目的框架、计划配备执行监控项目的实践准则、项目的框架、计划配备执行监控项目的实践准则、管理风险的框架。管理风险的框架。项目管理是过程管理的主要体现:项目管理是过程管理的主要体现:(1)(1)建立与客户的通信;建立与客户的通信;(2)(2)作计划,定义资源、时限、落实到开发组;作计划,定义资源、时限、落实到开发组;(3)(3)风险分析,评估所采用的技术和管理带来的风风险分析,评估所采用的技术和管理带来的风险;险;(4)(4)工程,即软件分析与设计;工程,即软件分析与设计;(5)(5)构造和发布,即编码、测试、交付、安装、文构造和发布,即编码、

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|