% ===================================================================== % 设计说明书 LaTeX 模板 % 使用说明:将 {{变量名}} 替换为实际内容 % 截图:使用 \screenshot{文件名}{标题} 宏 % 编译:xelatex -interaction=nonstopmode 文件名.tex (运行两遍) % ===================================================================== \documentclass[a4paper,12pt]{article} \usepackage[UTF8,heading=true]{ctex} \usepackage[top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry} \usepackage{fancyhdr} \usepackage{lastpage} \usepackage{graphicx} \usepackage{tabularx} \usepackage{enumitem} \usepackage{hyperref} \usepackage{xcolor} \usepackage{float} \usepackage{longtable} \usepackage{array} \hypersetup{hidelinks} \graphicspath{{images/}} \ctexset{ section/format = \Large\bfseries, subsection/format = \large\bfseries, subsubsection/format = \normalsize\bfseries, } \pagestyle{fancy} \fancyhf{} \fancyhead[C]{{{软件全称}}V{{版本号}}\quad 设计说明书} \fancyfoot[C]{第 \thepage\ 页\quad 共 \pageref{LastPage} 页} \renewcommand{\headrulewidth}{0.5pt} \renewcommand{\footrulewidth}{0.5pt} \fancypagestyle{plain}{\pagestyle{fancy}} \setlength{\parindent}{2em} \setlength{\parskip}{0.3em} \renewcommand{\baselinestretch}{1.3} \newcommand{\screenshot}[2]{% \begin{figure}[H] \centering \includegraphics[width=0.35\textwidth]{#1} \caption{#2} \end{figure} } \begin{document} \begin{center} {\LARGE\bfseries {{软件全称}}\quad 设计说明书} \vspace{0.8em} {\large 著作权人:{{著作权人名称}}} \vspace{0.3em} 软件版本:V{{版本号}}\qquad 发布日期:{{首次发表日期}} \end{center} \vspace{1.5em} % ================================================================= \section{软件概述} % ================================================================= \subsection{软件简介} {{软件简介}} \subsection{开发背景} {{开发背景,描述行业痛点和用户需求}} \subsection{设计目标} \begin{itemize}[leftmargin=2em] \item {{目标1}} \item {{目标2}} \item {{目标3}} \end{itemize} % ================================================================= \section{需求分析} % ================================================================= \subsection{功能需求} \begin{enumerate}[leftmargin=2em] \item {{功能需求1}}。 \item {{功能需求2}}。 \item {{功能需求3}}。 \end{enumerate} \subsection{性能需求} \begin{itemize}[leftmargin=2em] \item 响应时间:{{响应时间要求}}。 \item 并发支持:{{并发要求}}。 \item 资源占用:{{资源要求}}。 \end{itemize} \subsection{安全需求} \begin{itemize}[leftmargin=2em] \item 数据加密:{{加密方案}}。 \item 权限控制:{{权限方案}}。 \item 防护措施:{{安全措施}}。 \end{itemize} % ================================================================= \section{总体设计} % ================================================================= \subsection{系统架构} {{系统架构描述,前后端架构、数据流}} \subsection{模块划分} 软件主要包含以下模块: \begin{itemize}[leftmargin=2em] \item {{模块1名称}}({{对应目录}}):{{模块1功能简述}}。 \item {{模块2名称}}({{对应目录}}):{{模块2功能简述}}。 \item {{模块3名称}}({{对应目录}}):{{模块3功能简述}}。 \end{itemize} \subsection{技术选型} \begin{itemize}[leftmargin=2em] \item {{技术1}}。 \item {{技术2}}。 \item {{技术3}}。 \end{itemize} \subsection{运行环境} \begin{itemize}[leftmargin=2em] \item \textbf{平台}:{{运行平台}}。 \item \textbf{客户端}:{{客户端要求,列出所有支持的操作系统}}。 \item \textbf{基础库版本}:{{版本信息}}。 \end{itemize} % ================================================================= \section{详细设计} % ================================================================= % ⚠️ 强制规则(避免补正): % 1. 每个在「源代码鉴别材料(前30页+后30页)」中出现过的模块/目录, % 在本节都必须有对应的 \subsection;反之,本节出现的每个模块, % 都必须能在源程序文档里看到对应代码。审查员会做双向核对。 % 2. 每个 \subsection 标题必须与项目实际目录或文件名对应(如 % pages/index、utils/api.js),不要起架空的中文名。 % 3. 每个模块按下面的 6 段结构展开,缺段会被打回。 % --- 为每个核心模块重复以下 6 段结构 --- \subsection{{{模块名称(与源代码目录/文件对应)}}} \subsubsection{模块职责} {{该模块在系统中承担的核心职责,一句话定位 + 1--2 句展开说明}} \subsubsection{输入与输出} \begin{itemize}[leftmargin=2em] \item \textbf{输入}:{{用户操作 / 上游模块传入的数据 / 跳转参数 / 接口入参}}。 \item \textbf{输出}:{{渲染结果 / 下游模块消费的数据 / 跳转目标 / 接口返回}}。 \end{itemize} \subsubsection{关键算法与处理逻辑} {{核心算法或业务逻辑描述,例如距离计算、日期匹配、过滤排序、状态转换等。 若涉及公式或判定规则,用列表或简短伪代码展示}} \subsubsection{状态与缓存管理} \begin{itemize}[leftmargin=2em] \item \textbf{本地状态}:{{页面/组件 data 字段、内存变量}}。 \item \textbf{持久化}:{{localStorage / 数据库 / 全局 globalData 等}}。 \item \textbf{失效与刷新策略}:{{何时清空、何时同步}}。 \end{itemize} \subsubsection{与其他模块的依赖关系} \begin{itemize}[leftmargin=2em] \item \textbf{依赖}:{{本模块调用了哪些上游模块/工具/接口}}。 \item \textbf{被依赖}:{{哪些下游模块依赖本模块的输出}}。 \end{itemize} \subsubsection{处理流程} \begin{enumerate}[leftmargin=2em] \item {{流程步骤1}}。 \item {{流程步骤2}}。 \item {{流程步骤3}}。 \end{enumerate} % \screenshot{图-模块截图.png}{模块界面} % --- 重复以上模式 --- % ================================================================= \section{数据结构设计} % ================================================================= \subsection{数据存储} \begin{itemize}[leftmargin=2em] \item \textbf{本地存储}:{{本地存储方案和内容}}。 \item \textbf{云端数据库}:{{云端存储方案和内容}}。 \end{itemize} \subsection{数据格式} \begin{itemize}[leftmargin=2em] \item {{数据格式1描述}}。 \item {{数据格式2描述}}。 \end{itemize} \subsection{数据关系} \begin{itemize}[leftmargin=2em] \item {{数据关系1}}。 \item {{数据关系2}}。 \end{itemize} % ================================================================= \section{接口设计} % ================================================================= \subsection{内部接口} \begin{itemize}[leftmargin=2em] \item {{内部接口1描述}}。 \item {{内部接口2描述}}。 \end{itemize} \subsection{外部接口} \begin{center} \begin{tabularx}{\textwidth}{|l|l|X|} \hline \textbf{接口} & \textbf{方法} & \textbf{说明} \\ \hline {{接口路径1}} & {{方法1}} & {{说明1}} \\ \hline {{接口路径2}} & {{方法2}} & {{说明2}} \\ \hline \end{tabularx} \end{center} % ================================================================= \section{界面设计} % ================================================================= \subsection{整体布局} {{整体布局描述}} % \screenshot{图-整体布局.png}{整体布局} \subsection{主要页面} % --- 为每个页面添加描述和截图 --- \subsubsection{{{页面名称}}} {{页面描述}} % \screenshot{图-页面.png}{页面说明} % --- 重复以上模式 --- \subsection{交互设计} % --- 描述主要交互方式 --- % ================================================================= \section{安全设计} % ================================================================= \subsection{认证机制} \begin{itemize}[leftmargin=2em] \item {{认证方式1}}。 \item {{认证方式2}}。 \end{itemize} \subsection{数据保护} \begin{itemize}[leftmargin=2em] \item {{数据保护措施1}}。 \item {{数据保护措施2}}。 \end{itemize} \subsection{访问控制} \begin{itemize}[leftmargin=2em] \item {{访问控制1}}。 \item {{访问控制2}}。 \end{itemize} % ================================================================= \section{测试设计} % ================================================================= \subsection{测试策略} \begin{itemize}[leftmargin=2em] \item 功能测试:{{功能测试范围}}。 \item 兼容性测试:{{兼容性测试范围}}。 \item 性能测试:{{性能测试范围}}。 \end{itemize} \subsection{测试环境} \begin{itemize}[leftmargin=2em] \item {{测试环境1}}。 \item {{测试环境2}}。 \end{itemize} \end{document}