Интерполяционный полином Лагранжа
зовании такого модуля клиент
выбирает только одну из подпрограмм. Недостатками является сложное
сопряжение и большая вероятность внесения ошибок при изменении
сопряжения ради одной функции.
3. Временная связность (СС=3). Части модуля не связаны, но необходимы в
один и тот же период работы системы. Недостаток: сильная взаимная
связь с другими модулями, отсюда – сильная чувствительность к
внесению изменений.
4. Процедурная связность (СС=5). Части модуля связаны порядком
выполняемых ими действий, реализующих некоторый сценарий поведения.
5. Коммуникативная связность (СС=7). Части модуля связаны по данным
(работают с одной и той же структурой данных).
6. Информационная (последовательная) связность (СС=9). Выходные данные
одной части используются как входные данные в другой части модуля.
7. Функциональная связность (СС=10). Части модуля вместе реализуют одну
функцию.
Этот метод функционален по своей природе, поэтому наибольшей связностью
здесь объявлена функциональная связность. Вместе с тем одним из
принципиальных преимуществ объектно-ориентированного подхода является
естественная связность объектов. Максимально связанным является объект, в
котором представляется единая сущность и в который включены все операции
над этой сущностью. Следовательно, восьмой тип можно определить так:
8. Объектная связность. Каждая операция обеспечивает функциональность,
которая предусматривает, что все свойства объекта будут
модифицироваться, отображаться и использоваться как базис для
предоставления услуг.
Высокая связность – желательная характеристика, так как она означает,
что объект представляет единую часть в проблемной области, существует в
едином пространстве. При изменении системы все действия над частью
инкапсулируются в едином компоненте. Поэтому для производства изменения нет
нужды модифицировать много компонентов. Если функциональность в объектно-
ориентированной системе обеспечивается наследованием от суперклассов, то
связность объекта, который наследует свойства и операции, уменьшается. В
этом случае нельзя рассматривать объект как отдельный модуль – должны
учитываться все его суперклассы. Системные средства просмотра содействуют
такому учету. Однако понимание элемента, который наследует свойства от
нескольких суперклассов, резко усложняется.
В классическом методе Л. Констентайна и Э. Йордана определены шесть
типов сцепления, которые ориентированы на процедурное проектирование.
Принципиальное преимущество объектно-ориентированного проектирования в том,
что природа объектов приводит к созданию слабо сцепленных систем.
Фундаментальное свойство объектно-ориентированного проектирования
заключается в скрытости содержания объекта. Как правило, содержание объекта
невидимо внешним элементам. Степень автономности объекта достаточно высока.
Любой объект может быть замещен другим объектом с таким же интерфейсом. Тем
не менее наследование в объектно-ориентированных системах приводит к другой
форме сцепления. Объекты, которые наследуют свойства и операции, сцеплены с
их суперклассами. Изменения в суперклассах должны проводиться осторожно,
так как эти изменения распространяются во все классы, которые наследуют их
характеристики.
Таким образом, сами по себе объектно-ориентированные механизмы не
гарантируют минимального сцепления. Конечно, классы – мощное средство
абстракции данных. Их введение уменьшило поток данных между модулями и,
следовательно, снизило общее сцепление внутри системы. Однако количество
типов зависимостей между модулями выросло. Появились отношения
наследования, делегирования, реализации и т.д. Более разнообразным стал
состав модулей в системе (классы, объекты, свободные функции и процедуры,
пакеты). Отсюда вывод: необходимость измерения и регулирования сцепления в
объектно-ориентированных системах обострилась.
Сцепление – мера зависимости модулей по данным, внешняя характеристика
модуля, которую желательно уменьшать. Количественно сцепление измеряется
степенью сцепления (СЦ). Выделяют 6 типов сцепления:
1. Сцепление по данным (СЦ=1). Модуль А вызывает модуль В. Все входные
и выходные параметры вызываемого модуля – простые элементы данных.
2. Сцепление по образцу (СЦ=3). В качестве параметров используются
структуры данных.
3. Сцепление по управлению (СЦ=4). Модуль А явно управляет
функционированием модуля В (с помощью флагов или переключателей),
посылая ему управляющие данные.
4. Сцепление по внешним ссылкам (СЦ=5). Модули А и В ссылаются на один
и тот же глобальный элемент данных.
5. Сцепление по общей области (СЦ=7). Модули разделяют одну и ту же
глобальную структуру данных.
6. Сцепление по содержанию (СЦ=9). Один модуль прямо ссылается на
содержание другого модуля (не через точку входа). Например, коды их
программ перемежаются друг с другом.
Глава 2
1. Интегрированная среда разработки Delphi
Курсовой проект был разработан в интегрированной среде разработки
Delphi 7, далее последует описание данного программного изделия.
Прикладные программы, или приложения, Delphi создаются в
интегрированной среде разработки. Пользовательский интерфейс этой среды
служит для организации взаимодействия с программистом и включает в себя ряд
окон, содержащих различные элементы управления. С помощью средств
интегрированной среды разработчику удобно проектировать интерфейсную часть
приложения, а также писать программный код и связывать его с элементами
управления. В интегрированной среде разработки проходят все этапы создания
приложения, включая отладку. Интегрированная среда разработки Delphi 7
представляет собой многооконную систему.
Язык Delphi реализует концепцию объектно-ориентированного
программирования. Это означает, что функциональность приложения
определяется набором взаимосвязанных задач, каждая из которых становится
самостоятельным объектом. У объекта есть свойства (т.е. характеристики, или
атрибуты), методы, определяющие его поведение, и события, на которые он
реагирует. Одним из наиболее важных понятий объектно-ориентированного
программирования является класс. Класс представляет собой дальнейшее
развитие концепции типа и объединяет в себе задание не только структуры и
размера переменных, но и выполняемых над ним операций. Объекты в программе
всегда являются экземплярами того или иного класса.
Все вычисления курсовой программы построены на знании интерполяционного
полинома Лагранжа (интерполяционный многочлен в форме Лагранжа). Именно с
его помощью вычисляется значение функции при нескольких заданных
пользователем значениях аргумента и некоторым другим входным данным.
Интерполяционным многочленом называется многочлен [pic] степени не выше n,
который в узлах [pic]принимает значения [pic].
Условия применения полинома:
Функция [pic] непрерывна на интервале [pic] и задана некоторыми своими
значениями [pic] для соответствующих значений аргумента [pic]. Полином
используется, когда необходимо найти значение этой функции в точке [pic].
Теорема:
Пусть заданы узлы [pic], среди которых нет совпадающих и значения [pic]
некоторой функции f(x) в этих узлах. Существует один и только один
многочлен [pic] степени не выше n, принимающий в узлах [pic] значения
[pic]. Введем вспомогательные многочлены
[pic].
Это многочлен степени n, для которого выполняется равенство [pic].
Многочлен [pic] называется полиномом Лагранжа.
При применении программы, названной «Интерполирование», пользователь
в первом окне вводит количество аргументов, столько узлов [pic] будет в
дальнейшем использоваться программой. Во втором окне пользователь вводит
значения аргументов и функций для построения полинома Лагранжа. В третьем
окне задается значение аргумента, функцию которого необходимо найти. При
нажатии кнопки «Вычислить», приводится в действие алгоритм программы,
происходит вычисление и выдается результат и одновременно с этим процессом
программа находит погрешность вычисления. Пользователь сам может оценить,
насколько полученный в ходе вычислений результат расходится с правильным,
используя погрешность.
2. Характеристики модулей программного средства
1. Связность внутри модулей
Модули 1, 2 и 4 имеют внутреннюю связность временную (части модуля не
связаны, но необходимы в один и тот же период работы системы). Третий
модуль имеет тип связности – информативный последовательный, который
говорит о том, что выходные данные одной части модуля используются как
входные данные другой части модуля. Эта связи присутствует, потому что
function Ln (k: Integer): Real; function Pol ( ): Real; и function Delta (
): Real; являются входными данными для Procedure TForm3/Button1Click
(Sender: Tobject).
2. Сцепление модулей между собой
Модуль 1 сцеплен с модулем 2 по данным (тип сцепления первый, СЦ=1), то
есть модуль 1 вызывает модуль 2, входные и выходные параметры – простые
элементы данных.
Модуль 3 с модулем 2 сцеплен по содержанию, то есть модуль 3 прямо
ссылается на содержание модуля 2. Модуль 3 с первым модулем не сцеплены,
так как, хотя они оба сцеплены со вторым модулем, но каждый из них имеет
разный тип сцепления, не имеющих ничего общего.
Четвертый модуль, являющийся сведе
| | скачать работу |
Интерполяционный полином Лагранжа |