导图社区 软件工程概念复习纲要
广西师范大学计算机科学与工程学院软件工程课程第一章概念整理,包括软件工程方法学的三要素、面向方法学的基本概念、软件生命周期、软件过程等内容。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
复习纲要
第1章
软件危机
定义
在计算机软件的开发和维护过程中所遇到的一系列严重的问题
表现
1、对软件开发成本和进度的估计常常很不准确
2、用户对“已完成的”软件系统不满意的现象经常发生
3、软件产品的质量往往靠不住
4、软件常常是不可维护的
5、软件通常没有适当的文档资料
6、软件成本在计算机系统总成本中所占的比例逐年上升
7、软件开发生产率提高的速度跟不上计算机应用普及深入的趋势
产生的原因
软件本身的特点
软件开发与维护的方法不正确
软件工程
为了经济地获得可靠的且能在实际机器上有效的运行的软件,而且建立和使用完善的工程原理
把系统的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程应用于软件;研究其中提到的路径。
本质特性
1、软件工程关注于大型程序的构造
2、软件工程的中心课题是控制复杂性
3、软件经常变化
4、开发软件的效率非常重要
5、和谐地合作是开发软件的关键
6、软件必须有效地支持它的客户
7、软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品
基本原理
1、用分阶段的生命周期计划严格管理
2、坚持进行阶段评审
3、实行严格的产品控制
4、采用现代程序设计技术
5、结果应能清楚地审查
6、开发小组的人员应少而精
7、承认不断改进软件工程实践的必要性
软件工程方法学的三要素
方法
工具
过程
传统方法学定义
也称为生命周期方法学或结构化范型。采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。
面向方法学的基本概念
是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。
要点
1、把对象作为融合了数据及在数据上的操作行为的统一的软件构件。
2、把所有对象都划分成类。
3、按照父类与子类的关系,把若干个相关类组成一个层次结构的系统。
4、对象彼此间仅能通过发送消息相互联系。
软件生命周期的
由软件定义、软件开发、运行维护3个时期组成,每个时期又进一步划分成若干个阶段?(不确定の答案)
组成
软件定义
问题定义
可行性研究
需求分析
软件开发
总体设计
详细设计
编码和单元测试
综合测试
运行维护
软件维护
软件过程
为了获得高质量软件所需要完成的一系列任务的框架,规定了完成各项任务的工作步骤。
瀑布模型
特点
1、阶段间具有顺序性和依赖性
2、推迟实现的观点
3、质量保证的观点
每个阶段必须完成规定的文档
每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题改正错误。
快速原型
能反映用户主要需求、了解目标系统盖帽
软件产品开发基本上是线性顺序
一旦需求确定,原型将被抛弃。
原型的内部结构不重要,重要的是迅速构建原型然后根据用户意见迅速地修改原型。
增量模型
分批逐步向用户提交产品,整个软件产品被分解成许多个增量构件,开发人员一个构件接着一个构件地向用户提交产品(较短时间内向用户提交可完成部分工作的产品是其一个优点)。
逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。
必须在开始实现各个构件之前就全部完成需求分析、规格说明和概要设计工作。
不同的构件将并行地构建,使用这种方法将冒着构建无法集成到一起的风险,除非密切地监控整个开发过程,否则整个工程可能毁于一旦。
螺旋模型
对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标
减少了过多的测试或测试不足带来的风险
维护只是模型的另一个周期,在维护和开发之间没有本质区别
只有内部开发项目才能在风险过大时方便地终止项目(风险驱动,或许是其弱点)
喷泉模型
面向对象
整个开发过程都是吻合一致的(无缝)
各个开发步骤多次反复迭代,达到认识的逐步深化(迭代)
图1.1~1.9的分析理解(符号含义、过程解释等)