Курсовая работа: Разработка модели программного обеспечения для телевизора в среде Rational Rose
Рисунок 4 - Диаграмма кооперации
Диаграмма состояний описывает возможные последовательности состояний и переходов, которые в совокупности характеризуют поведение моделируемой системы в течение всего ее жизненного цикла. Диаграмма состояний представляет динамическое поведение сущностей, на основе спецификации их реакции на восприятие некоторых конкретных событий.
Рисунок 5 - Диаграмма состояний
Диаграмма компонентов.
Диаграмма компонентов применяется для моделирования статического вида системы с точки зрения реализации. Сюда относится моделирование физических сущностей, развернутых в узле, например исполняемых программ, библиотек, таблиц, файлов и документов.
телевизор программный проектирование настройка
Рисунок 6 - Диаграмма компонентов
Генерация кода
ChannelMemory.cpp
#include "ChannelMemory.h"
//##ModelId=4930347402CE
bool ChannelMemory::SaveChannels()
{
}
//##ModelId=4947C0C900FA
ChannelMemory::ClearSettings()
{
}
ChannelMemory.h
#ifndef CHANNELMEMORY_H_INCLUDED_B6AEDCE5
#define CHANNELMEMORY_H_INCLUDED_B6AEDCE5
//##ModelId=4930341A0232
//##Documentation
//## Устанавливается в телевизоре
class ChannelMemory
{
public:
//##ModelId=4930347402CE
//##Documentation
//## Сохраняет канал
bool SaveChannels();
//##ModelId=4947C0C900FA
ClearSettings();
};
#endif /* CHANNELMEMORY_H_INCLUDED_B6AEDCE5 */
SettingsMemory.cpp
#include "SettingsMemory.h"
//##ModelId=49441168035B
bool SettingsMemory::SaveSettings()
{
}
//##ModelId=4944118303A9
int SettingsMemory::LoadSettings()
{
}
//##ModelId=4947C0D40186
SettingsMemory::ClearSettings()
{
}
SettingsMemory.h
#ifndef SETTINGSMEMORY_H_INCLUDED_B6AEB25E
#define SETTINGSMEMORY_H_INCLUDED_B6AEB25E
//##ModelId=4944114C03C8
class SettingsMemory
{
public:
//##ModelId=49441168035B
bool SaveSettings();
//##ModelId=4944118303A9
int LoadSettings();
//##ModelId=4947C0D40186
ClearSettings();
};
#endif /* SETTINGSMEMORY_H_INCLUDED_B6AEB25E */
TVButtons.cpp
#include "TVButtons.h"
//##ModelId=494B86E901B5
TVButtons::PowerOnOffButton()
{
}
TVButtons.h
#ifndef TVBUTTONS_H_INCLUDED_B6AEBEB2
#define TVBUTTONS_H_INCLUDED_B6AEBEB2
//##ModelId=4947BF1F0261
class TVButtons
{
public:
//##ModelId=494B86E901B5
PowerOnOffButton();
};
#endif /* TVBUTTONS_H_INCLUDED_B6AEBEB2 */
TVConsole.cpp
#include "TVConsole.h"
//##ModelId=493031890167
int TVConsole::DigitalButton(int ButtonNumber)
{
}
//##ModelId=494B88DF0119
int TVConsole::MoreLessVilumeButton(int Volume)
{
}
//##ModelId=494B88F20148
int TVConsole::PrevNextChannelButton(int Channel)
{
}
//##ModelId=494B8918033C
int TVConsole::MenuButton()
{
}
//##ModelId=494B893D038A
int TVConsole::DefaultSettingsButton()
{
}
TVConsole.h
#ifndef TVCONSOLE_H_INCLUDED_B6AE884F
#define TVCONSOLE_H_INCLUDED_B6AE884F
//##ModelId=4930314B03C8
//##Documentation
//## Пульт управления
class TVConsole
{
public:
//##ModelId=493031890167
int DigitalButton(int ButtonNumber);
//##ModelId=494B88DF0119
int MoreLessVilumeButton(int Volume);
//##ModelId=494B88F20148
int PrevNextChannelButton(int Channel);
//##ModelId=494B8918033C
int MenuButton();
//##ModelId=494B893D038A
int DefaultSettingsButton();
};
#endif /* TVCONSOLE_H_INCLUDED_B6AE884F */
TVController.cpp
#include "TVController.h"
//##ModelId=4951639A03A9
bool TVController::OpenChannel(int ChannelNumber)
{
}
//##ModelId=4951639A03AB
bool TVController::SetVolume(Integer Volume)
{
}
//##ModelId=4951639A03AD
TVController::Menu()
{
}
//##ModelId=4951639A03B9
bool TVController::PowerOnOff()
{
}
//##ModelId=4951639A03BA
TVController::FirstSetup()
{
}
TVController.h
#ifndef TVCONTROLLER_H_INCLUDED_B6AE96AB
#define TVCONTROLLER_H_INCLUDED_B6AE96AB
//##ModelId=4951638D02BF
class TVController
{
public:
//##ModelId=4951639A03A9
bool OpenChannel(int ChannelNumber);
//##ModelId=4951639A03AB
bool SetVolume(Integer Volume);
//##ModelId=4951639A03AD
Menu();
//##ModelId=4951639A03B9
bool PowerOnOff();
//##ModelId=4951639A03BA
FirstSetup();
};
#endif /* TVCONTROLLER_H_INCLUDED_B6AE96AB */
TVReceiver.cpp
#include "TVReceiver.h"
//##ModelId=493033FA00BB
bool TVReceiver::ReceiveTVSignal(int ChannelNumber)
{
}
//##ModelId=4947C118000F
int TVReceiver::ChannelScan()
{
}
TVReceiver.h
#ifndef TVRECEIVER_H_INCLUDED_B6AE952B
#define TVRECEIVER_H_INCLUDED_B6AE952B
//##ModelId=493033CE006D
class TVReceiver
{
public:
//##ModelId=493033FA00BB
//##Documentation
//## Принимает ТВ сигнал
bool ReceiveTVSignal(int ChannelNumber = 1);
//##ModelId=4947C118000F
int ChannelScan();
};
#endif /* TVRECEIVER_H_INCLUDED_B6AE952B */
TVScreen.cpp
#include "TVScreen.h"
//##ModelId=493031280261
bool TVScreen::OutputTVSignal(int ChannelNumber)
{
}
//##ModelId=49453D82007D
TVScreen::DisplayMenu()
{
}
//##ModelId=49453DF1033C
TVScreen::DisplayVolimeState()
{
}
TVScreen.h
#ifndef TVSCREEN_H_INCLUDED_B6AE8410
#define TVSCREEN_H_INCLUDED_B6AE8410
//##ModelId=493030A8004E
//##Documentation
//## Устанавливается на телевизоре
class TVScreen
{
public:
//##ModelId=493031280261
bool OutputTVSignal(int ChannelNumber = 1);
//##ModelId=49453D82007D
DisplayMenu();
//##ModelId=49453DF1033C
DisplayVolimeState();
};
#endif /* TVSCREEN_H_INCLUDED_B6AE8410 */
Разработав модель и специфицировав ее на языке UML, разработчик имеет все основания быть понятым и по достоинству оцененным своими коллегами. При этом могут быть исключены ситуации, когда тот или иной разработчик применяет свою собственную графическую нотацию для представления тех или иных аспектов модели, что практически исключает ее понимание другими специалистами в случае нетривиальности исходной модели.
Последующая разработка модели системы, направленная на решение определенных проблем, может потребовать привлечения знаний из различных дисциплин. С этой точки зрения язык UML может быть использован не только для унификации представлений этих знаний, но что не менее важно - для их интеграции, направленной на повышение адекватности много-модельных представлений сложных систем.
Возможно со временем язык UML станет тем "эсперанто", на котором смогут общаться математики, системные аналитики, физики, программисты, менеджеры, экономисты и специалисты других профессий, представляя свои профессиональные знания в унифицированном виде. Ведь, по существу, каждый из специалистов оперирует модельными представлениями в своей области знаний. И именно этот модельный аспект может быть специфицирован средствами языка UML.
В связи с этим значение языка UML существенно возрастает, поскольку он все более приобретает черты языка представления знаний. При этом наличие в языке UML изобразительных средств для представления структуры и поведения модели позволяет достичь адекватного представления декларативных и процедурных знаний и, что не менее важно, установить между этими формами знаний семантическое соответствие. Все эти особенности языка UML позволяют сделать вывод о том, что он имеет самые серьезные перспективы уже в ближайшем будущем.
1. Черемных С.В., Ручкин В.С., Семенов И.О. Структурный анализ систем. IDEF-технологии - М.: Финансы и статистика, 2001
2. Смирнова Г.Н.,Сорокин А.А., Тельнов Ю.Ф. Проектирование экономических информационных систем. Учебник - М.: «Финансы и статистика», 2002
3. Маклаков С.В. Создание информационных систем с AllFusion Modelling Suite - М.: Диалог-МИФИ, 2003
4. Буч Г. Объектно-ориентированное проектирование с примерами применения - М.: Конкорд, 1992
5. Нейбург Э. Д., Максимчук Р.А. Проектирование баз данных с помощью UML - М.: Издательский дом «Вильямс», 2002
6. Вендров А.М. Проектирование программного обеспечения экономических информационных систем - М: «Финансы и статистика», 2000
7. Колтунова Е. Требования к информационной системе и модели жизненного цикла Автоматизированные Системы Стадии создания. ГОСТ 34.601-90. Комплекс стандартов на автоматизированные системы - ИПК издательство стандартов. 1997
8. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя: Пер. с англ. - М.: ДМК, 2000
9. Козленко Л. Проектирование информационных систем.
10. Смирнова Г.Н., Сорокин А.А., Тельнов Ю.Ф. Проектирование экономических информационных систем - М.: Финансы и статистика, 2002
11. Кондратьев В.В., Краснова В.Б. Модульная программа для менеджеров. Реструктуризация управления компанией - М.: Инфра-М, 2000
12. Калянов Г.Н. Теория и практика реорганизации бизнес-процессов - М.: СИНТЕГ, 2000
13. Калянов Г.Н. Структурный системный анализ - М.: Лори, 1996