Как спроектировать систему?

3 ноября 2014 г. Просмотров: 665
Ежегодно индустрией производства программного обеспечения создается множество продуктов - от небольших офисных приложений до огромных комплексов и автоматизированных систем обработки информации. И если небольшая утилита может быть написана одним программистом без предварительной подготовки, то созданию крупных систем предшествует этап проектирования.

Вам понадобится

  • - техническое задание на проектирование.

Инструкция

  • Произведите первичную декомпозицию, выделив подсистемы. Исследуйте техническое задание. Выявите и проанализируйте перечень задач, которые должна решать система. Сгруппируйте задачи по функциональному признаку. Проанализируйте типы и характеристики данных, которые должны обрабатываться системой. Сформируйте перечень подсистем, выделяя их согласно функциональному назначению и типам обрабатываемой информации (подсистема хранения данных, подсистема печати документов, и т.д.).
  • Специфицируйте функционал и характеристики выделенных подсистем. Опишите их назначение, составьте перечни производимых ими действий.В процессе проектирования на данном этапе имеет смысл произвести тщательное исследование рынка готовых решений. Например, подсистему хранения информации в ряде случаев удобно реализовать на основе мощных СУБД, а подсистему обработки данных, отвечающую за реализацию бизнес-логики, на базе существующих серверов приложений. Использование готовых продуктов обычно более выгодно, чем реализация необходимого функционала собственными силами.
  • Произведите декомпозицию каждой из подсистем, которую будет необходимо реализовать. Разделите подсистемы на компоненты. Ими могут являться как приложения, так и различные библиотеки, сервисы.Выделяйте компоненты на основе анализа функционала подсистемы и объектов данных, обрабатываемых ей. Основной принцип, которому стоит следовать на данном этапе проектирования, состоит в том, что компоненты должны быть достаточно универсальны (допускать максимальное совместное и повторное использование), но и обладать четкой специализацией (не стоит делать компоненты-комбайны, «умеющие» все).
  • Определите методы и технические средства обмена и хранения данных, как между подсистемами, так и внутри них. Составьте спецификации, указав протоколы и форматы, которые должны использоваться.
  • Исследуйте рынок программных продуктов. Выявите компоненты, которые можно использовать для построения системы. К примеру, сейчас доступно множество как коммерческих, так и абсолютно бесплатных библиотек для обработки графики, поэтому тратить собственные средства на разработку аналогичных решений - просто бессмысленно.
  • Составьте перечень компонентов, которые необходимо реализовать. Разработайте соответствующие спецификации. Подготовьте технические задания.
  • Выберите средства реализации подсистем и отдельных компонентов. Определите технологии и языки программирования, которые будут использоваться. Внесите соответствующие пункты в технические задания.
  • Оцените статью!