|
Помогите декомпозировать систему с помошью UML
|
|||
---|---|---|---|
#18+
Имеется Автоматизированная Система, изображенная на рисунке. Как видно, она состоит из отдельных блоков (в реальности их больше, но для примера достаточно). Вопросы такие: 1) Каким образом перейти к созданию диаграммы классов, например каждый блок содержит как минимум классы пользовательского интерфейса и классы доступа к базе данных. Что, можно прямо создать декомпозицию этих блоков и врисовать туда классы ? 2) Система должна содержать некий администраторский модуль, с помощью которого можно манипулировать любыми данными системы (на случай ошибки пользователя или сбоя системы). Вообще, этот модуль должен иметь доступ ко всем блокам системы, соответственно в каком месте диаграммы он должен оказаться ? 3) Классы доступа к базе данных я думаю организовать в одной библиотеке (и в одном namespace'e), но для каждого модуля создать свой класс доступа, например DatabaseAccess.EnterpriseModule.CreateNewJob . Опять-таки, где это все рисовать на диаграмме, как и в случае с администраторским блоком, DatabaseAccess относиться ко всей системе целиком, и его нельзя впихнуть в конкретный блок. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2006, 15:43 |
|
Помогите декомпозировать систему с помошью UML
|
|||
---|---|---|---|
#18+
stenfИмеется Автоматизированная Система, изображенная на рисунке. Как видно, она состоит из отдельных блоков (в реальности их больше, но для примера достаточно). Вопросы такие: 1) Каким образом перейти к созданию диаграммы классов, например каждый блок содержит как минимум классы пользовательского интерфейса и классы доступа к базе данных. Что, можно прямо создать декомпозицию этих блоков и врисовать туда классы ? 2) Система должна содержать некий администраторский модуль, с помощью которого можно манипулировать любыми данными системы (на случай ошибки пользователя или сбоя системы). Вообще, этот модуль должен иметь доступ ко всем блокам системы, соответственно в каком месте диаграммы он должен оказаться ? 3) Классы доступа к базе данных я думаю организовать в одной библиотеке (и в одном namespace'e), но для каждого модуля создать свой класс доступа, например DatabaseAccess.EnterpriseModule.CreateNewJob . Опять-таки, где это все рисовать на диаграмме, как и в случае с администраторским блоком, DatabaseAccess относиться ко всей системе целиком, и его нельзя впихнуть в конкретный блок. Возможно вам покажеться полезной подход, изложенный в книге Лармана http://www.books.ru/shop/books/25832. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2006, 16:35 |
|
Помогите декомпозировать систему с помошью UML
|
|||
---|---|---|---|
#18+
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. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2006, 16:38 |
|
Помогите декомпозировать систему с помошью UML
|
|||
---|---|---|---|
#18+
stenf...1) Каким образом перейти к созданию диаграммы классов, например каждый блок содержит как минимум классы пользовательского интерфейса и классы доступа к базе данных. Что, можно прямо создать декомпозицию этих блоков и врисовать туда классы ?..... ООА - это инструментарий позволяющий найти сущности с которыми оперирует конечный пользователь а не Вы. И опираясь именно на это (!) насчупать те классы которые нужно реализовать. Это Вы сможете создатьтак называемый "бизнес слой". Дальше - больше, просто к пользовательским задачам добавляются задачи по ГУИ и доступу к "хранилищу" (в общем случае - это БД)... это очень кратко. Идти от искуственных понятий квадратик автоматизации и квадратик модуль - мона, но это будет решение Вашего мировосприятия а не заказчика... Пример... Если заказчик говорит каждая машина которая стоит на учёте у нас в гараже имеет 4 колеса которые необходимо постоянно контролировать на износ, пробег и другую чухню... Из данной информации видно, что заказчик оперирует такими понятиями как машина и колёса... Значит эти весчи просятся на сущности которые бум описывать посредством какого-либо языка ОО (не важно). и т.д.. Рекомендую заглянуть в Буча (одного из основателей Розы)... с уважением (круглый) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2006, 17:26 |
|
Помогите декомпозировать систему с помошью UML
|
|||
---|---|---|---|
#18+
скромные три копейки если вы хотите решать такие задачи в Visio (со всем своим уважением к этому продукту), то ответ на все эти вопросы можно будет дать только один- для начала смените среду моделирования (на, например, Рэшнл Роуз), сэкономите массу времени и получите массу готовых экземплов решения вашей задачи. ISBN 5-279-02440-6 вам в руки, ИМХО как раз по размеру. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2006, 20:31 |
|
Помогите декомпозировать систему с помошью UML
|
|||
---|---|---|---|
#18+
kolobok0 И опираясь именно на это (!) насчупать те классы которые нужно реализовать у меня не стоит проблема в идентификации классов, у меня проблема в правильном отображении их на UML диаграммах. То, что система распадается на подсистемы очевидно и мне и пользователям, но я не знаю, как правильно это все нарисовать. Вот есть namespaсe с классами доступа к базе, а где он должен оказаться на диаграмме ? Буча я читал, и книга мне крайне не понравилась, написана крайне тяжелым и академическим языком, читать невозможно, может он и хороший проектировщик языка, но книги писать не умеет, тут вот какого-то Лармана советуют, может его куплю, но диаграмму-то надо сейчас делать. вот и прошу помощи у тех, кто имеет какой-то опыт в построении подобных диаграмм ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2006, 20:56 |
|
Помогите декомпозировать систему с помошью UML
|
|||
---|---|---|---|
#18+
proposed amendment ISBN 5-279-02440-6 вам в руки, ИМХО как раз по размеру. ок, ее тоже поищу, но тем не менее, может кто-нибудь ответить на мои вопросы-то, ведь несложные-же для людей с опытом ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2006, 21:01 |
|
Помогите декомпозировать систему с помошью UML
|
|||
---|---|---|---|
#18+
Несколько копеек из опыта. Традиционно АС делят на прикладную и общесистемную часть (ядро, движок). ИМХО, административная часть также является приложением, использующим ядро. На многих диаграммах у Вас очевидно будут и "собственные" и "чужие" классы. Можно ввести цветовое кодирование принадлежности. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2006, 11:03 |
|
Помогите декомпозировать систему с помошью UML
|
|||
---|---|---|---|
#18+
stenf у меня не стоит проблема в идентификации классов, у меня проблема в правильном отображении их на UML диаграммах. То, что система распадается на подсистемы очевидно и мне и пользователям, но я не знаю, как правильно это все нарисовать. Вот есть namespaсe с классами доступа к базе, а где он должен оказаться на диаграмме ? Если вы идентифицировали классы, то просто возьмите и нарисуйте их на диаграмме классов ... и соотнесите с вашими "подсистемами". В чем тут проблема? Второй момент ... вряди при таком подходе к разбиению системы UML вам поможет. Эффективнее использовать UML, когда система разбивается на слои (layers) -- GUI, Бизнес-логика, Persistance, ... . Иначе, ваши модули будут "пересекаться по данным", что есть признак плохого дизайна. stenf Буча я читал, и книга мне крайне не понравилась, написана крайне тяжелым и академическим языком, читать невозможно, может он и хороший проектировщик языка, но книги писать не умеет, тут вот какого-то Лармана советуют, может его куплю, но диаграмму-то надо сейчас делать. вот и прошу помощи у тех, кто имеет какой-то опыт в построении подобных диаграмм Возможно вам следует бросить затею с использованием UML. Есть вероятность, что вы попробуете, а потом вы всем будете говорить, что "я попробовал UML -- все это ерунда". Эффективное использование UML требует ясного понимания методологической части и целей использования. Если цель (вообще, безотностиельно конкретно вашего случая) -- просто пофинтовать перед пользователями, которые в UML и в др. нотациях ничего не смыслят -- это самая плохая мотивация для применения UML. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2006, 14:49 |
|
Помогите декомпозировать систему с помошью UML
|
|||
---|---|---|---|
#18+
byur Если вы идентифицировали классы, то просто возьмите и нарисуйте их на диаграмме классов ... и соотнесите с вашими "подсистемами". В чем тут проблема? Проблема в том, что классы (эти самые слои классов доступа к базе, GUI) являют собой малость оторванную сущность от бизнес-подсистем, на которые распадается АС. Т.е. имеется например класс доступа к базе данных с названием "Заказы". Понятно, что этот класс будет использоваться в нескольких подсистемах сразу (в экономическом модуле и в производственном). Но не могу-же я его изобразить в нескольких местах сразу. Потому и задал вопрос, каким образом соотнести диаграммы бизнес-подсистем и реальных классов системы. Или получается, что это как-бы оторванные понятия в UML и особо между собой не коррелируют ? byur Возможно вам следует бросить затею с использованием UML. Есть вероятность, что вы попробуете, а потом вы всем будете говорить, что "я попробовал UML -- все это ерунда". Эффективное использование UML требует ясного понимания методологической части и целей использования. Если цель (вообще, безотностиельно конкретно вашего случая) -- просто пофинтовать перед пользователями, которые в UML и в др. нотациях ничего не смыслят -- это самая плохая мотивация для применения UML ИМХО, смелое заявление, особенно учитывая что вы не знаете меня и не знаете, собираюсь-ли я пофинтовать или использовать это в работе. Понимание методологической части обратно пропорционально качеству, с каким авторы ее излагают в книжках. Возьмите того-же Макконнелла, его читать не только легко, но даже захватывающе, хотя пишет он там о науке проектирования, а не о любовном романе. А в книге Буча, когда натыкаешся например на : Booch "Взаимодействием называется поведение, выражающееся в обмене сообщениями между множеством объектов в некотором контексте, в результате чего достигается определенная цель. Сообщение - это спецификация обмена данными между объектами, при котором передается некая информация в расчете на то, что в ответ последует определенное действие" хочется закрыть книжку и пойти поспать ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2006, 16:16 |
|
Помогите декомпозировать систему с помошью UML
|
|||
---|---|---|---|
#18+
По поводу "Проблема в том, что классы (эти самые слои классов доступа к базе, GUI) являют собой малость оторванную сущность от бизнес-подсистем, на которые распадается АС. Т.е. имеется например класс доступа к базе данных с названием "Заказы". Понятно, что этот класс будет использоваться в нескольких подсистемах сразу (в экономическом модуле и в производственном). Но не могу-же я его изобразить в нескольких местах сразу. Потому и задал вопрос, каким образом соотнести диаграммы бизнес-подсистем и реальных классов системы. Или получается, что это как-бы оторванные понятия в UML и особо между собой не коррелируют ?" рекомендую почитать документацию RUP в части перевода Business UseCase в UseCase. А почему не можете изобразить?Места жалко?Берете, например, если в PowerDesigner делаете диаграммы графический синоним и размещаете... Как вариант поместите класс "Заказы" в пакета "Работа с заказами"-с точки зрения бизнеса это нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2006, 16:36 |
|
Помогите декомпозировать систему с помошью UML
|
|||
---|---|---|---|
#18+
ShtockА почему не можете изобразить?Места жалко?Берете, например, если в PowerDesigner делаете диаграммы графический синоним и размещаете... Как вариант поместите класс "Заказы" в пакета "Работа с заказами"-с точки зрения бизнеса это нормально. нет не жалко, просто что-то не приходило в голову, что так и делают. А что такое RUP ? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2006, 19:02 |
|
Помогите декомпозировать систему с помошью UML
|
|||
---|---|---|---|
#18+
stenf ... Потому и задал вопрос, каким образом соотнести диаграммы бизнес-подсистем и реальных классов системы. Или получается, что это как-бы оторванные понятия в UML и особо между собой не коррелируют ? Цитата из вашего вопроса "Каким образом перейти к созданию диаграммы классов ". Еще цитата "у меня не стоит проблема в идентификации классов, у меня проблема в правильном отображении их на UML диаграммах. То, что система распадается на подсистемы очевидно и мне и пользователям, но я не знаю, как правильно это все нарисовать" Честно, про СООТНЕСЕНИЕ, ни слова не увидел ... stenf ИМХО, смелое заявление, особенно учитывая что вы не знаете меня и не знаете, собираюсь-ли я пофинтовать или использовать это в работе. Заявление делается исходя из того, как задан вопрос, и как высказано отношение к предложению сначала изучить методологически вещи ... Кроме этого я явно указал что "финты" не отождествляются конкретно с вашим случаем. Это явно указано в скобках, я думаю, что вы это заметили, не так ли? stenf Понимание методологической части обратно пропорционально качеству, с каким авторы ее излагают в книжках. Возьмите того-же Макконнелла, его читать не только легко, но даже захватывающе, хотя пишет он там о науке проектирования, а не о любовном романе. А в книге Буча, когда натыкаешся например на : ... хочется закрыть книжку и пойти поспать Вы делаете такой вывод на основании 2-х озвученных вами книг? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2006, 15:06 |
|
Помогите декомпозировать систему с помошью UML
|
|||
---|---|---|---|
#18+
[quot stenf А что такое RUP ? [/quot] Хороший вопрос. RUP -- это методология (точнее методологический framework, если так можно выразиться) разработки преимущественно программных систем, базирующаяся на ООАП. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2006, 15:09 |
|
|
start [/forum/topic.php?fid=33&fpage=59&tid=1549379]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 147ms |
0 / 0 |