Автор работы: Пользователь скрыл имя, 21 Октября 2014 в 12:57, курсовая работа
Тенденции развития современных информационных технологий приводят к постоянному возрастанию сложности информационных систем (ИС), создаваемых в различных областях экономики. Современные крупные проекты ИС характеризуются, как правило, следующими особенностями:
- сложность описания (достаточно большое количество функций, процессов, элементов данных и сложные взаимосвязи между ними), требующая тщательного моделирования и анализа данных и процессов;
Введение
1. Постановка задачи
2. Глоссарий
3. Создание модели вариантов использования
4. Анализ вариантов использования
5. Проектирование системы
5.1 Иерархия системы
5.2 Построение диаграммы классов (Class Diagram)
5.3 Построение диаграммы состояний (Statechart Diagram)
6. Реализация системы
6.1 Диаграммы компонентов (Component Diagram)
6.2 Диаграмма размещения
6.3 Генерация кода
Заключение
Список использованных источников
CompareT1 & T2() – Сравнивает
температуры, непрерывна. Если T1>T2 (текущая
температура с термометра
Если T1≤T2 (текущая температура с термометра ниже или равна нижнему порогу заданному регулятором) передает команду мотору остановиться.
Рисунок14 - КлассController of the refrigerator <<control>> соперациямииаргументами
5.2 Построение диаграммы классов (Class Diagram)
Диаграмма классов является основным логическим представлением модели и содержит детальную информацию о внутреннем устройстве объектно-ориентированной программной системы.
Рисунок 15 - Диаграмма классов (ClassDiagram)
5.3 Построение диаграммы состояний (Statechart Diagram)
Определение состояний для классов моделируется с помощью диаграмм состояний. Главное назначение диаграммы состояний - описать возможные последовательности состояний и переходов, которые в совокупности характеризуют поведение моделируемой системы в течение всего ее жизненного цикла. Диаграмма состояний представляет динамическое поведение сущностей, на основе спецификации их реакции на восприятие некоторых конкретных событий.
Рисунок 16 - Диаграммы состояний (StatechartDiagram)
6. Реализация системы
6.1 Диаграммы компонентов (Component Diagram)
Диаграмма компонентов служит частью физического представления модели, играет важную роль в процессе ООАП и является необходимой для генерации программного кода.
Рисунок 17 - Диаграммы компонентов (ComponentDiagram)
6.2 Диаграмма размещения
Диаграмма развертывания является второй составной частью физического представления модели и разрабатывается, как правило, для территориально распределенных систем. В данном проекте этот тип диаграммы не нужен, так как холодильник не имеет внешних связей с другими устройствами.
6.3 Генерация кода
Процесс генерации кода состоит из четырех основных шагов:
1. Проверка корректности модели.
2. Установка свойств генерации кода.
3. Выбор класса, компонента или пакета.
4. Генерациякода.
Выполним предложенные шаги :
1. Проверим модель на содержание ошибок.(Tools> CheckModel).
2. Назначим компонентам классы(С помощью команды Assign) и выберем для всех компонент язык генерации ANSIC++.
3. Выберем все компоненты, которым назначили классы.
4. Выберем команду сгенерировать код на языке ANSIC++.
Получившийся код
Controller of the refrigerator.h
#ifndef CONTROLLEROFTHEREFRIGERATOR_H_
#define CONTROLLEROFTHEREFRIGERATOR_H_
//##ModelId=49521FA001E4
class Controller of the Controller of the refrigerator
{
public:
//##ModelId=495227D60148
Boolean Check States on Check States on breakage();
//##ModelId=49522913008C
Boolean Check Time on Check Time on Timer();
//##ModelId=4952295E0251
T1 Compare T1 T2();
};
#endif /* CONTROLLEROFTHEREFRIGERATOR_H_
Controller of the refrigerator.cpp
#include "C:/Код/Controller of the refrigerator.h"
//##ModelId=495227D60148
Boolean Controller of the refrigerator::Check States on breakage()
{
}
//##ModelId=49522913008C
Boolean Controller of the refrigerator::Check Time on Timer()
{
}
//##ModelId=4952295E0251
Controller of the refrigerator::Compare T1 & T2()
{
}
Journal.h
#ifndef JOURNAL_H_INCLUDED_B6AD5CEA
#define JOURNAL_H_INCLUDED_B6AD5CEA
//##ModelId=4952203B037A
class Journal
{
public:
//##ModelId=495225C6036B
Save data();
//##ModelId=495225E7033C
String Data;
};
#endif /* JOURNAL_H_INCLUDED_B6AD5CEA */
Journal.cpp
#include "C:/КОД/Journal.h"
//##ModelId=495225C6036B
Journal::Save data()
{
}
Door.h
#ifndef DOOR_H_INCLUDED_B6AD5A65
#define DOOR_H_INCLUDED_B6AD5A65
//##ModelId=49521FD601D4
class Door
{
public:
//##ModelId=49522070029F
Boolean Open Door();
//##ModelId=4952207A0000
Boolean Close Door();
//##ModelId=4952210301F4
Boolean State of Door;
};
#endif /* DOOR_H_INCLUDED_B6AD5A65 */
Door.cpp
#include "C:/КОД/Door.h"
//##ModelId=49522070029F
Boolean Door::Open Door()
{
}
//##ModelId=4952207A0000
Boolean Door::Close Door()
{
}
Indicator.h
#ifndef INDICATOR_H_INCLUDED_B6AD631B
#define INDICATOR_H_INCLUDED_B6AD631B
//##ModelId=49522018032C
class Indicator
{
public:
//##ModelId=49522455007D
Float Show T1();
//##ModelId=495224950119
Float Factor T1;
//##ModelId=49527E1E02BF
Boolean State of Indicator;
};
#endif /* INDICATOR_H_INCLUDED_B6AD631B */
Indicator.cpp
#include "C:/КОД/Indicator.h"
//##ModelId=49522455007D
Float Indicator::Show T1()
{
}
Motor.h
#ifndef MOTOR_H_INCLUDED_B6AD6A11
#define MOTOR_H_INCLUDED_B6AD6A11
//##ModelId=49522059030D
class Motor
{
public:
//##ModelId=495225610280
Boolean Start Motor();
//##ModelId=495225920000
Boolean Stop Motor();
//##ModelId=495225A30186
Boolean State of Motor;
};
#endif /* MOTOR_H_INCLUDED_B6AD6A11 */
Motor.cpp
#include "C:/КОД/Motor.h"
//##ModelId=495225610280
Boolean Motor::Start Motor()
{
}
//##ModelId=495225920000
Boolean Motor::Stop Motor()
{
}
Regulator.h
#ifndef REGULATOR_H_INCLUDED_B6AD09A2
#define REGULATOR_H_INCLUDED_B6AD09A2
//##ModelId=4952202D03B9
class Regulator
{
public:
//##ModelId=495226D301D4
Boolean Change state T2();
//##ModelId=495224CE0119
Float FactorT2;
//##ModelId=49527E6F0177
Boolean State of Regulator;
};
#endif /* REGULATOR_H_INCLUDED_B6AD09A2 */
Regulator.cpp
#include "C:/КОД/Regulator.h"
//##ModelId=495226D301D4
Boolean Regulator::Change state T2()
{
}
Sound device.h
#ifndef SOUNDDEVICE_H_INCLUDED_
#define SOUNDDEVICE_H_INCLUDED_
//##ModelId=49521FEF0271
class Sound device
{
public:
//##ModelId=495223040242
Boolean Switch on Sound Device();
//##ModelId=495223150261
Boolean Switch off Sound Device();
//##ModelId=4952233101E4
Boolean State of Sound Device;};
#endif /* SOUNDDEVICE_H_INCLUDED_
Sound device.cpp
#include "C:/КОД/Sound device.h"
//##ModelId=495223040242
Boolean Sound device::Switch on Sound Device()
{
}
//##ModelId=495223150261
Boolean Sound device::Switch off Sound Device()
}
Thermometer.h
#ifndef THERMOMETER_H_INCLUDED_
#define THERMOMETER_H_INCLUDED_
//##ModelId=4952200303B9
class Thermometer
{
public:
//##ModelId=4952239301B5
Float Measure T1();
//##ModelId=495223BC0186
Float Factor T1;
//##ModelId=49527E4C037A
Boolean State of Thermometer;};
#endif /* THERMOMETER_H_INCLUDED_
Thermometer.cpp
#include "C:/КОД/Thermometer.h"
//##ModelId=4952239301B5
Float Thermometer::Measure T1()
{
}
Timer.h
#ifndef TIMER_H_INCLUDED_B6AD34B3
#define TIMER_H_INCLUDED_B6AD34B3
//##ModelId=49521FE1031C
class Timer
{
public:
//##ModelId=495221F501E4
Boolean Switch on Timer();
//##ModelId=4952229602CE
Boolean Switch off Timer();
//##ModelId=495222C00109
Boolean State of Timer;};
#endif /* TIMER_H_INCLUDED_B6AD34B3 */
Timer.cpp
#include "C:/КОД/Timer.h"
//##ModelId=495221F501E4
Boolean Timer::Switch on Timer()
{
}
//##ModelId=4952229602CE
Boolean Timer::Switch off Timer()
{
Заключение
В рамках курсового проекта было проведено проектирование системы по методологии UMLс использованием программы RationalRoseи была построена модель программного обеспечения для холодильника, описание которого было изложено в пункте “Постановка задачи”, с использованием диаграмм и с генерацией конечного кода.
В ходе работы было создано несколько диаграмм, объявлены классы, их атрибуты и операции между ними, а также на диаграмме состояний был полностью описан процесс использования холодильника.
Структурный подход дает основу для создания диаграмм объектно-ориентированного подхода в среде Rational Rose.
Объектно-ориентированный подход включает в себя в первую очередь диаграмму вариантов использования, которая содержит действующих лиц и связанные с их деятельностью варианты использования.
Следующим этапом объектно-ориентированного подхода является создание классов с соответствующими атрибутами, операциями и описанием взаимодействия между классами.
Также в завершении проектирования модели был сгенерирован код программного обеспечения модели холодильника.
В дальнейшем может быть разработана база данных для хранения журнала событий холодильника.
Список использованных источников
1. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. 2-еизд.: Пер. с англ. – М.: Издательство Бином, СПб.: Невский диалект, 1999. – 332с.
2. Калянов Г.Н. CASE. Структурный системный анализ (автоматизация и применение). М., "Лори", 1996.-202с.
3. Методология структурного анализа и проектирования. Марка Д.А., МакГоуэн К. М., "МетаТехнология", 1993. – 356с.
4. Новоженов Ю.В. Объектно-ориентированные технологии разработки сложных программных систем. М., 1996. – 245с.
5. Приемы объектно-
6. Трофимов С. А. CASE-технологии: практическая работа в RationalRose– М.: БИНОМ, 2000. – 405с.
7. Якобсон А., Буч Г., Рамбо
Дж. Унифицированный процесс
8. UMLв кратком изложении. Применение стандартного языка объектного моделирования. Фаулер М., Скотт К.: Пер. сангл.– М.: Мир, 1999. – 273с.
9. UMLи RationalRose. Боггс У., БоггсМ.: Пер. сангл. – М.: Лори, 2000. – 266с.
Информация о работе Модель программного обеспечения холодильника