软件工程复习


第一章 软件工程学概述

1.1 软件危机

基本概念:在计算机软件的开发和维护过程中所遇到的一系列严重问题。

软件危机的典型表现

1、对软件开发成本和进度的估计常常很不准确
2、用户对“已完成的”软件系统不满意的现象经常发生
3、软件产品的质量往往靠不住
4、软件常常是不可维护的
5、软件通常没有适当的文档资料
6、软件成本在计算机系统总成本中所占的比例逐年上升
7、软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势

1.2 软件工程

软件工程概述:软件工程是指导计算机软件开发和维护的一门工程学科。

软件工程方法学

1、传统方法学
2、面向对象方法学

1.3 软件生命周期

基本概念:由软件定义、软件开发和运行维护(也称为软件维护)3个时期组成,每个时期又进一步划分成若干个阶段。

三个时期(七个阶段):

graph LR
A[软件开发时期]-->B[软件定义]
A-->C[软件开发]
A-->D[软件维护]
B-->F[问题定义]-->1[解决什么问题]
B-->E[可行性研究]-->2[对于上一个阶段的问题有什么可行方法吗]
B-->G[需求分析]-->3[为了解决这个问题,目标系统必须做什么]
C-->H[总体设计]-->4[概括地说应该事先怎样的目标系统]
C-->I[详细设计]-->5[应该怎样具体地实现这个系统呢]
C-->J[编码和单元测试]-->6[写出正确的容易理解容易维护的程序模块]
C-->K[综合测试]-->7[通过各种类型的测试使软件达到预定的要求]
D-->8[通过各种必要的维护活动使系统持久地满足需要用户的]

1.4 软件过程

基本概念:软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

几个模型:

graph LR
A[软件过程模型]-->1[瀑布模型]
A-->2[快速原型模型]
A-->3[增量模型]
A-->4[螺旋模型]
A-->5[喷泉模型]
1-->Y1[优点]
1-->Q1[缺点]
2-->Y2[优点]
2-->Q2[缺点]
3-->Y3[优点]
3-->Q3[缺点]
4-->Y4[优点]
4-->Q4[缺点]
5-->Y5[优点]
5-->Q5[缺点]
Y1-->11[可强迫开发人员采用规范的方法]
Y1-->12[严格地规定了每个阶段必须提交的文档]
Y1-->13[要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证]
Q1-->14[传统的瀑布模型过于理想化,工作过程中不可能不犯错误]
Y2-->21[快速原型模型是不带反馈环的]
Y3-->31[能在较短时间内向用户提交可完成部分工作的产品]
Y3-->32[使用户有较充裕的时间适应新产品,减少一个全新的软件的冲击]
Q3-->33[增量构件集成时,不破坏原来已经开发出的产品]
Q3-->34[软件体系结构必须是开放的]
Y4-->41[对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标]
Y4-->42[减少了过多测试或测试不足所带来的]
Y4-->43[使用原型及其他方法来尽量降低风险]
Y4-->44[使用原型及其他方法来尽量降低风险]

文章作者: 邵天宇
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 邵天宇 !
 上一篇
Hello World Hello World
2022-01-15 Tianyu Shao
下一篇 
高效学习必备工具集 高效学习必备工具集
大学生的学习生活少不了学习网课,如何高效完成线上课程的学习成为当代大学生必不可少的应用技能。本文就学习通、智慧树(知到)等部分线上学习网站为例,逐一进行讲解,希望对迷茫的你有所帮助
2021-05-19
  目录