Построить дом: моделирование процесса
Особенности моделирования процесса постройки дома. Выполнение концептуального анализа поставленной задачи, написание классов, которые взаимодействуют между собой в процессе выполнения согласно концептуальной модели. Древо поддействий, объектная модель.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 25.10.2012 |
Размер файла | 2,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Московский государственный институт радиотехники, электроники и автоматики (Технический университет)
Факультет: Информационные Технологии (ИТ)
Кафедра: Математического обеспечения вычислительных систем (МОВС)
Курсовой проект по объектно-ориентированному программированию
Тема: "Построить дом"
Выполнил: Леднев М.Ю.
Группа: ИТО-1-08
Москва (2010 г.)
Постановка задачи
Целью курсовой работы является моделирование процесса постройки дома. Необходимо выполнить концептуальный анализ поставленной задачи, написать классы, которые взаимодействуют между собой в процессе выполнения согласно концептуальной модели.
Для выполнения условия "дом построен" рабочим необходимо получить проект, подписать с заказчиком подрядный договор, заказать ресурсы, заправить и пригнать технику. В свою очередь заказчику необходимо купить у администрации землю под строительство, получить разрешение на постройку у чиновников, а также дать рабочим деньги на ресурсы и топливо.
Концептуальные схемы
0.
1.
1.1.
концептуальная модель класс поддействие
1.1.1.
1.1.2
1.1.2.1
2.
2.1.
2.2.
2.3.
2.4.
2.4.1
3.
4.
4.1.
4.1.1
4.1.2
4.1.3
5.
5.1.
5.2.
6.
Концептуальная модель
Объекты:
Q={Заказчик, Разрешение, Деньги, Чиновники, Администрация, Подрядный договор, Рабочие, Проект, Документация, Стройка, Земля, Дом, Ресурсы, Техника, Топливо}
Свойства объектов:
P (Дом) ={Сдан, Построен}
P (Стройка) ={Рабочие условия}
P (Склад) ={Открыт}
P (Документация) ={Утверждена}
P (Рабочие) ={Рабочее время}
Отношения:
R (Рабочие) ={на (Стройка), имеют разрешение (Стройка), заплатили (Склад), на (Склад) }
R (Заказчик) ={получил разрешение (Стройка), заплатил (Чиновники), получил (Разрешение), заплатил (Администрация) }
R (Разрешение) ={}
R (Чиновники) ={дали (Разрешение), подписали (Разрешение) }
R (Деньги) ={у (Чиновники), у (Рабочие), у (Склад), на (Ресурсы), на (Топливо), у (Заказчик), для (Чиновники), для (Администрация), у (Администрация) }
R (Подрядный договор) ={подписан (Рабочие), подписан (Заказчик) }
R (Проект) ={утвержден (Заказчик), у (Рабочие), на (Дом) }
R (Стройка) ={}
R (Земля) ={у (Заказчик), у (Администрация), под (Проект) }
R (Администрация) ={}
R (Документация) ={на (Проект) }
R (Дом) ={}
R (Ресурсы) ={заказаны (Рабочие), на (Стройка) }
R (Техника) ={для (Рабочие), на (Стройка) }
R (Топливо) ={для (Техника), заказано (Рабочие) }
R (Транспорт) ={для (Рабочие), есть у (Рабочие) }
R (Склад) ={}
Действия:
D (Рабочие) ={построить (Дом), получить (Разрешение), взять (Проект), подписать (Подрядный договор), прибыть (Стройка), доставить (Ресурсы), заказать (Ресурсы), прибыть (Склад), заплатить (Деньги), работать (Стройка), заказать (Топливо), пригнать (Техника), сдать (Дом) }
D (Заказчик) ={получить (Разрешение), заплатить (Чиновники), подписать (Подрядный договор), утвердить (Проект), купить (Земля), заплатить (Администрация), дать (Деньги) }
D (Чиновники) ={дать (Разрешение), подписать (Разрешение) }
Древо поддействий
Объектная модель
Рабочие |
||
Свойства |
Методы |
|
Рабочее время, Деньги, Техника на Стройка, Дом сдан, Дом построен, Топливо заказано |
построить (Дом) получить (Разрешение) взять (Проект) подписать (Подрядный договор) прибыть (Стройка) доставить (Ресурсы) заказать (Ресурсы) прибыть (Склад) заплатить (Деньги) работать (Стройка) заказать (Топливо) пригнать (Техника) сдать (Дом) |
|
Отношения |
||
на (Стройка) имеют разрешение (Стройка) заплатили (Склад) на (Склад) Проект у (Рабочие) Подрядный договор |
Заказчик |
||
Свойства |
Методы |
|
Проект утвержден, Земля есть |
получить (Разрешение) заплатить (Чиновники) подписать (Подрядный договор) утвердить (Проект) купить (Земля) заплатить (Администрация) дать (Деньги) |
|
Отношения |
||
получил разреш. (Стройка) заплатил (Чиновники) получил (Разрешение) заплатил (Администрация) |
Чиновники |
||
Свойства |
Методы |
|
дать (Разрешение) подписать (Разрешение) |
||
Отношения |
||
дали (Разрешение), подписали (Разрешение) |
Деньги |
||
Свойства |
Методы |
|
Отношения |
||
у (Чиновники) у (Рабочие) у (Склад) на (Топливо) у (Администрация) |
Стройка |
||
Свойства |
Методы |
|
Ресурсы на, Ресурсы заказаны |
||
Отношения |
||
Рабочие Заказчик |
Builders class
arriveCunstruction
"Perform the arriveCunstruction action. "
(havePlan)
ifTrue: [onConstruction: =true.].
arriveStorehouse
"Perform the arriveStorehouse action. "
onStorehouse: =true.
builtHouse
"Perform the builtHouse action. "
( (workTimeSpend) & (houseisReady))
ifTrue: [houseBuild: =true.].
deliveResource: resOrdered
"Perform the deliveResource: action. "
(resOrdered)
ifTrue: [^true.].
finishHouse
"Perform the finishHouse action. "
(workTimeSpend)
ifTrue: [houseisReady: =true.].
getPromission: custPromis
"Perform the getPromission: action. "
(custPromis)
ifTrue: [havePremission: =true.].
moveMachinery
"Perform the moveMachinery action. "
machineryOnConstruction: =true.
orderFuel
"Perform the orderFuel action. "
(money workersHave)
ifTrue: [fuelOrdered: =true.].
orderResource
"Perform the orderResource action. "
( (onStorehouse) & (paidStorehouse))
ifTrue: [^true.]
payMoney
"Perform the payMoney action. "
( (onStorehouse) & (money workersHave))
ifTrue: [paidStorehouse: =true.].
signWorkPlan
"Perform the signWorkPlan action. "
(workPlanSignByCustomer)
ifTrue: [workPlanSignByWorkers: =true.].
takePlan: land With: approvePlan
"Perform the takePlan: with: action. "
( (land) & (approvePlan) & (workPlanSignByWorkers) & (workPlanSignByCustomer)) ifTrue: [havePlan: =true.].
workOnCunstruction
"Perform the workOnCunstruction action. "
( (fuelOrdered) & (machineryOnConstruction) & (onConstruction))
ifTrue: [workTimeSpend: =true.].
Costumer class
approvePlan
"Perform the approvePlan action. "
planApproved: =true.
bayLand
"Perform the bayLand action. "
(paidAdministration)
ifTrue: [haveLand: =true.].
getPremission
"Perform the getPremission action. "
(bureaucrat givePermission)
ifTrue: [getPremissionForConstruction: = true.
hasPremission: =true.].
giveMoney
"Perform the giveMoney action. "
^true.
payAdministration
"Perform the payAdministration action. "
paidAdministration: =true.
^true.
payBureaucrat
"Perform the payBureaucrat action. "
paidBureaucrat: =true.
^true.
signWorkContract
"Perform the signWorkContract action. "
(hasPremission)
ifTrue: [^true.].
Construction Class
printOn: aStream
"Perform the printOn: action. "
nextPutAll: ' *Разрешение получено*: ';
nextPutAll: ( (customer hasPremission) asString);
cr;
nextPutAll: ' *План получен*: ';
nextPutAll: ( (builders havePlan) asString);
cr;
nextPutAll: ' *Время затрачено*: ';
nextPutAll: ( (builders workTimeSpend) asString);
cr;
nextPutAll: ' *Дом построен*: ';
nextPutAll: ( (builders houseisReady) asString).
Размещено на Allbest.ru
Подобные документы
Разработка концептуальной модели, выявление основных элементов системы и элементарных актов взаимодействия. Создание алгоритма и написание программы. Планирование и проведение компьютерных экспериментов. Аналитическое и имитационное моделирование.
курсовая работа [784,0 K], добавлен 01.12.2012Характеристика сущностей инфологической модели и проектирование модели базы данных технологического процесса. Описание предметной области и основы инфологического моделирования. Особенности проектирования и обеспечение выполнения объявленных функций.
курсовая работа [22,5 K], добавлен 27.02.2009Структурная схема модели системы, временная диаграмма, блок-схема моделирующего алгоритма, математическая модель, описание машинной программы решения задачи, результаты моделирования. Сравнение имитационного моделирования и аналитического расчета.
курсовая работа [209,7 K], добавлен 28.06.2011Моделирование процесса стандартной операции на предприятии в стандарте IDEF0. Операции по запуску MS Visio на персональном компьютере и созданию IDEF0-модели. Особенности построения IDEF0-диаграмм в редакторе MS Visio. Декомпозиция функциональных блоков.
лабораторная работа [462,3 K], добавлен 22.11.2014Сущность унифицированного языка моделирования, его концептуальная модель и принцип действия, общие правила и механизмы. Моделирование понятия "компетентность". Диаграмма классов, описывающих учебный процесс. Реализация заданной информационной системы.
дипломная работа [3,1 M], добавлен 17.02.2015Разработка программы, имитирующей работу системы массового обслуживания. Методы и средства решения задачи. Создание концептуальной и структурной моделей системы. Анализ и оценка результатов моделирования, определение достоинств и недостатков системы.
курсовая работа [469,5 K], добавлен 03.03.2015- Математическое моделирование одноходового кожухотрубного противоточного теплообменника-подогревателя
Создание модели какого-либо процесса или объекта как основная цель процесса моделирования. Получение математической модели теплообменника-подогревателя для смесей газ-газ, жидкость-газ и жидкость-жидкость. Принятые допущения при разработке модели.
контрольная работа [351,5 K], добавлен 24.11.2014 Построение концептуальной модели и метод имитационного моделирования. Определение переменных уравнений математической модели и построение моделирующего алгоритма. Описание возможных улучшений системы и окончательный вариант модели с результатами.
курсовая работа [79,2 K], добавлен 25.06.2011Роль моделирования общественно-исторических процессов. Распределенный банк данных системы сбора информации. Концептуальная схема модели системы. Критерии оценки эффективности процесса функционирования СМО. Выдвижение гипотез и принятие предположений.
дипломная работа [140,1 K], добавлен 30.07.2009Разработка модели автоматизации документооборота риэлтерской организации. Точки зрения на построение диаграмм классов в зависимости от целей их применения. Выбор среды моделирования. Визуальное моделирование в UML для роли "менеджер". Диаграмма классов.
курсовая работа [895,6 K], добавлен 28.05.2013