Автор работы: Пользователь скрыл имя, 04 Октября 2013 в 18:54, курсовая работа
В данном курсовом проекте рассматривается процесс проектирования подобной системы. Нужно отметить, что проект не несет целей разработки каких-либо новых технических и программных решений, и основывается на общепризнанных технологиях, принятых в данной предметной области. Проект направлен, прежде всего, на расширение, углубление и систематизацию теоретических знаний и практических навыков разработчика, приобретенных в процессе изучения дисциплины «Проектирование информационных систем» и предшествующего обучения.
Введение 2
1 Разработка и анализ технического задания 3
1.1 Описание предметной области 3
1.2 Разработка технического задания 4
1.2.1 Наименование и область применения информационной системы 4
1.2.2 Основание для разработки 4
1.2.3 Цель и назначение разработки 4
1.2.4 Требования к информационной системе 4
1.3 Анализ технического задания 7
1.4. Выбор средств решения выполнения технического задания 8
2 Разработка модели процессов объекта профессиональной деятельности 10
2.1 Построение модели прецедентов 10
2.2 Построение модели процессов 14
3 Разработка модели данных объекта профессиональной деятельности 17
4 Связь модели данных с моделью процессов 22
5 Расчеты и оценки 26
5.1 Расчет требуемых ресурсов вычислительных средств 26
5.2 Расчет по функционально-ориентированной метрике 27
Заключение 28
Библиографический список 29
2 Разработка модели процессов объекта профессиональной деятельности
2.1 Построение модели прецедентов
Требования, предъявляемые к
Рисунок 2.1 – Диаграмма прецедентов использования системы
Наиболее подробное описание сценариев приведем для прецедента «Оформить выдачу товара», сценарии к другим прецедентам, относящимся к основным процессам работы прокатного пункта, опишем в более краткой форме.
2.1.1 Прецедент «Оформить выдачу товара»
Основной исполнитель: оператор.
Заинтересованные лица и их требования:
Предусловия: оператор идентифицирован и аутентифицирован.
Результаты (постусловия): данные о сделке сохранены. Процент от сделки начислен оператору. Акт подтверждения сгенерирован и заверен обеими сторонами. Бухгалтерская и складская информация обновлена. Налоги начислены.
Основной (успешный) сценарий:
1. Оператор узнает у клиента и вводит в систему наименование желаемого товара.
2. Система выводит список всех
единиц данного наименования
товара с указанием описания
товара, стоимости за каждый день
проката, места расположения
3. Оператор предлагает клиенту выбрать конкретную единицу товара.
4. Оператор регистрирует клиента в системе.
5. Оператор уточняет у клиента и вводит в систему срок проката на выбранную единицу товара.
6.
Система вычисляет стоимость
услуг по прокату единицы
7. Клиент оплачивает услуги проката.
8. Система устанавливает метку, что данный товар находится в прокате.
9. Система генерирует договор
о предоставлении услуг
10. Договор подписывается
11. Клиент покидает пункт проката с данным товаром и договором.
Альтернативные потоки:
2а. Все единицы данного
Система выводит ожидаемые сроки возврата для каждой единицы товара.
Оператор сообщает информацию о сроках возврата клиенту.
4а. Клиент уже
Оператор вводит идентификатор клиента в систему.
2.1.2 Прецедент «Оформить возврат товара»
Основной сценарий:
1. Клиент подходит с товаром и договором к оператору.
2. Оператор вводит в систему идентификатор клиента.
3. Система выводит список
4.Оператор выбирает из списка возвращаемый товар.
5. Оператор забирает и проверяет товар.
6. Система снимает с товара
метку «Находится в прокате»
и генерирует чек,
7. Клиент покидает пункт проката с чеком.
Альтернативные потоки:
3а. Срок возврата товара
1. Система вычисляет пени за просрочку по определенным правилам.
2. Клиент выплачивает пени.
3. Система генерирует чек, подтверждающий возврат товара и оплату пени.
5а. Клиент желает продлить срок действия проката.
1. Оператор вводит новый срок возврата.
2. Система по определенным правилам рассчитывает стоимость услуг и генерирует новый договор.
3. Клиент оплачивает услуги, подписывает
договор и покидает пункт
5б.
Возвращаемый товар имеет
1. Специалист оценивает
2. Клиент выплачивает штраф.
3. Система генерирует чек,
2.1.3 Прецедент «Добавить новый товар»
Основной сценарий:
1. Заведующий складом входит в систему под своим паролем и вызывает меню на ввод нового товара.
2. Система предлагает ввести параметры товара (наименование, стоимость и т.п.).
3.
Заведующий складом вводит
4.
Система присваивает товару
2.1.4 Прецедент «Удалить товар»
Основной сценарий:
1. Заведующий складом входит в систему под своим паролем и вызывает меню на удаление товара из каталога.
2.
Система предлагает выбрать
3.
Администратор указывает
4. Система удаляет выбранный товар из каталога.
2.2 Построение модели процессов
На основе модели прецедентов построим модель процессов в методологии IDEF0. Модель IDEF0 представляет собой совокупность работ, преобразующих входы в выходы с использованием механизмов и управления. Модели процессов помогают понять особенности функционирования системы и взаимодействия с внешней средой. Для определения контекста модели процессов необходимо задать область моделирования, цель моделирования и точку зрения. Приведем пример построения модели IDEF0 для процесса предоставления товара клиенту, впервые обратившемуся в прокатный пункт, в аренду (прокат), т.к. этот процесс является основным при работе пункта проката.
Область моделирования. В качестве системы будем рассматривать программу по учету сделок пункта проката. К внешней среде отнесем клиента и оператора. Оператор взаимодействует с системой посредством пользовательского интерфейса. При моделировании процессов интерес будут представлять отклики системы на действия оператора при оформлении сделки на предоставление товара в прокат. При этом нас не будут интересовать процессы, которые не связаны с оператором или клиентом, а используются только самой системой (передача данных, обращения к базе данных и т.п.)
Цель моделирования. Дать четкое и однозначное понимание процесса функционирования системы при выдаче товара в прокат. Наиболее полно определить назначение каждой работы, производимой системой. Спроектировать оптимальный сценарий выдачи товара клиенту на основе требований заинтересованных сторон.
Точка зрения. Модель строится с точки зрения разработчика данной системы.
Поскольку
диаграммы процессов и так
объясняют особенности
Основная работа, производимая системой – Оформление заказа. На вход системы поступают информация о заказах, запрос товара, информация об оплатах и список клиентов пункта. Все эти элементы будут преобразованы или использованы данной работой в качестве «исходного материала». Поскольку, в данном случае предполагается, что клиент впервые обращается в прокатный пункт и необходима его регистрация, то Список клиентов пункта поступает на вход системы, т.к. будет в дальнейшем преобразован в ходе выполнения работы Оформление заказа: в список добавляется новый клиент. (В случае повторного обращения клиента данный элемент на диаграмме можно было бы вынести в управление, т.к. регистрация клиента происходит один раз, а в дальнейшем требуется только найти его в списке).
На контекстной диаграмме Запро
Диаграмма декомпозиции состоит из 3 блоков, ее вид показан в приложении А.
Последовательность работ
Перед выбором клиентом товара система генерирует каталог «свободных» товаров, т.е. находящихся в настоящий момент на складе в состоянии готовности к выдаче. На вход работы Выдача каталога товаров поступает запрос товара клиентом. Из всего списка товаров под управлением информации о товарах формируется набор «свободных» товаров выбранного наименования.
После выбора желаемого товара клиент должен зарегистрироваться в системе. Регистрация необходима для учета выданных товаров и для выяснения личности клиента в случае не возврата или порчи товара. В качестве информации о клиенте могут выступать, например, паспортные данные.
Выходы работ Выбор товара и Регистрация клиента связаны с управлением работы Регистрация сделки, при выполнении которой сделка считается оформленной.
3 Разработка модели данных объекта профессиональной деятельности
Модель данных проектируемой системы разрабатывается с учетом предъявляемых к ней функциональных требований. База данных системы состоит из следующих сущностей: Клиент, СтатусКлиента, Сотрудник, Должность, Товар, НаименованиеТовара, Поставщик, Заказ, Пеня, Штраф, Оплата, ВидОплаты, КредитКарта, Безналичный. Рассмотрим основные сущности системы подробнее.
Система должна обеспечивать регистрацию клиентов. Для этого создана таблица Клиент, в которой указывается необходимая для регистрации информация (Фамилия, Имя, Отчество, Адрес, Телефон, Документ, НомерДокумента). Кроме того, в данную таблицу внесено поле, обозначающее статус клиента. Каждый клиент может иметь статус постоянного клиента, новичка, оптовика, штрафника или грубого нарушителя. Клиенту, имеющему статус штрафника, например, запрещается брать товары в прокат в течение определенного времени, а грубому нарушителю, вообще, будет отказано в обслуживании. С другой стороны постоянным клиентам или оптовикам (заказывающим одновременно много товаров) могут быть предусмотрены определенные скидки. Информация о наименовании статуса, размерах скидки хранится в отдельной таблице СтатусКлиента, связанной неидентифицирующей связью с таблицей Клиент.
Система должна обеспечивать учет сотрудников компании для начисления зарплаты, комиссионных от сделки и т.п. Информация о сотрудниках хранится в отдельной таблице Сотрудник и связанной с ней таблице-словаре Должность. Для каждого сотрудника предусмотрен определенный комиссионный процент, находящийся в одноименном поле таблицы Сотрудник. Оклад назначается в соответствии с занимаемой должностью (таблица Должность).
Учет товаров, имеющихся в прокатном пункте, ведется в связанных таблицах Товар и НаименованиеТовара. В таблице Товар указывается модель товара и код наименования товара, к которому он принадлежит (например, товар телевизор Sony 5340FT принадлежит к наименованию Телевизор), отражаются основные сведения о приобретенном товаре (КодПоставщика, ДатаПоступления, Цена) и стоимость услуги проката конкретной единицы данного товара.
В проектируемой базе данных можно создать сущность КопииТоваров и связать ее идентифицирующей связью с сущностью Товар (рисунок 3.1).
Рисунок 3.1
Сущность КопииТоваров использовалась бы для идентификации конкретной единицы однотипного товара. Например, при приобретении 10 одинаковых чайников нет смысла хранить 10 одинаковых записей о поставщике, цене, дате приобретения, стоимости проката и т.п. С другой стороны, для клиента прокатного пункта представляет интерес конкретная единица (копия) чайника, поэтому необходимо ее идентифицировать. Когда атрибут КодТовара мигрирует в сущность КопииТоваров, то каждый экземпляр КопииТоваров зависит и от атрибута КодТовара и от атрибута НомерКопии, которые уникальным образом его определяют (ни один из этих двух атрибутов не может сам по себе уникальным образом определить конкретную копию товара).
Однако введение дополнительной таблицы приведет к необходимости написания сложных запросов при формировании каталога товаров и снижению производительности системы (увеличению времени формирования каталога «свободных» товаров). Кроме того, вряд ли в прокатном пункте будет много копий товаров (приобретаемых в одно и то же время, у одного и того же поставщика по одной и той же цене), поэтому создание отдельной таблицы КопииТоваров, скорее всего, не будет оправдано. Исходя из вышесказанного, проведем денормализацию: объединим таблицы Товар и КопииТоваров.
Прокатному пункту необходимо пополнять набор товаров, поэтому целесообразно вести учет о поставщиках. В сущности Товар имеется поле КодПоставщика, указывающее продавца конкретного товара. Необходимая информация о поставщиках хранится в отдельной таблице Поставщик, связанной с таблицей Товар связью «один-ко-многим» (у одного продавца может быть куплено много товаров). В таблице Поставщик хранятся координаты продавцов.