1. 什么是软件工程?它目标和内容是什么?
软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。
软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。 软件工程内容:包括开发技术和开发管理两个方面。
2. 软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发?
软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。 其中喷泉模型、统一软件过程适用于面向对象的软件开发。
3.好的编程风格应遵循哪些规则
节简化 模块化 简单化 文档化**
4. 简述软件概要设计的基本任务
设计软件系统结构 进行数据结构及数据库的设计 编写概要设计的文档 评审**
5. 一个PDL的原型,它可以建立在任意一个通用的结构化程序设计语言之上。其基本成分包括:子程序定义和其它那些内容?
界面描述 数据说明 块结构 分支结构 循环结构
6. 衡量模块独立性的两个标准是什么?各表示什么含义?
内聚和耦合。 内聚:又称为块内联系,指模块内部各成分之间相互关联的程
度,以高内聚为设计目标。
耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独
立性越差,以低耦合为设计目标。
7. 简述需求分析阶段的基本任务。
⑴问题识别 ⑵分析与综合,导出软件的逻辑模型 ⑶编写文档
8. 单元测试有哪些内容?
(1)模块接口
(2)局部数据结构
(3)重要的执行路径
(4)错误处理测试
(5)边界条件
9. 软件测试中按照错误的性质和范围进行分类可分为:“功能错误”及其它哪些错误?
- 系统错误 2) 算法错误 3) 数据错误 4) 代码错误
10. 请简述黑盒测试和白盒测试有何区别,黑盒测试有哪些常用方法?
黑盒测试和白盒测试的区别:前者基于功能,后者基于结构;
黑盒测试常用方法有:边界值、等价类、因果图、错误推测法等。
11. CMM全称是什么?分为哪几个级别?
. CMM全称是软件能力成熟度模型; 从无序到有序的进化分成5个级别,分别为: 初始级 ,可重复级 ,已定义级 ,已管理 ,优化管理级
12. 软件生命周期划分为哪几个阶段?
软件生命周期分为三个时期八个阶段:软件定义:问题定义、可行性研究;
软件开发:需求分析、概要设计、详细设计、编码、测试;
软件运行:软件维护
13. 简述软件工程面临的问题。
面临的主要问题:①软件费用 ②软件可靠性 ③软件维护 ④软件生产率 ⑤软件重用
14. 简述容错技术的四种主要手段,并解释。
(1)结构冗余:包括静态冗余、动态冗余和混合冗余。
(2)信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。
(3)时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。
(4)冗余附加技术:指为实现上述冗余技术所需的资源和技术。
15. 以G.J.Myers的观点,简述对软件测试的目的。
(1)为了发现错误而执行程序的过程;
(2)一个好的用例能够发现至今尚未发现的错误的测试。
(3)一个成功的测试是发现至今尚未发现的错误的测试。
16. 就程序设计语言的工程特性而言,对程序编码有哪些要求?
就程序设计语言的工程特性而言,对程序编码有如下要求:可移植性 、开发工具的可利用性 、软件的可重用性 、可维护性
17. 模块的内聚性包括哪些类型?
模块的内聚性包括:偶然内聚 、逻辑内聚 、时间内聚 、通信内聚 、顺序内聚 、功能内聚 。
18. 简述结构化程序设计方法的基本要点。
. (1)采用自顶向下,逐步求精的程序设计方法; (2)使用三种基本控制结构构造
程序,分别是顺序,选择和循环 ; (3)采用主程序员组的组织形式。
19. 简述文档在软件工程中的作用。
1)提高软件开发过程的能见度 (2)提高开发效率 (3)作为开发人员阶段工作成果和结束标志 (4)记录开发过程的有关信息便于使用与维护; (5)提供软件运行、维护和培训有关资料; (6)便于用户了解软件功能、性能。
20. 简述提高可维护性的方法。
. (1)建立明确的软件质量目标 (2)利用先进的软件开发技术和工具 (3)建
立明确的质量保证工作 (4)选择可维护的程序设计语言 (5)改进程序文档
21. 软件工程面临的主要问题有哪些?
. 软件费用 、软件可靠性 、软件可维护 、软件生产率 、软件重
用 。
22. 软件配置管理的作用及其主要目标是什么?
软件配置管理用于整个软件工程过程。 其目的是协调整个软件的开发,使得混乱减少到最小程度,使得变更所产生的错误达到最小并最有效地提高生产率。 它的主要目标是:标识变更、控制变更、确保变更的正确实现、报告有关变更。
23. 简述结构化分析步骤。
(1)了解当前系统的工作流程,获得当前系统的物理模型; (2)抽象出当前系统的逻辑模型; (3)建立目标系统的逻辑模型; (4)作进一步补充和优化。
24. 软件工程的原则有抽象、信息隐藏、模块化和其他那些内容?
(1)局部化;(2)一致性; (3)完全性; (4)可验证性
25. 常用的软件项目的估算方法主要有哪4种?
1)自顶向下的估算方法 2)自底向上的估算方法 3)差别估算法 4)根据经验估算公式
26.软件生存周期包括哪几个活动?
. 软件生存周期包括:可行性分析和项目开发计划 ,需求分析 ,概要设计
,详细设计 ,编码 ,测试,维护 。
27. 人机界面设计过程可分为创建系统功能的外部模型;确定为完成此系统功能人和计算机应分别完成的任务及另外哪4个步骤?
1)考虑界面设计中的典型问题 2)借助CASE工具构造界面原型
3)实现设计模型 4)评估界面质量
28. 软件测试过程一般可划分为哪几个主要阶段?
单元测试 集成测试 验收测试 系统测试
29. 原型法模型一般适应哪些场合?
它适合于那些不能预先确切定义需求的软件系统的开发 ,更适合于那些项目组
成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况
30. 需求分析的任务是什么?
需求分析的任务是确定待开发的软件系统“做什么”。 具体任务包括确定软件系
统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验
收测试准则和初步的用户手册。
31. 简述软件项目的成本管理。
. 是估算软件项目的成本 ,作为立项和签合同的依据之一 ,并在软件开发
过程中按计划管理经费的使用
32. 快速原型技术的基本思想是什么?
在软件开发的早期,快速开发一个目标软件系统的原型 ,让用户对其进行评价
并提出修改意见 ,然后开发人员根据用户的意见对原型进行改进
33. 程序设计语言的有哪些特点?
. 1)一致性 2)二义性 3)紧致性 4)局部性
34. 面向对象建模的三种模型及作用。
(1)对象模型:描述系统数据结构
(2)动态模型:描述系统控制结构
(3)功能模型:描述系统功能
35. 软件设计的基本原理包括哪些内容?
36. 总体设计过程除了设想供选择的方案,选取合理的方案,推荐最佳方案还包括那些内容?
37. 耦合性和内聚性有几种类型? 其耦合度、内聚强度的顺序如何?
38.软件需求分析的有哪三个基本原则?
39. 简述可行性研究的主要目的是什么?
40. 试说明传统"瀑布模型"的主要缺陷及造成缺陷的原因。6. 衡量模块独立性的两个标准是什么?各表示什么含义?
7. 简述需求分析阶段的基本任务。
8. 单元测试有哪些内容?
9. 软件测试中按照错误的性质和范围进行分类可分为:“功能错误”及其它哪些错误?
10. 请简述黑盒测试和白盒测试有何区别,黑盒测试有哪些常用方法?
11. CMM全称是什么?分为哪几个级别?
12. 软件生命周期划分为哪几个阶段?
13. 简述软件工程面临的问题。
14. 简述容错技术的四种主要手段,并解释。
15. 以G.J.Myers的观点,简述对软件测试的目的。
16. 就程序设计语言的工程特性而言,对程序编码有哪些要求?
17. 模块的内聚性包括哪些类型?
18. 简述结构化程序设计方法的基本要点。
19. 简述文档在软件工程中的作用。
20. 简述提高可维护性的方法。
21. 软件工程面临的主要问题有哪些?
22. 软件配置管理的作用及其主要目标是什么?
23. 简述结构化分析步骤。
24. 软件工程的原则有抽象、信息隐藏、模块化和其他那些内容?
25. 常用的软件项目的估算方法主要有哪4种?
26.软件生存周期包括哪几个活动?
27. 人机界面设计过程可分为创建系统功能的外部模型;确定为完成此系统功能人和计算机应分别完成的任务及另外哪4个步骤?
28. 软件测试过程一般可划分为哪几个主要阶段?
29. 原型法模型一般适应哪些场合?
30. 需求分析的任务是什么?
31. 简述软件项目的成本管理。
32. 快速原型技术的基本思想是什么?
33. 程序设计语言的有哪些特点?
34. 面向对象建模的三种模型及作用。
35. 软件设计的基本原理包括哪些内容?
36. 总体设计过程除了设想供选择的方案,选取合理的方案,推荐最佳方案还包括那些内容?
37. 耦合性和内聚性有几种类型? 其耦合度、内聚强度的顺序如何?
38.软件需求分析的有哪三个基本原则?
39. 简述可行性研究的主要目的是什么?
40. 试说明传统"瀑布模型"的主要缺陷及造成缺陷的原因。