3) 完全性 4) 可验证性
38、常用的软件项目的估算方法主要有哪4种? 答:
1) 自顶向下的估算方法 2) 自底向上的估算方法 3) 差别估算法
4) 根据经验估算公式
39、原型法模型一般适应哪些场合? 答:
它适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况。
40、简答结构化程序设计的内容。 答:
是程序设计技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制构件。 41、瀑布模型一般适应哪些场合? 答:
瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。例如操作系统、编译系统、数据库管理系统等系统软件的开发。应用有一定的局限性。 41、软件在使用过程中维护有哪几种? 答:
1)纠错性维护 2)完善性维护 3)适应性维护 4)预防性维护
42、Coad/Yourdon面向对象的方法除了包含识别对象外还包括哪4个步骤? 答:
? 标识对象的属性 ? 标识对象的行为 ? 识别对象所属的类 ? 定义主题词
43、Jackson系统开发方法其核心思想是什么? 答:
根据作用于数据的行为序列的结构(顺序、选择、重复),建立目标软件系统的模型,然后在软件设计阶段将模型转换为相应的程序结构。
44、设计人机界面,必须考虑哪四个方面。 答:
系统的响应时间;
用户求助机制; 错误信息处理; 命令方式。
45、什么是测试用例? 答:
为了进行有效的测试而设计的输入数据和预期的输出结果数据。
46、计算机软件 答:
与计算机系统操作有关的程序、规程、 规则及任何与之有关的文档和数据。
47、需求分析的任务是什么? 答:
需求分析的任务是确定待开发的软件系统“做什么”。具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册。
48、软件项目的成本管理 答:
估算软件项目的成本,作为立项和签合同的依据之一,并在软件开发过程中按计划管理经费的使用。
49、快速原型技术的基本思想是什么? 答:
在软件开发的早期,快速开发一个目标软件系统的原型,让用户对其进行评价并提出修改意见,然后开发人员根据用户的意见对原型进行改进。
50、程序设计语言有哪些特点? 答:
1)一致性 2)二义性 3)紧致性 4)局部性
52、软件危机 答:
是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。0101
53、软件项目的质量管理 答:
制定软件质量保证计划,按照质量评价体系控制软件质量要素,对阶段性的软件产品进行评审,对最终软件产品进行确认,确保软件质量。
54、好的编程风格应遵循哪四条规则? 答:
1)节简化 2)模块化 3)简单化 4)文档化
55、软件测试中按照错误的性质和范围进行分类可分为:“功能错误”及其它哪些错误? 答:
? 系统错误
? 加工错误(算法错误) ? 数据错误 ? 代码错误
57、简述软件工程目标和面临的主要问题。 答:
软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。包括:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。 面临的主要问题是:软件费用 软件可靠性 软件维护 软件生产率 软件重用。
58、构化程序设计方法的基本要点。 答:
(1)采用自顶向下,逐步求精的程序设计方法。
(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环 (3)采用主程序员组的组织形式。
59、档在软件工程中的作用。 答:
(1)提高软件开发过程的能见度 (2)提高开发效率
(3)作为开发人员阶段工作成果和结束标志 (4)记录开发过程的有关信息便于使用与维护; (5)提供软件运行、维护和培训有关资料; (6)便于用户了解软件功能、性能
60、.Myers的观点,简述对软件测试的目的 答:
(1)为了发现错误而执行程序的过程;
(2)一个好的用例能够发现至今尚未发现的错误的测试。 (3)一个成功的测试是发现至今尚未发现的错误的测试。 61、软件产品具有哪些特性? 答:
①软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。②软件是通过人们的智力活动,把知识与技术转化成信息的一种产品,是在研制、开发中被创 造出来的。③在
软件的运行和使用期间,没有硬件那样的机械磨损、老化问题。④软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖 性。⑤软件的开发至今尚未完全摆脱手工的开发方式。⑥软件的开发费用越来越高,成本相当昂贵。 62、什么是耦合?什么是内聚? 答:
耦合是对一个软件结构内各个模块之间互连程度的度量。
内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然 扩展。
63、为什么软件测试不应该由程序的编写人员来做? 答:
软件测试的目的是为了发现程序中的错误而执行程序的过程。
正确认识测试的目标是十分重要的,测试目标决定了测试力案的设计。如果为了表明程序是正确的而进行测试,就会设计一些不易暴露错误的测试方案;相反,如果测试是为了发现程序中的错误,就会力求设计出最能暴露错误的测试方案。
由于测试的目标是暴露程序中的错误,从心理学角度看,由程序的编写者自己进行测试是不恰当的。
64、什么是编码风格?为什么要强调编码风格? 答:
编码风格又称程序设计风格或编程风格。
编码的目标从强调效率转变为强调清晰。良好的编码风格能在一定程度上弥补语言存在的缺陷,而如果不注意风格就很难写出高质量的程序。尤其当多个程序员合作编 写一个很大的程序时,需要强凋良好而一致的编码风格,以便相互通讯,减少因不协调而引起的问题。总之,良好的编码风格有助于编写出可靠而又容易维护的程 序,编码的风格在很大程度上决定着程序的质量。 65、请简述编码原则 答:
1)编写易于修改和维护的代码 2)编写易于测试的代码 3)编写详细的程序文档
4)编程中采用统一的标准和约定,降低程序的复杂性 5)分离功能独立的代码块形成新的模块
66、就程序设计语言的工程特性而言,对程序编码有哪些要求? 答:
就程序设计语言的工程特性而言,对程序编码有如下要求: (1)可移植性
(2)开发工具的可利用性 (3)软件的可重用性 (4)可维护性
68、简述容错技术的四种主要手段,并解释。 答:
? 结构冗余:包括静态冗余、动态冗余和混合冗余。
? 信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。 ? 时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。 ? 冗余附加技术:指为实现上述冗余技术所需的资源和技术。
应用题
1、画出银行取款过程的DFD 图。问题描述为:储户用存折取款,首先填写取款单,
根据“ 账卡”中的信息检验取款单与存折,如有问题,将问题反馈给储户,否则,登录“储 户存款 数据库”,修改相应数据,并更新“账卡”,同时发出付款通知,出纳向储户付款。 解:
2、某旅馆的电话服务如下:
可以拨分机号和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,552中任意一个号码。分局号是任意长度为4的数字串。
要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。 解:
电话号码=分机号|外线号码 分机号=7201...7299
外线号码=9+[市话号码|长话号码] 长话号码=区号+市话号码 区号=100...300
市话号码=局号+分局号
局号=[455|466|888|552] 分局号=4{数字}4
3、选择语言时要考虑的因素有:项目的应用领域、项目中算法、计算的复杂性和其余哪些内容?
答: