Разработка программного продукта для решения прикладных задач
ВВЕДЕНИЕ
В нашем информационном обществе, информационные технологии все сильнее внедрятся в повседневную жизнь людей. Для удовлетворения их потребностей необходима разработка различных автоматизированных систем. Эти системы позволяют эффективно работать с вычислительной техникой и решать прикладные задачи.Для разработки таких информационных систем требуются навыки использования средствами разработки, декомпозиции задач, тестирования информационных систем средствами разработки и умение сопровождать созданные информационные системы. Данная курсовая работа содержит в себе решение четырех прикладных задач, успешно решенных средствами высокоуровневых методов программирования.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 4
1. АНАЛИЗ ЗАДАНИЙ КУРСОВОЙ РАБОТЫ 5
1.1. Исходные данные к заданиям курсовой работы 5
1.2. Анализ методических указаний, входных и выходных данных к заданиям курсовой работы 7
1.3. Выбор и обоснование необходимых библиотек и среды разработки 11
1.4. Выводы по 1 главе 11
2. РАЗРАБОТКА ПРОГРАММНОГО ПРОДУКТА ДЛЯ РЕШЕНИЯ ПРИКЛАДНЫХ ЗАДАЧ. 12
2.1. Работа с наборами данных 12
2.1.1. Построение алгоритма решения задания без графического интерфейса 12
2.1.2. Разработка программной реализации на языке программирования 13
2.2. Разработка экспертной системы 14
2.2.1. Построение алгоритма решения задания с графическим интерфейсом 14
2.2.2. Разработка программной реализации на языке программирования 14
2.3. Разработка аналитической системы 16
2.3.1. Построение алгоритма решения задания с графическим интерфейсом 16
2.3.2. Разработка программной реализации на языке программирования и с использованием дополнительных библиотек 17
2.3.2.1. Проектирование стандартного функционала 17
2.4 Разработка аналитической системы 18
2.4.1. Построение алгоритма решения задания с графическим интерфейсом 18
2.4.2. Разработка программной реализации на языке программирования и с использованием дополнительных библиотек 19
2.5. Тестирование и отладка 21
2.6. Выводы по 2 главе 24
3 РАЗРАБОТКА ТРЕБОВАНИЙ К ТЕХНИЧЕСКИМ СРЕДСТВАМ РЕАЛИЗАЦИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ РЕШЕНИЯ ПРИКЛАДНЫХ ЗАДАЧ 25
Выводы 25
Список использованной литературы 26
Приложение 1 27
Приложение 2 28
Приложение 3 33
Приложение 4 42
Список использованной литературы
1. Доусон М. Программируем на Python / М.Доусон; пер. с англ. В.Порицкий. – С-П.:Питер, - 2019. – 416 стр.
2. PEP 8 - руководство по написанию кода на Python [Электронный ресурс]. – Режим доступа: https://pythonworld.ru/osnovy/pep-8-rukovodstvo-ponapisaniyu-koda-na-python.html, свободный. – Загл. с экрана (дата обращения: 25.12.2020).
3. Гамма Э. Паттерны объектно-ориентированного проектирования / Э. Гамма, Р. Хелм, Дж. Ральф, Дж. Влиссидес / пер. с англ. А.А. Слинкин. – С-П.: Питер, - 2020 – 448 стр.
4. Копец Д. Классические задачи Computer Science на языке Python / Д. Копец; пер. с англ. Е.Л. Сандицкая. – М.: Прогресс книга, - 2020. – 256 стр.
5. Хайнеман Дж. Алгоритмы. Справочник с примерами на C, C++, Java и Python / Дж. Хайнеман, Г. Поллис, Ст. Селков / пер. с англ. И.В. Красиков. - М.: Вильямс, 2017. – 432 стр.
6. GUI Help/Tkinter book - Викиучебник [Электронный ресурс]. – Режим доступа: https://ru.wikibooks.org/wiki/GUI_Help/Tkinter_book, свободный. – Загл. с экрана (дата обращения: : 5.04.2022).
7. Ханойская башня - Википедия, свободная энциклопедия [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Ханойская_башня – Загл. с экрана (дата обращения: 5.04.2022).
8. Kivy Basics — Kivy 2.1.0 documentation [Электронный ресурс] – Режим доступа: https://kivy.org/doc/stable/guide/basic.html– Загл. с экрана (дата обращения: 1.04.2022).
9. Учебник для начинающих Kivy [Электронный ресурс] – Режим доступа: https://pythobyte.com/beginner-kivy-tutorial-basic-crash-course-for-apps-in-kivy-y2ubiq0gz-1febdbbb/ – Загл. с экрана (дата обращения: 1.04.2022).
Программная реализация использует объектно-ориентированный подход. Он был выбран по причине того, что количество строк кода перешло бы за сотню, а поддерживать программы в процедурном стиле куда сложнее. Для более легкого взаимодействия между слоями приложения, был использован паттерн проектирования MVP (Model – View – Presenter). Особенностью этого паттерна проектирования является то, что экземпляр класса Presenter берет на себя функциональность посредника и отвечает за управление событиями пользовательского интерфейса. Model (модель[данных]) в данном случае инкапсулирует ассоциативный массив, который хранит данные по количеству средств у клиента. View (представление) – графический интерфейс программы, созданный с помощью библиотеки kyni.