Высокоуровневое проектирование программного обеспечения
High-level design
Высокоуровневое проектирование ПО: архитектура системы, компоненты и интерфейсы. Документация HLD для администраторов и разработчиков. Планирование внедрения.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Начальный этап проектирования программного обеспечения
Initial stage in software design
Высокоуровневый дизайн (HLD) описывает архитектуру, которая будет использована для разработки системы. Архитектурная схема предоставляет общий обзор всей системы, определяя основные компоненты, которые будут разработаны для продукта, и их интерфейсы. В HLD могут использоваться нетехнические или умеренно технические термины, понятные администраторам системы. В отличие от него, низкоуровневый дизайн детализирует логическое проектирование каждого из этих элементов для использования инженерами и программистами. Документация HLD должна охватывать планируемую реализацию как программного, так и аппаратного обеспечения.
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.
Цель
Предварительное проектирование: На начальных этапах разработки системы необходимо определить масштаб проекта и выявить потенциально рискованные или трудоемкие элементы. Обзор проектирования: По мере реализации проекта необходимо предоставить общее представление о том, как различные подсистемы и компоненты системы взаимодействуют между собой. В обоих случаях высокоуровневое проектирование должно представлять собой полное видение всей системы, разбитое на более мелкие, легко понимаемые части. Чтобы минимизировать затраты на сопровождение в процессе разработки и детализации низкоуровневого проектирования, целесообразно разрабатывать высокоуровневое проектирование только в той степени, которая необходима для решения поставленных задач.
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.
Проектный документ высокого уровня
Проектный документ высокого уровня, или HLDD, детализирует текущее описание проекта, предоставляя достаточную информацию для разработки. Этот документ включает в себя высокоуровневую диаграмму архитектуры, отображающую структуру системы, включая аппаратное обеспечение, архитектуру базы данных, архитектуру приложений (слои), потоки данных приложений (навигация), архитектуру безопасности и технологическую архитектуру.
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.
Обзор конструкции
Дизайн высокого уровня предоставляет общий обзор системы, продукта, услуги или процесса. Такой обзор способствует совместимости между взаимодействующими компонентами. Дизайн на самом высоком уровне должен кратко описывать все платформы, системы, продукты, услуги и процессы, от которых он зависит, а также любые важные изменения, которые необходимо в них внести. Помимо этого, следует кратко рассмотреть все существенные коммерческие, юридические, экологические, связанные с безопасностью, охраной труда и технические риски, а также любые проблемные вопросы и допущения. Цель состоит в том, чтобы вкратце упомянуть все области работы, четко определить ответственность за более детальную разработку и одновременно стимулировать эффективное взаимодействие между различными проектными командами. В настоящее время большинство проектов высокого уровня требуют участия ряда экспертов, представляющих различные профессиональные области. Наконец, в дизайне высокого уровня необходимо идентифицировать все типы конечных пользователей, а каждый участвующий в разработке проект должен уделять должное внимание пользовательскому опыту.
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.