- •Технология разработки
- •Введение
- •Жизненный цикл программных систем План лекции
- •Введение
- •Программа, программная система. Программный продукт. Программная система как технологический объект.
- •Понятие жизненного цикла программных систем
- •Модели жизненного цикла программного обеспечения
- •Фазы жизненного цикла по
- •Заключение
- •Прикладной системный анализ при разработке по. Принципы структурного анализа. Процедура требований
- •План лекции
- •Введение
- •Проблема сложности ис
- •Группы средств моделирования систем
- •Заключение
- •Моделирование функций по. Нотация idef0. Case-средство bpWin
- •План лекции
- •Введение
- •ДиаграммыIdef0.
- •Виды связей вIdef0
- •Диаграмма дерева узлов
- •Диаграмма «Только для просмотра» (ForExpositionOnly–feo)
- •Case-средство bpWin
- •Заключение
- •Описание динамики системы. Нотация idef3
- •План лекции
- •Введение
- •Основные символыIdef3
- •Виды перекрестков вIdef3
- •Виды связей вIdef3
- •Пример диаграммыIdef3
- •Заключение
- •Постановка требований к данным. Словари данных. Моделирование данных в нотации idef1x. Case-средство erWin
- •План лекции
- •Введение
- •Словарь данных
- •Моделирование данных в нотацииIdef1x
- •Базовые понятияErd
- •Виды сущностей вIdef1x
- •Виды связей вIdef1x
- •Нормализация схемы данных
- •Заключение
- •Постановка требований к интерфейсу по. Понятие Usability.
- •План лекции
- •Введение
- •Эргономические цели и показатели качества программного продукта
- •Проблемы, возникающие на этапе разработки прототипа gui и варианты их решения
- •Принципы реализации пользовательского интерфейса
- •Заключение
- •Объектно-ориентированная методология проектирования по. Язык uml. Case-средство Rational Rose.
- •План лекции
- •Введение
- •Основные компоненты языка uml
- •Назначение языка uml
- •Общая структура языка uml
- •Пакеты в языке uml
- •Основные пакеты метамодели языка uml
- •Пакет Основные элементы
- •Пакет Элементы ядра
- •Пакет Вспомогательные элементы
- •Пакет Механизмы расширения
- •Пакет Типы данных
- •Пакет Элементы поведения
- •Пакет Общее поведение
- •Пакет Кооперации
- •Пакет Варианты использования
- •Пакет Автоматы
- •Пакет Общие механизмы
- •Пакет Управление моделями
- •Специфика описания метамодели языка uml
- •Особенности изображения диаграмм языка uml
- •Объектно-ориентированные case-средства (Rational Rose)
- •Структура и функции
- •Взаимодействие с другими средствами и организация групповой работы
- •Среда функционирования
- •Вариант использования
- •Интерфейсы
- •Примечания
- •Отношения на диаграмме вариантов использования
- •Отношение ассоциации
- •Отношение расширения
- •Отношение обобщения
- •Отношение включения
- •Пример построения диаграммы вариантов использования
- •Заключение
- •Проектирование внутренней структуры приложений при помощи диаграмм классов в uml
- •План лекции
- •Введение
- •Имя класса
- •Атрибуты класса
- •Операция
- •Отношения между классами
- •Отношение зависимости
- •Отношение ассоциации
- •Отношение агрегации
- •Отношение композиции
- •Отношение обобщения
- •Интерфейсы .
- •Объекты
- •Шаблоны или параметризованные классы
- •Заключение
- •Проектирование динамики приложений при помощи диаграмм переходов состояний, диаграмм последовательности и диаграмм взаимодействия в uml
- •План лекции
- •Введение
- •Автоматы
- •Состояние
- •Имя состояния
- •Список внутренних действий
- •Начальное состояние
- •Конечное состояние
- •Переход
- •Сторожевое условие
- •Выражение действия
- •Составное состояние и подсостояние
- •Последовательные подсостояния
- •Параллельные подсостояния
- •Историческое состояние
- •Сложные переходы
- •Переходы между параллельными состояниями
- •Переходы между составными состояниями
- •Синхронизирующие состояния
- •Заключительные рекомендации по построению диаграмм состояний
- •Диаграмма деятельности (activity diagram)
- •Состояние действия
- •Переходы
- •Дорожки
- •Объекты
- •Рекомендации по построению диаграмм деятельности
- •Диаграмма последовательности (sequence diagram)
- •Объекты
- •Линия жизни объекта
- •Фокус управления
- •Сообщения
- •Ветвление потока управления
- •Стереотипы сообщений
- •Временные ограничения на диаграммах последовательности
- •Комментарии или примечания
- •Пример построения диаграммы последовательности
- •Заключение
- •Управление требованиями к программному продукту. Case-средство Requisite Pro.
- •План лекции
- •Введение
- •Нормативная основа
- •Термины, сокращения и определения
- •Основные положения
- •Цели управления требованиями
- •Участники управления требованиями
- •Политика в области управления требованиями
- •Обеспечение процессов управления требований
- •Распределение ответственности
- •Аналитик
- •Менеджер проекта
- •Тестировщик
- •Проектировщик
- •Разработчик
- •Документирование
- •Обеспечение ресурсами
- •Обучение
- •Действия по управлению требованиями
- •Анализ требований
- •Разработка материалов проекта на основе требований
- •Контроль изменений требований
- •Измерения
- •Показатель важности
- •Контроль со стороны руководителя проекта
- •Контроль со стороны гок
- •Стандарт оформления требований
- •Шаблон для разработки требований
- •Правила оформления требований
- •Структурирование требований
- •Показатели качества требований
- •Проверяемость
- •Модифицируемость
- •Прослеживаемость
- •Начало работы сRequisitePro
- •Создание и настройка проекта
- •Создание проекта
- •Создание типов требований
- •Определение атрибутов
- •Создание типов документов
- •Добавление требований
- •Требования в документах
- •RequisitePro Views
- •Обсуждения
- •Заключение
- •Тестирование приложений. Функциональное тестирование, нагрузочное тестирование. Case-средстваRational Functional Tester,Rational Performance Tester.
- •План лекции
- •Введение
- •Дестабилизирующие факторы и методы обеспечения высокого качества функционирования по
- •Использование среды автоматизированного тестированияPlatinumTestBytes
- •Методы обеспечения качества и надежности программных средств
- •Использование case для повышения качества по
- •Влияние стандартов открытых систем на качество по
- •Повышение качества по путем тестирования
- •Основные особенности процесса тестирования по
- •Организационные особенности тестирования
- •Сертификация по
- •Организация и планирование тестирования для обеспечения качества по
- •Важнейшие разделы iso 9003
- •Общие положения
- •Документирование системы качества
- •Программа качества
- •Внутренние проверки системы качества
- •Корректирующие действия
- •Заключение
- •Комплексная интеграция bpWin, erWin и Paradigm Plus.
- •План лекции
- •Введение
- •Соответствие объектов моделей процессов и моделей данных
- •Экспорт между моделью данных и моделью процессов
- •Paradigm Plus: двусторонняя связь с eRwin
- •Создание физической модели данных вErWin
- •Уровни физической модели
- •Правила валидации и значения по умолчанию
- •Индексы
- •Триггеры и хранимые процедуры
- •Значения ri, используемые erWin для различных типов связей
- •Заключение
- •Стандарты, регламентирующие разработку по
- •План лекции
- •Введение
- •Iso 15504 spice
- •Серия стандартов гост 34-ххх «Информационная технология»
- •Группы процессов
- •Взаимосвязи процессов
- •Процессы инициации
- •Результаты
- •Исходная информация
- •Шаги задачи
- •Методика и подход
- •Выработать основные положения проекта
- •Определить область применения, цели и подход
- •Произвести оценку рисков
- •Получить подтверждение Заказчика и Исполнителя
- •Роли и ответственность
- •Заключение
- •Рабочий план
- •План лекции
- •Введение
- •Основные процессы планирования
- •Вспомогательные процессы планирования
- •Документ «Рабочий план»
- •По работам
- •По исполнителям
- •Диаграмма Гантта по проекту
- •Процессы управления
- •Основные процессы управления
- •Вспомогательные процессы управления
- •Основные процессы анализа
- •Вспомогательные процессы анализа
- •Заключение Заключение
- •Контрольные вопросы
- •Библиографический список
Сторожевое условие
Сторожевое условие (guard condition), если оно есть, всегда записывается в прямых скобках после события-триггера и представляет собой некоторое булевское выражение. Напомним, что булевское выражение должно принимать одно их двух взаимно исключающих значений: "истина" или "ложь". Из контекста диаграммы состояний должна явно следовать семантика этого выражения, а для записи выражения может использоваться синтаксис языка объектных ограничений, основы которого изложены в приложении.
Введение для перехода сторожевого условия позволяет явно специфицировать семантику его срабатывания. Если сторожевое условие принимает значение "истина", то соответствующий переход может сработать, в результате чего объект перейдет в целевое состояние. Если же сторожевое условие принимает значение "ложь", то переход не может сработать, и при отсутствии других переходов объект не может перейти в целевое состояние по этому переходу. Однако вычисление истинности сторожевого условия происходит только после возникновения ассоциированного с ним события-триггера, инициирующего соответствующий переход.
В общем случае из одного состояния может быть несколько переходов с одним и тем же событием-триггером. При этом никакие два сторожевых условия не должны одновременно принимать значение "истина". Каждое из сторожевых условий необходимо вычислять всякий раз при наступлении соответствующего события-триггера.
Примером события-триггера может служить разрыв телефонного соединения с провайдером Интернет-услуг после окончания загрузки электронной почты клиентской почтовой программой (при удаленном доступе к Интернету). В этом случае сторожевое условие есть не что иное, как ответ на вопрос: "Пуст ли почтовый ящик клиента на сервере провайдера?". В случае положительного ответа "истина", следует отключить соединение с провайдером, что и делает автоматически почтовая программа-клиент. В случае отрицательного ответа "ложь", следует оставаться в состоянии загрузки почты и не разрывать телефонное соединение.
Графически фрагмент логики моделирования почтовой программы может быть представлен в виде следующей диаграммы состояний (рис. 6.5). Как можно заключить из контекста, в начальном состоянии программа не выполняется, хотя и имеется на компьютере пользователя. В момент ее включения происходит ее активизация. В этом состоянии программа может находиться неопределенно долго, пока пользователь ее не закроет, т. е. не выгрузит из оперативной памяти компьютера. После окончания активизации программа переходит в конечное состояние. В активном состоянии программы пользователь может читать сообщения электронной почты, создавать собственные послания и выполнять другие действия, не указанные явно на диаграмме.
Однако при необходимости получить новую почту, пользователь должен установить телефонное соединение с провайдером, что и показано явно на диаграмме верхним переходом. Другими словами, пользователь инициирует событие-триггер "установить телефонное соединение". В качестве параметра этого события выступает конкретный телефонный номер модемного пула провайдера. Далее следует проверка сторожевого условия "телефонное соединение установлено", которое следует понимать как вопрос. Только в случае положительного ответа "да", т. е. "истина", происходит переход почтовой программы-клиента из состояния "активизация почтовой программы" в состояние "загрузка почты с сервера провайдера". В противном случае (линия занята, неверный ввод пароля, отключенный логин) никакой загрузки почты не произойдет, и программа останется в прежнем своем состоянии.
Диаграмма состояний для моделирования почтовой программы-клиента
Второй триггерный переход на диаграмме инициирует автоматический разрыв телефонного соединения с провайдером после окончания загрузки почты на компьютер пользователя. В' этом случае событие-триггер "закончить загрузку почты" происходит после проверки сторожевого условия "почтовый ящик на сервере пуст", которое также следует понимать в форме вопроса. При положительном ответе на этот вопрос (вся почта загружена или ее просто нет в ящике) почтовая программа прекращает загрузку почты и переходит в состояние активизации. В случае же отрицательного ответа загрузка почты будет продолжена.
Примечание
Конечно, рассмотренный пример имеет методический характер и иллюстрирует лишь основные особенности поведения почтовой программы-клиента в одном из ее аспектов. И даже этот аспект загрузки почты во многом условный, поскольку не учитывает реакцию программы на такие сообщения, как "линия занята" или самопроизвольный разрыв соединения.
Речь идет о том, что в отдельных случаях может произойти редкое, но весьма неприятное событие, получившее название "залипание модема". Это характерно для ситуации, когда вся почта загружена, а автоматический разрыв соединения не происходит. Тем не менее и этот случай можно предусмотреть в нашей модели, дополнив диаграмму еще одним переходом с аналогичным событием-триггером "закончить загрузку почты" и с новым сторожевым условием. Это сторожевое условие должно проверять максимально допустимое время соединения для загрузки почты (например, 600 секунд) и может быть сформулировано в виде "время загрузки почты превышает 600 секунд". Модифицировать диаграмму состояний для этого случая предлагается самостоятельно в качестве упражнения.