A卷
1、瀑布模型把软件生命周期划分为8个阶段:问题的定义、可行性研究、软件需求分析、系统
总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( 运行阶段 )。
2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,( 需求分析阶段 )出错,对软件
的影响最大。
3、在结构化的瀑布模型中,(需求分析阶段)定义的标准将成为软件测试中的系统测试阶段的
目标。
4、软件工程的出现主要是由于(软件危机的出现)。
5软件工程方法学的目的:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是
软件开发工具和软件开发的环境。
6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系
表现为相互补充。
7、UML是软件开发中的一个重要工具,它主要应用于基于对象的( 面向对象 )的方法。
8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高( 原型化方法 )。 9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(数据流)。 10、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般
认为可能占用人员最多的阶段是( 编码阶段 )。
11、软件开发模型是指软件开发的全部过程、活动和任务的结构框架。主要的开发模型有瀑布
模型、演化模型、螺旋模型、喷泉模型和智能模型。螺旋模型将瀑布模型和演化模型相结合,并增加了(风险分析),它建立在()的基础上,沿着螺线自内向外每旋转一圈,就得到(原型)的一个新版本。喷泉模型描述了(面向对象)的开发模型,它体现了这种开发方法创建软件的过程所固有的(递归)和(开发各阶段之间无“间隙”)的特征。 12、以下不属于白盒测试技术的是(等价类划分)。
13、为改正软件系统中潜藏的错误而进行的维护活动称为(纠错性维护 )。
14、保证软件质量的手段有复审、复查、管理复审和测试等。其中复审发生在软件生命周期的
(每个阶段结束之前 )。
15、完整的系统设计应包括( 计算机系统设计、应用软件设计、数据库设计和网络设计 )。 16、在信息系统的物理模型中,表示系统各个物理组成部分之间的数据流动情况的工具是(系
统流程图 )。
二、填空题(每题1分,共10分)
1、系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种
元素之间的( 信息流动)情况。
2、成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。
3、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和(宽度优先策
略) 。
4、在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。
5、详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。 6、所有软件维护申请报告要按规定方式提出,该报告也称(软件问题)报告。
7、独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路
径是至少包含有一条(在其他独立路径中未有过)的边的路径。 8、设计任何一个人机界面,一般必须考虑(系统响应时间)、用户帮助机制、错误信息处理和
命令方式四个方面。
9、在软件测试中,已知产品内部工作过程,通过测试检验产品内部动作是否按照产品规格说明
的规定正常进行的方法称为(白盒)测试法。 10、(耦合度)是对软件结构中模快间关联程度的一种度量。 三、判断题(每题1分,共10分)
1. 缺乏有力的方法学的指导和有效的开发工具的支持, 这往往是产生软件危机的原因之一。
( T )
2. 一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。( F ) 3. 在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手
资料,并从中提取出有价值的需求。( F )
4. 快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些
复杂的算法等场合。( T )
5. 流程图也称为程序框图是最常用的一种表示法。( T )
6. 面向数据设计方法一般都包括下列任务: 确定数据结构特征;用顺序、选择和重复三种基
本形式表示数据等步骤。( T )
7. 理想的人机界面应针对具有典型个性的特定的一类用户设计。( T ) 8. 数据输入的一般准则中包括尽量增加用户输入的动作。( F ) 9. 用穷举测试是较现实的测试方法。( F )
10、在软件维护过程中改善性维护是为适应环境的变化而修改软件的活动。( T ) 四、论述题
1、软件维护是软件生命周期的重要组成,而影响维护的因素较多,除了人员因素、技术因素和
管理因素外,还有程序自身的因素,具体影响因素可归纳为:a) 软件系统的规模; b) 软件系统的年龄;c) 软件系统的结构。
1) 给出上述三项因素的解释,阐述“规模”、“年龄”和“结构”的具体含义。(5分) 答:系统的规模。指软件系统规模的大小,系统规模越大,维护困难越大。
系统的年龄。系统运行时间越长,可能经过多次修改,从而造成维护的困难。 系统的结构。系统结构合理与否,会给维护带来困难。
2) 扼要分析影响维护工作量的因素,即分析可能增加维护工作量的因素和可能减少维护工作量的因素。(5分) 答:(1)增加维护工作量的因素有:软件系统的年龄和规模、结构合理性、程序复杂性、用户
的数量、应用的变化和文档的质量。
(2)减少维护工作量的因素有:结构化技术的使用、自动化工具的使用、数据库技术应用、高性能软件使用、新的软件技术的应用。 3) 简单传述软件可维护性度量的含义。(5分)
答:可维护性度量表示软件系统维护工作的强度或维护工作量的大小。人们为了度量可维护性,
常将可维护性度量问题分解为对:可测试性、可理解性、可修改性、可移植性、可靠性、有效性和可用性的度量。
2、可行性研究报告的主要内容有哪些?(5分) 3、系统设计的内容是什么?(10分)
五、综合题(10分)某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一
个计算机辅助企业管理系统,其中: 生产科的任务是:
(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计
划。
(2)根据车间实际生产日报表、周报表调整月生产计划
2
(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。 (4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间 技术科的任务是:
(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。
(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件
厂。
试写出以上系统中生产科和技术科处理的软件结构图。
软件工程试题A答案
一、选择题
1.C 2.C 3.A 4.C 5.C 6.B 7.C 8.B 9.B 10.C 11.⑴B⑵D⑶A⑷D⑸A 12、D 13、A 14、A 15、C 16、D
二、填空题 1、信息流动 2、经济
3、宽度优先策略
4、中间数据结构或中间文件 5、使用的数据 6、软件问题
7、在其他独立路径中未有过 8、系统响应时间 9、白盒测试法 10、耦合度 三、判断题
1、√ 2、X 3、√ 4、√ 5、√ 6、√ 7、√ 8、X 9、X 10、X
四、论述题
1、系统的规模。指软件系统规模的大小,系统规模越大,维护困难越大。
系统的年龄。系统运行时间越长,可能经过多次修改,从而造成维护的困难。 系统的结构。系统结构合理与否,会给维护带来困难。 、增加维护工作量的因素有:
软件系统的年龄和规模、结构合理性、程序复杂性、用户的数量、应用的变化和文档的质量。
减少维护工作量的因素有:
结构化技术的使用、自动化工具的使用、数据库技术应用、高性能软件使用、新的软件技术的应用。
、可维护性度量表示软件系统维护工作的强度或维护工作量的大小。人们为了度量可
3
维护性,常将可维护性度量问题分解为对:可测试性、可理解性、可修改性、可移植性、可靠性、有效性和可用性的度量。 2、个可行性研究报告的主要内容如下:
(1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考资料。
(2)可行性研究前提:可行性研究前提。说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。
(3)对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。 (4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。
(5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。
(6)社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人员素质的要求。 (7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。 (8)结论意见:说明项目是否能开发;还需要什么条件才能开发;对项目目标有什么变动等。
3、系统设计阶段先从高层入手,然后细化。系统设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。
(1)系统分解。系统中主要的组成部分称为子系统,子系统既不是一个对象也不是一个功能,而是类、关联、操作、时间和约束的集合。每次分解的各子系统数目不能太多,最底层子系统称为模块。
(2)确定并发性。分析模型、现实世界及硬件中不少对象均是并发的。系统设计的一个重要目标就是确定哪些是必须同时动作的对象,哪些不是同时动作的对象。后者可以放在一起,而综合成单个控制线或任务。
(3)处理器及任务分配。各并发子系统必须分配给单个硬件单元,要么是一个一般的处理器,要么是一个具体的功能单元,必须完成下面的工作:估计性能要求和资源需求,选择实现子系统的硬软件,将软件子系统分配给各处理器以满足性能要求和极小化处理器之间的通信,决定实现各子系统的各物理单元的连接。
4
(4)数据存储管理。系统中的内部数据和外部数据的存储管理是一项重要的任务。通常各数据存储可以将数据结构、文件、数据库组合在一起,不同数据存储要在费用、访问时间、容量以及可靠性之间做折中考虑。
(5)全局资源的处理。必须确定全局资源,并且制定访问全局资源的策略。全局资源包括:物理资源,如处理器、驱动器等;空间,如盘空间、工作站屏等;逻辑名字,如对象标识符、类名、文件名等。
如果资源是物理对象,则可以通过建立协议实现对并发系统的访问,以达到自身控制;如果资源是逻辑实体,如对象标识符,那么在共享环境中有冲突访问的可能,如独立的事务可能同时使用同一个对象标识符,则各个全局资源都必须有一个保护对象,由保护对象来控制对该资源的访问。
(6)选择软件控制机制。分析模型中所有交互行为都表示为对象之间的事件。系统设计必须从多种方法中选择某种方法来实现软件的控制。
(7)人机交互接口设计。设计中的大部分工作都与稳定的状态行为有关,但必须考虑用户使用系统的交互接口。 五、综合题
5