High Level Design in short HLD is the general system design means it refers to the overall system design. It describes the overall description/architecture of the application. It includes the description of system architecture, data base design, brief description on systems, services, platforms and relationship among modules. It is also known as macro level/system design. It is created by solution architect. It converts the Business/client requirement into High Level Solution. It is created first means before Low Level Design.
All the really important mistakes are made the first day.
– Eberhardt Rechtin, System Architecting
同时以下是一个软件设计文档模板:
System Design Standards | ||
Date: Oct 2020 | ||
Prepared By: | ||
Project: CAWS Standards Documentation | ||
Harvest Package Name: | ||
Harvest Version: | ||
Contract: N/A |
This section lists the various versions or releases of the document.
Version | Details/Description | Distribution | Date | Author |
Contents
Revision History............................................................................................................................................................. 1
<About this document>............................................................................................................................................... 5
<Ministry Standards>............................................................................................................................................... 5
1. Introduction........................................................................................................................................................... 6
1.1 Document Purpose....................................................................................................................................... 6
1.2 Audience......................................................................................................................................................... 6
1.3 System Overview........................................................................................................................................... 6
1.4 References...................................................................................................................................................... 7
1.5 Design Methodology.................................................................................................................................... 7
1.6 Quality Assurance......................................................................................................................................... 7
1.7 System Background...................................................................................................................................... 7
1.8 System Objectives......................................................................................................................................... 7
1.9 System Constraints....................................................................................................................................... 7
1.10 Measures of Success..................................................................................................................................... 8
1.11 Guiding Principles........................................................................................................................................ 8
1.12 <Revision of System Design to Match As-Built System>...................................................................... 8
2. System Architecture............................................................................................................................................ 8
2.1 Architectural Design.................................................................................................................................... 8
2.2 Decomposition Description......................................................................................................................... 8
2.3 Design Rationale........................................................................................................................................... 9
3. Process Design....................................................................................................................................................... 9
4. Data Design............................................................................................................................................................ 9
4.1 High-level Data Interactions...................................................................................................................... 9
4.2 Data Security................................................................................................................................................. 9
5. Human Interface Design.................................................................................................................................. 10
5.1 Overview...................................................................................................................................................... 10
5.2 Screens......................................................................................................................................................... 10
5.3 Reports......................................................................................................................................................... 12
5.4 Help............................................................................................................................................................... 13
5.5 Error Messages........................................................................................................................................... 13
6. Technical Requirements.................................................................................................................................. 13
6.1 Capacity....................................................................................................................................................... 13
6.2 Software........................................................................................................................................................ 14
6.3 Hardware..................................................................................................................................................... 14
6.4 Communication protocols......................................................................................................................... 14
6.5 Interoperability Requirements.................................................................................................................. 14
6.6 Performance................................................................................................................................................ 14
6.7 Hardware/Software Interfaces................................................................................................................. 15
Sign-Off.......................................................................................................................................................................... 16
Appendix A. Definitions, Acronyms, and Abbreviations................................................................................. 16
Appendix B. Screen Images...................................................................................................................................... 17
Appendix C. Report Layouts................................................................................................................................... 17
Appendix D. Known Issues....................................................................................................................................... 17
<This document is the standard template for Design Specification documents. Text enclosed in angle brackets (< >) are comments that would not be included in an actual Design Specification.
The contents of this document are based upon the concepts espoused in the document “IEEE Std 1016-1998 - Recommended Practice for Software Design Descriptions.”
The context of this document is directed primarily towards the design of .NET Web applications – this is the target architecture for custom applications being developed for the Ministry.
The system identified in the System Design document must be decomposed to the point where each subsystem is clearly identified and specify the extent to which subsystems depend on each other. In general, each subsystem should perform a single function.
It is expected that a logical system description and a physical system description be included. By this we mean that:
It is also expected that the completed document be concise and clear, with an effort to eliminate vagueness and unnecessary verbiage. Finally, it is expected that the Systems Design document will receive one final revision following system build to describe the as-built system.>
<The standards mentioned in this document may change without notice. It is the responsibility of the vendor to confirm current standards with the Ministry.
Any exceptions to the standards must have prior written approval of the Ministry’s Technical Architect
Complete exemption from using this System Design Standards template must be attained by the Director, ISB.>
<The Introduction section provides an overview of the Design Specifications and the scope of the system.>
<Define the purpose of the Design Specifications document.>
This document describes the system design specifications for the <name of system>. It describes how the application will be constructed by specifying the components to be used, how they will be organized in relation to each other, and the general principles of the application's internal construction.
This document also serves as a systems reference manual for the running system once it is implemented, and is the primary reference for application migrations, support and maintenance.
<The description must go beyond detailed requirements to cover physical design. The description must be sufficiently detailed to enable a project team to build the system without any further breakdown and for support staff to understand the running system in its environment once the system becomes operational.>
The intended audience for the document is technically proficient, but does not necessarily have specific knowledge of the business areas involved.
During application development and implementation, it will be used primarily by:
After implementation, it will serve as the authoritative description of the application as built, and will be used primarily by operations and maintenance staff.
<This section provides an overview of the system. Specifically, it will:
· Describe relevant benefits, objectives and goals as precisely as possible
· Provide a context diagram for the system (if useful to readers), clearly delineating the sub-systems in-scope and out-of-scope
The description of scope must be consistent with higher-level project documents (e.g. Project Charter, Project Plan).>
Any/all references to “the system” will relate to the contents of this section.
<List any documents referenced in Design Specifications document, such as:
· Project Charter
· Project Plan
· Requirements document
· Documentation of whiteboard session outcomes and decisions
· Change requests
Include the version number of each document and the URL of any document repositories.>
<List the approaches that the design of this system will follow.>
<The SDLC standards as currently published are based upon a “waterfall” methodology. Variation from these standards requires prior written permission from the Ministry’s Technical Architect.>
<Please describe the Quality Assurance processes applied to this project, Include vendor and Ministry process. The vendor must have a quality assurance process in place that meets accepted UAT standards (e.g. IEEE Std 730 - IEEE Standard for Software Quality Assurance Plans). The vendor must review all code before submitting the application to the Ministry. Once received by the Ministry, the application will be reviewed by the Ministry to ensure that the relevant standards have been met. These quality assurance processes include, but are not limited to, the following:
Standards, practices, conventions, and metrics;
<Describe the business background of the system, the business requirements for initiating the project, the history of any predecessor systems or closely related systems. >
<Describe the high-level objectives of the application and list subsidiary goals that will achieve each objective. >
<Identify any business or system constraints or exemptions from the Ministry that will impact the manner in which the software is to be:
<Describe one or more approaches for the determining success of the application, including quantitative or qualitative metrics.>
<Identify where design was based on existing implementations, best practices, etc, if any, that describes the underlying design of the application. The purpose of these guiding principles is to clarify the reader’s understanding of the application’s design.>
<The system design document provides a blueprint for system build. Following deployment, the System Design acts as the application systems reference manual for application support.
During the course of build, some changes may be made in consultation with Ministry Infrastructure or Architecture staff. At the end of the build phase, the vendor will perform a final revision of the System Design document to match the system as-built.>
<This section discusses the system architecture aspect of the application’s design.
The discussion has two parts:
1. The application as it relates to computer systems that exist independent of the application (Section Architectural Design);
2. A decomposition of the application to show its minimum constituent parts as they will appear in the implementation (Section Decomposition Description).>
<The Architectural Design section describes the detailed system architecture, and the fundamental technical structure of the software components and the interfaces between them. It must include a description of the proposed deployment environment and major user categories (e.g., internal and external). This may be supplemented by diagrams where appropriate.>
<This section further decomposes the System Architecture to its constituent parts, in order to show the fundamental technical structure of the subsystems. The developer may elaborate within this structure, but the development must be constrained by these structural principles. >
<Describe the overall design that will govern access to the persistent data layer. This section must address all types of access and data distribution, whether to the end user, or to an external application.>
<Describe the authentication and authorization models that apply consistently throughout the application. The model must be based upon existing standards defined in the Oracle Designer 10g standards and guidelines, and the roles must be listed and described in this section.
For .NET based applications that require user authentication, the design proposed must employ the use of the BC Government Common Log-on Page (CLP), which uses Netegrity SiteMinder for user authentication..>
<Describe the high-level class model. Where appropriate, list the Class to the Database Table/View mapping and include as an Appendix.>
<Discuss the rationale for any major design decisions that may not be obvious to the target audience.>
<This is the section where the business transaction designs are documented, such as interactions between software components. The description could employ UML diagrams where appropriate.>
<This section is intended to describe the application’s interaction with the database with an emphasis on Data Security... This must include the Crud Matrix and application database roles required to support the data security framework.
NOTE: The Server Model and Data Conversion deliverables are NOT included in this section, however they may be referenced if necessary. These would be separate deliverables which when approved along with the Design Document would constitute formal approval of the Design Phase of the SDLC.>
<Identify all data repositories used in the application, highlighting key features such as security features, data validation, and report parameters. >
<Describe the database security and authorization features including implementation of the data access matrix. Enumerate and describe the roles, or types of users, that may access the application. Note any special cases, such as those involving sensitive or restricted data. This covers both application security and direct-connect security.>
<This discussion addresses the functionality required by the application's users and how the application will support this functionality through its implementation. It should not specify the tools used to create the interface.
In this section you must cover the following topics (if applicable):
<Summarize the application’s human interface, highlighting key features. It is not necessary to include every screen and report.>
<Provide a high level hierarchical view of how the screens interrelate with one another.>
<Note:
Sections 5.2.1 to 5.2.4 must be repeated sequentially for each new and modified screen that appears in the system. Any requests to exclude screens/sections must be approved by the Ministry’s Technical Architect.>
DEFINITIONS: The following describe the purpose of each column in the data elements grids for section 5.2.X and 5.3.X
Screen Element: Descriptive name of the Screen Element
Label: Label Name as it appears on the screen
Behaviour: Describe normal behaviour associated with screen element (eg Clears all text fields, or Validates and saves data and Navigates to previous screen, etc)
Tab Order: Numeric Value of Tab order for screen
Required: Y/N
Unique Y/N
Format Specific input formatting (eg dd/mmm/yyyy or aa@aa.aa, min/max length, $0.00, etc)
Source Lists the source of data presented or input (eg DB field from which values are sourced, or user for user input, N/A, etc)
Destination Lists the destination of data presented or input (eg DB field where entered values will be saved, N/A for read only, etc)
Type: Element Type (eg date, string, integer, double)
Special Behaviour: List special behaviours not already covered in previous columns (eg specific associated business rules, data validation rules, calculations, etc)
Screen Identifier | |
Screen Name | |
Purpose | . |
Supporting Documentation (Requirements) | |
Supporting Documentation (Use Cases) | |
Supporting Documentation (Testing) | |
Assumptions | |
Outstanding Issues[1] |
<Display facsimiles of screen images used in the application.>
<Describe the flow of control through screen objects.
All Boxes must be filled in for all screen objects>
Screen Element | Label | Behaviour | Tab Order | Type | Special Behaviour |
<All Boxes must be filled in for all screen elements (excluding static content), not already covered in 5.2.3 Screen Objects and Actions>
Screen Element | Label | Behaviour | Tab Order | Required | Unique | Format | Source | Destination | Type | Special Behaviour |
Special Behaviours Listed here:
<Note:
Sections 5.3.1 to 5.3.3 must be repeated sequentially for each new and modified report that exists in the system. Any requests to exclude reports/sections must be approved by the Ministry Technical Architect.>
Report Identifier | |
Report Name | |
Purpose | . |
Supporting Documentation (Requirements) | |
Supporting Documentation (Use Cases) | |
Supporting Documentation (Testing) | |
Assumptions | |
Outstanding Issues[2] |
<Display facsimiles of Report images used in the application>
<All Boxes must be filled in>
Report Element | Label | Behaviour | Format | Source | Type | Special Behaviour |
Special Behaviours Listed here:
<Describe the application’s online help system.>
<Specify guidelines for writing and displaying error messages associated with the application. It is unnecessary to document all error messages.>
<This discussion addresses the technical issues affecting the application. This includes the specification of how the system will satisfy non-functional requirements arising from the technical environment of the application. These include external systems, support libraries, anticipated load, and deployment procedures.>
<This section describes relevant capacity issue for the application. If appropriate these may be broken down by hardware component (e.g., web server capacity, data server capacity, etc.). Non-applicable subsections may be deleted.>
< This section describes CPU requirements. Both database CPU and webserver CPU requirements must be described Provide a description of the expected usage, explaining activities associated with high usage.>
<This section describes disk storage requirements. Both database storage and file-system storage requirements must be described. Provide a description of disk space requirements as well as an estimate of future storage requirements.>
<Estimate the number of concurrent users and their usage levels, including average and maximum peak.>
<Define database performance standards, both qualitative. Performance requirements must provide an estimate of throughput expressed as Transactions per Second (TPS) and target response times for representative transactions.>
< Define the software requirements for the application. The Ministry provides a list of software in the Application Development Environment standards that encompasses the supported software environment. The design proposed must conform to this environment
If the application requires features of Oracle Enterprise Edition (rather than Oracle Standard Edition), list these features in this section.>
<As per the Ministry Application Development Environment standards.NET applications will typically be deployed under IIS running on a Windows server.
If the application requires a non-standard server operating system, describe and justify the deviations.>
<List all of the software dependencies and their versions, including support libraries plug-ins, and 3rd party controls. This includes both dependencies on software you assume to exist and software that you wish to include. For each software dependency identify whether it is a ministry standard as identified in the Application Development Environment Standards. Use of any non-standard components requires prior written approval by the Ministry Technical Architect.>
<If the application requires a non-standard hardware, describe and justify the requirements.>
< This section must identify all TCP/IP based communication requirements.>
<Describe the implementation of any interoperability requirements, listing system interfaces and citing standards and versions.>
<Define performance standards for the application, and describe factors affecting performance. It must define performance metrics for the application as a whole. It should define performance metrics (e.g. “10,000 transactions per hour with an average size per transaction of 65 KB”). This section must identify end-to-end performance requirements; database performance requirements should be identified in Section 6.1.4.>
<List any hardware or software interfaces used by the application. The information provided should complement previously provided information but should not duplicate the information.
Each specific interface must be identified, including inputs and outputs and the purpose of the interface should be described. This includes the reading from, or writing to, of files on disk. Directory and file permissions, if applicable, should be documented here.>
<Commencing on a new page, the last section of the document must be a sign-off page where appropriate members of the Ministry and contract team can accept and approve the System Design deliverable.>
Name | Signature | Date | |
Vendor Project Manager | |||
Name | Signature | Date | |
Ministry Project Manager | |||
Name | Signature | Date | |
Technical Architect | |||
Name | Signature | Date | |
Program Area Representative | |||
Name | Signature | Date | |
Program Area Representative | |||
Appendix A. Definitions, Acronyms, and Abbreviations
<Provide a list of all acronyms and abbreviations used in the document, other than the very obvious (e.g., “BC”, “IBM”). Include definitions of any terms that may not be clear to parts of the primary or secondary audiences.>
<Provide a complete listing of the application Screen Images.>
<Provide a complete listing of the application Report Layouts.>
<This appendix is used to track known deficiencies in the design document, in the application, or in the data architecture. For example, if the application uses an unapproved non-standard component, this is a deficiency in the application. If the design document lacks adequate detail in a section and this has not been rectified, then this is a design document deficiency. Deficiencies are expected to be addressed in subsequent releases of the operational system.>
如有想了解更多软件设计与架构, 系统IT,企业信息化, 团队管理 资讯,请关注我的微信订阅号:
作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog。
我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co
我将应用程序升级到Rails4,一切正常。我可以登录并转到我的编辑页面。也更新了观点。使用标准View时,用户会更新。但是当我添加例如字段:name时,它不会在表单中更新。使用devise3.1.1和gem'protected_attributes'我需要在设备或数据库上运行某种更新命令吗?我也搜索过这个地方,找到了许多不同的解决方案,但没有一个会更新我的用户字段。我没有添加任何自定义字段。 最佳答案 如果您想允许额外的参数,您可以在ApplicationController中使用beforefilter,因为Rails4将参数
Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU
我在我的项目中有一个用户和一个管理员角色。我使用Devise创建了身份验证。在我的管理员角色中,我没有任何确认。在我的用户模型中,我有以下内容:devise:database_authenticatable,:confirmable,:recoverable,:rememberable,:trackable,:validatable,:timeoutable,:registerable#Setupaccessible(orprotected)attributesforyourmodelattr_accessible:email,:username,:prename,:surname,:
我是一名决定学习Ruby和RubyonRails的ASP.NETMVC开发人员。我已经有所了解并在RoR上创建了一个网站。在ASP.NETMVC上开发,我一直使用三层架构:数据层、业务层和UI(或表示)层。尝试在RubyonRails应用程序中使用这种方法,我发现没有关于它的信息(或者也许我只是找不到它?)。也许有人可以建议我如何在RubyonRails上创建或使用三层架构?附言我使用ruby1.9.3和RubyonRails3.2.3。 最佳答案 我建议在制作RoR应用程序时遵循RubyonRails(RoR)风格。Rails
我正在尝试创建密码规则来设计可恢复的密码更改。我通过passwords_controller.rb做了一个父类(superclass),但我需要在应用规则之前检查用户角色,但我所拥有的只是reset_password_token。 最佳答案 假设您的模型是用户:User.with_reset_password_token(your_token_here)Source 关于ruby-on-rails-设计通过reset_password_token获取用户,我们在StackOverflow
我已经使用Apartment设置了一个Rails5应用程序(1.2.0)和Devise(4.2.0)。由于某些DDNS问题,应用只能在app.myapp.com下访问(请注意子域app)。myapp.com重定向到app.myapp.com。我的用例是每个注册该应用的用户(租户)都应该通过他们的子域(例如tenant.myapp.com)访问他们的特定数据。用户不应限定在其子域内。基本上应该可以从任何子域登录。重定向到租户的正确子域由ApplicationController处理。根据Devise标准,登录页面位于app.myapp.com/users/sign_in。这就是问题开始的
我在关注RyanbatesRailsCast的devise和omniauth(第235集-devise-and-omniauth-revised)。当我尝试使用Twitter登录时,标题中不断出现错误。defself.new_with_session(params,session)ifsession["devise.user_attributes"]new(session["devise.user_attributes"],without_protection:true)do|user|user.attributes=paramsuser.valid?end完整跟踪:C:/Ruby20