软件工程期末复习
软件工程期末复习
第一章
- 软件危机:软件开发维护过程中出现的一系列问题。
- 软件工程方法学:
①传统方法学
②面向对象方法学:把数据和对数据的操作紧密地结合起来的方法。 - 软件工程三要素:方法,工具,过程。
- 软件生命周期:
三个时期:软件定义,软件开发,运行维护。
八个阶段:问题定义,可行性分析,需求分析(对整个软件开发影响最大),总体设计,详细设计,编码和单元测试,综合测试,软件维护。
可行性研究的目的不是解决问题,而是确定问题是否值得去解决。三个方面:技术可行性,经济可行性,操作可行性。第二章
- 分析建模:数据模型,功能模型,行为模型
- 系统流程图:以黑盒子。是概述地描绘物理系统的传统工具。
- 数据流图(三个图):原点终点为正方形,具体操作为圆角矩形,数据流为箭头,数据存储为右开矩形。描绘的是数据的功能模型,对数据进行处理。
- 在软件需求分中会导出一个软件需求规格说明书的文档。
- 实体联系图(E-R图):有数据对象(实体有属性),关系(一对一,一对多,多对多)。
属性用椭圆表示,实体用矩形表示,行为用菱形表示,关系用实线连接。 - IPO图:输入,处理,输出图。
第三章
- 软件工程使用方法的形式化方法:形式化,半形式化(数据流图),非形式化。
- 总体设计(功能)(概要设计或初步设计):概要地说系统该如何实现。
总体设计过程分为系统升级阶段和结构设计阶段。(总体设计过程包括设计数据库,功能分解,设计软件结构,用户手册) - 模块化:模块和模块之间叫耦合,模块内部叫内聚。(软件要低耦合高内聚)
- 面向数据流的设计方法:变换流(从一个到另一个)和事物流(一个到多个)
第六章
- 详细设计的结果决定了最终的程序代码的质量。
- 结构程序设计有三个:顺序,选择,循环。
- 过程设计的工具:PAD图(问题分析图)。
第七章
- 编码:汇编和机器语言为低级语言,其他是高级语言。
- 测试:黑盒(功能测试),白盒(结构测试)。
测试步骤:模块测试(单元测试(白盒测试)),子系统测试,系统测试,验收测试(确认测试),平行运行。(测试的目的是找出软件的问题)
集成测试:子系统测试、系统测试。
阿尔法测试:是用户在开发者的场所进行测试。
贝塔测试:用户在一个多或多个客户场所进行测试测试。
软件需求分析最重要,软件维护花费最多。
第八章、软件维护
- 软件维护活动:适应性维护,完善性维护(占比最多),改正性维护,预防性维护。
第九章、面向对象
- 面向对象的概念:
- 其他概念:类、实例(对象)、方法(封装,继承)、属性,多态性。
程序:算法+数据结构
软件:程序、一系列文档
类是对象的抽象,对象是类的具体化(实例化)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class Student{
private int num;
private String name;
private int age;
private double score;
Student(int num,String name){
this.num = num;
this.name = name;
System.out.println("This is a creating funvtion!");
}
public void setNum(int num){
this.num = num;
}
public int getNum(){
return num;
}
}
public class Test1{
public static void main(String args[]){
Student stu1 = new Student(101,"jack");
Student stu2 = new Student();
stu2.setNum(102);
stu2.setName("Luck")
System.out.println("");
}
}
1 | class Student{ |
1 | //1+1/2+1/3 ... |
1 | //1-1/2+1/3 |
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Apricity!
评论






