Сначала я опишу свою заявку и то, что вы можете с ней сделать, затем я покажу вам технические отношения между моими сущностями, в конце концов, встает вопрос, конечно.
Рабочий процесс моих приложений:
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, которые одинаковы для каждого шаблона, а значит и для каждого плана тестирования.