Sparx Systems Forum
Enterprise Architect => Uml Process => Topic started by: Graham_Moir on May 24, 2012, 11:00:49 pm
-
Just need a bit of direction please.
Let's assume you have a well structured platform independent class model, which by its nature contains data and behavioural definitions and relationships. This can be forward engineered for the intended target database to create a platform specific data model, say for Ms-SQLServer using the EA DDL transformation. However this process loses the behavioural aspect of the class model as well as not supporting inheritance complexities.
So, what, for you, has been the most successful way to forward engineer the behaviours from the class model for the persistent data to get the other side of the story ? Is there another transformation you would recommend, or does it have to be done manually (e.g. where stored procedures are providing the behaviour) including putting in relationships for traceability in order to get towards the complete physical model picture ?
Thanks
-
You can't forward engineer behavior top down. The behavior on a upper level is different to that below. E.g. on top level you physically press a key while on the low level electrons are flowing. This is the task of the engineer to model the lower after the description of the higher level.
q.
-
You might want to consider using state machines and business rules for modelling the behaviour. Here are some links
http://www.sparxsystems.com/enterprise_architect_user_guide/9.3/domain_based_models/model_business_rules.html
http://www.sparxsystems.com/enterprise_architect_user_guide/9.3/domain_based_models/code_generation_for_business_r.html
http://www.sparxsystems.com/enterprise_architect_user_guide/9.3/standard_uml_models/example_state_machine_diagram.html
http://www.sparxsystems.com/enterprise_architect_user_guide/9.3/software_engineering/code_generation___state_machin.html
You could put the state machines under the classes for active classes and inter-relate the events between the state machines so the objects work together.
:)