第七章、软件工程
- 计算机学科中的一个分支
- 致力于寻找大型复杂软件系统的开发原则
- 包含人员管理、项目管理之类的主题
1. 软件工程学科
与其他工程学科之间的一个差别在于缺少衡量属性的定量技术——度量学(metrics)
- 同时也出现了计算机辅助软件工程(CASE)、IDE
- 通用也有ISO、ACM、IEEE等组织来指定标准、提供方针、增强人们的职业精神
2. 软件生命周期
软件工程中最基础的概念
- 开发 -> 使用 <-> 维护->
2.1 传统的开发阶段
1. 需求分析
2. 设计
3. 实现
4. 测试
3. 软件工程方法学
4. 模块化
把软件分割成多个易于处理的单元
- 降低软件之间的耦合
- 提高内部绑定程序的关联度
- 隐藏软件的信息(封装)
耦合的形式
- 控制耦合
数据耦合
5. 行业工具
- 通过数据流图,确定业务的流程,以及理解系统(同时也作为客户与软件工程师之间的交流手段)
- 构建统一的建模语言(UML/ER等)
- 设计模式
6. 质量保证
- 软件质量保证,开发记录、标准指定等
- 软件测试:白盒测试、黑盒测试
7. 文档
分类
- 用户文档
- 系统文档
- 技术文档
8. 人机界面
主要来于人机工程学和知行学
- 界面上呈现的东西应该不依赖于人类的记忆
9. 软件所有权和责任
- 知识产权
- 软件许可
- 专利问题
最后更新: 2018年07月11日 14:11
原始链接: https://ilifexiao.github.io/2018/06/10/计算机科学概论/第七章、软件工程/