软件工程
2021-06-18 09:27:05 64 举报
AI智能生成
软件工程
作者其他创作
大纲/内容
软件工程
软件工程概述
软件工程方法学
传统方法学
结构化分析、结构化设计合集结构化实,代表语言c语言
侧重点在算法性能,时间复杂度等
面向对象方法学
数据和行为是同等重要的
侧重点在可维护性
三个核心内容
方法:研究怎么做
工具:研究使用说明工具
过程:规定了完成各级任务的工作步骤
软件生命周期
时期
软件定义
软件定义时期的任务(系统分析)
确定软件开发过程必须完成的总目标;
确定工程的可行性;
导出实现工程目标应该采用的策略及系统必须完成的功能;
估计完成该项工程需要的资源和成本,并且制定工程进度表
定义时期划分三个阶段
问题定义
可行性研究
需求分析
软件开发
开发时期划分四个阶段
系统设计
总体设计
详细设计
系统实现
编码
单元测试
运行维护
软件生命周期每个阶段的基本任务
编码和单元测试
综合测试
软件维护
软件过程模型
瀑布模型
特点
阶段间具有顺序性和依赖性
推迟实现的观点
质量保证的观点
文档
评审
快速原型模式
概念:快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集
已经通过与用户交互而得到验证
发生错误的可能性较小
增量模型
概念:软件产品作为一系列的增量构件来设计,编码,集成和测试
优点:
能在较短时间内向用户提交可完成部分工作的产品
逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击
困难:
在把每个新的增量构件集成到现有软件体系结构中时,必须不破坏原来已经开发出的产品
必须把软件的体系结构设计得便于按这种方式进行扩充,向现有产品中加入新构件的过程必须简单、方便,也就是说,软件体系结构必须是开放的。
螺旋模型
基本思想
使用原型及其他方法来尽量降低风险
在每个阶段之前都增加了风险分析过程的快速原型模型
喷泉模型
相互重叠
迭代
Rational统一过程
迭代式开发
管理需求
使用基于构件的体系结构
可视化建模
验证软件质量
控制软件变更
敏捷过程与极限编程
高效工作和快速响应
系统流程图
用图形符号以黑盒子形式描绘组成系统的每个部件(程序、文档、数据库、人工过程等)
重点
各个符号表达的意思
数据流图
数据字典
关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合
准则
理解并描述问题的信息域,根据这条准则应该建立数据模型
定义软件应完成的功能,这条准则要求建立功能模型
作为外部事件结构的软件行为,这条准测要求建立行为模型
必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节
需求分析的任务
确定对系统的综合要求
分析系统的数据要求
导出系统的逻辑模型
与用户沟通获取需求的方法
访谈
面对数据自顶向下求精
简易的应用回歌说明技术
快速建立软件模型
实体联系图
数据对象
属性
联系
状态转换图
设计过程
设想供选择的方案
选取合理的方案
推荐最佳方案
功能分解
设计软件结构
设计数据库
制定测试计划
书写文档
审查和复审
设计原理
模块化
抽象
逐步求精
信息隐藏和局部化
模块独立
耦合
内聚
启发规则
0 条评论
回复 删除
下一页