Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом Перепелица 2015.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

1.5 Функциональные требования

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

  1. Осуществление ввода математических формул в текстовом формате на специализированом языке.

  2. Визуализация формул в графическом виде на математически-ориентированном языке.

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

  • арифметические операторы;

  • элементарные функции (sin, cos, tan, pow, abs, sqrt, th, sh, ch, log);

  • операторы цикла;

  • функции взятия частных производных;

  • представление математической модели в виде нескольких математических формул.

  1. Вычисление значений выходных характеристик радиоэлектронных устройств по заданной математической модели.

  2. Возможность передачи значений выходных характеристик в программный модуль для расчета допусков.

  3. Реализация алгоритмов анализа и синтеза допусков с использованием заданной математической модели.

  4. Обработка алгоритмами синтеза допусков данных полученных от сторонних САПР.

  5. Обеспечить возможность сохранения проделанной работы.

1.6 Выводы к разделу 1

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

  1. Решение задач допускового проектирования для радиоаппаратуры происходит путем проведения серий экспериментов над их математическими моделями заданных математическим описаниям или их представлениями средствами сторонних САПР.

  1. Для решения задач допускового проектирования необходимо обеспечить взаимодействие алгоритмов расчетов допусков, математических моделей и сторонних САПР РЭА.

  2. Успешное решение задач допускового проектирования способно в значительной мере уменьшить затраты на разработку проектированного радиоэлемента.

В ходе анализа множества существующих САПР РЭА было выявлено, что ни в одной из них не реализовано решение задач синтеза допусков. Таким образом, система специализированая на решении задач допускового проектирования является уникальным востребованным продуктом.

2 Анализ програмных средств

2.1 Обзор особенностей выбранного языка программирования

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

При выборе языка программирования для разрабатываемого проекта я выбрал три обязательных требования, которым данный язык должен удовлетворять:

  • высокая производительность;

  • устойчивость к сбоям;

  • легкость внесения изменений в код, читабельность.

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

Например, наиболее распространенные компиляторы C++ хорошо справляются с генерацией и оптимизацией кода. Здесь есть некоторые тонкости, но обычно они не так важны, как эффективность кода. Скажем, в C++ следует избегать создания слишком большого количества временных объектов, тем более что в этом языке очень легко неосознанно создать массу безымянных временных объектов. Поэтому лучше использовать шаблоны выражений, позволяющие отложить реальные вычисления математического выражения до его присвоения. В результате удается избежать больших потерь из-за абстракций в период выполнения.

Нельзя сказать, что единственный фактор, влияющий на производительность, – особенности языка. При сравнении быстродействия языков на самом деле сравнивается мастерство создателей компиляторов, а не сами языки [13].

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

Таким образом, для реализации моего проекта был выбран другой язык программирования – С#. Это объектно-ориентированный язык программирования построенный на платформе .NET, обладающий современными технологиями программирования и схожим синтаксисом с языком С++ .