Модель программного обеспечения холодильника

Автор работы: Пользователь скрыл имя, 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 Генерация кода
Заключение
Список использованных источников

Вложенные файлы: 1 файл

холодильник.docx

— 197.88 Кб (Скачать файл)

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_INCLUDED_B6AD0DF2

#define CONTROLLEROFTHEREFRIGERATOR_H_INCLUDED_B6AD0DF2

//##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_INCLUDED_B6AD0DF2 */

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_B6AD4A0B

#define SOUNDDEVICE_H_INCLUDED_B6AD4A0B

//##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_B6AD4A0B */

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_B6AD64D1

#define THERMOMETER_H_INCLUDED_B6AD64D1

//##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_B6AD64D1 */

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. Приемы объектно-ориентированного  проектирования. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж.: Пер. с  англ. – М.: ДМК, 2000. – 354с.

6. Трофимов С. А. CASE-технологии: практическая работа в RationalRose–  М.: БИНОМ, 2000. – 405с.

7. Якобсон А., Буч Г., Рамбо  Дж. Унифицированный процесс разработки  программного обеспечения.: Пер. с  англ. – СПб: Питер, 2002. – 445с.

8. UMLв кратком изложении. Применение стандартного языка  объектного моделирования. Фаулер  М., Скотт К.: Пер. сангл.– М.: Мир, 1999. – 273с.

9. UMLи RationalRose. Боггс У., БоггсМ.: Пер. сангл. – М.: Лори, 2000. – 266с.

 


Информация о работе Модель программного обеспечения холодильника