Файл: 1 Анализ деятельности организации мбоу сош 2 5 1 Общие сведения 5.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.11.2023
Просмотров: 51
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Включает в себя большой функционал, в который входит:
-
Обозреватель решений. -
Отладчик. -
Область расширения и управления исходным кодом. -
Поддерживается терминал внутри окна.
Также Visual Studio прекрасно подходит для разработок на ядре «.Net».
2.1.5 Разработка алгоритма модуля и программирование модуля
Модуль – это самостоятельная часть программы, имеющая определенное назначение и обеспечивающая заданные функции обработки автономно от других программных модулей.
Каждый модуль состоит из спецификации и тела. Спецификации определяют правила использования модуля, а тело – способ реализации процесса обработки.
Принципы модульного программирования программных продуктов во многом сходны с принципами нисходящего проектирования. Сначала определяются состав и подчиненность функций, а затем – набор программных модулей, реализующих эти функции.
Первый шаг разработки программного модуля в значительной степени представляет собой смежный контроль структуры программы снизу: изучая спецификацию модуля, разработчик должен убедиться, что она ему понятна и достаточна для разработки этого модуля. В завершении этого шага выбирается язык программирования: хотя язык программирования может быть уже предопределен для всего ПС.
После кодирования отдельных модулей начинается их интеграция в единое работающее программное изделие.
Интеграция компонента должна проводиться последовательно, функция за функцией. Это позволяет раньше продемонстрировать операционные возможности программного обеспечения, повышая уверенность управленца в том, что проект удовлетворительно продвигается в изготовлении.
Следующий шаг разработки модуля связан с приведением текста модуля к завершенному виду в соответствии со спецификацией качества ПС. При программировании модуля разработчик основное внимание уделяет правильности реализации функций модуля, оставляя недоработанными комментарии и допуская некоторые нарушения требований к стилю программы.
При шлифовке текста модуля он должен отредактировать имеющиеся в тексте комментарии и, возможно, включить в него дополнительные комментарии с целью обеспечить требуемые примитивы качества. С этой же целью производится редактирование текста программы для выполнения стилистических требований.
Шаг проверки модуля представляет собой ручную проверку внутренней логики модуля до начала его отладки (использующей выполнение его на компьютере), реализует общий принцип, сформулированный для обсуждаемой технологии программирования, о необходимости контроля принимаемых решений на каждом этапе разработки ПС.
Код программного модуля выполненный на языке C# по кредиту:
double monthlyrates;
double monthlypayment;
public Credits()
{
InitializeComponent();
text1.Text = slider1.Value + "руб";
text2.Text = slider2.Value + "руб";
text3.Text = slider3.Value + "руб";
slider1.Minimum = 1000;
slider2.Minimum = 1;
slider3.Minimum = 1;
credit();
}
private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs
{
text1.Text = slider1.Value + "руб";
credit();
}
private void slider2_ValueChanged(object sender, RoutedPropertyChangedEventArgs
{
text2.Text = slider2.Value + "мес";
credit();
}
private void slider3_ValueChanged(object sender, RoutedPropertyChangedEventArgs
{
text3.Text = slider3.Value + "%";
credit();
}
public void credit()
{
monthlyrates = slider3.Value/100/12;
monthlypayment = slider1.Value * (monthlyrates + (monthlyrates / (Math.Pow(1 + monthlyrates, slider2.Value) – 1)));
textotal1.Text = Math.Round(monthlypayment) + "руб";
textotal2.Text =Math.Round(monthlypayment*slider2.Value)+"руб";
textotal3.Text = Math.Round((monthlypayment * slider2.Value) – slider1.Value) +"руб";
}
}
Код программного модуля выполненный на языке C# по ипотеке:
double MONTHLYRATE;
double TOTALRATE;
double MONTHLYPAYMENT;
double OVERPAID;
public mortgage()
{
InitializeComponent();
sl3.Minimum = 1;
sl4.Minimum = 5;
sl1.Minimum = 100000;
aa1.Text = "" + sl1.Value+"руб";
aa2.Text = "" + sl2.Value+"руб";
aa3.Text = "" + sl3.Value+"%";
aa4.Text = "" + sl4.Value+"лет";
}
private void sl1_ValueChanged(object sender, RoutedPropertyChangedEventArgs
{
aa1.Text = "" + sl1.Value+"руб";
mort();
}
private void sl2_ValueChanged(object sender, RoutedPropertyChangedEventArgs
{
aa2.Text = "" + sl2.Value+"руб";
mort();
}
private void sl3_ValueChanged(object sender, RoutedPropertyChangedEventArgs
{
aa3.Text = "" + sl3.Value+"%";
mort();
}
private void sl4_ValueChanged(object sender, RoutedPropertyChangedEventArgs
{
aa4.Text = "" + sl4.Value+"лет";
mort();
}
public void mort()
{
MONTHLYRATE = (sl3.Value / 12) / 100;
TOTALRATE = Math.Pow(1 + MONTHLYRATE, sl4.Value * 12);
MONTHLYPAYMENT = (sl1.Value– sl2.Value) * MONTHLYRATE * TOTALRATE / (TOTALRATE – 1);
OVERPAID = MONTHLYPAYMENT * (sl4.Value * 12) – (sl1.Value – sl2.Value);
total1.Text = "" + (int)MONTHLYPAYMENT+"руб";
total2.Text = "" + (int)MONTHLYPAYMENT * 12+"руб";
total3.Text = "" + (int)OVERPAID+"руб";
sl2.Maximum = sl1.Value;
}
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using HtmlAgilityPack;
using System.Net;
namespace nalog
{
///
/// Логика взаимодействия для Home.xaml
///
public partial class Home : Page
{
string outputText1 = "";
string outputText2 = "";
string outputText3 = "";
string outputText4 = "";
string outputText5 = "";
string outputText6 = "";
public Home()
{
InitializeComponent();
string html = "https://www.cbr.ru/key– indicators/";
HtmlDocument HD = new HtmlDocument();
var web = new HtmlWeb
{
AutoDetectEncoding = false,
OverrideEncoding = Encoding.UTF8,
};
HD = web.Load(html);
HtmlNodeCollection NoAltElements1 = HD.DocumentNode.SelectNodes("/html/body/main/div/div/div/div[2]/div[2]/div[4]/div/div/table/tbody/tr[2]/td[3]/text()");
HtmlNodeCollection NoAltElements2 = HD.DocumentNode.SelectNodes("/html/body/main/div/div/div/div[2]/div[2]/div[4]/div/div/table/tbody/tr[3]/td[3]/text()");
HtmlNodeCollection NoAltElements3 = HD.DocumentNode.SelectNodes("/html/body/main/div/div/div/div[2]/div[2]/div[6]/div/div/table/tbody/tr[2]/td[3]/text()");
HtmlNodeCollection NoAltElements4 = HD.DocumentNode.SelectNodes("/html/body/main/div/div/div/div[2]/div[2]/div[6]/div/div/table/tbody/tr[3]/td[3]/text()");
HtmlNodeCollection NoAltElements5 = HD.DocumentNode.SelectNodes("/html/body/main/div/div/div/div[2]/div[2]/div[6]/div/div/table/tbody/tr[4]/td[3]/text()");
HtmlNodeCollection NoAltElements6 = HD.DocumentNode.SelectNodes("/html/body/main/div/div/div/div[2]/div[2]/div[6]/div/div/table/tbody/tr[5]/td[3]/text()");
foreach (HtmlNode HN in NoAltElements1)
{
// Получаем строчки
outputText1 = HN.InnerText;
}
foreach (HtmlNode HN in NoAltElements2)
{
// Получаем строчки
outputText2 = HN.InnerText;
}
foreach (HtmlNode HN in NoAltElements3)
{
// Получаем строчки
outputText3 = HN.InnerText;
}
foreach (HtmlNode HN in NoAltElements4)
{
// Получаем строчки
outputText4 = HN.InnerText;
}
foreach (HtmlNode HN in NoAltElements5)
{
// Получаем строчки
outputText5 = HN.InnerText;
}
foreach (HtmlNode HN in NoAltElements6)
{
// Получаем строчки
outputText6 = HN.InnerText;
}
aaaa1.Text = WebUtility.HtmlDecode("" + outputText1);
aaaa2.Text = WebUtility.HtmlDecode("" + outputText2);
aaaa3.Text = WebUtility.HtmlDecode("" + outputText3);
aaaa4.Text = WebUtility.HtmlDecode("" + outputText4);
aaaa5.Text = WebUtility.HtmlDecode("" + outputText5);
aaaa6.Text = WebUtility.HtmlDecode("" + outputText6);
}
}
}
2.1.6 Тестирование модуля
Модульное тестирование (Unit Testing) – это тип тестирования программного обеспечения, при котором тестируются отдельные модули или компоненты программного обеспечения. Его цель заключается в том, чтобы проверить, что каждая единица программного кода работает должным образом. Данный вид тестирование выполняется разработчиками на этапе кодирования приложения. Модульные тесты изолируют часть кода и проверяют его работоспособность.
Таблица 1 – Тестирование программы
Действие | Ожидаемый результат | Результат теста |
Перетаскивание ползунка вправо – влево | Изменение цены ипотеки/кредита | Успешно |
2.1.7 Трансляция модуля
Рисунок 1: Описание ипотеки. Вручную выставляется стоимость жилья, первоначальный взнос, ставка, срок ипотеки. Исходя из данных, которые мы выбрали с помощью ползунков выходят конечные данные ипотеки.
Кнопка 1: Главная.
После нажатия кнопки «Главная» происходит перенаправления на начальную страницу проекта.
Кнопка 2: Ипотека.
После нажатия кнопки «Ипотека» происходит перенаправление на страницу с вычислением ипотеки.
Кнопка 3: Кредиты.
После нажатия кнопки «Кредиты» происходит перенаправление на страницу с вычислением кредита.
Рисунок – 1: Описание ипотеки.
Рисунок 2: Описание кредита.
Вручную выставляется сумма кредита, ставка, срок кредита. Исходя из данных, которые мы выбрали с помощью ползунков выходят конечные данные кредита.
Рисунок – 2: Описание кредита.
Кнопка 1: Главная.
После нажатия кнопки «Главная» происходит перенаправления на начальную страницу проекта.
Кнопка 2: Ипотека.
После нажатия кнопки «Ипотека» происходит перенаправление на страницу с вычислением ипотеки.
Кнопка 3: Кредиты.
После нажатия кнопки «Кредиты» происходит перенаправление на страницу с вычислением кредита.
2.2 Инспектирование программного модуля
Цель инспекции программного кода – обнаружение и исправление ошибок, которые были пропущены, остались не замечены при разработке. Результат инспекции как правило – улучшение качество ПО и навыки разработчика.
Стандарт кодирования – набор правил и соглашений, которые описывают базовые принципы оформления программного кода, используемого совместно группой разработчиков.
Цель использования стандарта – упрощение восприятия программного кода человеком, сокращение нагрузки на память и зрение при чтении программы.
Актуальные стандарты кодирования:
-
Отступы. -
Единообразие в именах и названиях: файлы, папки, классы, метод. -
Длина строки. -
Атрибуты изображений.
Инспектирование программ не требует их исполнения, поэтому данный метод можно использовать до завершения полной реализации программ. Во время инспектирования проверяется исходное представление системы. Это может быть модель системы, спецификация или программа, написанная на языке высокого уровня.
Для обнаружения ошибок используется знание разрабатываемой системы и семантика ее исходного представлении. В результате инспекции выявлено, что текущий код соответствует требованиям синтаксиса «C#»
Чтобы проверить работоспособность приложения необходимо запустить его и нажать кнопку обновить. На экране должны появится статьи и доступ на сайт в виде кнопок.
2.3 Интегрирование программного модуля
Интеграцией называется элемент процесса разработки программного обеспечения, в ходе которого отдельные компоненты программного продукта объединяются в единое целое. Интеграция осуществляется на нескольких уровнях и этапах реализации:
-
Интеграция результатов работы коллектива в единую подсистему перед передачей подсистемы интеграторам системы. -
Интеграция подсистем в конечную систему.
Для интегрирования программного модуля в рабочий компьютер необходимо иметь ряд системных требований:
-
Операционная система Windows в пределах следующего списка: Windows 7 с пакетом обновления (SP1); Windows Server 2012 R2 (c обновлением 2919355); Windows 8.1 (с обновлением 2919355); Windows Server 2016: Standard и Datacenter; Windows Server 2019: Standard и Datacenter; Windows 10 версия 1703 и выше -
Место на жестком диске (минимум 800 мб) -
Минимум 2 ГБ ОЗУ -
Процессор с тактовой частотой не ниже 1,8 ГГц. Рекомендуется использовать как минимум двухъядерный процессор
2.3.1 Сопоставление объектов между источником и приемником
Сопоставляющимися данными между источниками и приёмником будут являться:
– новостная лента;
– ссылки на сайт статьи;
2.3.2 Анализ выгруженных данных
Анализ данных можно описать как процесс, состоящий из нескольких шагов, в которых сырые данные превращаются и обрабатываются с целью создать визуализации и сделать предсказания на основе математической модели.
Анализ данных – это всего лишь последовательность шагов, каждый из которых играет ключевую роль для последующих. Этот процесс похож на цепь последовательных, связанных между собой этапов:
– извлечение данных;
– подготовка данных, очистка данных;
– подготовка данных, преобразование данных;
– исследование и визуализация данных;
– проверка модуля, тестирование
2.4 Отладка программного модуля
Отладка программы – один их самых сложных этапов разработки программного обеспечения, требующий глубокого знания:
-
Специфики управления используемыми техническими средствами. -
Операционной системы. -
Среды и языка программирования. -
Реализуемых процессов. -
Природы и специфики различных ошибок. -
Методик отладки и соответствующих программных средств.
Отладка – это процесс локализации и исправления ошибок, обнаруженных при тестировании программного обеспечения.
Локализацией называют процесс определения оператора программы, выполнение которого вызвало нарушение нормального вычислительного процесса. Для исправления ошибки необходимо определить ее причину, т. е. определить оператор или фрагмент, содержащие ошибку. Причины ошибок могут быть как очевидны, так и очень глубоко скрыты.
Способность программиста к откладке – важнейший фактор в обнаружении источника проблемы.
Отладчик представляет из себя программный инструмент, позволяющий программисту наблюдать за выполнением исследуемой программы, останавливать и перезапускать её, прогонять в замедленном темпе, изменять значения в памяти и даже, в некоторых случаях, возвращать назад по времени.
Использование языков программирования высокого уровня обычно упрощает отладку, если такие языки содержат, например, средства обработки исключений, сильно облегчающие поиск источника проблемы.
В низкоуровневых языках ошибки могут приводить к незаметным проблемам – например, повреждениям памяти и утечкам памяти. Тогда бывает довольно трудно определить, что стало первоначальной причиной ошибки. В этих случаях могут потребоваться сложные приёмы и средства отладки.
Текущее значение переменных
В период использования модуля пользователем появляются такие переменные, как:
-
Гиперссылки. -
Текстовые сообщения.
В программном коде может быть так называемое недокументированное поведение – возможности технических устройств и/или программного обеспечения, не отраженные в документации.
Чаще всего недокументированные возможности сознательно закладываются разработчиками в целях тестирования, дальнейшего расширения функциональности, обеспечения совместимости или же в целях скрытого контроля за пользователем.
Кроме того, недокументированные возможности могут стать следствием побочных эффектов (чаще всего в переходных режимах или при переключении режимов), не учтенных разработчиками.
От недокументированных возможностей следует отличать возможности системы, скрытые от конечного потребителя, но приведенные в официальной сервисной документации. Недокументированные возможности обнаруживаются, обычно, в процессе обратной разработки, но могут быть обнаружены и случайно. Серьёзные ошибки, которые не проявляются при нормальном ходе выполнения программы, однако весьма опасны для безопасности всей системы в случае целенаправленной атаки.
Чаще всего это результат ошибок программиста. Наиболее известные примеры – это SQL–инъекция и переполнение буфера. В данном случае задача отладки это:
Выявление недокументированного поведения системы
Устранение небезопасного кода
Выделяют такие методы: статический анализ кода. На этой фазе программа сканер ищет последовательности в исходном тексте, соответствующие небезопасным вызовам функций и т. д. Фактически идет сканирование исходного текста программы на основе специальной базы правил, которая содержит описание небезопасных образцов кода.
Заключение
В результате прохождения производственной практики индивидуальное задание данное предприятием было выполнено, закреплены пройденный материал, знания и навыки разработки программных модулей, рефакторинга кода и работы в команде. Приобретен опыт работы и коммуникации в профессиональной среде
Были выполнены следующие цели:
– приобретены навыки разработки программных модулей;
– получены навыки коммуникабельности;
– получен опыт работы в профессиональной сфере.
По итогу практики были выполнены все поставленные задачи. Был разработан программный модуль «Nalog», с использованием языка программирования С#, получены знания по основным этапам разработки, тестирования и интегрирования программных модулей.
Форматирование отчёта было выполнено при помощи MS WORD.
Список использованных источников
-
Сайт ВГУЭС [Электронный ресурс] – Режим доступа: https://www.vvsu.ru -
Сайт с подробной информацией о ПО [Электронный ресурс] – Режим доступа: https://microsoft.com -
Сайт со справочной информацией о разработке программного модуля [Электронный ресурс] – Режим доступа: https://habr.com -
Маркин, А. В. Программирование на sql в 2 ч. Часть 2 : учебник и практикум для бакалавриата и магистратуры / А. В. Маркин. – Москва : Издательство Юрайт, 2019.CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C#. 4– е изд. Джеффри Рихтер. -
Платформа .NET [Электронный ресурс] – Режим доступа: https://dotnet.microsoft.c0m/en– us/ ( 2019) -
Отладка в Visual Studio [Электронный ресурс] – Режим доступа: : https://docs.microsoft.com/ru– ru/visualstudio/debugger/what– is– debugging?view=vs– 2022 -
Достоинства и недостатки C# [Электронный ресурс] – Режим доступа: https://cyberleninhttps://cyberleninka.ru/article/n/osobennosti– dostoinstva– i– preimuschestva– ispolzovaniya– s– v– prilozheniyahka.ru/article/n/osobennosti– dostoinstva– i– preimuschestva– ispolzovaniya– s– v– prilozheniyah -
Федоров, Д. Ю. Программирование на языке высокого уровня python : учеб. пособие для прикладного бакалавриата / Д. Ю. Федоров. – 2– е изд., перераб. и доп. – Москва : Издательство Юрайт, 2019. – 161 с.Платформа .NET [Электронный ресурс] – Режим доступа: https://dotnet.microsoft.c0m/en– us/ -
Иванов, В. М. Интеллектуальные системы : учеб. пособие для СПО / В. М. Иванов ; под науч. ред. А. Н. Сесекина. – Москва : Издательство Юрайт, 2019. – 93 с. -
Методы разработки модулей–URL: https://studref.com/311805/informatika/metody_razrabotki_modulnom_programmirovanii (дата обращения 11.06.2022).