软件工程第11章
- 格式:ppt
- 大小:213.50 KB
- 文档页数:36


红岩第11章主要内容
在软件工程中,软件是指计算机程序和相关数据的集合。它是通过对问题进行建模和分析,设计解决方案并实施的过程中产生的。软件工程是一门跨学科的学科,涉及计算机科学、数学、工程学和管理学等多个领域。
软件工程的目标是开发高质量、可靠、易维护和可扩展的软件系统。为了实现这些目标,软件工程采用了一系列有效的方法和技术,并遵循一定的开发过程。软件工程的主要任务包括需求分析、系统设计、编码、测试和维护等。
需求分析是软件工程的第一步,它的目标是明确用户的需求和期望。在这个阶段,软件工程师与用户进行沟通,收集并分析用户的需求,制定软件的功能和性能要求。需求分析的结果是需求规格说明书,它描述了软件系统的功能和性能要求。
系统设计是软件工程的第二步,它的目标是将需求规格转化为软件系统的结构和组织。在这个阶段,软件工程师设计软件系统的架构,确定模块和组件的接口,定义数据结构和算法。系统设计的结果是设计文档,它描述了软件系统的结构和组织。
编码是软件工程的第三步,它的目标是将系统设计转化为可执行的程序代码。在这个阶段,软件工程师根据设计文档编写程序代码,并进行测试和调试。编码的结果是可执行的程序代码,它实现了软件系统的功能和性能要求。
测试是软件工程的第四步,它的目标是验证软件系统是否符合需求规格。在这个阶段,软件工程师设计测试用例,并运行这些测试用例来检查软件系统的功能和性能。测试的结果是测试报告,它描述了软件系统的缺陷和问题。
维护是软件工程的最后一步,它的目标是修复软件系统中的缺陷和问题,并进行改进和优化。在这个阶段,软件工程师对软件系统进行故障排除,并进行性能调优和功能扩展。维护的结果是修复和改进后的软件系统,它能够满足用户的需求和期望。
除了上述的主要任务,软件工程还涉及项目管理、质量保证、配置管理和文档管理等方面。项目管理是为了确保软件工程的进度和质量,质量保证是为了确保软件系统的质量和可靠性,配置管理是为了控制软件系统的变更,文档管理是为了记录和传播软件工程的知识和经验。
第一章测试
1. 软件没有相应的文档,且最终不能满足用户要求是软件危机的一种表现。( )
A:错
B:对
答案:B
2. 软件本身的不可见性和复杂性随规模的增加呈指数上升是产生软件危机的主要原因。( )
A:错
B:对
答案:A
3. 开发软件就是写程序。( )
A:错
B:对
答案:A
4. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称( )。
A:软件危机
B:软件工程
C:软件产生
D:软件周期
答案:A
5. 以下对软件工程描述正确地是( )。
A:结合最好的技术方法。
B:经济地开发出高质量的软件并有效地维护它。
C:一门工程学科。
D:采用经过时间考验而证明正确的管理技术。
答案:ABCD
6. 软件生命周期中所花费费用最多的阶段是( )。
A:需求分析。
B:软件总体设计。
C:软件实现。
D:软件维护。
答案:D
7. 软件是( )。
A:计算机系统。
B:处理对象和处理规则的描述。
C:程序。
D:程序、数据及其文档的集合。
答案:D 8. 同螺旋模型相比,原型模型主要缺少( )。
A:客户评估
B:制定计划
C:风险分析
D:实施工程
答案:C
9. 在软件生存周期模型中,不适应变化需求的软件开发模型是( )。
A:原型模型
B:瀑布模型
C:螺旋模型
D:增量模型
答案:B
10. 针对高质量软件的生产的软件过程模型( )。
A:RUP模型
B:基于构件的模型
C:净室模型
D:增量模型
答案:C
第二章测试
1. 可行性研究的技术可行性是指现有技术是否可行。( )
A:对
B:错
答案:A
2. 可行性研究的成本效益分析是从经济方面讨论是否可行。( )
A:对
B:错
答案:A
3. 可行性分析研究的目的是( )。
A:功能内聚
B:项目值得开发否
C:开发项目
D:争取项目
答案:B
4. 描绘物理系统的传统工具是( )。
A:程序流程图
B:系统流程图
1.如果要开发“图书馆管理信息系统”,你认为采用什么开发模型比较合适?请说明理由。
答:开发“图书馆管理信息系统”采用瀑布模型比较合适。因为瀑布模型在开发过程中各阶段非常清晰,便于评审、跟踪、管理和控制,并且“图书馆管理信息系统”也基本符合瀑布模型的条件:
(1)“图书馆管理信息系统”在开发过程中需求变化很少。
(2)分析和设计人员对“图书馆管理信息系统”比较熟悉。
(3)“图书馆管理信息系统”是低风险项目。
(4)“图书馆管理信息系统”的用户使用环境比较稳定。
(5)“图书馆管理信息系统”的用户除提出需求以外,很少参与开发工作。
2.简述结构化程序设计方法的基本要点。
(1)采用自顶向下,逐步求精的程序设计方法。
(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环
(3)采用主程序员组的组织形式。
3.下图中,模块G为判定,判断涉及到模块B、F、G,请指出设计中的错误,再根据改进模块图的基本原则,画出1~2 个改进方案(不改变模块G 的判断关系),并说明是按照哪条基本原则进行改进的。
解:下图为一个改进方案,将模块G的位置提高,使其作用范围为控制范围的子集,减少模块之间的联系。
4.根据下列条件使用等价类划分法设计测试用例。
某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065。
用等价划分法:
(1)划分等价类并编号,如表1 表1 八进制常量输入条件的等价类
输入条件 合理等价类 不合理等价类
八进制整数 1.2—4位以0打头的数字串
2.以-0打头的3—5位数字串 3.以非0非-打头的串
4.0打头含有非数字字符的串
5.以-0打头含有非数字字符的串
6.多于5个字符
7.-后非0的多位串
8.-后有非数字字符
9.后多于4个数字
八进制
数范围 10.在-177—177之间 11.小于-177
12.大于177
(2)为合理等价类设计测试用例。表2中有两个合理等价类,设计两个例子。
软件工程导论复习笔记
软件工程导论复习笔记
简答题:
1.什么是软件?
答:软件是:
(1)指令的集合(计算机程序),通过执行这些指令可以满足预期的特征、功能和性能需求。
(2)数据结构,使得程序可以合理利用信息。
(3)软件描述信息,它以硬拷贝和虚拟形式存在,用来描述程序操作和使用。
2.How do software characteristics differ from hardware
characteristics?
软件的特性是如何不同硬件的特性?
答:(1)软件是设计开发的,而不是传统意义上生产制造的(2)软件不会磨损,但会退化
(3)虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据实际的顾客需求定制的
3.What do people mean by the expression "software crisis"?
人们是怎样理解“软件危机”这个短语的?
答:软件危机主要表现在两个方面:
(1)无法满足日益增长的对软件的需求。
(2)难以满足对已有的软件系统的维护需求。
软件危机出现的原因:
(1)由于软件生产本身存在着复杂性
(2)与软件开发所使用的方法和技术有关
“软件工程”的概念用工程化的思想来克服软件危机。
4.What myths about software still exist ?
软件仍然存在着什么神话?
答:管理者的神话;用户的神话;开发者的神话。 简答题:
1.What are the three generic phases of software engineering?
软件工程的三个一般的阶段是?
答:定义阶段、开发阶段、维护阶段
(软件生存周期的三个阶段:软件定义、软件开发、软件维护)
2.What are the names of the five levels of the SEI Capability
Maturity Model?