Be relaxed with Code-Generation. Start tomorrow
-
Funny header, isn't it? No it isn't. Let me describe my problem (my world) in two steps: a) "As it is now" b) "As it will be in some time" - my colleagues say. My world as it is now I'm in an relatively big embedded environment, programming in C-language. I'm creating platform-SW; that is: I create SW which is used in a number of customer-projects for customer-specific adaptions. This is: 50% is platform, 50% is extra code. This means: My business is a "reuse-business", I try to make my SW as reusable as possible. These are my goals. But reality is hard: The SW compounded of roughly 1000 files, has a lot of of dependencies, customer-projects hardly understand the underlying architecture and change a lot even in platform-code and they do not understand how to configure my platform-SW, because there is no "configuration docu". And if my "Platform-project" says: Hey dear customer-projects, we have a new version, they tack us to the crucifix :-) My world as it will be in some time ( my colleagues say ) My colleagues say: Ok, writing such type of SW is hard, too hard most the time. We have a remedy for you: Take one of these existing high-end-modelling-tools (Together, Rhapsody,Enterprise Architect....). You will have none of these problems, because everything is generated. What are you thinking?
-
Funny header, isn't it? No it isn't. Let me describe my problem (my world) in two steps: a) "As it is now" b) "As it will be in some time" - my colleagues say. My world as it is now I'm in an relatively big embedded environment, programming in C-language. I'm creating platform-SW; that is: I create SW which is used in a number of customer-projects for customer-specific adaptions. This is: 50% is platform, 50% is extra code. This means: My business is a "reuse-business", I try to make my SW as reusable as possible. These are my goals. But reality is hard: The SW compounded of roughly 1000 files, has a lot of of dependencies, customer-projects hardly understand the underlying architecture and change a lot even in platform-code and they do not understand how to configure my platform-SW, because there is no "configuration docu". And if my "Platform-project" says: Hey dear customer-projects, we have a new version, they tack us to the crucifix :-) My world as it will be in some time ( my colleagues say ) My colleagues say: Ok, writing such type of SW is hard, too hard most the time. We have a remedy for you: Take one of these existing high-end-modelling-tools (Together, Rhapsody,Enterprise Architect....). You will have none of these problems, because everything is generated. What are you thinking?
Enterprise Architect (EA) for example, will let you send to source files your class structure (member functions, variables, etc.). You can also reverse-engineer where you change the source code files and auto reflect it back to your domain diagram/classes in EA. The idea is that you have "use cases" which lead to robustness diagrams and then to sequence diagrams if you please, which help everyone who can read english and knows their shapes to understand what your software does. The use cases, domain diagram, and other diagrams can be exported to a word document for custom consumption. You can work in a life-cycle plan (agile, iconix, etc.) in this mix. Basically, software engineering needs to be introduced into your effort. This guy is giving you a way to do it.
-
Funny header, isn't it? No it isn't. Let me describe my problem (my world) in two steps: a) "As it is now" b) "As it will be in some time" - my colleagues say. My world as it is now I'm in an relatively big embedded environment, programming in C-language. I'm creating platform-SW; that is: I create SW which is used in a number of customer-projects for customer-specific adaptions. This is: 50% is platform, 50% is extra code. This means: My business is a "reuse-business", I try to make my SW as reusable as possible. These are my goals. But reality is hard: The SW compounded of roughly 1000 files, has a lot of of dependencies, customer-projects hardly understand the underlying architecture and change a lot even in platform-code and they do not understand how to configure my platform-SW, because there is no "configuration docu". And if my "Platform-project" says: Hey dear customer-projects, we have a new version, they tack us to the crucifix :-) My world as it will be in some time ( my colleagues say ) My colleagues say: Ok, writing such type of SW is hard, too hard most the time. We have a remedy for you: Take one of these existing high-end-modelling-tools (Together, Rhapsody,Enterprise Architect....). You will have none of these problems, because everything is generated. What are you thinking?
Frygreen wrote:
What are you thinking?
Chocolate.
Frygreen wrote:
Take one of these existing high-end-modelling-tools
A modelling tool will do just what it says. Model. And like a model in Vogue magazine, it's not actually that functional. It looks pretty, it walks pretty, it wears something slinky and sexy very well. But that's about it. It's a simulacrum of perfection. And we all know that real life is not perfect. I like models. I really do. They are great for that high level fantasy thinking sometimes necessary to get going. But eventually, ya gotta get down to the actual business at hand. ummm... Models also tend to be static. It's difficult to capture the dynamic nature of relationships and objects with models. So we invent the supermodel. Meta-modelling. It's still doesn't address the real problem of change. Marc
-
Frygreen wrote:
What are you thinking?
Chocolate.
Frygreen wrote:
Take one of these existing high-end-modelling-tools
A modelling tool will do just what it says. Model. And like a model in Vogue magazine, it's not actually that functional. It looks pretty, it walks pretty, it wears something slinky and sexy very well. But that's about it. It's a simulacrum of perfection. And we all know that real life is not perfect. I like models. I really do. They are great for that high level fantasy thinking sometimes necessary to get going. But eventually, ya gotta get down to the actual business at hand. ummm... Models also tend to be static. It's difficult to capture the dynamic nature of relationships and objects with models. So we invent the supermodel. Meta-modelling. It's still doesn't address the real problem of change. Marc
Marc Clifton wrote:
It's difficult to capture the dynamic nature of relationships and objects with models
Is this some form of euphemism here? I know that models have often objected to dynamic relationships with me.
I'm not a stalker, I just know things. Oh by the way, you're out of milk.
Forgive your enemies - it messes with their heads