软件产品研发过程 - 概要设计
相关系列文章
软件产品研发管理经验总结-管理细分
软件研发管理经验总结 - 事务管理
软件研发管理经验总结 - 技术管理
软件产品研发过程 - 二、概要设计
目录
- 软件产品研发过程 - 概要设计
- 一、概要设计概述
- 二、概要设计过程
- 1、模块概述
- 2、应用场景
- 3、画面迁移图
- 4、画面原形
- 5、业务流程图
- 6、业务描述
- 7、DB表结构设计
一、概要设计概述
概要设计就是将一个复杂系统按功能进行模块拆分后(此过程是需求分析),进行功能和体系结构分析设计。
概要设计的主要任务是把需求分析得到的DFD1 (数据流图) 转换为软件结构和数据结构。
- 设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。
- 数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。显然,概要设计建立的是目标系统的逻辑模型,与计算机无关。
二、概要设计过程
※概要设计过程是采用颗粒度逐渐细化的方式来对一个模块进行设计和说明的。
在软件研发过程中,概要设计的主要任务是对上一过程完成后拆分后的的功能模块通过功能概述、页面的迁移图、当前页面的元素、及对每个动作或系统触发的业务做进一步的分析和设计,概要设计阶段一般不涉及程序、代码相关内容,主要是针对需求、功能、人机界面接口、DB表结构设计等方面的设计。
1、模块概述
将功能需求按业务/子功能进行拆分,并对每个业务/子功能进行概述,重点是要对模块按业务或子功能进行拆分,并说明第个业务/子功能要完成的功能/作用;
在此过程中不限于文字描述,可以根据需要加入表格、图等形式,目的是要描述清楚业务。
2、应用场景
针对系统概述中拆分的每个业务/子功能说明什么时间、什么地点、什么人员使用其业务/子功能;
- 【应用场景】需要承上启下,承接【系统概述】中每个业务/子功能,说明其每个业务/子功能在什么时间、什么地点、什么人员使用;
- 启下是为【画面迁移图】提供画面迁移源的依据;使用读者可以准确的定位模块的应用场景,对模块有了进一步的认识;
序号 | 应用项 | 说明 |
---|---|---|
1 | 应用场所 | 按子功能列出在哪个画面使用其业务/子功能 |
2 | 应用时机 | 按子功能列出在什么时机会使用其业务/子功能 |
3 | 应用角色 | 列出什么角色会使用其业务/子功能 |
3、画面迁移图
画面迁移图是以图的形式直观的展示出了与当前画面有关系的所有画面,该图中的主要元素
序号 | 项目 | 说明 |
---|---|---|
1 | 迁入源 | 表示出从哪些画面可以进入当前模块的画面 |
2 | 迁入 | 表示出从源画面通过功能/事件迁移到当前模块的画面的关系 |
3 | 迁出 | 表示出当前模块的画面的功能/事件的画面迁移关系 |
4 | 迁出目标 | 表示出当前模块的画面通过的功能/事件迁移到目标画面 |
图示说明:
1、迁入源:上图中【客户端启动入口】为迁入源
2、用户会从【客户端启动入口】经【启动】动作跳转到当前模块的画面【密码登录画面】
3、用户会通过当前画面的【扫码登录】功能迁出到【扫码登录页面】;
4、画面原形
主要将画面上的所有主要元素(控件)画出来,并以编号标注后,在下面以表格或其它形式详细说明每个控件的类型,I/O类型,如果是输入控件的校验规则、数据的处理业务、数据存储…; 如果是输出控件则说明数据的来源; 是否必填…
5、业务流程图
针对每个画面原型中的每个功能/事件画出业务流程图,标识出数据的走向
6、业务描述
针对每个业务流程以自然语言的形式进行描述
7、DB表结构设计
1)、数据表定义
项目 | 内容 |
---|---|
表名 | xxx表 |
作者 | 张三 |
概要 | 1、子功能xxx在执行什么业务时,向该表新增记录; 2、子功能xxx在执行什么业务时,向该表删除记录; 3、子功能xxx在执行什么业务时,将该表 xxx字段值更新为 xxx…; |
2)、数据表结构定义
序号 | 字段名 | 中文名 | 类型 | 长度 | PK | FK | NOT NULL | DEFAULT | 备注 |
---|---|---|---|---|---|---|---|---|---|
1 | id | 主键ID | varchar | 36 | ● | ● | 主键 | ||
2 | xxx | xxxxxx | xxxxxxx | xx | ● | xxxx |
说明:
1、PK:主键,当果某字段为主键,则DEFAULT就不用设置了;
2、FK:引用外键
3、NOT NULL:非空
4、DEFAULT:当字段为short、int、long、日期类型时,要设置一个默认值,否则字段为空时程序中容易出错
数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。 ↩︎