powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Помогите декомпозировать систему с помошью UML
14 сообщений из 14, страница 1 из 1
Помогите декомпозировать систему с помошью UML
    #33769143
stenf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется Автоматизированная Система, изображенная на рисунке. Как видно, она состоит из отдельных блоков (в реальности их больше, но для примера достаточно).

Вопросы такие:

1) Каким образом перейти к созданию диаграммы классов, например каждый блок содержит как минимум классы пользовательского интерфейса и классы доступа к базе данных. Что, можно прямо создать декомпозицию этих блоков и врисовать туда классы ?

2) Система должна содержать некий администраторский модуль, с помощью которого можно манипулировать любыми данными системы (на случай ошибки пользователя или сбоя системы). Вообще, этот модуль должен иметь доступ ко всем блокам системы, соответственно в каком месте диаграммы он должен оказаться ?

3) Классы доступа к базе данных я думаю организовать в одной библиотеке (и в одном namespace'e), но для каждого модуля создать свой класс доступа, например DatabaseAccess.EnterpriseModule.CreateNewJob . Опять-таки, где это все рисовать на диаграмме, как и в случае с администраторским блоком, DatabaseAccess относиться ко всей системе целиком, и его нельзя впихнуть в конкретный блок.
...
Рейтинг: 0 / 0
Помогите декомпозировать систему с помошью UML
    #33769455
Фотография byur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenfИмеется Автоматизированная Система, изображенная на рисунке. Как видно, она состоит из отдельных блоков (в реальности их больше, но для примера достаточно).

Вопросы такие:

1) Каким образом перейти к созданию диаграммы классов, например каждый блок содержит как минимум классы пользовательского интерфейса и классы доступа к базе данных. Что, можно прямо создать декомпозицию этих блоков и врисовать туда классы ?

2) Система должна содержать некий администраторский модуль, с помощью которого можно манипулировать любыми данными системы (на случай ошибки пользователя или сбоя системы). Вообще, этот модуль должен иметь доступ ко всем блокам системы, соответственно в каком месте диаграммы он должен оказаться ?

3) Классы доступа к базе данных я думаю организовать в одной библиотеке (и в одном namespace'e), но для каждого модуля создать свой класс доступа, например DatabaseAccess.EnterpriseModule.CreateNewJob . Опять-таки, где это все рисовать на диаграмме, как и в случае с администраторским блоком, DatabaseAccess относиться ко всей системе целиком, и его нельзя впихнуть в конкретный блок.

Возможно вам покажеться полезной подход, изложенный в книге Лармана http://www.books.ru/shop/books/25832.
...
Рейтинг: 0 / 0
Помогите декомпозировать систему с помошью UML
    #33769479
Фотография byur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
byur stenfИмеется Автоматизированная Система, изображенная на рисунке. Как видно, она состоит из отдельных блоков (в реальности их больше, но для примера достаточно).

Вопросы такие:

1) Каким образом перейти к созданию диаграммы классов, например каждый блок содержит как минимум классы пользовательского интерфейса и классы доступа к базе данных. Что, можно прямо создать декомпозицию этих блоков и врисовать туда классы ?

2) Система должна содержать некий администраторский модуль, с помощью которого можно манипулировать любыми данными системы (на случай ошибки пользователя или сбоя системы). Вообще, этот модуль должен иметь доступ ко всем блокам системы, соответственно в каком месте диаграммы он должен оказаться ?

3) Классы доступа к базе данных я думаю организовать в одной библиотеке (и в одном namespace'e), но для каждого модуля создать свой класс доступа, например DatabaseAccess.EnterpriseModule.CreateNewJob . Опять-таки, где это все рисовать на диаграмме, как и в случае с администраторским блоком, DatabaseAccess относиться ко всей системе целиком, и его нельзя впихнуть в конкретный блок.

Возможно вам покажеться полезной подход, изложенный в книге Лармана http://www.books.ru/shop/books/25832.

Сорри за опечатки и несогласованность падежей ..., следует читать так:
Возможно вам покажется интересным подход, изложенный в книге Лармана http://www.books.ru/shop/books/25832.
...
Рейтинг: 0 / 0
Помогите декомпозировать систему с помошью UML
    #33769667
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenf...1) Каким образом перейти к созданию диаграммы классов, например каждый блок содержит как минимум классы пользовательского интерфейса и классы доступа к базе данных. Что, можно прямо создать декомпозицию этих блоков и врисовать туда классы ?.....

ООА - это инструментарий позволяющий найти сущности с которыми оперирует конечный пользователь а не Вы. И опираясь именно на это (!) насчупать те классы которые нужно реализовать. Это Вы сможете создатьтак называемый "бизнес слой". Дальше - больше, просто к пользовательским задачам добавляются задачи по ГУИ и доступу к "хранилищу" (в общем случае - это БД)... это очень кратко. Идти от искуственных понятий квадратик автоматизации и квадратик модуль - мона, но это будет решение Вашего мировосприятия а не заказчика...

Пример...
Если заказчик говорит каждая машина которая стоит на учёте у нас в гараже имеет 4 колеса которые необходимо постоянно контролировать на износ, пробег и другую чухню... Из данной информации видно, что заказчик оперирует такими понятиями как машина и колёса... Значит эти весчи просятся на сущности которые бум описывать посредством какого-либо языка ОО (не важно). и т.д..

Рекомендую заглянуть в Буча (одного из основателей Розы)...

с уважением
(круглый)
...
Рейтинг: 0 / 0
Помогите декомпозировать систему с помошью UML
    #33770032
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скромные три копейки

если вы хотите решать такие задачи в Visio (со всем своим уважением к этому продукту), то ответ на все эти вопросы можно будет дать только один-


для начала смените среду моделирования (на, например, Рэшнл Роуз), сэкономите массу времени и получите массу готовых экземплов решения вашей задачи.

ISBN 5-279-02440-6 вам в руки, ИМХО как раз по размеру.
...
Рейтинг: 0 / 0
Помогите декомпозировать систему с помошью UML
    #33770054
stenf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kolobok0
И опираясь именно на это (!) насчупать те классы которые нужно реализовать

у меня не стоит проблема в идентификации классов, у меня проблема в правильном отображении их на UML диаграммах. То, что система распадается на подсистемы очевидно и мне и пользователям, но я не знаю, как правильно это все нарисовать. Вот есть namespaсe с классами доступа к базе, а где он должен оказаться на диаграмме ?

Буча я читал, и книга мне крайне не понравилась, написана крайне тяжелым и академическим языком, читать невозможно, может он и хороший проектировщик языка, но книги писать не умеет, тут вот какого-то Лармана советуют, может его куплю, но диаграмму-то надо сейчас делать. вот и прошу помощи у тех, кто имеет какой-то опыт в построении подобных диаграмм
...
Рейтинг: 0 / 0
Помогите декомпозировать систему с помошью UML
    #33770060
stenf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
proposed amendment
ISBN 5-279-02440-6 вам в руки, ИМХО как раз по размеру.

ок, ее тоже поищу, но тем не менее, может кто-нибудь ответить на мои вопросы-то, ведь несложные-же для людей с опытом
...
Рейтинг: 0 / 0
Помогите декомпозировать систему с помошью UML
    #33771744
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Несколько копеек из опыта.

Традиционно АС делят на прикладную и общесистемную часть (ядро, движок).

ИМХО, административная часть также является приложением, использующим ядро.

На многих диаграммах у Вас очевидно будут и "собственные" и "чужие" классы. Можно ввести цветовое кодирование принадлежности.
...
Рейтинг: 0 / 0
Помогите декомпозировать систему с помошью UML
    #33777928
Фотография byur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenf
у меня не стоит проблема в идентификации классов, у меня проблема в правильном отображении их на UML диаграммах. То, что система распадается на подсистемы очевидно и мне и пользователям, но я не знаю, как правильно это все нарисовать. Вот есть namespaсe с классами доступа к базе, а где он должен оказаться на диаграмме ?


Если вы идентифицировали классы, то просто возьмите и нарисуйте их на диаграмме классов ... и соотнесите с вашими "подсистемами". В чем тут проблема?
Второй момент ... вряди при таком подходе к разбиению системы UML вам поможет. Эффективнее использовать UML, когда система разбивается на слои (layers) -- GUI, Бизнес-логика, Persistance, ... . Иначе, ваши модули будут "пересекаться по данным", что есть признак плохого дизайна.

stenf
Буча я читал, и книга мне крайне не понравилась, написана крайне тяжелым и академическим языком, читать невозможно, может он и хороший проектировщик языка, но книги писать не умеет, тут вот какого-то Лармана советуют, может его куплю, но диаграмму-то надо сейчас делать. вот и прошу помощи у тех, кто имеет какой-то опыт в построении подобных диаграмм

Возможно вам следует бросить затею с использованием UML. Есть вероятность, что вы попробуете, а потом вы всем будете говорить, что "я попробовал UML -- все это ерунда". Эффективное использование UML требует ясного понимания методологической части и целей использования. Если цель (вообще, безотностиельно конкретно вашего случая) -- просто пофинтовать перед пользователями, которые в UML и в др. нотациях ничего не смыслят -- это самая плохая мотивация для применения UML.
...
Рейтинг: 0 / 0
Помогите декомпозировать систему с помошью UML
    #33778220
stenf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
byur
Если вы идентифицировали классы, то просто возьмите и нарисуйте их на диаграмме классов ... и соотнесите с вашими "подсистемами". В чем тут проблема?

Проблема в том, что классы (эти самые слои классов доступа к базе, GUI) являют собой малость оторванную сущность от бизнес-подсистем, на которые распадается АС.
Т.е. имеется например класс доступа к базе данных с названием "Заказы". Понятно, что этот класс будет использоваться в нескольких подсистемах сразу (в экономическом модуле и в производственном). Но не могу-же я его изобразить в нескольких местах сразу. Потому и задал вопрос, каким образом соотнести диаграммы бизнес-подсистем и реальных классов системы. Или получается, что это как-бы оторванные понятия в UML и особо между собой не коррелируют ?
byur
Возможно вам следует бросить затею с использованием UML. Есть вероятность, что вы попробуете, а потом вы всем будете говорить, что "я попробовал UML -- все это ерунда". Эффективное использование UML требует ясного понимания методологической части и целей использования. Если цель (вообще, безотностиельно конкретно вашего случая) -- просто пофинтовать перед пользователями, которые в UML и в др. нотациях ничего не смыслят -- это самая плохая мотивация для применения UML

ИМХО, смелое заявление, особенно учитывая что вы не знаете меня и не знаете, собираюсь-ли я пофинтовать или использовать это в работе.

Понимание методологической части обратно пропорционально качеству, с каким авторы ее излагают в книжках. Возьмите того-же Макконнелла, его читать не только легко, но даже захватывающе, хотя пишет он там о науке проектирования, а не о любовном романе.
А в книге Буча, когда натыкаешся например на :
Booch
"Взаимодействием называется поведение, выражающееся в обмене сообщениями между множеством объектов в некотором контексте, в результате чего достигается определенная цель. Сообщение - это спецификация обмена данными между объектами, при котором передается некая информация в расчете на то, что в ответ последует определенное действие"

хочется закрыть книжку и пойти поспать
...
Рейтинг: 0 / 0
Помогите декомпозировать систему с помошью UML
    #33778289
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу

"Проблема в том, что классы (эти самые слои классов доступа к базе, GUI) являют собой малость оторванную сущность от бизнес-подсистем, на которые распадается АС.
Т.е. имеется например класс доступа к базе данных с названием "Заказы". Понятно, что этот класс будет использоваться в нескольких подсистемах сразу (в экономическом модуле и в производственном). Но не могу-же я его изобразить в нескольких местах сразу. Потому и задал вопрос, каким образом соотнести диаграммы бизнес-подсистем и реальных классов системы. Или получается, что это как-бы оторванные понятия в UML и особо между собой не коррелируют ?"

рекомендую почитать документацию RUP в части перевода Business UseCase в UseCase.
А почему не можете изобразить?Места жалко?Берете, например, если в PowerDesigner делаете диаграммы графический синоним и размещаете...
Как вариант поместите класс "Заказы" в пакета "Работа с заказами"-с точки зрения бизнеса это нормально.
...
Рейтинг: 0 / 0
Помогите декомпозировать систему с помошью UML
    #33778817
stenf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShtockА почему не можете изобразить?Места жалко?Берете, например, если в PowerDesigner делаете диаграммы графический синоним и размещаете...
Как вариант поместите класс "Заказы" в пакета "Работа с заказами"-с точки зрения бизнеса это нормально.
нет не жалко, просто что-то не приходило в голову, что так и делают.

А что такое RUP ?
...
Рейтинг: 0 / 0
Помогите декомпозировать систему с помошью UML
    #33780840
Фотография byur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenf ... Потому и задал вопрос, каким образом соотнести диаграммы бизнес-подсистем и реальных классов системы. Или получается, что это как-бы оторванные понятия в UML и особо между собой не коррелируют ?


Цитата из вашего вопроса "Каким образом перейти к созданию диаграммы классов ".
Еще цитата "у меня не стоит проблема в идентификации классов, у меня проблема в правильном отображении их на UML диаграммах. То, что система распадается на подсистемы очевидно и мне и пользователям, но я не знаю, как правильно это все нарисовать"

Честно, про СООТНЕСЕНИЕ, ни слова не увидел ...

stenf
ИМХО, смелое заявление, особенно учитывая что вы не знаете меня и не знаете, собираюсь-ли я пофинтовать или использовать это в работе.


Заявление делается исходя из того, как задан вопрос, и как высказано отношение к предложению сначала изучить методологически вещи ... Кроме этого я явно указал что "финты" не отождествляются конкретно с вашим случаем. Это явно указано в скобках, я думаю, что вы это заметили, не так ли?

stenf
Понимание методологической части обратно пропорционально качеству, с каким авторы ее излагают в книжках. Возьмите того-же Макконнелла, его читать не только легко, но даже захватывающе, хотя пишет он там о науке проектирования, а не о любовном романе.
А в книге Буча, когда натыкаешся например на : ...
хочется закрыть книжку и пойти поспать

Вы делаете такой вывод на основании 2-х озвученных вами книг?
...
Рейтинг: 0 / 0
Помогите декомпозировать систему с помошью UML
    #33780854
Фотография byur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot stenf
А что такое RUP ?
[/quot]

Хороший вопрос. RUP -- это методология (точнее методологический framework, если так можно выразиться) разработки преимущественно программных систем, базирующаяся на ООАП.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Помогите декомпозировать систему с помошью UML
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]