
Теоретические основы автоматизированного управления.-2
.pdf290
Принцип непрерывного развития системы
Этот принцип предполагает проектирование АСОИУ в виде открытых систем с возможностями постоянной модернизации системы управления, информационного и программно-технического обеспечения АСОИУ, методов и алгоритмов решения отдельных задач управления.
Необходимость в этом появляется в связи с постоянным обновлением механизмов, методов и технологии управления, в связи с непрерывным развитием и совершенствованием технического и программного обеспечения.
Контрольные вопросы
1.Поясните смысл социальной и экономической эффективности внедрения АСОИУ, перечислите основные факторы получения экономического эффекта.
2.Приведите формальную структуру АСОИУ, перечислите возможные варианты выделения функциональных подсистем.
3.Приведите понятия комплексности и интеграции в АСОИУ, приведите пример комплексной интегрированной АСУ студенческим кафе.
4.Перечислите и кратко прокомментируйте обеспечивающие части АСОИУ, какие вопросы этой проблемы изучались Вами (будут изучаться) в учебных дисциплинах специальности?
5.Назовите основные, на Ваш взгляд, отличительные особенности автоматизированных учрежденческих систем.
6.Дайте понятие и определение информационной системы обеспечения решений, приведите ее формальную структуру.
7.Перечислите, прокомментируйте основные принципы создания ИСОР.
8.Перечислите и прокомментируйте основные элементы гибких автоматизированных производств.
9.Что общего в понятиях принципа системного подхода и принципа единства информационной базы?
10.Что общего и в чем различие в понятиях принципа новых задач и принципа непрерывного развития?
11.Поясните логическую взаимосвязь принципов типовости и автоматизации проектирования.
12.Роль и место в проектировании АСОИУ принципа первого руководителя.
291
10.ОСОБЕННОСТИ ПРОЕКТИРОВАНИЯ АСОИУ НА СОВРЕМЕННОМ ЭТАПЕ
10.1.Проблемы использования готовых программных и информационных компонент при проектировании АСОИУ
Современный этап создания АСОИУ характеризуется наличием ряда проблем, которые необходимо принимать во внимание при разработке конкретных проектов:
•интенсивным использованием готовых программных компонент и проектных решений на отдельные подсистемы и комплексы задач;
•применением современных CASE-технологий системного проектирования АСОИУ;
•управлением процессом создания АСОИУ как крупного проекта (планирование жизненного цикла реализации проекта и управления качеством);
•особым вниманием к разработкам в составе АСОИУ механизмов защиты и обеспечения информационной безопасности;
•принципиальным изменением отношения разработчиков и заказчиков к использованию при проектировании отечественных и зарубежных стандартов.
Последовательно раскроем содержание каждой из проблем, воспользовавшись следующими источниками [21, 56, 57, 58].
Решение первой задачи объективно требует наличия методик и алгоритмов предварительного выбора и оценивания готовых программных и информационных компонент АСОИУ. Особенно высокие требования к качеству, защите, унификации интерфейсов и оформлению документации целесообразно предъявлять к тем компонентам, которые в перспективе будут использоваться многократно в различных проектах, различными специалистами и на той или иной платформах.
Эффективность поиска, выбора и выделения готовых программных компонент для использования в новом проекте прежде всего зависит от их объема
икратности количества возможных применений. При проектировании программных средств (ПС) небольшого объема (порядка тысячи строк исходного текста) поиск, подбор и адаптация готовых компонент для их применения в новом ПС чаще всего оказываются нерентабельными, проще написать новые программы. Таким образом, существует некоторый диапазон объемов программ и информации баз данных («докритическая масса»), для которых нецелесообразно применять ранее созданные программы и базы данных.
Проектирование на базе повторно применяемых готовых компонент становится особенно рентабельным для сложных ПС, содержащих сотни или тысячи модулей с большими объемами обрабатываемой информации. Кратность применения компонент также значительно влияет на эффективность их использования. На первый взгляд, повторное использование исходных текстов программных компонент на однотипных реализующих ЭВМ на любых языках
292
программирования представляется тривиальным. Однако для обеспечения эффективного применения готовых программ необходимо при их первичной разработке поставщиками подготовить возможность их последующего многократного использования в различном операционном и внешнем окружении. Для этого должны быть унифицированы и стандартизированы:
•технология разработки модулей и групп программ;
•структуры межмодульных связей и технология комплексирования;
•система идентификации и специфицирования программ и переменных;
•методика испытаний и документирования компонент и комплекса программ в целом.
Таким образом, возникает необходимость проведения поставщиками ПС ряда предварительных общесистемных и организационных работ, а также выделения дополнительных ресурсов на обеспечение возможности переноса программ и данных в другие среды (области использования). Для этого при разработке программных и информационных компонент необходимо учитывать следующие элементы унификации:
•протоколы и интерфейсы взаимодействия приложений между собой, со средой информационной системы (ИС), с пользователями, с внешней средой, к которым относятся прежде всего интерфейсы прикладного программирования;
•языки программирования и инструментальные средства, поддерживающие создание готовых переносимых приложений — использованные CASEтехнологии;
•языки баз данных и системы управления базами данных;
•форматы данных, форматы электронных сообщений.
Эффективное использование этих элементов достигается путем применения соответствующих стандартов на информационные технологии, действующих как международные или национальные нормативные документы, или открытых спецификаций, отражающих сложившиеся промышленные стандарты «де-факто».
Так, в стандарте на жизненный цикл программных систем ISO 12207 процессы поставки и приобретения готовых компонент и программных средств в целом, а также организационного взаимодействия поставщиков и потребителей в частности, рассматриваются в разделах 5.1 и 5.2 вышеназванного стандарта, а стандартизации процессов разработки посвящен раздел 5.3. При этом в разделе 5.1 внимание акцентируется на организации экономического и технического взаимодействия покупателя и продавца готового программного продукта или сервиса в течение всего жизненного цикла ПС. Раздел поставки 5.2 содержит основные требования заказчика к организации работ поставщика в течение всего жизненного цикла ПС и его компонент, которые детализируются и реализуются всеми последующими разделами стандарта.
Остановимся кратко на описании содержания каждого из приведенных разделов стандарта [56].
Покупатель начинает процесс приобретения, описывая кон-
цепцию или потребность в приобретении, разработке или развитии системы,
293
программного продукта или обслуживания программного обеспечения. При этом он анализирует следующие требования к системе: коммерческую направленность проекта; организацию и требования надежности, безопасности, защиты информации; другие принципиальные требования.
Покупатель рассматривает варианты приобретения ПС, начиная с анализа затрат и получаемой выгоды от каждого варианта до учета возможного риска. Различные варианты могут предоставлять разнообразные возможности:
а) покупку готового программного продукта, который удовлетворяет всем требованиям;
б) разработку программного продукта и приобретение сервиса программного обеспечения внутрисистемно;
в) разработку программного продукта и приобретение сервиса программного обеспечения через контракт;
г) комбинацию а, б, в; д) модернизацию существующего программного продукта или обслужи-
вания.
При покупке готового программного изделия покупатель должен получить гарантии в том, что будут удовлетворены следующие условия:
•выполнены все требования к программному продукту;
•в комплект поставки войдет документация;
•соблюдены права собственности, использования, лицензирования и гарантийного обслуживания;
•обеспечена будущая поддержка программного продукта.
Покупатель должен подготовить, документировать и выполнить план приобретения, который включает в себя:
а) требования к системе; б) запланированную загрузку системы;
в) тип используемого контракта; г) обязательства вспомогательных организаций;
д) поддержку используемой концепции; е) учтенные риски и методы управления ими.
Вне зависимости от типа приобретаемого ПС покупатель должен задокументировать требования на приобретение (например, в виде заявки на приобретение). Документация на приобретение должна включать требования к системе, область действия, инструкции для участников торгов, список программных продуктов, сроки и условия приобретения, контроль над субподрядным договором, технические ограничения.
Требования на приобретение должны быть предоставлены организации, выбранной для выполнения деятельности по приобретению.
Далее покупатель должен установить процедуры выбора поставщика, включая критерии оценки предложений и соответствия продукта сформулированным им требованиям.
После выбора поставщика покупатель готовит и обсуждает условия контракта с поставщиком, которому адресует требования к приобретаемой ПС, включая стоимость и спецификацию программного продукта или сервиса,
294
который должен быть поставлен. Контракт фиксирует права собственности, использования, лицензирования и гарантийные обязательства поставщика, связанные с имеющимися в наличии программными продуктами многократного использования.
Если контракт уже заключен, то покупатель последовательно контролирует изменения путем переговоров с поставщиком. Изменения в контракте используются покупателем для воздействия на проектные планы, затраты, выгоды, качество.
Процесс приобретения заканчивается приемкой программных средств на основе определенных критериев и приемно-сдаточной стратегии, включающей подготовку контрольных тестовых примеров, данных, процедур и среды эксплуатации.
Покупатель проводит приемочные испытания поставляемого программного продукта или сервиса, оценку и принимает их от поставщика, когда удовлетворены все условия приемки. После принятия ПС покупатель должен взять на себя ответственность за управление конфигурацией поставляемого программного продукта.
Стандартизация процесса поставки заключается в регламентации действий и задач поставщика. Процесс может быть начат решением о подготовке предложения для ответа на запрос о приобретении или заключением и подписанием контракта с покупателем на приобретение системы, программного продукта или предоставленного сервиса.
Первоначально поставщик должен провести обзор требований в запросе о приобретении, принимая во внимание организационную стратегию покупателя, предлагаемую цену и другие правила, подготовить предложение в ответ на запрос о приобретении, включая рекомендуемые положения данного международного стандарта.
После заключения контракта поставщик должен провести оценку требований к программной системе, чтобы определить структуру управления проектом, включая гарантии выполнения проекта и гарантии качества поставляемого программного продукта или сервиса.
Кроме того, поставщик определяет или выбирает модель жизненного цикла программного обеспечения, соответствующую области применения, параметры важности и сложности проекта, если это не было отражено в контракте. Все процессы, действия и задачи этого международного стандарта должны быть выбраны и отображены в модели жизненного цикла ПС.
Поставщик должен установить требования к планам управления и гарантии исполнения проекта, обеспечения качества поставляемого программного продукта или сервиса. Требования к планам должны включать потребности в ресурсах и возможные ограничения для пользователя.
Если требования к планированию установлены, поставщик должен рассмотреть варианты разработки программного продукта или предоставления сервиса, сопоставив их с анализом рисков, связанных с каждым из вариантов. Предложенные варианты могут содержать следующие возможности:
295
а) разработку программного продукта или предоставление сервиса, используя внутренние ресурсы;
б) разработку программного продукта или предоставление сервиса, заключая субподрядный договор;
в) получение готовых программных продуктов от внутренних или внешних источников;
г) комбинации а, б, в.
В плане управления проектом должны быть отражены следующие моменты:
1)проектирование организационной структуры, полномочий, ответственности (обязательств) каждой организационной единицы, включая внешние организации;
2)проектирование окружения (для разработки, функционирования или сопровождения), включая испытательное оборудование, библиотеки, средства, стандарты, процедуры и инструментарий;
3)разработка структуры прерывания процессов жизненного цикла и действий, включая программные продукты, персонал, материальные ресурсы;
4)разработка планов управления качественными характеристиками программного продукта или сервиса;
5)проектирование механизмов обеспечения безопасности, защиты и других критических требований к программным продуктам;
6)разработка процедур управления субподрядчиками, включая выбор субподрядчика, и решения финансовых затруднений между субподрядчиком и покупателем, если они возникают;
7)процедуры верификации, сертификации и аттестации, включая варианты связи с аттестационным агентом, если это определено в контракте.
8)варианты снятия разногласий с покупателем путем совместных оценок, проверок, неофициальных встреч, сообщений, обсуждений, модификаций и изменений;
9)управление риском, т.е. управление областями проекта, которые включают технический потенциал, стоимость и планирование рисков;
10)политика безопасности, включающая правила обязательного доступа
кинформации на каждом проектном уровне организации;
11)утверждение проекта, обеспечиваемое такими средствами как процедуры закрепления необходимых прав собственности, лицензионных прав, гарантий;
12)средства для планирования, трекинга и сообщений;
13)обучение персонала.
Впроцессе реализации проекта поставщик должен постоянно осуществлять мониторинг и контролировать развитие и качество программного продукта или сервиса в течение всего жизненного цикла, обеспечивая при этом проблемную идентификацию отклонений от плана, запись, анализ и решение.
Кроме того, поставщик должен добиться удовлетворения всех предусмотренных контрактом требований, необходимых для гарантии, что программный продукт или сервис, доставленный покупателю, разработан или вы-
296
полнен согласно требованиям основного контракта. При этом для решения этой задачи поставщик может использовать проверки, аттестацию или испытательных агентов, как определено в контракте и проектных планах. Для окончательной оценки и проверки качества проекта поставщик должен:
•координировать действия по оценке контракта и связям с покупателем;
•проводить и поддерживать неформальные встречи, приемную оценку, приемные испытания, совместные оценки, проверки с покупателем;
•выполнять верификацию и аттестацию программных продуктов или сервиса, а также демонстрацию их соответствия требованиям контракта;
•предоставлять доступ покупателю к докладам об оценке, проверке, тестировании и решении возникших проблем;
•обеспечивать покупателю доступ к оборудованию поставщиков и субподрядчиков для обзора программных продуктов или сервиса.
После поставки и оформления соответствующих документов поставщик должен обеспечить помощь покупателю в поддержке поставленного программного продукта или сервиса на условиях, предусмотренных в контракте.
В заключение отметим, что технология создания и применения мобильных прикладных программ и баз данных с использованием готовых компонент быстро совершенствуется и в ближайшие годы станет доминирующей при создании сложных информационных систем. Это позволит повысить качество
иконкурентоспособность готовых программных средств и баз данных и резко сократить трудоемкость, стоимость и период их создания.
10.2. Индустриальные методы проектирования АСОИУ
Современные крупные проекты по созданию АСОИУ характеризуются следующими особенностями:
•большим количеством структурных подразделений, входящих в объект исследования, динамическим характером функциональных обязанностей отдельных элементов и взаимосвязей между ними;
•неоднородной программно-аппаратной платформой локальных и распределенных вычислительных сетей, использующихся в подразделении;
•наличием большого количества прикладных программных систем, часто невзаимосвязанных;
•непрерывным характером и ограниченными временными интервалами проектирования и внедрения системы;
•разобщенностью и различной профессиональной культурой и уровнем квалификации разработчиков и пользователей;
•частым отсутствием прямых аналогов, ограничивающим возможность использования каких-либо готовых типовых решений.
Перечисленные факторы способствовали появлению программнотехнологических средств — CASE-средств, проектирования и сопровождения АСОИУ. Термин CASE (Computer Aided Software Engineering) используется в
297
настоящее время в весьма широком смысле. Первоначальное значение термина CASE ограничивалось лишь вопросами проектирования и сопровождения программного обеспечения. В настоящее же время CASE-технологии рассматриваются как мощный инструмент решения исследовательских и проектных задач, связанных с начальными этапами разработки: анализом предметной области, разработкой проектных спецификаций, выпуском проектной документации, планированием и контролем разработок, моделированием деловых приложений с целью решения задач оперативного и стратегического планирования и управления ресурсами и т.п. К настоящему моменту наиболее интенсивное развитие получили два главных направления применения CASE-средств [21]:
1)BPR (business process reengineering) — перепроектирование бизнес-
процессов, т.е. фундаментальное переосмысление и радикальное планирование критических бизнес-процессов, имеющее целью резко улучшить их выполнение по отношению к затратам, качеству обслуживания и скорости. Бизнес-процесс представляет собой некоторую деятельность, направленную на использование входных данных одного или нескольких типов и выдачу результата, представляющего ценность для клиента. Конкретные примеры использования этой технологии при проектировании бизнес-процессов организации представлены в разделе 4;
2)системный анализ и проектирование, включающие функциональное,
информационное и событийное моделирование как вновь создаваемой, так и существующей системы.
Необходимо отметить, что такое разбиение является весьма условным, поскольку при анализе предприятия и разработке проекта его автоматизации используются элементы BPR (более того, теоретически BPR должно быть первым этапом разработки), в то же время необходимым этапом перепроектирования является, по крайней мере, создание функциональной модели бизнеспроцесса.
Для моделирования бизнес-процессов обычно используется методология SADT (точнее, ее подмножество IDEF0), поддерживаемая пакетами BPWin и Design/IDEF. Однако статическая SADT-модель не обеспечивает полного решения задач перепроектирования, необходимо иметь возможность исследования динамических характеристик бизнес-процессов. Одним из решений является использование системы динамического моделирования Design/CPN, основанной на цветных (раскрашенных) сетях Петри. Фактически Design/IDEF и Design/CPN являются компонентами интегрированной методологии перепроектирования: статические SADT-диаграммы автоматически преобразуются в прообраз динамической модели, которая дорабатывается вручную и затем исполняется в различных режимах с целью получения соответствующих оценок.
В табл. 10.1 приведен перечень доступных на российском рынке CASEсредств и поддерживаемые ими виды проектной деятельности.

298
Таблица 10.1
Основные характеристики CASE-средств
|
|
Основные |
|
|
|
|
Название |
Фирма |
параметры |
BPR |
Функ- |
Дан- |
Собы- |
|
|
CASE-средств |
|
ции |
ные |
тия |
BPWin |
Logic Works |
- |
+ |
+ |
- |
- |
CASE.Аналитик |
Эйтекс |
Гейн-Сарсон |
- |
+ |
+ |
+ |
CASE/4/0 |
MicroTool |
Йодан |
- |
- |
+ |
+ |
|
|
(расшир.) |
|
|
|
|
Database Designer |
Oracle |
- |
- |
- |
+ |
- |
Design/IDEF |
Meta Soft- |
- |
+ |
+ |
+ |
- |
|
ware |
|
|
|
|
|
Designer/2000 |
Oracle |
Гейн-Сарсон |
+ |
+ |
+ |
+ |
EasyCASE |
Evergreen |
Гейн-Сарсон, |
- |
+ |
+ |
+ |
|
CASE |
Йодан |
|
|
|
|
ErWin |
Logic Works |
- |
- |
- |
+ |
- |
I-CASE Yourdon |
CAYENNE |
Йодан |
- |
+ |
+ |
+ |
Prokit*WORKBENCH |
MDIS |
Гейн-Сарсон |
- |
+ |
+ |
+ |
S- Designer |
Sybase/ Pow- |
Гейн-Сарсон, |
- |
+ |
+ |
+ |
|
ersoft |
Йодан |
|
|
|
|
SILVERRUN |
CSA |
Произвольная |
- |
+ |
+ |
+ |
Visible Analyst Workbench |
Visible Sys- |
Гейн-Сарсон, |
- |
+ |
+ |
+ |
|
tem |
Йодан |
|
|
|
|
Другой возможный подход реализуется пакетом Designer/2000: моделирование бизнес-процессов является первым этапом разработки системы, а соответствующая модель является основой для разработки концептуальных моделей и проектирования системы. Нотация для моделирования бизнес-процессов включает следующие элементы: базовый процесс, шаг процесса, хранилище, поток, событие и организационную единицу. Для каждого элемента можно задать разнообразные количественные параметры (временные затраты, ресурсы и т.п.), а затем с помощью специальной процедуры анимации проследить поведение модели в динамике с учетом введенных параметров. Использование средств мультимедиа, включая визуализацию, видеоизображение, звуковое сопровождение и другие, позволяет существенно повысить выразительность построенной бизнес-модели.
Следует отметить, что не существует принципиальных ограничений в использовании в качестве средства построения статических моделей бизнеспроцессов и традиционных DFD -диаграмм потоков данных. Более того, в настоящий момент за рубежом доступен ряд продуктов динамического моделирования (INCOME Mobile, CPN-AMI и др.), базирующихся на сетях Петри различного вида и интегрируемых с DFD-моделью, которые позволяют успешно решать задачи перепроектирования.
DFD — диаграммы потоков данных (Data Float Diagram)

299
Для решения задачи функционального моделирования на базе структурного анализа традиционно применяются два типа моделей: SADT-диаграммы и диаграммы потоков данных. В случае наличия в моделируемой системе программной/программируемой части (т.е. практически всегда) предпочтение, как правило, отдается DFD по следующим соображениям:
1)DFD с самого начала создавались как средство проектирования программных систем, тогда как SADT — как средство проектирования систем вообще, и поэтому они имеют более богатый набор элементов описания (например, хранилища данных);
2)наличие мини-спецификаций DFD-процессов нижнего уровня позволяет преодолеть логическую незавершенность SADT (а именно, обрыв модели на некотором достаточно низком уровне, когда дальнейшая ее детализация становится бессмысленной) и построить полную функциональную спецификацию разрабатываемой системы;
3)существуют (и поддерживаются рядом CASE-пакетов) алгоритмы автоматического преобразования иерархии DFD в структурные карты, демонстрирующие межмодульные и внутримодульные связи, а также иерархию модулей, что в совокупности с мини-спецификациями является завершенным заданием для программиста.
Наконец, в части автоматизированной поддержки моделей приблизительно 85–90 % существующих CASE-пакетов поддерживают DFD и лишь 2–3 %
—SADT.
Традиционный подход к событийному моделированию основывается на расширении диаграмм потоков данных за счет введения управляющих потоков (сигналов) и управляющих процессов, фактически являющихся интерфейсом между DFD и спецификациями управления, собственно моделирующими поведение. Наиболее часто спецификации управления формализуются с помощью диаграмм переходов состояний STD , позволяющих задавать состояния различных объектов системы (например, лицевой счет может иметь состояния ОТКРЫТ, ЗАКРЫТ, ЗАБЛОКИРОВАН и т.п.), условия переходов из одного состояния в другое (как внешние по отношению к системе, так и внутренние, возникающие в самой системе), а также совершаемые при переходах действия.
Для целей информационного моделирования на сегодняшний день не существует альтернативы диаграммам «сущность-связь» ERD . Практически все из приведенных в табл. 10.1 пакетов поддерживают ту или иную нотацию ERD. При этом разработка информационной модели в рассматриваемых средах включает в себя не только проектирование логической модели, но и преобразование ее в физическую модель с последующей генерацией схемы БД с учетом специфики конкретной СУБД.
Для выбора и обоснования конкретного инструментального средства рекомендуется использовать нижеприведенные основные критерии [56].
STD — диаграммы переходов состояний (State Transition Diagram)ERD — диаграммы «сущность-связь» (Entity Relational Diagram)