close

Вход

Забыли?

вход по аккаунту

?

laba 3

код для вставкиСкачать
 Теоретическая часть. Разработка спецификаций
Разработка программного обеспечения начинается с анализа требований к нему. В результате анализа получают спецификации разрабатываемого программного обеспечения, строят общую модель его взаимодействия с пользователем или другими программами и конкретизируют его основные функции.
При структурном подходе к программированию на этапе анализа и определения спецификаций разрабатывают три типа моделей: модели функций, модели данных и модели потоков данных. Поскольку разные модели описывают проектируемое программное средство с разных сторон, рекомендуется использовать сразу несколько моделей, разрабатываемых в виде диаграмм, и пояснить их текстовыми описаниями, словарями и т.п.
Структурный анализ предполагает использование следующих видов моделей:
* диаграмм потоков данных (DFD - Data Flow Diagrams), описывающих взаимодействие источников и потребителей информации через процессы, которые должны быть реализованы в системе;
* диаграмм "сущность-связь" (ERD - Entity-Relationship Diagrams), описывающих базы данных разрабатываемой системы;
* диаграмм переходов состояний (STD - State Transition Diagrams), характеризующих поведение системы во времени;
* функциональных диаграмм (методика SADT);
* спецификаций процессов;
* словаря терминов.
^
Спецификации процессов
Спецификации процессов обычно представляют в виде краткого текстового описания, схем алгоритмов, псевдокодов. Словарь терминов
^ Словарь терминов представляет собой краткое описание основных понятий, используемых при составлении спецификаций. Он должен включать определение основных понятий предметной области, описание структур элементов данных, их типов и форматов, а также всех сокращений и условных обозначений.
^
Диаграммы переходов состояний
С помощью диаграмм переходов состояний можно моделировать последующее функционирование системы на основе ее предыдущего и текущего функционирования. Моделируемая система в любой заданный момент времени находится точно в одном из конечного множества состояний. С течением времени она может изменить свое состояние, при этом переходы между состояниями должны быть точно определены.
^
Функциональные диаграммы
Функциональные диаграммы отражают взаимосвязи функций разрабатываемого программного обеспечения.
Они создаются на ранних этапах проектирования систем, для того чтобы помочь проектировщику выявить основные функции и составные части проектируемой системы и, по возможности, обнаружить и устранить существенные ошибки. Для создания функциональных диаграмм предлагается использовать методологию SADT.
^
Диаграммы потоков данных
Для описания потоков информации в системе применяются диаграммы потоков данных (DFD -- Data flow diagrams). DFD позволяет описать требуемое поведение системы в виде совокупности процессов, взаимодействующих посредством связывающих их потоков данных. DFD показывает, как каждый из процессов преобразует свои входные потоки данных в выходные потоки данных и как процессы взаимодействуют между собой (см. разд. 3.5.5).
^
Диаграммы "сущность-связь"
Диаграмма сущность-связь - инструмент разработки моделей данных, обеспечивающий стандартный способ определения данных и отношений между ними. Она включает сущности и взаимосвязи, отражающие основные бизнес-правила предметной области. Такая диаграмма не слишком детализирована, в нее включаются основные сущности и связи между ними, которые удовлетворяют требованиям, предъявляемым к ИС.
_____________________________________________________________
Диаграмма прецедентов (англ. use case diagram, диаграмма вариантов использования) - диаграмма, на которой отражены отношения, существующие между актерами и прецедентами.
Основная задача - представлять собой единое средство, дающее возможность заказчику, конечному пользователю и разработчику совместно обсуждать функциональность и поведение системы.
В нашем случае заказчик, он же пользователь (User), является актером по отношению к системе.
Для работы с системой пользователю нужны следующие прецеденты:
* ввести число
* рассчитать
Вариант использования Ввести число включает в себя дополнительно два варианта использования:
* Ввести Z1
* Ввести Z2
Т.е. для расчетов User должен ввести как минимум 2 комплексных числа. Пользователь может ввести комплексное число в какой-то одной форме, экспоненциальной или алгебраической, либо в обоих сразу. В зависимости от того введет он число в обех формах или в какой-либо одной, вариант использования Рассчитать расширяется вариантами преобразования комплексных чисел из алгебраической формы в экспоненциальную и обратно (соответственно AlgToExp и ExpToAlg).
Также вариант использования Рассчитать включает в себя следующие арифметические действия над числами:
* Рассчитать Z1+Z2
* Рассчитать Z1-Z2
* Рассчитать Z1*Z2
* Рассчитать Z1/Z2
Тогда диаграмма вариантов использования приймет следующий вид: (переделать под свой)
* * * * Рисунок 1 - Диаграмма прецедентов использования
3.1 ДИАГРАММА КЛАССОВ
Класс (class) в языке UML служит для обозначения множества объектов, которые обладают одинаковой структурой, поведением и отношениями с объектами из других классов. Графически класс изображается в виде прямоугольника, который дополнительно может быть разделен горизонтальными линиями на разделы или секции. В этих разделах могут указываться имя класса, атрибуты (переменные) и операции (методы). Базовый класс нашей программы - форма TForm, которая содержит в себе остальные объекты.
На форму выводятся объекты TEdit (поля для ввода данных), TButton (кнопки для обработки команд пользователя), TLabel (метки для передачи информации пользователю), а также в неявном виде TComplex (комплексные числа введенные пользователем, а также результаты вычислений).
Рассмотрим подробнее эти классы.
Class TForm
Основное окно проекта, имеет все соответствующие атрибуты стандартной формы Windows (Width, Height, Top etc.). В проекте используется процедура Create() для инициализации объектов на форме.
Class TEdit
Основной класс на форме для ввода и вывода информации от пользователя. Основной атрибут - Text, строкового типа. Класс содержит процедуру KeyPress в которой обрабатывается корректность ввода числа с клавиатуры.
Class TLabel
Вспомогательный класс для уточнения пользователю назначения тех или иных полей ввода/вывода.
Class TComplex
Базовый класс проекта, содержащий в себе атрибуты комплексных чисел и процедуры конвертации комплексного числа и одной формы в другую.
Атрибуты класса:
Real- вещественная часть комплексного числа в алгебраической форме
Imag- мнимая часть комплексного числа в алгебраическом виде
Modul- модуль вектора числа в экспоненциальном виде
Arg- угол поворота вектора комплексного числа в экспоненциальной форме
Процедуры конвертации комплексного числа из одной формы в другую:
ArgToExp()- перевод числа из алгебраической формы в экспоненциальную
ExpToArg() - перевод числя из экспоненциальной формы в алгебраическую.
Class TButton
Кнопка для инициализации расчетов. Основная процедура - Click, нажате кнопки мышкой.
Диаграмма классов представлена ниже.
Рисунок 2 - Диаграмма классов
3.2 ДИАГРАММА ПОСЛЕДОВАТЕЛЬНОСТЕЙ
Раскроем последовательность действий для прецедента РАССЧИТАТЬ. Действующий актер User1 активирует команду Button1.Click через нажатие мышкой.
После этого итет считывание соответствующих полей ввода формы и создание комплексных чисел Z1 и вещественных чисел n.
Последовательно создаются и рассчитываются результаты арифметических действий над этими числами. Результаты представлены в виде объектов класса TComplex, В соответствующие поля формы выводятся результаты вычислений в комплексной и алгебраической форме.
Диаграмма подледовательности действий для варианта РАССЧИТАТЬ представлена на рис. 3. (переделать под свой)
Рисунок 3 - Диаграмма последовательности РАССЧИТАТЬ
4 РАЗРАБОТКА И ОПИСАНИЕ ПРОГРАММЫ
Проектирование будем выполнять в среде Delphi.
Delphi - среда программирования, в которой используется язык программирования Object Pascal. Начиная со среды разработки Delphi 7.0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal. Начиная с 2007 года уже язык Delphi (производный от Object Pascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения связанные с современными тенденциями (например, с развитием платформы .net) развития языков программирования: появились class helpers, перегрузки операторов и другое
4.1 РАЗРАБОТКА ПРОГРАММНОГО КОДА
Вид формы в окне проектирования представлен на рис.4.
(переделать под свой)
Рисунок 4 - Внешний вид формы в среде Delphi
Классы и процедуры, используемые в программе:
type
TForm1 = class(TForm)
Edit1: TEdit;
GroupBox1: TGroupBox;
MainMenu1: TMainMenu;
MenuClear: TMenuItem;
MenuExit: TMenuItem;
Label1: TLabel;
Edit2: TEdit;
Label5: TLabel;
Edit9: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Label3: TLabel;
Edit10: TEdit;
Button1: TButton;
Label4: TLabel;
MenuSave: TMenuItem;
procedure Button1Click(Sender: TObject);
procedure MenuExitClick(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure MenuClearClick(Sender: TObject);
procedure MenuSaveClick(Sender: TObject);
end;
TComplex=record
Real: Extended;//Вещественная часть комплексного числа
Imag: Extended;//Мнимая часть комплексного числа
Modul: Extended;//модуль комплексного числа
Angle: Extended;//угол поворота
end;
В основном модуле хранятся процедуры доступа к базе данных. Листинг полного кода модуля приведен в Приложении А.
ЗАКЛЮЧЕНИЕ
В результате выполнения курсовой работы была разработана прикладная программа "Калькулятор комплексных чисел". Она упрощает конвертацию комплексных чисел из одной формы в другую, а также производит простые арифметические действия над комплексными числами. Ход вычислений выводится в поле вывода, результаты можно сохранить в текстовый файл.
Документ
Категория
Рефераты
Просмотров
51
Размер файла
140 Кб
Теги
laba
1/--страниц
Пожаловаться на содержимое документа