- •Нахождение простых чисел. Алгоритм Эратосфена.
- •Алгоритм Эвклида.
- •Списки.
- •Очередь
- •Рекурсия
- •Деревья
- •Квадратичные сортировки
- •Быстрая сортировка
- •Сортировка слиянием.
- •Сортировка радикс обменом.
- •Поиск элемента в массиве.
- •Алгоритм Рабина-Карпа
- •Алгоритм Бойера-Мура
- •Алгоритм поиска подстроки Кнута-Морриса-Прата
- •Создание и использование модулей.
- •Жизненный цикл программного средства.
- •Специфика разработки программных средств.
- •Сложность программных средств.
- •Источники ошибок в программных средствах.
- •Понятие качества программного средства.
Специфика разработки программных средств.
Разработка программных средств имеет ряд специфических особенностей [3.1].
Прежде всего, следует отметить некоторое противостояние: неформальный характер требований к ПС (постановки задачи) и понятия ошибки в нем, формализованный основной объект разработки программы ПС
Разработка ПС носит творческий характер (на каждом шаге приходится делать какой-либо выбор, принимать какое-либо решение), а не сводится к выполнению какой-либо последовательности регламентированных действий.
Следует отметить также особенность продукта разработки. Он представляет собой некоторую совокупность текстов (т.е. статических объектов), смысл этих текстов выражается процессами обработки данных и действиями пользователей, запускающих эти процессы (т.е. является динамическим). Это предопределяет выбор разработчиком ряда специфичных приемов, методов и средств.
Продукт разработки -особенность: ПС при своем использовании (эксплуатации) не расходуется и не расходует используемых ресурсов.
Сложность программных средств.
Одно из направлений по определению качества ПО основано на таком понятии как структурная сложность программ. Это понятие включает в себя много различных факторов, таких как трудность написания программы, отладки, сопровождения, имеющейся документации и, конечно, от самой программы, т.е. так называемой структурной сложности программы. Сложность самой программы зависит в свою очередь от: размера программы; её структур данных; структур управления определяемых её логикой; правильного её разбиения на модули; внутренних связей каждого модуля; межмодульных связей в программе.
Метрики определения сложности программ можно разделить на два класса: статические и динамические. Вычисление статических метрик основано на статическом анализе программ. Эти метрики отражают измерение таких факторов, как размер программ, организация данных и
создание алгоритмов оценивания при помощи статических данных характеристик и их коэффициентов значительно упрощает оценку и повышает её объективность. Теоретически можно создать специализированное программное средство, с постоянно обновляющейся базой данных по оценке функциональных возможностей ПО.
На основе выделенных показателей вычисляется обобщенный показатель сложности, представляемый в виде критерия аддитивного вида с весовыми коэффициентами.
Разработанное ПО имеет структурно- модульную идеологию построения, дружественный интерфейс пользователя, наличие встроенной «помощи». Оно позволяет автоматически обработать исследуемую программу, выделить и подсчитать требуемые для расчёта показателей данные и представить полученные данные, как в табличном виде, так и в виде диаграммы. При запуске программы, на экране появляется окно пользователя, в котором предложен список действий доступных для выполнения. Чтобы произвести автоматический анализ некоторого программного модуля, сперва следует выбрать пункт меню “Load” (перед пользователем появится стандартное диалоговое окно открытия файла), и открыть требуемый файл. Данный файл будет отображён в специальном текстовом поле. Далее нужно выбрать пункт меню “Analyze”. Программа автоматически загрузит в память, имеющуюся в её распоряжении базу данных операторов, процедур, и функций (оформленных специальным образом) и согласно с синтаксическими правилами Delphi произведёт анализ и выдаст соответствующие числовые параметры.
Использование разработанного ПО даёт возможность оперативной оценки текущего состояния разработки программ, и выдать рекомендации по устранению недостатков.