Форум Сообщества Аналитиков

Общий раздел => Примеры => Задачи студентов => Тема начата: mafin от 28 Апреля 2011, 13:01:29

Название: Выручайте студента!!!
Отправлено: mafin от 28 Апреля 2011, 13:01:29
Ребят, зарегистрировался здесь чтобы просить вашей помощи! :D
По программированию в ВУЗе проходим язык UML. Задание мое такое (база ГИБДД):
Требуется автоматизировать работу районного отдела ГИБДД.
Пользователи, работающие с системой: Оператор (сотрудник ГИБДД).
Разрабатываемая система должна:
-вести учет водителей и транспортных средств, зарегистрированных на территории района (добавлять и удалять водителей и транспортные средства, осуществлять поиск водителей (по фамилии) и транспортных средств (по марке автомобиля и государственному регистрационному знаку));
-вести учет угнанных транспортных средств;
-вести учет сведений о прохождении технического осмотра транспортных средств и сведений о правонарушениях водителями;
-предоставлять Оператору следующие отчеты:


Вот такая история.. Прилагаю мою горе-схему (диаграмма классов и диаграмма последовательностей). Реализовал 3 класса - класс ГИБДД (основной), класс водителей, класс транспортных средств (ТС). Далее для отчетов Оператору мне нужны 5 диаграмм последовательностей. Первую я сделал, а вот со второй начались проблемы (список угнанных за период авто). Препод говорит, нужен еще один класс угнанных авто, я его создал, но не могу додумать. Его надо связать с классом транспортных средств (C_ТС), ссылку как-то сделать, там должны быть как я понял даты угона и возврата авто (если вернули). Но это у меня сделать не получается. Народ, помогите закончить этот проект, пожалуйста, очень надо! а то экзамен не сдам) Если это хлопотно, обсудим и цену вопроса)
Название: Re: Выручайте студента!!!
Отправлено: mafin от 28 Апреля 2011, 13:02:32
диаграмма последовательностей
Название: Re: Выручайте студента!!!
Отправлено: IAFedorov от 28 Апреля 2011, 15:10:17
Препод говорит, нужен еще один класс угнанных авто, я его создал, но не могу додумать. Его надо связать с классом транспортных средств (C_ТС), ссылку как-то сделать, там должны быть как я понял даты угона и возврата авто (если вернули)
В вашем примере некорректно представлена предметная область.
Машины регистрируются на владельцев, не обязательно что владелец это водитель.
Водитель управляет авто, и в ГИБДД нет сведений о том какой водитель каким авто управляет.
Если вы реализуете более правильную "модель" и представите её преподавателю это возможно будет плюс.

Рекомендую сначала доработать диаграмму классов и только потом переходить к диаграмме последовательностей.

Скачайте и становите нормальную UML рисовалку, например VisualParadigm (есть бесплатная версия с урезанным функционалом).

В классе Авто нужно предусмотреть УникальныйКодТС(в жизни это VIN код он теоретически уникальный), возможно что у вас это атрибут Номер, но тогда должно быть ограничение на уникальность номера для объектов этого класса.
В классе угнаных ТС атрибут УникальныйКодТС. Таким образом вы обеспечите связь между объектами классов.
Учет нарушений и учет прохождений ТО это тоже отдельные классы.
Атрибут нарушения в таблице C_Водитель - не понятно зачем. Должен быть отдельный класс нарушения, связанный отношением ассоциации с водителем многие к одному (один водитель может иметь несколько нарушений).
Аналогично, атрибут УникальныйКодАвто будет и в других классах в которых будете реализовывать учет прохождения ТС техосмотра, учет нарушений водителей (нарушения связаны как с водителями так и с ТО на котором оно совершено).
Название: Re: Выручайте студента!!!
Отправлено: mafin от 28 Апреля 2011, 15:26:14
DinamoYA, спасибо вам большое! Попробую реализовать все это на практике, но не уверен в правильности результата. На всякий случай, далеко не уходите) прочтите еще раз эту ветку, у меня просто вопросы могут возникнуть наверняка.. А так если что сколько будет стоить это полностью завершенный проект?) плачу Webmoney.
Название: Re: Выручайте студента!!!
Отправлено: Elf от 28 Апреля 2011, 15:33:33
DinamoYA, спасибо вам большое! Попробую реализовать все это на практике, но не уверен в правильности результата. На всякий случай, далеко не уходите) прочтите еще раз эту ветку, у меня просто вопросы могут возникнуть наверняка.. А так если что сколько будет стоить это полностью завершенный проект?) плачу Webmoney.
Грамотный подход!
Название: Re: Выручайте студента!!!
Отправлено: darco от 28 Апреля 2011, 15:35:50
Богатые студенты нынче пошли!
В мои времена приходилось работать самому...
Название: Re: Выручайте студента!!!
Отправлено: IAFedorov от 28 Апреля 2011, 16:47:16
диаграмма последовательностей
Не очень понятно почему вы решили рисовать диаграмму последовательностей? Это требование задания?
Возможно имеет смысл нарисовать диаграммы деятельности в более общем виде с использование "плавательных дорожек".

Если все таки диаграмма последовательности обязательна то конкретики пока не дам поскольку сначала нужна диаграмма классов. Рекомендую все таки разные диаграммы делать не на одном листе, а по одному листу на одну диаграмму и также дать комментарий какая из последовательностей какой процесс описывает.
Название: Re: Выручайте студента!!!
Отправлено: mafin от 28 Апреля 2011, 17:24:56
Не очень понятно почему вы решили рисовать диаграмму последовательностей? Это требование задания?
Возможно имеет смысл нарисовать диаграммы деятельности в более общем виде с использование "плавательных дорожек".

Если все таки диаграмма последовательности обязательна то конкретики пока не дам поскольку сначала нужна диаграмма классов. Рекомендую все таки разные диаграммы делать не на одном листе, а по одному листу на одну диаграмму и также дать комментарий какая из последовательностей какой процесс описывает.

Да, диаграмма последовательностей - обязательное задание. Хорошо, сегодня ближе к ночи что-нибудь состряпаю, выложу сюда вам на проверку))
Название: Re: Выручайте студента!!!
Отправлено: mafin от 28 Апреля 2011, 19:29:01
DinamoYA! А учет о прохождении ТО и учет сведений о правонарушениях как и с какими классами должны быть связаны?
Название: Re: Выручайте студента!!!
Отправлено: mafin от 28 Апреля 2011, 20:57:17
Вот с классами (вроде бы) разобрался более менее..
С последовательностями теперь вообще запутался.. посмотрите классы, может скажете что в последовательностях надо изменить/добавить или вообще переделать..
Название: Re: Выручайте студента!!!
Отправлено: mafin от 28 Апреля 2011, 21:17:49
список зарегистрированных водителей
Название: Re: Выручайте студента!!!
Отправлено: mafin от 28 Апреля 2011, 21:19:23
список угнанных за период ТС
Название: Re: Выручайте студента!!!
Отправлено: mafin от 28 Апреля 2011, 21:20:53
список числящихся в угоне ТС
Название: Re: Выручайте студента!!!
Отправлено: mafin от 28 Апреля 2011, 21:21:42
список ТС, не прошедших ТО
Название: Re: Выручайте студента!!!
Отправлено: mafin от 28 Апреля 2011, 21:22:38
список водителей с истекшим сроком действия прав
Название: Re: Выручайте студента!!!
Отправлено: Elf от 28 Апреля 2011, 22:18:22
классов должно быть 4 :Владелец, ТС, ТО, Правонарушения.
Владелец может иметь множественную связь к ТС. ТС только одну к Владельцу. Ну так по остальным классам. Дочерний класс можно сделать и для угнанных авто. Но смотря какую информацию нужно хранить. В данном случае я бы не делала.
Название: Re: Выручайте студента!!!
Отправлено: mafin от 29 Апреля 2011, 20:43:14
Спасибо, а может кто еще что по последовательностям скажет??
Название: Re: Выручайте студента!!!
Отправлено: mafin от 29 Апреля 2011, 21:03:35
И как тогда быть с угнанными авто??
Название: Re: Выручайте студента!!!
Отправлено: IAFedorov от 16 Мая 2011, 13:28:49
И как тогда быть с угнанными авто??
В принципе угнанные авто это характеристика ТС изменяемая во времени
По идее можно реализовать через атрибуты класса ТС: ДатаСообщенияОбУгоне, Угнан, ДатаУгона,  и т.п. Если достаточно только текущего состояния "угнан" - "не угнан", то достаточно атрибутов в классе ТС и метода который будет возвращать отчет по угнанным.
Но если представить ситуацию более широко то один и тот же ТС за свою жизнь может быть угнан несколько раз, то для необходимо отдельная сущность предназначенная для учета фактов угона и возврата угнанных ТС. Через методы такого класса можно будет организовать формирование отчетов, вывод списков угнанных  и т.п.
Название: Re: Выручайте студента!!!
Отправлено: Denis Beskov от 16 Мая 2011, 20:48:28
И как тогда быть с угнанными авто??
по-хорошему — вернуть бы надо.