Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Проектирование диаграммы классов для сущности "Супермаркет"

Содержание:

Введение

Сегодня, когда информационные технологии проникают во все сферы жизни более актуальным, становится интеграция принципов построения ПО в сферы жизнедеятельности, которые могут быть представлены через пути проектирования информационных систем. Примером того, может послужить представление принципов работы предприятия, выраженные через диаграмму классов. Таким образом можно глубже понять процесс разработки программного обеспечения с использованием принципов объектно-ориентированного анализа и программирования. В данной работе отражены процессы работы супермаркета, а так же выражены наиболее значимые составляющие процесса работы организации. В данной работе цель будет достигаться в два этапа: Сперва выбранная сущность будет проанализирована в целом и по составляющим частям, а затем будет описан ход проектирования с описание мотивации выбора связей между компонентами и представлен окончательный вариант диаграммы классов. Целью работы является создание полноценной диаграммы классов, отражающей все наиболее значимые аспекты супермаркета.

Тема.1 Анализ сущности «Супермаркет».

Супермаркет имеет большое количество компонентов необходимых для полноценного функционирования всего бизнес-процесса организации. Для того чтобы проанализировать сущность в целом понадобится выделить наиболее значимые элементы включенные в работу.

1.1 Сотрудники.

В работе супермаркета не обойтись без человеческого персонала выполняющего самые разные обязанности необходимые для функционирования супермаркета. Разные сотрудники имеют разные функции и обязанности, что отражается в разных атрибутах и функциях отраженных на диаграмме, однако все люди будут иметь ряд одинаковых атрибутов и функцию по скольку все они являются людьми и проходят примерно одну и ту же процедуру приема на работу, где необходима регистрация сотрудников в документах организации, а так-же некоторые общие функции. Исходя из этого можем обозначить для общего класса-родителя «Сотрудники» общие атрибуты: ФИО, дата рождения, телефон, адрес. Для всех сотрудников будет общей необходимость отметки о приходе на работу. Таким образом класс «Сотрудники» будет выглядеть как на рис. 1.

Рисунок 1: Класс «Сотрудники» на диаграмме.

Но для работы организации необходимы разные сотрудники с разными обязанностями и функциями, поэтому класс «Сотрудники» будет иметь много дочерних классов, каждый со своими атрибутами и методами. Опишем их по отдельности.

1.2 Кассиры.

В супермаркете необходимы люди которые будут осуществлять регистрацию покупок, расчет покупателей, ведение кассовой документации, пополнение товара в кассовой зоне. Эти функции традиционно выполняют кассиры. Для кассиров будет необходимо ввести свой уникальный атрибут — кассовый номер, по скольку для доступа к кассе в современном магазине у каждого кассира есть уникальный номер и ключ от кассы. Кассир обладает рядом вышеперечисленных обязанностей которые необходимо будет описать в методах класса. Класс «Кассир» Показан на Рис. 2.

1.3 Продавец-консультант.

Рисунок 2: Класс "Кассир"

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

Работник склада.

Рисунок 3: Класс "Продавец-консультант"

Работники склада являются важной составляющей рабочего процесса в супермаркете. От них зависит своевременная доставка товаров в магазин и обеспечение запасов товаров на складе путем оформления заказов на необходимые товары. У всех сотрудников склада должен быть пропуск с уникальным индивидуальным номером. В обязанности всех сотрудников склада входит отслеживание товарных остатков, для предотваращения ситуации дефицита товара, а так-же доставка товаров в супермаркет. Общий класс для работников склада показан на рисунке 4.

Рисунок 4: Класс "Рабочие склада"

На складе как правило присутствует несколько рабочих с разными функциями, поэтому класс «Работники склада» будет иметь два класса наследника «Товаровед» и «Кладовщик».

1.4 Товаровед.

Выполняет основные функции по обеспечению магазина запасом товаров и учета остатка. В эти функции входит: анализ остатков товара, оформление заказов на товар, прием товара, отправка товара в магазин, инвентаризация, отслеживание качества поставленной продукции, отслеживание сроков годности. Таким образом класс «товаровед» будет выглядеть как на рисунке 5.

Рисунок 5: Класс "Товаровед"

1.5 Кладовщик.

В современном супермаркете должна быть осуществлена ротация товаров для того чтобы избежать ситуации когда вперед уходят товары из более поздней закупки, а заказанные ранее товары успевают испортится. Кладовщик осуществляет разбор поставок товаров, обеспечение ротации товаров, сбор товаров для отправки в магазин. Класс «Кладовщик» представлен на рисунке 6.

Рисунок 6: Класс "Кладовщик"

1.6 Курьер.

Курьер в данном конкретном случае отвечает за доставку товара покупателям заказавших его на сайте магазина. Курьер имеет служебный автомобиль с помощью которого осуществляет доставку, для чего ему необходима водительская лицензия (права). Помимо доставки самого товара и чеков, курьер может принимать наличные денежные средства и осуществлять расчетные операции с клиентами оплачивающими заказ наличными при получении. Класс курьер отражен на рисунке 7.

Рисунок 7: Класс "Курьер"

1.7 Технический специалист.

Технический специалист отвечает за работоспособность информационной системы и сайта магазина. В его обязанности входит устранение неполадок с информационной системой,поддержка пользователей ИС , добавление новых пунктов в базы данных товаров, редактирование существующих позиций, введение изменений в информационную систему по желанию руководства, поддержка сайта, устранение неполадок и т. д. На рисунке 8 изображен класс «Технический специалист».

Рисунок 8: Класс "Технический специалист"

1.8 Директор.

Директору супермаркета необходимо контролировать и быть в курсе всех процессов в супермаркете. Директор организовывает планирует и контролирует работу организации, расчитывает бюджет, подготавливает аналитический отчет о работе предприятия, обеспечивает промо - мероприятия, так-же отвечает за подбор новых кадров для работы в организации, отвечает за товарно-материальные ценности. У директора магазина есть доступ ко всем сферам супермаркета, поэтому он будет обладать пропуском на склад, доступом к кассе, ключами от сейфа. Выглядеть класс директора будет как на рисунке 9.

Рисунок 9: Класс "Директор"

1.9 Поставщики.

В обязанности поставщиков входит поставка товаров на предприятие согласно договору. Для поставщика характерными будут следующие атрибуты: номер договора, адрес, телефон, e-mail. Поставщики должны доставить товар надлежащего качества в соответствии с сертификатами в указанные сроки на склад или в супермаркет, а также несут ответственность за порчу товара не доставленного в срок или поврежденного в процессе доставки, и при дефектах обязаны предоставить замену или возместить убытки. Класс поставщиков показан на рисунке 10.

Рисунок10: Класс "Поставщики"

1.10 Покупатели.

При покупке покупателю можно предоставить возможность регистрации в промо компании для чего спросить ФИО и контактные данные, которые впоследствии будут занесены в базу клиентов для предоставления скидки. Покупатель имеет возможность приобрести товар, вернуть товар и обменять. Класс покупатель проиллюстрирован на рисунке 11.

Рисунок 11: Класс "Покупатели"

1.11 Товар.

Любая единица товара в супермаркете будет обладать собственными артикулом, номенклатурой и штрих-кодом. Товар является базовой единицей при совершении торговой сделки и как неодушевленный предмет не обладающий никакими возможностями или поведением не может иметь собственных операций. В диаграмме классов товар будет выглядеть как показано на рисунке 12.

Рисунок 12: Класс "Товар"

1.11 Склад.

В качестве атрибутов склад обладает собственным адресом, а так-же имеет максимальный объем хранилищ. Склад выполняет функцию хранения товара в упорядоченном виде. Класс «Склад» показан на рисунке 13.

Рисунок 13: Класс "Склад"

1.12 Информационная система.

Информационная система супермаркета в данном конкретном случае обеспечивает доступ к базам данных, обеспечивает интерфейс для изменений информации в базах для технических специалистов обслуживающих информационную систему. С помощью информационной системы предоставляется возможность извлечение баз данных для составления аналитических отчетов и статистических выдержек. Так-же в данном примере информационная система содержит информацию о заказах сделанных на сайте, для передачи курьеру. Вид информационной системы в диаграмме классов на рисунке 14.

Рисунок 14: Класс "Информационная система"

1.13 Сайт.

Сайт служит для дистанционного приобретения товаров данного магазина по средствам сети Интернет. На сайте клиент имеет возможность ознакомится с ассортиментом, создать заказ, выбрать удобный способ оплаты, отредактировать ранее созданный заказ или отменить его. Рисунок 15 иллюстрирует класс «Сайт» на диаграмме классов.

Рисунок 15: Класс "Сайт"

1.14 Заказ.

Созданный на сайте заказ обладает следующими атрибутами: номер заказа, наименование товара, артикул товара, дата заказа, информация о способе платежа. Данная информация передается в общую информационную систему для того чтобы позже быть переданной курьеру который осуществит доставка товара заказчику и проведет с ним денежный расчет. Класс «Заказ» показан на рисунке 16.

Рисунок 16: Класс "Заказ"

1.15 Банк.

Банк обеспечивает расчеты между клиентами и сотрудниками средствами банка такими как перевод со счета на счет, а тек-же предоставляет возможность использовать эквайринговые системы оплаты. Осуществляет инкассацию денежных средств, и помогает осуществлять нелогооблажение. Как и любая другая организация банк имеет свой собственный адрес, телефон, ИНН и другие атрибуты. На схеме банк будет выглядеть следующим образом: рисунок 17.

1.16 Супермаркет.

Рисунок 17: Класс "Банк"

Супермаркет обладает всеми типичными для предприятиями атрибутами: адрес, телефон, e-mail, адрес сайта и т. д. Супермаркет предоставляет клиентам возможность купить товары представленные нв торговых площадях организации. Помимо покупок супермаркет обязан обеспечить защиту интересов потребителей согласно действующему законодательству, [1] по этому в любом супермаркете возможен также возврат или замена товара который по тем или иным причинам не подошел покупателю. На диаграмме классов супермаркет представлен рисунком 18.

Рисунок 18: Класс "Супермаркет"

Разобрав все наиболее значимые сущности супермаркета по отдельности мы выяснили их задачи и способы их решения, а также поняли какими связями и с какими элементами системы должны обладать те или иные ее представители и сущности. Для создания полноценной диаграммы классов необходимо также обозначить схематично выявленные связи и построить схему, что будет сделано в следующей главе работы.

Тема 2. Проектирование диаграммы классов.

Для представления процессов протекающих в супермаркете необходимо описать связи между классами описанными ранее. Сперва необходимо описать отношения класса «Сотрудники» с дочерними классами: «Кассир», «Продавец консультант», «Курьер», «Рабочий склада», «Директор», «Технический специалист». Все дочерние классы относятся к классу родителю как часть к целому, так как все они являются сотрудниками, следовательно на диаграмме необходимо отобразить связи между дочерними классами и родителем используя тип отношения «Агрегация». На диаграмме классов такая группа классов сотрудников будет выглядеть следующим образом: рисунок 19.

Рисунок 19: Связи между сотрудниками.

В свою очередь у класса «Рабочие склада» будут свои два класса-наследника «Кладовщик» и «Товаровед» которые будут соединены с классом родителем так-же отношением агрегации по скольку оба они являются рабочими склада имея различия в должности и функциях. Проиллюстрируем данную связь рисунком 20.

Рисунок 20: Связи рабочих склада с классом родителем.

Помимо этого рабочие склада должны быть связаны с классом «Склад» для того чтобы иметь возможность исполнять свои должностные обязанности (Рис. 21.).

Рисунок 21: Связь склада с персоналом.

В свою очередь класс «Склад» помимо связей с работниками склада должен иметь связи с «Поставщиками» которые будут поставлять товар на склад, с «Информационной системой» в базы банных которой будет заносится информация о наличии товаров на складе и с классом «Товар» который хранится на самом складе. Товар необходимо соединить со складом отношением «Агрегации» по скольку тот товар который учавствует в торговле является частью всего товара который есть в наличии в магазине и на складе, остальные связи выражены отношением ассоциации (Рис. 22).

Рисунок 22: Связи класса "Склад"

Класс «Информационная система» должен иметь связи с классом «Склад» для того чтобы получать информацию о наличии товаров, с «техническим специалистом» который обслуживает информационную систему, с «сайтом» для предоставления информации сайту о наличии товаров, с классом «Заказ» в соответствии с которым информационная система будет списывать заказанный товар из наличия, с «курьером» которому информационная система будет отдавать заказ для исполнения. «Сайт» также должен иметь связи с классом «Заказ» поскольку именно с сайта заказ производится, причем сайт будет связан с информационной системой отношением «Агрегация» по скольку представляет базы данных информационной системы для пользователей сети интернет. В свете выше сказанного для сайта было бы целесообразно использовать шаблон проектирования «Фасад» что в полной мере передает цель сайта — представить информационную систему в удобном для пользователей виде. Связи информационной системы на рисунке 23.

Рисунок 23: Связи класса "Информационная система"

Также супермаркет будет иметь связь с банком для осуществления предоставляемых банком услуг и функций выполняемых банком по налогообложению (Рис. 24)

Рисунок 24: Связь банка с супермаркетом

Покупатели будут иметь прямую связь с магазином где они смогут купить товар, а также с сайтом где они смогут приобрести товар «онлайн» (Рис. 25).

Рисунок 25: Связь покупателей с магазином.

Описав все связи между ключевыми элементами диаграммы мы можем построить диаграмму классов для всего супермаркета в целом (Рис. 26).

Рисунок 26: Диаграмма классов для супермаркета

Созданная диаграмма классов достаточно детально отображает наиболее важных участников процесса работы супермаркета, а также связи и отношения между ними в процессе работы. Понятно, что предложенная схема связей не может отобразить все возможные случаи при которых различным элементам диаграммы понадобится связаться с другим элементом связь с которым изначально не предусмотрена, однако для соблюдения принципа инкапсуляции [2] необходимо предоставлять элементам только ту информацию о которой им необходима информация для работы, поэтому схема изображена для наиболее общего случая.

Заключение

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

Библиография

  1. Закон РФ от 07.02.1992 N 2300-1 (ред. от 18.03.2019) "О защите прав потребителей"
  2. Грэхем И. «Объектно-ориентированные методы. Принципы и практика.» Издательский дом «Вильямс», 2004г.

Приложение.

Использованные источники 

Сайт https://online.visual-paradigm.com с помощью которого была выполнена курсовая работа.