软件产品研发过程 - 二、概要设计

news2024/11/23 7:23:11

软件产品研发过程 - 概要设计

相关系列文章
软件产品研发管理经验总结-管理细分
软件研发管理经验总结 - 事务管理
软件研发管理经验总结 - 技术管理
软件产品研发过程 - 二、概要设计

目录

  • 软件产品研发过程 - 概要设计
  • 一、概要设计概述
  • 二、概要设计过程
    • 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)、数据表结构定义

序号字段名中文名类型长度PKFKNOT NULLDEFAULT备注
1id主键IDvarchar36主键
2xxxxxxxxxxxxxxxxxxxxxx

说明:
1、PK:主键,当果某字段为主键,则DEFAULT就不用设置了;
2、FK:引用外键
3、NOT NULL:非空
4、DEFAULT:当字段为short、int、long、日期类型时,要设置一个默认值,否则字段为空时程序中容易出错


  1. 数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1289389.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

设计字体必备工具推荐:5款好用的字体设计软件

字体设计作为设计中的一个重要模块,如果字体软件选择正确,将给字体设计工作带来极大的便利,易于使用的字体设计软件,可以创造出优秀的排版设计。在日常工作中,设计师可能会在字体网站上下载字体,然后安装字…

记录 | linux静态库和动态库的理解

hello.cpp&#xff1a; #include <cstdio>void hello() {printf("Hello, world!\n"); }main.cpp&#xff1a; #include <cstdio>void hello();int main() {hello();return 0; }静态库编译配置&#xff1a; cmake_minimum_required(VERSION 3.12) proj…

【AI数字人-论文】DINet论文解读

DINet 方法形变修补损失函数perception lossGAN lossLip-sync loss 实现细节参考 如下图所示&#xff0c;人脸视觉配音&#xff08;Face visually dubbing&#xff09;旨在根据输入的驱动音频同步源视频中的嘴型&#xff0c;同时保持身份和头部姿势与源视频帧一致。然而在少样本…

DTCC2023大会-基于eBPF观测数据库-附所有PPT下载链接

DTCC2023大会-基于eBPF观测数据库-附所有PPT下载链接 8月16日—18日,第14届中国数据库技术大会(DTCC-2023)在北京国际会议中心举行。聚好看在大会上首次发布基于eBPF观测数据库性能的产品DBdoctor&#xff0c;受到了业界广泛的关注。近期几位业内同仁过来要大会的PPT&#xff…

Shopify二次开发之五:元字段(Metafields)

解释 Shopify Metafields 是一种用于存储和管理自定义数据的功能。它们允许商户在商城中的产品、订单、客户、Page等对象上添加自定义字段&#xff0c;以满足特定业务需求。 操作 1、添加Custom data 可以为Products、Pages添加自定义数据&#xff0c;比如选择了Pages&#…

使用pandas制作图表

数据可视化对于数据分析的重要性不言而喻&#xff0c;一个优秀的图表有足以一眼就看出关键所在。pandas利用matplotlib实现绘图。能够提供各种各样的图表功能&#xff0c;包括: 单折线图多折线图柱状图叠加柱状图水平叠加柱状图直方图拆分直方图箱型图区域块图形散点图饼图多子…

网络和Linux网络_11(数据链路层)以太网(MAC帧)协议+局域网转发+ARP协议

目录 1. 以太网协议 1.1 MAC地址 1.2 以太网帧格式 2. 局域网转发原理 2.1 数据碰撞和交换机 2.2 最大传输单元MTU 3. ARP协议 3.1 ARP协议格式 3.2 模拟APR协议工作过程 3.3 ARP缓存表 4. 重看TCP/IP四层模型 本篇完。 1. 以太网(MAC帧)协议 网络层的IP协议并不是…

怎么下载抖音视频无水印?教你三个无水印下载抖音视频方法

怎么下载抖音视频无水印&#xff1f;抖音已经成为了我们日常生活与工作的无法割舍的一部分&#xff0c;每天数以亿计的用户在进行创作分享。在这个平台上&#xff0c;用户可以通过自己的所见所想进行创作和分享记录美好瞬间。然而&#xff0c;有些用户希望能够将自己喜欢的抖音…

PHP:解决一个字符串中的斜杠 / 进行 JSON 编码时,斜杠被转义为 \/

一、修改前 问题代码 直接通过JSON编码&#xff0c;就会出现问题 代码 $url SO/.$fileName; echo json_encode($url); 效果 二、解决后 代码 使用 json_encode 函数的第二个参数 JSON_UNESCAPED_SLASHES 来禁止对斜杠进行转义 $url SO/.$fileName; echo json_encode…

电力仪表在工厂车间设备电能管理系统的设计-安科瑞黄安南

摘 要&#xff1a;基于车间用电设备的电能管理系统架构思路及实施方法&#xff0c;从硬件和软件方面对此方法进行了阐述。对车间旧设备改造以及新的电能管理系统提供一种思路和便捷的方法。 关键词&#xff1a;电能管理系统&#xff1b;多功能电力仪表&#xff1b;PLC&#x…

【后端】JVM 远程调试

前言 再好的代码,也还是有瑕疵的,不是代码不给力,是线上问题太牛逼太玄幻。这不刚部署就出现了问题,幸好还是测试的时候,早点发现早点解决,不给任何人带来不必要的损失,是我做人的原则,只要钱到位,任何问题都不是问题。 JVM 远程调试 不得不说 IDEA 和 宝塔配合是真…

【FastApi】—— uvicorn启动程序出现端口冲突

文章目录 &#x1f356; 前言&#x1f3b6;一、问题描述✨二、更改方案&#x1f3c0;三、运行结果&#x1f3c6;四、知识点提示 &#x1f356; 前言 【FastApi】—— uvicorn启动程序出现端口冲突 &#x1f3b6;一、问题描述 描述&#xff1a; INFO: Will watch for changes …

Spring Cloud版本导致的java.lang.NoSuchFieldError: sharedInstance异常

目录 一、问题现象二、解决办法1、本次异常配置2、修改后的配置 三、原因分析 一、问题现象 2023-12-05 16:21:53.680]|[ INFO]|[80173]|[main]|[]|[]|[trationDelegate$BeanPostProcessorChecker:335]|[Bean org.springframework.cloud.client.loadbalancer.reactive.LoadBal…

css 3D背景反转实现

body{/* 透视 */perspective: 800px; } div{transform-style:preserve-3d;width:259px;height:396px;margin: 100px auto;position: relative; } div img{position: absolute;width:259px;height:396px;left:0;top:0;transition: all linear 2s;z-index: 0; } div img:nth-chil…

使用Python内置库实现数据的加密与校验

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 数据的安全性是现代应用程序中不可忽视的一个重要方面。在Python中&#xff0c;我们可以利用内置的加密和校验库来保护敏感信息。本文将深入讨论如何使用Python内置库实现数据的加密和校验&#xff0c;为开发者提…

java实验:数据库应用(idea+mysql+php)设计用户注册和登录

设计用户注册和登录界面&#xff0c;实现用户注册和登录操作。 设计用户注册/登录界面;使用工具在MySQL中创建user表&#xff0c;包括学号、姓名、密码、专业、班级&#xff1b;实现注册操作&#xff1a;在user表中插入一条新纪录&#xff0c;但学号不能重复&#xff1b;实现登…

通用plantuml 时序图(Sequence Diagram)模板头

通用plantuml文件 startuml participant Admin order 0 #87CEFA // 参与者、顺序、颜色 participant Student order 1 #87CEFA participant Teacher order 2 #87CEFA participant TestPlayer order 3 #87CEFA participant Class order 4 #87CEFA participant Subject order …

群晖Docker搭建HomeAssistant,结合内网穿透实现远程访问智能家居控制中心

使用群晖Docker搭建HomeAssistant并实现异地公网访问 文章目录 使用群晖Docker搭建HomeAssistant并实现异地公网访问一、下载HomeAssistant镜像二、内网穿透HomeAssistant&#xff0c;实现异地控制智能家居三、使用固定域名访问HomeAssistant HomeAssistant是一个可以控制 苹果…

Redis部署-集群

目录 集群 数据分片算法 哈希求余 一致性哈希算法 哈希槽分区算法 redis集群搭建 1.创建目录和配置. 2.将上述redis节点.构建成集群 3.使用客户端连接集群 集群模式下的故障转移流程 1.故障判定 2.故障迁移 集群扩容 集群 广义上的集群,只要是多个机器,构成了分布…