第一章:软件工程概论
每次看完视频后感觉挺乱的,第一章看完了,回过头来回顾一下这一章讲的大体知识,来一个导图总结一下吧。
这章讲的主要内容有:
1、软件的定义:是计算机系统中与硬件相互依存的另一部分,包括程序,数据及其相关文档得完整集合。
2、软件的特点:有抽象性,没有明显的制造过程,没有老化现象,开发收到计算机系统的限制,对计算机有依赖性。没有摆脱手工工艺的开发。软件本身是复杂的。3、软件的分类:其中分类可以按功能分、按软件规模划分、按工作方式划分、按软件服务对象范围划分、按使用的频度划分、按软件失效的影响划分。
4、软件工程的过程:软件规格说明,软件的开发,软件的确认,软件的演进。
5、软件生存期:软件由一个孕育、诞生、成长、成熟、衰亡的生存过程。
生存期的六个步骤:制定计划、需求分析、设计、程序编码、测试及运行维护。
这几个生存期的每个步骤都有不同的要求,画一个图概括一下
6、软件生存期模型:
a、瀑布模型
思想:
从制作时间上按工序把问题化简。将功能实现与制作分开便于分工协作。
优点:1、奠定软件工程方法的基础。2、流水依赖,便于分工协作。3、推迟物理实现,易于修改文档。
缺点:周期长。
特点:每个阶段的依赖性比较强,
B模型:
快速原模型:
好处:用户和设计人员一直在一起。
需求分析过程:找只要的需求,——制作原型——运行原型——评价原型(如果有问题可以返回到开发阶段也可以返回到分析阶段,)(循环一次产生一个原型)——经过循环最后产生最终的系统。
演化模型:
渐增模型:
思想:从部分需求出发,先建立一个不全面的系统,通过测试使这个系统逐步完善。
优点:用户和开发人员始终共同参与,很好的满足了用户的需求。
适用范围:适用哪些知识型软件系统的开发
特点:整体上不如瀑布模型清晰;软件文档不如瀑布模型的划分严格;周期长,成本高;与用户见面快,开发效率高。
在瀑布模型中加了确认。反复运行,不断修改。由瀑布演变而来。
变换型:
思想:从需求的形式规格说明出发,经过一系列的程序变化,得到最终结果
特点:有严格的数字理论和形式化的技术支持。
代表:喷泉型、螺旋型。
螺旋模型:(变换型)
在四个象限中分别表达了四个方面的活动:
1、制定计划:确定软件目标,选定方案,弄清限制条件
2、风险分析:分析所选方案,如何识别和消除风险
3、实施工程:实施软件开发
4、客户评估:评价开发工作,提出修正建议
示意图:
每转一圈:产生一个原型。适合大公司使用。
喷泉模型:(变换型)(不断的重复,演进。是一个迭代的过程。)
没有间隙,可以多个部分同时进行。那个阶段产生问题水就落到那个阶段。
总结:
1、系统开发生命周期的三个主要阶段:分析阶段、设计阶段、实现阶段。
2、软件工程项目的基本目标:低成本、达到软件功能、有较好的软件性能、易于移植、需要较低的维护费用、能按时完成开发工作。
3、最终目标:以最经济的成本,获取高质量的软件