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