Разработка программного обеспечения / приложений высокого уровня - PullRequest
1 голос
/ 16 апреля 2019

Каковы стандарты или рекомендации для разработки высокоуровневого проекта существующего программного обеспечения / приложения? Существуют ли какие-либо справочные руководства, которым можно следовать для создания дизайна высокого уровня? Чтобы все заинтересованные стороны понимали проект одинаково.

Ответы [ 2 ]

1 голос
/ 16 апреля 2019

Как я понимаю, речь идет о разработке и представлении дизайна высокого уровня существующего приложения. Предполагая, что заинтересованные лица являются представителями разных слоев общества, а не только технических специалистов, существует несколько способов представления дизайна. Я бы начал с чего-то вроде ниже:

Диаграмма вариантов использования - В любой системе обычно есть акторы и различные сценарии взаимодействия актера с системой. Диаграмма вариантов использования помогает определить различные сценарии системы - например, для приложения для покупок - пользователь просматривает продукты, пользователь ищет продукт, пользователь просматривает информацию о продукте, пользователь делает покупку и т. Д. Таким образом, мы может охватить все возможности, предоставляемые системой, и то, как различные субъекты взаимодействуют с системой. Чтобы поддерживать его на высоком уровне, можно включить важные сценарии и исключить неважные.

Блок-схема - Несмотря на то, что блок-схема очень традиционный вид, она по-прежнему очень эффективна для передачи большого количества информации. Поток данных или процесса может быть представлен блок-схемой. Система может иметь много последовательных и / или параллельных действий. Многие системы имеют начальную (триггерную) точку, в то время как некоторые системы являются циклическими (имеющими цикл). Также система может иметь альтернативные пути в зависимости от условий. Эти точки принятия решений и альтернативные пути могут быть очень хорошо представлены блок-схемами.

Диаграммы ER - Любая система обычно имеет несколько объектов, и объекты каким-то образом связаны с другими объектами. Например, объект клиента связан с объектом заказа и имеет отношение один ко многим. В то время как блок-схемы и диаграммы вариантов использования фокусируются на потоке данных / процессе и взаимодействиях, диаграммы ER фокусируются на отношениях между сущностями. Он предоставляет отличный способ понять сущности высокого уровня, вовлеченные в систему, и как они связаны. Обычно эти отношения долговременны, они не меняются так часто, как меняется поток данных или процессы.

Диаграмма развертывания - Еще одна диаграмма, которая предоставляет информацию другого типа, - это схема развертывания системы. Однако это более технический вопрос и может не потребоваться на высоком уровне, но я думаю, что он имеет большое значение. В основном на диаграмме развертывания мы указываем, как разворачивается система. Например, в приложении для онлайн-покупок диаграмма может показывать прямоугольное поле, представляющее браузер, а затем показывать балансировщики нагрузки, с которыми сначала свяжутся, когда запросы впервые попадут на серверы, а затем показать серверы приложений, которые обрабатывают запрос, включают серверы кеширования, показывают базы данных, механизмы очередей типа кафки и тд. Моделируя развертывание, кто-то может получить общее представление о том, какие компьютерные системы задействованы для обеспечения функционирования всей системы.

Надеюсь, что этот ответ имеет смысл и дает некоторые подсказки для вашего вопроса.

0 голосов
/ 16 апреля 2019

Вы можете начать с домена.Домен является общим языком между заинтересованными сторонами (бизнес) и развития.Хорошо объясненный и понятный домен - это первая часть архитектуры высокого уровня.

...