Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2015, 13:23   #1
Aiko_K
 
Регистрация: 03.04.2015
Сообщений: 7
Стрелка UML-диаграмма поезда

Здравствуйте. Помогите пожалуйста построить UML диаграмму классов.
Задание следующее:
Тема:Объектная модель поезда. Включает в себя класс поезд, не менее трёх классов вагонов, класс локомотив. Класс поезд должен наследовать от стандартного класса список (List). Должны быть реализованы операции добавления вагонов, удаления вагонов по номеру, удаления по типу, объединения поездов и вычисления показателей поезда, например: может ли тронуться и с каким ускорением (зависит от мощности и массы), длина поезда, стоимость, кол-во вагонов, общий вес, кол-во мест, грузоподъёмность, доля загруженности и т.п. Должна быть реализована операция вывода текстовой информации о поезда, в которой перечисляется его состав.
В каждом классе должен быть реализован метод toString(), выполняющий вывод на консоль или в файл краткой текстовой информации об объекте вызвавшем метод.
Aiko_K вне форума Ответить с цитированием
Старый 03.04.2015, 14:14   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Уточните задание. Диаграмма классов может быть общего вида (то есть никаких toString), описание полей и методов либо кратко на русском языке либо используя стандартизированный набор типов. И может быть с привязкой к языку программирования. У вас вероятно c#.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 03.04.2015, 14:32   #3
Aiko_K
 
Регистрация: 03.04.2015
Сообщений: 7
По умолчанию

Да на СИ шарп или си++. Препод говорил что можете программировать на любом языке, главное ООП(объектно-ориентированный) должно быть.
Я сама попыталась сделать, и посмотрите что получается:
Класс Поезд: длина поезда, номер поезда, стоимость, доля загруженности
Класс Вагон: кол-во вагонов, кол-во мест
Класс Локомотив
и стандартный класс Список(List) не знаю даже что писать сюда
Aiko_K вне форума Ответить с цитированием
Старый 03.04.2015, 14:32   #4
Aiko_K
 
Регистрация: 03.04.2015
Сообщений: 7
По умолчанию

Да на СИ шарп или си++. Препод говорил что можете программировать на любом языке, главное ООП(объектно-ориентированный) должно быть.
Я сама попыталась сделать, и посмотрите что получается:
Класс Поезд: длина поезда, номер поезда, стоимость, доля загруженности
Класс Вагон: кол-во вагонов, кол-во мест
Класс Локомотив
и стандартный класс Список(List) не знаю даже что писать сюда
Aiko_K вне форума Ответить с цитированием
Старый 03.04.2015, 14:47   #5
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Класс поезд: список вагонов (имеет тип List)
длина поезда не нужна, Вы всегда ее можете получить обратившись к методам List
Класс вагон не может знать информацию о количестве вагонов. Песчинка не может знать о количестве песка в пустыне это не ее обязанность. Эта информация доступна вышестоящему объекту - поезду (длина поезда).
Класс локомотив может тоже иметь какие-нибудь поля (например сколько вагонов он может тащить максимально).

Как-то так навскидку.
Начало верное. Проработаете поля, начинаете прорабатывать методы, 2 стандартных, конструктор и деструктор и остальные, включая toString.
Цитата:
краткой текстовой информации об объекте вызвавшем метод.
Здесь нужно уточнить формулировку - именно как Вы дали или:
краткой текстовой информации об объекте у которого вызван данный метод?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 03.04.2015 в 14:50.
Utkin вне форума Ответить с цитированием
Старый 03.04.2015, 15:59   #6
Aiko_K
 
Регистрация: 03.04.2015
Сообщений: 7
По умолчанию

Спасибо большое
т.е. как я поняла объекты это Поезд, Локомотив и Вагон(3 класса).
На счет ассоциации Локомотив 1 (потому что,поезд имеет 1 локомотив(паровоз)), Вагонов 0..** (т.е. у поезда может быть или вовсе не быть вагонов). А вот для поезда какую ассоциацию поставить:
1- строго один объект связан с другим
0..**- ноль или более экземпляров
1..*- один или более
Aiko_K вне форума Ответить с цитированием
Старый 03.04.2015, 17:21   #7
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Вагон(3 класса).
Например - пассажирский, грузовой, цистерна.
Цитата:
На счет ассоциации Локомотив 1 (потому что,поезд имеет 1 локомотив(паровоз))
Вообще-то паровозов может быть 2. И для пассажирских это частая практика.
Цитата:
А вот для поезда какую ассоциацию поставить:
По отношению к подчиненным объектам поезд 1. А вообще поездов может быть сколько угодно. Зависит к кому Вы делаете связь поезда.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 03.04.2015, 20:03   #8
Aiko_K
 
Регистрация: 03.04.2015
Сообщений: 7
По умолчанию

можете посмотреть то,что составила, заранее спасибо
20150403_225419.jpg

Последний раз редактировалось Aiko_K; 03.04.2015 в 20:43.
Aiko_K вне форума Ответить с цитированием
Старый 03.04.2015, 21:05   #9
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Здесь не надо столько вагонов . Они же повторяют друг друга.
В списке не требуется длина поезда. Это длина списка. Список это класс который изначально содержит определенное количество методов и свойств, среди них есть свойство длина. Это свойство и будет показывать количество элементов (вагонов + локомотивы) в поезде.
Вот для примера ознакомтесь:
https://msdn.microsoft.com/ru-ru/lib...v=vs.100).aspx
и общее описание https://msdn.microsoft.com/ru-ru/lib...v=vs.100).aspx
О длине: https://msdn.microsoft.com/ru-ru/lib...v=vs.100).aspx
Также список содержит кучу методов такие как Add - добавление в поезд вагона/локомотива, Remove - удаление вагона из поезда.
По Вашей схеме я не понял принадлежит ли локомотив поезду .
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 05.04.2015, 09:55   #10
Aiko_K
 
Регистрация: 03.04.2015
Сообщений: 7
По умолчанию

т.е. классов будет четыре: Локомотив, вагон, поезд, лист(список). Класс поезд наследует от класса список.
кроме методов добавления(add) и удаления(remove), можно включить метод объединия(union) и вычисление показателей(calculation of indicators) поезда(ну по заданию)?
и еще эти методы будут объявлены только в классе Лист, или на всех четырех классах?
И еще на счет свойств: свойства класса Локомотив и класса Вагон оставляю как есть(т.е ничего добавлять или удалять не нужно из перечисленных свойств)?
И на счет свойств классов Поезд и Лист можете перечислить пожалуйста какие конкретно свойства должны быть в классе Поезд, и в классе Лист.(если вам не трудно можете их представить в виде диаграммы(рисунка)).
Aiko_K вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
UML и диаграмма последовательности lisica198808 Помощь студентам 3 23.06.2014 07:08
uml и диаграмма классов lisica198808 Помощь студентам 0 23.06.2014 01:26
UML-диаграмма последовательности carrie bradshaw Помощь студентам 0 27.04.2014 21:34
Диаграмма UML Ackles Помощь студентам 3 31.01.2014 01:15
Uml-диаграмма Protone1993 Помощь студентам 3 14.11.2012 23:40