Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Все ответы.doc
Скачиваний:
75
Добавлен:
17.03.2016
Размер:
1.29 Mб
Скачать

15. Проектирование информационных систем

  1. Принципы проектирования ИС. Каскадные, итерационные, спиральные модели жизненного цикла ИС.

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

Периодически появляются новые списки принципов, принадлежащие различным коллективам и отражающие изменения в технологии проектирования. Исторически первыми в СССР появились принципы проектирования АСУ, предложенные академиком В.М.Глушковым [2, 7]:

  1. Принцип системностизаключается в повсеместном применении системного подхода:

  • установление основных направлений хозяйственной деятельности системы и ее основных функций;

  • выявление структурных элементов и взаимосвязей между ними:

  • макроанализ: выделяются функции и связи элемента,

  • микроанализ: выделяется и изучается структура элемента;

  • формирование многоуровневой иерархии: система, подсистемы, ….

  1. Принцип непрерывного развитияпредполагает постоянное изменение и наращивание возможностей ИС. Несомненно, что высокая адаптивность ИС остается актуальной и сейчас.

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

  3. Принцип стандартизации и унификациипредусматривает широкое использование стандартных решений и компонентов.

  4. Принцип эффективности - создание АСУ должно быть экономически выгодным.

Кроме перечисленных общих принципов были предложены более детальные частные принципы:

  1. Принцип декомпозиции- разделение системы на части для последующего анализа и реализации.

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

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

  4. Принцип автоматизации информационных потоков и документооборотапредусматривает использование технических средств на всех этапах создания и обработки документов.

  5. Принцип автоматизации проектирования предполагал использование информационных технологий для создания, ведения и доступа к проектной документации, автоматическое генерирование заготовок проектных документов, структур данных, программ по проектным описаниям. Сейчас эта идея реализована в CASE - средствах.

Наконец, в общий свод вошли организационно- технологические принципы:

  1. Принцип абстрагированиязаключается в выделении существенных для решения задачи аспектов системы и исключении несущественных.

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

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

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

  5. Принцип независимости данных- данные должны проектироваться независимо от процессов их обработки в соответствии с информационными потребностями системы. Последовательное применение этого принципа привело к объединению всех экземпляров хранимых данных в единую базу данных и созданию СУБД как единого средства доступа к данным.

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

  7. Принцип доступа конечного пользователязаключается в наличии средств оперативного доступа конечного пользователя к данным системы.

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

Многие из принципов Глушкова не потеряли актуальности, несмотря на то, что были сформулированы в 70-х годах, другие (как принцип доступа конечного пользователя) стали очевидной реальностью.

Жизненный цикл информационной системы (программы) – это процесс ее построения и развития. В жизненном цикле ИС выделяют стадии, а каждую стадию разбивают на этапы. Для каждого этапа описывают выполняемые работы и участие в них системных аналитиков, программистов и пользователей.

Существует несколько стандартов на жизненный цикл ИС. Один из них – это стандарт ГОСТ 34.601-90 [9], который предусматривает следующие стадии и этапы создания автоматизированной системы (АС):

  1. Формирование требований к АС.

  2. Разработка концепции АС.

  3. Техническое задание.

  4. Эскизный проект.

  5. Технический проект.

  6. Рабочая документация.

  7. Ввод в действие.

  8. Сопровождение АС.

Эскизный, технический проекты и рабочая документация – это, по существу, последовательное построение все более точных проектных решений по всем вида обеспечения информационной системы. Допускается исключать стадию "Эскизный проект" и отдельные этапы работ на всех стадиях, объединять стадии "Технический проект" и "Рабочая документация" в "Технорабочий проект", выполнять отдельные этапы работ до окончания предшествующих стадий, разрешается параллельное по времени выполнение этапов работ и включение дополнительных этапов работ.

Жесткая последовательность стадий и этапов разработки ИС известна как каскадная схема и была сформулирована в 60-е годы. Достоинствами ее являются:

  • управляемое построение ИС,

  • юридически зафиксированная ответственность участников разработки: как разработчиков, так и заказчиков,

  • возможность применения структурных методов разработки,

  • развитие ИС в соответствии с определенными функциями и бюджетом.

В то же время каскадной методологии разработки присущи следующие недостатки:

  • избыток согласующей документации,

  • в начале разработки предполагается идеальный прогноз будущей ситуации,

  • последовательный характер выполнения работ,

  • обнаружение ошибок откладывается на последний этап,

  • неспособность произвести работающую ИС за короткое время.

Излишняя жесткость каскадного подхода мешала оперативно вносить изменения в проект при обнаружении ошибок или изменений условий функционирования на последних этапах проектирования. Для устранения недостатков каскадного проектирования в 70-х годах был предложен итерационный подход, который, не меняя содержания работ, предлагает по результатам каждого этапа переосмысление и изменение всего проекта. Гибкость процесса проектирования была достигнута, но ценой постоянного пересмотра проектных решений, планов и бюджетов.

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

Этот подход по стандартам фирмы Microsoftвключает следующие фазы [1]:

  • Анализ – разработка концепции продукта.

  • Планирование – создание подробного плана проекта и архитектуры приложения.

  • Разработка –выработка полнофункционального продукта.

  • Стабилизация – доработка продукта до стабильного состояния, готового к развертыванию.

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

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

В то же время спиральный подход порождает ряд проблем:

  • задержки в получении полнофункциональной информационной системы,

  • возможность получить «никогда не заканчивающуюся» разработку,

  • сложность в определении стоимости всех итераций проекта,

  • постоянные обновления приводят к отсутствию стабильности продукта.

Описанная методология проектирования является процедурно- или функционально-ориентированной. Сначала выделяются процедуры или функции, подлежащие автоматизации, затем для них определяются входные и выходные данные. Последовательное применение этого подхода зачастую приводит к набору несвязанных между собой подсистем, а это, в свою очередь, – к дублированию и несогласованности данных разных подсистем. Альтернативным ему является информационно-ориентированный подход [22]. В этом подходе основой проектирования являются данные, необходимые для обеспечения автоматизируемых функций. При этом рассматриваются все информационные потребности предприятия, даже те, автоматизация которых планируется в последнюю очередь.

  1. Разработка технического задания на проектирование ИС.

Существует ГОСТ 34.602-89, регламентирующий содержание и оформление технического задания на создание автоматизированной системы. По причине важности этого документа ниже приводятся основные положения ГОСТа.

Техническое задание включает следующие пункты:

  1. Общие сведения:

  • наименование системы и ее условное обозначение;

  • номер договора или шифр темы;

  • наименования и реквизиты предприятий разработчика и заказчика;

  • перечень документов, на основании которых создается система;

  • сроки выполнения работ;

  • сведения об источниках и порядке финансирования;

  • порядок предъявления результатов.

  1. Назначение и цели создания (развития) системы:

  • назначением являются виды автоматизируемой деятельности, дополненные перечнем объектов автоматизации;

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

  1. Характеристики объекта автоматизации. Здесь приводят только те сведения, которые значимы для разработки: характеристики сети и компьютеров, используемые операционные системы, квалификация персонала и т.д

  • краткие сведения об объекте или ссылка на соответствующие документы;

  • условия эксплуатации системы на объектах автоматизации.

  1. Требования к системе:

требования к системе в целом.

  • к структуре и функционированию системы: компоненты системы, способы и средства связи компонент; взаимосвязи с другими системами;

  • к режимам функционирования; к диагностическим процедурам;

  • перспективы развития и автоматизации;

  • к численности, квалификации и режиму работы персонала;

  • к надежности: показатели надежности; перечень аварийных ситуаций; требования к надежности технических средств и программного обеспечения, требования к методам оценки надежности;

  • к эргономике и технической эстетике;

  • требования к защите информации от несанкционированного доступа;

  • к сохранности информации при авариях;

Главным является структура проектируемой системы. Перечисляют компоненты системы – обычно ее составляют серверы (такие как серверы баз данных) и клиентские приложения. Для каждой компоненты приводят функции и описывают регламент взаимодействия компонент. Функции каждого компонента должен быть более подробно описаны в п. «Требования к функциям».

  • Требования к функциям (задачам):

  • перечень функций (задач, комплексов);

  • регламент реализации каждой функции;

  • для каждой функции требования к качеству, форме представления выходных данных, точности, ресурсам для выполнения.

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

Требования к видам обеспечения:

  • к математическому обеспечению: состав алгоритмов, типовые алгоритмы, требования к алгоритмам;

  • к информационному обеспечению:

  • к составу, структуре и способам организации данных;

  • к информационному обмену между компонентами системы;

  • к информационной совместимости с другими системами;

  • к использованию классификаторов;

  • к применению СУБД;

  • к процессу сбора, обработки, передачи и представления данных;

  • к защите от разрушения при авариях и сбоях;

  • к контролю хранения, к обновлению и восстановлению данных;

  • к процедуре придания юридической силы документам, полученных при помощи технических средств системы;

Требования к информационному обеспечению в случае использования СУБД сводятся к описанию ее характеристик, технологии связи с другими серверами, процесса редактирования данных, защиты данных.

  • к программному обеспечению: требования к независимости программ от вычислительной техники и операционной системы; к качеству, способам обеспечения качества, к контролю качества;

  • к техническому обеспечению: к видам и характеристикам технических средств;

  • к организационному обеспечению: к структуре и функциям подразделений, участвующих в функционировании и обеспечивающих эксплуатацию; к организации функционирования и порядку взаимодействия персонала АС и персонала объекта автоматизации; к защите от неправильных действий персонала.

  1. Состав и содержание работ по созданию системы:

  • перечень стадий и этапов разработки, сроки выполнения, исполнители;

  • перечень документов, предъявляемых по окончании каждого этапа работ.

  1. Порядок контроля и приемки системы:

  • виды, состав, объем и методы испытаний;

  • общие требования к приемке работ, порядок согласования и утверждения приемочной документации;

  • состав приемочной комиссии.

  1. Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие:

  • приведение поступающей в систему информации к виду, пригодному для обработки;

  • изменения в объекте автоматизации;

  • создание условий функционирования объекта автоматизации для соответствия условия эксплуатации системы;

  • создание подразделений и служб, необходимых для функционирования системы;

  • сроки, порядок комплектации штатов и обучения персонала.

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

  2. Источники разработки – документы, на основании которых разрабатывается ИС.

При наличии утвержденных методик в техническое задание включают расчет ожидаемой эффективности системы; оценку научно-технического уровня системы.

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

Исполнитель представляет проект технического задания на согласование и утверждение. Согласование проекта не должно превышать 15 дней. Замечания по проекту технического задания представляются с техническим обоснованием. Разногласия заказчика и разработчика оформляются протоколом. Копии технического задания в 10-дневный срок рассылаются исполнителям.

  1. Экономические оценки проектов ИС и информационных технологий.

Управление процессом проектирования начинается с выбора модели жизненного цикла, разбиения всего проекта на очереди (итерации), формирования коллектива разработчиков. Затем выполняется определение финансовых, временных и других ресурсов.

Можно выделить следующие виды расходов, связанных с информационной системой:

  1. Расходы на разработку и внедрение:

  • зарплата разработчиков;

  • стоимость машинного времени;

  • накладные расходы;

  • материалы;

  • приобретение вычислительной техники (ПК, серверы, сетевое оборудование);

  • покупка программного обеспечения;

  • обучение пользователей;

  • стоимость разработки:

  • Расходы на эксплуатацию:

    • трудовые затраты (зарплата администраторов, группы сопровождения, операторов);

    • амортизация;

    • материалы (картриджи, диски, бумага…);

    • ведение информационной базы;

    • накладные расходы (до 20%).

    В определении ресурсов наиболее сложным является определение затрат труда. Общей практикой оценки трудозатрат является применение экспертных оценок исполнителей с выделением резервов от 30 до 50%. Эти оценки используются для построения календарных графиков и определения затрат на оплату труда.

    Источниками доходов от внедрения и модернизации информационных систем и технологий могут быть следующие:

    • качественное улучшение процесса управления,

    • снижение трудовых затрат (сокращение штатов),

    • увеличение производительности труда,

    • снижение стоимости инфраструктуры,

    • уменьшение неопределенности и рисков [14],

    • уменьшение совокупной стоимости владения (Total Cost of Ownership – TCO).

    Для определения инвестиционной привлекательности проекта используют традиционные оценки. Для оценки эффективности проекта анализируются инвестиции (расходы)и доходы. При этом используют следующие показатели:

    Чистая приведенная величина дохода (NPV – Net Present Value) – оценка дохода за некоторый период времени, пересчитанная на момент вложения по процентной ставкеСрок окупаемости проекта (BRP – Payback Period) – это время, за которое приведенная величина инвестиций сравняется с приведенной суммой доходов, находится как решение уравнения относительно.

    Индекс прибыльности (PI – Profitability Index)

    Внутренняя норма прибыльности (IRR – Internal Rate of Return) – это такая процентная ставка, при которой чистая приведенная величина дохода за все будущие периоды равна 0, т.е. когда приведенные доходы за все будущие периоды будут равны инвестициям. Находится как решение уравнения относительно.

    1. CASE –технологии проектирования ИС. Архитектура инструментальных CASE- систем. RAD – технология разработки ИС.

    CASE – это акроним Computer-Aided System / Software Engineering, объединяющий методы автоматизации самого процесса проектирования информационных систем [10, 13, 18, 21]. CASE средства поддерживают или автоматизируют работы на всех этапах жизненного цикла системы. Целью CASE-технологии является ускорение процесса создания систем и повышение их качества.

    С начала по середину 70-х Daniel Teichrowe создает Problem Statement Language (PSL) и для него разрабатывают программу Problem Statement Analyzer (PSA), выполняющую анализ требований пользователя на полноту и последовательность. В 1984 компания INTERSOLV (прежнее название IndexTechnology) выпустила Exelerator. Его успех породил термин CASE и индустрию CASE-средств.

    По степени охвата этапов жизненного цикла CASE-программы классифицируют следующим образом:

    • Upper-CASE для поддержки планирования, анализа и общего конструирования систем,

    • Lower-CASE для детального конструирования, разработки и сопровождения,

    • Cross life cycle-CASE для поддержки систем на всех этапах жизненного цикла.

    В состав Upper-CASE включают:

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

    • Средства системного анализа и конструирования, позволяющие описать границы проектируемой системы, модель существующей системы, выполнить конструирование системы, отвечающей требованиям пользователей, создать прототипы специфических частей системы (отчетов, экранных форм, ...).

    В состав Lower-CASE включают

    • Средства конструирования и реализации систем, которые делят на три категории:

    • инструментальные средства прикладного программиста, поддерживающие кодирование, компиляцию, тестирование и отладку на интеллектуальных терминалах,

    • генераторы компонент, выполняющие генерацию соответствующих компонент по их описанию (генераторы БД, создание графического интерфейса пользователя, средства реализации технологии "клиент-сервер"),

    • генераторы программ (кода) создающие текст программ по описаниям системы.

    • Средства поддержки ИС:

    • помогают программистам реструктурировать текст старой программы, чтобы сделать её более мобильной,

    • помогают изменять систему по требованиям пользователя,

    • облегчают переход на новые технологии,

    • помогают определить стоит ли еще поддерживать ИС или необходимо создавать её заново,

    • восстанавливают полезную информацию из устаревшего программного обеспечения.

    Главным в средствах поддержки является проектирование новых программ, а также изменение и реструктуризация существующих программ в соответствии с описаниями.

    Противоположные средства – reverse engineering (design recovery) – восстанавливают описания более высокого уровня по описаниям низкого уровня (по выполняемому модулю восстанавливается текст программы, по программе – структурные схемы, диаграммы потоков, деревья решений). Программа, как конечный продукт проектирования, содержит не только идеи программиста, но также и идеи системного аналитика и требования пользователей. Все это может быть использовано в новой системе. При этом следует учитывать, что старые программы были написаны без соблюдения стандартов и извлекаемая в таких случаях информация формулируется в физических терминах (например в адресах переменных).

    В Cross life cycle CASE включают следующие средства:

    • управление проектом – планирование, составление расписаний и бюджетов, составление отчетов, управление ресурсами;

    • управление процессами;

    • оценивание времени и стоимости проекта, а также прочих ресурсов;

    • документирование.

    Архитектура CASE-средств продемонстрирована наРепозиторий (энциклопедия, словарь данных) является ядром системы и представляет собой специализированную базу данных, на основе которой выполняется синхронизация всех описаний (диаграмм) и координация усилий всех разработчиков. Репозиторий содержит информацию об объектах проектируемой ИС и взаимосвязях между ними:

    • проектировщики и их права доступа к различным компонентам системы;

    • организационные структуры;

    • диаграммы, отражающие организационные, функциональные, информационные, технологические и другие аспекты системы;

    • компоненты диаграмм;

    • связи между диаграммами;

    • структуры данных;

    • программные модули;

    • процедуры;

    • библиотеки модулей и т.д.

    Графический редактордиаграмм позволяет создавать различные описания системы в виде рисунков и может выполнять следующие операции:

    • создавать элементы диаграмм и взаимосвязи между ними;

    • задавать описания элементов диаграмм;

    • задавать описания связей между элементами диаграмм;

    • редактировать элементы диаграмм, их взаимосвязи и описания.

    Верификатор диаграммконтролирует правильность диаграмм и синхронизирует диаграммы между собой.

    Документатор проектадокументирует проект в виде различных отчетов. Отчеты могут строиться по нескольким признакам, например, по времени, автору, элементам диаграмм, диаграмме или проекту в целом.

    Администратор проектаавтоматизирует выполнение следующих административных функций:

    • инициализации проекта;

    • задания начальных параметров проекта;

    • назначения и изменения прав доступа к элементам проекта;

    • мониторинга выполнения проекта.

    Сервисвыполняет функции архивации данных, восстановления данных и создания нового репозитория.

    Основные возможности CASE-средства определяются набором моделей, который поддерживает графический редактор диаграмм. Некоторые такие модели, используемые на стадиях планирования и анализа (организационная, функциональная, схемы документооборота,…), уже были рассмотрены. Модели, применяемые на стадии конструирования, образуют метафору проектирования или подход к проектированию. Выделяют три подхода к проектированию [17]:

    • Функционально-ориентированное проектирование, которое использует структурные методы для построения функциональной, информационной и других моделей информационной системы.

    • Объектно-ориентированное проектирование [5] предлагает набор объектных моделей для описания предметной области. Для этого применяется специальный язык UML(UnifiedModelingLanguage) [6].

    • Модельно–ориентированное проектирование основано на настройке и доработке типовой конфигурации информационной системы в среде специализированных инструментальных систем, таких как R/3,BAAN, 1С:Предприятие.

    1. Построение функциональной модели ИС.

    Методологией построения функциональной модели является декомпозиция, в результате которой получается иерархическая система функций. Иерархические системы функций изображают функциональными диаграммами. Разбиение выполняется до уровня элементарных функций (прямоугольники со скругленными углами, которые обладают следующими свойствами:

    1. Элементарная функция выполняется без прерываний, т.е. в процессе своего выполнения не ждет наступления некоторого события.

    2. Время выполнения элементарной функции не зависит от выполнения других процессов:

    • известен вход функции: он доступен из внешней среды или хранится внутри системы,

    • функция не ждет востребования результатов решения: выход передается во внешнюю среду, или другому процессу, или хранится внутри системы.

    1. Процесс является однородным с точки зрения пользователя (один и тот же тип входных данных, обработки и выходных данных).

    В процессе структурирования используют два типа разбиения функции на составляющие:

    дифференциация разбивает функцию на функции, выполняемые последовательно

    • специализация расщепляет функцию на составляющие функции, требующие разной технологии исполнения (см. разбиение функции «Оплата»).

    Для более детального описания функций необходимо указать входные и выходные данные для каждой функции и описать порядок выполнения и правила взаимодействия функций. Для наглядного изображения связи функций, данных и пользователей применяют диаграммы потоков данных (DataFlowDiagram–DFD). Для построения диаграмм используются две системы обозначений, символы которых приведены в таблице. Символы соединяются линиями со стрелками, изображающими потоки данных.