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

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

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

目录

  • 软件产品研发过程 - 概要设计
  • 一、概要设计概述
  • 二、概要设计过程
    • 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.mzph.cn/news/202172.shtml

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

相关文章

68从零开始学Java之Set集合都有哪些特性

作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 在上一篇文章中,壹哥带大家学习了List集合的用法和特性,尤其是对ArrayList和L…

无人奶柜:零售业的自助革命

无人奶柜:零售业的自助革命 无人奶柜作为零售业的一项创新技术,正在改变人们购买奶制品的方式,并对零售业产生深远的影响。它的出现提供了更便捷、高效、便利的购物体验,节省了人力成本,同时也为零售商带来了创新机会和…

大师学SwiftUI第18章Part3 - 自定义视频播放器

视频 录制和播放视频对用户来说和拍照、显示图片一样重要。和图片一样,Apple框架中内置了播放视频和创建自定义播放器的工具。 视频播放器 SwiftUI定义了​​VideoPlayer​​视图用于播放视频。该视图提供了所有用于播放、停止、前进和后退的控件。视图包含如下初…

Notes数据结合报表工具Tableau

大家好,才是真的好。 我希望你看过前面两篇内容《Domino REST API安装和运行》和《Domino REST API安装和运行》,更希望你能看过《Notes数据直接在Excel中统计!》,有了这些内容作为基础,今天的内容就显得特别简单。 …

Freertos任务管理

一.任务状态理论讲解 正在执行的任务状态是running,其他执行的等待执行的任务状态是ready 1.修改间隔时间 2.任务状态 处于各个状态的任务是怎样被管理起来的:链表 3.代码 TaskHandle_t xHandleTask1; TaskHandle_t xHandleTask3;static int task1f…

6个实用又好用的交互原型工具!

在 UI/UX 设计中,原型设计是至关重要的一步。正如用户体验中的其它环节一样,有无数的交互原型工具可以帮助你完成原型设计。市场上有太多的交互原型工具,如果你不知道选择哪一种,那么我们将为你介绍 6 个实用又好用的交互原型工具…

Multidimensional Scaling(MDS多维缩放)算法及其应用

在这篇博客中,我将与大家分享在流形分析领域的一个非常重要的方法,即多维缩放MDS。整体来说,该方法提供了一种将内蕴距离映射到显性欧氏空间的计算,为非刚性形状分析提供了一种解决方案。当初就是因为读了Bronstein的相关工作【1】…

智能优化算法应用:基于鼠群算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于鼠群算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于鼠群算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鼠群算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

6页手写笔记总结信号与系统常考知识大题知识点

题型一 判断系统特性题型二 求系统卷积题型三 求三大变换正反变换题型四 求全响应题型五 已知微分方程求系统传递函数题型六 已知系统的传递函数求微分方程题型七 画出系统的零极点图,并判断系统的因果性和稳定性 (笔记适合快速复习,可能会有…

2023 年最新 FPV 套件评测

FPV 飞行是近年来非常流行的一种新兴运动。它可以让您在第一人称视角下体验飞行的乐趣。FPV 套件可以分为多种类型,根据您的需求和预算,您可以选择合适的套件。 下面我们将对 2023 年最新的几款 FPV 套件进行评测,帮助您选择合适的产品。 Sp…

InST论文复现

论文地址:https://arxiv.org/abs/2211.13203 论文git:https://github.com/zyxElsa/InST 遇到的问题: 1.requests.exceptions.SSLError: HTTPSConnectionPool(hosthuggingface.co, port443): Max retries exceeded with url: /openai/clip-…

一个容器中填值,值太多不换行,而是调小字体大小和行高

<!-- clampLineHeight 重计算行高 --> <!-- clampTextSize 重计算字体大小 --> <!-- 这里的div高8mm, 宽6cm, 文本为text --> <div style"height:8mm;width:6cm;text-align:left"><span :style"{ fontSize: clampTextSize(text, 6cm…

用python测试网络上可达的网络设备

用python测试网络上可达的网络设备 之前使用的os在python中执行ping测试网络中可达的目标&#xff0c;但是他在执行ping命令时脚本会将系统执行ping时的回显内容显示出来&#xff0c;有时这些回显并不是必要的。如果用脚本一次性ping成百上千台网络设备或者URL时会影响美观和阅…

MySQL中的索引①——索引介绍、结构、分类、语法、SQL性能分析

目录 目录 索引概述--> 介绍---> 优缺点---> 索引结构--> ​编辑 存储引擎支持情况---> BTree---> BTree---> Hash---> Hash特点---> 思考题 索引分类--> InnoDB存储引擎中---> 聚集索引---> 二级索引---> 执行过程--…

SpringBootAdmin

SpringBootAdmin 文章目录 SpringBootAdmin创建SpringBootAdmin服务端创建SpringBootAdmin客户端启动应用 总结 github地址 https://github.com/codecentric/spring-boot-admin 可以查到所有的版本号 创建SpringBootAdmin服务端 创建springBoot项目的时候&#xff0c;在ops选项…

外贸平台获客技巧分享!(个人经历)

作为一名从事外贸行业多年的专业人士&#xff0c;我深知在竞争激烈的市场中获取客户的重要性&#xff0c;今天&#xff0c;我想与大家分享一些我在外贸平台上获客的技巧和经验&#xff0c;希望能够帮助到需要的人。 首先&#xff0c;我们需要明确一点&#xff0c;外贸平台是一…

一键抠图|3个智能AI抠图软件实现抠图自由!

听说你对如何利用AI抠图技术去除白色背景感兴趣&#xff1f;设想一下&#xff0c;你有一张某人站在白色背景前的照片&#xff0c;而你只希望能留下这个人物。在过去&#xff0c;你可能需要花费大量时间和精力手动进行抠图。但现在&#xff0c;AI技术来拯救你了&#xff01;AI可…

2024年MCM/ICM美国大学生数学建模竞赛备战指南

01 2024美赛基本要求 1.关于时间&#xff08;北京时间&#xff09; 比赛开始时间&#xff1a; 2024年2月2日6:00至 2024年2月6日9:00 提交截止时间&#xff1a;2024年2月6日10:00 结果发布时间&#xff1a;结果将于2024年5月31日或之前发布 2.关于规则 完整的解决方案现…

Redis应用-缓存

目录 什么是缓存 使用redis作为缓存 缓存的更新策略 通用的淘汰策略 redis内置的淘汰策略 缓存预热 缓存穿透 缓存雪崩 缓存击穿 什么是缓存 缓存(cache)是计算机中一个经典的概念,在很多的场景中都会涉及到. 核心思路就是把一些常用的数据放到触手可及(访问速度更快…

用OpenCV与MFC写一个图像格式转换及简单处理程序

打开不同格式的图形文件&#xff0c;彩色装灰度图像、锐化、高斯滤波、边界检测及将其存储为需求格式是图像处理的最基本的操作。如果单纯用MFC编程&#xff0c;是一个令人头痛的事情&#xff0c;有不少的代码量。可用OpenCV与MFC编程就变得相对简单。下面来详细演示这一编程操…