Файл: Автоматизация отдела продаж.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 24.04.2023

Просмотров: 465

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

Рисунок 6 – Диаграмма последовательности для варианта использования «Заполнить форму заявки на товар»

Диаграмма последовательности «Внести данные о назначенном поставщике»

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

TDataLearnerForm– электронная форма для ввода данных о покупателе, граничный класс (Boundary).

TListCarInstructor – таблица с записями о товарах, класс-сущность (Entity).

TLearner – соответствует действующему лицу «Покупатель», класс-сущность.

TInstructor – соответствует действующему лицу «Поставщик», класс-сущность.

Действующее лицо – Администратор.

Проанализировав описание варианта использования, можно добавить для данной диаграммы последовательности, следующие сообщения:

От действующего лица «Администратор» к граничному классу «TDataLearnerForm» передается сообщение: 1. Запрос формы «Данные о покупателе».

От действующего лица «Администратор» к управляющему классу «TControllerRecordLearner» передается сообщение: 2. Запрос данных.

От управляющего класса «TControllerRecordLearner» к классу-сущности «TListCarInstructor» передается сообщение: 3. Запрос информации о товарах.

От управляющего класса «TControllerRecordLearner» посылается сообщение самоделегирования: 4. Формирование запроса.

От действующего лица «Администратор» посылается сообщение самоделегирования: 5. Определить товар.

От действующего лица «Администратор» к граничному классу «TDataLearnerForm» передается сообщение: 6. Ввод данных.

От действующего лица «Администратор» к управляющему классу «TControllerRecordLearner» передается сообщение: 7. Сохранить изменения в системе.

От управляющего класса «TControllerRecordLearner» к классу-сущности «TLearner» передается сообщение: 8. Отправить сведения покупателю.

От управляющего класса «TControllerRecordLearner» к классу-сущности «TInstructor» передается сообщение: 9. Оповестить поставщика.

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

Рисунок 7 – Диаграмма последовательности для варианта использования «Внести данные о назначенном товаре»

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


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

Диаграмма классов включает в себя набор классов модели и описание каждого из них.

Необходимые атрибуты и методы классов определяются на основе анализа диаграмм последовательности. Для включения их в класс воспользуемся нужно воспользоваться функцией Add Property.

На основе диаграммы последовательности «Внести данные о назначенном товаре» можно добавить в класс «TListCarInstructor» следующие свойства:

– «FullName».

– «Car».

– «QuantityLearner».

Далее нужно указать видимость свойства (Visibility).

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

Private (закрытый). Соответствующий атрибут не виден никаким другим классам.

Protected (защищенный). Такой атрибут доступен только самому классу и его потомкам.

В данном случае, все атрибуты общие (public).

Далее нужно определить операции. Для атрибута «FullName» в группе чтения значения атрибута указывается Method. Система ModelMaker автоматически генерирует название: GetFullName. В группе Write Access так же необходимо выбрать Method. Система создаст название метода SetFullName. В качестве параметра указывается любое имя. В данном случае value. Аналогичным образом создаются методы доступа для других атрибутов данного класса.

Следует подготовить программную реализацию методов (GetFullName, SetFullName). Для этого на странице Implementation нужно прописать следующий программный код по строкам:

Для метода GetFullName: Result:=FFullName.

Для метода SetFullName: FFullName:=value.

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

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

Для включения в класс операции реализации следует воспользоваться функцией Add Metods. Так, для данного класса можно выделить следующие операции реализации:

AddRecord – добавляет новую запись в класс.

DeleteRecord – удаляет запись из класса.

Программная реализация некоторых операций реализации представлена в конечном коде модуля.

Аналогично задаются атрибуты и методы другим классам.


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

Класс «InternalExamResults»:

– «NameLearner».

– «PracticeResult».

– «TheoryResult».

Класс «TInstructor»:

– «FullName».

– «DOB».

– «PassportData».

– «Address».

– «Education».

– «DrivingExperience».

Для электронных форм можно выделить две операции:

– «OpenForm» (открыть форму).

– «CloseForm» (закрыть форму).

Операции класса ExamAdmissionReport:

– «CreateReport» (Создать отчет).

– «DestroyReport» (Удалить отчет).

– «PrintReport» (Отправить отчет на печать).

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

Рисунок 9 – Диаграмма классов информационной системы оптовой базы

ЗАКЛЮЧЕНИЕ

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

В результате данного исследования, рассмотрены объектно-ориентированной методологии и технологии программирования на примере языка Object Pascal, методов и инструментов построения объектных моделей предметных областей. Полученные знания были применены для построения объектной модели предметной области «Учет продаж».

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

Для достижения цели данного исследования были выполнены следующие задачи:

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

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

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

СПИСОК ЛИТЕРАТУРЫ

  1. Алгоритмические языки и программирование. Система программирования DELPHI / разраб. Т.А. Лабзина. – М.: Совр. Гум. Ун-т, 2002.
  2. Ахангельский А.Я. Программирование в Delphi 7. – М.: ООО «Бином-Пресс», 2003 г. – 1152 с.
  3. Голицына О.Л. и др. Языки программирования. – М.: Форум; Инфра-М, 2008.
  4. Дарахвелидзе П.Г., Марков Е.П. Программирование в Delphi 7. –СПб.: БХВ-Петербург, 2003. – 784 с.
  5. Семакин И.Г., Шестаков А.П. М. Основы программирования. –М.: Академия, 2003. – 438 с.
  6. Сорокин А.В. Delphi. Разработка баз данных. – СПб.: Питер, 2005. – 477с.
  7. Фаронов В.В. Система программирования Delphi. – СПб.: БХВ-Петербург, 2004. – 912 с.
  8. Дубаков А.А. Проектирование информационных систем: Учебное пособие. Томск.: Изд. ТПУ, 2001.
  9. Информатика/Курносов А.П., Кулев С.А., Улезько А.В. и др.; Под ред. А.П. Курносова.-М.: КолосС, 2005.-272 с
  10. Макарова Н.В. Информатика /под ред. Проф. Н.В. Макаровой. — М.: Финансы и статистика, 1997. — 768 с.: ил.
  11. Малышев Р.А. Локальные вычислительные сети: Учебное пособие/ РГАТА. – Рыбинск, 2005. – 83 с.
  12. Островский В.А. Информатика: учеб. для вузов. М.: Высшая школа, 2000. —511 с.: ил.
  13. Семакин И.А., Информатика: Базовый курс /Семакин И.А., Залогова Л., Русаков С., Шестакова Л. – Москва: БИНОМ.,2005. – 105с.
  14. Симонович С.В. Информатика. Базовый курс/Симонович С.В. и др. — СПб.: издательство "Питер", 2000. — 640 с.: ил.
  15. Аксак В.А. Полезные программы для ПК. Просто как дважды два. М.: Эксмо, 2006. – 288 с.: ил.
  16. Басс Л., Клементс П., Кацман Р. Архитектура программного обеспечения на практике. – 2-е изд. – СПб.: Питер, 2006. – 575 с.: ил.
  17. Ройс У. Управление проектами по созданию программного обеспечения. Унифицированный подход. – М.: «Лори», 2002. – 424 с.

ПРИЛОЖЕНИЯ

Модуль проекта

Листинг файла modul.pas

unit modul;

interface

uses

SysUtils, Windows, Messages, Classes, Graphics, Controls,


Forms, Dialogs;

type

TRequestForm = class (TObject)

public

procedure CloseForm;

procedure OpenForm;

end;

TRequest = class (TObject)

public

procedure CreateRequest;

procedure SendRequest;

end;

TQueryListCI = class (TObject)

end;

TListCarInstructor = class (TObject)

private

FCar: string;

FFullName: string;

FQuantityLearner: Integer;

public

procedure AddRecord;

procedure DeleteRecord;

function GetCar: string;

function GetFullName: string;

function GetQuantityLearner: Integer;

procedure SetCar(Value: string);

procedure SetFullName(Value: string);

procedure SetQuantityLearner(Value: Integer);

property Car: string read GetCar write SetCar;

property FullName: string read GetFullName write SetFullName;

property QuantityLearner: Integer read GetQuantityLearner write

SetQuantityLearner;

end;

TLearner = class (TObject)

end;

TInternalExamResults = class (TObject)

private

FNameLearner: string;

FPracticeResult: string;

public

procedure AddRecord;

procedure DeleteRecord;

function GetNameLearner: string;

function GetPracticeResult: string;

function GetTheoryResult: string;

procedure SetNameLearner(const Value: string);

procedure SetPracticeResult(Value: string);

procedure SetTheoryResult(Value: string);

property NameLearner: string read GetNameLearner write SetNameLearner;

property PracticeResult: string read GetPracticeResult write

SetPracticeResult;

property TheoryResult: string read GetTheoryResult write SetTheoryResult;

end;

TInstructor = class (TObject)

private

FAddress: string;

FDOB: string;

FDrivingExperience: string;

FEducation: string;

FFullName: string;

FPassportData: TPassportData;

public

function GetAddress: string;

function GetDOB: string;

function GetDrivingExperience: string;

function GetEducation: string;

function GetFullName: string;

function GetPassportData: TPassportData;

procedure SetAddress(Value: string);

procedure SetDOB(Value: string);

procedure SetDrivingExperience(Value: string);

procedure SetEducation(Value: string);

procedure SetFullName(Value: string);

procedure SetPassportData(Value: TPassportData);

property Address: string read GetAddress write SetAddress;

property DOB: string read GetDOB write SetDOB;

property DrivingExperience: string read GetDrivingExperience write

SetDrivingExperience;

property Education: string read GetEducation write SetEducation;

property FullName: string read GetFullName write SetFullName;

property PassportData: TPassportData read GetPassportData write

SetPassportData;

end;

информационный оптовый рascal

TExamAdmissionReport = class (TObject)

public

procedure CreateReport;

procedure DestroyReport;

procedure PrintReport;

end;

TEAReportForm = class (TObject)

public

procedure CloseForm;

procedure OpenForm;

end;

TDataLearnerForm = class (TObject)

public

procedure CloseForm;

procedure OpenForm;

end;

TControllerRecordRequest = class (TObject)

end;

TControllerRecordLearner = class (TObject)

end;

TControllerEAReport = class (TObject)

end;

procedure Register;

implementation

procedure Register;

begin

end;

{

********************************* TRequestForm *********************************

}

procedure TRequestForm.CloseForm;

begin

end;

procedure TRequestForm.OpenForm;

begin

end;

{

*********************************** TRequest ***********************************

}

procedure TRequest.CreateRequest;

begin

end;

procedure TRequest.SendRequest;

begin

end;

{

****************************** TListCarInstructor ******************************

}

procedure TListCarInstructor.AddRecord;