Jump to content

High-level design: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Readability and grammar changes
 
(55 intermediate revisions by 40 users not shown)
Line 1: Line 1:
{{Short description|Initial stage in software design}}
{{No footnotes|date=January 2011}}
{{ footnotes|date= }}


'''High-level design''' (HLD) explains the architecture that would be used to develop [[Systems development life cycle|a system]]. The architecture diagram provides an overview of an entire system, identifying the main components that would be developed for the product and their interfaces.
'''High-level design''' provides an overview of an entire system, identifying all its elements at some level of abstraction. This contrasts with [[Lower level design|Low level Design]] which exposes the detailed design of each of these elements.
The HLD can use non-technical to mildly technical terms which should be understandable to the [[System administrator|administrators]] of the system. In contrast, [[low-level design]] further exposes the logical detailed design of each of these elements for use by engineers and [[programmer]]s. HLD documentation should cover the planned implementation of both software and hardware.


== Purpose ==
== Purpose ==
Preliminary design - In the preliminary stages of a software development the need is to size the project and to identify those parts of the project that might be risky or time consuming.
Preliminary design In the preliminary stages of development the need is to size the project and to identify those parts might be risky or timeconsuming.
Design overview As the project proceeds the need is to provide an overview of how the various sub-systems and components of the system fit together.


In both cases the highlevel should be a complete view of the entire system breaking it down into smaller parts that are more easily understood. To minimize the maintenance overhead as construction proceeds and the lowerlevel is done it is best that level design is elaborated to the degree needed to satisfy these needs.
Design overview - As the project proceeds the need is to provide an overview of how the various sub-systems and components of the system fit together.


== High-level design document ==
In both cases the high level should be a complete view of the entire system breaking it down into smaller parts that are more easily understood. To minimize the maintenance overhead as construction proceeds and the lower level is done it is best that high level design is only elaborated to the degree needed to satisfy these needs.
A high-level design document or HLDD adds the necessary details to the current project description to represent a suitable model for building. This document includes a high-level architecture diagram depicting the structure of the system, such as the hardware, database
architecture, [[Applications architecture|application architecture]] (layers), application flow (navigation), [[Computer security|security architecture]] and technology architecture.<ref>https://people.ok.ubc.ca/rlawrenc/research/Students/CJ_05_Design.pdf {{Bare URL PDF|date=March 2022}}</ref>


== Design overview ==
== Design overview ==
A '''high-level design''' provides an overview of a solution, platform, system, product, service, or process.
A high-level design provides an overview of a system, product, service, or process.


Such an overview is important in a multi-project development to make sure that each supporting component design will be compatible with its neighbouring designs and with the big picture.
Such an overview supporting be compatible .


The highest level solution design should briefly describe all platforms, systems, products, services and processes that it depends upon and include any important changes that need to be made to them.
The highestlevel design should briefly describe all platforms, systems, products, services and processes that it depends and include any important changes that need to be made to them.


In addition, there should be brief consideration of all significant commercial, legal, environmental, security, safety and technical risks, issues and assumptions.
A high-level design document will usually include a high-level architecture diagram depicting the components, interfaces and networks that need to be further specified or developed.

The document may also depict or otherwise refer to work flows and/or data flows between component systems.

In addition, there should be brief consideration of all significant commercial, legal, environmental, security, safety and technical risks, issues and assumptions.


The idea is to mention every work area briefly, clearly delegating the ownership of more detailed design activity whilst also encouraging effective collaboration between the various project teams.
The idea is to mention every work area briefly, clearly delegating the ownership of more detailed design activity whilst also encouraging effective collaboration between the various project teams.
Line 27: Line 28:
Today, most high-level designs require contributions from a number of experts, representing many distinct professional disciplines.
Today, most high-level designs require contributions from a number of experts, representing many distinct professional disciplines.


Finally, every type of end-user should be identified in the high-level design and each contributing design should give due consideration to customer experience.
Finally, every type of end-user should be identified in the high-level design and each contributing design should give due consideration to customer experience.

==References==
* "Designing in a Big Way - a practical guide for managers", High Level Designs Ltd, ISBN 978-0-9562164-0-3


==See also==
==See also==
* [[Software development process]]
* [[Software development process]]
*[[Systems development life cycle]]

==References==
{{Reflist}}

==External links==
* [http://users.csc.calpoly.edu/~jdalbey/205/Deliver/designDocFormat.html High Level Design Document sample format]

{{Design}}


[[Category:Design]]
[[Category:Design]]
[[Category:Software development]]
[[Category:Software design]]

Latest revision as of 07:32, 21 February 2023

High-level design (HLD) explains the architecture that would be used to develop a system. The architecture diagram provides an overview of an entire system, identifying the main components that would be developed for the product and their interfaces. The HLD can use non-technical to mildly technical terms which should be understandable to the administrators of the system. In contrast, low-level design further exposes the logical detailed design of each of these elements for use by engineers and programmers. HLD documentation should cover the planned implementation of both software and hardware.

Purpose[edit]

  • Preliminary design: In the preliminary stages of system development, the need is to size the project and to identify those parts which might be risky or time-consuming.
  • Design overview: As the project proceeds, the need is to provide an overview of how the various sub-systems and components of the system fit together.

In both cases, the high-level design should be a complete view of the entire system, breaking it down into smaller parts that are more easily understood. To minimize the maintenance overhead as construction proceeds and the lower-level design is done, it is best that the high-level design is elaborated only to the degree needed to satisfy these needs.

High-level design document[edit]

A high-level design document or HLDD adds the necessary details to the current project description to represent a suitable model for building. This document includes a high-level architecture diagram depicting the structure of the system, such as the hardware, database architecture, application architecture (layers), application flow (navigation), security architecture and technology architecture.[1]

Design overview[edit]

A high-level design provides an overview of a system, product, service, or process.

Such an overview helps supporting components be compatible to others.

The highest-level design should briefly describe all platforms, systems, products, services, and processes that it depends on, and include any important changes that need to be made to them.

In addition, there should be brief consideration of all significant commercial, legal, environmental, security, safety, and technical risks, along with any issues and assumptions.

The idea is to mention every work area briefly, clearly delegating the ownership of more detailed design activity whilst also encouraging effective collaboration between the various project teams.

Today, most high-level designs require contributions from a number of experts, representing many distinct professional disciplines.

Finally, every type of end-user should be identified in the high-level design and each contributing design should give due consideration to customer experience.

See also[edit]

References[edit]

External links[edit]