Detailed design document templates

file name

 

file version

V1.0

Document No.

 

total pages

Total page

 

                                                                                                    xxx detailed design specification                                                                                                           

 

Proposed system

 

Date

 

Nuclear Complex

 

Date

 

Quality

 

Date

 

standardization

 

Date

 

Approval

 

Date

 

                                                                   xxx Co., Ltd.

                                                                  Revision History

date

Revisions

description

Author

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

table of Contents

 

1 Introduction ... 5

1.1 Background ... 5

1.2 Purpose and scope write ... 6

Definition 1.3 ... 6

1.4 References ... 8

1.5 tools ... 8

Design Overview 2 ... 8

2.1 tasks and objectives ... 8

2.2 Demand Overview ... 8

2.3 Overview of the operating environment ... 9

2.3.1 Hardware environment ... 9

2.3.2 support environment ... 11

2.4 Limitations and Restrictions ... 11

2.5 Detailed design method ... 11

3 12 overall program to confirm ...

3.1 architecture, detailed design ... 12

3.2 function modules ... 13

3.3 application framework design ... 13

4 detailed design ... 15

4.1 15 vehicle information maintenance ...

4.1.1 Interface ... 15

5 Database Design ... 40

6 Security Design ... 41

6.1 User rights ... 41

6.2 Software license ... 41

7 Design and development specifications ... 43

 

1 Introduction

1.1 Background

xxx。

Product Name: xxx

Your system: xxx

Task propose: xxx

Tasks undertaken: xxx

Products User: xxx

Application scenarios: xxx.

1.2 Purpose and scope write

This document is "xxx detailed design specification", detailed description is mainly used to implement the system functions performed by the system, specifically describes the contents of the process implemented software modules included in the system, functions, interfaces, data structures, etc. for the project group of developers and software maintenance personnel to read.

This document is a detailed design phase of the software design phase, which are: various components constituting the system of the department; attributes of the software module (or class), methods, events, external interface; user interface design; Data Structure Design and so on.

1.3 Definition of Terms

Stratified: in the decomposition of complex software systems, software designers with technology is one of the most stratified. In the architecture of the computer itself, you can see: Example everywhere stratification. Different layers from the group consisting of programming language operating system call to the device driver and the CPU instruction set, various logic gates and then to the interior of the chip. Public networking, FTP over TCP layer architecture again, and then on top of TCP architecture IP, IP and Ethernet infrastructure over again.

When Hierarchical be considered in this system, each subsystem can be thought of as the form of a "layer cake" to organize, each layer relies on the lower layer. In this organization, the upper layer using a variety of underlying services defined in the lower layer of the upper ignorant. In addition, each layer of the upper hidden details of its own lower. Thus, the fourth layer using the third layer service, using the service layer 3 the second layer, the fourth layer is not required to know the details of the second layer. (Of course, not all of the layered architecture are so isolated, but the vast majority is opaque, or at least nearly opaque.)

WPF : Windows Presentation Foundation (WPF) Microsoft is a graphics subsystem (like WinForms), presenting a user interface for Windows-based applications. WPF, formerly known as "Avalon", originally in 2006 using DirectX, and try to provide a consistent programming model for building applications as part of the .NET Framework release .WPF 3.0.

The MVVM : the Model-View-ViewModel is a software architecture model, it helps the business applications and their users represent logical interface (UI) completely separated. Maintaining a clear separation helps solve many development problems between the application logic and UI, and make the application easier to test, maintain and develop. It can greatly improve code reuse opportunities and allows developers and UI designers to more easily collaborate in the development of various parts of the application.

MVVM pattern has three core components: model, view and view model. Each has a different purpose. The following figure shows the relationship between the three components. 

6 EF : the Entity Framework 6 is a proven .NET Object Relational Mapper (O / RM), it has developed after many years of functionality and stability.

As ORM, EF6 reduce the relationship between the object-oriented world impedance mismatch, enabling developers to develop such a program: the use of strongly typed objects .NET application domain, interact with the data stored in a relational database, this eliminates the need to write a lot of data access "plumbing" code.

1.4 References

"Xxx requirements specification design specifications"

1.5 tools

Using Power Designer, Visio and other tools designed. Using Visual Studio 2019, Sql Sever Management Studio 2012 and other tools developed.

2 Design Overview

2.1 Tasks and objectives

 

2.2 Demand Overview

 

2.3 Overview of the operating environment

A predetermined operating environment of the present system as follows:

2.3.1 Hardware environment

The system hardware environment include:

a) server

Pao server hardware recommended use dual Xeon server cloud PR2510SW, the main technical parameters as follows:

The main technical parameters in Table 1 server

Index Name

index parameter

Processor Type

Intel® Xeon® E5-2600V3 / V4 series processors

Number of processors

1/2

size

2U Rack

RAM

8 DIMM slots, supports the 2400MHz DDR4 RDIMM memory, up to 512GB

hard disk

Supports eight 3.5 "/2.5" SATA / SAS / SSD hard disk, built-in two 2.5 "SATA / SAS / SSD hard disk, supporting the maximum storage capacity 68TB

Onboard Network

2 Intel i210 integrated GE Gigabit Ethernet ports; optional external Gigabit and Gigabit network cards

PCIE expansion

PCI-E provides six expansion slots (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))

fan

Three hot-swap fans

2.3.2 Support Environment

The system software operating environment include:

a) xxx system software required software support environment, including:

1) Database: SQL Server 2008 R2;

2) Operating System: Windows Server 2012 Enterprise (For licensed software, provided by the user side);

3)   Web Server:IIS 7.5

4)   .Net Framework 4.5.2

2.4 Limitations and Restrictions

 

2.5 Detailed design method

In this paper structure design method, in conjunction with the overall data flow graph is divided functional modules. Design for each particular module using object oriented programming, in conjunction with the corresponding UML model function design, including software architecture diagram of packets FIG represented by Example interactively view showing implementation of FIG complete fine class diagram for the complex FIG class object for activity described processing procedure of FIG.

3 overall program confirmed

3.1 Detailed Design Architecture

 

3.2 function modules

 

3.3 application framework design

The system uses a layered architecture of the whole system is divided into operational mode presentation layer (serving, display information), the system service layer (business logic, real core system), the data acquisition layer (with databases, messaging systems, and other software packages communication).

Presentation layer using MVVM (Model-View-View-Model) design pattern, in conjunction with Microsoft WPF framework, the interface can be designed (implemented xaml languages) and development of business logic (implemented using C #) separation.

FIELD layer EF oriented programming interface designed to meet specifications, which can reduce the coupling between the layers, but also to facilitate separation of interface design and implementation, but the basic single-table for CRUD direct call service is the data source layer API to implement, thereby reducing the excessive interface package.

Data source layer using ORM technology to simplify the maintenance of the data structure of the table, using a specific Entity Framework Microsoft .Net framework of the frame.

 

4 detailed design

4.1 Vehicle Information Management

4.1.1 Menu

Basic vehicle information data >>

 

4.1.2 Interface

 

4.1.3 Interface Description

Page elements

Element Description

Query conditions

 

number plate

Text entry, fuzzy matching ignore case

List items

 

number plate

Plate Number

operating

 

Page load

Default does not query data

Inquire

Lookup table "xxx"

Fixed condition: IsDelete = true!

Query: The entry conditions, the corresponding field

Sort by: ID descending

 

4.1.4 Add / Edit Interface

 

4.1.5 Functions Detailed

xxx。

FIG class 4.1.6

 

4.1.7 The main method

public List <xxxDto> QueryList (); // Query List

 

4.1.8 database tables

xxx xxx table, the relationship table as shown below:

 

4.1.9 UML model

 

5 Database Design

Overall structure of a database table is as follows, see "xxx Design of Database System Description."

 

6 Security Design

6.1 user permissions

 

6.2 Software Licensing

 

7 Design and development of norms

7.1 interface design principles

User-centric: Mandel Dr. Theo created the "golden three principles of" human-computer interaction: placed under user control; maintaining interface consistency; lighten the burden on the user's memory.

Have good intuition features: abstract users are familiar with the real world affairs and to suggest a metaphor, to help users quickly learn to use the software to the user.

Fast response.

Simple and beautiful.

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   代码目录结构

Guess you like

Origin www.cnblogs.com/hellowzl/p/11511922.html
Recommended