- •Тема 5. Автоматизированное проектирование эис (case-технология)
- •Репозиторий (словарь данных)
- •2. Функционально-ориентированное (структурное) проектирование эис
- •Изображение объектов диаграммы иерархии функций
- •Символы std в различных нотациях
- •Объектно-ориентированное проектирование эис
- •Реализация объекта
- •Методология oose (Object-Oriented Software Engineering)
- •3.2. Методология datarun
- •Модель ис.
- •3.2.1.Унифицированный язык моделирования uml
- •3.3. Прототипное проектирование эис (rad-теxнолoгия)
- •4. Структурный и объектно-ориентированный подход
- •4.1. Особенности объектно-ориентированного подхода
- •4.2. Преимущества и недостатки объектно-ориентированного подхода
4. Структурный и объектно-ориентированный подход
Классический (традиционный) подход к разработке сложных систем представляет собой структурное проектирование, при котором осуществляется алгоритмическая декомпозиция системы по методу «сверху-вниз».
ЖЦ разработки сложной системы в этом случае складывается из этапов анализа, проектирования, программирования, тестирования и сопровождения, которые выполняются последовательно. Такой метод, называемый каскадным, имеет следующие отличительные особенности:
линейность выполнения этапов ЖЦ разработки;
четкое разделение данных и процессов их обработки;
использование процедурных языков программирования.
Недостатки каскадного метода – последовательность выполнения этапов.
Например, программирование можно начать только по завершении анализа и проектирования, что приводит к большим потерям времени, не позволяет быстро разрабатывать прототипы программной системы. Каскадный принцип не согласуется с итеративным характером разработки программной системы, так как на последних этапах может выясниться необходимость внесения изменений в решения, принятые на предыдущих этапах.
Для устранения этого недостатка Б.Боэм предложил спиральный подход, который заключается в том, что разработка проекта ведется как бы по спирали, причем на каждом ее витке последовательно выполняются перечисленные этапы, на которых уточняется проект. Этот подход дополняет каскадный метод элементами интерактивности. Но и для него характерен ряд существенных недостатков, к числу которых можно отнести:
трудоемкость внесения изменений;
большой объем документации по проекту, затрудняющий программирование;
серьезные ограничения возможностей сборки системы из готовых компонентов;
сложность переноса на другие платформы.
За последнее время интерес к объектно-ориентированным технологиям значительно вырос. Это вызвано тем, что разработчики программного обеспечения сложных информационных систем столкнулись с невозможностью программирования «в лоб», так как создание таких систем требует выполнения ряда этапов, предшествующих программированию.
Особенности сложных информационных систем
Иерархичность
Описывая сложные системы Г. Буч особое внимание уделяет их иерархическому характеру. Иерархические структуры позволяют рассматривать только определенный уровень, не вдаваясь в детали реализации. Для сложной системы необходимо моделировать два типа иерархии: типовую и структурную.
Типовая - отражает взаимосвязи «общее-частное», в объектно-ориентированном подходе ей соответствует иерархия классов.
Структурная – показывает связи типа «это – часть того».
Групповая разработка
Разработкой сложной информационной системой занимается группа разработчиков, в которой каждый выполняет свои функции. Применяемые инструментальные средства должны поддерживать групповую разработку. Для этого современные инструментальные средства реализуются в комплексах с архитектурой «клиент-сервер». В них должна быть предусмотрена возможность интеграции результатов работы отдельных участников проекта и защиты их от НСД.
Модифицируемость проекта
За время своей эксплуатации сложные системы обычно подвергаются многократной модификации. Это связано как с устранением ошибок, выявленных в процессе разработки, отладки или эксплуатации, так и с необходимостью внесения корректировок и дополнений, вызванных изменениями внешних условий и требований к системе. Однако следует заметить, что при модификации сложных приложений могут возникнуть существенные трудности ввиду значительного объема таких систем и большого числа взаимосвязей между их компонентами.
Сборочное проектирование
При разработке больших информационных систем широко используется концепция сборочного проектирования, основанная на принципе повторного использования компонентов. Сборка прикладной системы из таких компонентов значительно сокращает время разработки. Определяющим фактором здесь является то, насколько применяемые методики и поддерживающие их инструментальные средства обладают возможностями создания повторно используемых компонентов, а также легкость их применения в других проектах.
Использование стандартных СУБД
Современные большие ИС используют в работе стандартные СУБД в основном реляционного типа. Реализация таких систем обычно осуществляется в среде «клиент-сервер». Интеграция прикладной системы с БД ставит перед разработчиками дополнительные задачи. Главная из них – обеспечение преемственности, т.е. возможности использования в разрабатываемом приложении данных, накопленных в БД. Кроме того, при разработке приложения в большинстве случаев возникает необходимость проектирования логической структуры новой БД. Для интегрированных систем с клиент-серверной архитектурой используются специальные инструментальные средства.
