Thread: Design Tool

    #1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2013
    Posts
    3
    Rep Power
    0

    Design Tool


    Is there a tool that can help me design a big project, so once design is complete it can generate the .c and .h files with the functions and arguments ?, and hopefully makefiles too ?

    I have been looking into some options but these are always designed for OOP and it never gets the work done as I would hope.

    It sucks that imperative programming is so underestimated these days.

    Thanks
  2. #2
  3. Contributed User
    Devshed Specialist (4000 - 4499 posts)

    Join Date
    Jun 2005
    Posts
    4,379
    Rep Power
    1871
    What do you call "big"?
    10K lines of code, 1M lines of code, more or less?

    How many people are going to work on it? Do you need collaborative design features? For a 10K sized project with only one developer, you're looking at a good number of months of effort spanning design, code and test.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper
  4. #3
  5. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2013
    Posts
    3
    Rep Power
    0
    Around 50K lines considering the server and client.

    Dia seems like an option but I have had some segfaults so I am looking for other options
  6. #4
  7. Contributed User
    Devshed Specialist (4000 - 4499 posts)

    Join Date
    Jun 2005
    Posts
    4,379
    Rep Power
    1871
    There is a list of tools here.

    The last time I came across automatic code generation was over 20 years ago, and it made such a mind numbingly bad job of it that I never bothered with the idea again.

    > Dia seems like an option but I have had some segfaults so I am looking for other options
    Have you checked the project homepage / forum for support?
    How about raised a bug?
    Is it a Dia bug, or the code generator plugin?
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper
  8. #5
  9. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2013
    Posts
    3
    Rep Power
    0
    Dia: it's a macports build, so I won't blame dia directly, but I won't spend time finding out the reason.

    Thanks for the list. UML is more appropriate for OOP but it seems like that is the only way of using a tool to design software and generate code.
  10. #6
  11. Contributing User

    Join Date
    Aug 2003
    Location
    UK
    Posts
    5,109
    Rep Power
    1802
    Originally Posted by joseche
    It sucks that imperative programming is so underestimated these days.
    Imperative programming and OOP are not mutually exclusive. Procedural, structural and object oriented programming are all examples of imperative programming paradigms.

    Most design to code translation requires very detailed models and an accurate understanding of the semantics of the modelling language. Often it is faster to type code from a design "sketch" that is not necessarily comprehensive than it is to enter than much detail into a model. In some environments however, and on some projects the rigour of model driven development is either necessary or a contractual requirement.

    Most inexpensive tools suck at code generation, and most including the expensive ones require a significant investment of time and effort to configure them to generate production quality code.

    UML is currently the defacto modelling language for design and model-driven development, and is intrinsically OO. For large projects OO is probably the way to go in any case; in C++ for example you have the advantage of being able to use the vast quantity of pre-existing C and C++ code and libraries. When done "right" generally OOD/OOP leads to better and easier to maintain code.

    Good free UML tools are not common. Umbrello is an excellent UML tool with code generation but only available on Linux (I have run it in a VM on Windows, so that is not such a restriction). Sparx Systems' Enterprise Architect is a low cost Windows UML tool.
  12. #7
  13. Contributing User

    Join Date
    Aug 2003
    Location
    UK
    Posts
    5,109
    Rep Power
    1802
    Specification and Design Language (SDL) is another design modelling language primarily used in telecommunications and embedded systems.
  14. #8
  15. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2013
    Posts
    1
    Rep Power
    0

    Post Design Tool


    C programming based on Procedural, structural and object oriented programming.

    I have a question based on C, this is effective today or not ?

    Comments on this post

    • clifford disagrees : If you have a question post your own thread.

IMN logo majestic logo threadwatch logo seochat tools logo