Программное обеспечение для нахождения длины вектора и его положения на плоскости
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
?более жесткое ограничение этой модели - необходимость "замораживания" требований, при этом, чтобы минимизировать риск увеличения стоимости, допускаются только небольшие изменения.
С точки зрения качества ПС, в этой модели стоимость исправления дефектов на стадии тестирования наибольшая из всех моделей, поскольку тестирование выполняется в самом конце разработки. Из-за недостатка времени на переделки и тестирование существует значительный риск выпуска ПС с серьезными дефектами.
Однако в силу наибольшей простоты в организации мы остановимся именно на этой модели.
Рис. 2. Каскадная модель
Таблица 4
Основные этапы реализации разрабатываемого ПО
Этапы реализацииСрокиДаты1. Анализ требований.5 дней7.02. - 11.02.2. Проектирование.26 дней14.02. - 7.04.2.1. Эскизное проектирование базовой версии ПС.18 дней14.02. - 09.03.2.2. Техническое (детальное) проектирование базовой версии ПС.8 дней10.03. - 21.03.2.3. Экспертиза13 дней22.03. - 07.04.3. Реализация87 дня08.04. - 30.08.3.1. Программирование43дня08.04. - 30.06.3.2. Отладка1 неделя01.07. - 11.07.3.3. Разработка документации компонентов базовой версии ПО3 недели12.07. - 12.08.3.4. Экспертиза13 дней12.08. - 30.08.4. Тестирование.24 дней31.08. - 22.09.5. Экспертиза13 дней23.09. - 11.10.6. Внедрение и поддержка разработчиками процесса эксплуатации версии ПС пользователями.4 дня12.10. - 17.10.
Рис 3 Сетевой график MS Project
6.Архитектурный проект
Для разработки данного ПС используется модульное проектирование в силу простоты конечного продукта. Причем, в данном случае будет иметь место одномодульная структура, т.е. весь проект будет представлять собой один модуль, где будут реализованы все нужные функции.
Разрабатываемое ПС имеет функциональный тип связности, т.к. все части модуля реализуют одну функцию (задачу) - нахождение длины вектора и положение ее на координатной плоскости. Т.е. в нашем случае имеется модуль, который содержит элементы, которые, в свою очередь, участвуют в выполнении одной и только одной проблемной задачи. Роль модуля в этом случае можно сравнить с черным ящиком.
Поскольку разрабатываемый программный продукт представляет собой одномодульную программу, то такая характеристика, как связность модулей, отсутствует.
Файлы проекта:
Project1.cpp - в данном файле происходит создание формы и ее запуск, также обработка исключений если форма не создалась.
Unit1.cpp - главный файл проекта, в котором происходит ввод данный, чтение и запись данный, решение поставленной задачи.
Unit1.h - в данном файле происходит описание всех компонентов, а так же описание глобальных переменных.
input.txt - файл, для считывание данных.
Основные функции проекта:
void new_list() - функция для очищение графика, на котором рисуются вектора.
intlenV(intx1, intx2, inty1, inty2) - функция для нахождения длины вектора.
paint () - выводит график с определенным масштабом.
intchetvert1 (intx1, inty1) иintchetvert1 (intx1, inty1) - функция находит в какой плоскость он находится точка.
int check_num (AnsiString chain, int len, int flag) - функция, проверяет ввод данных на их корректность.
int proverka1 (int flag1, int flag2, int flag3, int flag4 и int proverka2 (int x1, int x2, int y1, int y2) -функциивыводитпредупрежденияесливводимыеданныеневерны
void reset () - функция для сброса значений во всех полях вводимых данных и вывода результата, а так же вызывается функция void new_list().
void __fastcallTForm1::Button2Click(TObject *Sender)- основная функция из которой вызываются все остальные.
void __fastcallTForm1::Button1Click(TObject *Sender) - функция для считывание данных из файла.
void __fastcall TForm1::Button3Click(TObject *Sender) -функциядлязаписивфайл.
void __fastcallTForm1::Button4Click(TObject *Sender) -функция которая отображает то что будет записано в файл.
7.Детальный проект
7.1Требования к оформлению программного кода
В программе использованы координаты точек на плоскости- x, y, соответствующее продолжение их означает: 0-начало координат, 1-первая торчка, 2-вторая торчка. Так же в программе существуют два вида флагов - flag, loop. Первый отвечает за то что вводимое поле были только цифры и одновременно их длина была не больше 5, второй отвечает за знак минус для отрицательных чисел и за правильность ввода запитой для чисел от 0 до 1. Соответствующие представки означают: 1-для поля Edit1, 2-для поля Edit2, 3-для поля Edit3 и 4-для поля Edit4. В эти поля вводится некоторая информация она записывается в переменную chain (цепочка), продолжение ,2,3,4 -соответствуют своему полю Edit. У каждой цепочки есть длина len, их номера совпадают. Для определение четверти используется переменная t, что означает точка, конец 2 и начало 1 вектора. Указатель *List служит для записи информации в файл. Дополнительный флаг open предназначен для вывода и скрытие информации на экран , которая будет записана в файл.
7.2Исходный код проекта
.cpp
Unit1.cpp
программный данное нормированный разработка
Unit1.h
8.Метрики сложности программных средств
8.1Метрика размера программ
В основе метрик измерения размера ПС положена концепция Холстеда заключающаяся в представлении такой программной реализации алгоритма, которая состоит только из операторов и операндов, т.е. соответствует структуре команд ЭВМ.
Возьмем одну из функции в программе:
loop1 = 0;(int i = 1; i <= len ; i++)
{ if ( i > 5 ) { flag = 0; break; }( chain[i] == ,&& loop57)) {