当前位置: 首页 > news >正文

软件工程文档规范要点总结

需求分析文档

1.目标用户应该体现为用例图里的执行者(执行者要标明是哪一类用户)

2.用例模型由功能概述得到,用例顺序图由基本交互过程得到,分析类图由顺序图得到

3.执行者和用例之间的关系:执行、触发、驱动

用例之间关系:包含include、扩展extend,箭头方向(include朝向子用例,extend朝向主用例

4.基本交互过程口语化(比如把“点击”等词汇换成“选择”)

5.分清前置条件和触发条件(例如软件运行启动、打开页面属于前置条件,用户选择某个操作属于触发条件)不要把前置条件和触发条件放在基本交互动作里

6.扩展交互动作是异常或意外状况,编号要从基本交互动作里选取,内容在其基础上扩展

7.顺序图需要标注出三种分析类:边界类<<boundary>>,控制类<<control>>,实体类<<entity>>

类名加下划线

8.用户不能和控制类直接交换信息,不允许跨越控制类

9.类的命名主要为名词,命名要具体

10.边界类最后不一定是给用户发消息,应该是边界类给自己发消息显示信息

11.用例模型左边是主动执行者,右边是被动执行者

软件设计文档

1.命令元素:方法;        动态/输入元素:属性;

静态元素不放在类图里,但要在界面外观设计图标出

2.在界面外观设计用特殊标注标出不同元素(同一类型用同样的颜色标志标出)

3.设计类不区分边界类、控制类、实体类,因此不在设计图中表示

4.分析类的职责映射给若干个设计类,设计类的大致框架在分析类的基础上得到

5.只要有实体类就有数据模型,数据模型的设计根据软件所需的Table,实体类转过来的要有key  表示关系用foreignkey,表和表之间的关系映射,通过相同的key和foreignkey来表示

6.数据模型中多对多关系中间还要有一个Table建立两个Table的联系

7.设计阶段顺序图传递的消息、类的命名等都为英文,为编码阶段做准备

8.方法带参数的要标明参数

文档通用

1.目录生成和更新页码,要能和实际内容对应上,图表的标号表示第n章的第i张图/表,表示为图n-i

2.每张图都要有图的编号/图注,图的引用(在正文中“如图x-x所示”)

3.图注和图不能跨页

4.正文字体和行间距保持一致

5.文档前后要具有一致性,清楚各部分元素的联系

相关文章:

软件工程文档规范要点总结

需求分析文档 1.目标用户应该体现为用例图里的执行者&#xff08;执行者要标明是哪一类用户&#xff09; 2.用例模型由功能概述得到&#xff0c;用例顺序图由基本交互过程得到&#xff0c;分析类图由顺序图得到 3.执行者和用例之间的关系&#xff1a;执行、触发、驱动 用例…...

Django 序列化serializers

在Django中&#xff0c;序列化通常指的是将数据库中的模型数据转换为JSON、XML或其他格式的过程。Django提供了内置的序列化工具&#xff0c;可以通过django.core.serializers模块进行序列化操作。 当你使用Django的序列化功能时&#xff0c;可以序列化以下两种对象类型&#…...

混个1024勋章

一眨眼毕业工作已经一年了&#xff0c;偶然进了游戏公司成了一名初级游戏服务器开发。前两天总结的时候&#xff0c;本来以为自己这一年没学到多少东西&#xff0c;但是看看自己的博客其实也有在进步&#xff0c;虽然比不上博客里的众多大佬&#xff0c;但是回头看也算是自己的…...

Java Spring Boot 项目开发示例指南

开发和扩展一个 Java Spring Boot 项目可以分为几个步骤。以下是一个简单的指南&#xff0c;涵盖项目的创建、基本功能的实现、以及扩展的示例。 第一步&#xff1a;创建 Spring Boot 项目 使用 Spring Initializr 创建项目: 访问 Spring Initializr选择项目的配置&#xff08…...

Python学习路线:从新手到专家

引言 Python 是一种高级编程语言&#xff0c;以其简洁清晰的语法而闻名&#xff0c;被广泛应用于Web开发、数据科学、人工智能、自动化脚本等领域。无论你是编程初学者还是有经验的开发者&#xff0c;Python 都是一个值得学习的语言。本文将提供一份详细的Python学习路线图&am…...

R实验——logistic回归、LDA、QDAKNN

数据集介绍&#xff1a; mpg&#xff0c;miles per gallon即油耗&#xff0c;这个数据集来自卡内基梅隆大学维护的StatLib库。1983年美国统计协会博览会使用了该数据集。这个数据集是对StatLib库中提供的数据集稍加修改的版本。根据Ross Quinlan(1993)在预测属性“mpg”中的使…...

Java 使用 itextpdf 自定义 生成 pdf

Java 使用 itextpdf 自定义 生成 pdf maven 依赖实现docker 服务 字体文件找不到问题 maven 依赖 <!-- iText 7 --> <dependency><groupId>com.itextpdf</groupId><artifactId>itext7-core</artifactId><version>7.2.3</version…...

Rust小练习,编写井字棋

画叉画圈的游戏通常指的是 井字棋&#xff08;Tic-Tac-Toe&#xff09;&#xff0c;是一个简单的两人游戏&#xff0c;规则如下&#xff1a; 游戏规则 棋盘&#xff1a;游戏在一个3x3的方格上进行。玩家&#xff1a;有两个玩家&#xff0c;一个用“X”表示&#xff0c;另一个…...

RabbitMQ 入门(八)SpringAMQP消息转换器

一、消息转换器 Spring会把你发送的消息序列化为字节发送给MQ&#xff0c;接收消息的时候&#xff0c;还会把字节反序列化为Java对象。 只不过&#xff0c;默认情况下Spring采用的序列化方式是JDK序列化。众所周知&#xff0c;JDK序列化存在下列问题&#xff1a; - 数…...

【C++】一文带你深入理解C++异常机制

⭐️个人主页&#xff1a;小羊 ⭐️所属专栏&#xff1a;C 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 前言一、C语言处理错误的方式二、C异常三、异常的使用3.1 异常的抛出和捕获3.2 异常的重新抛出3.3 异常安全3.4 异常规范 四、自定义异…...

Qt之QObject

简介 QObject是qt中所有对象的基类&#xff0c;也是信号槽的基础 结构 #mermaid-svg-mpp2FHEcRCzUK75S {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-mpp2FHEcRCzUK75S .error-icon{fill:#552222;}#mermaid-svg-…...

鸿蒙到底是不是纯血?到底能不能走向世界?

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 2016年5月鸿蒙系统开始立项。 2018年美国开始经济战争&#xff0c;其中一项就是制裁华为&#xff0c;不让华为用安卓。 2019年8月9日华为正式发布鸿蒙系统。问题就出在这里&#xff0c;大家可以仔细看。 安卓一…...

【Android】MVP架构

MVP架构简介 MVP&#xff08;Model-View-Presenter&#xff09;是一种常见的软件架构模式&#xff0c;尤其在Android应用开发中被广泛使用。它将应用程序分为三层&#xff1a;Model、View 和 Presenter&#xff0c;以实现职责分离&#xff0c;提高代码的可维护性和可测试性。 …...

Web服务器之Nginx

Nginx&#xff08;发音为Engine X&#xff09;是一款开源的高性能HTTP和反向代理服务器&#xff0c;同时也提供了IMAP/POP3/SMTP服务。由伊戈尔赛索耶夫&#xff08;Igor Sysoev&#xff09;为俄罗斯访问量第二的Rambler.ru站点开发&#xff0c;Nginx自发布以来&#xff0c;凭借…...

【大模型实战篇】大模型分词算法Unigram及代码示例

1. 算法原理介绍 与 BPE 分词&#xff08;参考《BPE原理及代码示例》&#xff09;和 WordPiece 分词&#xff08;参考《WordPiece原理及代码示例》&#xff09;不同&#xff0c;Unigram 分词方法【1】是从一个包含足够多字符串或词元的初始集合开始&#xff0c;迭代地删除其中的…...

Dockerfile搭建ELK

使用 Dockerfile 安装 ELK 一、引言 ELK Stack&#xff08;Elasticsearch, Logstash, Kibana&#xff09;是一种流行的日志管理和分析解决方案。它允许用户实时搜索、分析和可视化日志数据。通过 Docker&#xff0c;可以方便地部署 ELK &#xff0c;快速获取一个功能齐全的日…...

在合规的地方怎么用EACO地球链兑换交换价值?

地球链EACO&#xff08;EarthChain&#xff0c;简称$E&#xff09;是一种虚拟数字资产。 目前在中国大陆&#xff0c;虚拟资产相关业务活动属于金融活动&#xff0c;包括虚拟资产的交易、兑换等操作&#xff0c;因此应该谨慎去寻求如何用它来交换价值。 虚拟资产交易炒作活动&…...

VS无法安装Win10SDK_10.0.2200,快捷方法

Visual Studio无法安装Win10SDK_10.0.2200&#xff0c;我在安装VS2019、2022提示&#xff0c;软件就不能编译。 因为之前安装过VS软件&#xff0c;重新安装软件提示“无法安装”。 原因 之前安装在D盘&#xff0c;现在没有D盘了 说明 因为电脑第一次安装VS&#xff0c;会自动安…...

github多个账号配置多个SSH秘钥

背景 对于有多个github账号的同学&#xff0c;需要配置多个ssh秘钥分别管理多个账号。 方法 1、生成多个SSH秘钥 # 为第一个 GitHub 账号生成密钥 ssh-keygen -t ed25519 -C "your_email_1example.com" -f ~/.ssh/id_ed25519_github_work# 为第二个 GitHub 账号生…...

静态/动态代理详解,一次性看完再也不会搞不清!

代理官方原文翻译&#xff1a; 给其他对象提供一个代理或者占位符&#xff0c;来控制对这个对象的访问。 代理最核心的思想&#xff1a; 在客户端和目标对象之间创建一个“中介”&#xff0c;用于保护目标对象和增强目标对象 静态代理&#xff1a; 该代理对象需要我们手动…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链&#xff08;Filter Chain&#xff09;&#xff0c;核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤&#xff1a; 用户提交登录请求拦…...

C++--string的模拟实现

一,引言 string的模拟实现是只对string对象中给的主要功能经行模拟实现&#xff0c;其目的是加强对string的底层了解&#xff0c;以便于在以后的学习或者工作中更加熟练的使用string。本文中的代码仅供参考并不唯一。 二,默认成员函数 string主要有三个成员变量&#xff0c;…...

Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合

无论是python&#xff0c;或者java 的大型项目中&#xff0c;都会涉及到 自身平台微服务之间的相互调用&#xff0c;以及和第三发平台的 接口对接&#xff0c;那在python 中是怎么实现的呢&#xff1f; 在 Python Web 开发中&#xff0c;FastAPI 和 Django 是两个重要但定位不…...

结构化文件管理实战:实现目录自动创建与归类

手动操作容易因疲劳或疏忽导致命名错误、路径混乱等问题&#xff0c;进而引发后续程序异常。使用工具进行标准化操作&#xff0c;能有效降低出错概率。 需要快速整理大量文件的技术用户而言&#xff0c;这款工具提供了一种轻便高效的解决方案。程序体积仅有 156KB&#xff0c;…...