ББК 65.050.9 (2)
    Ф34
    Рецензенты:
    канд. техн. наук, доцент Ю.Е. Мороховец,

    доцент В.А. Дихтяр

    Федотова Д.Э., Семенов Ю.Д., Чижик К.Н.
    Ф34

    CASE-технологии: Практикум. - М.: Горячая линия-Телеком,
    2005.-160 с : ил.
    ISBN 5-93517-121-х.
    В систематизированном виде приводятся необходимые теоретические
    сведения и 16 лабораторных работ, направленных на обучение технологии
    составления диаграмм по стандартам DFD, IDEFO, IDEF3, IDEF1X, UML.
    Цель книги - помочь приобрести практические навыки проектирования слож­
    ных программных систем с помощью пакетов BPWin и Rational Rose.
    Для студентов, может быть полезна тем, кто начинает изучать вопросы
    применения CASE-средств.
    ББК 65.050.9 (2)
    Адрес издательства в Интернет
    www.techbook.ru
    e-mail:
    radios_hl@mtu-net.ru
    Учебное издание
    Федотова Дина Эммануиловна
    Семенов Юрий Дмитриевич
    Чижик Константин Николаевич
    CASE-технологии
    Практикум
    Обложка художника В.Г. Ситникова
    ЛР № 071825 от 16 марта 1999 г.
    Подписано в печать 12.11.04. Печать офсетная. Формат 60x88/16. Гарнитура Arial
    Уч.-изд. л. 10 л. Тираж 1000 экз. Изд. № 121

    ISBN 5-93517-121-Х

    ©

    Д.Э. Федотова, Ю.Д. Семенов, К.Н. Чижик, 2003, 2005
    ©
    Оформление издательства
    «Горячая линия-Телеком», 2003, 2005

    Введение
    Настоящий курс лабораторных работ посвящен CASE-средствам струк­
    турного и объектно-ориентированного анализа BPWin 2.5, ERWin 3.5.2
    и Rational Rose 98 и направлен на обучение студентов технологии состав­
    ления диаграмм по стандартам DFD, IDEFO, IDEF3, IDEF1X, UML.
    Существует два основных способа проектирования программных си­
    стем - структурное проектирование, основанное на алгоритмической де­
    композиции, и объектно-ориентированное проектирование, основанное на
    объектно-ориентированной декомпозиции. Разделение по алгоритмам кон­
    центрирует внимание на порядке происходящих событий, а разделение
    по объектам придает особое значение агентам, которые являются либо объ­
    ектами, либо субъектами действия. Однако эти способы, по сути, ортого­
    нальны, поэтому нельзя сконструировать сложную систему одновременно
    двумя способами. Необходимо начать разделение системы либо по алго­
    ритмам, либо по объектам, а затем, используя полученную структуру, по­
    пытаться рассмотреть проблему с другой точки зрения.
    Алгоритмическую декомпозицию можно представить как обычное раз­
    деление алгоритмов, где каж:дый модуль системы выполняет один из эта­
    пов общего процесса. При объектно-ориентированной декомпозиции каж­
    дый объект обладает своим собственным поведением и каждый из них мо­
    делирует некоторый объект реального мира. С этой точки зрения объект
    является вполне осязаемой вещью, которая демонстрирует вполне опреде­
    ленное поведение. Объекты что-то делают, и мы можем, послав им сооб­
    щение, попросить их выполнить некоторые операции.
    Объектная декомпозиция имеет несколько преимуществ перед алгорит­
    мической.
    • Объектная декомпозиция уменьпхает размер программных систем за
    счет повторного использования общих механизмов, что приводит к су­
    щественной экономии выразительных средств.
    • Объектно-ориентированные системы более гибки и проще эволюци­
    онируют со временем, потому что их схемы базируется на устойчи­
    вых проме:жуточных формах. Действительно, объектная декомпози­
    ция существенно снижает риск при создании сложной программной
    системы, так как она развивается из меньших систем, в которых мы
    уже уверены.

    Введение
    • Объектная декомпозиция помогает нам разобраться в слож:ной про­
    граммной системе, предлагая нам разумные решения относительно
    выбора подпространства большого пространства состояний.
    В объектно-ориентированном анализе существует четыре основных ти­
    па моделей: динамическая, статическая, логическая и физическая. Через
    них можно выразить результаты анализа и проектирования, выполненные
    в рамках любого проекта. Эти модели в совокупности семантически до­
    статочно богаты и универсальны, чтобы разработчик мог выразить все заслуживаюгцие внимания стратегические и тактические решения, которые
    он должен принять при анализе системы и формировании ее архитектуры.
    Кроме того, эти модели достаточно полны, чтобы служить техническим
    проектом реализации практически на любом объектно-ориентированном
    языке программирования.
    Фактически все сложные системы можно представить одной и той же
    канонической формой - в виде двух ортогональных иерархий одной си­
    стемы: классов и объектов. Ка:ждая иерархия является многоуровневой,
    причем в ней классы и объекты более высокого уровня построены из более
    простых. Какой класс или объект выбран в качестве элементарного, зави­
    сит от рассматриваемой задачи. Объекты одного уровня имеют четко вырахсенные связи, особенно это касается компонентов структуры объектов.
    Внутри любого рассматриваемого уровня находится следующий уровень
    слолсности. Структуры классов и объектов не являются независимыми:
    каж:дый элемент структуры объектов представляет специфический экзем­
    пляр определенного класса. Объектов в сложной системе обычно гораздо
    больше, чем классов. С введением структуры классов в ней размещаются
    общие свойства экземпляров классов.
    Структурный подход состоит в декомпозиции (разбиении) системы на
    элементарные функции, т. е. система разбивается на функциональные под­
    системы, которые в свою очередь делятся на подфункции, подразделяемые
    на задачи, и т. д. Процесс разбиения продолж:ается вплоть до конкретных
    процедур. При этом создаваемая система сохраняет целостное представле­
    ние, в котором все составляющие компоненты взаимоувязаны.
    Все наиболее распространенные методологии структурного подхода ба­
    зируются на ряде общих принципов. В качестве двух базовых принципов
    используются следующие:
    • принцип решения сложных проблем путем их разбиения на множ:ество меньших независимых задач, легких для понимания и решения;

    Введение
    • принцип организации составных частей проблемы в иерархические
    древовидные структуры с добавлением новых деталей на каж:дом
    уровне - так называемый принцип иерархического упорядочения.
    В структурном анализе используются в основном две группы средств,
    иллюстрируюш;их функции, выполняемые системой, и отношения меж:ду
    данными. Каждой группе средств соответствуют определенные виды мо­
    делей (диаграмм), наиболее распространенными среди которых являются
    следуюш;ие:
    • SADT (Structured Analysis and Design Technique) - модели и соответствуюгцие функциональные диаграммы;
    • DFD (Data Flow Diagrams) - диаграммы потоков данных;
    • ERD (Entity-Relationship Diagrams) - диаграммы «сугцность-связь».
    На стадии проектирования системы модели расширяются, уточняются
    и дополняются диаграммами, отражаюгцими ее структуру.
    Перечисленные модели в совокупности дают полное описание системы
    независимо от того, является ли она суш;ествующей или вновь разрабаты­
    ваемой. Состав диаграмм в каж:дом конкретном случае зависит от необхо­
    димой полноты описания системы.
    Темы лабораторных работ
    1. Работа с читателями в библиотеке МИРЭА.
    2. Учет информационного фонда и поиск в библиотеке периодических
    изданий кафедры MOB С.
    Автоматизация работы деканата
    1.
    2.
    3.
    4.
    5.
    6.

    Архив учебных групп.
    Сессия.
    Текуш,ая успеваемость.
    Кадры преподавателей и сотрудников.
    Распределение учебной нагрузки по кафедрам и учет ее выполнения.
    Система методического обеспечения учебного процесса (учебные пла­
    ны, программы).
    7. Научно-исследовательские работы.

    Введение
    Автоматизация работы кафедры
    1. Архив учебных групп.
    2. Кадры преподавателей и сотрудников.
    3. Распределение учебной нагрузки по преподавателям и учет ее выпол­
    нения.
    4. Составление и корректировка учебного плана.
    5. Учебные программы.
    6. Система методического обеспечения учебного процесса (задачи).
    7. Расписание занятий.
    8. Научно-исследовательские работы.
    9. Учет материальных ресурсов на кафедре.
    10. Система поддерж:ки учебного процесса: мониторинг аппаратных и про­
    граммных ресурсов.
    11. Проектирование и прокладка локальной вычислительной сети кафедры,

    Л а б о р а т о р н а я работа № 1
    Теоретическое введение в предметную область
    Цель работы:
    • ознакомиться с системой «Служба занятости в рамках вуза».
    Настоящий курс лабораторных работ ориентирован на изучение CASEсредств на примере диаграмм, создаваемых для проекта «Служба занято­
    сти в рамках вуза». Процесс создания диаграмм начинается с этапа изуче­
    ния предметной области, которая описывается в этой лабораторной работе.

    1. Описание системы
    Система предназначена для того, чтобы помочь студенту устроиться
    на работу уже в процессе его обучения в вузе. Подав заявление в систему,
    студент становится ее клиентом и начинает обслуживаться на протяже­
    нии всего обучения в вузе. Заявление представляет собой анкету. Систе­
    ма предлагает профессиональные (основанные на изучаемых предметах),
    психологические тестирования, проводимые регулярно (раз в семестр (пол­
    года). Особое внимание уделяется обучению студента, по итогам успевае­
    мости составляются экспертные оценки. На основе собранной информации
    составляется резюме, представляющее собой полную характеристику чело­
    века. Это резюме отсылается всем организациям, имеющим необходимые
    вакансии.
    Основным назначением системы является автоматизация ввода и хра­
    нения отчетных данных по студентам, составления характеристик и резю­
    ме, поиска вакансий в фирмах. Система позволяет изменять, дополнять,
    вести поиск и просмотр информации о студентах, накладывать ограни­
    чения доступа к системе, хранить списки студентов, закончивших обуче­
    ние, в виде архива, контролировать выдачу студенту заданий на курсовые
    работы и проекты, связывать институт с фирмами, заинтересованными
    в поиске сотрудников.
    Такж:е данная система может быть использована для составления от­
    дельных списков групп, для печати зачетных ведомостей, для печати пол­
    ной базы данных и для статистики.

    Лабораторная работа № 1
    Система состоит из четырех подсистем:
    • контроля успеваемости студентов;
    • профессиональных и психологических тестов;
    • обработки запросов, определения категорий полномочий пользовате­
    лей;
    • экспертных оценок.
    1.1. Подсистема контроля успеваемости студентов
    Эта подсистема является частью системы «Служба занятости в рамках
    вуза», которая отвечает за статистическую отчетность по успеваемости от­
    дельного студента, группы или целого факультета, а также за хранение
    и правильность ее ввода.
    Входными данными подсистемы являются: оценки, даты сдачи экза­
    менов, имена студентов, номера групп, факультет. На выходе подсистема
    выдает обработанные данные: средний балл по студенту, группе или фа­
    культету, процентное соотношение оценок у студента в группе или на фа­
    культете, имена и количество стипендиатов в группе или на факультете.
    Подсистема «Контроль успеваемости студентов» может функционировать
    отдельно от всей системы, что дает возможность установить и использо­
    вать ее независимо, если это необходимо.
    Подсистема «Контроль успеваемости студентов» включает следующие
    функции:
    • ввод, вывод и редактирование информации по информационным объ­
    ектам подсистемы;
    • сохранение информации, поступившей от подсистемы контроля успе­
    ваемости студентов;
    • расчет процентного соотношения оценок у студента в группе или
    на факультете и вывод его в виде таблиц, графиков и диаграмм;
    • расчет среднего балла по студенту, группе или факультету;
    • формирование данных по студенту, группе или факультету;
    • выявление сильнейших и слабейших студентов в группе или на фа­
    культете;
    • расчет количества стипендиатов в группе или на факультете;
    • проверку правильности ввода данных.

    Теоретическое введение в предметную область
    1.2. Подсистема профессиональных и психологических тестов
    Модульная структура
    МОНИТОР
    1
    '
    4
    3

    1,2

    1

    чЛ

    1

    1 ввод

    -~ ,

    1 вьшод

    8

    9

    1

    ПРОВЕРКА

    / ,
    Ф.И.0

    '1

    ^0

    1

    \

    , 1

    1

    -^

    ТЕСТИРОВАНИЕ

    1 ОБРАБОТ

    и

    \

    ^

    1 ПРОСМОТР

    ТЕСТ. ПРОФ./ПСИХ./СПЕЦ.

    1
    1

    \
    1

    12

    8

    /
    1 ОПРЕДЕЛЕНИЕ

    1 РЕГИСТРАЦИЯ 1

    |

    ^ 1 Г: 1

    1 ПРОФ. Т]ЕСТ

    |/

    / 1 ПСИХ.ТЕСТ 1

    1 СПЕЦ. ТЕСТ

    1

    Рис. 1.1. Подсистема профессиональных и психологических
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.
    9.
    10.

    тестов

    Ф.И.О., новые тесты, название теста.
    Ответы на тесты.
    Вопросы, результаты теста, Ф.И.О.
    Ответы, Ф.И.О., название теста.
    Новый тест.
    Ф.И.О., название теста.
    Результаты теста, Ф.И.О.
    Ф.И.О., специальность.
    Ф.И.О., набор тестов.
    Ф.И.О., профессионально-психологический тест, психологический тест,
    специальный тест, ответы.
    11. Ф.И.О., информация о пройденных тестах.
    12. Ф.И.О., набор тестов для клиента.

    Лабораторная работа № 1
    Внеп1ние сущности
    Фирма

    Клиент

    Архив

    Дополнительные
    источники

    Тип производственного объединения предпри­
    ятия. В данной ситуации фирма выступает как
    работодатель. Она отправляет запрос на спе­
    циалиста.
    Человек, поступивший учиться в институт и
    пользующийся услугами С Л У Ж Б Ы ЗАНЯ­
    ТОСТИ для нахождения работы. Клиент по­
    лучает запрос на проведение профессиональ­
    ного, психологического и специального тестов
    и вопросы тестов. Затем КЛИЕНТ отправля­
    ет входные данные, ответы на вопросы тестов,
    запрос на результаты тестов.
    Хранилиш;е, где хранятся все данные о клиен­
    те, начиная с момента пользования услугами
    С Л У Ж Б Ы ЗАНЯТОСТИ.
    Источники, из которых поступают новые, бо­
    лее современные тесты. Это INTERNET, жур­
    налы, какие-либо специализированные цен­
    тры.

    Работа модулей подсистемы
    Монитор - вызывает модуль ввода и получает от него данные для вы­
    полнения дальнейших задач; обращается к модулю тестирования, пере­
    давая ему исходные данные; после выполнения своей задачи тестирование
    передает ему свои результаты; вызывает модуль вывода и получает от него
    конечный результат.
    Ввод - получает запрос от монитора, передает ему запрашиваемые
    данные.
    Вывод - вызывается монитором и получает от него результаты, выводя
    их на дисплей.
    Тестирование - вызывается монитором, получает от него исходные дан­
    ные и в зависимости от них обраш;ается к тому или иному модулю. Выпол­
    нив свои функции, модули посылают тестированию результаты действий,
    а тестирование уже передает полученные результаты монитору.
    Проверка - получает исходные данные от тестирования и передает их
    своим подмодулям: регистрация тестируемых, определение тестов. Под­
    модули передают полученные результаты модулю проверки. Тестирова10

    Теоретическое введение в предметную область
    ние (профессиональное, психологическое, специальное) получает исходные
    данные от модуля тестирования и передает их своим подмодулям: профес­
    сиональное, психологическое, специальное тестирование. Подмодули пере­
    дают полученные результаты.
    Обработка - получает данные от тестирования, выполняет свои задачи
    и возвращает полученные результаты модулю тестирования.
    Просмотр - получает данные от модуля тестирования, выполняет свои
    задачи и посылает полученные результаты модулю тестирования.
    1.3. Подсистема обработки запросов, определения категорий
    пользователей
    Данная подсистема предназначена для определения категории, полно­
    мочий и обработки запросов пользователей слулсбы занятости. В частно­
    сти, она выполняет следующие функции:












    регистрацию новых фирм;
    регистрацию новых студентов;
    определение прав доступа зарегистрированного пользователя;
    обработку запросов;
    прием регистрационных данных от фирм;
    прием регистрационных данных от студентов;
    прием регистрационных данных от обслулсивающего персонала;
    составление резюме;
    запись данных в Б Д студентов;
    запись данных в Б Д фирм;
    запись данных в Б Д зарегистрированных пользователей.

    В соответствии с выполняемыми функциями система работает со сле­
    дующими данными:











    регистрационными данными студентов;
    регистрационными данными фирм;
    личными данными студентов;
    информацией о студентах (получаемой фирмами);
    информацией о фирмах (получаемой студентами);
    идентификационными данными пользователей;
    информацией о системе;
    запросом;
    служ:ебной информацией (для обслулсивающего персонала);
    результатом психологического теста;
    11

    Лабораторная работа № 1
    • результатом профессионального теста;
    • экспертными оценками.
    Модульная структура

    Категория

    Запись в БД
    фирм

    Рис. 1.2. Подсистема обработки запросов, определения категорий
    пользователей
    Определение категории - модуль, определяющий категорию пользо­
    вателя.
    Определение полномочий - модуль, определяющий полномочия поль­
    зователя.
    Обработка запроса - модуль, предназначенный для обработки запросов
    пользователя.
    Выполнение запроса - модуль, предназначенный для выполнения за­
    просов пользователя.
    Запись в Б Д зарегистрированных пользователей - модуль, предназна­
    ченный для работы с базой данных зарегистрированных пользователей.
    Запись в Б Д студентов - модуль, предназначенный для работы с Б Д
    студентов.
    Запись в Б Д фирм - модуль, предназначенный для работы с Б Д фирм.
    1.4. Подсистема экспертных оценок
    Эта подсистема предназначена для установки и просмотра экспертной
    оценки. Она дает краткую информацию преподавателю о студенте или
    группе. Студент молсет с помощью ее ориентироваться в учебе.
    12

    Теоретическое введение в предметную область
    монитор

    Установка экспертной

    Z

    Определе­
    ние статуса
    клиента

    Обработка
    работы
    студента

    Обработка
    работы

    Обработка
    раб