- •Конспект лекций
- •Раздел 1. Задача проектирования программных систем Введение. Содержание и задачи курса
- •Задачи и этапы проектирования сложных программных средств
- •Тема 1.1. Технология программирования и основные этапы ее развития
- •1.1.1. Стихийное программирование.
- •1.1.2. Структурное программирование.
- •1.1.3. Объектно-ориентированное программирование.
- •1.1.4. Компоненты и case-технология.
- •1.1.5. Платформа .Net.
- •Тема 1.2. Организация процесса проектирования программного обеспечения (по)
- •1.2.1. Проблемы разработки сложных программных систем.
- •1.2.2. Блочно-иерархический подход к проектированию по.
- •1.2.3. Жизненный цикл по.
- •1.2.4. Процессы жизненного цикла.
- •1.2.5. Модели жизненного цикла по.
- •1.2.6. Оценка качества процессов разработки по.
- •1.2.7. Технология rad.
- •Тема 1.3. Технологичность программных продуктов
- •1.3.1. Понятие технологичности по.
- •1.3.2. Модульное программирование.
- •1.3.3. Нисходящая и восходящая разработка по.
- •1.3.4. Стиль оформления программы.
- •1.3.5. Эффективность и технологичность.
- •Тема 1.4. Определение требований к по
- •1.4.1. Классификация программных систем.
- •1.4.2. Эксплуатационные требования к по.
- •1.4.3. Исследование предметной области.
- •1.4.4. Разработка технического задания.
- •Тема 1.5. Начальный этап проектирования
- •1.5.1. Выбор архитектуры по.
- •1.5.2. Выбор типа пользовательского интерфейса.
- •1.5.3. Выбор подхода к разработке.
- •1.5.4. Выбор средств разработки.
- •1.5.5. Стандарты разработки.
- •Раздел 2. Использование декомпозиции и абстракции при структурном подходе к анализу и проектированию по Тема 2.1. Анализ требований к по и декомпозиция системы при структурном подходе
- •2.1.1. Спецификация процедур и данных при структурном подходе.
- •2.1.2. Диаграммы переходов состояний.
- •2.1.3. Функциональные диаграммы.
- •2.1.4. Диаграммы потоков данных.
- •2.1.5. Абстрактные структуры данных.
- •2.1.6. Математические модели задач.
- •Тема 2.2. Методы проектирования структуры по
- •2.2.1. Структурная схема по.
- •2.2.2. Функциональная схема по.
- •2.2.3. Метод пошаговой детализации.
- •2.2.4. Проектирование по, основанное на декомпозиции данных.
- •2.2.5. Case-технологии на основе структурного подхода.
- •Тема 2.3. Проектирование структур данных
- •2.3.1. Векторная структура.
- •2.3.2. Списковые структуры.
- •2.3.3. Представление данных во внешней памяти.
- •Раздел 3. Использование декомпозиции и абстракции при объектно-ориентированном подходе к анализу и проектированию по Тема 3.1. Анализ требований к по и декомпозиция системы при объектном подходе
- •3.1.1. Язык uml.
- •3.1.2. Диаграммы вариантов использования.
- •3.1.3. Диаграммы классов.
- •3.1.4. Диаграмма последовательностей.
- •3.1.5. Диаграмма деятельностей.
- •Тема 3.2. Проектирование по при объектном подходе
- •3.2.1. Типы классов объектов.
- •3.2.2. Отношения между объектами.
- •3.2.3. Интерфейсы.
- •3.2.4. Проектирование классов.
- •3.2.5. Компоновка программных компонентов.
- •Раздел 4. Разработка по Тема 4.1. Проектирование интерфейса с пользователем
- •4.1.1. Типы пользовательских интерфейсов.
2.2.4. Проектирование по, основанное на декомпозиции данных.
Иерархические модели позволяют описывать упорядоченные или неупорядоченные отношения вхождения элементов данных в компонент более высокого уровня, т. е. множества, таблицы и их комбинации. К иерархическим моделям относят модель Джексона-Орра, для графического представления которой можно использовать.
В основе диаграмм Джексона лежит предположение о том, что структуры данных, так же, как и программ, можно строить из элементов с использованием всего трех основных конструкций: последовательности, выбора и повторения.
Каждая конструкция представляется в виде двухуровневой иерархии, на верхнем уровне которой расположен блок конструкции, а на нижнем - блоки элементов. Нотации конструкций различаются специальными символами в правом верхнем углу блоков элементов. В изображении последовательности дополнительный символ отсутствует. В изображении выбора ставится символ «о» (латинское) - сокращение английского «или» (or). Конструкции последовательности и выбора должны содержать по два или более элементов второго уровня. В изображении повторения в блоке единственного (повторяющегося) элемента ставится символ «*».
Так схема, показанная на рис. 4.22, а, означает, что конструкция А состоит из элементов В, С и D, следующих в указанном порядке. Схема на рис. 4.22, б означает, что конструкция S состоит либо из элемента Р, либо из элемента Q, либо из элемента R. Схема, изображенная на рис. 4.22, в, показывает, что конструкция I может не содержать элементов или содержать один или более элементов X.
В случае, если необходимо показать, что конструкция повторения должна включать один или более элементов, используют комбинацию из двух структур последовательности и повторения (рис. 4.23).
2.2.5. Case-технологии на основе структурного подхода.
К нашему времени накоплен опыт успешного использования большинства известных методологий структурного анализа и проектирования в соответствующих CASE-средствах. Наибольшее распространение получили методологии [30]: SADT (3,3%), структурного системного анализа Гейна-Сар-сона (20,2%), структурного анализа и проектирования Йордана-Де Марко (36,5%), развития систем Джексона (7,7%), развития структурных схем DSSD (Data Structured System Development) Варнье-Oppa (5,8%), анализа и проектирования систем реального времени Уорда-Меллора и Хатли, информационного моделирования Мартина (22,1%).
Как видно из приведенных статистических данных, наибольшее применение нашли структурные методологии, использующие диаграммы потоков данных. Это вызвано двумя причинами:
диаграммы потоков данных более детально по сравнению с функциональными диаграммами отображают специфику многочисленных в настоящее время информационных систем: не требуют строгой типизации обрабатываемой информации, предусматривают возможность хранения данных, конкретизируют взаимодействие с внешним миром, предусматривают получение комплексной модели программного обеспечения и т, п.;
разработан метод построения проектных спецификаций (структурных карт Джексона или Костантайна) по диаграммам потоков данных, что позволяет автоматически создавать такие спецификации.
Несмотря на то, что последнее время все большее распространение получают объектно-ориентированные средства разработки программного обеспечения, структурные методологии продолжают совершенствовать. Их успешно применяют при проектировании приложений, взаимодействующих с реляционными СУБД.