- •5,6 Семестр Общие принципы проектирования программных систем. Этапы жизненного цикла программной системы.
- •1. Постановка задачи:
- •Требования, предъявляемые к программным системам:
- •2. Разработка:
- •3. Реализация:
- •Нисходящее и восходящее проектирование.
- •Структурное программирование (без go to).
- •2) Ветвление (if): 3) цикл с предусловием (do while):
- •1.2.4. Язык проектирования (метаязык)
- •Глава 2. Структуры данных.
- •2.1. Агрегативные переменные
- •2.2. Динамические структуры данных.
- •2.2.1. Списки. (Списочные структуры).
- •2.2.2. Очереди
- •2.2.3. Стеки
- •2.2.4. Множества
- •2.2.5. Деревья и графы
- •1 . Направленный граф:
- •2 . Ненаправленный граф:
- •2.3. Абстрактные структуры данных
- •2.3.2. Объекты
- •2.4. Файловые типы данных
- •2.4.4. Операции над файлами
- •4. Специальные операции:
- •Специальные типы файлов языка Pascal.
- •Файлы в других языках
- •3. Алгоритмы
- •3.1. Типы алгоритмов. Сложность алгоритмов.
- •3.2. Способы реализации алгоритмов.
- •5.2 Реализация наследования в Паскале
- •5.3 Проблема наследования статических методов
- •6.1 Объекты и их жизненный цикл
- •6.2. Инкапсуляция. Св-ва
- •6.3 Наследование
- •6.4. Области видимости
- •6.5 Информация о классе
- •Особенности архитектуры программ
- •7 .1 Обработчики сообщений Windows в Delphi
- •Средства разработки Windows приложений
- •4.4.2 Основные понятия ооп
- •4.4.3 Типы оос
- •4.4.4 Общие принципы работы оос-м
- •Особенности объектно-ориентированных систем
- •4.1 Декомпозиция и абстракция
- •Методы проектирования ориентированные на обработку
- •4.2.1 Модульное программирование
- •4.2.2 Функциональная декомпозиция
- •1. Пошаговое уточнение:
- •2. Метод анализа потоков данных:
- •Связанность модулей
- •Сцепление модулей
- •4.2.3. Технология структурного анализа проекта
- •4.2.4 Язык определения задач psl/psa
- •Методология Джексона
- •Методология Уорнера
- •4.2.6. Метод иерархических диаграмм hipo
- •Методы проектирования ориентированные на данные
Сцепление модулей
Сцепление представляет собой меру относительной зависимости.
Слабое сцепление – хорошо, сильное – плохо. Шкала баллов от 0 до 9.
1) Независимое сцепление (0) – имеет место, если модули полностью независимы и не один из них не содержит информацию о другом модуле (например: система реализованная с помощью мехпнизма передачи сообщений увеличивается отказоустойчивость).
2) По данным сцеплениям – имеет место если данные передаются через модифицированные параметры процедур, т.е. параметры передаются по значению. Причём данные должны быть простыми эл-тами.
3) Сцепление по шаблонам данных (по образу) (3) – имеет место если передаваемые параметры в процедурах имеют структуры данных.
4) Сцепление по общей области (4) – имеет место если несколько модулей разделяют глобальную структуру данных.
5) Сцепление по управлению (5) – имеет место если один модуль управляет принятием решений внутри другого.
Перечисленные типы сцеплений позволяют строить предсказуемые модули, что означает, что внешняя среда системы не влияет на поведение модуля.
6) Сцепление по внешним ссылкам (7) – имеет место если отдельные модули оперируют с глобальными переменными в системной области или глобальные указатели.
7 ) Сцепление по машинным инструкциям – пересекающиеся области кода, например:
т.е. модули использующие общие участки кода друг друга.
------====увеличим шрифт по просьбе ЖЕКИ========--------------
4.2.3. Технология структурного анализа проекта
SADT – система структурного анализа и проектирования.
Основным компонентов системы является спец. графический язык представляющий набор диаграмм:
На метоязыке:
задача А;
(задача В или С) и задача D;
задача Е;
Каждый блок на схеме может быть аналогично детализирован.
Кроме языка “SA” система SADT включает в свой состав рекомендации по управлению разработкой. Применение системы удобно на начальных этапах процесса проектирования.
Замечание: Данная система ориентированна на функциональный подход детализирования.
Преимущества: способствует организации совместной работы специалистов. Позволяет на ранних этапах принять основные решения высокого уровня.
Недостатки: система не является детализированной. В некоторых случаях работа оказывается неудобной. Возможны сложности пересмотра диаграмм созданных различными специалистами.
4.2.4 Язык определения задач psl/psa
Основным компонентом этой системы является:
1) анализатор определения задач PSA
2) язык определения задач PSL
Это язык проектирования высокого или сверх высокого уровня. Язык PDL является частью системы PSL/PSA где PDL метаязык.
PSL позволяет описать последовательность выполнения подзадач, а так же проверить полноту и последовательность данных, а так же проверить полноту и последовательность данных, обрабатываемых программой.
Язык PSL – язык основанный на использовании ключевых слов. Язык PDL позволяет описать систему как совокупность объектов имеющей определённые св-ва, т.е. объектно-ориентированный подход.
Ключевые слова:
process <имя> - определения новый процесс (подзадача) с именем.
description <текст> - словесное описание ф-ций реализуемых процессом
subpars are <…> - описывает подчиненные процессы в основном процессе где … - имена подпроцессов
part of <имя> - описывает главный процесс в подчинённых
derives <имя_файла> - описывает выходной файл процесса
using <имя_файла> - описывает входной файл процесса
procedure <текст> - текст проедставляет собой описание алгоритма процесса на языке PDL.
Результатом работы PSA является строки спецификации для каждого модуля программной системы.
Преимущества системы: Позволяет получить формализованное представление задачи. Построить модель задачи. Осуществляет документирование системной спецификации в программной форме.
Недостатки: Система является излишне универсальной Система ориентированна на использование в экономических приложениях. Эффективна только для больших систем.