Разработка программного продукта при моделировании экологических систем

Автор работы: Пользователь скрыл имя, 18 Ноября 2012 в 11:44, курсовая работа

Краткое описание

Методические указания предназначены для изучения основных понятий, определений, принципов и закономерностей, используемых в теории игр и теории принятия решений применительно к экономике сельского хозяйства, а также для приобретения практических навыков постановки и решения прикладных задач в данной предметной области.
В число задач методических указаний не входит изучение всех проблем, решение которых связано с применением теории игр и теории принятия решений. В них отражены только основные аспекты применения данных знаний в экономической практике.
Изучение данных методических указаний необходимо для освоения учебных дисциплин: «Игровые модели и принятие решений», «Исследование операций в экономике».

Содержимое работы - 1 файл

Копия Курсовик по ТРПП. ''Черновая'' работа.doc

— 6.11 Мб (Скачать файл)

При статическом тестировании программный код не выполняется - анализ программы происходит на основе исходного кода, который вычитывается вручную, либо анализируется специальными инструментами. В некоторых случаях, анализируется не исходный, а промежуточный код (такой как байт - код или код на MSIL).

Также к статическому тестированию относят тестирование требований, спецификаций, документации.

Регрессионное тестирование

После внесения изменений  в очередную версию программы, регрессионные  тесты подтверждают, что сделанные  изменения не повлияли на работоспособность остальной функциональности приложения. Регрессионное тестирование может выполняться как вручную, так и средствами автоматизации тестирования.

Тестовые скрипты

Тестировщики используют тестовые скрипты на разных уровнях: как в модульном, так и в интеграционном и системном тестировании. Тестовые скрипты, как правило, пишутся для проверки компонентов, в которых наиболее высока вероятность появления отказов или вовремя не найденная ошибка может быть дорогостоящей.

Тестирование «белого ящика» и «чёрного ящика»

В терминологии профессионалов тестирования, фразы «тестирование  белого ящика» и «тестирование чёрного  ящика» относятся к тому, имеет  ли разработчик тестов доступ к исходному  коду тестируемого ПО, или же тестирование выполняется через пользовательский интерфейс либо прикладной программный интерфейс, предоставленный тестируемым модулем.

При тестировании белого (прозрачного) ящика (white-box testing), разработчик теста имеет доступ к исходному коду программ и может писать код, который связан с библиотеками тестируемого ПО. Это типично для юнит - тестирования (unit testing), при котором тестируются только отдельные части системы. Оно обеспечивает то, что компоненты конструкции - работоспособны и устойчивы, до определённой степени. При тестировании белого ящика используются метрики покрытия кода.

При тестировании чёрного  ящика, тестировщик имеет доступ к ПО только через те же интерфейсы, что и заказчик или пользователь, либо через внешние интерфейсы, позволяющие  другому компьютеру либо другому  процессу подключиться к системе  для тестирования. Например, тестирующий модуль может виртуально нажимать клавиши или кнопки мыши в тестируемой программе с помощью механизма взаимодействия процессов, с уверенностью в том, все ли идёт правильно, что эти события вызывают тот же отклик, что и реальные нажатия клавиш и кнопок мыши. Как правило, тестирование чёрного ящика ведётся с использованием спецификаций или иных документов, описывающих требования к системе. Как правило, в данном виде тестирования критерий покрытия складывается из покрытия структуры входных данных, покрытия требований и покрытия модели (в тестировании на основе моделей).

При тестировании серого ящика разработчик теста имеет  доступ к исходному коду, но при  непосредственном выполнении тестов доступ к коду, как правило, не требуется.

Если «альфа-» и «бета- тестирование» относятся к стадиям до выпуска продукта (а также, неявно, к объёму тестирующего сообщества и ограничениям на методы тестирования), тестирование «белого ящика» и «чёрного ящика» имеет отношение к способам, которыми тестировщик достигает цели.

Бета - тестирование в целом ограничено техникой чёрного ящика (хотя постоянная часть тестировщиков обычно продолжает тестирование белого ящика параллельно бета - тестированию). Таким образом, термин «бета - тестирование» может указывать на состояние программы (ближе к выпуску чем «альфа»), или может указывать на некоторую группу тестировщиков и процесс, выполняемый этой группой. Итак, тестировщик может продолжать работу по тестированию белого ящика, хотя ПО уже «в бете» (стадия), но в этом случае он не является частью «бета-тестирования» (группы / процесса).

Покрытие кода

Покрытие кода, по своей  сути, является тестированием методом  белого ящика. Тестируемое ПО собирается со специальными настройками или библиотеками и/или запускается в особом окружении, в результате чего для каждой используемой (выполняемой) функции программы определяется местонахождение этой функции в исходном коде. Этот процесс позволяет разработчикам и специалистам по обеспечению качества определить части системы, которые, при нормальной работе, используются очень редко или никогда не используются (такие как код обработки ошибок и т.п.). Это позволяет сориентировать тестировщиков на тестирование наиболее важных режимов.

Тестеры могут использовать результаты теста покрытия кода для разработки тестов или тестовых данных, которые расширят покрытие кода на важные функции.

Как правило, инструменты  и библиотеки, используемые для получения  покрытия кода, требуют значительных затрат производительности и/или памяти, недопустимых при нормальном функционировании ПО. Поэтому они могут использоваться только в лабораторных условиях.

 

 

2 Практическая часть

2.1 Анализ технического  задания и возможности способов  реализации поставленной задачи

Благодаря своему широкому применению, теория о нахождении кратчайших путей в последнее время интенсивно развивается. Актуальность курсовой работы в том, что нахождение кратчайшего пути - жизненно необходимо и используется практически везде, начиная от нахождения оптимального маршрута между двумя объектами на местности (например,  кратчайший путь от дома до академии), также используется в системах автопилота, используется для нахождения оптимального маршрута при перевозках коммутации информационного пакета Internet и многого другого.

Целью данной курсовой работы является практическая разработка алгоритма поиска кратчайших путей в графе, заданном матрицей инциденций вершин и ребер, его последующая реализация на одном из языков программирования высокого уровня.

Программа по нахождению кратчайшего пути в графе будет  называться «Нахождение минимального расстояния пути».

Программу можно реализовать  для определения минимального пути в какой-нибудь местности и использовать вместо GPS навигатора.

Также её можно применить  для строительства дороги или  автомагистрали.

Задачи, которая должна разрешать программа:

1 Программа должна  иметь возможность правильно  решать поставленную ей задачу;

2 Программа должна  по возможности не тратить  лишнее время у пользователя  и ресурсы у компьютера.

3 Программа должна  сама рассчитывать все пути в графе, затем вывести  самый минимальный путь в отдельном окне;

3 Программа должна  иметь возможность сохранить  минимальный путь графа в виде  изображения.

2.2  Выбор инструментальных  программных средств

При выборе языка программирования, учитывалось простота программирования и максимально полные возможности программы. Поэтому выбор языка программирования выпал на Delphi.

Поскольку Delphi - язык и  среда программирования,  относящаяся  к  классу  RAD (Rapid Application Development - «Средство  быстрой  разработки  приложений») средств CASE -  технологии.  Delphi  сделала  разработку  мощных  приложений Windows  быстрым  процессом,  доставляющим удовольствие в программировании.

Delphi   обладает   широким   набором   возможностей,   начиная    от проектировщика  форм  и  кончая  поддержкой  всех  форматов  популярных  баз данных.  Среда  устраняет  необходимость  программировать  такие  компоненты Windows общего назначения, как метки, пиктограммы и даже диалоговые  панели.

Размещение объектов в Delphi  связано  с более тесными отношениями между объектами и реальным программным кодом.  Объекты помещаются  в форму, при этом  код,  отвечающий  объектам,  автоматически записывается  в исходный  файл.  Этот  код компилируется,  обеспечивая существенно   более высокую производительность, чем  визуальная  среда,  которая  интерпретирует информацию лишь в ходе исполнения программы.

По всем этим критериям  программная среда Delphi является наиболее приемлемой для написание программного продукта.

С++ является языком программирования общего назначения. Естественная для него область применения - системное программирование, понимаемое в широком смысле этого слова. Кроме того, С++ успешно используется во многих областях приложения, далеко выходящих за указанные рамки. Реализации С++ теперь есть на всех машинах, начиная с самых скромных микрокомпьютеров - до самых больших супер-ЭВМ, и практически для всех операционных систем.

Преимущество между  С++ и Delphi:

С++ поддерживает различные  стили и технологии программирования, включая традиционное директивное программирование, ООП. Имеется возможность работы на низком уровне с памятью, адресами, портами. Возможность создания обобщённых алгоритмов для разных типов данных, их специализация и вычисления на этапе компиляции, используя шаблоны.

Delphi пригоден для создания профессиональных высокоскоростных торговых роботов. Возможна разработка полностью отлаженного приложения, без ошибок. Неограниченные возможности разработки и совершенство языка программирования.

Недостатки С++ и Delphi:

В C++ имеется синтаксис, провоцирующий ошибки. Шаблоны в своём исходном виде приводят к порождению кода очень большого объёма, а введённая позже в язык возможность частичной спецификации шаблонов трудно реализуема и не поддерживается многими существующими компиляторами. Недостаток информации о типах данных во время компиляции (CTTI).

В Delphi невозможно подключить к графикам Quik напрямую. Приходится использовать средства Qpile, что негативно сказывается на скорости получения данных графика.

Visual Basic – один из первых языков, поддерживающих событийно-управляемое программирование (event-driven programming).Этот стиль хорошо согласуется со стандартом GUI (Graphical User Interface). Традиционно программирование ориентировалось на поэтапное описание конкретного процесса. Однако современные компьютерные приложения слишком сложны и данный стиль программирования для них не подходит.

Смысл событийно - управляемого программирования заключается в том, что вместо скрупулезного описания каждого шага необходимо лишь указать, как реагировать на различные события (действия пользователя): выбор команды, щелчок или перемещение мыши и пр. В результате программист создает не одну большую программу, а приложение, состоящее из набора взаимодействующих процедур, управляемых пользователем.

Pascal - язык программирования общего назначения. Один из наиболее известных языков программирования, широко применялся в промышленном программировании, обучении программированию в высшей школе, является базой для ряда других языков.

Особенностями языка  являются строгая типизация и  наличие средств структурного (процедурного) программирования. По мнению Н. Вирта, язык должен способствовать дисциплинированию  программирования, поэтому, наряду со строгой типизацией, в Паскале  сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис автор постарался сделать интуитивно понятным даже при первом знакомстве с языком.

2.3 Выбор аппаратных  средств

Для обеспечения нормальной работы программного продукта и эффективности  проектирования программы должна быть использована следующая конфигурация компьютера:

  • центральный процессор класса не ниже Pentium III (с частотой не менее 500 МГц);
  • объём оперативной памяти не менее 64 Мб;
  • свободное место на жёстком диске не менее 64 Мб (желательно 128 Мб);
  • CD / DVD - привод для чтения лазерных компакт - дисков;
  • привод для чтения гибких дисков;
  • стандартный манипулятор «мышь» (стандартная PS2/USB мышь);
  • стандартная клавиатура (стандартная PS2/USB клавиатура);
  • стандартный SVGA монитор с минимальным разрешением 800х600;
  • видеокарта не менее 64 Мб.

2.4 Программная документация

Программная документация на программный продукт «Моделирование экологических систем» состоит из следующих документов:

  • техническое задание (см. Приложение А);
  • документ – концепция (см. Приложение Б);
  • спецификация (см. Приложение В).

Техническое задание (ГОСТ 19.201-78) – основной документ программной  документации, который определяет требования, предъявляемые к программному продукту, данные для его разработки, сроки разработки и виды испытаний.

Документ - концепция – основополагающий документ программного продукта, который описывает программный продукт в целом, содержит общие требования к проекту, оценивает потребности пользователя и функции системы.

Спецификация (ГОСТ 19.202-78) – основной документ программной документации, который содержит полное описание требований к исходному программному продукту для конкретного типа ЭВМ. Значение этого документа:

  • спецификация – это задание на разработку программного продукта;
  • спецификация используется для проверки готовности программного продукта;
  • спецификация облегчает сопровождение и модификацию программного продукта.

 

2.5 Эксплуатационная документация

Эксплуатационная документация на программный продукт «Электронная книга комендантского учёта» состоит из следующих документов:

Информация о работе Разработка программного продукта при моделировании экологических систем