Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_Семестр2_Лекции / Информатика_2 семестр_Тема 02_Блок схемы и проектирование.pptx
Скачиваний:
51
Добавлен:
05.06.2015
Размер:
635.32 Кб
Скачать

Проектирование

Моделирование

информационной

системы

Информатика. 2 семестр. Тема 02. Проектирование

Задачи моделирования в процессе разработки Моделирование

Математическое

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

Численное

Анализ состояний системы на основе методов численного оценивания параметров на основе зависимостей, заданных аналитически (явно или косвенно), стохастически или алгоритмически

Графическое (описательное)

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

Имитационное (описательное)

Предсказание поведения системы на требуем уровне детализации в заданных условиях работы

Информатика. 2 семестр. Тема 02. Проектирование

Инструментарий графического моделирования

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

Функциональное моделирование

Анализ вариантов использования

SADT (IDEF0)

Use Cases (UML)

Информатика. 2 семестр. Тема 02. Проектирование

Моделирование данных

SADT (IDEF1 / IDEF1x)

ID отдела

 

Название отдела

Группировка

 

ОТДЕЛ

 

ID сотрудника

COUNT( )

Имя сотрудника

AVG( )

Оклад сотрудника

ID отдела

 

СОТРУДНИК

 

Анализ ответственности

CRC

Название отдела Штат Средний оклад

ОТЧЕТ

Моделирование поведения

Activity diagrams (UML)

И многое другое…

Информатика. 2 семестр. Тема 02. Проектирование

Принципы графического моделирования

Определения: Диаграмма

Минимальный фрагмент описания системы, несущий информацию о её структуре, составе и (или) функциональности

Словарь (glossary)

Свод описаний (картотека, справочник) всех диаграмм и элементов, существенных для понимания модели

Подшивка (booklet)

Правило объединения диаграмм в модель с учётом связи между ними и версионности

Декомпозиция (decomposition)

Метод рассмотрения модели на основе последовательного разбора (уточнения) элементов диаграмм и описаний более высокого уровня обобщения

Информатика. 2 семестр. Тема 02. Проектирование

Составляющие моделирования

Рамка

Часть диаграммы, предназначенная для хранения вспомогательной

информации и ограничивающая

область рассмотрения диаграммы

Жизненный цикл разработки

Последовательность смены фаз работы с моделью и её фрагментами

Информатика. 2 семестр. Тема 02. Проектирование

Составляющие моделирования

Декомпозиция является основным методом нисходящего проектирования и связывает диаграммы между собой по принципу «от общего к частному»

Информатика. 2 семестр. Тема 02. Проектирование

Подходы к разработке

Нисходящее

Восходящее

проектирование

проектирование

Сверху

Задачи

Снизу

вниз

вверх

 

 

Структура

 

Алгоритмы

Код

Реализуем последовательное все более подробное рассмотрение системы от «от общего к частному»

Функциональность можно проверить только после окончания всех работ, но можно исключить общие ошибки

Имея «общее» представление о будущей системе добавляем функции,

азатем добиваемся их интеграции

Вкаждый момент времени система работоспособна «по частям», но «интеграция» с каждым разом труднее

Информатика. 2 семестр. Тема 02. Проектирование

Особенности подходов (что хуже?)

Нисходящая

разработка

Большая длительность разработки с малым числом «внутренних ошибок»:

все модули совместимы (стандартизация форматов данных);

мало сбоев связанных с «неожиданными данными»;

легко искать ошибки в реализации так как есть подробная документация.

Однако только при пробной эксплуатации можно выявить:

ошибки в описании процессов;

ошибку выбора платформы;

ошибки в описании окружения, в том числе условий использования и интерфейса пользователя.

Восходящая

разработка

Функциональность части системы доступна «почти сразу», но трудоемкость расширения всё время возрастает:

«развитие» начинается с «миниядра», которое можно испытать;

не определены задачи элементов будущей системы;

не определены методы обмена данными между частями системы;

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

часто приходится «возвращаться и переделывать».

Вкакой-то момент нужно будет

сделать полный рефакторинг

Но заказчик видит, что «процесс идет!»

Информатика. 2 семестр. Тема 02. Проектирование

Подходы к решению проблемы роста («Костыли»)

Если функции в ядре не справляются или нужно расширить область их применения, то добавляем отдельные функционирующие модули «маскируя» старую функциональность

Новая

«фича»

Ядро

Проблемы:

Многоядерность с «неполным» дублированием функций

Утрата или добавление поведения в маскирующих модулях, отлично от остальных

 

Имитация «старой»

 

«Используемая»

функции с новыми

?

возможностями

функция

 

 

Информатика. 2 семестр. Тема 02. Проектирование

?