Моделирование системы после определения варианта использования UML

StackOverflow https://stackoverflow.com/questions/806515

Вопрос

..что будет дальше?

После того, как вы определили, какие актеры какие действия совершают, каким путем вы идете?Вы моделируете базу данных или предпочитаете начать с классов?

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

Я читал о людях, говорящих, что следует поместить логику приложения в базу данных и использовать ее скорость при извлечении данных, в отличие от создания больших объектов в памяти, которые запрашиваются и обеспечивают абстракцию базовой базы данных.Я всегда думал, что база данных предназначена для хранения моих данных и обеспечения быстрого доступа к ним.Но, возможно, я ошибаюсь, я имею в виду, действительно ли мне нужно создавать базу данных, которая имеет внутри ту же логику, которую я бы применил к группе классов?Разве в базе данных не хватает инструментов для достижения этой цели?

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

Как вы справляетесь с этим?Когда дело доходит до принятия решения о том, начинать ли с моделирования базы данных или классов, по вашему опыту, какой подход, как оказалось, приводит к естественной и чистой реализации ?

Заранее благодарю

Это было полезно?

Решение

Я добился успеха, используя Анализ надежности.

Данная статья посвящена надежности анализ, который предполагает анализ повествовательный текст примеры использования и определение первой-думаю набора объекты, которые будут участвовать в каждом вариант использования, а затем классифицировать эти объекты делятся на три типа:

  1. Граничные объекты, которые акторы используют при взаимодействии с системой.
  2. Объекты сущностей, которые обычно являются объектами из модели предметной области (тема "Движущий дизайн: Проблемная область", январь.2001).
  3. Управляющие объекты (которые мы обычно называем контроллерами, потому что они часто не являются реальными объектами), которые служат "связующим звеном" между граничными объектами и объектами сущностей.Рисунок 1 показывает визуальные значки для этих трех типов объектов.

Объекты entity - это те, которые (обычно) попадают в базу данных/

Что касается сопоставления между классами и базой данных, я бы рекомендовал Статья С.Лотта "Проблема ORM" (он также является участником StackOverflow

Другие советы

Если вы используете разработку, основанную на тестировании, сначала напишите свои модульные тесты.Ваши занятия будут описаны по ходу дела.

Вы можете разработать свою бизнес-логику без базы данных (макетные объекты или заглушки) или разрабатывать свою базу данных по мере выполнения тестов.

Помните, что ваша база данных и модель предметной области не должны совпадать друг с другом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top