Программная декомпозиция системы – разбиение подсистем на модули. Разбиение на модули позволяет при разработке подсистемы любого уровня держать в уме информацию только о ней, а не обо всех остальных частях системы. Правильная декомпозиция является главным способом преодоления сложности разработки больших систем программного обеспечения. Разделение программ на модули также позволяет нескольким специалистам работать над одним проектом.
При выполнении данного проекта модульность была достигнута с помощью методов:
Random — имеет конструктор класса: для того, чтобы вызывать методы класса, нужно вначале создавать экземпляр (объект) класса. Созданный объект обеспечивает получение псевдослучайных чисел.
Math — содержит стандартные математические функции, без которых трудно обойтись при построении многих выражений.
4.3 Тестирование системы.
Отладка — это комплексный процесс по выявлению и исправлению дефектов в программном обеспечении. Сами же дефекты, обычно, обнаруживается в процессе тестирования ПО. Отладка состоит из следующих этапов:
Декомпозиция задач в Agile
воспроизведение дефекта (любым из доступных способов);
анализ дефекта (поиск причины возникновения дефекта);
дизайн исправления дефекта;
кодирование исправления дефекта;
интеграция исправления в кодовую базу или целевую систему;
дополнительные валидации после интеграции.
На любом этапе отладки могут возникнуть новые дефекты, которые придётся отлаживать. Например, какая-то часть исправления в коде работает не так как ожидается и соответственно придётся отлаживать эту часть в изоляции и снова основное время уходит на пункты 1 и 2 и т.д. Этап отладки можно считать законченным, если программа правильно работает на двух-трех наборах входных данных. Некоторые методы отладки ПО используемые на данный момент в индустрии:
запуск программы из-под отладчика;
анализ поведения системы;
анализ кода без исполнения программы;
выполнения программы (или её части) в другой среде;
отладка трансляцией кода.
Во время выполнения отладки, были использованы следующие методы:
анализ кода без исполнения программы;
запуск программы из-под отладчика.
Отладка ряда ошибок прошла успешно, были внесены изменения в интерфейс программы. Также были предусмотрены некоторые исключительные ситуации: в одну и туже ячейку при заполнении поля перезаписывали друг друга несколько мин, в следствии чего их количество уменьшалось, и программа работала неверно, не верно рассчитывалось количество оставшихся мин.
Описание операций отладки в Visual Studio 2015
F5 — запустить программу с возможностью отладки. Или продолжить выполнение программы, после точки останова.
Ctrl+F5 — запустить программу без отладки
F9 — поставить/убрать точку останова — breakpoint
Ctrl+Shift+F9 — удалить все точки останова.
F10 — выполнить код, без захода внутрь; F11 — выполнить код, с заходом
ДЕКОМПОЗИЦИЯ. Как решать большие задачи эффективно.
5. Документация.
5.1 Руководство пользователя.
Перед началом работы с продуктом прочтите данную инструкцию до конца.
В данном руководстве описаны инструкции по пользованию игрой «Сапёр».
Игра имеет возрастную категорию 6+.
Перед началом использования убедитесь, что ваша система удовлетворяет минимальным требованиям продукта:
- Процессор Celeron-1.0Hz.
- оперативная память объемом, 128 Мбайт.
- HDD, 1 Гбайт.
- операционную систему Windows ХР/Vista/7/8/10.
- Свободное место не менее 60 Мб.
- Мышь.
- Монитор.
- .NET Framework не ниже 4-ого.
Источник: studfile.net
Декомпозиция программного обеспечения на подсистемы
Декомпозиция ППО на составные части – процесс трудно формализуемый и не является предметом рассмотрения данного отчёта. Предположим, что такая декомпозиция осуществлена руководителем или группой руководителей проекта наилучшим образом. Задачи перед разработчиками составных частей ППО поставлены и они приступили к работе.
При этом начинается согласование программного интерфейса между составными частями (или согласование изменений этого интерфейса). Очевидно, что затрат времени на такое согласование будет меньше, если большая часть интерфейса спроектирована ещё до начала работы над изделием. Более того, лучше, если интерфейс программного взаимодействия одинаков для всех составных частей ППО и для всех изделий, разрабатываемых на предприятии. Такой интерфейс должен быть разработан специально для организации взаимодействия разработчиков составных частей ППО. Его использование позволит существенно снизить трудозатраты на разработку программного обеспечения и затраты на повторное использование программ, так как любые составные части ППО могут быть использованы в любом проекте без их изменения на основе единого интерфейса программного взаимодействия.
Составные части ППО тренажного комплекса, которые будут иметь единый программный интерфейс, назовём программными компонентами (ПК). Главное требование к ПК – это минимизация взаимодействия с другими ПК, входящими в состав проекта. Это требование достаточно неконкретное, поэтому необходимо сформулировать набор вытекающих из него частных требований.
Первым требованием является «модульная обособленность». ПК должна быть оформлена в виде такого программного модуля, который мог бы включаться в любой программный проект без его изменений и без изменений в коде других ПК. Вследствие этого ПК не должна иметь прямых связей с другими ПК (под прямой связью понимается наличие глобальных имён переменных и процедур, доступных из других ПК). При включении ПК в проект и её удалении трансляция и компоновка проекта должны происходить так, как будто этого изменения не было. Модульная обособленность обеспечивает минимизацию затрат на соединение ПК, изготовляемых разными разработчиками, и повторное использование ПК.
Другим требованием является соответствие ПК единому программному интерфейсу. Это требование вытекает из первого, так как отсутствие прямых связей между ПК предполагает наличие связей косвенных. Такие связи могут быть реализованы посредством набора общих для всех ПК процедур, образующих единый программный интерфейс.
Кроме этих процедур каждая ПК должна иметь некий логический идентификатор, посредством которого можно получить косвенный доступ к её общим процедурам. При наличии такого интерфейса разработчик ПК ничего не должен знать об устройстве других компонент, кроме их логических идентификаторов и перечня описаний взаимодействий. Описание взаимодействия может включать набор команд взаимного управления ПК и форматы данных (не сами данные!), которыми обмениваются компоненты. Подразумевается, что любая ПК должна включать в себя некий минимальный набор фиксированных процедур, необходимых для реализации программного взаимодействия.
Следующим требованием, обеспечивающим выполнение первых двух, является наличие организатора взаимодействия компонент. Так как ПК ничего «не знают» друг о друге (и даже о наличии друг друга в программном проекте), должна существовать некая системообразующая программа, обеспечивающая связывание ПК в единый программный комплекс посредством их логических идентификаторов и единого программного интерфейса.
Декомпозиция ППО на ПК осуществляется на основе нескольких принципов:
— принцип физического соответствия — когда ПК выделяется в силу сопоставления реального предмета или явления соответствующим вычислительным задачам (например, процесс движения самолёта, прибор или группа приборов естественным образом могут быть оформлены соответствующими моделирующими ПК).
— принцип оптимизации размера – когда необходимость выделения ПК проверяется её ожидаемым размером (имеется в виду просто объём исходного кода). Очевидно, что большое количество мелких ПК, как и малое количество огромных, равно неудобно при разработке ППО.
— принцип минимизации связей – когда декомпозиция осуществляется таким образом, чтобы информационный обмен между ПК был минимален.
организационный принцип – когда разные разработчики работают над разными ПК (это минимизирует трудозатраты на взаимодействие разработчиков).
Источник: poisk-ru.ru
Функциональная и модульная декомпозиции
Для большинства задач алгоритмы их решения являются довольно большими и громоздкими. При программировании нужно стараться получить программу удобочитаемую, высокоэффективную и легко модифицируемую. Для этого производят декомпозицию сложного алгоритма поставленной задачи, т.е. его разбивка на отдельные более простые подзадачи, затем декомпозиция подзадач и т.д. Для этого используют приемы процедурного программирования.
Один из основных приемов — разбивка алгоритма на отдельные функции и/или модули, используя функциональную и/или модульную декомпозиции соответственно.
Функциональная декомпозиция — метод разбивки большой программы на отдельные функции, т.е. общий алгоритм — на отдельные шаги, которые потом и оформляют в виде отдельных функций.
Алгоритм декомпозиции можно представить следующим образом:
— программу делать как последовательность более мелких действий;
— каждую детализацию подробно описать;
— каждую детализацию представить в виде абстрактного оператора, который должен однозначно определять нужное действие, и в конечном итоге эти абстрактные действия заменятся на группы операторов выбранного языка программирования.
При этом надо помнить, что каждая детализация – это один из вариантов решения, и поэтому необходимо проверять, что
— решение частных задач приводит решению общей задачи;
— выбранная последовательность действий разумна;
— построенная декомпозиция позволяет получать команды, легко реализуемые на выбранном языке программирования.
Единицей компиляции в языке Си является отдельный файл (модуль). Модульная декомпозиция представляет собой разбиение программы на несколько отдельных файлов, каждый из которых решает отдельную конкретную задачу и, как правило, облегчает процесс ее работы. Кроме того, код программы, разделенный на отдельные файлы, позволяет части этого кода использовать в других программах.
Пример модульной декомпозиции кода Си:
Файловая система хранения информации
Для размещения информации и программ на различных устройствах компьютера, необходимых пользователю, была разработана концепция файлов.
Под файлом понимается поименованное на внешнем носителе место (запоминающее устройство, диск и т.п.), отведенное для размещения и (или) чтения некоторой информации. При этом файл может быть пустым, т.е. место отведено, поименовано, но информация отсутствует. Информация, помещенная в файл, получает имя этого файла, поэтому файлом часто называют эту размещаемую информацию.
За работу с файлами в компьютере отвечают специальные программы, набор которых называется файловой системой, основные функции которой — предоставить пользователю удобные средства для работы с данными на всевозможных носителях.
Имя, которое присваивается файлу, может иметь тип, обычно называемый «расширение». Имя и тип разделяются точкой. При отсутствии типа точка необязательна.
Для более удобного размещения файлов введены каталоги.
Каталог (папка) – это группа файлов на одном носителе, имеющий свое имя. Если каталог вложен внутрь другого каталога, он является подкаталогом. Такая вложенность может быть многократной и тогда образуется иерархическая структура хранения данных.
Для удобства хранения внешним носителям присваиваются имена. Для дисков, например, имена обозначаются одной буквой — a:, b:, c:,…. При этом на одном винчестере для удобства размещения файлов может быть организовано несколько логических дисков с разными именами.
Маршрут (путь) файла. При сложной структуре хранения файлов может возникать такая ситуация, когда имеются разные файлы с одинаковым именем, но расположенные в разных каталогах или дисках. Для точной идентификации (указания) файла необходимо кроме имени указать на каком диске, и в какой цепочке подкаталогов он находится. Такая цепочка и называется путем к файлу. Например:
Для работы с файлами обычно используют специальные программы, наибольшее распространение получили FAR, WinCom и Проводник.
Операционная система
Вся работа компьютера осуществляется под управлением специальных программ, называемых операционной системой (ОС). С точки зрения пользователя ОС представляет широкий набор системных команд, задавая которые можно потребовать от ПЭВМ выполнения многих полезных процедур и действий.
Часть программ ОС предназначена для управления процессом выполнения задач. Имеется группа программ, так называемого администратора системы, позволяющая следить за работой группы пользователей в рамках системы. Важное место занимает блок программ, обеспечивающих обмен сообщениями между пользователями сети, в том числе через интернет.
Удобства, предоставляемые пользователю, существенно зависят от качества ОС, которые по мере совершенствования компьютеров постоянно развиваются.
В настоящее время наибольшее распространение имеют OC WindowsХХ и LinuxХХ.
Основные понятия и определения
Этапы решения задач на ЭВМ
Решение задачи на ЭВМ можно разбить на следующие этапы:
— математическая или информационная формулировка задачи;
— выбор метода (например, численного) решения поставленной задачи;
— построение алгоритма решения поставленной задачи;
— запись построенного алгоритма, т.е. написание текста программы;
— отладка программы — процесс обнаружения, локализации и устранения возможных ошибок;
— выполнение программы — получение требуемого результата.
Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам.
ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между.
ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала.
Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем.
Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
Источник: zdamsam.ru