第一章:软件工程概论
1.1软件危机
表现:轻视需求分析,认为软件工程就是写程序,轻视软件维护。
1.2软件工程
软件工程方法学三要素:过程,工具,方法。
1.3软件生命周期
软件定义
问题定义
可行性研究
需求分析
软件开发
总体设计
详细设计
编码
单元测试与综合测试
软件维护
1.4软件过程
1:瀑布模型
阶段间具有顺序性与依赖性
推迟实现
质量保证
瀑布模型是文档驱动
2:快速原型模型
快速建立可运行的程序,往往是最终一个子集,特点是顺序执行,没有反馈。
3:增量模型
把软件作为一个系列增量构件来分部分的设计,编码,测试。不断把最新的成果将会用户体验与使用。
4:螺旋模型
每个阶段都增加风险分析和快速原型模型。每阶段都实现一个原型,然后进行风险分析。
5:喷泉模型
不同步骤间,同一步骤内部的迭代。体现面向对象编程的开发过程迭代与平滑过度。
6:rational统一过程(RUP)
7:敏捷过程与极限编程
四条:开发人员素质与交流比过程与工具更重要,可以工作的软件比面面具到的文档更重要,与客户的合作比谈判更重要,及时响应更重要。
8:微软过程
第二章:结构化分析
2.1:可行性研究
技术可行性,经济可行性,操作可行性
2.3需求分析
回答系统做什么,不用回答怎么做。
确定对系统的综合要求,分析系统的数据要求,导出系统的逻辑模型,修正系统开发计划
2.4建模与规格说明
自然语言准确描述需求,是需求分析阶段最主要的文档。
2.5各种图
ER图(实体联系图)建立数据模型:矩形-实体,圆圈-属性,菱形-关系
DF图(数据流图)建立功能模型:正方形-数据终点或原点,圆角矩形-数据处理,开口矩形-数据存储,箭头-数据流向。
数据流图不应出现条件,分支,错误处理
数据字典:提供关于数据描述的信息。
状态转换图建立系统行为模型:初态(只有一个),中间态,终态(可以多个)。初态实心圆,终态一对同心圆,中间用圆角矩形。事件用箭头,上面标明触发的事件。
2.11验证软件需求
一致性,完整性,现实性,有效性。
2.13形式化说明技术
来源:https://blog.csdn.net/G13691369/article/details/102779412