Автор работы: Пользователь скрыл имя, 11 Декабря 2011 в 13:26, лабораторная работа
Для корректной работы программного средства необходимо выполнить ряд требований:
а) исходный код программы должен соответствовать правилам написания программ на языке программирования PHP 5.
б) исходный код программы должен содержаться в одном файле.
в) на компьютере должно быть установлено приложение GraphViz, оно необходимо для отображения граф-схемы алгоритма. Приложение устанавливается автоматически.
Цели и задачи
3
Руководство пользователя. Главное меню программы
4
Вкладка “Файл”
4
Вкладка “Обработка”
5
Вкладка “Справка”
5
Панель быстрого доступа
6
Краткие сведения о метрике Мак-Кейба
7
Результаты выполнения программы
8
Список литературы
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
«БЕЛОРУССКИЙ
ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Факультет компьютерных систем и сетей
КАФЕДРА
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННЫХ
ТЕХНОЛОГИЙ
Отчёт по
лабораторной работе по дисциплине МССвИР:
«Анализ программного средства по метрике
Мак-Кейба»
Выполнил: | |
студент
группы 951002 |
Проведенцев Е.С. |
Руководитель: | Данилова Г.В. |
МИНСК 2011
Содержание:
|
3 |
|
4 |
|
4 |
|
5 |
|
5 |
|
6 |
|
|
|
8 |
|
10 |
|
11 |
Представленное программное средство предназначено для анализа программ написанных на языке программирования PHP 5. Программа разработана для использования на платформе .NET.
Исходными данными для программы является текстовый файл, содержащий исходный код, тестируемого ПО.
Для корректной работы программного средства необходимо выполнить ряд требований:
а) исходный код программы должен соответствовать правилам написания программ на языке программирования PHP 5.
б) исходный код программы должен содержаться в одном файле.
в) на компьютере должно быть установлено приложение GraphViz, оно необходимо для отображения граф-схемы алгоритма. Приложение устанавливается автоматически.
Результатом
выполнения программы являются граф-схемы
исследуемого алгоритма ПО (граф-схемы
всех функций и основного кода main), а также
значения цикломатического числа Мак-Кейба.
Рисунок 1 - Вкладка Файл
В
данном пункте содержатся функция открытия
файла, а также выход из программы.
Рисунок
2 - Диалоговое окно выбора исходного файла
Рисунок 3 - Вкладка «Обработка»
Вкладка
содержит функцию просмотра построенных
графов для исходной программы.
Рисунок
4 - Вкладка «Справка»
В разделе «Справка» пользователь может получить теоретическую информацию об использованной метрике в меню «О метрике», дополнительную информация о программе и разработчиках доступна в меню «О программе».
Рисунок
5 - Окно «О метрике»
Рисунок
6 - Панель быстрого доступа
Для
быстрого доступа к функциям программы
существует панель, расположенная в
левом верхнем левом углу программы.
Цикломатическая сложность программы (англ. Cyclomatic complexity of a program) — структурная (или топологическая) мера сложности программ, используемая для измерения качества программного обеспечения, основанная на методах статического анализа кода. ЦСП равна увеличенному на единицу цикломатическому числу графа программы.
Она была разработана Томасом Дж. Мак-Кейбом в 1976 году; он использовал эти показатели сложности для программ. Он производил непосредственные численные измерения для линейно независимых путей в исходных кодах программ.
При
вычислении цикломатической сложности
используется граф потока управления
программы: узлы графа соответствуют
неделимым группам команд программы
и ориентированным рёбрам, каждый
из которых соединяет два узла
и соответствует двум командам, вторая
из которых может быть выполнена
сразу после первой. Цикломатическая
сложность может также быть применена
для отдельных функций, модулей,
методов или классов в пределах
программы. Эта стратегия тестирования
называется основным маршрутом тестирования
Мак-Кейба. Это тестирование каждого линейного
независимого маршрута через программу;
в этом случае, число тестов должно быть
равно цикломатической сложности программы.
Рисунок 8 - Главное окно программы
Рисунок 9 - Результат выполнения программы
На рис. 9 изображена программа после загрузки исходных данных. На правой панели отображаются графы исходных кода и процедур. В левой верхней панели отображается анализируемый код. В левой нижней панели представлены результаты анализа данных, в частности количество ребер и вершин в построенном графе программы, а также цикломатическое число Мак-Кейба для главной программы и всех подпрограмм. Под ними отображается суммарное цикломатическое число Мак-Кейба.
Рисунок 10 - Изображение графа подпрограммы
[1] Глухова Л.А,
Метрология, Стандартизация и Сертификация
в Информатике и
[2] Википедия [Электронный
ресурс]. – Электронные данные. – Режим
доступа: http://ru.wikipedia.org/
Листинг файла Parser.cs
using System;
using System.Collections.Generic;
using System.Linq;
using
System.Text;
namespace MSSVIR
{
class Parser
{
public string Code { get; private set; }
public int curPos { get; private set; }
char[] IgnorableSymbols = {' ','\n','\t','\r'};
string
VariableSymbols = "
public Graph Graph_ = new Graph("main");
public List<Graph> Functions = new List<Graph>();
public Parser(string PHPCode_, int pos, List<Graph> Functions_)
{
Code = PHPCode_;
curPos = pos;
if (Functions_ != null)
Functions = Functions_;
//Functions.Add(Graph);
}
private string GetToken()
{
string res = "";
bool tokenBegin = false;
bool CodeFinish = false;
while (!tokenBegin && !CodeFinish)
{
if (curPos == Code.Length - 1)
CodeFinish = true;
else
{
if
(IgnorableSymbols.Contains(
curPos++;
else
tokenBegin = true;
}
Информация о работе Анализ программного средства по метрике Мак-Кейба