автордың кітабын онлайн тегін оқу Разработка информационных систем
Информация о книге
УДК 681.3.061
ББК 65.39
С91
Автор: Сухомлинов А. И.
Рецензенты:
Розенбаум А. Н. — д-р техн. наук, профессор, зав. лабораторией прогнозирования состояния и надежности сложных систем ИАПУ ДВО РАН;
Рагулин П. Г. — канд. техн. наук, профессор, зав. кафедрой информационных систем в экономике ДВГУ.
В книге отражено бурное информационное развитие последних лет, многие технические и научные достижения в информационных системах и экспоненциальный рост таких систем в коммерции, промышленности, исследовательских институтах и университетской среде. Пособие охватывает архитектуру информационных систем, методологии, методы и средства их разработки. Оно интегрирует технические, социальные, организационные и экономические представления о разработке информационных систем.
Предназначено для студентов технических специальностей, изучающих информационные системы в административно-организационном управлении, а также для специалистов, стремящихся к совершенствованию в данной области.
УДК 681.3.061
ББК 65.39
© ДВФУ, 2008
© ООО «Проспект», обложка, 2015
© ООО «Проспект», электронная версия книги, 2015
ПРЕДИСЛОВИЕ
Бурное информационное развитие последних лет, многие технические и научные достижения в информационных системах и одновременно экспоненциальный рост применения таких систем, глобализация экономики и усиление конкуренции постоянно требуют как повышения качества разрабатываемых информационных систем, так и качества самого процесса разработки. Несмотря на более чем пятидесятилетний опыт разработки информационные системы все еще не могут удовлетворить предприятия и организации не только размером связанных с ними инвестиций, но и результативностью вводимых в эксплуатацию систем. При этом в некоторых странах 53% от общего количества разрабатываемых проектов информационных систем терпят неудачу, превышение фактических затрат разработки проектов над планируемыми в среднем составляет 89%, а инвестиции в системы – 40% от всех капитальных вложений.
Данное пособие содержит учебный материал, представляющий основополагающие концепции архитектуры, методологий разработки, методов и средств, знание которых необходимо специалистам по информационным системам. Оно интегрирует технические, социальные, организационные и экономические представления о разработке информационных систем. Учебное пособие определяет рамки для представления информационных систем и оценки методологий их разработки, а также проясняет фундаментальные аспекты этой развивающейся области. Материал пособия, оставаясь независимым от любой конкретной информационной системы, методологии, метода или средства разработки, дает основу для организации всех компонент любой разрабатываемой информационной системы, осуществления анализа и оценки конкретных информационных систем на стадиях их жизненного цикла. Он также включает знания, необходимые для обоснованного выбора стандартных пакетов программных средств приложений предприятий (включая инструментальные средства анализа и настройки), методологий разработки, методов и средства.
Пособие предназначено для студентов технических специальностей и предполагает наличие базовых знаний в области информационных технологий и управления. Оно состоит из 3 глав и содержит 29 иллюстраций. В конце каждой главы приводятся ключевые термины, вопросы для контроля и темы для обсуждения.
Глава 1.
АРХИТЕКТУРА ИНФОРМАЦИОННЫХ СИСТЕМ
Увеличивающийся масштаб разработки и уровень сложности приложений информационных систем вынуждает применять некоторую логическую конструкцию или архитектуру для определения и контроля интерфейсов и интеграции всех компонентов системы. Мы встречаемся с трудностями, обсуждая друг с другом архитектуру информационных систем потому что существует набор архитектурных представлений вместо одной единственной архитектуры. Они аддитивные и дополняющие. Существуют веские причины расходования ресурсов для разработки каждого архитектурного представления информационной системы. И существуют риски, связанные с не проведением разработки любого одного из этих архитектурных представлений. Эта глава рассказывает об архитектуре информационных систем путем создания описательной, нейтральной и объективной инфраструктуры и вырабатывает некоторые предварительные выводы о ней. Она также распространяет подобный набор архитектурных представлений на другие области, связанные с производством сложной технической продукции. Обсуждение ограничивается архитектурой и не включает методологию стратегического планирования.
1.1. Введение в архитектуру информационных систем
Тема архитектуры информационных систем в настоящее время все более актуальна. Тридцать лет назад она не была так важна потому, что технология сама по себе не предусматривала ни ширины охвата, ни глубины сложности в информационных системах. Ограничения, свойственные тогда доступным 4К машинам, например, ограничивали конструирование и приводили к субоптимальным подходам для автоматизации бизнеса.
Современные технологии быстро устраняют концептуальные и финансовые ограничения. Сегодня не трудно рассуждать об очень больших и сложных применениях информационных систем, всецело охватывающих предприятие. Можно быстро определить достоинства больших сложных подходов информатизации, ориентированных на предприятие. Такие системы обеспечивают гибкость в управлении переменами в бизнесе и согласованность в управлении его ресурсами. Несмотря на это более традиционные, простые, субоптимальные подходы конструирования позволяют создавать системы, которые относительно экономичны, быстро внедряемы и более легки в дизайне и управлении.
В любом случае, поскольку технология допускает распределение большого количества компьютерных средств некоторой комплектности в географически разнесенных отдельных местах, возникает острая потребность в некоторой структуре или архитектуре, потому что децентрализация без структуры означает хаос. Следовательно, для удержания бизнеса от дезинтеграции, концепция архитектуры информационных систем становится необходимостью для установления некоторого порядка и контроля в инвестиции ресурсов информационных систем. Осуществляемые расходы и успех бизнеса, все более зависящие от информационных систем, требуют более строгого подхода к управлению этими системами.
Рассмотренное предположение, что осмысление архитектуры информационных систем является важным для разработки строгого подхода, естественно вызывает вопрос: «Что на самом деле является архитектурой информационных систем?» К сожалению, среди сторонников архитектуры информационных систем настолько мало согласованности в концепциях или в спецификациях «архитектуры», что термин «архитектура информационных систем» теряет свой смысл. Более того, представляется, вероятно, необоснованным само ожидание такого согласия или общности в определении от профессионального сообщества по обработке данных. Эмоциональная приверженность, связанная с устоявшимися интересами различных школ, требует нейтрального, беспристрастного, независимого источника в качестве необходимого условия для любой приемлемой работы в этой области.
Так или иначе, вероятно существует необходимость в своего рода инфраструктуре для совершенствования различных архитектурных концепций и спецификаций, для обеспечения ясности осуществления профессиональных связей, предоставляющих возможность улучшения и интеграции методологий разработки и средств, и для упрочения доверия и уверенности в инвестиции системных ресурсов.
Несмотря на то, что архитектура информационных систем связана с информационной стратегией и бизнес-стратегией, эта глава сознательно ограничена архитектурой и ее не следует истолковывать как методологию стратегического планирования. Разработка бизнес-стратегии и ее связь со стратегиями информационных систем, которые, разумеется, проявляют себя в архитектурной формулировке, является важным предметом для исследования, но этот вопрос является вполне независимым от темы настоящей главы, которая определяет инфраструктуру для архитектуры информационных систем.
Использование термина «архитектура» при рассмотрении сложностей современных информационных систем уже стало обычным делом. Специалисты по информационным технологиям употребляют термины архитектура данных, архитектура приложений, архитектура сетей, архитектура технологий и т.д. Архитектуру информационных систем можно определить следующим образом.
Архитектура информационных систем дает комплексную инфраструктуру или рамки, в которых разные люди с различными точками зрения могут организовать и рассматривать главные конструктивные блоки информационных систем. По своему существу, архитектура информационных систем обеспечивает основу для организации всех компонент любой разрабатываемой информационной системы.
Рассматриваемые в данной главе инфраструктура архитектуры информационных систем основана на идее Джона Захмана, сформулированной им в 1987 г. Она дает возможность создания интегрированной всесторонней спецификации взаимосогласованных компонентов системы, отражающей представления различных категорий людей, имеющих к ней отношение. Благодаря данным свойствам рассматриваемая концепция может быть применена в качестве основы для создания новых подходов и методологий разработки информационных систем, обеспечивающих в результате создание приложений, соответствующих истинным потребностям организации.
1.2. Представления как человеческий фактор информационных систем
Процесс разработки информационных систем вовлекает в себя различных людей. Различные категории людей рассматривают или представляют информационную систему по-разному. Менеджеры, пользователи и технические специалисты – представители каждой из этих категорий рассматривают информационную систему различным образом и на различных уровнях подробностей. Всех этих людей совместно принято называть лицами, заинтересованными в системе. Они могут быть явно классифицированы на группы: владельцы систем, пользователи систем, дизайнеры и изготовители систем.
Каждая из вышерассмотренных групп, рассматривая информационную систему, может концентрировать свое внимание на различных ее аспектах. Например, один дизайнер может конструировать базу данных, другой может разрабатывать интерфейсы пользователей, в то время как третьему может быть поручено конструирование программ и т.д. Можно выделить, как минимум, три аспекта рассмотрения информационной системы. Это – данные, процессы и география. Количество аспектов рассмотрения системы можно расширить, добавив организацию и мотивацию людей, время, интерфейсы и т.п.
Владельцы, пользователи, дизайнеры и изготовители – представители всех этих категорий вместе должны присутствовать в составе группы разработки информационной системы любого отдельно взятого проекта. Этих участников деятельности, связанной с информационными системами, объединяет то, что все они относятся к той категории работников, которую Министерство труда США называет информационными работниками.
Владельцы системы. У любой системы – большой или малой – имеются владельцы. Владельцы – это заказчики информационных систем и главные их сторонники. Они обычно отвечают за бюджетирование и время при разработке, использовании и сопровождении информационной системы. Они оплачивают создание и обслуживание системы. Они владеют системой, устанавливают приоритеты для системы, определяют стратегию использования, они также отвечают за технико-экономическое обоснование системы и ее приемку.
Владельцы склонны рассматривать информационную систему с точки зрения сферы ее применения (замысел и видение, цели и задачи, затраты и выгоды). Они склонны мыслить очень обобщенными понятиями, а не подробностями. Их меньше всего впечатляют технологии, используемые в информационных системах. Они больше озабочены величиной средств, возвращенных системой. Эта величина измеряется различными способами. Каково назначение системы? Каким является видение системы – цели и задачи? Во сколько обойдется создание системы? Сколько будет стоить функционирование системы? Будут ли эти расходы компенсированы измеряемыми выгодами? Каковы будут нематериальные выгоды?
Владельцы обычно происходят из рядов управленцев. Владельцами средних и больших информационных систем обычно являются менеджеры среднего или высшего уровня. Владельцами меньших систем могут быть менеджеры среднего или более низкого уровня. Для персональной информационной системы владелец и пользователь являются одним и тем же лицом.
Пользователи системы – это люди, которые фактически на регулярной основе используют систему для выполнения своей работы или для поддержки ее выполнения и непосредственно получают от нее выгоду – выбирая, проверяя, вводя, реагируя, запоминая и обмениваясь данными и информацией. Пользователи системы определяют проблемы, которые должны быть решены, возможности, которые должны быть использованы, требования, которые должны быть выполнены, бизнес-ограничения, которые должны быть установлены (или устанавливаться информационной системой). Они также склонны к заинтересованности в легкости изучения и использования системы.
В противоположность владельцам систем они склонны меньше вникать в расходы и выгоды, получаемые от систем. Вместо этого они больше концентрируются на бизнес-требованиях к системе. Несмотря на то, что со временем пользователи становятся все более образованными в технологиях, их основной интерес все же связан с выполнением возложенной на них работы. В современном деловом мире, ориентированном на коллективную работу, пользователи системы часто работают бок о бок с дизайнерами системы.
Существует много классов пользователей. Среди них можно отметить следующие. Внутренние пользователи – это конторский и обслуживающий персонал, технический и служебный персонал, высококвалифицированные специалисты (knowledge workers), мастера, менеджеры среднего и высшего уровня, удаленные и мобильные пользователи. Современные информационные системы пересекают привычные традиционные границы своих компаний и присоединяют другие предприятия и лиц в качестве внешних пользователей системы. Кроме того, движимые глобальной конкуренцией, компании модернизируют свои информационные системы для прямой связи и взаимодействия со своими деловыми и торговыми партнерами, поставщиками, заказчиками и даже с конечным потребителем, расширяя, таким образом, круг внешних пользователей системы. Это усложняет разработку информационных систем, но приносит существенную выгоду. В современных условиях компания не конкурентоспособна, пока не будет готова использовать межсистемные интерфейсы.
Дизайнеры систем – технические специалисты, которые конструируют систему, отвечающую определенным требованиям. Они транслируют требования и ограничения бизнеса в технические решения. Они конструируют компьютерные файлы, базы данных, ввод, вывод, экранные формы, сети и программы, которые будут соответствовать требованиям пользователей системы.
Дизайнеры систем находятся ближе к информационным технологиям, чем к владельцам и пользователям систем. Очень часто они должны осуществлять выбор технологий и/или разрабатывать системы в рамках ограничений выбранных технологий. Сегодняшние дизайнеры систем склонны обращать внимание на технические профессии: дизайнеры баз данных (аспект данных), программисты (аспект процессов или программ), специалисты по вычислениям на персональных компьютерах и системные интеграторы (аспект интерфейсов), специалисты по сетям и телекоммуникациям (аспект географии). Во многих случаях дизайнеры системы могут также являться ее изготовителями.
Изготовители систем – это технические специалисты, которые создают, тестируют и сдают систему в эксплуатацию. Они непосредственно создают компоненты системы на основе спецификаций, разработанных дизайнерами. Во многих случаях дизайнер системы и изготовитель для одного компонента являются одним и тем же лицом.
Прикладной программист является классическим примером изготовителя информационной системы. Тем не менее, в процесс изготовления системы могут быть вовлечены и другие технические специалисты: системные программисты, программисты баз данных, сетевые администраторы, специалисты по программному обеспечению микрокомпьютеров.
Системный аналитик, или специалист по системному анализу должен обладать компетенцией решения вопросов для каждого из представлений системы, свойственных рассмотренным категориям заинтересованных лиц. Для владельцев и пользователей системы он, как правило, создает и проверяет их представления. Для дизайнеров и изготовителей системы он обеспечивает согласование и совместимость технических и бизнес-представлений.
1.3. Инфраструктура архитектуры информационных систем
Применительно к информационной системе слово «архитектура» является метафорой, которая может применяться наравне как к конструкции компьютерной системы, так и к конструкции дома. Инфраструктура архитектуры информационной системы представляет собой развитие этой метафоры. Инфраструктура уподобает представления, используемые для описания информационной системы, представлениям, порождаемым архитектором при проектировании и строительстве дома.
Инфраструктура архитектуры информационной системы образована пятью представлениями: масштабом предметной области, или намерением, моделью предприятия, моделью системы, технологической моделью или технической моделью и компонентами.
Намерение. Первый из создаваемых архитектурных набросков информационной системы управления – это схемы, описывающие в терминах высокого уровня размер, очертания, пространственные отношения и основную цель будущей структуры. Это описание соответствует пояснительной записке планировщика или инвестора, которые хотят оценить рамки возможностей будущей системы, то как она могла бы действовать, и сколько это будет стоить. Документы, составляемые на этом уровне, как можно менее техничны, от них не требуется полноты.
Модель предприятия, или модель бизнеса. Следующими являются схемы разработчика, которые изображают будущую систему в форме представления владельца системы (заказчика), который в дальнейшем должен будет взаимодействовать с этой системой в ежедневном режиме ведения повседневного бизнеса. Эти схемы соответствуют модели предприятия, которая фактически является дизайном бизнеса и показывает объекты и процессы бизнеса, а также их взаимодействие.
Модель системы. Задача архитектора состоит в переводе или отображении схем модели предприятия в подробные технические условия или спецификации, соответствующие представлению информационной системы дизайнером. Эти спецификации и составляют модель системы. Она конструируется системным аналитиком, который должен определить элементы данных и функций, представляющих объекты и процессы бизнеса.
Технологическая модель. Подрядчик должен переработать схемы модели системы и отобразить их в схемы представления изготовителя, которое должно учитывать ограничения средств, технологий и других составных частей. Схемы изготовителя соответствуют технологической модели, которая должна адаптировать (привязать) модель информационной системы к возможностям языков программирования, устройств ввода-вывода и другим технологиям.
Компоненты. Субподрядчики работают с рабочими схемами и документами, которые определяют в подробностях части и элементы. Они соответствуют подробным спецификациям, которые предназначены для программистов, которые создают отдельные модули, не касаясь полного контекста или структуры системы.
Рассмотренные пять представлений соответствуют пяти строкам инфраструктуры архитектуры информационной системы, изображенной на рис. 1.1 и повторяющей первоначальную версию, предложенную Джоном Захманом в 1987 г. Три столбца описывают три аспекта информационных систем: данные, функции и сети для каждого из пяти уровней. Таким образом, в целом данная модель инфраструктуры показывает, что процесс создания информационной системы должен последовательно иметь дело с каждым из пяти уровней представления. При этом переход к решениям, связанным со следующим уровнем представления, считается возможным только после принятия согласованных решений по всем трем аспектам информационной системы на предыдущем уровне. Каждая из пятнадцати образованных таким образом ячеек таблицы символизирует определенную область принятия решений для создаваемой информационной системы и обозначения, используемые для описания соответствующих представлений информационных систем.
Три столбца на рис. 1.1 представляют данные, функции и сеть информационной системы. Для каждой из пяти строк столбец А показывает объекты, включаемые в рассмотрение информационной системой, столбец В показывает выполняемые функции, столбец С показывает местоположение и взаимосвязи.
Рис. 1.1. Первоначальная инфраструктура архитектуры информационных систем
Для физических процессов в строительстве и технике столбец А представляет материалы, столбец В – функции, столбец С – геометрию. Каждая строка характеризуется особой ролью, или представлением, особым набором ограничений и, следовательно, особыми моделирующими структурами. В табл. 1.1 показаны представления, ограничения и модели для трех столбцов рис. 1.1, которые были описаны в первой работе Захмана.
Таблица 1.1
Характеристики строки инфраструктуры
| Строка | Представление | Ограничения | Модель |
| 1 | Планировщик | Финансовые/внешние | Намерение |
| 2 | Владелец | Использование/стратегия | Модель предприятия |
| 3 | Дизайнер | Структура/операции | Модель системы |
| 4 | Изготовитель | Технология | Технологическая модель |
| 5 | Субподрядчик | Внедрение | Внеконтекстные модели |
Ограничения обладают свойством аддитивности. Это означает, что при создании новой модели на некотором уровне представления к ограничениям текущей строки добавляются ограничения строк вышележащих уровней. В идеальном случае модель нового уровня не должна быть несхожей настолько, что из нее не может быть выведена (или реверсивно сконструирована) модель более высокого уровня представления. Это приводит к проблеме управления качеством: для обеспечения гарантии т
...