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

История и развитие методологии объектно-ориентированного программирования. Сферы применения (Объектно-ориентированное программирование )

Содержание:

Введение

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

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

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

Объект исследования – объектно-ориентированное программирование.

Предмет исследования – история и развитие методологии ООП.

Целью данной работы является изучение истории и развития методологии ООП.

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

– изучить историю создания ООП;

– дать характеристику концепции и методологии ООП;

– изучить особенности ООП языка программирования Delphi;

– представить программную разработку.

1. Объектно-ориентированное программирование

1.1. История создания объектно-ориентированного программирования

Практически сразу после появления языков третьего поколения (1967) ведущие специалисты в области программирования выдвинули идею преобразования постулата фон Неймана: «данные и программы неразличимы в памяти машины». Их цель заключалась в максимальном сближении данных и кода программы. Решая поставленную задачу, они столкнулись с задачей, решить которую без декомпозиции оказалось невозможно, а традиционные структурные декомпозиции не сильно упрощали задачу. Усилия многих программистов и системных аналитиков, направленные на формализацию подхода, увенчались успехом.

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

Результатом их первого применения стал язык Симула-1 (Simula-1), в котором был введен новый тип – объект. В описании этого типа одновременно указывались данные (поля) и процедуры, их обрабатывающие – методы. Родственные объекты объединялись в классы, описания которых оформлялись в виде блоков программы [1]. При этом класс можно использовать в качестве префикса к другим классам, которые становятся в этом случае подклассами первого. Впоследствии Симула-1 был обобщен, и появился первый универсальный объектно-ориентированный язык программирования – Симула-67 (67 – по году создания).

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

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

1.2. Концепция объектно-ориентированного программирования

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

Подход ООП предполагает повторное использование программного обеспечения. Основной механизм обеспечения повторного использования – класс, представляющий собой шаблон, описывающий все объекты, для которых характерны одинаковые операции и элементы данных [9]. Следовательно, может быть создано много объектов каждого из классов. Часто они называются экземплярами объекта.

Для существующего класса можно создать подклассы путем использования наследования. Наследование позволяет программисту и создавать новые подклассы, и повторного использовать код, а также данные базового класса без их повторения. Вновь полученные подклассы настраиваются так, чтобы соответствовать конкретным потребностям приложения. Способность подклассов одного класса отвечать на одно и то же входящее сообщение по-разному называется полиморфизмом. Полиморфизм объединяет концепции наследования и динамического связывания (dynamic binding).

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

Однако в объектно-ориентированной технологии есть и недостатки. Производительность ядра операционной системы чрезвычайно важна, так как сильно влияет на производительность системы в целом. Исследования приложений для AS/400 показали, что значительная часть длинных цепочек команд приходится на код операционной системы [7]. А при применении объектно-ориентированной технологии для некоторой функции повторно используется большое число маленьких модулей, и общая длина цепочек команд увеличивается, по сравнению с реализацией той же функции как единого целого. Группе пришлось включить в план работ время для выполнения тонкой настройки таких функций, чтобы сохранить показатели производительности ядра, достигнутые за предшествующие годы его разработки.

1.3. Методология объектно-ориентированного программирования

Объектно-ориентированное программирование (ООП, Object-Oriented Programming) - совокупность принципов, технологий, а также инструментальных средств для создания программных систем на основе архитектуры взаимодействия объектов.

Распространение методологии ООП связано с процессом разработки программ. В частности, процедурно-ориентированная декомпозиция программ уступила место объектно-ориентированной, при которой в качестве отдельных структурных единиц программы рассматриваются не процедуры и функции, а классы и объекты с соответствующими свойствами и методами. Как следствие, программа перестала быть последовательностью предопределенных на этапе кодирования действий, а преобразовалась в событийно управляемую [11]. Последнее обстоятельство доминирует и при разработке широкого круга современных приложений. В этом случае каждая программа представляет собой бесконечный цикл ожидания заранее определенных событий. Инициаторами событий могут быть другие программы или пользователи, а при наступлении отдельного события программа выходит из состояния ожидания и реагирует на него вполне адекватным образом.

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

Абстракция (abstraction) - характеристика сущности, которая отличает ее от других сущностей. Абстракция определяет границу представления соответствующего элемента модели и применяется для определения фундаментальных понятий ООП, таких как класс и объект.

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

Объекты, которые не имеют идентичных свойств или не обладают одинаковым поведением, по определению, не могут быть отнесены к одному классу.

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

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

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

Следующий принцип ООП - инкапсуляция. Инкапсуляция характеризует сокрытие отдельных деталей внутреннего устройства классов от внешних по отношению к нему объектов или пользователей [6].

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

Инкапсуляция ведет свое происхождение от деления модулей в некоторых языках программирования на две части или секции: интерфейс и реализацию. При этом в интерфейсной секции модуля описываются все объявления функций и процедур, а возможно и типов данных, доступных за пределами модуля. Указанные процедуры и функции являются способами оказания услуг внешним клиентам. В другой секции модуля, называемой реализацией, содержится программный код, который определяет конкретные способы реализации объявленных в интерфейсной части процедур и функций.

Полиморфизм также один из основных принципов ООП. Под полиморфизмом понимается свойство объектов принимать различные внешние формы в зависимости от обстоятельств. Применительно к ООП полиморфизм означает, что действия, выполняемые одноименными методами, могут различаться в зависимости от того, к какому из классов относится тот или иной метод [2].

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

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

2. Особенности объектно-ориентированного языка программирования Delphi

2.1. Основные сведения о языке программирования Delphi

Delphi (Делфи, произносится /ˈdɛlˌfi:/) - императивный, структурированный, объектно-ориентированный язык программирования со строгой статической типизацией переменных. Основная область использования - написание прикладного программного обеспечения.

Первоначально носил название Object Pascal и исторически восходит к одноимённому диалекту языка, разработанному в фирме Apple в 1986 году группой Ларри Теслера [20]. Однако в настоящее время термин Object Pascal чаще всего употребляется в значении языка среды программирования Delphi. Начиная с Delphi 7, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal.

Delphi 7 представляет собой среду, предназначенную для визуального проектирования приложений для Windows с развитыми механизмами повторного использования программного кода. У Delphi, как и у многих других крупных компаний, есть конкуренты. Им является всем знакомая среда разработки Microsoft Visual C++, которая имеет свои преимущества и недостатки, но являющаяся более популярной, в основном, из-за того, что была разработана именно фирмой Microsoft.

Отличительной чертой Delphi является модель компонентной разработки программных продуктов. Суть модели заключается в поддержке системного постоянно расширяемого набора объектных компонентов, из которых строится сама программа. В Delphi Компоненты очень просты для развития и использования. Как результат покрытия значительной части той структуры программы, которая близка к взаимодействию с операционной системой [4].

Интегрированная среда разработки Turbо Dеlphi была разработана компанией CоdeGеar, которая ориентирована на студентов, частных пользователей и начинающих программистов. Данная среда разработки основана на языке программирования Dеlphi. Основным отличием данного программного продукта является бесплатная версия компилятора Turbо Dеlphi Explоrer.

Среда разработки Dеlphi – одна из первых систем, которая занялась быстрой разработкой приложений (RАD) и технологию визуального конструирования. Технология Visuаl Dеsign содержит готовые компоненты, из которых будет строится интерфейс будущей программы.

Меню представляет из себя быстрый и гибкий интерфейс для среды разработки Delphi, может управляться по набору горячих клавиш. Это удобно потому, что здесь используются слова или короткие фразы, которые более точные и понятные, чем иконки или пиктограммы. Также можно использовать меню для выполнения широкого круга задач; наиболее общих задач вроде управления отладчиком, открытия и закрытия файлов или настройкой среды программирования [16].

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

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

Система управления базами данных Miсrоsоft Ассеss (СУБД) включает все необходимые инструментальные средства для создания локальной базы данных, общей БД в локальной сети с файловым сервером или создания приложения пользователя, работающего с БД на SQL- сервере. Access входит в состав Microsoft Оffiсе, что делает его интерфейс знакомым и привычным, а следовательно облегчает работу.

2.2. Преимущества использования Delphi

В среде разработки Dеlрhi нет никаких сложных конструкций и при этом она не уступает С++ по своим возможностям. Скорость работы созданных программ на Dеlрhi не меньше, чем у программ, которые создавались на С++. Разница будет заметна при большом объёме математических вычислений, но небольшая. Это объясняется отличной способностью оптимизации программ компилятора С++ [5]. Но чем лучше оптимизация программ, тем больше это занимает времени, что отражается на процессе разработки программ. Здесь, несомненно, преимущество компилятора у Dеlрhi, который позволяет почти мгновенно внести изменения и проверить результат. На это затрачивается очень мало времени, в отличии от языка С++, где приходится тратить не малую часть рабочего времени на ожидание окончания работы компилятора.

К основным особенностям сред разработки Тurbо Dеlрhi относятся: поддержка сразу нескольких языков программирования, визуальное создание прикладным программ, использование уже готовых компонентов для будущих программ, введение множества технологий, ускоряющих и облегчающих написание программ возможность создания программ под разные платформы.

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

Компоненты среды программирования Delphi являются, по существу, просто специализированными внутренними объектами, и их функционирование определяется объектно-ориентированной Visual Component Library (архитектурой библиотеки визуальных компонентов). Сокращённо – VCL [8].

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

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

Delphi предлагает пользователю довольно мощный набор компонентов для работы с базами данных. Причём практически неважно, какой именно БД пользуется приложение – это может быть и промышленный сервер, и локальная БД, MS SQL Server или Oracle [10].

Dеlрhi, как среда разработки, очень проста и логична. Основные конструкции языка четко выделяются в программе. Это способствует хорошему восприятию написанного кода, в отличие от языка программирования Visuаl Bаsiс, где код понять очень тяжело, если его количество превышает несколько страниц.

Графический интерфейс Dеlрhi отлично продуман, а среда разработки предоставляет доступ только к тем участкам кода, с которыми необходимо работать, скрывая основную часть программы, которая создается автоматически самой средой разработки.

Среда Dеlрhi легко расширяется установкой дополнительных модулей. Пользовательский интерфейс также хорошо настраиваемый - каждый организует рабочее пространство так, как ему будет удобно [18].

Dеlрhi рассчитан на работу с операционной системой Windоws. Его все шире используют в коммерческих разработках, благодаря большому набору полностью готовых для работы специальных компонентов.

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

2.3. Отличия Delphi от других языков программирования

В Delphi формальное начало всех программ четко отличается от других участков программного кода и располагается в определенном, единственном в рамках исполняемого программного проекта, исходном файле имеющим расширение dpr (тогда как другие файлы исходных текстов программы имеют расширение pas).

В С-подобных языках программирования в качестве входа в большинстве случаев используются глобальные функции или статические методы с именем main и некоторым списком параметров, причём такие функции могут быть расположены в любом из файлов исходного текста проекта программы [12].

В Delphi переменных, идентификаторы типов и ключевые слова читаются независимо от их регистра: например следующий идентификатор SomeVar будет эквивалентен идентификатору somevar. Регистро-зависимые идентификаторы в начале компьютерной эпохи позволяли ускорить процесс выполнения программной компиляции, и кроме того, обеспечивали использование очень коротких имен, порой отличающиеся лишь своим регистром [13].

И хотя к настоящему времени обе эти практики − использование множества идентификаторов, которые различались лишь своим регистром, равно как и их лаконичность, осуждаются и не рекомендуются к использование, практически все унаследованные от С языки − C++, Java, C# − являются регистро-зависимыми, что, с одной стороны, требует достаточно большой внимательности к выполнению объявления и использования различных идентификаторов, а с другой допускается выполнение написания кода в трудночитаемом стиле [15].

В Delphi в исходных файла pas на уровне языковых средств введено четкое разделение на раздел реализации и интерфейсный раздел. Интерфейсная часть содержит лишь необходимые объявления типов и методов, тогда как код реализации в интерфейсной части не допускается на уровне выполнения компиляции.

Подобное разделение характерно также языкам программирования C/C++, где в рамках парадигмы программирования было введено разделение на заголовочные файлы и файлы реализации, но подобное разделение не может быть обеспечено на уровне компилятора или языка программирования.

В языках программирования C# и Java такое разделение устранено вовсе − реализация метода следует сразу после его объявления. Инкапсуляция обеспечивается лишь принадлежностью метода к той или иной области видимости используемого объекта. Для выполнения просмотра одной только интерфейсной части модуля исходного программного кода необходимо использовать специальные внутренние средства языка программирования [14].

В Delphi функция или метод четко определены специальными зарезервированными ключевыми словами function или procedure, тогда как в C-подобных языках различие определяются ключевым словом, которое определяет тип возвращаемых значений.

В отличие от C++, язык программирования C# содержит унаследованной от языка программирования Delphi концепцию свойств класса: псевдополей, которые, в некоторых случаях, могут более интуитивно, в сравнении с методами, отражать, а также изменять определенное состояние объектов.

В Delphi объектно-ориентированное и объектное программирование хоть и поощряется, однако не может быть единственно возможным. Так, может быть выполнено (в отличие от C#) использование и объявление статических иди глобальных переменных и функций [17].

Язык программирования C# принудительно является объектным. Глобальные, без привязки к классу, функции запрещаются. Value-типы, наподобие структур struct, являются унаследованными от общего типа C#, несмотря на то, что сами по себе они не могут быть унаследованы. Вместе с тем, экземпляры классов C# являются неявно-ссылочными типами, как и в Delphi.

Несмотря на такую акцентированную на объектность парадигму, в языке программирования C# нет понятий виртуальных конструкторов, то есть выполняется создание экземпляров класса, точный тип которых на этапе компиляции является неизвестным, а известен лишь базовый класс этого экземпляра [19].

Кроме того, в отличие от C# и C++, где вызов конструктора базового класса непременно осуществляется ещё до входа в тело конструктора унаследованного класса, в Delphi этот вызов делается явно. Таким образом, его можно отложить или вовсе опустить в специальных целях. Очевидно, в отличие от C#, возможен контроль над исключениями в базовых конструкторах.

3. Практическая разработка

3.1. Разработка базы данных

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

Информационная система для поддержки деятельности спортивного магазина позволит упорядочить и упростить работу менеджера по продажам магазина. Она должна предусматривать ведение списков товаров, заявок и договоров.

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

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

На каждый товар в информационную систему будут заноситься следующие данные: код товара; наименование товара; код поставщика; код типа; код единицы измерения; цена; статус.

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

На всех поставщиков в информационной системе имеется следующая информация: код поставщика; наименование поставщика; расчетный счет; адрес; контактный телефон; электронная почта; примечание.

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

Пользователем системы является менеджер по продажам магазина спортивной одежды.

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

Менеджер по продажам спортивного магазина может просмотреть информацию по заказам и договорам в виде сводной таблицы.

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

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

Основными объектами графического представления схемы являются таблицы и связи, определяемые внешними ключами. В реляционных базах данных схема определяет таблицы, поля в каждой таблице (обычно с указанием их названия, типа, обязательности), и ограничения целостности (первичный, потенциальные и внешние ключи и другие ограничения). Схема данных разрабатываемой информационной системы представлена в приложении А.

3.2. Алгоритмизация программы

Ключевым моментом разработки информационной системы является организация связи СУБД MS Access и объектно-ориентированной среды разработки Delphi. Для этого необходимо использовать следующие компоненты:

– DataSource;

– ADOTable;

– ADOQuery;

– ADOConnection;

– DBGrid [17].

Проектирование главной формы представлено на рис. 1. Для более наглядного вида в форме использован компонент Image с картинкой и главное меню. Интерфейс разработки главного меню информационной системы представлен на рис. 2.

Главное меню включает следующие пункты:

– справочники;

– документы;

– обработка данных;

– выход.

Для перехода к справочнику «Товар» в информационной системе был разработан следующий код:

procedure TForm1.N2Click(Sender: TObject);

begin

Form9.show(); // форма «Товар»

end;

Для организации работы справочника были использованы следующие компоненты: DataSource; ADOTable; ADOQuery; ADOConnection; DBGrid [12; 13].

Рисунок 1 – Проектирование главной формы

Рисунок 2 – Проектирование главного меню

Вывод записей базы данных выполняется посредствам компонента DBComboBox. Программный код представлен в Приложении Б. Для настройки компонента ADOQuery необходимо прописать SQL-запрос следующего вида

SELECT * FROM Товар

Интерфейс разработки пользовательского справочника «Товар» представлен на рис. 3.

Особенность разработки интерфейса запроса «Реестр договоров» заключается в использовании элемента Edit1 и сравнения его значения с записями данной таблицы.

Рисунок 3 – Интерфейс проектирования справочника «Товар»

procedure TForm13.Button1Click(Sender: TObject);

begin

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Text:='';

ADOQuery1.SQL.Add('SELECT * FROM Договор WHERE [Статус выполнения] LIKE ''%'+ComboBox1.Text+'%''');

ADOQuery1.Active:=True;

end;

3.3. Порядок работы с программой

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

Работа с информационной системой осуществляется при помощи главного формы и меню, которое представлено на рис. 4.

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

Рисунок 4 – Главное меню ИС

Ввод и редактирование данных осуществляется при помощи следующих справочников:

– форма «Клиент»;

– форма «Организация»;

– форма «Сотрудник»;

– форма «Поставщик»;

– форма «Единица измерения»;

– форма «Тип»;

– форма «Должность»;

– форма «Метод доставки».

Ввод данных о клиентах выполняется по средствам специальной пользовательской формы «Клиент», которая изображена на рис. 5. Данная форма предоставляет возможности по добавлению, изменению и удалению данных о клиентах.

Рисунок 5 – Форма «Клиент»

Ввод данных о организации выполняется по средствам использования формы «Организация» которая изображена на рис. 6. Данная форма предоставляет возможности по добавлению, изменению и удалению данных о организации.

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

Справочник «Поставщик» предоставляет пользователю информационной системы возможности просмотра, ввода, редактирования информации о поставщиках, рис. 8.

Рисунок 6 – Форма «Организация»

Рисунок 7 – Форма «Сотрудник»

Рисунок 8 – Форма «Поставщик»

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

– переместиться к первой записи;

– вернуться на одну запись назад;

– перейти к следующей записи;

– перейти к последней записи;

– добавить запись;

– удалить запись;

– сохранить изменения;

– отменить ввод;

– вернуть изменения.

Справочник «Единица измерения» предоставляет пользователю информационной системы возможности просмотра, ввода, редактирования информации о используемых в организации единицах измерения. Интерфейс пользовательской формы «Единица измерения» представлен на рис. 9.

Рисунок 9 – Форма «Единицы измерения»

Ввод данных о типах товара выполняется по средствам использования специальной пользовательской формы «Тип», которая представлена на рис. 10. Данная форма предоставляет возможности по добавлению, изменению и удалению данных о типах реализуемых товаров.

Рисунок 10 – Форма «Тип»

Справочник «Метод доставки» предоставляет пользователю информационной системы необходимые возможности по просмотру, вводу, редактированию оперативной информации о существующих методах доставки. Интерфейс пользовательской формы «Метод доставки» представлен на рис. 11.

Обработка оперативной информации в информационной системе по должностям организации выполняется при помощи использования специального справочника «Должности». Интерфейс данной формы представлен на рис. 12.

Рисунок 11 – Форма «Метод доставки»

Документ «Товар» позволяет пользователю информационной системы просматривать, вводить, изменять данные по реализуемым товарам. В данной форме организованы необходимые связи с дополнительными справочниками, т.к например, в поле поставщик выполняется подстановка со справочника «Поставщик», в поле тип товара выполняется подстановка со справочника «Тип товара» и в поле единица измерения выполняется подстановка со справочника «Единица измерения». Интерфейс пользовательской формы «Товар» представлен на рис. 13.

В информационной системе существует возможность обработки следующих документов: товар; заказ; договор.

Рисунок 12 – Форма «Должности»

Рисунок 13 – Форма «Товар»

Работа с заказами выполняется по средствам использования пользовательской формы «Заказ», которая включает всю необходимую информацию о заказе, рис. 14.

В данной форме, также, используются подстановочные поля, это поле код организации, ФИО сотрудника, ФИО поставщика, метод доставки, наименование товара.

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

Рисунок 14 – Форма «Заказ»

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

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

Рисунок 15 – Форма «Договор»

Для обработки базы данных информационной системы были разработаны несколько запросов:

– реестр товаров;

– реестр заказов;

– реестр договоров.

Запрос «Реестр товаров» предназначен для вывода сводной информации о реализуемых товарах. Данная информация представлена в виде таблицы; если пользователю нужно найти определенный товар, в функциях данной формы есть возможность поиска товара по его названию.

Например для поиска информации о футболке «Футболка Бриз» необходимо ввести ее название в специальное поле и клацнуть кнопку «Найти». После чего в таблице останется одна запись, характеризующая необходимый товар. Интерфейс запроса «Реестр товаров» представлен на рис. 16.

Рисунок 16 – Форма «Реестр товаров»

Запрос «Реестр заказов» предназначен для вывода сводной информации о оформленных заказах. Для выборки заказов необходимо ввести необходимую дату, рис. 17. Запрос «Реестр договоров» предназначен для вывода сводной информации о заключенных договорах. Для поиска необходимого договора необходимо ввести его номер, рис. 18.

Рисунок 17 – Форма «Реестр заказов»

Рисунок 18 – Форма «Реестр договоров»

Заключение

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

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

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

В качестве среды разработки были выбраны система управления базами данных Microsoft Access и объектно-ориентированная среда разработки Delphi.

Delphi является средой программирования, в которой в полной мере сочетаются удобство и простота, что реализовано при мощи наличия гибкости объектно-ориентированного подхода программирования. Что обеспечивает эффективную визуальную разработку пользовательского интерфейса и наличие уникальных по своей простоте и мощи средств доступа к БД, например, с легкостью можно организовать оперативный доступ к БД Access, Paradox.

К основным особенностям среды разработки Dеlрhi можно отнести следующее: поддержка сразу нескольких языков программирования высокого уровня, визуальное создание прикладных программ, использование уже готовых специализированных компонентов для будущих прикладных программ, введение множества специализированных технологий, позволяющих существенно ускорить и значительно облегчить написание прикладных программ, возможность создания прикладных программ под различные программные платформы.

Mісrоsоft Ассess представляет собой систему управления базами данных реляционного типа и позволяющая эффективно управлять оперативными данными. Одним из достоинств Mісrоsоft Ассess является простой графический интерфейс, который позволяет создавать разнообразные базы данных с необходимым интерфейсом доступа к ним, с использованием встроенных средств разработки. В качестве средств разработки системы управления базами данных Mісrоsоft Ассess используются элементы управления, пользовательские запросы, консолидированные отчеты и макросы.

Для обработки базы данных информационной системы были разработаны несколько запросов: реестр товаров; реестр заказов; реестр договоров. Представленный ход работы с информационной системой отражает полный цикл обработки оперативной информации в исследуемой организации.

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

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

  1. Баженова И.Ю. Основы проектирования приложений баз данных (2 изд). – М.: Интернет-университет информационных технологий, 2016. – 237 с.
  2. Валитов Ш.М. Современные системные технологии в отраслях экономики: Учебное пособие / Ш.М. Валитов, Ю.И. Азимов, В.А. Павлова. - М.: Проспект, 2016. – 504 c.
  3. Венделева М.А. Информационные технологии в управлении.: Учебное пособие для бакалавров / М.А. Венделева, Ю.В. Вертакова. - Люберцы: Юрайт, 2016. – 462 c.
  4. Гаврилов М.В. Информатика и информационные технологии: Учебник / М.В. Гаврилов, В.А. Климов. - Люберцы: Юрайт, 2016. – 383 c.
  5. Грошев А.С., Закляков П. В. Информатика: учеб. для вузов – 3-е изд., перераб. и доп. – М.: ДМК Пресс, 2015. – 588 с.
  6. Грошев А.С. Информационные технологии : лабораторный практикум / А. С. Грошев. – 2-е изд. – М.-Берлин: Директ-Медиа, 2015. – 285 с.
  7. Дарков А.В. Информационные технологии: теоретические основы: Учебное пособие / А.В. Дарков, Н.Н. Шапошников. - СПб.: Лань, 2016. – 448 c.
  8. Долганова О.И. Моделирование бизнес-процессов: Учебник и практикум для академического бакалавриата / О.И. Долганова, Е.В. Виноградова, А.М. Лобанова. - Люберцы: Юрайт, 2016. – 289 c.
  9. Ерохин В.В. Безопасность информационных систем: учеб пособие / В.В. Ерохин, Д.А. Погонышева, И.Г. Степченко. - М.: Флинта, 2016. – 184 c.
  10. Информатика для экономистов: учебник для академического бакалавриата/Под ред. В.П. Полякова.- М.: Юрайт, 2015. – 524 с.
  11. Информационные системы и технологии: Научное издание. / Под ред. Ю.Ф. Тельнова. - М.: ЮНИТИ, 2016. – 303 c.
  12. Кулямин В.В. Технологии программирования. Компонентный подход / В.В. Кулямин. - М.: Интуит, 2014. – 463 c.
  13. Кучинский В.Ф. Сетевые технологии обработки информации: учеб. пособие. – СПб: Университет ИТМО, 2015. – 115 с.
  14. Лукин В.Н. Введение в проектирование баз данных / В.Н. Лукин. - М.: Вузовская книга, 2015. – 144 c.
  15. Моделирование экономических процессов: Учебник. / Под ред. М.В. Грачевой, Ю.Н. Черемных . - М.: ЮНИТИ, 2015. – 543 c.
  16. Романова Ю.Д. Информационные технологии в управлении персоналом: Учебник и практикум / Ю.Д. Романова, Т.А. Винтова, П.Е. Коваль. - Люберцы: Юрайт, 2016. – 291 c.
  17. Советов Б.Я. Информационные технологии: теоретические основы: Учебное пособие / Б.Я. Советов, В.В. Цехановский. - СПб.: Лань, 2016. – 448 c.
  18. Уткин В.Б. Информационные системы и технологии в экономике: учебник / В.Б. Уткин, К.В. Балдин. - М.: Юнити-Дана, 2015. - 336 с.
  19. Хетагуров Я.А. Проектирование автоматизированных систем обработки информации и управления (АСОИУ) / Я.А. Хетагуров. - М.: БИНОМ. Лаборатория знаний, 2015. – 240 c.
  20. Ясенев В.Н. Информационные системы и технологии в экономике: учебное пособие / В.Н. Ясенев. - 3-е изд., перераб. и доп. - М. : Юнити-Дана, 2015. - 560 с.

Приложения

Приложение А

Схема данных

Приложение Б

Код программы

Код программы главной формы

unit prog;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, XPMan, Unit2Klient, Unit3Organiz, Unit4Sotr, Unit5Postav,

Unit6Edin, Unit7Tip, Unit8Metod, Unit9Tovar, Unit10Zakaz, Unit11Dogovor,

jpeg, ExtCtrls, Unit12poisktovara, Unit13Dogovora, Unit14Tovaru;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

Image1: TImage;

Image2: TImage;

Image3: TImage;

N15: TMenuItem;

XPManifest1: TXPManifest;

N16: TMenuItem;

N17: TMenuItem;

N18: TMenuItem;

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N12Click(Sender: TObject);

procedure N13Click(Sender: TObject);

procedure N14Click(Sender: TObject);

procedure N15Click(Sender: TObject);

procedure N16Click(Sender: TObject);

procedure N17Click(Sender: TObject);

procedure N18Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var Form1: TForm1;

implementation

uses Unit15Dolgnost;

{$R *.dfm}

procedure TForm1.N4Click(Sender: TObject);

begin

Close();

end;

procedure TForm1.N5Click(Sender: TObject);

begin

Form2.Show;

end;

procedure TForm1.N6Click(Sender: TObject);

begin

Form3.Show;

end;

procedure TForm1.N7Click(Sender: TObject);

begin

Form4.Show;

end;

procedure TForm1.N8Click(Sender: TObject);

begin

Form5.Show;

end;

procedure TForm1.N9Click(Sender: TObject);

begin

Form6.Show;

end;

procedure TForm1.N10Click(Sender: TObject);

begin

Form7.Show;

end;

procedure TForm1.N11Click(Sender: TObject);

begin

Form8.Show;

end;

procedure TForm1.N12Click(Sender: TObject);

begin

Form9.Show;

end;

procedure TForm1.N13Click(Sender: TObject);

begin

Form10.Show;

end;

procedure TForm1.N14Click(Sender: TObject);

begin

Form11.Show;

end;

procedure TForm1.N15Click(Sender: TObject);

begin

Form12.Show;

end;

procedure TForm1.N16Click(Sender: TObject);

begin

Form13.Show;

end;

procedure TForm1.N17Click(Sender: TObject);

begin

Form14.Show;

end;

procedure TForm1.N18Click(Sender: TObject);

begin

Form15.Show;

end;

end.

Код программы (Реестр товаров)

unit Unit14Tovaru;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DB, ADODB, DBCtrls, ExtCtrls, Mask, jpeg, Grids,

DBGrids;

type

TForm14 = class(TForm)

Image1: TImage;

Image2: TImage;

DataSource1: TDataSource;

ADOTable1: TADOTable;

ADOQuery1: TADOQuery;

ADOConnection1: TADOConnection;

Button1: TButton;

Edit1: TEdit;

DBGrid1: TDBGrid;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form14: TForm14;

implementation

{$R *.dfm}

procedure TForm14.Button1Click(Sender: TObject);

begin

try

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Text:='';

ADOQuery1.SQL.Add('SELECT * FROM Товар WHERE [Наименование товара] LIKE ''%'+Edit1.Text+'%''');

ADOQuery1.Active:=True;

except

on e:Exception do

end;

end;

end.

Код программы (Реестр товаров)

unit Unit13Dogovora;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, ADODB, jpeg, StdCtrls;

type

TForm13 = class(TForm)

Image1: TImage;

Image2: TImage;

Image3: TImage;

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

ADOQuery1: TADOQuery;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Button1: TButton;

ComboBox1: TComboBox;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form13: TForm13;

implementation

{$R *.dfm}

procedure TForm13.Button1Click(Sender: TObject);

begin

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Text:='';

ADOQuery1.SQL.Add('SELECT * FROM Договор WHERE [Статус выполнения] LIKE ''%'+ComboBox1.Text+'%''');

ADOQuery1.Active:=True;

end;

end.