How to Do a Design Document for Software

Software design documents come in many varieties, but almost all share the common goal of describing software functions, data or interfaces. Design documents range from high-level architectural documents to detailed design documents, interface control documents and flowchart documents. Some design documents are free form, while others follow a more formal approach such as the Unified Modeling Language (UML).

1
Determine what level your design document will cover. For example, if you are doing an interface control document between your software and another system or software component, then you'll need a low-level design document that will include details of the interface. On the other hand, if you are working on a new design, then you may need a design document such as an architectural design document that shows the software at a high level of abstraction.

2
Determine what information to include. The information to include will depend on the type of design document you are drafting and whet level of detail you need. For example, in an interface control document, you'll need to include information such as a description of the data that will be transferred over the interface, how requests are made and how those requests are answered. You may also include other information, such as how future expansion or modifications will be handled and how errors are handled.

3
Draft a document outline. Once you know what information you'll be including, you can draft an outline of the design document. The outline will serve as your framework for writing the design document. Once you have your outline completed, check the outline against the level of detail and information you decided to include to make certain that your document will cover what you planned to cover.

4
Add design information to your outline. Using the outline you created in the previous step, begin filling in the details of the design document. In the interface control document example, you may identify things like the specific data items that are exchanged in a particular data structure or the timing of data exchanges. You should write your design document to a level of detail that completely conveys the information needed to understand the design at the appropriate level.

5
Update your design document as things change. Software designs typically evolve as a project progresses. Be sure to revisit your design document and keep it up-to-date with your current design so that when the project is complete, the design document accurately reflects the completed design and can be used by others in the future for maintenance or modification tasks.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
非常好的一个设计文档,可以作为模板 TABLE OF CONTENTS 1 INTRODUCTION ............................................................................................................................................................... 10 2 APPLICABLE AND REFERENCE DOCUMENTS .............................................................................................................. 11 3 TERMS, DEFINITION AND ABBREVIATIONS TERMS ....................................................................................................... 13 4 SOFTWARE DESIGN OVERVIEW .................................................................................................................................... 15 4.1 Software static architecture ................................................................................................................................. 15 4.1.1 Components Overview .............................................................................................................................. 15 4.1.2 Relationship with other systems ................................................................................................................ 16 4.1.3 Information Model Overview .................................................................................................................... 17 4.1.3.1 Order Options Model .................................................................................................................. 17 4.1.3.2 Order Model ................................................................................................................................. 19 4.1.3.3 User Profile Overview ................................................................................................................... 21 4.2 Software dynamic architecture .......................................................................................................................... 21 4.3 Interfaces Context ................................................................................................................................................. 22 4.3.1 OPGW vs. HMA Client (Input Interfaces) ................................................................................................ 24 4.3.1.1 HMA Ordering::GetCapabilities [Discrete flow] ..................................................................... 24 4.3.1.2 HMA Ordering::GetOptions [Discrete flow] ............................................................................. 25 4.3.1.3 HMA Ordering::Submit [Discrete flow]...................................................................................... 25 4.3.1.4 HMA Ordering::GetStatus [Discrete flow] ................................................................................ 25 4.3.1.5 HMA Ordering::Cancel [Discrete flow] .................................................................................... 26 4.3.1.6 HMA Ordering::GetQuotation [Discrete flow] ........................................................................ 26 4.3.1.7 HMA Ordering::DescribeResultAccess [Discrete flow] .......................................................... 26 4.3.1.8 key exchange [Control flow] ..................................................................................................... 27 4.3.2 OPGW vs. HMA Client (Output Interfaces)............................................................................................. 27 4.3.2.1 HMA Ordering::SubmitResponse [Discrete flow] .................................................................... 27 4.3.2.2 HMA Ordering::CancelResponse [Discrete flow] ................................................................... 28 4.3.2.3 HMA Ordering::GetQuotationResponse [Discrete flow] ....................................................... 28 4.3.3 OPGW vs. EOLI XML Catalogue (Input Interfaces) ............................................................................... 28 4.3.4 OPGW vs. EOLI XML Catalogue (Output Interfaces) ............................................................................ 28 4.3.4.1 EOLI XML Catalogue::processPresentationRequest [Discrete flow] ................................... 28 4.3.5 OPGW vs. EOLI XML Order Server (Input Interfaces)............................................................................. 29 4.3.6 OPGW vs. EOLI XML Order Server (Output Interfaces) ......................................................................... 29 4.3.6.1 EOLI XML Order::processProductOrderRequest [Discrete flow] .......................................... 29 4.3.6.2 EOLI XML Order::processOrderMonitorRequest [Discrete flow] ........................................... 29 4.3.7 OPGW vs. OPGW Operator (Input Interfaces) ...................................................................................... 29 UNCLASSIFIED P50638/DSASGT-0083-10/00 OPGW – Software Design Document for HMA Follow On Task4 - Order Page 4 of 71 Elsag Datamat spa Copyright as reported on the cover page 4.3.7.1 ServiceDirectory.xml [Discrete flow] ......................................................................................... 29 4.3.7.2 Users_YYYYMMDD_HHMMSS.xml [Discrete flow] ..................................................................... 30 4.4 Long lifetime software ........................................................................................................................................... 30 4.5 Memory and CPU budget .................................................................................................................................... 30 4.6 Design Standards, conventions and procedures ............................................................................................. 31 4.6.1 UML Notations .............................................................................................................................................. 31 4.6.1.1 Deployment Diagrams Notations.............................................................................................. 31 4.6.1.2 Component Diagrams Notations .............................................................................................. 32 4.6.1.3 Class Diagrams Notations ........................................................................................................... 33 4.6.1.4 Sequence Diagrams Notations ................................................................................................. 37 4.6.2 Data Flow Diagrams Notations ................................................................................................................. 37 4.6.3 Database Schema Notations ................................................................................................................... 38 5 SOFTWARE DESIGN ......................................................................................................................................................... 39 5.1 General .................................................................................................................................................................... 39 5.2 Overall architecture............................................................................................................................................... 39 5.2.1 Components overview .............................................................................................................................. 39 5.3 Software components design - General ........................................................................................................... 41 5.4 Software components design – Aspect of each component ....................................................................... 42 5.4.1 OPGW - HMA Skeleton [RD-02] ................................................................................................................. 42 5.4.1.1 Type ................................................................................................................................................ 42 5.4.1.2 Purpose .......................................................................................................................................... 42 5.4.1.3 Function ......................................................................................................................................... 42 5.4.1.4 Subordinates ................................................................................................................................. 43 5.4.1.5 Dependencies .............................................................................................................................. 43 5.4.1.6 Interfaces ....................................................................................................................................... 43 5.4.1.7 Resources ...................................................................................................................................... 43 5.4.1.8 References .................................................................................................................................... 43 5.4.1.9 Processing...................................................................................................................................... 43 5.4.1.10 Data ............................................................................................................................................... 43 5.4.2 OPGW - Order Service ............................................................................................................................... 44 5.4.2.1 Type ................................................................................................................................................ 48 5.4.2.2 Purpose .......................................................................................................................................... 48 5.4.2.3 Function ......................................................................................................................................... 48 5.4.2.4 Subordinates ................................................................................................................................. 49 5.4.2.5 Dependencies .............................................................................................................................. 49 5.4.2.6 Interfaces ....................................................................................................................................... 49 UNCLASSIFIED P50638/DSASGT-0083-10/00 OPGW – Software Design Document for HMA Follow On Task4 - Order Page 5 of 71 Elsag Datamat spa Copyright as reported on the cover page 5.4.2.7 Resources ...................................................................................................................................... 49 5.4.2.8 References .................................................................................................................................... 49 5.4.2.9 Processing...................................................................................................................................... 50 5.4.2.10 Data ............................................................................................................................................... 50 5.4.3 OPGW - Support Tools ................................................................................................................................ 51 5.4.3.1 Type ................................................................................................................................................ 52 5.4.3.2 Purpose .......................................................................................................................................... 52 5.4.3.3 Function ......................................................................................................................................... 52 5.4.3.4 Subordinates ................................................................................................................................. 52 5.4.3.5 Dependencies .............................................................................................................................. 53 5.4.3.6 Interfaces ....................................................................................................................................... 53 5.4.3.7 Resources ...................................................................................................................................... 53 5.4.3.8 References .................................................................................................................................... 53 5.4.3.9 Processing...................................................................................................................................... 53 5.4.3.10 Data ............................................................................................................................................... 53 5.4.4 OPGW - Database ...................................................................................................................................... 54 5.4.4.1 Type ................................................................................................................................................ 55 5.4.4.2 Purpose .......................................................................................................................................... 55 5.4.4.3 Function ......................................................................................................................................... 55 5.4.4.4 Subordinates ................................................................................................................................. 55 5.4.4.5 Dependencies .............................................................................................................................. 55 5.4.4.6 Interfaces ....................................................................................................................................... 55 5.4.4.7 Resources ...................................................................................................................................... 56 5.4.4.8 References .................................................................................................................................... 56 5.4.4.9 Processing...................................................................................................................................... 56 5.4.4.10 Data ............................................................................................................................................... 56 5.4.5 Security Layer ............................................................................................................................................... 57 5.4.5.1 Type ................................................................................................................................................ 58 5.4.5.2 Purpose .......................................................................................................................................... 58 5.4.5.3 Function ......................................................................................................................................... 58 5.4.5.4 Subordinates ................................................................................................................................. 58 5.4.5.5 Dependencies .............................................................................................................................. 58 5.4.5.6 Interfaces ....................................................................................................................................... 58 5.4.5.7 Resources ...................................................................................................................................... 58 5.4.5.8 References .................................................................................................................................... 58 5.4.5.9 Processing...................................................................................................................................... 58 UNCLASSIFIED P50638/DSASGT-0083-10/00 OPGW – Software Design Document for HMA Follow On Task4 - Order Page 6 of 71 Elsag Datamat spa Copyright as reported on the cover page 5.4.5.10 Data ............................................................................................................................................... 59 5.5 Dynamical Model ................................................................................................................................................... 59 5.5.1 Identity Management Scenario ............................................................................................................... 59 5.5.2 Product Ordering Scenario ....................................................................................................................... 60 5.5.3 Configuration Scenario .............................................................................................................................. 62 5.5.4 Asynchronous operations .......................................................................................................................... 62 5.6 Internal Interfaces design ..................................................................................................................................... 63 5.6.1 activate Ordering Class ............................................................................................................................. 63 5.6.1.1 Type ................................................................................................................................................ 63 5.6.1.2 Description .................................................................................................................................... 63 5.6.2 key ................................................................................................................................................................. 63 5.6.2.1 Type ................................................................................................................................................ 63 5.6.2.2 Description .................................................................................................................................... 63 5.6.3 decrypt SAML Token ................................................................................................................................... 63 5.6.3.1 Type ................................................................................................................................................ 63 5.6.3.2 Description .................................................................................................................................... 63 5.6.4 encrypt SAML Token ................................................................................................................................... 64 5.6.4.1 Type ................................................................................................................................................ 64 5.6.4.2 Description .................................................................................................................................... 64 5.6.5 create signature .......................................................................................................................................... 64 5.6.5.1 Type ................................................................................................................................................ 64 5.6.5.2 Description .................................................................................................................................... 64 5.6.6 verify signature ............................................................................................................................................ 64 5.6.6.1 Type ................................................................................................................................................ 64 5.6.6.2 Description .................................................................................................................................... 64 5.6.7 Database Files ............................................................................................................................................. 64 5.6.7.1 Type ................................................................................................................................................ 64 5.6.7.2 Description .................................................................................................................................... 64 5.6.8 HMA Ordering ICD Interface .................................................................................................................... 64 5.6.8.1 Type ................................................................................................................................................ 64 5.6.8.2 Description .................................................................................................................................... 64 5.6.9 JDBC access ................................................................................................................................................ 65 5.6.9.1 Type ................................................................................................................................................ 65 5.6.9.2 Description .................................................................................................................................... 65 5.6.10 Order Capabilities File ................................................................................................................................ 65 5.6.10.1 Type ................................................................................................................................................ 65 UNCLASSIFIED P50638/DSASGT-0083-10/00 OPGW – Software Design Document for HMA Follow On Task4 - Order Page 7 of 71 Elsag Datamat spa Copyright as reported on the cover page

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值