Given the following UML diagram and relation scheme. Model the enterprise as JPA entity classes.
Posted: Sun May 15, 2022 12:33 pm
Given the following UML diagram and relation scheme. Model the
enterprise as JPA entity classes.
Feature 1. * 1..* + name: string I will not penalize you for putting empty association classes here, though you technically should only include them if they have an attribute or are used in another association. specifies > <specifies 1..* A specifies 1..* 1..* 1..* = Package 1..* Trim 1..* < is available with Model 1..* 1..1 0.* <produces 1..1 Manufacturer + name: string + name: string + name: string + name: string + cost: float + year: int 1..* 1..1 AvailablePackage chooses has V cost : float 1..1 1. * 1.* is how we specify which trims use which packages, how much the package costs for that trim. Automobile BodyStyle adds on Linking Automobile to Model would be a redundancy, because Trim already links there. + name: string 1..* + vin : string + color : string 1..* chooses V The Project 2 rubric will only require *one of BodyStyle or Color to be a separate class. 1..1 Color + name: string
Body Styles Manufacturers name body_style_id PK UK manufacturer_id PK 1..1 name UK 1..1 Models 1..* FK manufacturer_id FK ModelFeatures year model_id PK 1..1 model_name body_style_id UK 1.1 1. * PK model_id FK feature_id FK Colors 1..* feature_id PK name UK 1..* Trims color_id PK 1..1 name UK 1..1 TrimFeatures FK model_id cost 1..1 trim_id PK trim_name UK 1..* PK feature_id FK 1..* 1..1 trim_id FK 1..1 1..1 1..* Automobiles 1..* FK Package Features FK color_id trim_id vin FK trim_id auto_id PK cost UK package_id FK available_id PK 1..1 PK feature_id package_id FK FK 1. * 1..1 AvailablePackages 1..* 1 1..1 1. 1. * 1..* 1..1 1..1 FK available_id FK auto_id ChosenPackages PK Packages package_id package_name PK
The enterprise for this project is an excerpt from the UML design of the Project 2 Canonical Solution. Specifically, we will ignore/delete the Color, Body Style, and Manufacturer classes; you do not need to incorporate these fields in other places, e.g., you do not have to add a "color" field to the Automobile class -- simply assume that color is no longer part of the enterprise. The remaining six classes -- Model, Trim, Package, Feature, AvailablePackage, and Automobile -- form the requirements for this project.
enterprise as JPA entity classes.
Feature 1. * 1..* + name: string I will not penalize you for putting empty association classes here, though you technically should only include them if they have an attribute or are used in another association. specifies > <specifies 1..* A specifies 1..* 1..* 1..* = Package 1..* Trim 1..* < is available with Model 1..* 1..1 0.* <produces 1..1 Manufacturer + name: string + name: string + name: string + name: string + cost: float + year: int 1..* 1..1 AvailablePackage chooses has V cost : float 1..1 1. * 1.* is how we specify which trims use which packages, how much the package costs for that trim. Automobile BodyStyle adds on Linking Automobile to Model would be a redundancy, because Trim already links there. + name: string 1..* + vin : string + color : string 1..* chooses V The Project 2 rubric will only require *one of BodyStyle or Color to be a separate class. 1..1 Color + name: string
Body Styles Manufacturers name body_style_id PK UK manufacturer_id PK 1..1 name UK 1..1 Models 1..* FK manufacturer_id FK ModelFeatures year model_id PK 1..1 model_name body_style_id UK 1.1 1. * PK model_id FK feature_id FK Colors 1..* feature_id PK name UK 1..* Trims color_id PK 1..1 name UK 1..1 TrimFeatures FK model_id cost 1..1 trim_id PK trim_name UK 1..* PK feature_id FK 1..* 1..1 trim_id FK 1..1 1..1 1..* Automobiles 1..* FK Package Features FK color_id trim_id vin FK trim_id auto_id PK cost UK package_id FK available_id PK 1..1 PK feature_id package_id FK FK 1. * 1..1 AvailablePackages 1..* 1 1..1 1. 1. * 1..* 1..1 1..1 FK available_id FK auto_id ChosenPackages PK Packages package_id package_name PK
The enterprise for this project is an excerpt from the UML design of the Project 2 Canonical Solution. Specifically, we will ignore/delete the Color, Body Style, and Manufacturer classes; you do not need to incorporate these fields in other places, e.g., you do not have to add a "color" field to the Automobile class -- simply assume that color is no longer part of the enterprise. The remaining six classes -- Model, Trim, Package, Feature, AvailablePackage, and Automobile -- form the requirements for this project.