软工视频主要是按照软件的生命周期讲下来的,即制定计划、需求分析、设计、程序编码、测试及运行维护六大步骤。也是告诉我们未来的工作不仅仅是敲代码,更重要的是这一整套的执行和应用。
一、软工视频思维导图
二、重要知识点
分析计划
成本收益估计:自顶向下 自底向上 算法估计
可行性研究的任务:用最小的代价在尽可能短的时间内确定问题是否能够解决。目的不是解决问题,而是确定问题。可行性分析以技术可行性为主。
需求分析
目标系统逻辑模型:
软件需求分析原则:分解和化简、抽象
数据词典与数据流图(DFD)配合,清楚表达数据处理的要求
逻辑说明工具:结构化英语 判定表 判定树
动态分析方法:状态迁移图 时序图 Petri图(令牌)
需求分析阶段的任务:确定对系统的综合需求;分析系统的数据需求;导出系统的逻辑模型;修正系统开发计划;开发原型系统。
设计
结构化设计方法:变换型(取得—变换—给出数据) 事务型()
模块高内聚低耦合最好
扇入:是指直接调用该模块的上级模块的个数。扇入大表示模块的复用程序高。
扇出:是指直接调用该模块的下级模块的个数。扇出大表示模块的复杂度高。
程序流程图 N-S PAD图
概要设计:确定模块结构,划分功能模块。
详细设计:模块之间和模块接口与接口之间的联系。
程序设计
自顶向下,逐步求精
风格:源程序文档化 数据说明 语句结构 输入输出方法
软件测试
定义:是依相反顺序安排的自底向上,逐步集成的过程。
黑盒:功能测试 模块之间接口是否合理 (等价类划分 边界值分析 错误推测法 因果法)
白盒:结构测试 模块之间所有独立路径(关键路径) (逻辑覆盖)
策略:单元测试 组装测试 确认测试 系统测试
软件维护
类型:改正性(遗留问题)、适应性(运行环境变)、完善性维护(软件性能和可维护性)
软件维护申请报告,申请用户填写
三、面向对象的技术
1.概念:面向对象=对象+类+继承+通信
2.对象模型化技术:对象模型【做什么】 动态模型(状态图 事件追踪图)【何时做】 功能模型(数据流图)【对谁做】
3.面向对象分析方法OOA:五层次:类和对象、属性、服务、结构、主题
4.面向对象设计方法OOD:四部分:问题论域 人机交互 任务管理 数据管理
这是软件的整个基本过程,也是我们最基本要做到的。