Автор работы: Пользователь скрыл имя, 09 Мая 2012 в 19:02, курсовая работа
Объектно-ориентированный подход в современном информационном мире получил широкое распространение, и по праву считается одним из основных. Такое положение вещей обусловлено его значительными преимуществами по сравнению с другими методиками, особенно в области сложных информационных систем. Более того, объектно-ориентированный подход позволяет оперировать привычными с точки зрения человека сущностями и легко организовывать их взаимодействие. Основой подхода является понятие объекта - сущности отражающей реальный либо воображаемый физический объект, процесс, интерфейс и т.п, при этом каждый объект может иметь свои уникальные свойства - в терминологии ООП - атрибуты
Класс
Форма товара (TovForm) имеет следующие
атрибуты: name, width, height, color. Атрибут name используется
для определения имя конкретной формы
редактирования свойств товара (т.к. их
может быть несколько), он имеет простой
строковый тип. Атрибут width задает размер
формы по горизонтали, height - по вертикали,
эти атрибуты имеют целочисленный тип
и задают размеры в пикселях. Атрибут color
определяет цвет формы, он имеет тип встроенного
множества цветов системы. Класс Форма
товара также определяет следующие методы:
create(), loadtovar(), show(), savetovar(). Метод create() аналогичен
одноименному методы класса Склад - используется
исключительно в служебных целях для инициализации
экземпляра объекта класса. Метод loadtovar()
предназначен для загрузки информации
о товаре из базы данных склада в форму
ее редактирования. Данный метод используется
в случае пополнения товара на складе,
либо в случае необходимости редактирования
его свойств. Метод show() также является
техническим, его назначение - отображение
формы редактирования по факту ее готовности
(после создания и загрузки). Метод savetovar()
используется для сохранения сведений
о товаре из формы его редактирования
в БД. Вызов этого метода осуществляется
по факту готовности сведений в форме.
Класс
Товар (Tovar) не обладает методами, однако
имеет следующие атрибуты: id, name, cena, kolvo,
mesto. Эти атрибуты отражают свойства товара
на складе, и в БД представлении фактически
являются полями записей товаров. Атрибут
id представляет собой уникальный идентификатор
товара, имеет целочисленный тип и предназначен
для различения товаров и ссылок на них.
Атрибут name хранит полное наименование
товара, имеет строковый тип. Атрибут cena
предназначен для хранения цены за единицу
товара в складских ценах, имеет тип числа
с плавающей точкой достаточной точности.
Атрибут kol-vo представляет количество
товара данного вида на складе в единицах
его измерения, имеет тип целого числа.
Атрибут mesto определяет место хранения
товара. Места хранения имеют свой порядковый
номер, ввиду чего атрибут имеет тип целого
числа.
Между
классами установлены следующие
логические взаимосвязи: между Склад и
Форма товара - один к одному либо более,
что связано с тем что объект Склад может
быть только один, однако у него может
быть несколько форм редактирования свойств
товара. Между Форма товара и Товар - один
к любому количеству. Это связано с тем
фактом, что как минимум одна (и только
одна) форма товара может быть у любого
товара, однако товаров может и не быть
вовсе.
Выводы:
Класс Склад имеет следующие атрибуты:
name, address, area, personal, а также методы: create(),
newtovar(), edittovar() благодаря которым становиться
возможной его минимально требуемая функциональность.
Класс Форма товара обладает атрибутами:
name, width, height, color и методами: create(), loadtovar(),
show(), savetovar(), при этом методы loadtovar() и savetovar()
наиболее значимы - они осуществляют загрузку
информации о товаре из БД и обновление
информации в БД соответственно форме.
Класс Товар не обладает методами, однако
имеет следующие атрибуты: id, name, cena, kolvo,
mesto которые отражают свойства реального
товара на складе. В рамках одной подсистемы
склада может быть определен только один
объект класса Склад, однако у него может
быть создано несколько Форм товара. Каждый
товар может описываться только одной
формой товара. Количество товаров специально
не ограничивается.
6 Создание диаграммы
состояний для классов
Диаграмма
состояний для классов представлена на
рисунке 4.
Рисунок
4 - Диаграмма состояний
Описание:
На рисунке 4 представлены 2 диаграммы
состояний классов - слева вверху для Склад
и Товар, справа для Форма товара. Классы
Склад и Товар имеют простую диаграмму
по причине того что они могут быть только
либо определены, либо не существуют. Для
класса Склад состояние Определен является
также активным состоянием - в этом случае
обрабатываются запросы пользователей
и управление передается соответствующим
подсистемам. Как минимум один объект
класса Форма товара создается при старте
системы, в этом случае он переходит в
состояние Определен и ожидает активации.
Дополнительные объекты этого типа могут
быть созданы динамически, после создания
они также переходят в состояние Определен.
Класс Склад (по запросу пользователя)
может инициировать активацию любого
определенного объекта Форма товара по
средствам передачи ему управления и указания
типа необходимой к выполнению операции
(редактирование свойств товара, либо
создание нового). В случае создания нового
товара, объект Форма товара активируется
как пустая форма, в случае изменения существующего
товара происходит загрузка свойств товара
(со временным переходом в состояние Загрузка),
после чего объект переходит в стабильно
активное состояние и позволяет изменять
свойства отображенного товара. По завершению
редактирования свойств товара они могут
быть сохранены в БД, при этом объект Форма
товара переходит во временное состояние
Сохранение, в течение которого происходит
обновление БД, после чего объект деактивируется
- переходит в состояние Определен.
Выводы: Диаграммы состояний классов Склад и Товар предельно просты, однако в случае склада это лишь верхний уровень абстракции - в реальной системе такой объект будет иметь множество технических состояний. Класс Форма товара может находится в 4 состояниях - 2 стабильных (одно пассивное, второе - активное) и 2 временных активных. После создания такие объекты находятся в пассивном состоянии Определен, далее они могут быть активированы и находиться в стабильно активном состоянии (в случае правки свойств товара), либо переходить во временные состояния Загрузка и Сохранение свойств товара. Выход из активного состояния возможен только после сохранения.
7 Создание
диаграммы компонентов
Диаграмма
компонентов приведена на рисунке
5.
Рисунок
5 - Диаграмма компонентов
Описание:
На диаграмме компонентов представлена
организация приложения Sklad.exe. Это приложение
является классическим объектно-ориентированным
приложением C++. Класс Форма товара имеет
реализацию в файле исходного кода TovForm.cpp.
Также этот файл использует определения
указанные в соответствующем заголовочном
файле - TovForm.h. Класс Склад описан в файле
Sklad.cpp, он использует метаопределения
из файла Sklad.h. Также необходимо отметить,
что в файле Sklad.cpp кроме описания класса
Склад содержится и описание класса Товар,
а также другие определения необходимые
для работы приложения, этот файл фактически
является исходным кодом основной программы.
Приложение Sklad.exe в свою очередь собирается
на основе двух заголовочных файлов - Sklad.h
и TovForm.h.
Выводы: Исходный код основной программы располагается в файле Sklad.cpp, здесь же определено описание объектов Склад, Товар и пр. Механизмы Sklad.cpp используют метаописания из файла Sklad.h. Класс Форма товара определен в отдельном файле исходного кода - TovForm.cpp и использует определения из TovForm.h. Приложение Sklad.exe собирается на основе 2 заголовочных файлов - Sklad.h и TovForm.h, в которых в свою очередь содержаться основные определения (ограничения, размеры и пр. свойства компонентов).
Заключение
В процессе выполнения данной работы, в соответствии с заданием, скелетно спроектирована подсистема складского учета предприятия мелкооптовой торговли. Наиболее четко проработан процесс оформления товара на склад. Выделены следующие возможные варианты использования ИС: Принять товар, Выдать товар, Провести сверку, Предоставить отчет, в качестве действующего лица выступает Кладовщик. В процессе оформления товара на склад принимают участие 3 класса: Склад, Форма товара и Товар, их взаимодействие, формат и возможные состояния представлены на соответствующих диаграммах. Предполагается классическая схема организации приложения на языке С++, с использованием заголовочных файлов. Хранение массивов складской информации осуществляется в выделенной базе данных.
Список
использованных источников информации
Приложение А
Условные графические обозначения
Таблица 1 - Обозначения объектов
Изображение | Описание |
Актант (действующее лицо) - это идеализированная внешняя сущность (процесс или человек), вступающая во взаимодействие с системой, подсистемой или классом. | |
Вариант использования - это связный функциональный блок, выраженный в виде транзакции между актантом и системой. Вариант использования описывает некоторую часть поведения системы, не вдаваясь при этом в особенности ее внутренней структуры. | |
Объект. Данное УГО используется на диаграммах взаимодействия, и отражает отдельный объект, каким он представлен в концепции ООП. | |
Класс. Представляет собой шаблон для создания объектов определенного типа (тип определяется классом). В соответствии с ООП, может иметь атрибуты и методы различных типов. Как правило, представляет какую-либо сущность в рамках системы. | |
Состояние. Данное УГО используется на диаграммах состояний классов, представляет собой отдельное конкретное состояние в динамике класса (его характеристики и активность). | |
Компонент. Данная сущность представляет обособленную часть (модуль) в структуре организации системы. |
Таблица 2 - Виды отношений вариантов использования
Отношение | Функция | Нотация |
Ассоциация
(Association) |
Отношение, указывающее на связь между актантом и вариантом использования | |
Расширить
(Extend) |
Включение добавочного поведения в исходный вариант использования, без изменения последнего | |
Обобщение вариантов использования (Use case generalization) | Отношения между общим и более специфическим вариантами использования (второй наследует черты общего и добавляет к ним свои) | |
Включить (Include) | Включение добавочного поведения в исходный вариант использования, который явно описывает включение |
Таблица 3 - Значения множественности
Множественность | Значение |
* | Много |
0 | Ноль |
1 | Один |
0..* | Ноль или более |
1..* | Один или более |
0..1 | Ноль или один |
1..1 | Ровно один |