软件工程复习2_第1页
软件工程复习2_第2页
软件工程复习2_第3页
软件工程复习2_第4页
软件工程复习2_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、复习软件工程目标:(1)软件开发成本较低。(2)软件功能满足用户的需求。(3)软件性能较好。(4)软件可靠性高。(5)软件易于使用、维护与移植。(6)能按时完成开发任务,并及时交付使用。软件工程首要问题是软件质量。因此。在涉及平衡软件工程目标这个问题的时候,软件的质量应该摆到最重要的位置加以考虑。例如,软件的可用性,有效性、可靠性和可维护性等,它们需要给予特别关注。 基于计算机的系统的分析目标: 识别用户要求 评价系统的可行性 进行经济和技术分析 把功能分配给硬件、软件、人、数据库和其它系统元素 建立成本和进度限制 生成系统规格说明 软件质量的因素按重要性次序排列:正确性、可靠性、有效性、完整

2、性和可用性、可维护性、灵活性、可测试性、可移植性、可重用性、可互操作性。例如:可维护性的度量,可以记录以下10种时间 (1)问题识别时间 (2)管理延迟时间 (3)收集维护工具时间 (4)问题分析时间 (5)修改规格说明书的时间 (6)改正(或修改)时间 (7)局部测试时间 (8)整体测试时间 (9)维护复审时间 (10)分发与恢复时间 软件生命周期是指软件定义、开发、运行维护,直至被淘汰的全过程。 根据我国国家标准计算机软件开发规范(GB8566-8),软件生命周期包含:软件定义、软件开发、软件运行维护三个时期,并可以细分为可行性研究、项目计划、需求分析、概要设计、详细设计、编码实现与单元测

3、试、系统集成测试、系统确认验证、系统运行与维护等几个阶段。 用户调查是最基本的用户需求信息收集方法,比较常用的调查方法包括:访谈用户、开座谈会、问卷调查、 跟班作业、收集用户资料。 需求评审是传统的需求检查手段,采用专门评审小组的方式实施对需求文档有效性评价。评审工作的开展需要有开发人员、用户的共同参与,他们一同检查文档中的不规范之处和遗漏之处,一起讨论需求中存在的问题,并需要对一些需求分歧进行协商,由此达到对软件需求的一致认识。 软件质量特性与评价准则之间的关系: (1)产品运行:正确性、可靠性、可使用性、效率和完整性 (2)产品修正:可维护性、可测试性、灵活性 (3)产品转移:互连性、可移

4、植性和复用性 需求分析涉及面向用户的用户需求和面向开发者的系统需求这两个方面的工作任务。 用户需求是用户关于软件的一系列意图、想法的集中体现,涉及软件的操作方式、界面风格、报表格式,用户机构的业务范围、工作流程,以及用户对于软件应用的发展期望,等等。 系统需求是比用户需求更具有技术特性的需求陈述,它是提供给开发者,将作为软件开发人员设计系统的起点与基本依据。涉及有关软件的一系列技术规格,包括:功能、数据、性能、安全等诸多方面的问题。 进行软件测试的目的: 测试是程序的执行过程,目的在于发现错误 一个好的测试用例在于能发现至今未发现的错误 一个成功的测试是发现了至今未发现的错误的测试 信息隐蔽:

5、每个模块的实现细节对于其它模块来说是隐蔽的。也就是说,模块中所包含的信息(包括数据和过程)不允许其它不需要这些信息的模块使用。 模块的独立性度量准则:模块间的耦合和模块的内聚。 耦合是模块之间的相对独立性(相互连接的紧密程度)的度量。模块之间的连接越紧密,联系越多,耦合性就越高,而其模块独立性就越弱。 内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。一个模块内部各个元素之间的联系越紧密,则它的内聚性就越高,相对地,它与其它模块之间的耦合性就会减低,而模块独立性就越强。 软件工程是把系统化的规范的可度量的途径应用于软件开发运行和维护的过程,也就是把工程化应用于软件中研究中提到

6、的途径。 软件工程三要素是方法、工具、过程。 方法:软件工程开发提供如何做的技术。 工具:为软件工程提供自动或半自动的软件支撑环境。 过程:将软件方法和工具综合起来,以达到合理、及时进行开发的目的,过程定义这些方法使用的顺序、要求交付的文档。 软件测试的目标是为了发现软件中隐藏的错误。 主要测试策略: (1)在任何情况下都应该使用边界值分析的方法。用这种方法设计出的测试用例暴露程序错误的能力最强。 (2)必要时用等价划分法补充测试用例。 (3)必要时再用错误推测法补充测试用例 。 (4)对照程序逻辑,检查已经设计出的测试方案。可以根据对程序可靠性的要求采用不同的逻辑覆盖标准。 若非连通程序控制

7、结构图的边数为14,结构图的结点数为12,计算程序结构复杂度。 用程序控制结构图的巡回秩数V(G)作为程序结构复杂性的度量 V(G) = e-n+p =14-12+2 =4 其中:e为结构图的边数 n为结构图的结点数 p=2 非连通 软件工程是一门关于软件开发与维护的工程学科,其涉及软件生产的各个方面,包括:工程过程、工程原则、技术方法与工具,以及工程项目管理等,能够为经济、高效地开发高质量的软件产品提供最有效的支持。 软件工程方法是指完成软件开发与维护任务时,应该“如何做”的技术方法。主要的软件工程方法有:结构化方法、JSD方法和面向对象方法。 结构化方法是传统的基于软件生命周期的软件工程方

8、法,其以软件功能为目标来进行软件构建的,包括:结构化分析、结构化设计、结构化实现和结构化维护。 JSD方法主要用在软件设计上,由法国科学家Jackson提出。它以软件中的数据结构为基本依据来进行软件结构与程序算法设计,是对结构化软件设计方法的有效补充。 面向对象方法是以软件问题域中的对象为基本依据来构造软件系统模型的,包括:面向对象分析、面向对象设计、面向对象实现和面向对象维护。 软件工具通常也称为 CASE,它是计算机辅助软件工程(ComputerAided Software Engineering)的英文缩写,是为了方便软件工程方法的运用而提供的具有自动化特征的软件支撑环境。 CASE工具

9、覆盖面很广,包括:分析建模、设计建模、源代码编辑生成、软件测试等。其中,用来支持软件分析、设计的CASE工具,如:数据字典管理器、分析建模图形编辑器、软件结构设计器,被称为高端CASE工具;而用来支持软件实现和测试的工具,如:程序编辑器、程序分析器、调试器等,则被称为低端工具。 Visual C+的用途是程序编辑、程序分析与调试,因此是低端工具。 软件项目管理主要内容有: (1)项目规划 (2)项目资源调配 (3)软件产品控制 瀑布模型的特点是: (1)线性化模型结构 (2)各阶段具有里程碑特征 (3)基于文档的驱动 (4)严格的阶段评审机制 螺旋模型是一种引入了风险分析与规避机制的过程模型,

10、是瀑布模型、快速原型方法和风险分析方法的有机结合。 由于软件项目风险分析需要费用,假如风险分析费用比例过高则不合算。 因此,只有开发资金较多的大型项目才有按阶段进行详细风险分析的可能与必要。 可行性分析是对软件问题解决途径的探索,能够对软件项目带来以下方面具有积极意义的影响。 (1)通过少量的的费用,对项目能否实施尽早作出决断,以避免项目开展以后所带来的大量的人力、物力和时间的浪费。 (2)根据项目所受到的条件限制,对有待开发的系统的在体系构造、工作模式等方面作出高层抉择,以利于项目今后的实现。 (3)可以把可行性分析看作软件定义时期需要进行的前导性工作,其结果可以作为一个高层框架被用于软件需

11、求分析过程之中,以方便今后软件规格定义工作的顺利开展。 用户调查是最基本的用户需求信息收集方法。 比较常用的调查方法包括: 访谈用户、开座谈会、问卷调查、 跟班作业、收集用户资料。 概要设计中的主要任务: 制定规范、系统构架设计、软件结构设计、公共数据结构设计、安全性设计、故障处理设计、可维护性设计、编写文档、设计评审。 Web服务器的作用是将信息表示集中到了专门的“Web服务器”上,因此可使客户端程序更加简化。客户机上已经不需要专门的应用程序,只需要有一个通用的Web浏览器,就可以实现客户端数据的应用。 概要设计中的模块是一个抽象化的功能黑盒子,虽然它已是一个与软件实现直接相关的实体单元,已

12、经可以看到它清晰的外观,但是却看不到内部实现细节。模块抽象化的作用是有利于模块功能得到更加清晰的定义,可提高模块的内聚。 信息隐蔽是指每个模块的内部实现细节对于其他模块来说是隐蔽的,模块内部的数据、语句或过程等,不允许其他不需要这些信息的模块使用。 信息隐蔽的作用是使每个模块相互隔离,提高模块独立性。 界面设计中需要考虑: (1)用户工作环境与工作习惯 (2)用户操作定势 (3)界面一致性 (4)界面动作感 (5)界面信息反馈 (6)个性化 (7)容错性 (8)审美性与可用性。 提高可维护性的软件开发和程序设计技术: (1)使用数据库管理系统、软件开发环境、程序自动生成系统、较高级的语言。 (2)利用应用软件包,可开发出比由用户完全自己已开发的系统可靠性更高的软件。 (3)使用结构化技术,用它开发的软件易于理解和测试。 (4)防错性程序设计。把自检能力引入程序,通过非正常状态的检查,提供审查跟踪。 (5)在配置管理时,把硬件、操作系统和其它环境的可能变化考虑在内,可以减少某些工作量。 (6)把与硬件、操作系统,以及其它外围设备有关的程序归到特定的程序模块中。可把因环境变化而必须修改的程序局部于某些程序模块之中。 (7)使用内部程序列表、外部文件,以及处理的例行程序包。 白盒测试的覆盖标准: (1) 语句覆盖 (2) 判定覆盖 (3) 条件覆盖 (4)

温馨提示

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

评论

0/150

提交评论