软件工程领域知识
发布时间:2025-12-10 11:34:11
浏览次数:3
1、软件工程基础知识
1、软件生存周期
可行性分析与项目开发计划
需求分析
概要设计
- 设计软件的结构,明确软件由哪些模块组成,这些模块的层次结构是怎样的,这些模块的调用关系是怎样的,每个模块的功能是什么。同时还要设计该项目应用系统的总体数据结构和数据库结构,即应用系统要存储什么样的数据,这些数据是怎样的结构,它们之间有什么关系
- 《概要设计说明书》
详细设计
- 对每个模块完成的功能进行具体描述,要把功能描述转变为精确的、结构化的过程描述,即该模块的控制结构是怎样的,先做什么,后做什么,有什么样的条件判定,有些什么重复处理等,并用相应的表示工具把这些控制结构表示出来
- 《详细设计文档》
编码
测试
维护
2、软件过程(开发)模型
- 瀑布模型:软件生存周期按顺序进行,以文档为驱动、适合于软件需求很明确的软件项目的模型。
- 增量模型
- 演化模型(原型模型、螺旋模型)
- 喷泉模型:一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法
- 基于软件的开发模型
- 形式化方法模型
- 统一过程模型
- 敏捷方法:通过“尽可能早地、持续地对有价值的软件的交付”使客户满意
3、系统设计
系统设计方法:
4、测试
- 单元(模块)测试
- 集成测试:测试所有模块。自顶向下集成测试、自底向上集成测试、回归测试、冒烟测试
- 确认测试
- 系统测试:恢复测试、安全性测试、压力测试、性能测试、部署测试
测试方法:
- 静态测试:程序没有运行
- 动态测试:黑盒测试法和白盒测试法
-
- 黑盒:也称为功能测试,在不考虑软件内部结构和特性的情况下,测试软件的外部特性
-
- 白盒:也称为结构测试,根据程序的内部结构和逻辑设计测试用例,对程序的路径和过程进行测试
2、结构化开发方法
试题一
先看图,再看说明,前三题的答案都在说明中,第四题是扩展题。
数据流图:DFD,一种便于用户理解、分析系统数据流程的图形工具,它摆脱了系统的物理内容,精确地在逻辑上描述系统的功能、输入、输出和数据存储等
基本图形元素:
- 数据流:
-
-
- 起点或终点必须有一个是加工;有以下几种:加工->加工、加工->数据存储、数据存储->加工、外部实体->加工、加工->外部实体
- 加工:
-
-
-
- 至少有一个输入数据流和输出数据流;黑洞:只有输入没有输出;白洞:只有输出没有输入;灰洞:输入不足以产生输出
- 数据存储:
-
-
-
- 提供输入和输出数据,存储加工的数据或提供数据给加工,主要是和加工产生联系。一般是某某表或某某文件
- 外部实体:
-
-
-
父图:上下文数据流图,只有外部实体和数据流
子图:0层数据流图,对父图的一个细分
试题二
考察点:
ER图:
实体:
- 弱实体:双边矩形,必须依赖另一个实体而存在,如顾客和收货地点,顾客存在收货地点才存在
- 子实体:矩形加两条竖线
属性:
- 如果属性名下有下划线,则表示该属性是主键
- 简单属性:原子的、不可再分的
- 复合属性:如通信地址,可以分为省市区
关系:
- 两个实体:1对1、1对多、多对多
- 两个以上实体:1:1:1、1:1:多、1:多:多、多:多:多
关系模式:
- 对关系的描述,即二维表
- 关系名(属性名1、属性名2、…、属性n)
实体向关系模式的转换:
- 1对1:关系放到任意一方
- 1对多:关系放到多的一方
- 多对多:关系单独抽出来