详细设计文档模板

原文地址:https://www.cnblogs.com/hellowzl/p/11511922.html

详细设计文档模板

文件名称

 

文件版本

V1.0

文档编号

 

总页数

共  页

 

                                                                                                    xxx系统详细设计说明书                                                                                                           

 

拟  制

 

日  期

 

复  核

 

日  期

 

质  量

 

日  期

 

标准化

 

日  期

 

批  准

 

日  期

 

                                                                   xxx有限公司

                                                                  修订记录

日期

修订版本

描述

作者

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

目    录

 

1       引言... 5

1.1             背景... 5

1.2             编写目的与范围... 6

1.3             术语定义... 6

1.4             参考资料... 8

1.5             相关工具... 8

2       设计概述... 8

2.1             任务和目标... 8

2.2             需求概述... 8

2.3             运行环境概述... 9

2.3.1         硬件环境... 9

2.3.2         支持环境... 11

2.4             限制和约束... 11

2.5             详细设计方法... 11

3       总体方案确认... 12

3.1             体系结构详细设计... 12

3.2             功能模块划分... 13

3.3             程序框架设计... 13

4       系统详细设计... 15

4.1             车辆信息维护... 15

4.1.1         界面... 15

5       数据库设计... 40

6       安全性设计... 41

6.1             用户权限... 41

6.2             软件授权... 41

7       设计与开发规范... 43

 

1  引言

1.1   背景

xxx。

产品名称:xxx

所属系统:xxx

任务提出:xxx

任务承担:xxx

产品用户:xxx

应用场景:xxx。

1.2   编写目的与范围

本文档为“xxx系统详细设计说明书”,主要用于为实现系统功能而进行的系统详细设计说明,具体描述了系统包含的的软件模块的实现流程、功能、接口、数据结构等内容,供项目组开发人员和软件维护人员阅读。

本文档用于软件设计阶段的详细设计阶段,其范围是:系统各组成部门的构成;各软件模块(或类)的属性、方法、事件、外部接口;用户界面设计;数据结构设计等内容。

1.3   术语定义

分层:在分解复杂的软件系统时,软件设计者用得最多的技术之一就是分层。在计算机本身的架构中,可以看到:到处都有分层的例子。不同的层从包含了操作系统调用的程序设计语言,到设备驱动程序和CPU指令集,再到芯片内部的各种逻辑门。网络互联众,FTP层架构再TCP之上,TCP架构再IP之上,IP又架构再以太网之上。

当用分层的观点来考虑系统时,可以将各个子系统想象成按照“多层蛋糕”的形式来组织,每一层都依托在其下层之上。在这种组织方式下,上层使用了下层定义的各种服务,而下层对上层一无所知。另外,每一层对自己的上层隐藏其下层的细节。因此,第4层使用第3层的服务,第3层使用第2层的服务,第4层无需知道第2层的细节。(当然,并非所有的分层架构都这么隔绝,但绝大多数是不透明的,或至少是几乎不透明的。)

WPFWindows Presentation Foundation(WPF)是Microsoft的一个图形子系统(类似于WinForms),用于在基于Windows的应用程序中呈现用户界面。 WPF,以前称为“Avalon”,最初于2006年作为.NET Framework 3.0的一部分发布.WPF使用DirectX,并尝试为构建应用程序提供一致的编程模型。

MVVMModel-view-viewmodel是一种软件架构模式,它有助于将应用程序的业务和表示逻辑与其用户界面(UI)完全分离。 在应用程序逻辑和UI之间保持清晰的分离有助于解决许多开发问题,并使应用程序更易于测试,维护和发展。 它还可以极大地改善代码重用机会,并允许开发人员和UI设计人员在开发应用程序的各个部分时更轻松地进行协作。

MVVM模式中有三个核心组件:模型,视图和视图模型。 每个都有不同的目的。 下图显示了三个组件之间的关系。 

EF 6Entity Framework 6是一个经过实践检验的.NET对象关系映射器(O / RM),具有经过多年开发的功能和稳定性。

作为ORM,EF6减少了关系和面向对象世界之间的阻抗不匹配,使开发人员能够开发这样的程序:使用.NET应用程序域中的强类型对象,与存储在关系数据库中的数据进行交互,这样就不再需要编写大量的数据访问“管道”代码。

1.4   参考资料

《xxx需求规格设计说明书》

1.5   相关工具

设计时采用Power Designer、Visio等工具。开发时采用Visual Studio 2019、Sql Sever Management Studio 2012等工具。

2  设计概述

2.1   任务和目标

 

2.2   需求概述

 

2.3   运行环境概述

本系统的运行环境的规定如下:

2.3.1       硬件环境

本系统的硬件环境包括:

a)  服务器

服务器硬件推荐选用宝德至强双路云服务器PR2510SW,其主要技术参数如下表所示:

表1 服务器主要技术参数

指标名称

指标参数

处理器型号

Intel® Xeon® E5-2600V3/V4系列处理器

处理器数量

1/2个

尺寸

2U机架

内存

8 DIMM插槽, 支持2400MHz DDR4的RDIMM内存 ,最大支持512GB

硬盘

支持8个3.5”/2.5” SATA/SAS/SSD硬盘,可内置两个2.5” SATA/SAS/SSD硬盘,最大支持存储容量68TB

板载网络

集成2个Intel i210千兆GE网口;可选配外接千兆及万兆网卡

PCIE扩展

提供6个PCI-E 扩展插槽(3 PCI-E3.0×8,1 PCI-E3.0×4(in×8),1 PCI-E 3.0 ×16, 1 PCI-E 2.0×4(in ×8))

风扇

3个热插拔风扇

2.3.2       支持环境

本系统软件运行环境包括:

a)  xxx系统软件所需的软件支持环境包括:

1)   数据库: SQL Server 2008 R2;

2)   操作系统:Windows Server 2012 Enterprise(如需正版软件,由用户方提供);

3)   Web Server:IIS 7.5

4)   .Net Framework 4.5.2

2.4   限制和约束

 

2.5   详细设计方法

本文采用结构化设计方法,结合数据流图进行整体功能模块的划分。针对各个具体模块的设计采用面向对象设计方法,结合相应的UML模型进行功能设计,具体包括以包图表示的软件体系结构图,以交互图表示的用例实现图,完整精美的类图、针对复杂对象的类图,用以描述流程处理过程的活动图。

3  总体方案确认

3.1   体系结构详细设计

 

3.2   功能模块划分

 

3.3   程序框架设计

本系统采用分层架构模式将整个系统分为业务展示层(提供服务、显示信息)、系统服务层(业务逻辑,系统中真正的核心)、数据采集层(与数据库、消息系统及其他软件包通信)。

表现层采用MVVM(Model-View-View-Model)设计模式,结合微软 WPF 框架,可以把界面设计(用xaml语言实现)和业务逻辑开发(用C#实现)分离。

领域层设计符合面向接口编程规范,这样可以降低层与层之间的耦合,也有利于接口设计和实现的分离,但针对基本的单表的增删改查服务则是直接调用数据源层的EF API来实现,从而减少过度的接口封装。

数据源层运用ORM技术来简化对数据表结构的维护,具体运用了微软 .Net框架下的的Entity Framework 框架。

 

4  系统详细设计

4.1   车辆信息管理

4.1.1   菜单

基础数据 >> 车辆信息

 

4.1.2   界面

 

4.1.3   界面描述

页面元素

元素说明

查询条件

 

车牌号

文本录入,忽略大小写模糊匹配

列表项

 

车牌号

PlateNumber

操作

 

页面加载

默认不查询数据

查询

查询表“xxx”

固定条件:IsDelete != true

查询条件:根据条件录入,对应字段

排序:ID 倒序

 

4.1.4   新增/修改界面

 

4.1.5   功能详细说明

xxx。

4.1.6   类图

 

4.1.7   主要方法

public List<xxxDto> QueryList(); //查询信息列表

 

4.1.8   数据库表

xxx xxx表,表关系如下图:

 

4.1.9   UML模型

 

5  数据库设计

数据库表整体结构如下,详见《xxx系统数据库设计说明》。

 

6  安全性设计

6.1   用户权限

 

6.2   软件授权

 

7  设计与开发规范

7.1   界面设计原则

以用户为中心:Theo Mandel博士创造了人机交互的“黄金三原则”:置于用户控制之下;保持界面一致性;减轻用户的记忆负担。

拥有良好的直觉特征:以用户所熟悉的现实世界事务的抽象来给用户暗示和隐喻,来帮助用户快速地学会使用软件。

较快的响应速度。

简单且美观。

7.2   面向对象程序设计原则

单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因。

里氏替换原则(LSP):子类型(subtype)必须能够替换掉它们的基类型。

依赖倒置原则(DIP):

a高层模块不应该依赖于低层模块,两者都应该依赖于抽象。

b抽象不应该依赖于细节,细节应该依赖于抽象。

接口隔离原则(ISP):不应该强迫客户依赖于它们不要的方法。接口属于客户,不属于它所在的类层次结构。

开闭原则(OCP):软件实体(类、模块、函数等)应该是可以扩展的,但是不可修改的。

迪米特原则(LoD):也叫最少知识原则,即一个软件是他应当尽可能少地于其他实体发生相互作用,模块之间的交互要少。

7.3   编码规范

7.3.1   模块命名

       每一个模块分一个包,包名以包名的英文单词命名。小模块依次放在所属的大模块下面,也是以模块的英文单词来命名。

7.3.2   类命名

数据访问类,用驼峰式命名法,首字母大写,以业务名称开头,Repository结尾,例如UserRepository.cs。

业务逻辑类,用驼峰式命名法,首字母大写,以业务名称开头,Service结尾,例如UserService.cs。

业务控制类,用驼峰式命名法,首字母大写,以业务名称开头,ViewModel结尾,例子如UserViewModel.cs。

7.3.3   变量命名

要以有意义的命名的方式来为变量命名,并且单词首字母小写,以驼峰式命名法。

7.3.4   过程函数命名

本系统的过程或函数都在Sql Server2012中运行,命名规则按驼峰式命名法,写好每一个变量、过程、函数、包的注释。变量以@开头,后接实际名称。

总之一点,不管程序代码中还是数据库的过程或函数,都要以清晰的代码结构和详细的注释,以此为标准。

7.4   代码目录结构

  • 4
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
软件功能设计文档是软件开发过程中的重要文件之一,它描述了软件系统的功能需求、系统架构、模块设计、数据结构等内容,为开发人员提供了明确的开发指导。软件功能设计文档通常包括以下几个方面的内容: 首先,软件功能设计文档详细描述系统的功能需求,包括用户需求和系统功能需求。通过对功能需求进行详细的描述和分析,可以确保开发人员对系统功能有清晰的理解,从而更好地进行系统设计和开发。 其次,软件功能设计文档还会描述系统的架构设计,包括系统的整体结构、模块之间的关系,以及各个模块的功能和职责等内容。通过对系统架构进行详细设计,可以确保系统具有良好的可扩展性和可维护性。 此外,软件功能设计文档还会对系统的数据结构进行详细的描述,包括系统中所用到的各种数据结构和数据库设计等内容。通过对数据结构进行详细的描述和设计,可以确保系统能够高效地进行数据操作和管理。 最后,软件功能设计文档还会包括系统的用户界面设计,包括系统的界面布局、交互流程、视觉设计等内容。通过对用户界面进行详细设计,可以确保系统具有友好的用户体验。 总之,软件功能设计文档是软件开发过程中必不可少的一部分,它为开发人员提供了明确的设计指导,有助于确保软件系统的功能实现和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值