- •Управление информационными системами
- •Содержание
- •Часть I. Организации, менеджмент и сетевые корпорации.................................................17
- •Глава 1. Управление киберкорпорациями ...................................................................... 18
- •Глава 2. Информационные корпоративные системы .....................................................................70
- •Глава 3. Информационные системы, организации, менеджмент и стратегия........................ 117
- •Глава 4. Киберкорпорация: электронная коммерция и электронный бизнес ........................ 176
- •Часть II. Информационная инфраструктура.........................................................................................237
- •Глава 5. Управление аппаратными ресурсами............................................................................... 238
- •Глава 6. Управление программными ресурсами........................................................................... 293
- •Глава 7. Управление ресурсами данных.......................................................................................... 349
- •Глава 8. Телекоммуникации и сети ................................................................................................. 401
- •Глава 9. Интернет в инфраструктуре новых информационных технологий........................... 447
- •Часть III. Построение информационных систем в киберкорпорациях.............513
- •Глава 10. Перестройка организации при внедрении информационных систем ………….... 514
- •Часть IV. Управление и организационная поддержка систем
- •Глава 12. Управление знаниями: обработка знаний и искусственный интеллект ……….. 616
- •Глава 13. Совершенствование методов принятия управленческих решений…………......... 667
- •Часть V. Управление информационными системами в киберкорпорации…………………….... 711
- •Глава 14. Безопасность и контроль информационных систем................................................... 712
- •Глава 15. Этическое и социальное влияние информационных систем..................................... 767
- •Глава 16. Управление глобальными информационными системами....................................... 820
- •1.1. Почему информационные системы?
- •I nformation system (информационная система)
- •Information (информация)
- •Input (ввод)
- •I nformation systems literacy (информационная грамотность)
- •Information technology (it) (информационная инфраструктура)
- •1.2. Современный подход к информационным системам
- •1.3. На пути к киберкорпорации: новая роль информационных систем в организациях
- •I nternet (Интернет)
- •I nterorganizational systems (межорганизационные системы)
- •Intranet (интранет)
- •1 .4. Использование информационных систем:
- •I nformation architecture (информационная архитектура/инфраструктура)
- •Положительные и отрицательные воздействия информационных систем
- •Глава 2.
- •2.1. Основные системы, используемые в организациях
- •2.2. Информационные системы: функциональные различия
- •2.3. Интеграция функций и бизнес-процессов: корпоративные системы и межкорпоративные сети
- •I ndustrial networks (промышленные сети)
- •Vertical industrial networks (вертикальные промышленные сети)
- •Глава 3
- •3.1. Организации и информационные системы
- •3.2. Изменение роли информационных систем в деятельности организаций
- •I nformation systems department (отдел информационных систем)
- •Information systems managers (менеджеры информационных систем)
- •V irtual organization (виртуальная организация)
- •3.3. Менеджеры, принятие решений и информационные системы
- •Interpersonal roles (межличностные роли)
- •Informational roles (информационные роли)
- •I ntelligence (разведка /сбор данных)
- •Implementation (внедрение)
- •3.4. Информационные системы и бизнес-стратегия
- •Value chain model (модель добавления стоимости)
- •Value web (ценовая сеть)
- •Information partnership (информационное партнерство)
- •Глава 4
- •4.1. Электронная коммерция, электронный бизнес и развивающаяся киберкорпорация
- •Information asymmetry (информационная асимметрия)
- •4.2. Электронная коммерция
- •4.3. Электронный бизнес и киберкорпорация
- •4.4. Управления возможностями и методами решения проблем
- •5.1. Инфраструктура аппаратного обеспечения и информационных технологий
- •5.2. Организация памяти, а также ввод и вывод данных
- •Voice input deviceХs (устройства речевого ввода)
- •Voice output device (устройство речевого вывода)
- •5.3. Категории компьютеров и компьютерных систем
- •5.4. Управление аппаратными ресурсами
- •I nformation appliance (информационное устройство)
- •Глава 6
- •6.1. Программное обеспечение: определение
- •6.2. Системное по
- •Virtual storage (виртуальное хранилище)
- •Interpreter (интерпретатор)
- •6.3. Прикладное по
- •Very high-level programming language (язык программирования сверхвысокого уровня)
- •I ntegrated software package (интегрированный программный пакет)
- •6.4. Современные инструментальные средства разработки программ
- •Visual programming (визуальное программирование)
- •Inheritance (наследование)
- •X html (extensible hypertext markup language) (расширяемый гипертекстовый язык разметки)
- •6.5. Управление программными ресурсами
- •Глава 7
- •7.1. Структурирование данных в традиционной файловой среде
- •7.2. Базы данных: особый подход к управлению данными
- •Information policy (информационная политика)
- •7.4. Тенденции развития баз данных
- •Глава 8
- •8.1. Телекоммуникационная революция
- •Information superhighway (информационная супермагистраль)
- •8.2. Компоненты и функции телекоммуникационной системы
- •8.3. Коммуникационные сети
- •Частные системы передачи информации, локальные вычислительные сети (лвс) и глобальные вычислительные сети (гвс)
- •Integrated services digital network (isdn) (цифровая сеть связи с комплексными услугами)
- •Voice mail (голосовая почта)
- •Videoconferencing (видеоконференция)
- •Глава 9
- •Internetworking (межсетевой обмен данными)
- •Internet service provider (isp) (провайдер услуг Интернета)
- •Internet protocol (ip) address (адрес Интернет-протокола)
- •Intei net2 (Интернет2)
- •Voice portal (речевой портал)
- •Internet telephony (интернет-телефония)
- •Voice over ip (voip) (передача речи с помощью ip)
- •Virtual private network (vpn) (виртуальная частная сеть)
- •Глава 9. Интернет в инфраструкту
- •Глава 10. Перестройка организации при внедрении информационных систем
- •Глава 11. Понимание ценности информационных систем и управление изменениями
- •Information systems plan (план формирования информационных систем)
- •Information requirements (информационные потребности)
- •Installation (установка)
- •Information center (информационный центр)
- •Глава 11. Понимание ценности инфс
- •Internal integration tools (инструменты внутренней интеграции)
- •Virtual reality modeling language (vrml) (язык моделирования виртуальной реальности)
- •Investment workstation (инвестиционная рабочая станция)
- •I Forward chaining (прямой логический вывод)
- •Intelligent agent (интеллектуальный агент)
- •Intrusion detection system (система обнаружения вторжений)
- •I Resource allocation (распределение ресурсов)
- •15.1. Представление об этических и социальных проблемах, связанных с системами
Intrusion detection system (система обнаружения вторжений)
Утилиты, ведущие мониторинг наиболее уязвимых мест сети, обнаружива-| ющие случаи несанкционированного доступа.
Многие организации полагаются в защите информации на различные способы шифрования. Шифрование — это кодирование и скремблирование (шифрование путем перестановки и инвертирования участков спектра сигнала или групп символов) данных с целью обеспечения их безопасности или надежности передачи. Сообщение может быть закодировано при помощи секретного цифрового кода, называемого ключом шифра, и отправлено в виде набора символов. (Ключ может состоять из большого набора букв, цифр и других символов.) Для того чтобы прочесть его, необходимо воспользоваться подходящим ключом для расшифровки. В число стандартов шифрования входят SSL (протокол защищенных со-кетов) и S-HTTP (протокол защищенной передачи гипертекста), используемые в Интернете. Они позволяют программе-клиенту и серверу автоматически выполнять процедуры кодирования/декодирования при обмене web-сообщениями. Существует множество альтернативных методов шифрования, однако по-настоящему широкое распространение получила только технология шифрования с «открытым ключом». Эта методика, изображенная на рис. 14.5, использует два различных ключа, один закрытый, а второй — открытый. Ключи связаны математической зависимостью таким образом, что данные, зашифрованные одним из них, могут быть декодированы только при помощи второго. Чтобы отправлять и получать сообщения, корреспонденты вначале создают отдельные пары закрытых и открытых ключей. Открытый ключ хранится в компьютерной директории, а секретный — в максимально защищенном месте. Отправитель зашифровывает сообщение при помощи открытого ключа получателя. Получив письмо, реципиент использует свой закрытый ключ для его декодирования. Кроме него, этот ключ никому не известен, поэтому можно быть уверенным, что переписка останется в тайне.
Кодирование дает возможность защитить данные, касающиеся платежей, например информацию о кредитных картах, и решает проблемы с подлинностью и целостностью сообщений. Аутентификация позволяет убедиться одному из участников сделки в подлинности других партнеров. В обычном мире мы используем для этого подписи. Проверка целостности сообщения определяет, не подверглось ли оно «по дороге» изменениям и полностью ли дошло.
Согласно документу Electronic Signatures in Global and National Commerce Act, электронные подписи получили статус обычных подписей. Цифровая подпись использует шифрование с открытым ключом с целью присоединения цифрового кода к электронному сообщению для подтверждения его подлинности. Таким образом, сообщение ассоциируется с его отправителем, как и при использовании обычной подписи.
Важную роль в процедуре аутентификации играют цифровые сертификаты. Цифровые сертификаты — это файлы данных, используемые для установления идентичности отдельных людей, а также обеспечивающие защиту сетевых транзакций (рис. 14.6). Система цифровых сертификатов пользуется услуги проверенной третьей стороны, Бюро сертификации (СА), для определения идентичности пользователей. Система СА может функционировать внутри организации или быть запущена во внешней компании, такой как VeriSign Inc. (штат Калифорния). Система регистрирует пользователей при помощи телефона, обычной почты или при личной встрече. Полученная информация помещается в память сервера, который генерирует закодированные цифровые сертификаты, содержащие идентификационную информацию и копию открытого ключа пользователя. Сертификат удостоверяет, что открытый ключ принадлежит указанному лицу. Собственный открытый ключ СА можно получить как через Интернет, так и в печатном виде. Получатель зашифрованного сообщения использует этот ключ для декодирования цифрового сертификата, приложенного к письму, проверяет, создан ли он СА, а затем получает открытый ключ отправителя и идентификационную информацию, содержащуюся в этом сертификате. Используя полученную информацию, реципиент может отправить своему корреспонденту зашифрованный ответ. Система электронной сертификации может, например, помочь владельцу кредитной карты и продавцу во взаимной проверке сертификатов, прежде чем они обменяются данными и совершат сделку.
Многие системы электронных платежей, работающие с кредитными картами, используют для шифрования данных SSL-протокол. Однако такая методика не позволяет удостовериться в том, что картой пользуется ее истинный владелец. Компании VISA International, MasterCard International, American Express и другие ведущие фирмы — эмитенты кредитных карт, а также многие банки используют протокол безопасных электронных транзакций (SET) для шифрования данных по операциям с кредитными картами, а также для их передачи через Интернет и другие открытые сети. На рис. 14.7 показано, каким образом работает SET-npo-
токол. Пользователь получает цифровой сертификат и специальный «цифровой бумажник». Бумажник и сертификат подтверждают идентичность пользователя и его кредитной карты. Когда он совершает покупки на web-сайте, использующем SET-протокол, сервер посылает сигнал, активизирующий электронный бумажник. Последний зашифровывает платежную информацию и отсылает ее продавцу, который декодирует сообщение и проводит сделку через свой банк. Затем банк продавца отсылает закодированную информацию эмитенту кредитной карты пользователя, который подтверждает сделку или отказывает в ее совершении. В случае подтверждения платежеспособности покупателя банк продавца переводит средства на свой счет, а счет покупателя соответствующим образом изменяется. После этого заказанный товар отправляется клиенту.
Разработка структуры контроля: выгоды и издержки
Информационные системы могут включать все механизмы контроля, описанные выше. Однако на практике такой подход может привести к большим затратам и сильно усложнить структуру всей системы. Необходимо провести анализ затрат и выгод для того, чтобы определить, какие механизмы контроля и управления будут наиболее эффективны применительно к конкретной системе.
Одним из критериев определения необходимого контроля системы является важность информации, содержащейся в ней. Крупные финансовые и бухгалтерские системы, такие как системы обработки платежных ведомостей или учета покупки и продажи акций на бирже, нуждаются в применении более высоких стандартов управления, чем, к примеру, компьютерная картотека пациентов зубной клиники, напоминающая им о необходимости очередного профилактического обследования. В качестве примера можно привести компанию SwissAir, которая вложила средства в дополнительное оборудование и программное обеспечение для повышения надежности работы своих компьютерных сетей, поскольку от них зависят системы заказа билетов и другие приложения.
Экономическая эффективность средств управления во многом зависит также от эффективности, сложности и стоимости применяемых в них технологий. Например, полное тестирование методом сравнения всех компонентов системы с эталонами может отнимать слишком много времени и его невозможно будет реализовать на практике в случае работы с системой, которая ежедневно обрабатывает сотни тысяч платежей. Однако эту технологию можно будет использовать для проверки только особо важных данных, таких как номера счетов и общие итоговые суммы.
Третьим критерием является степень риска, которому подвергается организация, если определенная функция или процесс не контролируется должным образом. Системные разработчики могут оценивать риски, определяя вероятную частоту появления проблемы и величину ущерба, с ней связанного. К примеру, если
происшествие может случиться не чаще одного раза в год и привести к потере всего $ 1 тыс., нет смысла тратить $20 тыс. на то, чтобы иметь возможность его предотвратить. В том случае, если подобный сбой может происходить каждый день, то потери компании могут составить уже $300 тыс. и даже 100 тыс., затраченных на его предотвращение, не являются слишком высокой ценой.
В табл. 14.5 представлен пример оценки рисков для интерактивной системы, обрабатывающей 30 тыс. заказов в день. Вероятность обесточивания системы хотя бы один раз в год составляет 30%. Потери при обесточивании системы могут составить от $5 до $200 тыс. для каждого случая в зависимости от длительности простоя. Вероятность хищений в течение года составляет около 5%, при этом убытки могут составить от $1 до $50 тыс. в каждом отдельном случае. Пользователи допустят ошибки с вероятностью 98% (применительно к годовому периоду), что может привести к потерям в размере от $200 до $40 тыс. Величина годовых потерь вычисляется путем умножения вероятности события на средний ущерб от него. После оценки рисков системные проектировщики стараются выявить наиболее уязвимые места системы, сбои в которых могут вызвать наибольший ущерб. В данном случае необходимо максимально снизить вероятность обесточивания системы и уменьшить количество пользовательских ошибок. Информированность руководства обо всех мерах, которые можно принять с целью уменьшения рисков, также снижает возможный ущерб (Straub, Welke, 1998).
В некоторых случаях организации не в состоянии рассчитать вероятность того, что какое-либо событие произойдет, или не могут оценить возможный ущерб. В такой ситуации руководство может принять решение об использовании методик качественной оценки (Rainer, Snyder, and Carr, 1991).
Чтобы решить, какие средства управления использовать, проектировщики должны исследовать все доступные технологии и сравнить их экономическую эффективность. Слабый контроль в одном месте может быть компенсирован усилением контроля в другой. Может оказаться нецелесообразным осуществлять контроль во всех критических областях, если там уже используются другие сред-
ства управления. Комбинация средств управления для какого-либо отдельного приложения формирует его управляющую структуру.
Роль аудита в процессе контроля
Как руководство компании может убедиться в том, что средства контроля информационными системами работают достаточно эффективно? Чтобы ответить на
этот вопрос, необходимо систематически проводить тщательный аудит. Аудит управления информационными системами заключается в идентификации всех их средств контроля и оценке их эффективности. Сотрудник, осуществляющий проверку, должен обладать полной информацией обо всех бизнес-процессах, оборудовании, системах коммуникации, правилах безопасности, системах контроля, организационной структуре, сотрудниках, ручных процедурах и отдельных программных приложениях.
Аудитор, как правило, проводит опрос ключевых сотрудников, работающих с информационными системами, выясняя их функции и выполняемые процедуры. При этом уделяется внимание контролю приложений, общей целостности контроля и контролю безопасности. Аудитор применяет пробные транзакции и на их основе проводит серию тестов, применяя, если есть возможность, программы автоматизированной проверки.
Процесс аудита выявляет все уязвимости контроля и оценивает вероятность возникновения их негативных последствий. После этого определяется возможный ущерб от каждой из угроз. На рис. 14.8 показан образец перечня слабых мест кредитной системы, обнаруженных при проверке. В нем есть раздел, предназначенный для руководства предприятия и его предложений. Руководители должны разработать соответствующий план, в котором будут учтены наиболее серьезные слабые места системы.
14.3. Обеспечение качества системы
Организации могут повысить качество своих систем путем использования технологий повышения качества программного обеспечения и данных.
Обеспечение качества программного обеспечения: методики и инструменты
Решение проблем качества программ включает в себя использование подходящих методик разработки систем, правильное распределение ресурсов на всех этапах создания и внедрения системы, использование метрик и тщательное тестирование.
Структурированные методики
Для того чтобы помочь проектировщикам в создании сопутствующей документации, анализе, дизайне и внедрении информационных систем, были разработаны различные инструменты и методологии разработки. Методология разработки — это один или несколько методов, предназначенных для работы с каждым компо-
центом системы на всех этапах проекта. Основной функцией методологии разработки является установление порядка и принципов всего процесса разработки. Качественная методология включает в себя принятие общеорганизационных стандартов, применяемых при проектировании, программировании и тестировании. Для того чтобы создавать качественное программное обеспечение, организации должны выбирать подходящие методы и требуемым образом воплощать их на практике. Все спецификации должны включать в себя соглашения о принятых стандартах, что обеспечивает объективную оценку параметров системы.
Методологии разработки отражают различные подходы к созданию информационных систем. В гл. 10 описана технология объектно-ориентированной разработки программного обеспечения. Традиционные структурные методики и автоматизированное проектирование и создание программ (CASE) — другие примеры инструментов создания качественного программного обеспечения. Структурированные методики используются для документирования, предварительного анализа и проектирования информационных систем еще с 70-х гг. прошлого века. Их структурированность заключается в том, что они выполняются поэтапно, при этом каждый последующий шаг основывается на результатах предыдущего. Такие методики являются «нисходящими», действуя начиная с верхнего, общего уровня до нижнего — максимально детализированного, иными словами — от общего к частному. К примеру, самый высокий уровень описания системы кадрового учета будет включать в себя основные функции, связанные с трудовыми ресурсами предприятия: состав сотрудников, результаты их работы, льготы, зарплаты и соответствие нормам ЕЕО (Equal Employment Opportunity, равные возможности занятости). Каждый из этих пунктов делится на составляющие компоненты следующего уровня. Например, льготы могут включать в себя пенсию, сбережения, медицинское обслуживание и страховку. Данные «подпункты», в свою очередь, также подразделяются на отдельные элементы на следующем уровне детализации.
Традиционные структурированные методики больше ориентированы на процессы, чем на данные. Хотя они и включают в себя описание всех типов данных, основное внимание уделяется процессу их обработки. Такие методики во многом линейны — прежде чем приступать к новой фазе, необходимо полностью закончить предыдущую. Структурированные методики включают в себя структурированный анализ, структурированный дизайн (проектирование), структурированное программирование и широко используют блок-схемы.
Структурированный анализ
Структурированный анализ широко используется для представления входных данных, процессов и результатов работы системы в наглядном виде. Он дает возможность создать логическую модель информационного потока, представляя си-
стему в виде отдельных модулей с различной степенью детализации. Данный вид анализа четко определяет, какие процессы или преобразования происходят в каждом модуле и как модули взаимодействуют друг с другом. Структурный анализ является основным инструментом для построения диаграммы информационных потоков данных (Data flow diagram, DFD) — графического отображения процессов, происходящих в отдельных элементах системы, и их взаимодействия друг с другом (в виде потоков данных).
На рис. 14.9 показан образец диаграммы потока данных для почтовой регистрационной системы университета. Закругленные блоки изображают процессы, связанные с преобразованием данных. Внешний объект представлен в виде квадрата, видно, что отправитель или получатель информации находится за пределами моделируемой системы. Открытые прямоугольники изображают устройства хранения данных. Информационные потоки изображены в виде стрелок, связывающих процессы, объекты и хранилища данных. Они содержат пакеты данных, их названия и содержимое обозначены рядом со стрелками.
Данная диаграмма показывает, что студенты передают по почте регистрационные формы, в которых содержатся имя, идентификационный номер и количество курсов, которые они хотят прослушать. Процесс 1.0 представляет собой процедуру проверки доступности курса, основанную на данных из курсового файла. В файле указано, какие курсы отменены, полностью заполнены и те, доступ на которые еще открыт. Затем Процесс 1.0 определяет, какой запрос студента можно принять, а какой — нет. В Процессе 2.0 студент зачисляется на курс, для которого ранее было получено подтверждение. Курсовой файл обновляется — в него вносятся имя нового студента, его идентификационный номер, а затем пересчиты-вается размер группы. Если достигнуто максимальное число студентов, то курс «закрывается». Процесс 2.0 также обновляет главный файл данных университета, добавляя туда информацию о новых студентах или изменения в личных данных, уже существующих. После этого Процесс 3.0 отправляет каждому студенту письмо с подтверждением регистрации и списком курсов, на которые он зачислен. Курсы, на которые студент попасть не смог, также перечислены.
Диаграммы могут быть использованы для отображения процессов более высокого уровня или, наоборот, максимальной детализации деятельности предприятия. Благодаря применению многоуровневых диаграмм потоков данных сложный процесс может быть разбит с учетом нескольких последовательных уровней детализации. Информационная система может быть разделена на подсистемы, каждой из которых будет соответствовать своя диаграмма потока данных высокого уровня. Такие подсистемы, в свою очередь, можно разделить на дополнительные подсистемы, которым будут соответствовать диаграммы потоков данных второго уровня и т. д.
Другим инструментом структурного анализа является словарь данных, который содержит информацию об отдельных частях данных и группах данных внутри системы (гл. 7). Словарь данных содержит описания содержимого потоков данных и устройств хранения данных, чем обычно пользуются создатели системы. Спецификации процесса включают в себя описания преобразований информации на самых низких уровнях. Они помогают разобраться в логике каждого процесса.
Структурированное проектирование
Структурированное проектирование включает в себя набор правил и методик, обеспечивающих «прозрачность» работы и простоту программ, сокращая при этом время и расходы на кодирование, отладку и обслуживание. Основным принципом структурного проектирования является разработка системы «сверху вниз» в иерархическом порядке, с постепенным повышением уровня детализации. Вна-
чале рассматривается основная функция программы или системы, затем она разбивается на подфункции, которые также разделяются на составные части до тех пор, пока не будет достигнут максимальный уровень детализации. На самом низком уровне описываются все процессы, происходящие в отдельных модулях. Таким образом, основная логическая модель системы создается заранее, прежде чем программисты приступят к написанию кода. После проведения структурного анализа полученная документация может использоваться в качестве исходных данных для процесса проектирования. Типичным примером структурированного проектирования может служить описанная здесь система учета кадров.
Когда основные принципы работы системы сформулированы, подготавливается сопутствующая документация в виде структурной диаграммы, представляющей собой схему, отображающую все уровни проектирования, взаимосвязь между ними и их место в общей структуре проекта. Сопровождающая документация составляется для отдельных программ, систем или какой-либо части программы. На рис. 14.10 показана структурная схема высокого уровня системы обработки платежных ведомостей. При наличии слишком большого числа уровней структурная схема разбивается на несколько более детализированных схем. Структурная схема может отображать отдельную программу, систему (набор программ) или какую-либо часть программы.
Структурированное программирование
Структурированное программирование расширяет границы проектирования, позволяя создавать более «понятные» и легкие в модификации программы. Оно основывается на принципе модуляризации (разбиения программы на отдельные модули), который вытекает из нисходящего анализа и проектирования. Каждый из блоков на структурной схеме отражает отдельный модуль, который обычно напрямую связан с одним из модулей более высокого уровня. Он включает в себя логический элемент, выполняющий одну или несколько функций. В идеале все модули должны быть независимыми друг от друга и обладать только одним вхо-
дом и выходом. При этом они могут совместно использовать данные. Размер модуля должен позволять легко управлять им. Любой специалист должен иметь возможность читать и без труда понимать программный код отдельных модулей и легко отслеживать их функции.
Сторонники структурного программирования утверждают, что любая программа может быть написана с использованием всего трех основных управляющих элементов или командных блоков (блоков инструкций): (1) простая последовательность, (2) выбор и (3) итерация. Эти управляющие элементы представлены
на рис. 14.11.
Последовательная конструкция выполняет все команды в той последовательности, в которой они подаются на «вход» блока, начиная каждую последующую после завершения предыдущей.
Конструкция выбора проверяет внешнее условие и в зависимости от него выбирает одну из двух возможных альтернатив. В данном случае проверяется соответствие условию R. Если условие выполнено, то выбирается команда D. После этого программа переходит к следующему условию.
Итерационная конструкция повторяет определенный участок кода до тех пор, пока тест на проверку условия дает положительные результаты. Здесь проверяется условие S. Если результат положительный, то выполняется оператор Е, затем производится новое тестирование. Если результат теста не отвечает заданному условию, то Е пропускается и программа переходит к следующему оператору.
Блок-схемы
Составление блок-схем — один из самых cfapbix инструментов проектирования, который актуален по сей день. Блок-схема отображает поток данных внутри всей
информационной системы и может использоваться для создания различных спецификаций. В них можно отразить все «входы» в систему, вывод результатов, главные файлы, процессы, а также ручные процедуры.
При помощи специальных символов и линий связи на блок-схеме изображаются потоки информации и работа системы, последовательность операций и ап-
System flowchart (блок-схема системы)
Один из графических инструментов проектирования, который позволяет наглядно отобразить «физическую среду» информационной системы и порядок выполнения процессов обработки данных.
паратная часть. На рис. 14.12 представлены некоторые базовые символы, используемые при создании блок-схемы для системы обработки платежных ведомостей. Основным символом процесса является прямоугольник. Линии связи показывают последовательность шагов программы и направление информационного потока. Иногда для этого используются стрелки. Ограничения традиционных методик
Несмотря на то что стандартные методики зачастую очень полезны, они могут быть недостаточно гибкими или отнимать слишком много времени. Прежде чем приступать непосредственно к процессу проектирования системы, необходимо
провести структурный анализ, а создание программного кода требует наличия законченного проекта. Для того чтобы внести изменения в спецификации, нужно сначала провести анализ и внести изменения в проектную документацию.
Структурированные методики разработки в основном ориентированы на функции, уделяя особое внимание процессам обработки данных. В гл. 10 описывается, каким образом технология объектно-ориентированной разработки решает такие проблемы. Разработчики могут также использовать системы автоматизированного проектирования и создания (CASE), чтобы сделать структурные методики более гибкими.
Автоматизированное проектирование и создание программ (CASE) Автоматизированное проектирование и создание программ — это автоматизированная пошаговая методика разработки, обеспечивающая сокращение затрат времени на повторяющиеся действия, а также повышение общей эффективности работы проектировщика. Применение данной технологии позволяет разработчику сконцентрироваться на творческих задачах, переложив всю рутину «на плечи» компьютера. Автоматизированное проектирование также упрощает подготовку сопутствующей документации и координацию работы членов команды. Они могут получать доступ к общим файлам для оценки проделанной работы или улучшения результатов. Некоторые исследования показали, что системы, разработанные при помощи такой методики, являются более надежными и гораздо реже нуждаются в обслуживании. При правильном применении инструментов автоматизированного проектирования можно достичь и более высокой эффективности системы. Многие такие инструменты предназначены для использования на персональных компьютерах и обладают мощными и дружественными графическими интерфейсами.
Инструменты автоматизированного проектирования включают в себя графические утилиты для автоматизированного построения различных графиков и диаграмм, генераторы отчетов, словари данных, тесты, используемые при анализе и контрольных проверках, генераторы кода и документации. Большинство из них основаны на распространенных структурированных методиках, некоторые поддерживают объектно-ориентированную разработку. В целом все подобные утилиты используются для повышения эффективности и качества работы проектировщиков путем выполнения следующих функций:
♦ помогают в применении стандартных методик разработки;
♦ улучшают процессы коммуникации между пользователями и техническими специалистами;
♦ упорядочивают и устанавливают связи между различными компонентами и обеспечивают доступ к ним;
I Computer-aided software engineering (CASE) (автоматизированное про-| ектирование и создание программ)
! Автоматизация пошаговых методик разработки информационных систем и программного обеспечения с целью сокращения затрат времени на повтордющи-j еся действия и повышения общей эффективности работы проектировщика.
♦ автоматизируют рутинные процессы, присутствующие в анализе и разработке;
♦ автоматически генерируют программный код и тестируют его.
Многие CASE-инструменты можно классифицировать по процессам, которые они обслуживают, — внутренним или внешним. Внешние CASE-инструменты используются при анализе и проектировании системы на ранних стадиях разработки, тогда как внутренние применяются при кодировании, тестировании и внедрении. Многие внутренние CASE-инструменты могут автоматически преобразовывать подготовленные спецификации в программный код.
Эти инструменты также автоматически связывают элементы данных с процессами, в которых они используются. Если схема информационных потоков меняется от процесса к процессу, то словарь данных будет изменяться соответственно в автоматическом режиме. Инструменты автоматизированного проектирования также содержат функции проверки диаграмм и спецификаций.
В информационном хранилище хранится вся информация, полученная от аналитиков на различных этапах проекта. В нем находятся схемы информационных потоков, блок-схемы, схемы взаимосвязей между отдельными компонентами системы, описания типов данных, спецификации процессов, форматы отчетов, заметки и комментарии, а также результаты тестов. Программы автоматизированного проектирования в настоящее время поддерживают приложения типа «клиент—сервер», объектно-ориентированное программирование и реинжиниринг бизнес-процессов (Nissen, 1998).
Для того чтобы эффективно использовать технологии автоматизированного проектирования, необходимо поддерживать строгую дисциплину в организации. Каждый член команды разработчиков должен придерживаться общих соглашений об именах и других стандартов, а также использовать в своей работе общепринятые методики (Scott, Horvath, and Day, 2000). Распределение ресурсов при разработке системы
Подходы к распределению ресурсов при разработке информационных систем меняются со временем. Распределение ресурсов состоит в распределении временных и финансовых затрат, а также функций между сотрудниками на различных стадиях разработки системы. Ранее разработчики концентрировали все усилия на программировании, и только около 1 % и средств уходило на системный анализ (создание спецификаций). Необходимо уделять этим аспектам больше внимания, что позволит в дальнейшем значительно сократить расходы на обслуживание новой системы. Правильное определение информационных потребностей организации также может сократить число ошибок в программах, снизить временные и финансовые затраты (Domges, Pohl, 1998). В современных специальных изданиях утверждается, что системному анализу и созданию спецификаций необхо-