- •Проектирование информационных систем
- •Содержание
- •Лекция 1. Руководство программным проектом
- •Организация процесса конструирования
- •Модели конструирования по:
- •Модели качества процессов конструирования
- •Процесс руководства процессом (срс)
- •Начало проекта
- •Измерения, меры и метрики
- •Планирование проектных задач
- •Планирование проектных задач
- •Лекция 2. Унифицированный язык визуального программирования uml
- •Понятия uml
- •Предметы поведения
- •Группирующие предметы
- •Поясняющие предметы
- •Отношения uml
- •Диаграммы uml
- •Механизмы расширения uml(срс)
- •Объекты
- •Физическое включение Нефизическое включение
- •Отношения в диаграммах классов
- •Деревья наследования
- •Лекция 5. Динамические модели объектно-ориентированных программных систем
- •Автоматы
- •Диаграмма схем состояний системы охранной сигнализации
- •Действия в состояниях
- •Входные и выходные действия и деятельность в состоянии Активна
- •Диаграмма деятельности покупателя в Интернет-магазине
- •Диаграммы взаимодействия
- •1. Диаграммы сотрудничества
- •Д иаграммы сотрудничества
- •2. Диаграммы последовательности.
- •Диаграммы Use Case
- •Актеры и элементы Use Case
- •Отношения в диаграммах Use Case
- •Лекция 6. Модели реализации объектно-ориентированных программных систем
- •1) Компонентные диаграммы
- •2) Диаграммы размещения (развертывания)
- •Лекция 7. Типовое проектирование ис
- •Понятие типового проектирования ис
- •Классификация типовых ис
- •Методы конфигурирования типовой ис
- •Лекция 9. Разработка алгоритмов ис
- •Понятие алгоритма
- •Правила и этапы построения алгоритмов
- •Виды и структуры алгоритмов
- •Элементы алгоритмов
- •Методы проектирования алгоритмов
- •Степень автоматизации проектных работ:
- •Принятая методология процесса разработки:
Классификация типовых ис
Основным признаком классификации типовых ИС является их функциональность.
Выделяют следующие классы типовых ИС:
(а)Локальные и (б)Малые интегрированные системы – их функциональность направлена на решение финансово-управленческих задач, т.е. эти системы реализуют универсальные типовые функции управления, не зависящие от специфики производства.
(в)Средние интегрированные и (г)Крупные интегрированные системы – их называют промышленными системами т.к. они обеспечивают управление производственным процессом, однако, адаптация этих систем в соответствии с требованиями конкретного предприятия представляет собой более сложную задачу, чем первые два класса типовых ИС.
Методы конфигурирования типовой ис
1. Параметрически-ориентированное проектирование. Метод предполагает настройку исходной типовой ИС по параметрам. Значения параметров выбираются в соответствии с особенностями объекта информатизации. Изменяя параметры, можно включать и выключать какие-либо программные модули или влиять на режим их работы.
2. Встроенные языки программирования. Функциональная настройка компонентов ИС, а также их объединение в законченную конфигурацию выполняются с помощью встроенного языка. В его основу может быть положен, например, упрощенный вариант синтаксиса алгоритмического языка Pascal.
3. Генераторы форм и отчетов. Генератор форм и отчетов представляет собой программный компонент, позволяющий дать описание того, как должны выглядеть формы для ввода информации и отчеты для вывода результатов, а также осуществить их автоматическое формирование. Например, генератор отчетов FestReport – это полностью визуальный генератор, т. е. позволяющий построить большинство отчетов, пользуясь только «мышью».
4. Моделью ориентированное проектирование. Сущность модельно-ориентированного проектирования типовой ИС сводится к адаптации компонентов типовой ИС в соответствии с моделью проблемной области конкретной организационно-экономической системы. Для этого технология проектирования должна поддерживать как модель типовой ИС, так и модель конкретного предприятия, а также средства поддержания соответствия между ними. Ядром типовой ИС является постоянно развиваемая модель предметной области (предприятия), поддерживаемая в специальной базе метаинформации – репозитории, на основе которого осуществляется конфигурация программного обеспечения. Таким образом, проектирование и адаптация ИС сводятся, прежде всего, к построению модели предметной области и ее периодической корректировке.
Лекция 8
Структура программных модулей ИС
1. Понятие модульной структуры программы
2. Основные характеристики программного модуля
3. Методы разработки структуры программы
4. Контроль структуры программы
(1) Понятие модульной структуры программы
Для упрощения сложных ИС в процессе их разработке они разбиваются на части и разрабатываются по отдельности, такие части называются программными модулями.
Программный модуль - это любой фрагмент описания процесса, оформляемый как самостоятельный продукт, пригодный для использования в описаниях процесса.
Каждый программный модуль разрабатывается отдельно от других модулей программы. Каждый разработанный программный модуль может включаться в состав разных программ, если выполнены условия его использования, прописаны в документации этого модуля.
Спецификация программного модуля содержит: (СЛАЙД 2)
синтаксическую спецификацию его входов, позволяющую построить на используемом языке программирования синтаксически правильное обращение к нему (к любому его входу);
функциональную спецификацию модуля (описание семантики функций, выполняемых этим модулем по каждому из его входов). Функциональная спецификация модуля строится так же, как и функциональная спецификация программных систем.
В качестве модульной структуры программы принято использовать древовидную структуру, в узлах которой размещаются модули программные, а направленные дуги (стрелки) показывают статическую подчиненность модулей. Дуги показывают, что в тексте модуля, из которого она исходит, есть ссылка на модуль в который она входит. Модульная структура программы, в конечном счете, должна включать в себя всю совокупность спецификаций модулей, из которых она состоит.
(2) Основные характеристики программного модуля
Для оценки приемлемости программного модуля используются следующие конструктивные характеристики:
- размер модуля - это число содержащихся в нем операторов - обычно рекомендуется программные модули от несколько десятков до нескольких сотен строк
- связность - мера зависимости его частей, внутренняя характеристика, которую желательно увеличить
- сцепление - мера зависимости модулей по данным, внешняя характеристика, которую желательно уменьшить. Чем слабее сцепление модуля с другими модулями, тем сильнее его независимость от других модулей
- рутинность - это независимость модуля от предыстории обращения к нему, модуль называется рутинным, если результат обращения к нему зависит только от значений его параметров и не зависит от предысторий обращения к нему.
(3) Методы разработки структуры программы
Общая схема классификации методов разработки структуры программы. (СЛАЙД 4)
Рисунок 1 - Методы разработки структуры программы
Метод восходящей разработки заключается в следующем: Сначала строится модульная структура в виде дерева, затем поочередно программируется модули программы, начиная с самого нижнего уровня. В таком порядке что бы для каждого разрабатываемого модуля был разработан модуль, к которому он может обращаться.
Метод нисходящей разработки заключается в следующем: сначала строится модульная структура в виде дерева, затем поочередно разрабатываются модули программы, начиная с модуля самого верхнего уровня (головного), переходя к разработке какого-либо др. модуля, если уже разработан модуль, который к нему сможет обращаться.
Конструктивный подход – это модификация исходящей разработки, при которой модульная структура программы формируется в процессе разработки модуля. Сначала разрабатывается головной модуль, исходя из спецификации программы в целом, причем спецификация программы одновременно является его головного модуля. В процессе разработки головного модуля, в случае если программа очень большая, выделяется подзадачи или внутренние функции для каждых, из которых создается своя спецификация (СЛАЙД 6-7)
Рисунок 2 – Первый шаг формирования модульной структуры программы
при конструктивном подходе
Рисунок 3 – Второй шаг формирования модульной структуры программы
при конструктивном подходе
Архитектурный подход - это модификация восходящей разработки, при которой модульная структура программы так же формируется в процессе разработки модуля, но при этом ставится существенно другая цель - повышается уровень используемого языка программирования, а не разработка конкретных программ. Т.е. для заданной предметной области выделяются типичные функции, специфицируются, а затем разрабатываются отдельные программные модули, которые выполняют эти функции. Выделение таких функций связано с накопленным ранее опытом.
Централизованная конструктивная реализация - разновидность конструктивного подхода, которая заключается в следующем, что достаточно на ранней стадии создается работающий вариант разрабатываемой программы.
(4) Контроль структуры программы
Следует отметить, что характер осуществления этих методов контроля зависят от выбранного методом разработки структуры программы, т.е. при классическом подходе они принимаются до начала программирования модулей, а при конструктивном и архитектурном в процессе программирования в подходящий момент времени
