软件设计规约和评审

news2024/11/16 19:59:07

  • 软件设计规约
    • 概要设计规约:这是面向软件开发者的文档,主要作为软件项目管理人员、系统分析人员与设计人员之间交流的媒介。它指明了软件的组织结构,主要内容包括:
      • 系统环境:硬件、软件接口与人机界面;
      • 外部定义的数据库
      • 与设计有关的限定条件
      • 设计描述:数据流和主要数据结构;
      • 软件模块的结构
      • 模块之间的接口
      • 对每个模块的描述:处理过程外部行为、界面定义、数据结构、必要的注释;
      • 文件结构和全局数据:文件的逻辑结构、记录描述以及访问方式;
      • 交叉引用信息
    • 详细设计规约:这是对软件各组成部分内部属性的描述,它是概要设计的细化。在概要设计规约的基础上,增加了各处理过程的算法、算法所涉及的全部数据结构的描述,特别地,对主要数据结构往往包括与算法实现有关的描述。
    • 设计规约格式
      •  1. 引言
        •   1.1 编写目的
          •  说明编写本软件设计说明书的目的。
        •   1.2 背景说明
          • (1)给出待开发的软件产品的名称;
          • (2)说明本项目的提出者、开发者及用户;
          • (3)说明该软件产品将做什么,如有必要,说明不做什么;
        •   1.3 术语定义
          • 列出本文档中所用的专门术语的定义和外文首字母组词的原词组。
        •   1.4 参考文献
          • 列出本文档中所引用的全部资料,包括标题、文档编号、版本号、出版日期及出版单位等,必要时注明资料来源。
      • 2. 总体设计
        •   2.1 需求规定
          • 说明对本软件的主要输入、输出、处理等功能及性能要求。
        •   2.2 运行环境
          • 简要说明对本软件运行的软件、硬件环境和支持环境的要求。
        •   2.3 处理流程
          • 说明本软件的处理流程,尽量使用图、文、表的形式。
        •   2.2 软件结构
          • 在 DFD 图的基础上,用模块结构图来说明各层模块的划分及其相互关系,划分原则上应细到程序级(即程序单元),每个单元必须执行单独一个功能(即单元不能再分了)。
      • 3. 运行设计
        •   3.1 运行模块的组合
          • 说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块的组合,说明每种运行所经历的内部模块和支持软件。
        •   3.2 运行控制
          • 说明各运行控制方式、方法和具体的操作步骤。
      • 4. 系统出错处理
        •   4.1 出错信息简要说明每种可能的出错或故障情况出现时,系统输出信息的格式和含义
        •   4.2 出错处理方法及补救措施
          • (1)后备技术。当原始系统数据万一丢失时启用的副本的建立和启动的技术,如周期性的信息转储;
          • (2)性能降级。使用另一个效率稍低的系统或方法(如手工操作、数据的人工记录等),以求得到所需结果的某些部分;
          •  (3)恢复和再启动。用建立恢复点等技术,使软件再开始运行。
      • 5. 模块设计说明
        • (1)模块的一般说明,包括名称、编号、设计者、所在文件、所在库、调用本模块的模块名称和本模块调用的其他模块名;
        • (2)功能概述;
        • (3)处理描述;
        • (4)引用格式;
        • (5)返回值;
        • (6)内部接口,说明本软件内部各模块间的接口关系,包括:
          • (a)名称;
          • (b)意义;
          • (c)数据类型;
          • (d)有效范围;
          • (e)I/O 标志;
        • (7)外部接口,说明本软件同其他软件及硬件间的接口关系,包括:
          • (a)名称;
          • (b)意义;
          • (c)数据类型;
          • (d)有效范围;
          • (e)I/O 标志;
          • (f)格式,指输入或输出数据的语法规则和有关规定;
          • (g)媒体;
        •     (8)用户接口,说明将向用户提供的命令和命令的语法结构,以及软件的回答信息,包括:
          • (a)名称;
          • (b)意义;
          • (c)数据类型;
          • (d)有效范围;
          • (e)I/O 标志;
          • (f)格式,指输入或输出数据的语法规则和有关规定;
          • (g)媒体;

  • 软件设计评审
    • 设计评审(Design Review),就是对设计文档的评审。对于软件设计来说,评审与其技术设计方法本身是一样重要,评审对于研制项目的成功而言是绝对必要的。对设计进行评审是为了尽早发现软件的欠缺,尽可能把这些缺欠在进入下一阶段工作之前,予以纠正,从而避免后期付出更多的代价。
    • 设计评审方法
      • 目前存在着两种不同的设计评审方法:
      • 非正式评审
      • 正式技术评审
    • 软件设计评审指南
      • 概要设计评审和详细设计评审应该分开进行,不允许合并为一次复审;
      • 概要设计评审评价从需求设计数据体系结构的变换
      • 详细设计评审,通常叫详细设计走查,注重算法过程的正确性
      • 建立一个议事日程并遵循它;
      • 评审设计文档,不评审设计者;
      • 评审中提出的问题应详细记录,但不要谋求当场解决;
      • 限制参与人数和坚持充分准备;
      • 除软件开发人员外,概要设计评审必须有用户代表参加,必要时还可邀请有关领域的专家到会;
      • 详细设计评审一般不邀请用户和其他领域的代表;
      • 为设计文档开发一个检查表,以帮助评审人员集中在重要问题上;
      • 为了提高评审的效率,所有评审的参加者应接受一定的正规的培训
      • 评审结束前,应作出本次评审能否通过的结论。

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

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

相关文章

大模型下开源文档解析工具总结及技术思考

1 基于文档解析工具的方法 pdf解析工具 导图一览: PyPDF2提取txt: import PyPDF2 def extract_text_from_pdf(pdf_path):with open(pdf_path, rb) as file:pdf_reader PyPDF2.PdfFileReader(file)num_pages pdf_reader.numPagestext ""f…

WX小程序案例(一):弹幕列表

WXML内容 <!--pages/formCase/formCase.wxml--> <!-- <text>pages/formCase/formCase.wxml</text> --> <view class"bk bkimg"><!-- <image src"/static/imgs/ceeb653ely1g9na2k0k6ug206o06oaa8.gif" mode"scal…

【专题】树和二叉树的转换

目录 一、树转换成二叉树步骤一&#xff1a;加线——在兄弟之间加连线步骤二&#xff1a;抹线——除结点的左孩子外&#xff0c;去除其与其余孩子之间的关系步骤三&#xff1a;旋转——以树的根结点为轴心&#xff0c;将整树顺时针转45 二、二叉树转换成树步骤1&#xff1a;加线…

MQ入门—centos 7安装RabbitMQ 安装

三&#xff1a;RabbitMQ 安装 1.环境准备 Linux 的 CentOS 7.x 版本。Xftp 传输安装包到 Linux。Xshell 连接 Linux&#xff0c;进行解压安装。 RabbitMQ安装包 链接&#xff1a;https://pan.baidu.com/s/1ZYVI4YZlvMrj458jakla9A 提取码&#xff1a;dyto xshell安装包 链接&…

053:vue工具--- 英文字母大小写在线转换

第047个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…

拼多多买家页面批量导出订单excel

拼多多买家页面批量导出订单excel 由于拼多多不支持订单导出excel清算起来很麻烦&#xff0c;就自己写了一个页面批量导出脚本代码。 首先打开拼多多手机端网站&#xff1a;https://mobile.pinduoduo.com/ 登录后点击我的订单打开f12审查元素 在控制台引入jquery&#xff0c;引…

四十二、Redis

目录 一、简介 二、Redis基础 三、Redis的持久化 四、Redis主从、哨兵、分片集群安装 五、Redis主从 六、Redis哨兵 七、Redis分片集群 一、简介 Redis是一个内存中的数据结构存储系统&#xff0c;可以用作数据库、缓存和消息中间件。它的数据结构包括字符串、列表、集合…

BearPi Std 板从入门到放弃 - 先天神魂篇(7)(RT-Thread 定时器-硬件定时器)

简介 BearPi IOT开发板 硬件定时器使用步骤 创建项目 参考 BearPi RT-Thread项目创建 RT-Thread TIM2 设备注册 宏定义添加 rtconfig.h 中添加 #define RT_USING_HWTIMER #define BSP_USING_TIM #define BSP_USING_TIM2生成支持TIM2的mdk5项目工程 env 指令 scons --t…

图片转HTML-screenshot-to-code

Github地址 https://github.com/abi/screenshot-to-code 在线站 Screenshot to Code 简介 这是一个基于GPT4开发的一个工具站&#xff0c;它可以基于截图生成站点代码&#xff0c;生成速度快且准确。

jmeter,动态参数之随机数、随机日期

通过函数助手&#xff0c;执行以下配置&#xff1a; 执行后的结果树&#xff1a; 数据库中也成功添加了数据&#xff0c;对应字段是随机值&#xff1a;

make没有更新最新的uImage

在 LCD 驱动的时候发现&#xff0c;linux logo一直弄不出来&#xff0c;猜想可能是因为uImage的问题&#xff0c;就看了一眼 uImage 时间&#xff1a; ​ 我现在的时间是 &#xff0c;那可能就是没有更新make的时候没有更新&#xff0c;就上网搜了一下用下面的命令输出 uImage&…

nodejs+vue+微信小程序+python+PHP的微博网络舆情分析系统-计算机毕业设计推荐

2.3.1 功能性分析 按照微博网络舆情分析系统的角色&#xff0c;我划分为了微博用户管理模块和管理员管理模块这三大部分。 微博用户管理模块&#xff1a;&#xff08;1&#xff09;用户登录&#xff1a;用户登录微博网络舆情分析系统 &#xff1b;用户对个人信息的增删改查&…

Docker Swarm编排:构建简单集群

Docker Swarm 是 Docker 官方提供的容器编排工具&#xff0c;通过它可以轻松构建和管理多个 Docker 容器的集群。本文将深入探讨 Docker Swarm 的基础概念、构建集群的步骤&#xff0c;并提供更为丰富和实际的示例代码&#xff0c;帮助大家全面了解如何使用 Docker Swarm 搭建一…

直角三角形判断_分支结构 C语言xdoj56

问题描述 设直角三角形两条直角边长度为a和b&#xff0c;斜边长度为c&#xff0c;则a&#xff0c;b&#xff0c;c满足a^2b^2c^2&#xff0c; 输入三个整数a&#xff0c;b&#xff0c;c&#xff0c;判断对应的三角形是不是直角三角形&#xff0c;不是则输出“no”&#xff0…

Windows 11上边两个空格导致我多熬了1个多小时

将图中的文件路径复制&#xff0c;然后到文件管理器里边去搜索。 发现找不到&#xff0c;可是明明就在这里啊。 我百思不得其解&#xff0c;还以为是IDEA出了问题&#xff0c;我只能是重新启动项目&#xff0c;结果还是告诉我找不到文件。 要是同一个目录下已经有一个名为a…

C++执行系统命令的三种方式

C 执行系统命令可以使用以下几种方法&#xff1a; 1. 使用 system() 函数 system() 函数会调用操作系统的命令行处理器&#xff08;如 /bin/sh&#xff09;来执行命令。该函数的语法如下&#xff1a; int system(const char *command);其中&#xff0c;command 参数指定要执…

Gitee:远程仓库步骤

第一步&#xff1a;新建仓库 第二步&#xff1a;初始化本地仓库&#xff0c;git init 创建分支 git branch 新分支名 第三步&#xff1a;git add . &#xff1a;添加到暂存区 第四步&#xff1a;git config –global user.email关联邮箱&#xff0c;user.name用户名 第…

转载:TableView性能优化

转载&#xff1a;TableView性能优化 原文链接&#xff1a;https://juejin.cn/post/6955731915672387592 tableView性能优化 Cell重用、标识重用 使用 static 修饰重用标识名称能够保证这个标识只会创建一次&#xff0c;提高性能。接着调用dequeueReusableCellWithIdentifie…

Linux 使用 Anaconda+Uwsgi 部署 Django项目和前端项目

一、安装Anaconda 使用Anaconda创建python环境的优点&#xff1a; virtualenv只能创建系统原有的python版本&#xff0c;而不能创建创建任意版本的环境 而Anaconda的虚拟环境中&#xff0c;你可以指定任意现存可使用的python环境&#xff08;包括比原环境版本高的python版本&a…

产品入门第五讲:Axure交互和情境

目录 一.Axure交互和情境的介绍 1.交互介绍 概念 常见的Axure交互设计技巧 2.情境介绍 概念 常见的Axure情境设计技巧&#xff1a; 二.实例展示 1.ERP登录页到主页的跳转 2.ERP的菜单跳转到各个页面 &#x1f4da;&#x1f4da; &#x1f3c5;我是默&#xff0c;一个…