Разработка программного продукта - Программирование, компьютеры и кибернетика курсовая работа

Разработка программного продукта - Программирование, компьютеры и кибернетика курсовая работа



































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


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

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


Объектом автоматизации данного программного средства является вычисление максимального из собственных чисел заданной пользователем матрицы.
Собственным числом л матрицы А называется такое число, которое удовлетворяет решению системы: |А - лЕ| = 0. Для каждой матрицы может существовать несколько собственных чисел.
Во многих ситуациях требуется вычисление собственных значений матрицы. Эта проблема возникает во многих областях математики, механики, инженерного дела и геологии. Однако, зачастую, задача не ограничивается вычислением всех собственных чисел. Иногда, бывает необходимо вычислить только максимальное собственное число матрицы. Эта задача обусловлена необходимой скоростью вычислений и получением конкретного значения в ограниченно короткий срок.
Суть степенного метода нахождения максимального собственного числа матрицы заключается в следующем.
Задана матрица A. Задан вектор начального приближения x0. На каждом этапе производится вычисление следующего приближения x k+1 . То есть, на каждом шаге имеются два вектора x k и x k+1 . Именно они и используются для вычисления текущего собственного числа. Вычисление происходит по формуле:
Заданная точность обеспечивается выполнением следующего условия: , где - заданная точность.
Пусть имеется матрица A (3х3) и задано начальное приближение х 0
Если заданная точность равна е = 1,6, тогда расчет максимального собственного числа прекращается, и полученное число 3,693 считают максимальным. В реальной жизни, подобная точность зачастую является недопустимой, поэтому ее значение берется от 0,00001 и меньше. Для нахождения максимального собственного числа с такой точностью требуется достаточно большое количество итераций.
Для представления предметной области воспользуемся диаграммой вариантов использования. Она приведена на рис. 1 .
Рис. 1. Диаграмма вариантов использования. Степенной метод
1. Программа должна вычислять максимальное собственное значение матрицы.
2. Предложенное решение должно быть выполнено степенным методом.
3. Вычисления должны производиться с точностью задаваемой пользователем и большой скоростью.
4. Программа должна предусматривать возможность осуществления чтения исходной матрицы из файла и запись полученного результата в файл.
5. Программа должна иметь возможность работы в режиме диалога с пользователем: исходная матрица может задаваться пользователем в процессе выполнения программы, а не только считываться из файла.
6. Программный продукт должен иметь возможность проверки введенных данных на наличие в них ошибок.
7. Интерфейс должен быть приятен на вид и выполнен в темных тонах.
4. Обзор существующих систем автоматизации поставленной задачи
Существует несколько программных продуктов, способных реализовывать поставленную задачу. Среди них: MathCad, MatLab. Однако, реализуемая задача не является основной в этих программных средствах, а является лишь некой встроенной функцией. Именно поэтому и возникает необходимость в разработке отдельного программного продукта, вычисляющего максимальное собственное число заданной матрицы.
5. Требования к программному изделию
a. Программа должна вычислять только максимальное из собственных значений матрицы с точностью, заданной пользователем.
b. Программа должна обеспечивать точность вычислений: значения, вычисляемые программой, должны быть максимально приближены к точным значениям во избежание ошибок, связанных с их использованием.
c. Программа должна вычислять собственные числа для любой заданной матрицы.
d. Использовать алгоритм приведенный в пункте 1.
a. Программа должна работать с txt файлами: осуществлять чтение исходной матрицы из файла и запись полученного результата в файл. Внутренняя структура файлов определяется разработчиком.
b. Программа должна обеспечивать высокую скорость вычислений. Вычисления с высокой точность (порядка 10 -15 ) не должны занимать более 5-7 секунд.
c. Программное изделие должно работать без сбоев в течение 6-7 часов.
a. Интерфейс программы должен быть максимально простым и понятным.
b. Программный продукт должен предусматривать ввод данных с клавиатуры и чтение данных из файла. Для ввода данных с клавиатуры должны быть предусмотрены поля для ввода размера матрицы, точности, коэффициентов матрицы и вектора начального приближения. Помимо этого интерфейс программного средства должен содержать кнопки «Ввести данные с клавиатуры» - для ввода и проверки данных, введенных с клавиатуры, «Вывести результат на экран» - для вывода результата расчетов на экран, «Записать результат в файл» - для записи результатов вычислений в файл.
c. Конечный результат при нажатии кнопки «Записать результат в файл» дублируется на экран.
d. Программный продукт должен предусматривать возможность записи конечного результата в файл.
a. Программный продукт должен быть совместим с операционной системой Windows XP и ее более поздними аналогами.
b. Программный продукт должен содержать необходимую справочную информацию, которая позволит пользователю избежать примитивных ошибок при работе с программой.
a. Программный продукт должен корректно работать с матрицами размера не более 20х20 и не менее 3х3.
b. Программный продукт должен уведомлять пользователя посредством сообщений о всех возникающих ошибках и неточностям, как на этапе ввода данных, так и на этапе выполнения расчетов.
Определение границ программного средства
Разрабатываемое программное средство является полностью локальным и не предусматривает обмена данными с другими программными средствами через локальные либо глобальные сети.
Идентификация и оценка функциональности даннных ( ILF , E IF )
Программное средство обеспечивает работу с одним внутренним логическим файлом (ILF). В данном файле хранится вся необходимая программному средству информация: размер матрицы, ее коэффициенты, точность вычислений и начальное приближение.
Число типов элементов данных (DET) внутреннего логического файла равно шести:
1. n - количество строк в матрице. Количество строк равно количеству столбцов, так как расчет ведется для так называемых квадратных матриц.
5. - результат вычислений - максимальное собственное число заданной матрицы.
6. k - количество итераций, необходимых для вычисления максимального собственного числа матрицы с заданной точностью.
Число типов элементов записей (RET) для внутреннего логического файла равно четырем:
Таким образом, уровень сложности внутреннего логического файла определен как низкий.
Внешних интерфейсных файлов (ELF) данное программное средство не имеет.
Идентификация и оценка функциональности транзакций ( EI , EO , EQ )
Данное программное средство предусматривает два внешних ввода (EI): ввод данных с клавиатуры и ввода данных из файла.
Для ввода данных с клавиатуры число типов элементов данных (DET) равно пяти: Mas, x 0 , n, , а также кнопка «Ввести данные с клавиатуры». Количество используемых типов (FTR) равно пяти.
Уровень сложности для данного типа ввода определен как высокий.
Для ввода данных из файла результаты аналогичны результатам для ввода с клавиатуры, за исключение использования символьной строки с именем файла и соответствующей кнопки для загрузки данных. То есть, DET = 6, FTR=5. Уровень сложности для данного типа ввода определен как высокий.
Данное программное средство имеет только один внешний запрос (EQ) - запрос на корректность введенных данных. Для этого необходимы переменные Mas, x 0 , n, , их значения проверяются соответственно: для матрицы - проверка на занесение недопустимых символом - знаков либо букв, для начального приближения - на равенство нулю, занесение недопустимых символов, для размера матрицы - принадлежность к заданным пределам, для точности - ограничение по порядку. Таким образом, DET=4, FTR=3. Информация на выходе данного запроса - «Введенная информация корректна» или «Введенная информация некорректна». То есть, DET=FTR=1. Таким образом, уровень сложности внешнего запроса определен как средний.
Данное программное средство предусматривает два внешних вывода: вывод данных в файл и вывод данных на экран. Для вывода данных на экран число типов элементов данных DET равно четырем: заданная точность, полученное максимальное собственное число матрицы, количество итераций, а также кнопка «Вычислить результаты». Количество используемых типов FTR равно трем. Таким образом, уровень сложности вывода на экран определен как средний.
Для записи данных в файл количество типов элементов данных DET равно пяти: максимальное собственное число, заданная точность, количество итераций, имя файла, а также кнопка «Записать результаты в файл». Количество используемых типов FTR равно четырем. Таким образом, уровень сложности вывода в файл определен как средний.
Определение нормирующего фактора ( VAF )
Рассчитаем ненормированное количество функциональных точек.
· Программное средство реализовано как единый пакет на автономном персонально компьютере - 0.
· Данные между компонентами программного средства и системы не передаются - 0.
· Требования к производительности и проектированию программного средства были установлены и рассмотрены, но чтобы удовлетворить их никаких специальных мер не требовалось - 1.
· Явных или неявных ограничений на использование ресурсов не установлено - 0.
· Пиковые периоды транзакций не ожидаются - 0.
· Сложность диалоговых транзакций - более 30% обрабатываются в интерактивном режиме - 5.
· Эффективность программного средства для конечного пользователя - 2.
· Оперативное обновление отсутствует - 0.
· В программном средстве нет кода, предназначенного для повторного использования - 0.
· Нет особых требований пользователя, и не требуется специальной установочной программы - 0.
· При проектировании требования по установке программного средства были учтены, причем программное средство может выполняться, только на похожем (совместимом) аппаратном и / или программном обеспечении - 2.
· Изменение программного средства не предусмотрена - 0.
Нормирующий фактор (VAF) вычислим следующим образом:
VAF=0,65+0,01*TDI=0,65+0,01*(1+5+2+3+2)=0,78
Подсчет нормированного числа функциональных точек
Нормированное число функциональных точек определяется как:
Оценка количества строк исходного кода с использованием бэкфайер-метода
Программное средство будет разрабатываться в среде MS Visual Studio 2008, поэтому значение языкового множителя равно 34. Таким образом, приблизительное количество строк законченное программы в среде MS Visual Studio 2008 будет равно:
Таблица 2. Стоимостные факторы и коэффициенты нормирования трудозатрат
MM - трудозатраты или объем работ (в человеко-месяцах),
A, B - коэффициенты, зависящие от типа проекта,
KSLOC - размер программного средства в тысячах строк исходного кода,
F i - i-тый коэффициент нормирования трудозатрат для соответствующего стоимостного фактора.
T - ненормированная длительность разработки программного средства в месяцах,
C, D - коэффициенты, зависящие от типа проекта.
Очевидно, что по всем признакам (размеру, сложности, ограничениям и пр.) данный проект относится к типу распространенных, и следовательно, коэффициенты будут иметь следующие значения: A=3,2; B=1,05; C=2,5; D=0,38.
Рассчитаем ненормированные трудозатраты и ненормированную длительность разработки программного средства (при расчете коэффициент нормирования трудозатрат будет принят =1):
MM = 3,1 * (0,894) 1,05 =2,7559 человеко-месяца,
T = 2,5 * (2,7559) 0,38 =3,674 месяца.
С учетом оценки стоимостных факторов, и расчета коэффициента нормирования трудозатрат (Таблица 2), рассчитаем нормированные трудозатраты и нормированную длительность проекта:
MM = 2,7559 * 1,19 = 3,279 человеко-месяцев,
T = 2,5 * (3,279) 0,38 =3,925 месяцев.
Таким образом, для того чтобы разработать программное средство, вычисляющее максимальное собственное число заданной матрицы не обходимы трудозатраты, эквивалентные 3,279 человеко-месяцам. Оптимальным планируемым сроком разработки данного программного средства в предполагаемых условиях будет 4 месяца. То есть, один человек выполнит данный проект за 4 месяца, а 3 человека - за 1 месяц.
Время, затрачиваемое на программирование, составляет 4 месяца. Таким образом, с учетом того, что оно представляет собой 63% общего рабочего времени, получаем время на реализацию проекта, равное 6,4 месяца. Полное время составит 8 месяцев (оно учитывает еще 1,6 месяца необходимые на согласование с заказчиком).
Рисунок 2. Спиральная модель жизненного цикла программного средства
Спиральная модель жизненного цикла. Она представляет собой процесс разработки программного обеспечения, сочетающий в себе как проектирование, так и постадийное прототипирование. Отличительной особенностью данной модели является специальное внимание рискам, влияющим на организацию жизненного цикла. Среди этих рисков выделяют: дефицит специалистов, недостаточную квалификацию специалистов в необходимой предметной области, нереалистичные сроки, разработка неправильного пользовательского интерфейса, непрекращающийся поток изменений и некоторые другие.
Каждый виток спирали соответствует созданию фрагмента или версии программного обеспечения, на нем уточняются цели, характеристики проекта, определяется качество, планируются следующие этапы. Таким образом, каждый виток можно разбить на 4 сектора: оценка и разрешение рисков, определение целей, разработка и тестирование и планирование. На каждом витке спирали могут применяться различные модели разработки программного обеспечения.
Рассмотрим достоинства и недостатки данной модели.
1. В процессе разработки формируются работоспособные версии программного продукта.
2. Невозможно четко определить требования к программному продукту, и, как следствие, имеется возможность минимизировать ошибки, связанные с противоречия в требованиях.
3. На каждом витке предполагается демонстрация возможностей программного средства.
4. Спиральная модель ориентирована на большие, сложные проекты, проекты, в которых требуется разработка стабильной архитектуры, и проекты, удовлетворяющие требованиям по нагрузке и устойчивости.
1. Невозможность четко определить требования к программному продукту, и, как следствие, существование недосказанностей, а также вероятность на начальных этапах упустить важные нюансы.
2. Основной проблемой данной модели является определение момента перехода на следующий этап. Для ее решения необходимо вести четкое планирование, и, соответственно, переход на новый виток (новый этап) осуществлять в соответствии с составленным планом. То есть, есть необходимость ввода временных ограничений на этапы жизненного цикла программного продукта.
Рисунок 3. График работ над проектом
Данное программное средство предназначено для нахождения максимальных собственных чисел заданной матрицы степенным методом. Данный программный продукт позволяет существенно сократить время, затрачиваемое на нахождение максимального собственного числа матрицы с заданной точностью, а также повысить эту точность.
Данное программное средство рассчитано на любой класс пользователей, так как он имеет простой, интуитивно понятный интерфейс, для работы с данным программным продуктом не требуется никаких определенных навыков или дополнительных знаний.
Программное средство при запуске предоставляет пользователю выбор: вводить данные с клавиатуры либо же из файла. При выборе ввода данных из файла, пользователю необходимо ввести имя файла (выбрать существующий файл). При выборе ввода с клавиатуры, пользователю предоставляются специальные поля, предназначенные для заполнения. После ввода данных и их проверки на корректность для расчета необходимо нажать кнопку «Вычислить результат». Отображение результат на экране происходит автоматически. Также пользователю предоставляется возможность вывести результаты в файл - для этого пользователю необходимо нажать кнопку «Запись в файл».
1.3. Определения, аббревиатуры, сокращения
Собственным числом л матрицы А называется такое число, которое удовлетворяет решению системы: |А - лЕ| = 0.
Матрица - математический объект, записываемый в виде прямоугольной таблицы, представляющий собой совокупность строк и столбцов, на пересечении которых находятся ее элементы.
Вектор - матрица, состоящая только из одного столбца.
Вырожденность матрицы - это свойство матрицы, подразумевающее сведение одной или нескольких строк матрицы в одну. Вырожденность характеризуется кратностью всех коэффициентов одной строки матрицы коэффициентам другой строке матрицы.
Программное средство является независимым и полностью автономным. Оно не имеет связи с другими изделиями.
2.2.1. Функция, предусматривающая ввод данных из файла. Она читает данные из указанного пользователем файла, содержащего информацию о размере матрицы, ее коэффициентах, точности вычислений и заданном начальном приближении.
2.2.2. Функция, предусматривающая ввод данных с клавиатуры. Она считывает данные из различных полей ввода.
2.2.3. Функция, подготавливающая форму для ввода данных пользователем.
2.2.4. Функция, вычисляющее максимальное собственное число матрицы, с заданной пользователем точностью. Функция вычисляет максимальное собственное число степенным методом.
2.2.5. Функция для записи результатов в файл. Она производит запись результатов вычисления в файл, имя которого указано пользователем.
2.2.6. Функция, выводящая результаты вычислений на экран.
Для использования данного программного средства пользователь не должен иметь никаких определенных навыков. Пользователю достаточно иметь азы работы с персональным компьютером.
Данный программный продукт разработан под операционную системы Microsoft Windows.
3.1. Требования к внешним интерфейсам
Реализовать графический интерфейс пользователя, представляющий из себя комплекс диалоговых окон, содержащий поля для ввода данных и кнопки для вычисления определенных действий.
3.1.3. Интерфейсы программного обеспечения
Входные данные включают в себя: имя файла с исходными данными, размер матрицы, коэффициенты матрицы, начальное приближение, точность вычислений.
· имя файла вводится с клавиатуры, имеет символьным тип и длину не более 256 знаков (с учетом расширения файла);
· размер матрицы либо считывается из файла, либо вводится с клавиатуры, имеет целочисленный тип данных, минимально допустимое значение 1, максимальное - 20.
· коэффициенты матрицы вводятся либо с клавиатуры, либо считываются из файла, имеют вещественный тип данных, диапазон значений ограничен возможностями данного типа;
· начальное приближение - вектор из 0 и 1 - вводится либо с клавиатуры, либо считывается из файла, имеет целочисленный тип, ограничение на значения - нельзя брать нулевой вектор, пожелание - наилучшим является вариант, когда в начальном приближении одна 1, остальные - 0;
· точность вычислений вводится либо с клавиатуры. Либо из файла, имеет вещественный тип, должна быть больше нуля, желательно задавать точность, меньше единицы;
Выходные данные: имя файла, максимальное собственное число, количество итераций, за которое оно было вычислено.
· имя файла вводится пользователем с клавиатуры, имеет символьный тип, ограничение длины -256 символов (включая расширение файла);
· максимальное собственное число - результат вычислений, имеет вещественный тип, выводит на экран или в файл - по выбору пользователя;
· количество итераций, за которое было получено решение, имеет целочисленный тип, выводится на экран или в файл - по выбору пользователя.
Программное средство должно проверять корректность вводимых исходных данных. Программное средство должно информировать пользователя о всех неполадках и ошибках, возникающих в ходе его работы.
3.3. Требования к рабочим характеристикам
Число одновременно поддерживаемых пользователей равно 1. Вычисления должны производиться за промежуток времени, не превышающий 5 секунд.
3.4. Логические требования к базе данных
Отсутствуют ввиду отсутствия использования в программном средстве базы данных.
3.6. Атрибуты системы программного обеспечения
Вводимые пользователем данные должны проходить проверку на корректность. Корректно введенные данные обеспечивают надежную бесперебойную работы программного средства.
Программное средство производит расчеты по мере обращения пользователя к нему, контрольных точек и механизма восстановления для данного программного средства не предусмотрено.
Программное средство должно осуществлять проверку верности вводимых данных и ограничений на размерности с целью предотвращения «зависания» программного средства.
Для данного программного средства имеется справка, вызываемая из самой программы. Информация, содержащаяся в ней, позволяет любому пользователю, даже первый раз работающему с данным программным средством, быстро с ним освоиться и избежать трудностей в работе.
Для переноса данного программного средства с одного персонального компьютера на другой необходимо, чтобы обе машины имели операционную систему, под которую разрабатывалось данное программное средство, то есть Microsoft Windows.
Разрабатываемое программное средство является достаточно простым, поэтому для его разработки используется модульное проектирование. В связи с простотой программного продукта, его структура будет состоять из одного модуля, в котором будут реализованы необходимые функции.
· функциональную - так как весь модуль целиком реализует одну общую задачу - вычисление максимального собственного числа заданной матрицы по степенному методу;
· информационную - так как все действия внутри модуля связаны данными и имеют строго определенный порядок следования.
Модуль играет роль «черного ящика», содержимое которого невидимо клиентам.
1) Функция, обработчик кнопки «Ввести данные с клавиатуры»:
private: System: Void button6_Click (System: Object^ sender, System: EventArgs^ e)
2) Функция, обработки сообщения от кнопки «Вычислить результаты». Запускает вычисление максимального собственного числа матрицы.
private: System: Void button4_Click (System: Object^ sender, System: EventArgs^ e)
3) Функция для обработки сообщений от кнопки «Записать результаты в файл». Записывает результаты вычислений в файл.
private: System: Void button5_Click (System: Object^ sender, System: EventArgs^ e)
4) Функция, читающая данные из файла. Запускается по нажатию на кнопку «Ввести данные из файла».
private: System: Void button3_Click (System: Object^ sender, System: EventArgs^ e)
5) Функция, вычисляющая максимальное собственное число матрицы степенным методом.
private: void Max (double Mas[20] [20])
6) Обработчик нажатия на клафишу «Подготовить форму для ввода с клавиатуры». Считывает значения размера матрицы и точности вычислений и создает сетку соответствующего размера для ввода данных с клавиатуры.
private: System: Void button1_Click (System: Object^ sender, System: EventArgs^ e)
Имя должно соответствовать процессу или свойству, которое оно обозначает. Имена должны быть осмысленными и понятными. Имена констант следует задавать большими буквами. Имена функций и переменных лучше не задавать целиком из больших букв.
Имя должно соответствовать той функции, которой оно принадлежит, и содержать в себе суть действий, выполняемых данной функцией. Имя функции должно начинаться с большой буквы. Имя не должно напоминать ругательство, либо являться таковым на самом деле. Обычно лучше использовать длинные имена, чем короткие аббревиатуры. Однако не следует злоупотреблять. Если имя функции состоит из нескольких слов, то каждое слово должно начинаться с большой буквы.
Для составления имен переменных необходимо использовать упрощенную Венгерскую нотацию. Имена переменных должны нести в себе смысловую нагрузку.
1.2.1. Имена глобальных переменных.
Имя глобальной переменной должно начинаться с префикса «g_».
Для имен файлов лучше использовать соглашение 8.3 (8 символов - имя, 3 - расширение). Имя файла также должно быть информативным и включать в себя информацию о функциях, реализованных в этом файле.
На одной строке должно находиться не больше одного оператора. Если вызов функции, операция инициализации, список и т.п. занимают более одной строки, то перенос на следующую строку должен следовать сразу после запятой. Если выражение занимает несколько строк, то переход на следующую строку должен осуществляться сразу после бинарной операции.
Максимальная длина строки не должна превышать 70 символов. Принимая во внимание требования удобства, необходимо помнить, что возможность одновременно иметь несколько открытых окон - это удобней одного открытого окна, поэтому следует ограничить длину строки.
2.1.2. Использование для организации отступов табуляции и пробелов.
Для организации отступов используется табуляция, вместо пробелов. Размер отступа неограничен, однако если он превышает 4 табуляции, код не может уместиться по ширине страницы.
Комментарии должны находиться на уровне того оператора, которому они соответствуют. Комментарии справа от операторов должны быть выровнены с помощью пробелов.
Точке с запятой не должны предшествовать пробелы или табуляция. После запятой должен следовать пробел.
2.1.4. Расстановка фигурных скобок.
Существуют несколько традиций расстановки скобок, наиболее часто употребляемыми из них являются:
Традиция фирмы Microsoft более предпочтительна, особенно при условии необходимости оценки размеров блока, когда необходимо видеть его границы.
Ключевое слово, заключенное в круглые скобки, должно начинаться и заканчиваться пробелом. Исключением является оператор sizeof(). Недопустимо ставить пробелы сразу после имени функции. Не следует применять скобки в операторе return без необходимости. Каждое выражение, за исключением арифметических операций должно использовать круглые скобки, чтобы задать порядок выполнения операций.
2.1.6. Форматирование операторов if / else.
При сравнении с константой ее лучше размещать справа от операторов == и!=. Выравнивать if/else следует так:
Строка комментария должна иметь такой же отступ, как и операция, которую она комментирует. In-line комментарии должны размещаться справа от комментируемого кода. Операторы комментария должны отделяться от текста комментария, по крайней мере, одним пробелом.
Приведем перечень операторов ( Таблица 3 ) и операндов ( Таблица 4 . ) для данного фрагмента кода.
Таблица 3. Число вхождений операторов
Таблица 4. Число вхождений операндов
Таким образом, длина приведенного фрагмента программы составляет:
Теоретическая длина рассматриваемого фрагмента кода составляет:
Рассчитаем реальный объем данного фрагмента кода:
Теперь рассчитаем потенциальный объем данного фрагмента кода:
Метрика качества программирования равна:
Определим уровень программы с помощью аппроксимальной оценки:
1.5. Метрика интеллектуального содержания
Определим метрику интеллектуального содержания:
Определим количество элементарных решений необходимых для написания данного фрагмента кода:
Построим граф для данного фрагмента кода.
Рисунок 4. Граф для рассматриваемого фрагмента кода
Вычислим цикломатическое число Мак -Кейба:
где е - число дуг ориентированного графа,
p - число компонентов связности графа.
Для графа (рис. 4) е = 13, v = 11, p = 1. В таком случае число Мак-Кейба равно
Полученное число означает, что количество тестовых прогонов программы, необходимых для исчерпывающего тестирования по критерию «работает каждая ветвь», равно 4.
Рассмотрим тестовые прогоны программы, соответствующие полученному цикломатическому числу Мак-Кейба:
1) N=2, Mas = {4 1; 2 -1}, x0={1 1}, E=0,01. Данные введены с клавиатуры. Вывод результата осуществляется на экран. В основной функции, вычисляющей максимальное собственное число, цикл while пройден несколько раз.
2) N=2, Mas = {4 1; 2 -1}, x0={1 1}, E=0,01. Данные введены из файла. Вывод результата осуществляется на экран. В основной функции, вычисляющей максимальное собственное число, цикл while пройден несколько раз.
3) N=2, Mas = {4 1; 2 -1}, x0={1 1}, E=10. Данные введены с клавиатуры. Вывод результата осуществляется в файл. В основной функции, вычисляющей максимальное собственное число, цикл while пройден 1 раз.
4) N=2, Mas = {4 1; 2 -1}, x0={1 1}, E=10. Данные введены из файла. Вывод результата осуществляется в файл. В основной функции, вычисляющей максимальное собственное число, цикл while пройден 1 раз.
1.7. Метрика уровня комментированности
Отсюда можно сделать вывод, что данная функция имеет нормальный уровень комментированности.
Таблица 5. Основные тесты и их продолжительность
Появляются окно для выбора файла и кнопки «Ок» и «Отмена».
Появляются окно для выбора файла и кнопки «Ок» и «Отмена».
Появляется кнопка «Подготовить форму для ввода данных с клавиатуры». В поля необходимо ввести размерность и точность, затем нажать на эту кнопку.
Формируется сетка для ввода коэффициентов матрицы, максимальное собственное число которой и нужно посчитать.
Считывание данных из файла. Вывод данных на экран.
На экране появляется матрица с коэффициентами, полученными из файла, а так ее размер и точность
Ввод данных из существующего файла, структура которого не соответствует необходимой
Информарование пользователя о несоответствующей структуре файла
При выборе ввода данных с клавиатуры указываем размер 3 (и точность 1) и нажимаем «Подготовить форму для ввода данных с клавиатуры».
На экране появились сетка размера 3х3 полей для ввода данных
При выборе ввода данных с клавиатуры указываем размер -1 (и точность 1) и нажимаем «Подготовить форму для ввода данных с клавиатуры».
Сообщение о неправильном вводе размера матрицы. Значение поля, в котором указан размер, установится в значение по умолчанию.
При выборе ввода данных с клавиатуры указываем размер 1.2 (и точность 1) и нажимаем «Подготовить форму для ввода данных с клавиатуры».
Сообщение о неправильном вводе размера матрицы не поступает. Размер матрицы задан неверно. Система зависает.
При выборе ввода данных с клавиатуры указываем размер 2а (и точность 1) и нажимаем «Подготовить форму для ввода данных с клавиатуры».
Сообщение о неправильном вводе размера матрицы не поступает. Размер матрицы задан неверно. Система зависает.
При выборе ввода данных с клавиатуры указываем точность а (и размер 3) и нажимаем «Подготовить форму для ввода данных с клавиатуры».
Сообщение о неправильном вводе точности не поступает. Размер матрицы задан неверно. Система зависае
Разработка программного продукта курсовая работа. Программирование, компьютеры и кибернетика.
Курсовая работа по теме Совершенствование организации производства продукции молочного скотоводства
Курсовая Работа По Гражданскому Праву Зарубежных Стран
Сочинение Рассуждение Я Получил Недавно Письмо
Реферат: Межличностные отношения в коллективе подростков
Контрольная Работа 1 По Истории 7 Класс
Темы Для Эссе По Англ Яз
Реферат: Уровень развития интеллекта супругов и удовлетворенность браком
Курсовая работа по теме Финансовое оздоровление предприятия 'РИФ-Инвест-Рассвет'
Реферат: Основные этапы работы с информацией. Скачать бесплатно и без регистрации
Реферат: Торт Ярославна
Проблема Родины Сочинение Егэ
Вредоносность Цитрусовых Культур Курсовая Работа
Курсовая работа по теме Монтаж и обслуживание современного электрооборудования и электрических сетей машиностроительного про...
Реферат: Православие и соцкультурное развитие, особенности Древней Руси. Скачать бесплатно и без регистрации
Список Произведений К Декабрьскому Сочинению 2022
Контрольные Работы Немецкий Бим 4 Класс
Контрольная Работа По Математике Тест
Реферат по теме Диссидентское и правозащитное движение в СССР
Курсовая работа: Развитие и размещение газовой промышленности РФ
Сочинение по теме Упражнения на совершенствование мышления, воображения, внимания, памяти
Поведение потребителей - Маркетинг, реклама и торговля книга
Понятие аутсорсинга и его роль в современной экономике - Менеджмент и трудовые отношения презентация
Історія бальних танців - Культура и искусство реферат


Report Page