重庆大学软件工程导论总结
一、软件工程概述
1.1软件以及软件的特点
软件 = 程序+数据+文档
特点:
- 一种逻辑实体,不具有物理实体,具有抽象性
- 与硬件生产不同,是人类智力劳动的产物
- 软件在运行与使用过程中不存在磨损老化
- 手工开发模式
- 开发与运行必须依附于特定的计算机系统
1.2软件的分类
按功能分:系统软件,支撑软件,应用软件
按服务对象分:通用软件,定制软件
按规模分:小,中,大,超大
按工作方式分:实时软件,分时软件,交互软件,批处理软件
1.3软件危机及表现:
软件危机:泛指软件在计算机软件的开发和维护过程中遇到的一系列严重的问题。
软件危机产生的原因:
- 高级语言的出现
- 操作系统的发展引起了计算机应用方式的变化
- 大量 的数据处理导致第一代数据库管理系统的诞生
具体原因:
- 用户需求不明确
- 缺乏正确的理论指导
- 软件开发规模越来越大
- 软件开发的复杂度越来越高
软件危机的具体表现:
- 软件开发进度难以预测
- 软件的开发成本难以控制
- 开发的软件产品不能满足用户的需求
- 软件产品质量无法保证
- 软件产品难以维护
- 软件缺乏适当的文档资料
1.4软件工程
软件工程:①将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;②对①中所述方法的研究
三要素:过程、方法、工具
软件生存周期:就是软件从产生到 废或停止使用的过程
阶段:
- 软件计划
- 需求分析
- 软件设计
- 编码
- 软件测试
- 运行与维护
- 退役
1.5软件开发模型
1.瀑布模型:将软件生存周期的各项活动规定为按固定顺序而连接的若干工作阶段,形如瀑布流水,最终的得到软件产品。
六项活动:制定计划、需求分析、软件设计、程序编写、软件测试、运行维护
各个阶段都生成说明书
2.快速原型模型:使用快速开发工具,在较短时间拿出原型,让客户评价,然后在修改,直到客户满意,然后在进行开发。
功能模型->数据流图(DFD图)
主要成分:数据流、数据加工活处理、数据存储、外部实体
2.3数据词典:
3种数据:
- 只含有一个数据的数据项
- 由多个数据项组成的数据流
- 数据数据文件或数据存储
3种方式:
- 顺序
- 选择
- 重复
包含信息:名称、别名或编 、组成或组织结构的描述、类型、长度、取值范围、何处使用
三、软件设计
3.1软件设计方法
- 系统结构设计
- 过程设计
- 数据结构设计
3.2软件设计阶段任务
- 划分模块、确定软件结构
- 确定系统的数据结构
- 设计用户界面
3.3软件设计原则
- 模块化:把每个模块划分成可独立命名具有独立访问的模块,每个模块完成一个问题
-
有效模块系统的能力标准:
- 可分解性
- 可组装性
- 可理解性
- 连续性
- 保护性
-
有效模块系统的能力标准:
- 抽象
- 逐步求精
- 信息隐藏
3.4软件设计分类
活动分类:
从活动任务方面:对软件的需求所进行的
- 数据设计
- 体系结构设计
- 接口设计
- 构件设计
- 部署设计
从过程管理方面:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!