Добавлен: 23.05.2023
Просмотров: 145
Скачиваний: 2
СОДЕРЖАНИЕ
ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ
ГЛАВА 2. АВТОМАТИЗАЦИЯ РАБОТЫ СКЛАДА
2.2 Проектирование диаграммы классов
2.3 Проектирование диаграммы вариантов использования
2.4 Проектирование диаграммы деятельности (активностей)
ГЛАВА 3. РЕКОМЕНДАЦИИ К ВНЕДРЕНИЮ ПРОГРАММНОГО КОМПЛЕКСА УПРАВЛЕНИЯ СКЛАДСКИМИ ОПЕРАЦИЯМИ
ВВЕДЕНИЕ
Важнейшим шагом на пути к совершенствованию языков программирования стало появление объектно-ориентированного подхода к программированию (или, сокращенно, ООП) и соответствующего класса языков.
При объектно-ориентированном подходе программа представляет собой описание объектов, их свойств (или атрибутов), совокупностей (или классов), отношений между ними, способов их взаимодействия и операций над объектами (или методов).
Несомненным преимуществом данного подхода является концептуальная близость к предметной области произвольной структуры и назначения. Механизм наследования атрибутов и методов позволяет строить производные понятия на основе базовых и таким образом создать модель сколь угодно сложной предметной области с заданными свойствами.
Еще одним теоретически интересным и практически важным свойством объектно - ориентированного подхода является поддержка механизма обработки событий, которые изменяют атрибуты объектов и моделируют их взаимодействие в предметной области. Объектно-ориентированные языки программирования пользуются в последнее время большой популярностью среди программистов, так как они позволяют использовать преимущества объектно-ориентированного подхода не только на этапах проектирования и конструирования программных систем, но и на этапах их реализации, тестирования и сопровождения, что и обусловило актуальность нашей работы.
Целью данной курсовой работы является закрепление полученных теоретических знаний, развитие практических навыков и приемов при анализе и разработке базы данных в своей предметной области на основе объектно-ориентированного подхода.
Объектом данной дипломной работы является автоматизация складского учета материальных ценностей.
Предметом исследования представленной работы является производственное предприятие.
Для достижения поставленной цели в ходе работы решены следующие задачи:
- изучить теоретические основы объектно-ориентированного программирования;
- решить задачу по автоматизации работы склада;
- разработать рекомендации к внедрению информационной системы управления складскими операциями.
Структурно работа состоит из введения, трех глав, заключения и списка используемых источников.
ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ
ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ
Основой объектно-ориентированного программирования (ООП) является понятие объект. Его суть состоит в том, что объект объединяет в себе структуры данных и характерные только для него процедуры (методы) их обработки. Такой подход полностью меняет стиль программирования, он заключается в отображении физических объектов реального мира на программную среду. Работать с объектами удобнее и естественнее, чем с традиционными конструкциями процедур преобразования данных. Объединение данных и свойственных им процедур обработки в одном объекте, детальная реализация которых остается скрытой для пользователей, называется инкапсуляцией и является одним из важнейших принципов ООП.
Другим фундаментальным понятием ООП является класс. Класс есть шаблон, на основе которого может быть создан конкретный программный объект, он описывает свойства и методы, определяющие поведение объектов этого класса. В ООП класс представляет собой абстрактный тип данных и является механизмом для создания объектов. Объявление класса есть логическая абстракция, определяющая новый тип объекта, а определение объекта как экземпляра класса создает этот объект физически, т.е. размещает объект в памяти.
ООП является более естественным, так как предоставляет возможность выбрать имеющиеся или создать новые объекты и организовать взаимодействия между ними. Следовательно, объектно-ориентированные языки по сравнению с процедурными являются языками более высокого уровня.
Пионером данного направления явился язык Смолток (Smalltalk), первоначально предназначенный для реализаций функций машинной графики. Работа над языком началась в 1970 г. в исследовательской лаборатории XEROX (США), а закончилась в 1980 г. окончательным вариантом интерпретатора Smalltalk-80. Данный язык оригинален тем, что его синтаксис очень компактен и базируется исключительно на понятии объекта. В нем отсутствуют операторы или данные, все, что входит в Смолток, является объектами, а объекты общаются друг с другом исключительно с помощью сообщений. В настоящее время версия VisualAge for Smalltalk активно развивается компанией IBM.
К наиболее распространенным современным языкам объектно-ориентированного программирования относятся C++ и Java.
Язык C++ был разработан в начале 80-х гг. Бьярном Страуструпом в лаборатории Bell корпорации AT&T. Им была создана компактная компилирующая система, в основе которой лежал язык С, дополненный элементами языков BCPL, Simula-67 и Алгол-68. Более ранние версии языка были известны как «С с классами». В июле 1983 г. C++ был впервые использован за пределами исследовательской группы автора, однако тогда еще многие особенности языка не были придуманы. К 1990 г. была выпущена третья версия языка C++, стандартизированная американским государственным комитетом стандартов ANSI. В 1990 г. сотрудник корпорации Sun Д. Гослинг на основе расширения C++ разработал объектно-ориентированный язык Oak, основным достоинством которого было обеспечение сетевого взаимодействия различных по типу устройств. Новая интегрируемая в Internet версия языка получила название Java. С января 1995 г. Java получает распространение в Internet.
Java является простым объектно-ориентированным и архитектурно-нейтральным языком интерпретирующего типа, обеспечивающим надежность, безопасность и переносимость, обладает высокой производительностью, многопоточностью и динамичностью.
Синтаксис языков C++ и Java практически полностью совпадает. Принципиальным различием является то, что язык C++ компилируемый в машинный код, a Java – в платформо-независимый байт-код (каждая команда занимает один байт), этот байт-код может выполняться с помощью интерпретатора – виртуальной Java-машины (Java Virtual Machine), версии которой созданы сегодня для любых платформ. С точки зрения возможностей объектно-ориентируемых средств, Java имеет ряд преимуществ перед C++. Язык Java имеет более гибкую и мощную систему инкапсуляции информации.
Механизм наследования, реализованный в Java, обязывает к более строгому подходу к программированию, что способствует надежности и читабельности кода. Язык C++ обладает сложной неадекватной и трудной для понимания системой наследования. Возможности динамического связывания объектов одинаково хорошо представлены в обоих языках, но синтаксическая избыточность C++ и здесь принуждает к выбору языка Java. Сегодня Java по популярности занимает второе место в мире после Бейсика.
Идеи ООП проникли во многие процедурные языки. Например, в состав интегрированной системы программирования Паскаль (корпорации Borland International), начиная с версии 5.5, входит специальная библиотека ООП Turbo Vision.
С середины 90-х гг. многие объектно-ориентированные языки реализуются как системы визуального программирования. Такие системы имеют интерфейс, позволяющий при составлении текста программы видеть те графические объекты, для которых она пишется.
Отличительной особенностью этих систем является наличие в них среды разработки программ из готовых «строительных блоков», позволяющих создавать интерфейсную часть программного продукта в диалоговом режиме, практически без написания программных операций. Система берет на себя значительную часть работы по управлению компьютером, что делает возможным в простых случаях обходиться без особых знаний о деталях ее работы. Она сама пишет значительную часть текста программы: описания объектов, заголовки процедур и многое другое. Программисту остается только вписать необходимые строчки, определяющие индивидуальное поведение программы, которые система не в состоянии предвидеть. Но даже в этих случаях система сама указывает место для размещения таких строк.
К объектно-ориентированным системам визуального проектирования относятся: Visual Basic, Delphi, C++ Builder, Visual C++. Это системы программирования самого высокого уровня. VBA (Visual Basic for Application) является общей языковой платформой для приложений Microsoft Office (Excel, Word, Power Point и др.). VBA соблюдает основной синтаксис и правила программирования языков Бейсик-диалектов. VBA помогает довольно сильно расширить возможности приложений за счет написания макросов[1]. VBA позволяет создавать объекты управления графического интерфейса пользователя, задавать и изменять свойства объектов, подключать к ним необходимый для конкретного случая программный код. С помощью VBA можно производить интеграцию между различными программными продуктами. Программы на языке VBA для приложений создаются двумя способами: в автоматическом режиме как результат построения клавишной макрокоманды или путем написания программного кода.
ГЛАВА 2. АВТОМАТИЗАЦИЯ РАБОТЫ СКЛАДА
2.1 Анализ выбранной сущности
Проанализируем выбранную сущность и выделим наиболее значимые её составляющие. Названия, атрибуты (поля) и методы определяемых классов запишем в скобках.
Работу склада можно охарактеризовать следующим. На складе хранятся различные товары, которые поступают от поставщиков. Склад принимает заказы на товары, которые обрабатывает менеджер. После обработки заказа выписывается накладная, в соответствии с которой кладовщик отгружает товар клиенту склада.
Склад (stock) может иметь такие атрибуты, как наименование (name_stock) и адрес (address_stock). Ключевой сущностью склада будет являться товар (product). Класс товар (product) может иметь такие атрибуты, как код товара (number_product), его наименование (name_product), единица измерения (unit_product), цена за единицу товара (price_product) и описание (description_order).
В случае, если склад продуктовый, товары могут быть разделены на группы. Например, можно разделить продукты на четыре категории, которые также могут быть отдельным классами: консервы (preserve), бакалея (grocery), кондитерские изделия (confection), напитки (beverage).
Товар, который лежит на складе, может быть выделен в отдельный класс (product_stock), связанный со складом отношением композиции и иметь атрибут количество товара (Amount_Product).
Продукцию на склад поступает от поставщика товара (provider_product), атрибуты которого должны состоять из наименования поставщика (name_provider) и адреса поставщика (address_provider).
При работе склада менеджер принимает и обрабатывает заказы и выписывает накладные. Таким образом, можно выделить классы менеджер (manager) и кладовщик (storekeeper). Данные классы могут быть обобщены в общем классе – работник (employee). Класс менеджер может содержать дату очередного повышения квалификации работника (data_training), а класс кладовщик – разряд или квалификацию сотрудника (rank).
Обрабатываемые менеджером заказы можно выделить в класс заказ (order) с атрибутами статус заказа (condition_order), дата заказа (data_order). Кроме того, необходимо предусмотреть операцию отмены заказа (cancel_order).
Состав конкретного заказа также будет являться классом (content_order), который может характеризоваться следующими атрибутами – код товара (product_order), количество товара (amount_order), цена товара (price_order), общая стоимость (total_order).
В результате обработки заказа, менеджер выписывает накладную на отгрузку товара. Определим класс для накладных (invoice) с атрибутами – статус накладной (condition_invoice), дата исполнения (data_invoice), сумма (total invoice), вес (weigth_invoice), номер клиента (number_client).
Выписанная накладная может содержаться в отдельном классе (entry_invoice) с атрибутами – наименование товаров (name_invoice), количество (amount_invoice), вес товаров (weight_invoice), цена товаров (price_invoice), общая стоимость выписанных товаров (total_invoice).
Накладные и заказы можно обобщить в классе документы (document) с атрибутами – номер документа (number_document), дата заполнения документа (date_document).
Таким образом, диаграмма будет состоять из 17 классов.