Автор работы: Пользователь скрыл имя, 05 Октября 2011 в 16:20, дипломная работа
Мир компьютерных и информационных технологий без преувеличения можно назвать наиболее динамичной областью современных знаний. Практически каждый год появляются новые модели процессоров и комплектующих, новые версии операционных систем и программного обеспечения. Все это происходит на фоне постоянного усложнения не только отдельных физических и программных компонентов, но и лежащих в их основе концепций и идей. Появилась надобность создавать все более большие сложные программы.
ПОСТАНОВКА ЗАДАЧИ 6
ВВЕДЕНИЕ 7
1. ОБЩАЯ ЧАСТЬ 8
1.1. Обзор состояния вопроса 8
1.2. Основные этапы разработки программных продуктов 11
1.2.1. Концептуализация 12
1.2.2. Анализ разрабатываемого приложения 14
1.2.3. Проектирование разрабатываемого приложения 16
1.2.4. Эволюция приложения 17
1.2.5. Сопровождение приложения 19
1.3. Технологии разработки программных продуктов 20
1.3.1. Объектно-ориентированное программирование 20
1.3.2. Технология .NET 21
1.3.2.1. Компоненты .NET 23
1.3.2.2. Двоичный стандарт компонентов 25
2. СПЕЦИАЛЬНАЯ ЧАСТЬ 27
2.1. Разработка программы 27
2.1.1. Анализ разрабатываемого приложения 27
2.1.2. Проектирование разрабатываемого приложения 34
2.2. Языки программирования 35
2.3. Выбор языка программирования 37
2.4. Применение графиков в решении уравнений 38
3. ЭКОНОМИЧЕСКАЯ ЧАСТЬ 41
3.1. Исходные данные 41
3.2. Применяемые формулы с расшифровкой условных обозначений 42
3.3. Расчет полной себестоимости разработки программного
продукта по базовому варианту 45
3.4. Расчет полной себестоимости разработки программного
продукта по эксплуатационному варианту 46
3.5. Расчет полной себестоимости разработки программного
продукта по варианту разработки 57
3.6. Расчет экономической эффективности внедрения
программного продукта 48
3.7. Социально-психологические аспекты
использования разработки 50
4. ЭКСПЛУАТАЦИЯ ТЕХНИЧЕСКИХ И ПРОГРАММНЫХ
СРЕДСТВ 51
4.1. Эксплуатация технических средств 51
4.2. Эксплуатация разработанной программы 52
ЗАКЛЮЧЕНИЕ 54
СПИСОК ЛИТЕРАТУРЫ 55
ПРИЛОЖЕНИЕ 56
д) не подсоединяется слишком много удлинителей и штепселей в одну розетку;
е) не закрываются вентиляционные отверстия на корпусе монитора;
ж) не рекомендуется ставить на компьютер воду, химические вещества или мелкие металлические объекты;
з) не следует хранить горючие вещества возле компьютера;
и) не рекомендуется располагать компьютер в местах с быстрой сменой температуры и влажности воздуха;
Ни
в коем случае нельзя располагать
места пользователей нескольких
компьютеров напротив друг друга
или друг за другом, так как исходит
вредное излучение от задней стенки
компьютера. Рекомендуемое расстояние
между мониторами должно составлять не
менее 2 метров для задних стенок и не менее
1,2 метров для боковых стенок. Помещение,
где находятся компьютеры, должно быть
достаточно просторным, с постоянным обновлением
воздуха.
4.2.
Эксплуатация разработанной программы
Вид
на график можно настроить с любой
стороны т.е. график рассматривается
в пространстве. Настройка вида производится
с помощью кнопок указателей, находящихся
в нижней части клавиатуры. График представляет
собой геометрическое положение точек
(х, у) при изменении независимой переменной
(абсциссы) в заданных пределах, например
от минимального значения Xmin до максимального
Xmах с шагом dx. Xmin и Xmax возможно изменять,
для этого существуют специальные элементы
управления на форме, над которыми написано
“Интервал” По умолчанию строятся и линии
координатной системы. Существует 3 режима
вывода координатных осей: без отрицательной
оси Y, с отрицательной осью Y и третий режим
просмотр графика без осей. Режимы
отображения осей меняются с помощью кнопки
‘Esc’. На рис.4.1 представлены клавиши для
работы с графиками.
Рис.4.1 Клавиши для работы с графиками
График и координатные оси можно масштабировать используя кнопки ‘+’ и ‘-’. Масштабировать можно как отдельно по оси X, Y, Z, так и комбинируя оси (например, масштабирования по XZ, YX, XYZ и т.д.). Для этого используются кнопки на панели инструментов. Также с помощью соответствующей кнопки на панели инструментов можно вывести на экран координатную сетку, которая задает таблицу значений аргумента в узлах сетки. Также можно посмотреть свойства графика. В свойствах указаны такие данные как координаты графика, четная или нечетная функция, область определения функции, область значения функции. В меню Режим -> Настройка цвета можно изменять цвет графика, фона, цвет осей, цвет меток, цвет цифр меток и цвет координатной сетки.
Каждую функцию можно сохранить в файл, если она впоследствии пригодится. Для сохранения и открытия из файла на панели инструментов существуют необходимые кнопки. Каждый график можно распечатать нажав на кнопку с изображением принтера.
Программа
может строить графики как
вида y=f(x) так и z=f(x,y), для этого нужно нажать
на кнопку на панели инструментов с подсказкой
“Построить график”. Далее откроется
диалоговое окно, куда и записывается
сама функция. Также в диалоговом окне
можно выбрать цвет графика, задать интервалы
и шаг интервала графика. По умолчанию
интервалы и шаг интервала графика задаются
автоматически. Также эти параметры можно
задавать явно при инициализации функции.
Дале эти параметры можно изменять, когда
график функции уже построен. Для этого
на форме расположены элементы управления.
ЗАКЛЮЧЕНИЕ
В соответствии с заданием при выполнении отчета мне было необходимо разработать среду для построения и исследования графиков функций.
На начальном этапе была определена предметная область графики. Были даны примеры применения графиков, определение того, какую роль они играют в решении задач.
Далее
был произведен анализ общих требований
к программе с последующим проектированием
архитектуры программы. В результате проектирования
была построена диаграмма классов будущей
программы, описывающая предметную область
и включающая в себя следующие сущности:
Вектор, Матрица, График, Свойства графика,
Оси, Камера, Синтаксический анализатор.
Каждая сущность содержит методы, удовлетворяющие
требованиям к программе.
СПИСОК
ЛИТЕРАТУРЫ
1. Э. Троелсен, С# и платформа .NET, – СПб.: Питер, 2002 г.
2. Г. Буч, Объектно-ориентированный анализ и проектирование с примерами приложений на С++, – M.: Невский диалект, 1998 г.
3. А. Поляков, В. Брусенцев, Методы и алгоритмы компьютерной графики, 2-e изд., – СПб.: БХВ-Петербург, 2003 г.
4. А. Ламот, Программирование трехмерных игр для Windows, Пер. с англ. – M.: Издательский дом Вильямс, 2004 г.
5. Е.А. Никулин, Компьютерная геометрия и алгоритмы машинной графики, – СПб.: “БХВ-Петербург”, 2003 г.
6. В.Н. Пореев, Компьютерная графика, – СПб.: БХВ-Петербург, 2003 г.
7. Техническая документация MSDN.
8. www.dotsite.spb.ru – Обзор архитектуры .NET.
9. www.geometrie.h10.ru – Применение графиков функций.
ПРИЛОЖЕНИЕ
Текст разработанной
программы: “Построение графиков функций”
namespace Construction_of_graphics
{
[Serializable]
public class Graphic
{
[NonSerialized] public const int MAX_NUM_VERTICES = 200000;
[NonSerialized] private int[] state = new int[MAX_NUM_VERTICES/4]; //состояние вершин объекта
[NonSerialized] pu
//положение объекта в мировой системе координат
[NonSerialized] public Vector world_pos = new Vector();
[NonSerialized] public Vector[] vlist = new Vector[MAX_NUM_VERTICES]; //локальные координаты(без преобразований)
[NonSerialized] public Vector[] vlist_local = new Vector[MAX_NUM_VERTICES]; //локальные координаты
[NonSerialized] public Vector[] vlist_trans = new Vector[MAX_NUM_VERTICES]; //координаты после преобразования
[NonSerialized] public _Math m = new _Math();
[NonSerialized] public static Axes axes = new Axes();
[NonSerialized] public static Camera cam = new Camera();
public string expression1;
public string expression2;
public string
expression3;
//Интервал
public float begin;//начало интервала
public float end;//конец интервала
public double step;//шаг интервала
public float _begin
{
get {return begin;}
set
{
begin = value;
}
}
public float _end
{
get {return end;}
set
{
end = value;
}
}
public double _step
{
get {return step;}
set
{
step = value;
}
}
public float scale_x;//масштаб графика по оси X
public float _scale_x
{
get {return scale_x;}
set
{
scale_
}
}
public float scale_y;//масштаб графика по оси Y
public float _scale_y
{
get {return scale_y;}
set
{
scale_