Назначение корпоративных приложений или сакральный вопрос "Зачем?"

Для чего создавать корпоративные приложения?Любая часть программного обеспечения спроектирована по конкретной схеме. Проектирование охватывает архитектуру системы, структуру проектов, структу­ру и качество кода. Оно может либо ясно сообщать о назначении системы, либо вводить в заблуждение. Прежде чем разработать корпоративное приложение или систему, инженеры должны их спроектировать. Для этого необходимо определить назначение данного программного обеспечения (ПО).


Оглавление статьи[Показать]


У каждого действия как в повседневной жизни, так и в деятельности крупной организации или разработке программного проекта, есть своя причина. Нам, лю­дям, нужны причины, для того чтобы что-то делать. Разработка корпоративных программных продуктов не исключение.

При создании программного приложения в первую очередь нужно задать во­прос: зачем? Зачем нужна эта часть программы? Почему необходимо потратить время и силы на разработку данного решения? И почему компания должна сама заботиться о разработке этого решения?

Другими словами: каково назначение приложения? Какую проблему должно решать это программное обеспечение? Хотим ли мы, чтобы приложение выполня­ло важный бизнес-процесс? Принесет ли это прибыль? Будет ли оно приносить

доход непосредственно, например путем продажи товаров, или косвенно — за счет маркетинга, поддержки клиентов или бизнес-процессов? Существуют ли другие возможности обслуживания клиентов, работников или бизнес-процессов?

Эти и другие вопросы определяют бизнес-цели приложения. Вообще говоря, каждый элемент программного обеспечения нуждается в таком обосновании, чтобы сначала увидеть общую картину и только потом вкладывать в разработку время и силы.

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

 

На чем сосредоточиться разработчику

Разработчикам программного обеспечения, а также руководителям проектов следует в первую очередь ориентироваться на требования предприятия и сосредоточиться на реализации бизнес-сценариев.

Это кажется очевидным, но слишком часто внимание в корпоративных про­ектах уделяется другим проблемам. Разработчики тратят время и силы на ре­ализацию деталей и функций, бесполезных при решении актуальных задач. Вспомните, сколько реализаций журналирования, самодельных корпоративных фреймворков и технически перегруженных уровней абстракций встречалось нам за последнее время.

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

 

Удовлетворение требований клиентов

Ответьте на следующие вопросы.

  • В чем назначение приложения?
  • Какие его функции наиболее важны для пользователей?
  • Будет ли приложение приносить доход?

Ответы на эти вопросы должны быть известны всем заинтересованным сторо­нам. Если это не так, то следует сделать шаг назад, еще раз проанализировать про­ект в целом и пересмотреть его право на существование. Не всегда цель создания программного обеспечения диктуется исключительно бизнесом. На практике во многих случаях внедряют решения, которые не приносят дохода напрямую, но делают это косвенно, поддерживая другие продукты. Такие решения, безусловно, необходимы, и мы рассмотрим их в главе 8 в рамках вопроса о том, как создать рациональную системную среду.

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

Такие приоритеты отражают также требования клиентов. Все участники раз­работки приложения заинтересованы в том, чтобы оно соответствовало своему назначению.

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

Требования к срокам выполнения проекта — еще один аспект, который необ­ходимо учесть. Группы разработчиков оценивают бизнес-сценарии, сравнивая их с качеством технических решений. Они склонны отказываться от необходимых тестов ПО и проверки качества, чтобы уложиться в сроки. Технология, исполь­зуемая для внедрения бизнес-приложения, должна поддерживать эффективную и прагматичную разработку.

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

В дальнейшем мною будет показано, как соединить и сбалансировать эти две моти­вации с помощью Java EE.

Вас заинтересует / Intresting for you:

Применение интеллектуального а...
Применение интеллектуального а... 1486 просмотров Денис Fri, 22 Mar 2019, 10:03:30
Значение Java EE для построени...
Значение Java EE для построени... 1456 просмотров Светлана Комарова Fri, 14 Dec 2018, 06:32:09
Разработка архитектуры информа...
Разработка архитектуры информа... 2611 просмотров Administrator SU Thu, 19 Jul 2018, 15:36:26
Анализ современных технологий ...
Анализ современных технологий ... 1150 просмотров Александров Попков Mon, 18 Mar 2019, 03:22:01
Войдите чтобы комментировать