软件工程复习资料整理.pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程复习资料 一、问答题: 1、什么是计算机软件,它有哪些特点? 2、试说明“软件生存周期”的概念。 3、软件工程学的基本原则有哪些?试说明其中信息隐蔽的具体含义。 4、举例说明你对概要设计与详细设计的理解。有不需要概要设计的情况吗? 5、软件测试阶段,使用各种测试方法的综合策略是什么? 答: 1、 什么是计算机软件,它有哪些特点? 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档 的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能 正常操纵信息的数据结构;文档是与程序开发,维护和使用有关的图文材料。 软件的特点是: (1) 软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性。 (2) 软件的生产与硬件不同,它没有明显的制造过程。对软件的质量控制,必须着重在 软件开发方面下功夫。 (3) 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。 (4) 软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖 性。为了解除这种依赖性,在软件开发中提出了软件移植的问题。 (5) 软件的开发至今尚未完全摆脱手工艺的开发方式。 (6) 软件本身是复杂的。软件的复杂性可能来自它所反映的实际问题的复杂性,也可能 来自程序逻辑结构的复杂性。 (7) 软件成本相当昂贵。软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动, 它的成本是比较高的。 (8) 相当多的软件工作涉及到社会因素。许多软件的开发和运行涉及机构、体制及管理 方式等问题,甚至涉及到人的观念和人们的心理。它直接影响到项目的成败。 2、试说明“软件生存周期”的概念。 软件与任何一个事物一样,有它的孕育、诞生、成长、成熟、衰亡的生存过程。这就是软件 6 的生存周期。它主要分为 个阶段:软件项目计划、软件需求分析和定义、软件设计、程序 编码、软件测试,以及运行维护。 (1) 软件项目计划 :在这一步要确定软件工作范围,进行软件风险分析,预计软件开 发所需要的资源,建立成本与进度的估算。根据有关成本与进度的限制分析项目的可行性。 (2) 软件需求分析和定义 :在这一步详细定义分配给软件的系统元素。可以用以下两 种方式中的一种对需求进行分析和定义。一种是正式的信息域分析,可用于建立信息流和信 息结构的模型,然后逐渐扩充这些模型成为软件的规格说 。另一种是软件原型化方法,即 建立软件原型,并由用户进行评价,从而确定软件需求。 (3) 软件设计 :软件的设计过程分两步走。第一步进行概要设计,以结构设计和数据 设计开始,建立程序的模块结构,定义接口并建立数据结构。此外,要使用一些设计准则来 判断软件的质量。第二步做详细设计,考虑设计每一个模块部件的过程描述。经过评审后, 把每一个加细的过程性描述加到设计规格说明中去。 (4) 程序编码 :在设计完成之后,用一种适当的程序设计语言或 CASE 工具生成源程 序。应当就风格及清晰性对代码进行评审,而且反过来应能直接追溯到详细设计描述。 第 1 页第 1 页 软件工程复习资料 (5) 软件测试 :单元测试检查每一单独的模块部件的功能和性能。组装测试提供了构 造软件模块结构的手段,同时测试其功能和接口。确认测试检查所有的需求是否都得到满足。 在每一个测试步骤之后,要进行调试,以诊断和纠正软件的故障。 (6) 软件维护 :为改正错误,适应环境变化及功能增强而进行的一系列修改活动。与 软件维护相关联的那些任务依赖于所要实施的维护的类型。 3、软件工程学的基本原则有哪些?试说明其中信息隐蔽的具体含义。答: 抽象 ·信息隐蔽 ·模块化·局部化 ·确定性 ·一致性·完备性 ·可验证性 。 信息隐蔽 : 遵循信息封装,使用与实现分离的原则,将模块设计成 “黑箱”,可以将 实现的细节隐藏在模块内部,使用者只能通过模块接口访问模块中封装的数据。 4、 说明你对概要设计与详细设计的理解。有不需要概要设计的情况吗? 软件设计是一个把软件需求变换成软件表示的过程。最初这种表示只是描绘出软件的总 的框架,然后进一步细化,在

文档评论(0)

小蜗牛 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档