хууууй. Курсовой проект Богданов М.В.. Разработка программ для решения математических задач с использованием численных методов по специальности
Скачать 0.9 Mb.
|
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РФ ФГБОУ ВО ПСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ КОЛЛЕДЖ ПСКОВГУ КУРСОВОЙ ПРОЕКТ ПМ.03 Участие в интеграции программных модулей МДК.03.01 Технология разработки программного обеспечения Тема: «Разработка программ для решения математических задач с использованием численных методов» по специальности 09.02.03 Программирование в компьютерных системах Обучающейся группы 0314-36ПО Богданова М.В. Проверил(а): Ушарнова Т.О. Оценка____________ Подпись___________ Псков 2022 СодержаниеВведение 3 1. Постановка задачи 3 Техническое задание 5 Введение 7 1.Основание для разработки 7 3. Требования к программе 7 4.Требования к программной документации 9 2. Разработка алгоритма и программы решаемой задачи 17 3.Разработка и программный код 21 4.Программная документация 25 4.1 Описание применения 26 Заключение 28 Экономическая часть 29 Список использованных источников информации 32 ВведениеЦелью данного курсового проекта является применение теоритических знаний о решении математических задач с использованием численных методов и умение разрабатывать программы. Так же в курсовом проекте используется: применение имеющихся знаний в построении алгоритмов и диаграмм, графиков на практике, необходимых в программной документации к проекту. Постановка задачиДля выполнения данной разработки необходимо реализовать программу для решения математических задач с использованием численных методов. С этой целью необходимо решить следующие задачи: Решение системы уравнений методом итераций; Вычисление приближенного значения интеграла по формуле, Симпсона (парабол); Решение нелинейного уравнения Ньютона (касательных); Разработка алгоритма метода; Описание алгоритма программы; Выбор инструментов проектирования; Выбор языка программирования; Составление блок-схемы, характеризующей работу программы; Выполнения кодирования и испытание программы; Выполнение решения средствами автоматизированной системы решения математических задач; Анализ полученного результата. Разработка программ должна выполняться как консольное приложение при использовании компиляторов MS Visual C#. Исходные коды разрабатываемого приложения должны быть преимущественно реализованы на языке программирования C#. Код приложения должен соответствовать принципам ООП, содержать комментарии и быть читаемым. Данная работа должна соответствовать требованиям к защите информации и программ: Р 50.1.053-2005 Информационные технологии. Основные термины и определения в области технической защиты информации; ГОСТ Р 51188-98 Защита информации. Испытания программных средств на наличие компьютерных вирусов. Типовое руководство; ГОСТ Р 50922-2006 Защита информации. Основные термины и определения; ГОСТ Р 51275-2006 Защита информации. Объект информатизации. Факторы, воздействующие на информацию. Общие положения. В данном задании необходимо в полной мере реализовать знания и навыки, касающиеся построения алгоритмов, написания программ и умение использования программы таких как MathCad. Министерство науки и высшего образования РФ Псковский государственный университет Колледж Псков ГУ Техническое заданиена разработку курсового проекта 09.02.03 «Программирование в компьютерных системах» МДК 03.01 Технология разработки программного обеспечения Тема: «Разработка программ для решения математических задач с использованием численных методов» Выполнил обучающийся Группы 0314-36ПО Богданов Матвей Владимирович Утвердила: Ушарнова Т.О. Псков 2022 Варианты заданий на курсовой проект (решение математических задач с использованием численных методов) Задача №1 Разработать алгоритм и составить программу решения системы уравнений методом Итераций. Задача №2 Разработать алгоритм и составить программу вычисления приближенного значения интеграла по формуле Парабол. Задача №3 Разработать алгоритм и составить программу решения нелинейного уравнения методом Ньютона. ВведениеНастоящее техническое задание распространяется на разработку программ для решения задач защиты информации в рамках курсового проекта. Основание для разработкиРазработка программы, ведется в рамках решения задач защиты информации по МДК 03.01 Технология разработки программного обеспечения. Задачей курсового проекта в целом является: описание алгоритма программы; составление блок-схемы и испытание программы. Исполнитель – Богданов Матвей Владимирович, Группа 436ПО Заказчик – Колледж Псков ГУ Назначение разработки Функциональным назначением разрабатываемых программ для решения математических задач с использованием численных методов является испытание. 3. Требования к программе3.1. Требования к функциональным характеристикам На момент написания данной курсовой работы программа должна обеспечить выполнение следующих функций: Возможность выбора любой из системы уравнений методом Гаусса, Зейделя или итераций; Возможность ввода текста; Возможность решения системы уравнений методом Гаусса, Зейделя или итераций; При входе в программу будет предоставлена возможность ввода текста, после чего можно будет решать систему уравнений любым из предоставленных методов: Гаусса, Зейделя или итераций, с используемой системой. 3.2. Требования к надежности Присвоение программе пароля не имеет особенного смысла, так как в программе не хранится никаких значений, весь ввод данных (значений/текста) не сохраняется, а исчезает после переключения вкладки/закрытия программы. 3.3. Требования к параметрам и составу технических средств Система требований для работы программы Visual Studio 2022 C#: 1 ГБ оперативной памяти (рекомендуется 2 ГБ и более); от 3 до 20 ГБ свободного места на жестком диске, в зависимости от самого задания; устройство чтения DVD-дисков; базовый графический процессор любого поставщика, класса DirectX 9.0 или выше (Pixel Shader 2.0); процессор совместимый с частотой не менее 1,6 ГГц (рекомендуется 2 ГГц и выше); монитор с разрешением 1024х768 или выше; мышь или другое указывающее средство; Microsoft Windows 8 (32- или 64- разрядная); Microsoft Windows 7 с пакетом обновления 1 (32- и 64- разрядная); Microsoft Windows Server 2008 (32- и 64- разрядная). 3.4. Требования к информационной и программной совместимости Для реализации программы был выбран инструмент быстрой разработки приложений, интегрированная среда программирования Visual Studio, сновой для разработки был выбран язык программирования С#. Для корректной работы модуля необходима версия Visual Studio 2022 со всеми компонентами. Требования к компьютеру указаны в пункте «Требования к параметрам и составу технических средств». 3.5. Требования к исходным кодам и языкам программирования Исходные коды разрабатываемого приложения должны быть преимущественно реализованы на языке программирования C#. Код приложения должен соответствовать принципам ООП, содержать комментарии и быть читаемым. В качестве средства разработки, компиляции и отладки приложения должна быть использована среда разработка Visual Studio 2022 на языке программирования C#. 3.6. Требования к защите информации и программ Р 50.1.053-2005 Информационные технологии. Основные термины и определения в области технической защиты информации ГОСТ Р 51188-98 Защита информации. Испытания программных средств на наличие компьютерных вирусов. Типовое руководство ГОСТ Р 50922-2006 Защита информации. Основные термины и определения ГОСТ Р 51275-2006 Защита информации. Объект информатизации. Факторы, воздействующие на информацию. Общие положения 3.7. Специальные требования Программа должна обеспечивать работоспособность при отсутствии подключения к сети Интернет. Требования к программной документацииПрограммная документация должна не противоречить Единой системе программной документации (ЕСПД). Разрабатываемый в соответствии с данным техническим заданием модуль должен сопровождаться следующей программной документацией: описание к применению; руководство программиста; руководство пользователя. Стадии разработки Для разработки необходимо ознакомиться с таблицей стадий и в соответствие с ней выполнить поставленную работу. (таблица 4).
Таблица 4. Стадии и этапы разработки Этапы разработки Разработка должна быть проведена в 5 стадий: разработка технического задания; рабочее проектирование; тестирование; отладка; внедрение. Содержание работы по этапам На этапе разработки технического задания должны быть выполнены следующие работы: разработка задачи; определение и уточнение требований к техническим средствам; определение требований к программе; определение стадий, этапов и сроков разработки программы и программной документации; согласование и утверждение технического задания. Создание алгоритмов работы всей программы, программных модулей и блоков. Работы можно выполнять в виде блок-схем. На этапе разработки программного кода должны быть выполнены работы по программированию (кодированию) по созданным ранее алгоритмам. На этапе разработки программной документации должна быть выполнена разработка программных документов в соответствии с требованиями к составу документации. На этапе тестирования должны быть выполнены следующе работы: разработка, согласование и утверждение методики испытаний; проведение приемо-сдаточных испытаний. На этапе отладки должны быть выполнены следующие работы: устранение ошибок, найденных во время тестирования; повторная проверка на наличие ошибок и их устранение, если таковые выявлены. На этапе подготовки и передачи программы «заказчику» должна быть выполнена работа по подготовке и передаче программы и программной документации в эксплуатацию. Виды испытаний Приемо-сдаточные испытания должны проводиться на объекте «заказчика» в оговоренные сроки. Приемо-сдаточные испытания программы должны проводиться согласно разработанной «исполнителем» и согласованной «заказчиком» программы и методики испытаний. Ход проведения приемо-сдаточных испытаний «заказчик» и «исполнитель» документируют в протоколе проведения испыттаний. 2. Разработка алгоритма и программы решаемой задачи2.1 Инструменты выполнения разработки Для разработки программы выбираем программу Visual Studio. Основным языком программирования делаем C#. Microsoft Visual Studio 2022 обеспечивает высокое качество кода на протяжении всего цикла жизни ПО, от проектирования до внедрения. С помощью Visual Studio 2022 можно собирать и анализировать информацию проще, чем когда бы то ни было раньше, возможно быстро создавать более безопасные, управляемые и надежные приложения. Visual Studio 2022 продолжает традиции, заложенные предыдущими версиями продукта, и содержит множество новинок, предназначенных как для упрощения создания приложений для различных платформ отдельными, так и для повышения производительности всей проектной команды. Поэтому мною была выбрана именно эта среда разработки. 2. 2 Обоснование выбора средств разработки C# - объектно-ориентированный язык программирования для платформы .NET. Он разработан в 2000 году Андерсом Хейлсбергом, Скоттом Вилтамутом и Питером Гольде под эгидой Microsoft Research. Основным постулатом С# является высказывание: «всякая сущность есть объект». Язык основан на строгой компонентной архитектуре и реализует передовые механизмы обеспечения безопасности кода. C# - это полнофункциональный объектно-ориентированный язык, который поддерживает все три «столпа» объектно-ориентированного программирования: инкапсуляцию, наследование и полиморфизм. Он имеет прекрасную поддержку компонентов, надежен и устойчив благодаря использованию «сборки мусора», обработки исключений, безопасности типов. Язык C# разрабатывался «с нуля» и вобрал в себя много полезных свойств таких языков, как C++, Java, Visual Basic, а также Pascal, Delphi и др. При этом необходимость обратной совместимости с предыдущими версиями отсутствовала, что позволило языку C# избежать многих отрицательных сторон своих предшественников. 2.3 Методы описания алгоритмов Алгоритм – описанная на некотором языке точная конечная система правил, определяющая содержание и порядок действий над некоторыми объектами, строгое выполнение которых дает решение, поставленной задачи. Существует несколько способов описания алгоритмов: Словесное описание представляет структуру алгоритма на естественном языке. Никаких правил составления словесного описания не существует. Запись алгоритма осуществляется в произвольной форме на естественном, например, русском языке. Этот способ описания не имеет широкого распространения, так как строго не формализуем; допускает неоднозначность толкования при описании некоторых действий; страдает многословностью. Блок-схема – описание структуры алгоритма с помощью геометрических фигур с линиями-связями, показывающими порядок выполнения отдельных инструкций. Этот способ имеет ряд преимуществ. Благодаря наглядности, он обеспечивает «читаемость» алгоритма и явно отображает порядок: выполнения отдельных команд. В блок-схеме каждой формальной конструкции соответствует определенная геометрическая фигура или связанная линиями совокупность фигур. Рассмотрим некоторые основные конструкции, использующиеся для построения блок-схем (рис. 1). (1) Блок, характеризующий начало/конец алгоритма (для подпрограмм – вызов/возврат); (2) Блок - процесс, предназначенный для описания отдельных действий; (3) Блок - предопределенный процесс, предназначенный для обращения к вспомогательным алгоритмам (подпрограммам); (4) Блок - ввода/вывода с неопределенного носителя; (5) Блок - ввод с клавиатуры; (6) Блок - вывод на монитор; (7) Блок - вывод на печатающее устройство; (8) Блок – решение (проверка условия или условный блок); (9) Блок, описывающий блок с параметром; (10) Блок – границы цикла, описывающий циклические процессы типа: «цикл с предусловием», «цикл с постусловием»; Псевдокод – описание структуры алгоритма на естественном, частично формализованном языке, позволяющее выявить основные этапы решения задачи, перед точной его записью на языке программирования. В псевдокоде используются некоторые формальные конструкции и общепринятая математическая символика. Строгих синтаксических правил для записи псевдокода не существует. Это облегчает запись алгоритма при проектировании и позволяет описать алгоритм, используя любой набор команд. Однако в псевдокоде обычно используются некоторые конструкции, присущие формальным языкам, что облегчает переход от псевдокода к записи алгоритма на языке программирования. Единого или формального определения псевдокода не существует, поэтому возможны различные псевдокоды, отличающиеся набором используемых слов и конструкций. Разработка и программный кодРазработка программы для решения СЛАУ методом итераций (Рис.2) Математическая модель решения методом итерация. (Рис. 1) Рис.1 Метод итераций Рис.2 Код программы Результат работы программы (Рис.3) Рис.3 Результат работы программы Блок-схема (Рис.4) Рис.4 Блок-схема Разработка программы для решения интеграла методом парабол (Рис. 5) Математическая модель методом Симпсона (парабол). (Рис. 6) Рис. 6 Метод Симпсона(парабол). Рис.5 Код программы Результат работы программы (Рис.7) Рис.7 Результат работы программы Проверка правильности решения (Рис.8) Рис.8 Проверка правильности Блок-схема (Рис.9) Рис.9 Блок-схема Программная документацияВ данном разделе курсового проекта содержится программная документация разработку программ для решения математических задач с использованием численных методов, разрабатываемого в рамках проектирования по ПМ 03 Участие в интеграции программных модулей МДК 03. 01. Технология разработки программного обеспечения. 4.1 Описание применения1. Назначение программы Приложение разрабатываемые в рамках проектирования по ПМ 03 Участие в интеграции программных модулей МДК 03. 01. Технология разработки программного обеспечения, задачей которых является разработка программы для решения математических задач с использованием численных методов методами Гаусса, 3/8 и хорд. 2. Условия применения Приложение гарантирует стабильную работу на операционных системах – Windows 95/98/2000/ХР/Vista/7/8/10. На других платформах программа не тестировалась, в таком случае, гарантии работы предоставить невозможно. Определение задачи: Определением задачи является задание на выполнение курсовой работы. Организация, утвердившая задание на разработку программного продукта Колледж Псков ГУ. Наименование работы: «Разработка программы для решения математических задач с использованием численных методов». Методы решения задачи Решение задачи путем создания программ на базе операционной системы Windows, удовлетворяющего требованиям утвержденного технического здания. Руководство пользователя: Функциональное назначение программы: Приложение, разрабатываемое в рамках проектирования по МДК 03.01 Технология разработки программного обеспечения, задачей которого является разработка программ для решения математических задач с использованием численных методов. Эксплуатационное назначение программы: Пользователем программ выступает любой человек, который будет решать математические задачи с использованием численных методов. Минимальный состав программных средств: Для корректной и стабильной работы программы от пользователя требуется установленнойе на устройстве операционные системы Windows 95/98/2000/XP/Vista/7/8/10. CPU не ниже Pentium-133; 8 Mb оперативной памяти (желательно 32 Mb); минимум 1Mb свободного дискового пространства; 1 Mb видеопамяти; Операционная система Windows 95/98/2000/XP/Vista/7/8/10. Требования к составу периферийных устройств: клавиатура; мышь. ЗаключениеВ данном курсовом проекте завершена разработка программ для решения математических задач с использованием численных методов таких как Гаусса, Зейделя или итераций. Составлено техническое задание, где подробно описано назначение программы. Была написана программная документация на программный продукт. Разработка произведена в точном соответствии с техническим заданием. Данное программное обеспечение будет работать на персональных компьютерах с установленной операционной системой Windows, обусловлено это тем, что это самая распространенная операционная система. Программное обеспечение получилось качественным и оптимизированным, то есть выполняет все требуемые функции и пригодное для эксплуатации. Программа стабильна и выполняет запанированные действия, и в то же время остается в работоспособной состоянии при незапланированных действиях. Программа имеет простой и удобной пользовательский интерфейс. В соответствии с настоящим техническим заданием разработано программное обеспечение, позволяющее решать математические задачи с использованием численных методов. Экономическая частьНаибольшее распространение в практике создания программного обеспечения получили размерно-ориентированные метрики. В организациях, занятых разработкой программной продукции для каждого проекта принято регистрировать следующие показатели: общие трудозатраты (в человеко-месяцах); объем программы (в тысячах строках исходного кода -LOC); стоимость разработки; объем документации; ошибки, обнаруженные в течение года эксплуатации; количество людей, работавших над изделием; срок разработки; На основе этих данных обычно подсчитываются простые метрики для оценки производительности труда (KLOC/человеко-месяц) и качества изделия. Метод LOC является оценочным методом (который надо принимать к сведению, но не опираться в оценках). В зависимости от того, каким образом учитывается сходный код, выделяется основной показатель LOC: Количество «физических» строк кода - LOC (используемые аббревиатуры LOC, SLOC, KLOC, KSLOC, DSLOC) - определяется как общее число строк исходного кода, включая комментарии и пустые строки (при измерении показателя на количество пустых строк, как правило, вводится ограничение – при подсчете учитывается число пустых строк, которое не превышает 25% общего числа строк в измеряемом блоке кода). Для метрики SLOC существует большое число производных, призванных получить отдельные показатели проекта, основными среди которых являются: число пустых строк; число строк, содержащих комментарии; процент комментариев (отношение строк кода к строкам комментария, производная метрика стилистики); среднее число строк для функций (классов, файлов); среднее число строк, содержащих исходный код для функций (классов, файлов);
Рисунок 9. Расчёт метрик На основе таблицы вычисляются размерно-ориентированные метрики производительности качества проекта. Формулы для расчета метрик: Производительность = Качество = Удельная стоимость = Д окументированность= После вычисления результаты будут равны: Производительность = 1,2/6 = 20 Качество = 21/1,2 = 17,5 Удельная стоимость = 0,3/1,2 = 0,25 Документированность = 9/1,2 = 7,5 Список использованных источников информацииГОСТ 19.201-77 Единая система программной документации. Техническое задание. Требования к содержанию и оформлению; ГОСТ 19.502-78 Единая система программной документации. Описание применения. Требования к содержанию и оформлению; ГОСТ 19.503-79 Единая система программной документации. Руководство системного программиста. Требования к содержанию и оформлению; ГОСТ 19.504-79 Единая система программной документации. Руководство программиста. Требования к содержанию и оформлению; ГОСТ 19.505-79 Единая система программной документации. Руководство оператора. Требования к содержанию и оформлению; ГОСТ 19.701-90 Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Обозначения условные и правила выполнения; Внуков А. А. Основы информационной безопасности: защита информации: учебное пособие для СПО/ А. А. Внуков – 2-е изд., испр. и доп. - М.: Издательство Юрайт, 2019. – 240с. – (Серия: Профессиональное образование). Гагарина Л. Г., Кокорева Е. В., Виснадул Б. Д. Технология разработки программного обеспечения: учебное пособие под ред. Л. Г. Гагариной. – М: ИД «ФОРУМ»: ИНФРА- , 2014, 401 с. 8. Ю. В. Романец П. А. Тимофеев, Ф. В. Шаньгин. Защита информации в компьютерных системах и сетях. / под ред. В. Ф. Шаньгина – М.: Радио и связь, 2001. – 376 с. Галицкий А. В., Рябко С. Д., Шаньгин В. Ф. Защита информации в сети. М. «ДМК», 2004. – 616 с. |