ER: диаграмма отношений объекта - PullRequest
0 голосов
/ 24 января 2012

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

Рабочий процесс моих приложений:

1.) Пользователь может создать объект «ReleaseVersion» и присвоить ему имя, например «MyApp_v7.5.0.132».2.) Для этого ReleaseVersion он создаст шаблон с именем, подобным «BookingTest», который состоит из множества объектов OrganisationUnit (иерархическая структура), где у каждого OrganisationUnit может быть много объектов TemplateTeststep.

3.) Объект TemplateTeststepсостоит из следующих полей:

 a) PreCondition
 b) Teststep
 c) ExpectedResult

4.) После создания объекта Template он создает объект Testplan на основе ранее созданного Template.5.) План тестирования СЛЕДУЕТ отображать в пользовательском интерфейсе те же самые OrganisationUnits, но вместо объектов TempalteTeststep мне нужно отобразить дополнительные поля, которые связаны ТОЛЬКО с планом тестирования с именем:

 d) Error/Exception
 e) TestStatus

Таким образом, в плане тестирования есть TreeView OrganisationUnit и DataGrid с 5 полями a, b, c, d, e.

5.) Когда я нажимаю кнопку «Сохранить план тестирования», поля a, b, c обновляются полями, принадлежащими шаблону.Когда я нажимаю кнопку «Сохранить план тестирования», в поля d и e добавляются поля, принадлежащие XXX.

Неизвестный компонент - XXX.Я уже думал о таблице с именем «TestplanTeststep» с 2 полями.

Но с какой другой таблицей это должно быть связано?

Прежде всего я должен быть очень осторожен, что TemplateTeststep и TestplanTeststep имеют тот же идентификатор, когда я сохраняю их в базу данных и извлекаю их в следующий раз, когда я смогу перепутать данные.

То есть отношение сущности "описание", так чтоfar:

1 ReleaseVersion имеет N Testplan (что мне подходит, потому что Testplan действителен только для определенного ReleaseVersion)

N Testplan имеет M Unit (здесь что-то не так)

1 Устройство имеет N TestplanTeststep (здесь что-то не так)

1 Шаблон имеет N Testplan (это мне кажется правильным, потому что Testplan не может принадлежать другому шаблону, после его создания он не используется ни в каком другом контексте, как просто откройте его)

1 Шаблон имеет N Единицу (что кажется правильнымдля меня, потому что определенный UnitIdне может использоваться в другом шаблоне, в этом нет необходимости, каждый шаблон имеет свое собственное дерево / данные OrganisationUnit)

1 Единица имеет N TemplateTeststep (что мне кажется правильным, потому что эти 3 поляa, b, c относятся к определенному UnitId, и в TreeView загружены только организационные единицы, связанные с шаблоном плана тестирования)

Последний вопрос:

Что необходимо сделать в моей сущностиОтношения, которые имеют смысл?

Глупая вещь - это разделение TemplateTeststep и TestplanTeststep, потому что они могут быть ОДНЫМ объектом или ОДНОЙ таблицей.Но тогда я бы сохранил много повторяющихся данных с полями a, b, c, которые одинаковы для каждого шаблона, а значит и для каждого плана тестирования.

1 Ответ

0 голосов
/ 25 января 2012

Основной вопрос, который я вижу здесь: если у каждого шаблона есть TemplateTeststeps, но каждый из них также может быть частью TestPlan, как мы можем отслеживать результаты? Похоже, вы рассматриваете возможность предоставления каждому TestPlan копии этих TestSteps с дополнительными полями результатов, но это не тот путь.

Я бы справился с этим с помощью таблицы «многие ко многим» (внешние ключи для TestPlan и TemplateTeststep), которая также содержит эти дополнительные поля результатов (Error и TestStatus). Таким образом, вы не дублируете информацию о шаге теста (поля a-c), но у вас есть возможность поместить каждый из этих шагов во многие TestPlans и записать их результаты.

...