软件工程习题课1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一软件与软件工程
一、选择题
1. 软件的主要特性是()。
A) 无形 B) 高成本
C) 包括程序和文档 D) 可独立构成计算机系统
2. 软件工程三要素是()。
A) 技术、方法和工具 B) 方法、工具和过程
C) 继承、对象和类 D) 过程、模型、方法
3. 包含风险分析的软件工程模型是 ( )。
A) 螺旋模型 B) 瀑布模型 C) 增量模型 D) 喷泉模型
4. 软件危机的主要表现是 ( )。
A) 软件功能太多 B) 软件产品的质量低劣
C) 软件开发人员明显不足 D) 软件生产率低下
5. 下列哪些是软件过程模型 ( )
A) 螺旋模型 B) 循环模型 C) 瀑布模型 D) 专家模型
6. 软件工程的目标有 ( )。
A) 易于维护 B) 低的开发成本
C) 高性能 D) 短的开发期
7. 软件工程定义是 ( )。
A) 应用科学的方法和工程化的方法管理和指导软件开发
B) 克服软件危机
C) 作好软件开发的培训工作
D) 以较低的成本开发出高质量的软件
二、 判断题
1. 软件就是程序,编写软件就是编写程序。( )
2. 瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。( )
3. 传统开发方法的工作模型就是螺旋模型模型。( )
4. 面向对象的开发方法包括面向对象的分析、面向对象的设计和面向
对象的程序设计。( )
5. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。( )
6. 软件工具的作用是为了延长软件产品的寿命。( )
7. 软件过程应该以软件设计为中心,关键是编写程序。( )
三、 简答题
1.什么是软件危机?其产生的原因是什么?
2什么是软件生存周期模型?它有哪些主要模型?这些模型的主要使用场合是什么?
3.软件生命期各阶段的任务是什么?
二需求分析
一、选择题
1、在结构化分析方法中,( )表达系统内部数据运动的图形化技术。
A、数据字典
B、实体关系图
C、数据流图
D、状态转换图
2、需求分析最终结果是产生( )
A、项目开发计划
B、需求规格说明书
C、设计说明书
D、可行性分析报告
3、DFD中的每个加工至少需要( )
A、一个输入流
B、一个输出流
C、一个输入或输出流
D、一个输入流和一个输出流
4、在各种不同的软件需求中,( )描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。
A、业务需求
B、功能需求
C、非功能需求
D、用户需求
5、需求分析的主要目的是( )
A、系统开发的具体方案
B、进一步确定系统是否值得开发
C、解决系统是“做什么的问题”
D、解决系统是“怎么做的问题”
6、需求分析的主要方法有( )
A、形式化分析方法
B、PAD图描述
C、结构化分析(SA)
D、OOA法
7、画分层图的基本原则有( )
A、数据守恒原则
B、分解的可靠性原则
C、子、父图平衡的原则
D、数据流封闭的原则
二、判断题
1、模型是对现实的简化,建模是为了更好地理解所开发的系统。
2、在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么。
3、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。
4、软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。
5、需求规格说明书的作用不包括用户与开发人员对软件要做什么的共同理解。
三、简答题
1.M公司的软件产品以开发实验型的新软件为主。用瀑布模型进行软件开发已经有近十年了,并取得了一些成功。若你作为一名管理员刚加入M公司,你认为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告阐明你的理由,切记:副总裁不喜欢报告长度超过一页(B5)。
2. 针对“高校学生学籍成绩管理系统”至少列出六项系统需求。
3.如何画分层数据流图?
4.银行计算机储蓄系统储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并打印利息清单给储户。
用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象。
三软件设计
一、选择题
1.模块的基本特征是()
A、外部特征(输入/输出、功能)
B、内部特征(输入/输出、功能)
C、内部特征(局部数据、代码)
D、外部特征(局部数据、代码)
2.SD方法的设计总则是()
A、程序简洁、操作方便
B、结构清晰、合理
C、模块内聚性强
D、模块之间耦合度低
3.软件设计的主要任务是()
A、将分析阶段获得的需求说明转换为计算机中可实现的系统
B、完成系统的数据结构和程序结构设计
C、完成模块的编码和测试
D、对模块内部的过程进行设计
4.设计阶段应达到的目标有()
A、提高可靠性和可维护性;
B、提高应用范围;
C、结构清晰;
D、提高可理解性和效率
5.从工程管理的角度来看,软件设计分两步完成()
A、1、系统分析2、模块设计
B、1、详细设计2、总体设计
C、1、模块设计2、详细设计
D、1、总体设计2、详细设计
6.模块独立性准则由以下定性指标来衡量()
A、分解度 B、耦合度
C、屏蔽性 D、内聚性
二、判断题
1.划分模块可以降低软件的复杂度和工作量,所以应该将模块分得越小越好
2.在网状结构中任何两个模块都是平等的,没有从属关系,所以在软件开发过程中常常被使用
3.信息隐蔽原则有利于提高模块的内聚性
4.中心变换型的DFD图可看成是对输入数据进行转换而得到输出数据的处理,因此可以使用事务分析技术得到初始的模块结构图
三、简答题