В каждом из предложенных вариантов требуется при помощи CASE-средства Rational Rose построить модель программного обеспечения. Процесс создания модели должен проходить так, как это описано в главе 3. Должны быть выполнены следующие действия: 1) составление глоссария проекта; 2) создание модели вариантов использования; 3) анализ вариантов использования; 4) проектирование системы; 5) реализация системы. После выполнения третьего этапа модель должна удовлетворять перечисленным ниже требованиям. Глоссарий проекта должен иметь вид таблицы и храниться в отдельном файле. На диаграммах вариантов использования каждое действующее лицо (actor) и вариант использования должны сопровождаться описанием. Эти описания должны быть составлены на русском языке. Описание действующего лица должно коротко (в одну-две строки) сообщать о роли данного лица. Описание варианта использования должно включать в себя пояснение, предусловие, потоки событий (основной и альтернативные, если таковые есть) и постусловие. Описания представляют собой либо присоединенные текстовые файлы, либо текст, введенный в поле Documentation спецификации соответствующего элемента диаграммы. Диаграммы взаимодействия, соответствующие потокам событий вариантов использования, должны содержать необходимые пояснения. При проектировании системы требуется:  создать иерархию классов системы;  разместить классы по пакетам (использовать деление: пользовательский интерфейс – управление – данные; или другое в зависимости от постановки задачи);  связать объекты с классами, сообщения на диаграммах взаимодействия – с операциями;  каждый класс снабдить описанием, которое должно включать в себя краткое описание (ответственность класса), описание атрибутов в виде таблицы (имя, описание, тип), таблицу с описанием операций (имя, описание, сигнатура);  для классов указать стереотипы;  построить диаграммы классов системы, отображающие связи между классами;  для описания поведения экземпляров отдельных классов построить диаграммы состояний;  разработать (если это требуется вариантом задания) схему базы данных и отобразить ее на диаграмме «сущность – связь». При реализации системы необходимо построить диаграммы компонентов для каждого пакета и для системы в целом. Также следует разработать диаграмму размещения. В зависимости от варианта задания диаграмма размещения должна показывать расположение компонентов в распределенном приложении или связи между встроенным процессором и устройствами. Должна быть произведена проверка корректности модели и автоматическая генерация кода средствами Rational Rose. Ниже перечислены варианты заданий. 4.19. Генеалогическое дерево Родословие Иисуса Христа, Сына Давидова, Сына Авраамова. Авраам родил Исаака; Исаак родил Иакова; Иаков родил Иуду и братьев его… Евангелие от Матфея Требуется разработать средствами Rational Rose модель системы для поддержки генеалогических деревьев. Система хранит сведения о персонах (Ф.И.О., пол, дата рождения, дата смерти, биография) и о родственных связях между ними. Связи бывают только трех видов: «мужья-жены», «дети-родители» и «братья-сестры». Система обеспечивает возможность добавления данных о новых персонах и родственных связях, изменение введенных данных и удаление ненужных данных. Система следит за непротиворечивостью вводимых данных. Например, недопустимо, чтобы человек был собственным предком или потомком. Разработанная модель должна содержать схему базы данных для хранения генеалогических деревьев. Пользователи системы могут осуществлять поиск полезной информации по дереву: – находить для указанного члена семьи его детей; – находить для указанного члена семьи его родителей; – находить для указанной персоны братьев и сестер, если таковые есть; – получать список всех предков персоны; – получать список всех потомков персоны; – получать список всех родственников персоны; – прослеживать цепочку родственных связей от одной персоны до другой (например, если Петр является шурином Ивана, то на запрос о родственных связях между Петром и Иваном выдается такой результат: «Петр – брат Ольги, Ольга – жена Ивана»).