Анализ и выделение классов Лекция 1
Общие сведения о дисциплине В осенний семестр учебного года: 7 лекций; 7 практических занятий; 1 занятие – представление индивидуальных заданий, защита курсовых проектов; 1 занятие – тест по теории 1 семестра. ВМИ - 111, 112: зачет, курсовой проект ВМИ - 113, 114, 115: зачет, отчеты по лабораторному практикуму Балльно-рейтинговая система
Программное обеспечение IBM Rational Software Architect - ads/r/architect/ ads/r/architect/
Источники - раздел «Преподаватели» – доцент Радченко Г.И. ( – курс «Программная инженерия» – лекции 3, 4, 5, 6, 7
Литература 1.Буч Г., Рамбо Дж., Якобсон И. Язык UML. Руководство пользователя. М.: ДМК Пресс с. 2.Буч Г., Якобсон И., Рамбо Дж. UML. СПб: Питер с. 3.Кватрани Т., Палистрант Дж. Визуальное моделирование с помощью IBM Rational Software Architect и UML. М.: КУДИЦ- Пресс, с. 4.Фаулер М. UML. Основы. -СПБ: Символ-Плюс, с. 5.Арлоу Дж., Нейштадт А. UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование. -СПБ: Символ-Плюс, с. 6.Якобсон А., Буч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения. – СПб.:Питер, – 496 с. 7.Ларман К. Применение UML 2.0 и шаблонов проектирования. М.: Вильямс, с. 8.Константайн Л., Локвуд Л. Разработка программного обеспечения. – СПб.:Питер, – 592 с.
6 Буч Г., Рамбо Дж., Якобсон И. Язык UML. Руководство пользователя. М.: ДМК Пресс с. Книга содержит справочный материал, дающий представление о том, как можно использовать UML для решения разнообразных проблем моделирования. В книге подробно, шаг за шагом, описывается процесс разработки программных систем на базе данного языка.
7 Буч Г., Якобсон И., Рамбо Дж. UML. СПб: Питер с. Эта книга представляет собой полный справочник по языку UML. Она адресована в первую очередь разработчикам, системным архитекторам, руководителям проектов, инженерам-системщикам, программистам, аналитикам, заказчикам и вообще всем, кому по роду деятельности приходится описывать, проектировать и строить сложные программные системы, а также разбираться в их функционировании. В книге дается всестороннее описание понятий и конструкций UML, включая их семантику, нотацию и назначение. Материал организован таким образом, чтобы книгой было удобно пользоваться, несмотря на ее объем и полноту содержания. Кроме того, авторы попытались дополнительно осветить ряд моментов, четкое толкование которых отсутствует в стандартах, а также разъяснить основания для принятия тех или иных решений в ходе разработки языка UML.
8 Кватрани Т., Палистрант Дж. Визуальное моделирование с помощью IBM Rational Software Architect и UML. М.: КУДИЦ-Пресс, с. Книга посвящена инструменту Rational Software Architect и версии UML 2.0. На примере конкретной системы авторы проходят весь путь от постановки задачи до реализации системы, знакомя читателя и с возможностями инструмента, и с возможностями новой версии UML. Попутно авторы предлагают много полезных сведений о процессе разработки программного обеспечения, полезных приемах моделирования и документирования проектных решений.
9 Фаулер М. UML. Основы. -СПБ: Символ-Плюс, с. Третье издание "UML. Основы" охватывает UML 2 - версию, которая существенно отличается от всех предыдущих. Главное достоинство книги заключается в кратком и сжатом изложении сути UML и особенностей применения этого языка в современном процессе разработки ПО. В книге описаны все главные типы диаграмм UML, рассказано, для чего они предназначены и какие нотации применяются при их создании и чтении. Это диаграммы классов, последовательности, объектов, пакетов, развертывания, прецедентов, состояний, деятельности, составных структур, компонентов, обзора взаимодействия, коммуникационные и временные.
10 Арлоу Дж., Нейштадт А. UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование. -СПБ: Символ-Плюс, с. Книга представляет собой практическое руководство по сложному процессу объектно-ориентированного анализа и проектирования с помощью UML 2. В нем показано место ОО анализа и проектирования в цикле разработки программного обеспечения, как его определяет Унифицированный процесс (UP). Книга содержит массу практических, мощных и удобных методик ОО анализа и проектирования, готовых к непосредственному использованию. Вы изучите синтаксис и семантику UML 2 и соответствующие аспекты UP. Книга дает точный и лаконичный обзор UML и UP с точки зрения ОО аналитика и проектировщика. Каждая глава начинается с плана в виде диаграммы и заканчивается кратким обзором, идеальным для контроля усвоения материала. Наиболее важная информация оформлена в виде примечаний в рамке. Обновленное издание содержит больше реальных примеров и новый раздел, посвященный объектному языку ограничений (OCL).
11 Якобсон А., Буч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения. СПб.: Питер с. Книга описывает унифицированный процесс создания сложных программных систем, включающий в себя как использование средств унифицированного языка моделирования UML - стандартного способа визуализации, конструирования, документирования и пересылки артефактов программных систем, - так и все фазы подготовки и управления этим процессом.
12 Ларман К. Применение UML 2.0 и шаблонов проектирования. М.: Вильямс, с. Книга помогает разобраться с подходами эволюционного определения требований и прецедентов, моделированием предметной области, проектированием на основе обязанностей, а также наиболее важными принципами объектно-ориентированного проектирования и многоуровневой архитектурой. С помощью этой книги вы сможете познакомиться также с шаблонами проектирования GoF и GRASP, итеративными методами, гибким подходом к использованию унифицированного процесса и многими другими темами.
Основные понятия Абстрактный тип данных Обязанности Метод Аббота Метод именных групп Метод карточек класс-контракт- коллеги (CRC) Метод шаблонных классов Контрольные списки
Задача 1 Диск состоит из пронумерованных кластеров. На диске есть именованные папки, в которые вложены папки или именованные файлы. Список файлов и папок в папке хранится в одном кластер диска, данные файлов хранятся в нескольких кластерах. Выделите классы и определите отношения между ними, используя абстрактные типы данных (АТД) и метод Аббота. Добавьте операции и атрибуты к имеющимся классам для создания, удаления папок и файлов, записи и чтения буфера данных с определенной позиции в файле.
Задача 2 Больной посещает доктора, чтобы получить рецепт на лекарства от своей болезни. Выделите классы и постройте модель предметной области для системы учета посещений больными докторов для поликлиники. Выделите классы и постройте модель предметной области для программы-ежедневника для посетителей.