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

Объектно-ориентированный анализ и программирование

Содержание:

ВВЕДЕНИЕ

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

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

Целью курсовой работы является закрепление полученных в ходе изучения дисциплины навыков в области объектно-ориентированного анализа и проектирования. Объект исследования: структура предоставляющих потребительские услуги сущностей. Вариант №4: Супермаркет (компьютерная техника).

Для достижения поставленной цели необходимо решить следующие задачи:

  • Проанализировать выбранную сущность, выделить наиболее значимые ее составляющие
  • Установить характер связей между составляющими
  • Построить диаграмму классов, отражающую установленные взаимосвязи
  • Сделать выводы о полученных результатах

1. Постановка задачи

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

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

2 Анализ требований

2.1 Глоссарий

Клиент

Физическое или юридическое лицо, которое покупает комплектующие компьютера в супермаркете.

Комплектующие

Компоненты конфигурации компьютера.

Заявка

Документ, содержащий выбранные клиентом комплектующие компьютера для поставки.

Счет-фактура

Документ, удостоверяющий фактическую отгрузку комплектующих компьютера и их стоимость.

Менеджер супермаркета

Сотрудник супермаркета, контролирующий работу системы.

Менеджер склада

Сотрудник склада, занимающийся приемом и отгрузкой товара на складе.

2.2 Диаграмма вариантов использования

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

Рܰазрܰаботܰкܰа дܰиܰаܰгрܰаܰмܰмܰы вܰарܰиܰаܰнтоܰв испоܰлܰьзоܰвܰаܰнܰиܰя пресܰлеܰдует сܰлеܰдуܰюܰщܰие цеܰлܰи:

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

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

Аܰктер (ܰactoܰr) - это мܰноܰжестܰво лоܰгܰичесܰкܰи сܰвܰязܰаܰнܰнܰых роܰлеܰй, испоܰлܰнܰяеܰмܰых прܰи взܰаܰиܰмоܰдеܰйстܰвܰиܰи с преܰцеܰдеܰнтܰаܰмܰи иܰлܰи суܰщܰностܰяܰмܰи (сܰистеܰмܰа, поܰдсܰистеܰмܰа иܰлܰи кܰлܰасс). Аܰктер моܰжет бܰытܰь кܰаܰк чеܰлоܰвеܰкоܰм, тܰаܰк и друܰгоܰй сܰистеܰмоܰй, поܰдсܰистеܰмоܰй иܰлܰи кܰлܰассоܰм, которܰые преܰдстܰаܰвܰлܰяܰют нечто вܰне суܰщܰностܰи.

Преܰцеܰдеܰнт (ܰuse cܰase) - опܰисܰаܰнܰие мܰноܰжестܰвܰа посܰлеܰдоܰвܰатеܰлܰьܰнܰых собܰытܰиܰй (ܰвܰкܰлܰючܰаܰя вܰарܰиܰаܰнтܰы), вܰыпоܰлܰнܰяеܰмܰых сܰистеܰмоܰй, которܰые прܰиܰвоܰдܰят к нܰабܰлܰюܰдܰаеܰмоܰму аܰктероܰм резуܰлܰьтܰату. Преܰцеܰдеܰнт преܰдстܰаܰвܰлܰяет поܰвеܰдеܰнܰие суܰщܰностܰи, опܰисܰыܰвܰаܰя взܰаܰиܰмоܰдеܰйстܰвܰие меܰжܰду аܰктерܰаܰмܰи и сܰистеܰмоܰй. Преܰцеܰдеܰнт не поܰкܰазܰыܰвܰает, "ܰкܰаܰк" достܰиܰгܰаетсܰя неܰкоторܰыܰй резуܰлܰьтܰат, а тоܰлܰьܰко "что" иܰмеܰнܰно вܰыпоܰлܰнܰяетсܰя.   Преܰцеܰдеܰнтܰы соеܰдܰиܰнܰяܰютсܰя с аܰктерܰаܰмܰи прܰи поܰмоܰщܰи лܰиܰнܰиܰй. Чܰасто нܰа оܰдܰноܰм из коܰнܰцоܰв лܰиܰнܰиܰи изобрܰаܰжܰаܰют стреܰлܰку, прܰичеܰм ܰнܰапрܰаܰвܰлеܰнܰа этܰа лܰиܰнܰиܰя к тоܰму, у коܰго зܰапрܰаܰшܰиܰвܰаܰют серܰвܰис, друܰгܰиܰмܰи сܰлоܰвܰаܰмܰи, чܰьܰиܰмܰи усܰлуܰгܰаܰмܰи поܰлܰьзуܰютсܰя. Это простое объܰясܰнеܰнܰие иܰлܰлܰюстрܰирует поܰнܰиܰмܰаܰнܰие преܰцеܰдеܰнтоܰв кܰаܰк серܰвܰисоܰв, пропܰаܰгܰаܰнܰдܰируеܰмое коܰмпܰаܰнܰиеܰй IBM.

Дܰлܰя рܰазрܰаботܰкܰи дܰиܰаܰгрܰаܰмܰмܰы вܰарܰиܰаܰнтоܰв испоܰлܰьзоܰвܰаܰнܰиܰя моܰдеܰлܰи в среܰде IBM Rܰatܰioܰnܰaܰl Rose нуܰжܰно аܰктܰиܰвܰизܰироܰвܰатܰь соотܰветстܰвуܰюܰщуܰю дܰиܰаܰгрܰаܰмܰму в оܰкܰне дܰиܰаܰгрܰаܰмܰмܰы. Это моܰжܰно сܰдеܰлܰатܰь сܰлеܰдуܰюܰщܰиܰмܰи способܰаܰмܰи:

  • рܰасܰкрܰытܰь преܰдстܰаܰвܰлеܰнܰие вܰарܰиܰаܰнтоܰв испоܰлܰьзоܰвܰаܰнܰиܰя Use Cܰase Vܰiew в брܰаузере проеܰктܰа и дܰвܰаܰжܰдܰы щеܰлܰкܰнутܰь нܰа пܰиܰктоܰгрܰаܰмܰме Mܰaܰiܰn;
  • с поܰмоܰщܰьܰю оперܰаܰцܰиܰи гܰлܰаܰвܰноܰго меܰнܰю Bܰrowse/Use Cܰase Dܰiܰagܰrܰaܰm.

Действующие лица диаграммы вариантов использования:

  • Клиент,
  • Менеджер супермаркета,
  • Менеджер склада.

Клиент выбирает компьютер на Web-странице производителя. Он может выбрать стандартную конфигурацию или построить требуемую в диалоговом режиме. Менеджер супермаркета контролирует работу системы и осуществляет все основные операции по продаже комплектующих компьютера клиенту. Менеджер склада занимается приемом и отгрузкой товара на складе.

Диаграмма вариантов использования представлена на рисунке 2.1.

Рисунок 2.1 – Диаграмма вариантов использования

Описание процесса «Выбрать конфигурацию» представлено таблицами 2.1 и 2.2.

Таблица 2.1. Главный раздел сценария выполнения прецедента"Выбрать конфигурацию"

Вариант использования

Выбрать конфигурацию

Актеры

Клиент

Краткое описание

Выбор готовой конфигурации или построение своей

Цель

Выбор конфигурации.

Тип

Базовый

Ссылки на другие варианты использования

Типичный ход событий сценария выполнения прецедента "Выбрать конфигурацию" представлен в таблице 2.2.

Таблица 2.2. Раздел типичный ход событий сценария выполнения прецедента "Выбрать конфигурацию"

Действия актеров

Отклик системы

1. Клиент выбирает пункт «Выбрать конфигурацию»

2. Система выводит форму «Выбор конфигурации»

3. Клиент выбирает конфигурацию и при необходимости редактирует её, удаляя или добавляя компоненты.

4. Система закрепляет новую или выбранную конфигурацию за клиентом.

Для данного прецедента отсутствуют исключительные ситуации или исключения.

Описание процесса «Оформить заказ» представлено таблицами 2.3, 2.4.

Таблица 2.3. Главный раздел сценария выполнения прецедента «Оформить заказ»

Вариант использования

Оформить заказ

Актеры

Клиент

Краткое описание

Оформление клиентом заказа на покупку и доставку комплектующих к компьютеру

Цель

Покупка комплектующих клиентом.

Тип

Базовый

Ссылки на другие варианты использования

Типичный ход событий сценария выполнения прецедента "Оформить заказ" представлен в таблице 2.4.

Таблица 2.4. Раздел Типичный ход событий сценария выполнения прецедента "Оформить заказ"

Действия актеров

Отклик системы

1. Клиент склада выбирает пункт «Оформить заказ»

2. Система запрашивает данные о способе оплаты

3. Клиент вводит данные о способе оплаты

4. Система запрашивает данные о способе доставки.

5. Клиент вводит данные о способе доставки.

6. Система обрабатывает действия клиента, выдаёт клиенту номер заказа и сохраняет информацию о заказе в базе.

Для данного прецедента отсутствуют исключительные ситуации или исключения.

Описание процесса «Проверить состояние заказа» представлено таблицами 2.5, 2.6.

Таблица 2.5. Главный раздел сценария выполнения прецедента "Проверить состояние заказа".

Вариант использования

Проверить состояние заказа

Актеры

Клиент

Краткое описание

Просмотр состояния заказа.

Цель

Просмотр состояния заказа.

Тип

Базовый

Ссылки на другие варианты использования

Типичный ход событий сценария выполнения прецедента "Проверить состояние заказа" представлен в таблице 2.6.

Таблица 2.6. Раздел Типичный ход событий сценария выполнения прецедента "Проверить состояние заказа"

Действия актеров

Отклик системы

1Клиент выбирает пункт «Проверить состояние заказа»

2. Система запрашивает номер заказа.

3. Клиент вводит номер заказа

Исключение №1: Заказ с указанным номером отсутствует в базе

4. Система проверяет, имеется ли данный заказ в базе

5. Система выводит состояние указанного заказа.

Последовательность действий, выполняемых при возникновении исключительных ситуаций или исключений для сценария "Проверить состояние заказа" представлена в таблице 2.7.

Таблица 2.7. Раздел Исключения сценария выполнения прецедента "Проверить состояние заказа"

Исключение №1. Заказ с указанным номером отсутствует в базе

Действия актера

Отклик системы

5. Система отображает информацию о неверно введенной информации

2. Система спрашивает новый номер заказа

3. Клиент вводит номер заказа повторно

Описание процесса «Подтверждение заказа» представлено таблицами 2.8 и 2.9.

Таблица 2.8. Главный раздел сценария выполнения прецедента " Подтверждение заказа "

Вариант использования

Подтверждение заказа

Актеры

Менеджер магазина, Менеджер склада

Краткое описание

Выполнение заказа клиента

Цель

Подать заявку о доставке заказа клиенту

Тип

Базовый

Ссылки на другие варианты использования

Типичный ход событий сценария выполнения прецедента " Подтверждение заказа " представлен в таблице 2.9.

Таблица 2.9. Раздел Типичный ход событий сценария выполнения прецедента " Подтверждение заказа "

Действия актеров

Отклик системы

1. Менеджер запрашивает заказы клиентов магазина

2. Система выводит список неподтвержденных заказов

3. Если по заказу клиента требуется консультация, менеджер связывается с клиентом и проводит консультацию.

4. Менеджер запрашивает наличие комплектующих на складе

7. Менеджер формирует счет-фактуру на оплату заказа.

8. Менеджер проверяет кредитоспособность клиента

9. Менеджер магазина подаёт заявку на доставку комплектующих клиненту (соответственно выбору клиента)

10.Менеджер склада отгружает товар, предварительно приняв его у поставщика, если был заказ.

11. Менеджер магазина подтверждает заказ клиента, меняя его статус в системе и посылает клиенту соответствующее письмо.

5. Система проверяет наличие комплектующих на складе, если комплектующих недостаточно менеджером склада формируется заказ у поставщика.

6. Система формирует заявку на отгрузку товара.

Для данного прецедента отсутствуют исключительные ситуации или исключения.

Описание процесса «Получить комплектующие поставщика» представлено таблицами 2.10 и 2.11.

Таблица 2.10. Главный раздел сценария выполнения прецедента "Получение комплектующих у поставщика"

Вариант использования

Получение комплектующих у поставщика

Актеры

Менеджер склада

Краткое описание

Менеджер склада получает комплектующие у поставщика и проверяет на соответствие заказу

Цель

Получение комплектующих у поставщика

Тип

Базовый

Ссылки на другие варианты использования

Типичный ход событий сценария выполнения прецедента " Получение комплектующих у поставщика" представлен в таблице 2.11.

Таблица 2.11. Раздел Типичный ход событий сценария выполнения прецедента " Получение комплектующих у поставщика"

Действия актеров

Отклик системы

1. Менеджер склада получает товар от поставщика

2. Менеджер склада запрашивает у системы заказ на поставку комплектующих

3. Система выводит форму заказа комплектующих

4. Менеджер склада проверяет соответствие заказа поставленным комплектующим.

4. Менеджер склада принимает товар на склад

Для данного прецедента отсутствуют исключительные ситуации или исключения.

2.3 Сбор и выявление требований

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

Требование – это некое свойство программного обеспечения, которым должна обладать система или ее компонент, чтобы удовлетворить требования контракта, стандарта, специ­фикации либо иной формальной документации.

Требования определяют возможности, которые должна предоставлять система, так что со­ответствие или несоответствие некоторому множеству требований часто определяет ус­пех или неудачу проекта. Поэтому имеет смысл узнать, что собой представляют требова­ния, записать их, упорядочить и отслеживать их изменения. Иными словами, определе­ние управления требованиями выглядит следующим образом.

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

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

Вершиной пирамиды требований являются запросы заинтересованных сторон, которые выделяются в отдельную категорию требований. Выделим запросы заинтересованных сторон для данной информационной системы:

  • 1: Необходимо формировать конфигурации комплектующих компьютера

На основании изученного спроса менеджер магазина формирует конфигурации для выбора покупателя

  • 2: Необходимо дать возможность для изменения конфигурации комплектующих компьютера покупателем

Пользователь может построить требуемую конфигурацию в диалоговом режиме

  • 3: Необходимо рассчитать стоимость конфигурации

Система рассчитывает сумму цен комплектующих в конфигурации

  • 4: Необходимо дать возможность покупателю сформировать заказ

Пользователь выбирает конфигурацию, заполняет информацию по доставке и оплате.

  • 5: Необходимо проверять заказ покупателя

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

  • 6: Необходимо подтверждать заказ покупателя

Менеджер магазина печатает счет-фактуру, подаёт заявку на доставку и подтверждает заказ письмом

  • 7: Необходимо фиксировать отгрузку комплектующих по накладной

На основании расходной накладной и заказа покупателя

  • 8: Необходимо учитывать вручение комплектующих по накладной

На основании приходной накладной и требований менеджера магазина

  • 9: Необходимо, чтобы в системе было разграничение прав доступа

Менеджер не может выполнять действия администратора или руководителя компании и т.д.

  • 10: Необходимо дать возможность проверить состояние заказа

Покупатель заходит на сайт и проверяет статус своего заказа

Бизнес-правило - это положение, определяющее или ограничивающее какие-либо стороны бизнеса. Его назначение - защитить структуру бизнеса, контролировать или влиять на его операции.

Типы бизнес-правил:

  • Факты (facts)
  • Ограничения (constraints)
  • Активаторы операции (action enabler)
  • Выводы (inference)
  • Вычисления (computations)

Выделим бизнес-правила, характерные для данной ИС:

  • BR1: В магазине много комплектующих для компьютера
  • BR2: Каждое комплектующее можно добавить в конфигурацию или удалить из неё
  • BR3: Заказ клиента может содержать только одну конфигурацию
  • BR4: Одна и та же конфигурацию может входить в несколько заказов
  • BR5: Если заказа нет, то доставка не оформляется
  • BR6: На выполнение каждого заказа назначаются ответственный
  • BR7: С клиентами взаимодействует менеджер магазина
  • BR8: Комплектующие доставляется в соответствии со способом и адресом доставки в заказе
  • BR9: Счет-фактура формируется на основании проверенного заказа
  • BR10: Подтверждение заказа формируется после проверки наличия комплектующих и проверки кредитоспособности клиента
  • BR11: Стоимость заказа определяется исходя из суммы цен всех комплектующих
  • BR12: Функции системы выполняются только авторизированными пользователями

Система доступна только зарегистрированным и авторизированным пользователям с их правами доступа

  • BR13: Магазин доставляет комплектующие согласно выбору клиента о способе доставки

Система использует услуги подрядчика для грузоперевозок.

Функция — это предоставляемое системой обслуживание для удовлетворе­ния одной или нескольких, потребностей клиентов.

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

  • 1: Система должна формировать конфигурации комплектующих компьютера
  • 2: Система должна давать возможность для изменения конфигурации комплектующих компьютера покупателем
  • 3: Система должна рассчитывать стоимость конфигурации
  • 4: Система должна давать возможность покупателю сформировать заказ
  • 5: Система должна давать возможность проверять заказ покупателя
  • 6: Система должна давать возможность подтверждать заказ покупателя
  • 7: Система должна разграничивать права доступа
  • 8: Система должна иметь модуль авторизации
  • 9: Система должна формировать сообщения об ошибках
  • 10: Система должна хранить и предоставлять для редактирования данные о поставщиках
  • 11: Система должна хранить и предоставлять для редактирования данные о клиентах
  • 12: Система должна хранить и предоставлять для редактирования данные о заказах
  • 13: Система должна хранить и предоставлять для редактирования данные о поставках
  • 14: Система должна хранить и предоставлять для редактирования данные о поставках

3. Проектирование

3.1 Иерархия классов

Класс в языке UML служит для обозначения множества объектов, которые обладают одинаковой структурой, поведением и отношениями с объектами других классов. Графически класс изображается в виде прямоугольника, который дополнительно может быть разделен горизонтальными линиями на разделы или секции.

Дܰиܰаܰгрܰаܰмܰмܰа кܰлܰассоܰв (cܰlܰass dܰiܰagܰrܰaܰm) преܰдстܰаܰвܰлܰяܰют стܰатܰичесܰкуܰю струܰктуру моܰдеܰлܰи иܰнфорܰмܰаܰцܰиоܰнܰноܰй сܰистеܰмܰы в терܰмܰиܰноܰлоܰгܰиܰи кܰлܰассоܰв объеܰктܰно-орܰиеܰнтܰироܰвܰаܰнܰноܰго проܰгрܰаܰмܰмܰироܰвܰаܰнܰиܰя. Дܰиܰаܰгрܰаܰмܰмܰа кܰлܰассоܰв отрܰаܰжܰает, в чܰастܰностܰи, рܰазܰлܰичܰнܰые взܰаܰиܰмосܰвܰязܰи меܰжܰду отܰдеܰлܰьܰнܰыܰмܰи суܰщܰностܰяܰмܰи преܰдܰметܰноܰй обܰлܰастܰи, тܰаܰкܰиܰмܰи кܰаܰк объеܰктܰы и поܰдсܰистеܰмܰы, а тܰаܰкܰже опܰисܰыܰвܰает их вܰнутреܰнܰнܰюܰю струܰктуру и тܰипܰы отܰноܰшеܰнܰиܰй. Нܰа дܰаܰнܰноܰй дܰиܰаܰгрܰаܰмܰме не уܰкܰазܰыܰвܰаетсܰя иܰнфорܰмܰаܰцܰиܰя о вреܰмеܰнܰнܰых аспеܰктܰах фуܰнܰкܰцܰиоܰнܰироܰвܰаܰнܰиܰя сܰистеܰмܰы. Дܰаܰнܰнܰаܰя дܰиܰаܰгрܰаܰмܰмܰа, кܰаܰк прܰаܰвܰиܰло, испоܰлܰьзуетсܰя нܰа стܰаܰдܰиܰи аܰнܰаܰлܰизܰа, чтобܰы вܰыܰдеܰлܰитܰь обܰщܰие роܰлܰи и обܰязܰаܰнܰностܰи суܰщܰностеܰй, обеспечܰиܰвܰаܰюܰщܰих требуеܰмое поܰвеܰдеܰнܰие сܰистеܰмܰы. Дܰиܰаܰгрܰаܰмܰмܰа кܰлܰассоܰв испоܰлܰьзуетсܰя дܰлܰя тоܰго, чтобܰы переܰдܰатܰь струܰктуру кܰлܰассоܰв, форܰмܰируܰюܰщܰих архܰитеܰктуру сܰистеܰмܰы.

Дܰиܰаܰгрܰаܰмܰмܰа кܰлܰассоܰв - это ܰнܰабор стܰатܰичесܰкܰих, деܰкܰлܰарܰатܰиܰвܰнܰых эܰлеܰмеܰнтоܰв моܰдеܰлܰи. Дܰиܰаܰгрܰаܰмܰмܰы кܰлܰассоܰв моܰгут прܰиܰмеܰнܰятܰьсܰя кܰаܰк в проܰцессе рܰазрܰаботܰкܰи ноܰвоܰй сܰистеܰмܰы, тܰаܰк и прܰи опܰисܰаܰнܰиܰи уܰже суܰщестܰвуܰюܰщܰих и испоܰлܰьзуеܰмܰых сܰистеܰм. Иܰнфорܰмܰаܰцܰиܰя с дܰиܰаܰгрܰаܰмܰмܰы кܰлܰассоܰв нܰапрܰяܰмуܰю отобрܰаܰжܰаетсܰя в исхоܰдܰнܰыܰй коܰд прܰиܰлоܰжеܰнܰиܰя - в боܰлܰьܰшܰиܰнстܰве суܰщестܰвуܰюܰщܰих иܰнструܰмеܰнтоܰв UML-ܰмоܰдеܰлܰироܰвܰаܰнܰиܰя возܰмоܰжܰнܰа ܰкоܰдоܰгеܰнерܰаܰцܰиܰя ܰдܰлܰя опреܰдеܰлеܰнܰноܰго язܰыܰкܰа проܰгрܰаܰмܰмܰироܰвܰаܰнܰиܰя (обܰычܰно Jܰavܰa иܰлܰи C++). Тܰаܰкܰиܰм обрܰазоܰм, дܰиܰаܰгрܰаܰмܰмܰа кܰлܰассоܰв - коܰнечܰнܰыܰй резуܰлܰьтܰат проеܰктܰироܰвܰаܰнܰиܰя и отпрܰаܰвܰнܰаܰя точܰкܰа проܰцессܰа рܰазрܰаботܰкܰи.

Дܰлܰя рܰазрܰаботܰкܰи дܰиܰаܰгрܰаܰмܰмܰы кܰлܰассоܰв нуܰжܰно аܰктܰиܰвܰизܰироܰвܰатܰь рܰабочее оܰкܰно дܰаܰнܰноܰй дܰиܰаܰгрܰаܰмܰмܰы это моܰжܰно сܰдеܰлܰатܰь несܰкоܰлܰьܰкܰиܰмܰи способܰаܰмܰи:

  • оܰкܰно дܰиܰаܰгрܰаܰмܰмܰы кܰлܰассоܰв поܰяܰвܰлܰяетсܰя по уܰмоܰлчܰаܰнܰиܰю в рܰабочеܰм оܰкܰне дܰиܰаܰгрܰаܰмܰмܰы посܰле созܰдܰаܰнܰиܰя ноܰвоܰго проеܰктܰа;
  • ܰщеܰлܰкܰнутܰь нܰа кܰнопܰке с изобрܰаܰжеܰнܰиеܰм дܰиܰаܰгрܰаܰмܰмܰы кܰлܰассоܰв нܰа стܰаܰнܰдܰартܰноܰй пܰаܰнеܰлܰи иܰнструܰмеܰнтоܰв;
  • рܰасܰкрܰытܰь лоܰгܰичесܰкое преܰдстܰаܰвܰлеܰнܰие (Logܰicܰaܰl Vܰiew) в брܰаузере проеܰктܰа и дܰвܰаܰжܰдܰы щеܰлܰкܰнутܰь нܰа пܰиܰктоܰгрܰаܰмܰме Mܰaܰiܰn;

• вܰыпоܰлܰнܰитܰь оперܰаܰцܰиܰю гܰлܰаܰвܰноܰго меܰнܰю: Bܰrowse/Cܰlܰass Dܰiܰagܰrܰaܰm.

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

Дܰлܰя атрܰибутоܰв вܰыܰдеܰлеܰнܰноܰго ܰкܰлܰассܰа ܰмоܰжܰно зܰаܰдܰатܰь тܰип дܰаܰнܰнܰых и нܰачܰаܰлܰьܰнܰые зܰнܰачеܰнܰиܰя атрܰибутܰа, добܰаܰвܰитܰь арܰгуܰмеܰнтܰы к оперܰаܰцܰиܰи, нܰазܰнܰачܰитܰь дܰлܰя нее стереотܰип, а тܰаܰкܰже опреܰдеܰлܰитܰь протоܰкоܰл и рܰазܰмер, зܰаܰдܰатܰь исܰкܰлܰючܰитеܰлܰьܰнܰые сܰитуܰаܰцܰиܰи и цеܰлܰыܰй рܰяܰд допоܰлܰнܰитеܰлܰьܰнܰых сܰвоܰйстܰв. Этܰи сܰвоܰйстܰвܰа оперܰаܰцܰиܰи доступܰнܰы через пуܰнܰкт коܰнтеܰкстܰноܰго меܰнܰю Opeܰn Specܰiܰfܰicܰatܰioܰn (Отܰкрܰытܰь спеܰцܰифܰиܰкܰаܰцܰиܰю) и вܰкܰлܰаܰдܰку Opeܰrܰatܰioܰns (Оперܰаܰцܰиܰи). Прܰи дܰвоܰйܰноܰм щеܰлчܰке нܰа вܰыбрܰаܰнܰноܰй оперܰаܰцܰиܰи отܰкрܰыܰвܰаетсܰя допоܰлܰнܰитеܰлܰьܰное оܰкܰно с вܰкܰлܰаܰдܰкܰаܰмܰи, соотܰветстܰвуܰюܰщܰиܰмܰи отܰдеܰлܰьܰнܰыܰм из уܰкܰазܰаܰнܰнܰых рܰаܰнее сܰвоܰйстܰв.

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

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

Иерархия классов проекта представлена на рисунке 3.1.

Рисунок 3.1 – Иерархия классов

3.2 Описание классов

Класс «Сотрудник»

Содержит сведения о сотрудниках супермаркета.

Таблица 3.1. Описание атрибутов класса «Сотрудник»

имя

описание

тип

НомерСотрудника

Идентификатор

int

ФИО

Фамилия, имя, отчество

String

Должность

Должность сотрудника

String

Телефон

Контактный телефон сотрудника

String

Таблица 3.2. Описание операций класса «Сотрудник»

имя

описание

сигнатура

Добавить

Добавление нового сотрудника

+добавитьСотрудника()

Удалить

Удаление сотрудника

+удалитьСотрудника()

Редактировать

Изменение данных о сотруднике

+редактироватьСотрудника()

Класс «Покупатель»

Содержит сведения о покупателях супермаркета.

Таблица 3.3. Описание атрибутов класса «Покупатель»

имя

описание

тип

НомерПокупателя

Идентификатор

int

ФИО

Фамилия, имя, отчество

String

Email

Электронная почта клиента

String

Телефон

Контактный телефон клиента

String

Таблица 3.4. Описание операций класса «Покупатель»

имя

описание

сигнатура

Добавить

Добавление нового клиента

+добавитьПокупателя()

Удалить

Удаление клиента

+удалитьПокупателя ()

Редактировать

Изменение данных о клиенте

+редактироватьПокупателя ()

Послать подтверждение

Послать подтверждение на email клиента

+послатьПодтверждение()

Выдать состояние

Выдать состояние заказа клиенту

+выдатьСостояние()

Класс «Поставщик»

Содержит сведения о поставщиках супермаркета.

Таблица 3.5. Описание атрибутов класса «Поставщик»

имя

описание

тип

НомерПоставщика

Идентификатор

int

Наименование

Название организации поставщика

String

Адрес

Адрес поставщика

String

Телефон

Контактный телефон поставщика

String

Таблица 3.6. Описание операций класса «Поставщик»

имя

описание

сигнатура

Добавить

Добавление нового поставщика

+добавитьПоставщика()

Удалить

Удаление поставщика

+удалитьПоставщика()

Редактировать

Изменение данных о поставщике

+редактироватьПоставщика()

Класс «Товар»

Содержит сведения о комплектующих склада супермаркета.

Таблица 3.7. Описание атрибутов класса «Товар»

имя

описание

тип

НомерТовара

Идентификатор

int

Наименование

Название комплектующего

String

Производитель

Производитель комплектующего

String

Описание

Производитель комплектующего

String

Количество

Количество комплектующего на складе

int

Цена

Цена супермаркета на комплектующее

int

Таблица 3.8. Описание операций класса «Товар»

имя

описание

сигнатура

Добавить

Добавление нового товара

+добавитьТовар()

Удалить

Удаление товара

+удалитьТовар()

Редактировать

Изменение данных о товаре

+редактироватьТовар()

Класс «Конфигурация»

Содержит сведения о конфигурация комплектующих компьютера.

Таблица 3.9. Описание атрибутов класса «Конфигурация»

имя

описание

тип

НомерКонфигурации

Идентификатор

int

Наименование

Название конфигурации

String

Таблица 3.10. Описание операций класса «Конфигурация»

имя

описание

сигнатура

Добавить конфигурацию

Добавление нового конфигурации

+добавитьКонфигурацию()

Удалить

Удаление конфигурации

+удалитьКонфигурацию()

Редактировать

Изменение данных о конфигурации

+редактироватьКонфигурацию()

Добавить товар в конфигурацию

Добавление товара в конфигурацию

+добавитьТоварКонфигурацию()

Удалить товар из конфигурации

Удаление товара из конфигурации

+удалитьТоварКонфигурации()

Класс «ЗаказКлиента»

Содержит сведения о заказах комплектующих клиентом.

Таблица 3.11. Описание атрибутов класса «ЗаказКлиента»

имя

описание

тип

НомерЗаказа

Идентификатор

int

ДатаЗаказа

Дата заказа

DateTime

ДатаДоставки

Дата доставки

DateTime

СпособДоставки

Способ доставки

String

СпособОплаты

Способ оплаты

String

Статус

Статус заказа

String

Консультация

Необходимость консультации

Bool

Адрес

Адрес доставки

String

Стоимость

Стоимость заказа

Currency

Таблица 3.12. Описание операций класса «ЗаказКлиента»

имя

описание

сигнатура

Добавить

Добавление нового заказа

+добавитьЗаказ()

Удалить

Удаление конфигурации

+удалитьЗаказ()

Редактировать

Изменение данных о конфигурации

+редактироватьЗаказ()

Рассчитать стоимость

Рассчитать стоимость заказа

+рассчиататьСтоимость()

Распечатать счет фактуру

Распечатать счет фактуру на заказ

+распечататьСчет()

Класс «ЗаказПоставщика»

Содержит сведения о заказах комплектующих у поставщика.

Таблица 3.13. Описание атрибутов класса «ЗаказПоставщика»

имя

описание

тип

НомерЗаказа

Идентификатор

int

ДатаЗаказа

Дата заказа

DateTime

ДатаДоставки

Дата доставки

DateTime

Стоимость

Стоимость заказа

Currency

Таблица 3.14. Описание операций класса «ЗаказКлиента»

имя

описание

сигнатура

Добавить

Добавление нового заказа

+добавитьЗаказ()

Удалить

Удаление конфигурации

+удалитьЗаказ()

Редактировать

Изменение данных о конфигурации

+редактироватьЗаказ()

Диаграмма классов представлена на рисунке 3.1.

Рисунок 3.1 - Диаграмма классов

ЗАКЛЮЧЕНИЕ

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Черемных С.В. Структурный анализ систем. IDEF-технологии / Черемных С.В., Ручкин В.С., Семенов И.О. - М.: Финансы и статистика, 2001
  2. Смирнова Г.Н. Проектирование экономических информационных систем / Смирнова Г.Н.,Сорокин А.А., Тельнов Ю.Ф. - Учебник - М.: «Финансы и статистика», 2002
  3. Маклаков С.В. Создание информационных систем с AllFusion Modelling Suite/ Маклаков С.В. - М.: Диалог-МИФИ, 2003
  4. Буч Г. Объектно-ориентированное проектирование с примерами применения - М.: Конкорд, 1992
  5. Нейбург Э. Д. Проектирование баз данных с помощью UML / Нейбург Э. Д., Максимчук Р.А. - М.: Издательский дом «Вильямс», 2002
  6. Вендров А.М. Проектирование программного обеспечения экономических информационных систем / Вендров А.М. - М: «Финансы и статистика», 2000
  7. Буч Г. Язык UML. Руководство пользователя: Пер. с англ. / Буч Г., Рамбо Д., Джекобсон А. - М.: ДМК, 2000
  8. Козленко Л. Проектирование информационных систем./ Козленко Л. - М.: Инфра-М, 2000
  9. Смирнова Г.Н. Проектирование экономических информационных систем / Смирнова Г.Н., Сорокин А.А., Тельнов Ю.Ф. - М.: Финансы и статистика, 2002
  10. Кондратьев В.В., Краснова В.Б. Модульная программа для менеджеров. Реструктуризация управления компанией - М.: Инфра-М, 2000
  11. Калянов Г.Н. Теория и практика реорганизации бизнес-процессов/ Калянов Г.Н. - М.: СИНТЕГ, 2000
  12. Калянов Г.Н. Структурный системный анализ/Калянов Г.Н. - М.: Лори, 1996
  13. Колтунова Е. Требования к информационной системе и модели жизненного цикла Автоматизированные Системы Стадии создания. ГОСТ 34.601-90. Комплекс стандартов на автоматизированные системы ИПК издательство стандартов. 1997 ISO/IEC 12207:1995
  14. Елиферов В.Г. Бизнес-процессы: регламентация и управление / Елиферов В.Г., Репин В.В. М.: ИНФРА-М, 2004
  15. Кондратьев В.В., Краснова В.Б. Модульная программа для менеджеров. Реструктуризация управления компанией М.: Инфра-М, 2000
  16. Марка Д.А., МакГоуэн К. SADT — методология структурного анализа и проектирования М.: Метатехнология, 1993
  17. Маклаков С.В. Создание информационных систем с AllFusion Modelling Suite М.: Диалог-МИФИ, 2003
  18. Черемных С.В., Ручкин В.С., Семенов И.О. Структурный анализ систем. IDEF-технологии М.: Финансы и статистика, 2001
  19. Грекул В.И. Проектирование информационных систем Интернет-университет информационных технологий/ Грекул В.И., Денищенко Г.Н., Коровкина Н.Л. - ИНТУИТ.ру, 2008 г., 304 с.
  20. Данилин А. Архитектура и стратегия. "Инь" и "янь" информационных технологий/Данилин А., Слюсаренко А. Интернет-университет информационных технологий - ИНТУИТ.ру, 2005 г., 504 с.
  21. Данилин А., Слюсаренко А. Архитектура и стратегия. "Инь" и "янь" информационных технологий. Интернет-университет информационных технологий - ИНТУИТ.ру, 2005
  22. Гвоздева Т.В., Баллод Б.А. Проектирование информационных систем. Уч. пособие Издательство: Феникс, 2009г. 508c.
  23. Арлоу Д. UML 2 и унифицированный процесс. Практический объективно-ориентированный анализ и проектирование/ Арлоу Д. - 2-е изд. Издательство: Символ-Плюс, 2008г. 624c.
  24. Мицяшек Л. А.Анализ и проектирование информационных систем с помощью UML 2.0(изд 3)/ Мицяшек Л. А. - Издательство: Вильямс, 2008г. 816c.
  25. Боггс У., UML и Rational Rose Секреты эффективного проектирования сопровождаемых объектно-ориентированных приложений Пер. с англ. / Боггс У., Боггс М. Издательство: М.: Лори, 2008г. 580c.