Добавлен: 24.04.2023
Просмотров: 463
Скачиваний: 2
СОДЕРЖАНИЕ
1. ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ ПОЛОЖЕНИЯ ОБЪЕКТНО-ОРИЕНТИРОВАННОЙ МЕТОДОЛОГИИ
1.1 Основные понятия объектно-ориентированного подхода
1.3. Средства реализации объектно-ориентированной технологии программирования
2.1. Описание функционирования предметной области «Учет продаж»
2.2. Построение диаграммы модели информационной системы оптовой базы
2.3. Диаграмма вариантов использования информационной системы оптовой базы
2.4. Архитектурный анализ информационной системы оптовой базы
Созданная диаграмма последовательности для данного варианта использования представлена далее на рисунке 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 и построена объектная модель предметной области с применением данного языка.
- Разработано приложение, использующее набор классов для представления информации о спортсменах.
В процессе написания курсового проекта использовались следующие методы исследования:
- Описательный метод применяется при изложении теоретических аспектов проблемы и краткой характеристике объекта исследования.
- Метод сравнения и анализа. Позволяет сопоставлять различные взгляды на рассматриваемую тему и провести диагностику объекта исследования.
- Системный подход. Был использован с целью обобщения полученных результатов и выявления их логической взаимосвязи.
СПИСОК ЛИТЕРАТУРЫ
- Алгоритмические языки и программирование. Система программирования DELPHI / разраб. Т.А. Лабзина. – М.: Совр. Гум. Ун-т, 2002.
- Ахангельский А.Я. Программирование в Delphi 7. – М.: ООО «Бином-Пресс», 2003 г. – 1152 с.
- Голицына О.Л. и др. Языки программирования. – М.: Форум; Инфра-М, 2008.
- Дарахвелидзе П.Г., Марков Е.П. Программирование в Delphi 7. –СПб.: БХВ-Петербург, 2003. – 784 с.
- Семакин И.Г., Шестаков А.П. М. Основы программирования. –М.: Академия, 2003. – 438 с.
- Сорокин А.В. Delphi. Разработка баз данных. – СПб.: Питер, 2005. – 477с.
- Фаронов В.В. Система программирования Delphi. – СПб.: БХВ-Петербург, 2004. – 912 с.
- Дубаков А.А. Проектирование информационных систем: Учебное пособие. Томск.: Изд. ТПУ, 2001.
- Информатика/Курносов А.П., Кулев С.А., Улезько А.В. и др.; Под ред. А.П. Курносова.-М.: КолосС, 2005.-272 с
- Макарова Н.В. Информатика /под ред. Проф. Н.В. Макаровой. — М.: Финансы и статистика, 1997. — 768 с.: ил.
- Малышев Р.А. Локальные вычислительные сети: Учебное пособие/ РГАТА. – Рыбинск, 2005. – 83 с.
- Островский В.А. Информатика: учеб. для вузов. М.: Высшая школа, 2000. —511 с.: ил.
- Семакин И.А., Информатика: Базовый курс /Семакин И.А., Залогова Л., Русаков С., Шестакова Л. – Москва: БИНОМ.,2005. – 105с.
- Симонович С.В. Информатика. Базовый курс/Симонович С.В. и др. — СПб.: издательство "Питер", 2000. — 640 с.: ил.
- Аксак В.А. Полезные программы для ПК. Просто как дважды два. М.: Эксмо, 2006. – 288 с.: ил.
- Басс Л., Клементс П., Кацман Р. Архитектура программного обеспечения на практике. – 2-е изд. – СПб.: Питер, 2006. – 575 с.: ил.
- Ройс У. Управление проектами по созданию программного обеспечения. Унифицированный подход. – М.: «Лори», 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;