软件产品研发过程 - 三、详细设计

软件产品研发过程 - 三、详细设计

详细设计是在软件开发过程中,基于概要设计(将功能按子功能进行拆分,画面跳转关系、UI原型、画面上所有功能点及每个功能点对应的业务流程),以程序开发的角度来设计概要设计中每个功能点的代码实现;


详细设计的内容包含:
1、接口设计 - 定义第个功能点前后端交互的接口;
2、数据库设计 - 相关数据表结构定义;
3、类图 - 定义代码的结构;
4、时序图 - 每个功能在类、方法的调有过程

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

目录

  • 软件产品研发过程 - 三、详细设计
  • 一、接口设计
    • 1、接口概述
    • 2、请求方式
    • 3、请求地址
    • 4、参数说明
    • 5、返回值说明
      • 5.1) 、成功返回结果
      • 5.2) 、失败返回结果
  • 二、DB表结构设计
  • 三、类图
    • 4、时序图

一、接口设计

1、接口概述

用文字的形式将接口实现的功能描述清楚,需要对接口调用的必备条件需要进行特别重点罗列。

2、请求方式

序号请求方式说明
1GETHttp请求,问号传参
2POSTHttp请求,Form传参
3PUTHttp请求,Form传参
3DELETEHttp请求,问号传参/路径传参数

3、请求地址

定义接口请求的URL地址,Http://IP:端口/一级模块/二级模块/接口方法

  • 例如:系统管理模块 - > 用户管理 -> 查询接口为Http://IP:端口/system/user/list

4、参数说明

序号参数名必填说明
1参数1参数1说明
2参数2参数2说明

5、返回值说明

5.1) 、成功返回结果

{
   "code": 200,
   "msg": "操作成功",
   "data": {
       "key-1": "值",
       "key-2": "值"
    }
}
序号返回值说明
1code返回值说明
2msg返回值说明
3data返回值说明
4key-1返回值说明
5key-2返回值说明

5.2) 、失败返回结果

{
   "code": 500,
   "msg": "操作失败,原因:xxx"
}
序号返回值说明
1code返回值说明
2msg返回值说明

二、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、日期类型时,要设置一个默认值,否则字段为空时程序中容易出错

三、类图

采用UML设计工具,将当前模块的功能从代码实现角度来设计类与类的关系,例如下图所示:

在这里插入图片描述

4、时序图

每个功能点一个时序图,基于类图设计,该功能在上面类设计基础上的对象之间的方法调用关系,也需要体现出代码中的分支、循环程序处理逻辑。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GRE实验

一:实验要求 1、本实验采用静态路由部署;ISP上不配置任何静态路由条目; 2、在R1、R3上部署GRE隧道,使得私网能够互通。 二:实验配置 r1 配置 ISP配置 r3配置 配置静态路由 建立GRE隧道 三:实验结果

微信会议活动微展示在线活动报名源码系统 带完整的搭建教程

随着微信的普及,微信会议活动已成为企业、团体和个人进行信息交流、业务推广和品牌宣传的重要平台。然而,如何高效地管理、展示和报名参加这些会议活动,一直是许多组织者面临的难题。下面,小编给大家分享一款微信会议活动微展示在…

android camera系列(Camera1、Camera2、CameraX)的使用以及输出的图像格式

一、Camera 1.1、结合SurfaceView实现预览 1.1.1、布局 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.android.com/apk/res-au…

cartographer离线建图报错:data_.trajectory_nodes.SizeOfTrajectoryOrZero

cartographer离线建图报错: data_.trajectory_nodes.SizeOfTrajectoryOrZero [FATAL] [1706177325.876019302, 1706015603.398505596]: F0125 18:08:45.000000 17607 pose_graph_2d.cc:1314] Check failed: data_.trajectory_nodes.SizeOfTrajectoryOrZero(trajectory_id) &…

git用法总结

以gitee为例&#xff0c;GitHub也可参考本文 创建远程仓库 在自己的gitee主页 创建本地仓库 在文件夹下&#xff0c;右键→git bash here git init添加gitignore vi .gitignoregitignore里的内容根据自己实际情况设置&#xff0c;这里举个例子 # #开头的是注释 # Prer…

DevSecOps 参考模型介绍

目录 一、参考模型概述 1.1 概述 二、参考模型分类 2.1 DevOps 组织型模型 2.1.1 DevOps 关键特性 2.1.1.1 模型特性图 2.1.1.2 特性讲解 2.1.1.2.1 自动化 2.1.1.2.2 多边协作 2.1.1.2.3 持续集成 2.1.1.2.4 配置管理 2.1.2 DevOps 生命周期 2.1.2.1 研发过程划分…

查看php-fpm占用内存情况

1、查看每个php-fpm占用的内存大小 ps -ylC php-fpm --sort:rss 2 查看单个php-fpm进程消耗内存的明细 pmap $(pgrep php-fpm) | less pmap pmap命令用于显示一个或多个进程的内存状态 pmap [ -x | -d ] [ -q ] pids 参数&#xff1a; -x extended Show the extended f…

对于小微企业而言,数字化转型的重要性是什么?

数字化转型对于小微企业至关重要&#xff0c;原因如下&#xff1a; 1.效率和生产力&#xff1a;采用数字工具和技术可以简化业务流程、自动化重复性任务并提高整体效率。这使得小型企业能够用更少的资源完成更多的工作&#xff0c;最终提高生产力。 2.节省成本&#xff1a;数…

DevSecOps 发展历史概述

目录 一、发展概述 1.1概述说明 二、DevSecOps 发展关键里程碑 2.1 2012年Gartner首次提出DevSecOps概念 2.2 2016年Gartner发布DevSecOps议题报告 2.3 2017年美国RSAC大会开辟DevSecOps专题 2.4 2018年美国RSAC大会提出黄金管道概念 2.5 2019年Gartner 发布了DevSecOps…

如何在Excel中隐藏部分数字或文本?这里提供几个方法

假设你有一张关于员工的一般信息表&#xff0c;但有些是私人的&#xff0c;比如社会安全号码。现在你想隐藏这些社会安全号码的一部分&#xff0c;如下截图所示&#xff0c;你如何快速解决它&#xff1f; 使用单元格格式部分隐藏 若要在Excel中隐藏部分社会保障号码&#xff…

Linux本地部署SVN服务结合内网穿透实现远程访问

文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…

ORM-05-javalite activejdbc 入门介绍

拓展阅读 The jdbc pool for java.(java 手写 jdbc 数据库连接池实现) The simple mybatis.&#xff08;手写简易版 mybatis&#xff09; ActiveJDBC ActiveJDBC 可以直接通过读取表的信息&#xff0c;来处理数据库相关操作。 优点 java model 中不需要任何的属性&#xff0…

绿原酸市场调研:预计2029年将达到1.8亿美元

绿原酸是一种有机化合物&#xff0c;化学式为C16H18O9&#xff0c;是金银花的主要抗菌、抗病毒有效药理成分之一。绿原酸具有较广泛的抗菌作用&#xff0c;但在体内能被蛋白质灭活。与咖啡酸相似&#xff0c;口服或腹腔注射时&#xff0c;可提高大鼠的中枢兴奋性。可增加大鼠及…

JavaScript柯里化与部分应用

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;《爱蹦跶的大A阿》 &#x1f525;当前正在更新专栏&#xff1a;《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​ 目录 ✨ 前言 ✨ 正文 一、函数柯里化(Currying) 什么是柯里化 柯里化实现…

python爬各平台评论并数据分析——数据采集、评论情绪分析、新闻热度

一、爬取数据 小问题汇总 1.python之matplotlib使用系统字体 用于解决python绘图中&#xff0c;中文字体显示问题 2.cookie与视频页面id&#xff08;b站、微博等&#xff09;查看 F12打开网页开发者模式&#xff0c;然后F5刷新&#xff0c;进入控制台中的网络&#xff0c;…

为何外贸公司应该采用CRM客户管理软件?

在外贸行业中&#xff0c;客户关系管理尤为关键。在当下的大数据背景下&#xff0c;所有规模的外贸公司都迫切地需要进行数字化改造。无论是大型公司还是小型业务&#xff0c;他们都希望通过深入分析客户数据&#xff0c;为用户提供更优的体验&#xff0c;并据此调整企业战略。…

自动化批量导入机器到Jumpserver:提高效率与一致性的关键步骤

Ansible批量主机机器到Jumpserver 1、背景 在现代 IT 环境中&#xff0c;随着机器数量的增加和复杂性的提高&#xff0c;手动管理和配置机器变得越来越困难和耗时。为了提高效率并确保一致性&#xff0c;自动化工具成为了不可或缺的一部分。Jumpserver 是一个功能强大的堡垒机…

Linux之系统安全与应用

Linux系统提供了多种机制来确保用户账号的正当&#xff0c;安全使用。 系统安全措施 一. 清理系统账号 1.1 将用户设置为无法登录 Linux系统中除手动创建的各种账号外&#xff0c;还包括随系统或程序安装过程而生成的其他大量账号。除了超级用户root以外&#xff0c;其他的…

企业能源消耗监测管理系统是否可以做好能源计量与能耗分析?

能源消耗与分析是能源科学管理的基础&#xff0c;也可促进能源管理工作的改善&#xff0c;在企业中能源管理系统的作用也愈加重要。 首先&#xff0c;能源计量是能源管理的基础&#xff0c;通过能源精准计老化&#xff0c;容易出现测量设备不准确以及其他一些人为因素原因导致…

NC65中间件能启动,前端客户端启动失败,加载异常,卡住(org.owasp.esapi)

控制台输出错误 ESAPI.properties could not be loaded by any means. Fail.SecurityConfiguration class(org.owasp.esapi.reference.DefaultSecurityConfiguration) CTOR threw exception.效果图&#xff1a; 解决方案 添加如下参数&#xff1a; -Dorg.owasp.esapi.resou…