maran program engineering (Маран Программная инженерия), страница 7
Описание файла
PDF-файл из архива "Маран Программная инженерия", который расположен в категории "". Всё это находится в предмете "программная инженерия" из 4 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 7 страницы из PDF
Выделить действующие лица. При этом надо четко ответить на вопрос: чем отличаются друг от друга отдельные действующие лица.2. Для каждого действующего лица выделить варианты использования,после чего составить общий список вариантов использования.3. Связать между собой действующие лица и варианты использования(установить отношение ассоциации).4. Проанализировать в первом приближении наличие общих подзадач уразных вариантов использования, при их наличии выделить эти подзадачи и установить отношения расширения и включения.Рассмотрим сказанное на небольшом учебном примере.
Пусть требуетсяавтоматизировать работу магазина. По телефону потенциальные покупателимогут получить справки о наличии и характеристиках товара, о ценах и при желании забронировать товар. Забронированный товар должен быть куплен в течение дня; забронированный, но не купленный товар после закрытия магазинасчитается свободным для продажи. Магазин торгует товарами малых размерови массы, поэтому доставка товара покупателям не осуществляется. Покупатель,пришедший в магазин, может также получить информацию о наличии и характеристиках товара, о ценах. Кроме того, продавец может выписывать счет наоплату товара, копия счета передается на склад, кладовщик доставит товар навыдачу, и сотрудник на выдаче, убедившись, что товар оплачен, передает егопокупателю. Товар между выписыванием счета и доставкой кладовщиком навыдачу считается забронированным.
Продавец может выписывать счет и на забронированный товар, а может и сам забронировать товар. Забронированный упродавца товар обрабатывается аналогично забронированному по телефону.Выписанный, но не оплаченный в течение трех часов товар возвращается насклад и считается свободным для продажи другому покупателю. Автоматизация расчетов с покупателями и ведения бухгалтерского учета на данном этапене рассматриваются. Менеджер магазина отслеживает расход товаров и состояние склада и принимает на этой основе решения о заказе новых партий у поставщиков или о продаже залежавшегося товара.Действующие лица:• менеджер;• консультант у справочного телефона магазина;31• продавец;• кладовщик;• сотрудник на выдаче.Примечание.
В магазине несколько продавцов, кладовщиков и сотрудников навыдаче, но их задачи не отличаются друг от друга.Варианты использования.Консультант на телефоне:• получение справок о характеристиках продаваемых товаров;• получение справок о наличии товара на складе;• резервирование товара;• аннулирование резервирований по желанию покупателя или после закрытия магазина.Продавец:• получение справок о характеристиках продаваемых товаров;• получение справок о наличии товара на складе;• резервирование товара;• выписывание счета;• передача копии счета на склад.Кладовщик:• изменение количества товара на складе после отпуска;• изменение количества товара на складе после возврата с выдачи.Менеджер:• получение справок о наличии товара на складе;• анализ хода продаж отдельных видов товаров;• анализ времени нахождения товара на складе.Сотрудник на выдаче не осуществляет ввод данных и поэтому он не рассматривается в дальнейшем как действующее лицо.
Составленные диаграммывариантов использования представлены на рис. 3.5 и 3.6.Получение справок о наличиитовара на складеМенеджерАнализ времени нахождениятовара на складеАнализ хода продажРис. 3.532Получение справок охарактеристикахКонсультантПолучение справок о наличии<<include>>Зарезервирование товараПродавец<<include>>Передача счета на складВыписывание счетаКладовщикИзменение состояния складаРис. 3.63.3.
Диаграмма классовДиаграмма классов служит для представления статической структурымодели системы в терминологии объектно-ориентированного программирования. Диаграмма классов отражает структуру отдельных классов и их взаимосвязи и состоит из классов и отношений между ними. При большой сложностии/или объеме на диаграмме классов можно использовать пакеты. Их внешнийвид, назначение и отношения между ними совпадают с описанными в п.
3.2.Обозначение класса на языке UML показано на рис. 3.7.Название классаАтрибуты классаОперации класса()Рис. 3.7Название класса должно быть уникальным в пределах модели. Названияклассов образуют в будущем словарь предметной области, и поэтому надо обращать особое внимание на выбор содержательных названий.33Атрибуты (или свойства) класса задают набор его характеристик.
Напервом этапе моделирования можно ограничиться лишь определением составаатрибутов, но, кроме этого, на языке UML имеются возможности помимо названий атрибутов определить видимость, тип данных, кратность, начальноезначение. Приведенные перед именами атрибутов символы обозначают видимость. Мы вернемся к этому позже.Операции класса задают услуги, которые могут быть запрошены у любого объекта данного класса.
Операциями заданы задачи, которые могут быть решены на объектах данного класса. На UML для операции могут быть заданывидимость, состав аргументов, тип возвращаемого значения и некоторые другие характеристики.Классы могут быть отнесены к определенному стереотипу. Стереотип позволяет задать назначение класса. Часть стереотипов определена на UML, нопользователь может расширить их состав. Примеры наиболее существенныхстереотипов, рекомендованных в продуктах серии Rational, и их обозначенияприведены на рис.
3.8.Стереотип Действующее лицо (Actor) нам уже знакомо. Стереотип Граничный класс (Boundary) используется для задания взаимодействия разрабатываемого программного продукта с внешней средой. Поэтому каждому действующему лицу должен соответствовать граничный класс. Стереотип Сущность(Entity) используется для классов, предназначенных для создания баз данных(т. е. для длительного хранения данных). Сущность Управление (Control)предназначена для управления работой программного продукта.
Все стереотипы классов имеют одинаковую структуру, рассмотренную нами выше: название, атрибуты, операции.Граничный классДействующее лицоУправлениеСущ ностьРис. 3.8Между классами имеются следующие отношения:• обобщения (generalization);• ассоциации (association);• зависимости (dependency);• реализации (realization).Отношение обобщения (рис. 3.9) связывает класс, соответствующий более общему понятию (предок), с менее общими понятиями − классами (потомками). Равносильные термины родительский класс — дочерний класс. Все, что34утверждается относительно класса-предка, должно без всяких ограниченийбыть верным для всех его потомков.АвтомобильГрузовойЛегковойАвтобусРис.
3.9Отношение ассоциации (ассоциативное отношение, рис. 3.10) показываетналичие содержательной связи между двумя классами.+Название вуза+Имя студентаВуз1УчебаСтудент1..*Рис. 3.10На этом рисунке:Учеба — имя отношения (необязательно); Имя студента, Название вуза — имена ролей, которые играют связываемые этим отношением классы (необязательны); 1, 1..* — мощность отношения, ее желательно задать.В нашем случае имеем отношение «один ко многим»: в вузе учится многостудентов, но каждый студент учится только в одном вузе. Кроме этого, существуют мощности «один к одному» и «многие ко многим».
Вместо 1..* можнозадать и более конкретные значения. Например, 1..4 соответствуют от 1 до 4объектов класса; 0..3 − условное отношение от нуля до 3.Имеются разновидности отношения ассоциации — отношение агрегации(aggregation) и композиции (composition). Отношение агрегации показывает,что один класс содержит в какой-то ситуации в своем составе другие классы, ноони могут существовать и независимо друг от друга. Пример отношения агрегации приведен на рис. 3.11.
Команда состоит из одного тренера и 12 игроков,тренер может тренировать 1 или 2 команды, игрок может играть в одной команде. Но как тренер, так и игроки могут существовать и за пределами своейкоманды. Характеристики этого отношения совпадают с характеристиками отношения ассоциации. Отношение композиции — это по существу отношение«целое — часть». Оно (рис. 3.12) предполагает, что составные части не имеютсмысла без своего владельца.Отношение зависимости определяет, что изменение одного класса можетповлиять на другой класс, который его использует, причем обратное в общемслучае неверно.
Это отношение необходимо указать, если один класс (клиент)использует другой (сервер). Зависимость показана на рис. 3.13; изменения вКласс_В (сервер) могут повлиять на Класс_А (клиент).35ТренерКоманда1Игрок1..2112Рис. 3.11Системный блокКомпьютер1Клавиатура111111Монитор1МышьРис. 3.12Класс_АКласс_ВРис. 3.13Отношение реализации (рис. 3.14) задается между классами, один из которых описывает действия, а другой гарантирует их выполнение. Чаще всегореализации используют для определения отношений между интерфейсом иклассом, который предоставляет объявленные в интерфейсе операции или услуги. Интерфейс позволяет отделить спецификацию (сам интерфейс) от реализации.
В нашем случае Класс_С реализует интерфейс Класс_D.Класс_СРеализацияКласс_DРис. 3.14В качестве примера рассмотрим часть диаграммы классов для магазина(рис. 3.15). Составление диаграммы классов занимает центральное место вобъектно-ориентированном анализе и проектировании. От правильного выбора классов и отношений между ними в большой степени зависит успехвыполнения проекта в целом. При наличии классов-сущностей возникаетвопрос об обновлении условно-постоянных данных.
В нашем случае данные околичестве товара можно изменять при их поступлении или отпуске; нономенклатуру данных и их характеристики необходимо время от времениизменять.36Различают диаграммы классов анализа и проектирования. Диаграммаклассов анализа описывает структуру предметной области, классам соответствуют базовые ее понятия. Данные и операции при этом могут иметь качественный характер, без уточнения деталей реализации. Диаграмма классов проектирования должна быть составлена с такой степенью подробности, чтобы на ееоснове можно было писать или даже генерировать заготовки программ реализации.Получение справок о характеристикахКонсультантНоменклатуратовара 1АРМ консультантаПолучение справок о наличииПолучение справок о наличииПродавец0..nСостояние складаАРМ продавцаОформлениепродажиИзменение состояния складаКладовщик АРМ кладовщикаРис.
3.153.4. Диаграмма состоянийВ UML 2.0 вводится понятие конечный автомат для моделирования динамического поведения объектов. Для их представления используют диаграммы состояний. Объекты многих классов могут находиться в разных состояниях. Простейший пример: лампочка может быть в двух состояниях: «горит»,«не горит». Будем говорить о состояниях классов, подразумевая при этом, чтовсе объекты этого класса будут находиться в одинаковых состояниях. Переходобъектов класса из одного состояния в другое задает характерные черты ихповедения.