1.软件的定义:
程序、数据及相关文档的集合
2.软件危机的定义,表现,原因是什么?
- 定义:软件危机指在计算机软件的开发和维护过程中遇到的一系列严重问题。
表现:
- 对软件开发成本和进度估计常常很不准确
- 用户对已完成的软件系统不满意的现象经常发生
- 软件产品的质量往往靠不住
- 软件是常常不可维护的
- 软件通常没有适当的文档资料
- 软件成本在计算机系统总成本中所占的比例逐年上升
- 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势
- 原因:一方面与软件本身的特点有关,另一方面也和软件开发和维护的方法不正确有关。用户要求不明确,缺乏正确的理论指导,缺乏可见性,缺乏可创造性,软件开发的规模越大复杂度就越高
3.软件工程的定义,软件工程方法学的三个要素是什么:
- 定义:指导计算机软件开发和维护的一门工程学科。
- 三大要素:方法、工具、过程
4.软件工程有哪八大原理:
- 用分阶段的生命周期计划严格管理
- 坚持进行阶段评审
- 实行严格的产品控制
- 采用现代程序设计技术
- 结果应能清楚审查
- 开发小组的人员应该少而精
- 承认不断改进软件工程实践的必要性
- 二八定律
5.软件生命周期有哪三大阶段八小阶段
- 三大阶段:软件定义、软件开发、运行维护
- 八小阶段:问题定义 可行性研究 需求分析 总体设计 详细设计 编码和单元测试 综合测试 软件维护
6.常见的软件开发模型有哪些?各有什么特点、优缺点:
瀑布模型
特点:阶段间具有顺序性和依赖性 推迟实现的观点 质量保证的观点
优点:可强迫开发人员采用规范的方法,严格规定了每个阶段必须提交的文件
缺点:是文档驱动的
快速原型模型
特点:利用原型法技术能够快速实现系统的初步模型供开发人员交流,逐步求精的方法使模型完善。
优点:克服瀑布模型的缺点,减少由软件需求不明确导致的开发风险
缺点:客户与开发者对原型理解不同,不利于创新。
增量模型
特点:将待开发的软件系统模块化和组件化
优点:较短时间被向用户提交可完成部件工作的产品,逐步增加产品功能可以使用户有充裕的时间学习适应新产品。
缺点:增量模型的灵活性很容易使软件失去整体性,软件必须具备开放式的体系结构。
螺旋模型
特点:引入了风险分析,减少损失。在每个迭代阶段构建模型是螺旋模型减少风险的途径
优点:设计上灵活,以小的分段来构建大型系统,使成本计算变得简单容易
缺点:很难让客户确信这种方法是可控的,建设周期长,软件发展快,容易出现软件开发完毕后,与当前的技术水平有了较大差距无法满足当前用户需求
7.可行性研究的基本任务是什么?
- 用最小代价在尽可能短的时间内确定问题是否能够解决
8.可行性研究哪三个角度?
- 技术可行性
- 经济可行性
- 操作可行性
9.可行性研究结束后的文档是什么?
- 可行性研究报告
10.系统流程图、数据流图、数据字典各是描述系统什么的模型?
- 系统流程图描述系统的物理模型
- 数据流图、数据字典描述系统的逻辑模型
11.软件开发成本估计有哪三种方法?
- 代码行技术
- 任务分解技术
- 自动估计成本技术
12.经济效应分析有哪三个经济指标
- 货币的时间价值
- 投资回收期
- 纯收入
13.需求分析的基本任务是什么?
准确回答系统必须做什么,也就是对目标系统提出完整准确清晰具体的要求
14.需求分析结束提交的文档叫什么名字?
软件需求规格说明书
15.需求分析的任务有哪些?
- 确定对系统的综合要求
- 分析系统的数据要求
- 导出系统的逻辑模型
- 修正系统开发计划
16.需求分析阶段,系统的综合要求需求有哪些?
- 功能需求
- 性能需求
- 可靠性和可用性需求
- 出错处理需求
- 接口需求
- 约束
- 逆向需求
- 将来可能提出的要求
17.软件设计从技术的角度有哪三种内容?从管理的角度又分为哪两种阶段
- 技术观点:数据设计 系统结构设计 过程设计
- 管理角度:高层设计 详细设计
18.总体设计有哪两个任务
- 划分出组成系统的物理元素
- 设计软件的结构
19.总体设计阶段提交的文档叫什么?
- 软件高层设计说明书
20.设计原理有哪些?
- 模块化,抽象,逐步求精,信息隐藏和局部化,模块独立
21.Miller法则:一个人在任何时候都只能把注意力集中在多少个知识块上?
- 7±2个
22.模块的独立程度的俩个定性标准度量是什么?
- 内聚耦合(标准是高内聚低耦合)
23.三种基本的程序控制结构是什么?
- 顺序结构
- 选择结构
- 循环结构
24.测试有哪三个阶段,有哪俩种方法?
- 三个阶段:单元测试 集成测试 确认测试
- 方法:黑盒 白盒
25.软件生存原则中时间最长的一个阶段是?
- 软件维护
26.软件维护的内容有哪四种?
- 改正性维护
- 适应性维护
- 完善性维护
- 预防性维护
27.用例图、类图、时序图的作用是什么?有哪些元素?
- 用例图作用:描述系统功能 获取需求 指导测试 在整个过程中其他工作流起指导作用
- 用例图元素:参与者 用例 关联关系 包含关系 扩展关系 泛化关系
- 类图作用:描述系统的类的集合,类的属性和类之间的关系,简化人们对系统的理解
- 类图元素:类 接口 依赖关系 泛化关系 关联关系 实现关系
- 时序图作用:通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作
- 时序图元素:对象 生命线 消息 激活期
暂无评论