一 软件工程学概述
软件生命周期:软件定义、软件开发、运行维护
定义又分 问题定义、可行性研究、需求分析
软件开发分为:总体设计、详细设计、编码和单元测试、综合测试
软件过程模型:瀑布模型、快速原型、增量、螺旋、喷泉
瀑布模型的特点:①阶段间具有顺序性和依赖性②推迟实现的观点③质量保证的观点
不足:①文档驱动,不能真正满足用户需求②过于依赖早起的唯一一次需求调查,不能适应需求的变化③瀑布模型是单一流程,开发中的经验教训不能反馈应用于本产品的过程。
面向对象方法学:对象+类+继承+用消息通信
二 可行性研究
可行性研究的目的:问题是否值得去解决
数据流图:源点终点、处理、数据流、数据存储
用途:交流信息的工具、分析和设计的工具
数据字典:名字、别名、描述、定义、位置
三 需求分析
ER图-数据模型、状态转换图-行为模型、数据流图-功能模型
需求规格说明和验证软件需求:一致性、完整性、现实性、有效性
五 总体设计
抽象、信息隐藏与局部化、模块独立性、内聚、耦合
非直接耦合、数据耦合、控制耦合、特征耦合、公共环境耦合、内容耦合
偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、内容内聚
启发规则:改进软件建构提高模块独立性、模块规模应该适中、深度宽度扇入扇出应该适当、模块的作用域应该在控制域内、力争降低模块接口复杂度、设计单入口单出口的模块、模块功能应该可以预测。
六 详细设计
结构程序设计:顺序、选择、循环
人机界面设计:系统响应时间、用户帮助设计、出错信息处理、命令交互
数据设计、系统结构设计、接口设计、过程设计
过程设计的工具:图形、表格、语言
七 实现
编码风格:程序内部的文档、数据说明、语句构造、输入输出、效率
测试步骤:单元测试(代码)、集成测试(设计信息)、确认测试(需求说明)、系统测试(系统其它元素)、验收测试
白盒:结构测试 语句覆盖和路径覆盖
黑盒:功能测试 等价划分、边界值分析、错误推测
调试方法:蛮干法、回溯法、原因排除法(对分查找法、归纳法、演绎法)
八 维护
完善性维护、改正性维护、适应性维护、预防性维护
软件的可维护性:可理解性、可测试性、可修改性、可移植性、可重用性
软件工程学的主要目的就是提高软件的可维护性,降低维护的代价
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!