软件工程导论
第一章 概述
1、软件危机的定义和典型表现
在计算机软件的开发和维护过程中所遇到的一系列严重问题。
典型表现:
1)对软件开发成本和进度的估计常常很不准确;
2)用户对“已完成的”软件系统不满意的现象经常发生;
3)软件产品质量往往靠不住;
4)软件常常是不可维护的;
5)软件通常没有适当的文档资料;
6)软件成本在计算机系统总成本中的所占比例逐年上升;
7)软件开发生产率提高的速度远跟不上计算机应用迅速普及深入的趋势。
2、消除软件危机的途径
推广使用在实践中总结出来的开发软件的成功的技术和方法;应该开发和使用更好的软件工具;总之,既要有技术措施(方法和工具),又要有必要的组织管理措施。
3、软件工程的定义
1)把系统的,规范的,可度量的途径应用于软件开发运行和维护过程,也就是把工程应用于软件;
2)研究1)中提到的途径。
4、软件工程的7条基本原理
1)用分阶段的生命周期计划严格管理;
2)坚持进行阶段评审;
3)实行严格的产品控制;
4)采用现代程序设计技术
5)结果应能清楚的审查;
6)开发小组的人员应该少而精;
7)承认不断改进软件工程实践的必要性。
5、软件工程方法学的3要素,目前广泛应用的软件工程方法学的种类
方法、工具和过程 传统方法学和面向对象方法学
6、软件生命周期分阶段划分
由软件定义,软件开发和运行维护(也称软件维护)3个时期组成,每个时期又进一步划分成若干个阶段。
1)问题定义 2)可行性研究
3)需求分析 4)总体设计
5)详细设计 6)编码和单元测试
7)综合测试 8)软件维护
7、软件过程的定义,四种软件过程模型的特点
定义:为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
瀑布模型的特点:
1)阶段间具有顺序性和依赖性;
2)推迟实现的观点;
3)质量保证的观点。
快速原型模型的本质是快速。
增量模型具有可在软件开发的早期阶段使投资获得明显回报和较易维护的优点。
风险驱动的螺旋模型适用于内部开发的大型软件项目。
喷泉模型较好的体现了面向对象软件开发过程无缝迭代的特性
第二章 可行性研究
1、可行性研究的三方面
1)技术可行性;2)经济可行性;3)操作可行性。
2、数据流图的定义,用途,画法,会画
定义:数据流图(DFD)是一种图形化技术,它描绘信息和数据从输入移动到输出的过程中所经受的变换。
用途:没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。
3、数据字典的定义,定义数据的方法,会定义
定义:关于数据的信息的结合,也就是对数据流图中包含的所有元素的定义的集合。
数据字典中的定义就是对数据自顶向下的分解
方式的三种基本类型:1)顺序;2)选择;3)重复。【4)可选】
4、成本估计的方法,成本/效益分析,会算
1)代码行技术;
2)任务分解技术;
3)自动估计成本技术。
成本/效益分析方法: 货币的时间价值、投资回收期、纯收入和投资回收率。