Файл: Курсовая работа Название дисциплины Программирование Тема.doc
Добавлен: 09.01.2024
Просмотров: 100
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Сквозной контроль — это мысленное прокручивание (проверка) структуры программы при выполнении заранее разработанных тестов. Является видом динамического контроля так же, как и ручная имитация функциональной спецификации или архитектуры ПС.
Следует заметить, что характер осуществления этих методов контроля зависит от выбранного метода разработки структуры программы: при классическом подходе они применяются до начала программирования модулей, а при конструктивном и архитектурном подходах — в процессе программирования модулей (в подходящие моменты времени).
Для контроля процесса разработки в составе каждого модуля будем применять архитектурный подход.
Архитектурный подход к разработке программы представляет собой модификацию восходящей разработки, при которой модульная структура программы формируется в процессе программирования модуля.
Обычно сначала выделяются и реализуются отдельными модулями более простые функции, а затем постепенно появляются модули, использующие ранее выделенные функции.
Это позволяет существенно сократить трудозатраты на разработку конкретной программы путем подключения к ней заранее заготовленных и проверенных на практике модульных структур нижнего уровня. Так как такие структуры могут многократно использоваться в разных конкретных программах, то архитектурный подход может рассматриваться как путь борьбы с дублированием в программировании. В связи с этим программные модули, создаваемые в рамках архитектурного подхода, обычно параметризуются для того, чтобы усилить применимость таких модулей путем настройки их на параметры.
2.2 Анализ кода
Средство анализа кода C# предоставляет разработчикам сведения о возможных дефектах в исходном коде C#. К наиболее распространенным ошибкам кодирования, которые обнаруживает данное средство, относятся переполнение буфера, неинициализированная память, разыменования пустых указателей, а также утечки памяти и ресурсов.
Для более удобного использования разработчиками средство анализа полностью интегрировано в интерфейс IDE VisualStudio. Во время построения все предупреждения, вырабатываемые для исходного кода, отображаются в списке ошибок. При этом можно перейти к исходному коду, вызвавшему предупреждение, и просмотреть дополнительные сведений о причине и возможных способах устранения проблемы3.
Вывод анализатора:
1> ---- - Построение
начато: проект: ConsoleApplication45, Конфигурация: DebugAny CPU - -----
1> Файл проекта содержит ToolsVersion=«12. 0». Возможно, этот набор инструментов неизвестен или отсутствует(в этом случае проблему можно устранить, установив подходящую версию MSBuild), либо для данной сборкиопределено конкретное значение ToolsVersion в параметрах политики. Проект обрабатывается как имеющийToolsVersion=«4. 0». Дополнительные сведения см. по ссылке http: //go. microsoft. com/fwlink/? LinkId=291 333.
1> ConsoleApplication45 - > C:Users424DesktopКурсовикConsoleApplication45ConsoleApplication45binDebugConsoleApplication45. exe
1> Выполнение анализа кода.
1> Анализ кода завершен - ошибок: 0, предупреждений: 0
========== Построение: успешно: 1, с ошибками: 0, без изменений: 0, пропущено: 0 ==========
2.3 Опции компилятора при сборке программы и Обработка ошибок и исключительных ситуаций в коде
Для получения работающего на всех платформах исполняемого файла, нужно произвести две операции — сборку проекта и его компиляцию. Воспользуемся встроенным в MicrosoftVisualStudio 2013 компоновщиком, позволяющим собрать exe файл.
Во-первых, установит статическую линковку подключаемых библиотек:
Во-вторых, включим релизную сборку.
После сборки и компиляции проекта получим исполняемый файл, работающей на любой платформе
Функции обработки исключений на языке C# помогают обрабатывать любые непредвиденные или исключительные ситуации, происходящие при выполнении программы. При обработке исключений используются ключевые слова try, catch и finally для попыток применения действий, которые могут не достичь успеха, для обработки ошибок, если предполагается, что это может быть разумным, и для последующего освобождения ресурсов. Исключения могут генерироваться средой CLR, платформой. net Framework или внешними библиотеками, либо кодом приложения. Исключения создаются при помощи ключевого слова throw
4.
Во многих случаях исключение может инициироваться не методом, вызванным непосредственно кодом, а другим методом, расположенным ниже в стеке вызовов. Когда это происходит, среда CLR выполняет откат стека в поисках метода с блоком catch для определенного типа исключения. При обнаружении первого такого блока catch этот блок выполняется. Если среда CLR не находит соответствующего блока catch где-либо в стеке вызовов, она завершает процесс и отображает пользователю сообщение.
В этом примере метод тестирует деление на ноль и выполняет перехват соответствующей ошибки. Без обработки исключений эта программа была бы завершена с ошибкой DivideByZeroExceptionwasunhandled (не обработано исключение «деление на ноль»).
Заключение
Чтобы создать качественное приложение, нужно учитывать мнение пользователей. Их отзывы лучше получать регулярно и своевременно.
Проанализировав поставленную задачу, я пришел к выводу, что необходимо разработать синтаксический анализатор выражений, для реализации которого я использовал алгоритм множественного выбора. При разборе выражение разбивается на составные части – термы, который в свою очередь состоит из факторов. Факторами могут являться числа или подвыражения, состоящего из других факторов. Терм является произведением или отношением факторов. Поочередно, анализируя каждый введенный символ, программа объединяет их в факторы, а готовые факторы в термы, после подсчета которых выдается окончательный ответ. Это правило очень важно, так как должен соблюдаться строгий приоритет выполнения операций, то есть вложенные элементы должны иметь операторы с более высоким приоритетом. Сначала, если есть функции, вычисляется их значение. У арифметических операций приоритет следующий: сначала выполняется возведение в степень, затем умножение, деление, сложение и вычитание. Если выражение содержит скобки, то в первую очередь вычисляется подвыражение во вложенных скобках самого нижнего уровня, а затем по возрастанию уровня.
Если планируется проводить альфа — и бета-тестирование, лучше всего начать с маленькой группы альфа-тестировщиков — возможно, одногруппников и руководителя курсового проекта, или других разработчиков. После этого можно приступать к бета-тестированию с участием большего количества пользователей.
Запустим программу со стандартным входным потоком.
Так как курсовой проект состоит не только из исходного текста, но и из текстовых документов, то к нему можно применить «Лицензию для работ практического применения, которые не являются ни программами, ни документацией».
Применим к нашему проекту «Лицензию научного конструирования (DesignScienceLicense, DSL)».
Полный текст лицензии на английском языке будет приведен в приложении. Кроме этого, обязательной частью лицензии будет отказ от ответственности применения программы и исходных кодов в следующем виде:
«Программа и исходный код распространяются в виде „как есть“, автор не несет ответственности ни за прямые, ни за косвенный убытки, могущие возникнуть в результате использования программы».
При работе над курсовым проектом были освоены области языка C#.
Подробно изучен процесс записи данных на диск, отформатированный в файловую систему NTFS, изучены библиотеки управления потоками в C#.
Приобретен практический опыт работы с интегрированной средой разработки MicrosoftVisualStudio 2013, в ней написан, проверен, проанализирован и собран исходный код приложения.
Полученное приложение протестировано, к нему составлен файл помощи [ gugn.ru, 8 ].
Глоссарий
№ п/п | Понятие | Определение |
1 | Айди (от англ. «identificator») | идентификатор. |
2 | Бэкап (от англ. «backup») | резервное копирование. Создание копии проекта, сайта, данных, чтобы в случаи непредвиденных обстоятельств/сбоя можно было вернуть всю систему в прежнее состояние. Хорошей практикой является регулярное обновление бэкапов и их хранение в нескольких местах (не только в рабочем компьютере). |
3 | Девелопмент (от англ. «development») | разработка чего-либо: программ, приложений, игр и т.д. |
4 | Алгоритм | порядок действий, которые необходимо выполнить для решения определенной задачи. В программировании алгоритмы описывают средствами псевдокода, блок-схем и UML диаграмм. |
5 | Веб-дизайн | проектирование и разработка внешнего вида интернет сайтов и пользовательского интерфейса веб-приложений, в том числе художественное оформление в соответствии с определенной стилистикой (корпоративным стилем компании-заказчика, стилем рекламной кампании и т.д.). Веб-дизайн является частью веб-программирования. |
6 | Веб-программирование | направление в программировании, ориентированное на разработку приложений для сети интернет (веб-приложений). Пользователь взаимодействует с веб-приложением через интернет браузер. Само приложение загружается с удаленного веб-сервера, а общение клиента и сервера осуществляется через HTTP протокол. |
7 | Инспекция кода (Code review) | систематический и периодический анализ программного кода, направленный на поиск необнаруженных на ранних стадиях разработки программного продукта ошибок, а также, на выявление некачественных архитектурных решений и критических мест в программе. |
8 | Объектно-ориентированное программирование (ООП) | самая удачная и гениальная, на мой взгляд, парадигма программирования. Суть объектно-ориентированного программирования в представлении обрабатываемой информации в виде объектов – экземпляров классов. Класс – это новый (по отношению к процедурному программированию) тип данных, который объединяет в себе и структуры данных и параметризованные процедуры. |
9 | Прикладное программирование | процесс разработки программного обеспечения, предназначенного для решения прикладных задач в определенной сфере деятельности. Такое программное обеспечение называют прикладным, и оно характеризуется тем, что не использует вычислительные ресурсы аппаратного обеспечения напрямую, а делает это посредством операционной системы. |
10 | Рефакторинг кода (Refactoring) | процесс внесения изменений в программный код в соответствии с некоторым набором правил – приемов рефакторинга, которые не меняют смысл программы, но делают ее код более стройным и легким для интерпретации человеком. Также, рефакторинг способствует облегчению поиска ошибок и “узких мест” в программе. |
Список использованных источников
1 | Алехин, В.А. Микроконтроллеры PIC: основы программирования и моделирования в интерактивных средах MPLAB IDE, mikroC, TINA, Proteus. Практикум / В.А. Алехин. - М.: ГЛТ , 2016. - 248 c. |
2 | Ашарина, И.В. Основы программирования на языках C и C++ / И.В. Ашарина. - М.: ГЛТ, 2012. - 208 c. |
3 | Биллиг, В.А. Основы программирования на С#: Учебное пособие / В.А. Биллиг. - М.: Бином, 2012. - 483 c. |
4 | Гавриков, М.М. Теоретические основы разработки и реализации языков программирования: Учебное пособие / М.М. Гавриков, А.Н. Иванченко, Д.В. Гринченков. - М.: КноРус, 2010. - 184 c. |
5 | Гулиа, Н.В. Основы вычислений и программирования в пакете MathCAD PRIME: Учебное пособие / Н.В. Гулиа, В.Г. Клоков, С.А. Юрков. - СПб.: Лань, 2016. - 224 c. |
6 | Зыков, С.В. Основы современного программирования: Учебное пособие для вузов / С.В. Зыков. - М.: ГЛТ , 2012. - 444 c. |
7 | Колдаев, В.Д. Основы алгоритмизации и программирования: Учебное пособие / В.Д. Колдаев; Под ред. Л.Г. Гагарина. - М.: ИД ФОРУМ, ИНФРА-М, 2012. - 416 c. |
8 | Культин, Н.Б. Основы программирования в Delphi 2006 для Windows / Н.Б. Культин. - СПб.: BHV, 2006. - 384 c. |
9 | Семакин, И.Г. Основы алгоритмизации и программирования: Учебник для студ. учреждений сред. проф. образования / И.Г. Семакин, А.П. Шестаков. - М.: ИЦ Академия, 2012. - 400 c. |
10 | Семакин, И.Г. Основы алгоритмизации и программирования. Практикум: Учебное пос. для студ. учреждений сред. проф. образования / И.Г. Семакин, А.П. Шестаков . - М.: ИЦ Академия, 2013. - 144 c. |
11 | Черпаков, И.В. Основы программирования: Учебник и практикум для прикладного бакалавриата / И.В. Черпаков. - Люберцы: Юрайт, 2016. - 219 c. |
Список сокращений
Здесь разместите список сокращений.
Если в работе отсутствует элемент «Список сокращений», заголовок «Список сокращений» необходимо удалить.
Приложения
А | |
Б | |