МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ Хабаровский институт инфокоммуникаций (филиал) федерального государственного бюджетного образовательного учреждения высшего образования «Сибирский государственный университет телекоммуникаций и информатики» (ХИИК СибГУТИ) Факультет 09.03.01 «Информатика и вычислительная техника» Кафедра Информационных технологий КУРСОВАЯ РАБОТА По дисциплине Технология разработки программного обеспечения на тему: Разработка программного комплекса «Строительная фирма» ДОПУЩЕНА К ЗАЩИТЕ «____»_________________________ _______________________________ Подпись расшифровка подписи И.О. фамилия студента Оценка_________________________ «___»__________________________ _______________________________ Подпись Выполнил: студент группы ПОВТ-22д Р.Р. Гасанов Проверил: кандидат технических наук Заведующий кафедрой ИТ Р.М. Данилов расшифровка подписи И.О. фамилия преподавателя Хабаровск 2023 г. ТЕХНИЧЕСКОЕ ЗАДАНИЕ На курсовую работу (проект) по дисциплине (МДК) Технология разработки программного обеспечения Студента 1 курса факультета 09.03.01 «Информатика и вычислительная техника» группы ПОВТ-22Д Гасанова Руслана Руслановича Тема: Разработка программного комплекса «Строительная фирма» Исходные данные: разработать программный комплекс для учёта заказов строительной фирмы по ремонтным работам, в котором будут реализованы функции базы данных: добавление записи, сохранение базы данных, открытие раннее созданной базы данных, удаление записи, поиск и выход из приложения. Дата выдачи задания «__» ______ 2023 года Дата сдачи работы (проекта) на проверку «__» ______ 2023 года Задание принял к исполнению ____________ / Р.Р. Гасанов / Руководитель курсового проекта __________ / Р.М. Данилов / Рассмотрено на заседании кафедры «_____________________» «____» ________________________ 2023 г. Зав. кафедрой ________________________ / И.О. Фамилия зав. кафедрой / 2 Содержание Введение ....................................................................................................................... 4 Основная часть ............................................................................................................ 6 Теоретическая часть................................................................................................. 6 Практическая часть .................................................................................................. 9 Блок-схема ................................................................................................................ 9 Главная форма ..................................................................................................... 10 Форма «Заказ» ..................................................................................................... 11 Код основной формы .......................................................................................... 12 Форма «Заказ» ..................................................................................................... 17 Заключение ................................................................................................................ 21 Список использованных источников ...................................................................... 22 3 Введение На сегодняшний день использование баз данных и систем становится неотъемлемой частью информационных функционирования любых организаций и предприятий. В связи с этим большую актуальность приобретает освоение принципов построения и эффективного применения соответствующих технологий и программных продуктов: систем управления базами данных (СУБД), автоматизации проектирования, средств администрирования и защиты баз данных и других. Строительство – одна из важнейших отраслей материального производства, назначение которой состоит в том, что она наряду с промышленностью создает, обновляет, реконструирует и расширяет основу национальной экономики страны. Основой национальной экономики страны являются основные производственные и непроизводственные фонды. Строительство, как отрасль, тесно связано практически со всеми другими отраслями материального производства. Его обслуживает более 70 других отраслей экономики. В связи с этим, автоматизация деятельности строительных компаний становится все более актуальной задачей. В данной курсовой работе рассматривается разработка программного комплекса для строительной фирмы. В рамках курсовой работы будут рассмотрены основные этапы разработки программного комплекса, основные функции и возможности. Результатом работы будет готовый программный комплекс, который будет облегчать работу и повышать эффективность строительной фирмы. Тема данной курсовой работы - Разработка программного комплекса для строительной фирмы. Целью работы является разработка подсистемы для учёта и расчёта заявок на отделку комнаты штукатуркой. Задачи курсовой работы: Разработка функционала приложения, поддерживающего работу с базами данных; 4 Возможность пользователя программного комплекса найти нужную информацию; Разработка пользовательского интерфейса, удобного для пользователя; Разработка приложения с использованием современных программных средств; Актуальность определяется широким внедрением программных комплексов во все сферы деятельности, как организаций, так и физических лиц. Целью автоматизации является - повышение производительности труда, улучшение качества продукции, устранение человека от опасных для здоровья производств. 5 Основная часть Теоретическая часть Для разработки приложения была выбрана среда программирования Delphi. Среда визуального объектно-ориентированного проектирования Delphi позволяет: 1. Быстро создавать профессионально выглядящий оконный интерфейс для любых приложений; интерфейс удовлетворяет всем требованиям Windows и автоматически настраивается на ту систему, которая установлена, поскольку использует функции, процедуры и библиотеки Windows. 2. Создавать профессиональные программы установки для приложений Windows, учитывающие все специфику и все требования ОС. 3. Создавать законченные приложения для Windows самой различной направленности. 4. Создавать свои динамически присоединяемые библиотеки компонентов, форм, функций, которые потом можно использовать из других языков программирования. 5. Создавать справочные системы, как для своих собственных приложений, так и для любых других. 6. Формировать и печатать сложные отчеты, включающие таблицы, графики, диаграммы и т.п. 7. Создавать мощные системы работы с базами данных любых типов. В основе идеологии Delphi лежат методология ООП и технология визуального проектирования. Работа выполняется в интегрированной среде (далее ИСР) DELPHI, которая представляет пользователю формы, где размещаются с помощью мыши необходимые компоненты, имеющиеся в библиотеки DELPHI. С помощью простых манипуляций можно изменить размеры и расположение этих компонентов. При этом в процессе проектирования можно постоянно видеть результат. Это изображение формы и расположение на ней компонентов. Во время 6 проектирования формы, редактор кода-Delphi автоматически генерирует код программы, включая в неё соответствующие фрагменты, описывающие данный компонент. Компоненты могут быть визуальными – видимыми при работе приложения и не визуальными, выполняющие некоторые служебные функции. Они отражаются в виде значка в процессе проектирования и не видны при работе приложения. В соответствующих диалоговых окнах можно изменить заданные по умолчанию свойства компонентов и при необходимости написать обработчики событий. В данной теоретической части курсовой работы будет рассмотрено программирование на языке Delphi, а также основные принципы разработки программного комплекса. Delphi - это интегрированная среда разработки (IDE) для создания приложений на языке программирования Object Pascal. Delphi был разработан компанией Borland и первоначально выпущен в 1995 году. В настоящее время Delphi продается компанией Embarcadero Technologies и используется для создания различных приложений, включая приложения для Windows и мобильных устройств, веб-приложения и базы данных. Один из основных принципов разработки программного комплекса на Delphi - это использование объектно-ориентированного подхода. В объектноориентированном программировании объекты рассматриваются как независимые единицы, которые могут взаимодействовать друг с другом. Этот подход позволяет создавать более гибкие и модульные приложения. Для разработки программного комплекса на Delphi необходимо использовать различные инструменты и компоненты. Delphi поставляется с широким набором стандартных компонентов, таких как кнопки, текстовые поля, таблицы и т.д. (кроме того, существует множество сторонних компонентов). 7 Одной из основных задач при разработке программного комплекса для строительной фирмы на Delphi является управление базами данных. В Delphi есть мощный набор инструментов для работы с базами данных, включая компоненты для подключения к базам данных, компоненты для работы с таблицами и запросами, а также средства для создания отчетов и формирования статистических данных. В итоге, разработка программного комплекса на Delphi для строительной фирмы позволит создать эффективное приложение, которое автоматизирует учет заказов на строительные работы, контроль за качеством и сроками выполнения работ и учет финансовых операций. 8 Практическая часть Блок-схема Запуск программы Сохранение базы данных Выход Поиск информации Загрузка базы Добавление нового заказа Запись данных: заказчик, адрес размеры комнат и т.д. Расчет стоимости Вывод стоимости и расхода материалов Перенос в основную таблицу базы данных Выход 9 Удаление записи Главная форма После запуска программы появляется форма (Рисунок 1), показывающая три таблицы семь кнопок и два однострочных поля для ввода. Первая таблица, занимающая большую часть формы, отображает записи заказчиков. Записи состоят из шести параметров: ФИО заказчика, адрес, количество расходуемых пятикилограммовых упаковок клея и количества плиток, тип плитки и стоимость работы. Справа от таблицы находятся панель с основными элементами управления программного комплекса. Кнопка «Добавить» открывает форму для добавления записи. Кнопка «Сохранить» передаёт всю записанную в таблице информацию в текстовый файл. Кнопка «Удалить» удаляет выбранную запись. Кнопка «Загрузить» передаёт из текстового файла в таблицу данные. Два однострочных поля для ввода предназначены для выполнения команд кнопок «Поиск по заказчику» и «Поиск по стоимости». Результаты поиска появляются в таблицах ниже: в правую выводится запрос по стоимости, в левую - по заказчику. Кнопка «Выход» осуществляет закрытие приложения. Рисунок 1. Основная форма 10 Форма «Заказ» После того, как пользователь нажал кнопку добавить, появляется форма «Заказ» ,(рисунок 2). На форме мы видим две кнопки «Рассчитать» и «Закрыть» поля для ввода информации о заказе: длины комнаты, ширины комнаты, размер квадратной плитки, заказчик и адрес места. После нажатия кнопки «Рассчитать» появляются результаты расчёта: необходимое количество упаковок материала для укладки плитки, а также стоимость заказа. Более того, данные о заказчике, стоимость заказа, а также расход материала переносится в основную таблицу. Кнопка «Закрыть» закрывает форму. Рисунок 2. Форма для добавления операции 11 Код основной формы Рисунок 3. Процедура по созданию заголовков для таблиц. В этом коде (рис.3) мы создаем заголовки для трех таблиц: главной таблицы (GridOut), таблицы для поиска по заказчику (Grid_find1) и таблицы для поиска по стоимости (Grid_find2) с помощью встроенной функции Cells. Рисунок 4. Процедура для сохранения данных в текстовый файл. В данном фрагменте кода (рис.4) мы создаем процедуру для сохранения данных в текстовом файле. В начале, создается файл, в котором мы будем сохранять информацию, открывается для записи и данные записываются с помощью цикла. 12 Рисунок 5. Процедура по загрузке данных из текстового файла в главную таблицу. В данном фрагменте кода (рис.5) мы создаем процедуру для загрузки данных из текстового файла. В начале, создается файл, из которого мы будем выгружать информацию, открывается для чтения и данные записываются в главную таблицу с помощью цикла. Рисунок 6. Процедура для открытия формы «Заказ». В данном коде (рис.6) выполняется процедура открытия формы «Заказ». 13 Рисунок 7. Процедура, вызывающая процедуру для сохранения данных в текстовый файл. В данном фрагменте кода (рис.7) вызывается процедура по сохранению данных в текстовый файл. Рисунок 8. Процедура, удаляющая запись из главной таблицы. В данном коде (рис.8) выполняется процедура по удалению последней записи из главной таблицы с помощью цикла. Рисунок 9. Процедура, вызывающая процедуру для загрузки данных из текстового файла в главную таблицу. В данном фрагменте кода (рис.9) вызывается процедура по загрузке данных из текстового файла. 14 Рисунок 10. Процедура для добавления результата поиска по заказчику в таблицу. В данном коде (рис.10) мы добавляем результат поиска по заказчику в таблицу. В начале, ищется пустая строка в таблице, дальше создается цикл в котором проверяется ФИО заказчика, и если она равна заданной ФИО то все данные об этом заказчике выносятся в таблицу. 15 Рисунок 11. Процедура для добавления результата поиска по стоимости в таблицу. В данном коде (рис.11) мы добавляем результат поиска по стоимости в таблицу. В начале, ищется пустая строка в таблице, дальше создается цикл в котором проверяется стоимость заказа, и если она равна заданной стоимости то все данные об этом заказе выносятся в таблицу. Рисунок 12. Процедура для закрытия главной формы. В данном фрагменте кода (рис.12) выполняется закрытие главной формы. 16 Форма «Заказ» Рисунок 13.1. Присваивание значений переменным. В данном фрагменте кода (рис.13.1) мы присваиваем переменным значения, которые ввел клиент на форму. Рисунок 13.2. Расчет количества плиток, упаковок клея и добавление результата на форму. В данном фрагменте кода (рис.13.2.) мы рассчитываем количество плиток и упаковок клея и дальше выводим их на форму заказ. Рисунок 13.3. Добавление ФИО и адреса заказчика, количества плиток и упаковок клея в главную таблицу на основной форме. В данном фрагменте кода (рис.13.3) мы создаем строчку в главной таблице и загружаем в нее получившиеся данные при расчете в форме «Заказ» 17 Рисунок 13.4.1. Определение стоимости плитки в зависимости от выбора клиента. В данном участке кода (рис.13.4.1) мы прописываем цену одной плитки и упаковки клея для каждого вида плитки. 18 Рисунок 13.4.2. Определение стоимости плитки в зависимости от выбора клиента. В данном участке кода (рис.13.4.2) мы прописываем цену одной плитки и упаковки клея для каждого вида плитки. Рисунок 13.5. Расчет итоговой стоимости заказа, добавление результата на форму и вывод в главную таблицу на основной форме. В данном фрагменте кода (рис.13.5) мы рассчитываем итоговую стоимость заказа и записываем в главную таблицу на основной форме. 19 Рисунок 13.6. Процедура для закрытия формы «Заказ» В этом отрывке кода (рис.13.6) мы описываем процедуру для закрытия формы «Заказ». 20 Заключение В результате выполнения работы было разработано приложение, позволяющее выполнять учет заявок на выполнение ремонтных работ по отделки стен. Также была реализована функция расчёта. В ходе анализа возможностей разработанного ПС был сделан вывод о том, что полноценная реализация подобного ПС требует более глубокой детализации предметной области. Однако это более сложная задача, чем та, что ставилась в рамках курсового проекта. Клиент имеет возможность работы с информацией, хранимой в базе данных (такая информация представлена в виде таблиц базы данных). Клиент может просматривать, редактировать, осуществлять поиск и т.д. необходимой ему информации. Применение базы данных в качестве хранилища информации позволяет оптимально и эффективно хранить информацию, ее структурировать. В результате выполнения данного курсового проекта были получены дополнительные навыки в работе с языком Delphi, были получены знания о различных методах построения функциональных и информационных моделей. 21 Список использованных источников 1. The Delphi: Уроки для новичков - URL: https://thedelphi.ru/lessons.php (дата обращения: 18.05.2023) дбюл 2. RSDN: Программирование на языке Delphi (дата https://www.rsdn.org/article/Delphi/Delphi_7_02.xml - URL: обращения: 13.05.2023). 3. Справочник от автор24: язык программирования Delphi - URL: https://spravochnick.ru/programmirovanie/yazyki_programmirovaniya/delphi_yazyk _programmirovaniya/ (дата обращения: 12.05.2023). 4. Хабр: История языков программирования: Delphi — больше, чем просто язык - URL: https://habr.com/ru/articles/316492/ (дата обращения: 10.01.2023) 5. Checkrio: Язык программирования Delphi: зачем нужен и стоит ли учить новичкам - URL: https://checkroi.ru/blog/yazyk-programmirovaniya-delphi 6. Helloworld: Справочное руководство по Delphi - URL: (дата https://www.helloworld.ru/texts/comp/lang/delphi/delphi1/les00.htm обращения: 22.05.2023). 7. Википедия: язык программирования Delphi – URL: https://ru.wikipedia.org/wiki/Delphi_(язык_программирования) (дата обращения: 01.05.2023). 8. Programmydlycompa: Как работать в Delphi: конкретные уроки - URL: https://programmydlyacompa.ru/kak-rabotat-v-delphi-konkretnye-uroki/ (дата обращения: 05.05.2023). 9. Delphi: официальный сайт - https://delphi.embarcadero.com/ (дата обращения: 10.02.2023). 10. Geekbrains: перспективы развития Язык программирования Delphi: особенности и - URL: https://gb.ru/blog/delphi/ (дата обращения: 10.05.2023). 22 11. Delphi-manual: Уроки Delphi начинающим с нуля - URL: https://delphi-manual.ru/ (дата обращения: 01.05.2023) 12. and Folio3: Delphi Programming Language – IDEs Versions, Code, Videos Tutorials - URL: https://www.folio3.ai/blog/delphi-programming- language/ (дата обращения: 21.05.2023). – URL: https://flylib.com/books/en/2.37.1/the_delphi_programming_language.html (дата 13. Flylib: The Delphi Programming обращения: 10.05.2023). 23 Language