- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)