- •Содержание
- •Введение 4
- •Введение
- •1 Постановка задачи
- •2 Объектно-ориентированный анализ и проектирование
- •2.1 Объектно-ориентированный анализ
- •2.2.1 Диаграммы классов
- •2.2.2 Диаграммы объектов
- •3 Рабочее проектирование
- •3.1 Структуры данных приложения
- •3.2 Разработка классов
- •3.2.1 Реализация инкапсуляции
- •3.2.2 Реализация наследования
- •3.2.3 Реализация полиморфизма
- •3.3 Тестирование работоспособности системы классов
- •Перечень ссылок
-
Перечень ссылок
1. Скотт К. UML. Основные концепции – М.: Издательский дом “Вильямс”,2002. – 144 с.
2. Статья «Перегрузка операций».Электронная энциклопедия «Википедия». [Электронный ресурс]. Страница доступа: http://ru.wikipedia.org/wiki/Перегрузка_функций
3. Статья «Наследование (программирование)».Электронная энциклопедия «Википедия». [Электронный ресурс]. Страница доступа: http://ru.wikipedia.org/wiki/Наследование_(программирование)
4. Керниган Б., Ритчи Д. Язык программирования Си – СПб.:Невский диалект,2001. – 352с.
5. Методические указания и задания к выполнению курсовой работы по дисциплине «Основы программирования и алгоритмические языки» (для студентов специальности «Программное обеспечение автоматизированных систем») / Сост. Н.Н. Дацун – Донецк, ДонНТУ, 2001,- 56с.
6. Методические указания и задания к лабораторным работам по курсу «Основы программирования и алгоритмические языки» (для студентов специальности 7.50207 «Программное обеспечение автоматизированных систем» дневной формы обучения). Ч. 2/ Авторы: Н.М. Дацун, И.П. Суворова, И.О. Коломойцева. – Донецк, ДонНТУ, 1999. – 116 с.
ПРИЛОЖЕНИЕ А
ПРИЛОЖЕНИЕ Б
ОПИСАНИЕ ПРОГРАМЫ
Б.1 Общие сведения
Программное изделие hach.exe является информационной системой типа ''Объектно-ориентированная система’’.
Таблица Б.1 – Описание программы
Заголовочные файлы |
Программные файлы |
CB.hpp |
CelestialBody.cpp |
Star.hpp |
Star.cpp |
Clot.hpp |
Clot.cpp |
Gas.hpp |
Gas.cpp |
Planet.hpp |
Planet.cpp |
Sputnick.hpp |
Sputnick.cpp |
Проект hach.prj состоит из файлов, находящихся во второй колонке таблицы Б.1. В первой колонке находятся заголовочные файлы, в которых описаны классы, прототипы функций и константы.
Для выполнения программы необходима ПЭВМ типа IBM PC или программно совместимая с ней, функционирующая под управлением MS-DOS (Windows 9x/200x/XP).
Программное изделие выполнено в объектно-ориентированном стиле как консольное приложение, с применением языка С++.
Б.2 Функциональное назначение
Программа hach.exe предназначена для создания и работы с объектами шести классов: CelestialBody, производный от него Planet; Сlot и Gas, производный от них Star; класс Sputnick. Класс СelestialBody (Небесное тело) имеет поля Mass (масса), Radius(радиус). Для классам СelestialBody предусмотрены действия: создание объекта, установка всех данных-членов класса, перегрузка бинарного, дружественного оператора +, который из двух небесных тел возвращает одно, получившееся в результате слияния двух; перегрузка ++, который увеличивает характеристики объекта на 1; перегрузка +=, который увеличивает характеристики объекта на заданную пользователем величину, расчёт плотности. Класс Planet имеет дополнительные поля RotationPeriod(период вращения вокруг центра системы), RotatePeriod(период вращения вокруг собственной оси) и Distance (расстояние до центра системы). Для класса Planet предусмотрены действия: расчёт скорости вращения вокруг центра системы, расчёт скорости вращения вокруг оси, установка всех данных - членов класса. Класс Clot имеет поля Radius_ras (радиус распространения), Mass (масса), Value_1(объём отдельной части) и Pi(число Пи). Для класса Clot (Небесная пыль) предусмотрены действия: создание объекта, установка всех данных - членов класса, а также возможность устанавливать число Пи, рассчитывать объём и плотность галактической пыли, расчёт структурного соотношения состава. Класс Gas (Галактический газ) имеет поле Composition (состояние). Для класса Gas предусмотрены действия: создание объекта, установка всех данных- членов класса. Класс Star, который наследует свойства класса Gas и класса Clot,имеет дополнительные поля Temperature(температура), и Radiate(уровень излучения). Для класса Star предусмотрены действия: создание объекта, установка всех данных- членов класса. Класс Sputnick имеет поля Mass(масса), Radius(радиус), RotatePeriod(период вращения вокруг собственной оси) и Distance (расстояние до центра системы). Для класса Sputnick предусмотрены действия: создание объекта, установка всех данных- членов класса, расчёт скорости вращения вокруг центра системы, расчёт плотности.
Для выполнения программы необходима ПЭВМ типа IBM PC или программно совместимая с ней, функционирующая под управлением MS-DOS (Windows 9x/200x/XP).
Б.3 Описание логической структуры
Смотрите раздел 3.5.
Б.4 Используемые технические средства
Для выполнения программы необходима ПЭВМ типа IBM PC или программно совместимая с ней, функционирующая под управлением MS-DOS (Windows 9x/200x/XP).
Б.5 Вызов и загрузка
Исполнимый файл hach.exe и все файлы данных (см. таблицу 3.2) должны быть размещены в одном каталоге. Запуск программы выполняется с помощью вызова исполнимого файла hach.exe (в среде MS-DOS или Windows 9x/200x/XP).
ПРИЛОЖЕНИЕ В
РУКОВОДСТВО ПРОГРАММИСТА
В.1. Назначение программы
Смотрите приложение Б.2.
В.2 Характеристики программы
Разработанная программа обладает текстовым интерфейсом, что значительно облегчает работу конечного пользователя и обеспечивает удобство его работы с системой. Для выполнения программы необходима ПЭВМ типа IBM PC или программно совместимая с ней, функционирующая под управлением MS-DOS (Windows 9x/200x/XP).
В.3 Обращение к программе
Для запуска программы исполнимый файл, ресурсные и исходные файлы должны находиться в одной папке.
В.4 Входные и выходные данные
Входные и выходные данные представлены в приложениях «Е» и «Э».
В.5 Сообщения
При работе могут появиться следующие ошибки:
- "file not open" – ошибка открытия файла, возможно файл отстутствует в каталоге, нужно проверить его наличие и повторить запуск программы;
- “Error!Repeat Entering” – ошибка ввода. Введены некорректные данные.
В.6 Возможности программиста
Программист имеет возможность изменять код программы, а также константу LS, которая задаёт какое кол-во символов считать с каждой строки файла.
ПРИЛОЖЕНИЕ Г
РУКОВОДСТВО ОПЕРАТОРА
Г.1 Назначение программы
Данная программа разработана для работы с системой “CelestialBody”, которая включает в себя реализацию шести классов, связанных между собой множественным и одиночным наследованием, а также ассоциацией. Класс СelestialBody (Небесное тело) имеет поля Mass (масса), Radius(радиус). Для классам СelestialBody предусмотрены действия: создание объекта, установка всех данных-членов класса, перегрузка бинарного, дружественного оператора +, который из двух небесных тел возвращает одно, получившееся в результате слияния двух; перегрузка ++, который увеличивает характеристики объекта на 1; перегрузка +=, который увеличивает характеристики объекта на заданную пользователем величину, расчёт плотности. Класс Planet имеет дополнительные поля RotationPeriod(период вращения вокруг центра системы), RotatePeriod(период вращения вокруг собственной оси) и Distance (расстояние до центра системы). Для класса Planet предусмотрены действия: расчёт скорости вращения вокруг центра системы, расчёт скорости вращения вокруг оси, установка всех данных - членов класса. Класс Clot имеет поля Radius_ras (радиус распространения), Mass (масса), Value_1(объём отдельной части) и Pi(число Пи). Для класса Clot (Небесная пыль) предусмотрены действия: создание объекта, установка всех данных - членов класса, а также возможность устанавливать число Пи, рассчитывать объём и плотность галактической пыли, расчёт структурного соотношения состава. Класс Gas (Галактический газ) имеет поле Composition (состояние). Для класса Gas предусмотрены действия: создание объекта, установка всех данных- членов класса. Класс Star, который наследует свойства класса Gas и класса Clot,имеет дополнительные поля Temperature(температура), и Radiate(уровень излучения). Для класса Star предусмотрены действия: создание объекта, установка всех данных- членов класса. Класс Sputnick имеет поля Mass(масса), Radius(радиус), RotatePeriod(период вращения вокруг собственной оси) и Distance (расстояние до центра системы). Для класса Sputnick предусмотрены действия: создание объекта, установка всех данных- членов класса, расчёт скорости вращения вокруг центра системы, расчёт плотности.
Г.2 Условия выполнения программы
Для выполнения программы необходима ПЭВМ типа IBM PC или программно совместимая с ней, функционирующая под управлением MS-DOS (Windows 9x/200x/XP).
Г.3 Выполнение программы
Исполнимый файл hach.exe и все файлы данных ( см. таблицу 3.2)должны быть размещены в одном каталоге. Запуск программы выполняется с помощью вызова исполнимого файла hach.exe (в среде MS-DOS или Windows 9x/200x/XP).
После запуска программы на экране появляется окно заставки. Затем появляется меню выбора языка. Далее на выбранном языке выводится титульный лист курсовой работы, который содержит общую информацию о теме курсовой работы и авторе.
Далее на экран выводится программное меню, которое предоставляет пользователю весь перечень объектов, с которыми можно работать.
Пользователь должен выбирать опции этого меню в любой последовательности. Действия, которые может совершать пользователь при выборе меню объекта:
-
Объект CelestialBody:
-
рассчитать плотность;
-
увеличить характеристики;
-
объединить два объекта;
-
увеличить характеристики на 1 единицу;
-
получить сведения;
-
просмотреть помощь;
-
выйти в главное меню;
-
выйти из программы.
Объект Clot:
-
изменить значение постоянной Пи;
-
рассчитать объём;
-
рассчитать плотность;
-
рассчитать структуру;
-
получить сведения;
-
просмотреть помощь;
-
выйти в главное меню;
-
выйти из программы.
Объект Gas:
-
установить свойства газа;
-
установить квадрат изучения;
-
получить сведения;
-
помощь;
-
выйти в главное меню;
-
выйти из программы.
Объект Planet:
-
рассчитать скорость вращения вокруг оси;
-
скорость вращения вокруг центра;
-
плотность;
-
получить сведения;
-
помощь;
-
выйти в главное меню;
-
выйти из программы.
Объект Star:
-
установить значение Пи;
-
установить температуру;
-
установить излучение;
-
установить звезду для изучения;
-
рассчитать объём;
-
рассчитать плотность;
-
получить сведения;
-
помощь;
-
выйти в главное меню;
-
выйти из программы.
Объект Sputnick:
- рассчитать скорость вращения вокруг оси;
-
плотность;
-
получить сведения;
-
помощь;
-
выйти в главное меню;
-
выйти из программы.
При работе могут появиться следующие ошибки:
- "file not open" – ошибка открытия файла, возможно файл отстутствует в каталоге, нужно проверить его наличие и повторить запуск программы;
- “Error!Repeat Entering” – ошибка ввода. Введены некорректные данные.
Приложение Д
Текст программы
Приложение Е
Файлы исходных данных
Для работы создаётся ресурсные файлы и исходные.
Рисунок Е.1 – файл –информация класса Planet
Рисунок Е.2 – файл – помощь класса Planet
На рисунке Е.1, и рисунке Е.2 показан пример организации файла-помощи и файла-информации для одного из класса. Для других классов файлы подобны.
В данной программе предусмотрено для каждого объекта существование файла–помощи и файла-информации. Т.е. весь файл помощи был разбит на несколько, таким образом, мы облегчаем работу пользователя в среде программы. Ему не нужно читать объёмную помощь для всей программы, а нужно прочитать лишь отдельные файлы, которые относятся к тем объектам, с которыми пользователь в данный момент работает.
Имена файлов исходных данных: ALLR.txt, dannie .txt.
Приложение З
Файлы выходных данных
На рисунках, находящихся в приложении «З», представлены тексты файлов, образованных после выполнения программы.
Рисунок Э.1 – файл “d.txt”после расчёта плотности
Рисунок Э.2 – файл “d1.txt”после создания участка газа
Рисунок Э.3 – файл “d2.txt”после создания звезды
Рисунок Э.4 – файл “d3.txt”после расчёта скорости вращения
Приложение Ж
Экранные формы
Рассмотрим работу с языковым меню, главным меню и одним из объектов. Для других объектов экранные формы будут подобны.
Рисунок Ж.1- начало работы
Рисунок Ж.2- титульный лист
Рисунок Ж.3- главное меню программы
Рисунок Ж.4- неверный выбор в главном меню
Рисунок Ж.5 – меню объекта Star
Рисунок Ж.6 – устанавливаем Пи неверным значением
Рисунок Ж.7 – рассчитываем плотность
Рисунок Ж.8 – просмотр помощи