OOVCDE Release Details


Releases

The following lists releases in reverse chronological order.

2015-10-2

  • Added component types and line number information to sqlite database
  • Improved database export for linux
  • Improved build output error status
  • Added open recent project list
  • Fixed analysis/build for renamed or deleted files
  • Allowed creating new empty source project
  • Editor file error improvements
  • Improved file error handling
  • 2015-10

  • Added export to sqlite database
  • Added data member usage by all methods report
  • Improved file i/o and assert error handling
  • Fixed graphs for calls to namespace methods
  • Fixed graphs for references and calls in destructors
  • Fixed portion graph for overloaded methods
  • 2015-9-2

  • Added method usage report
  • Fixed overloaded members for sequence diagrams and complexity
  • Fixed build package library link problem when building multiple components
  • Reduced const display for multiple relations in class diagrams
  • 2015-9

  • Fixed for range loops in sequence diagrams
  • Improved sequence diagram call depth indications
  • Improved view variable in debugger
  • Improved editor identifier selection for underscores
  • Cleaned up doubled dashed lines on class diagrams
  • Added member templates to saved drawings
  • Fixed relative lib directories for external scanned packages in Windows
  • Fixed analysis path if a build is performed before analysis
  • Fixed lib directory overwrite in packages
  • 2015-8-2

  • Added template relationships
  • Added virtual operation indication to class and portion diagrams
  • Delayed code completion display in editor
  • Only draw visibility if inheritance or aggregation relation
  • Draw function parameter when relations have both variables and parameters
  • Fixed go to operation in operation diagram
  • On Windows, updated to use mingw-w64 5.1.0
  • 2015-8

  • Added editor toolbar
  • Improved editor integration with Oovcde
  • Improved build scanning
  • Improved launching executables in Windows
  • 2015-7-2

    This version contains:

    2015-7

    This version contains:

    2015-6-2

    This version contains:

    2015-6

    This version contains:

    2015-5-2

    This version contains:

    2015-5

    This version contains:

    2015-4-2

    This version contains:

    2015-4

    This version contains:

    2015-3-2

    This version contains:

    2015-3

    This version contains:

    2015-2-1

    This version contains:

    2015-2

    This version contains:

    2015-1

    This version contains:

    2014-12

    This version contains:

    2014-11

    This version contains:

    2014-10

    This version contains:

    2014-09-2

    This version contains:

    2014-09

    This version contains:

    2014-08-2

    This version contains:

    2014-08

    This version contains:

    2014-07-2

    This version contains:

    2014-07

    This version contains:

    2014-06-2

    This version contains:

    2014-06

    This version contains:

    2014-05

    This version contains:

    2014-02-2

    This version contains:

    2014-02

    This version contains:

    2014-01-04

    This version contains:

    2014-01-3

    This version contains:

    2014-01-2

    This version contains:

    2014-01

    This version contains:

    2013-12

    This version contains:

    2013-10-2

    This version contains:

    2013-10

    This version contains:

    2013-09-2

    This version contains:

    2013-09

    This version contains:

    2013-08-2

    This version contains:

    2013-08

    This version contains many new small features:

    2013-07-2

    Sequence diagrams are now created and can be saved as .SVG files. Class diagrams now have many more features.

    2013-07

    The biggest new feature is that the graphs can now be saved into .SVG files, which can be edited in Inkscape.

    The C++ parser has been changed from a parser used in the Umbrello project to the LLVM/Clang parser. The Clang parser will correctly parse modern C++ variants, and is a complete C++ parser, which allows for collecting any information that is desired for graphs.

    The GUI has been changed from QT to GTK partly because of licensing and because the number of dependencies seems to be smaller.

    The graph layout has been changed from Boost to a custom genetic algorithm. The Boost graph did not handle different sized nodes/classes easily. The genetic algorithm is not perfect, but gives a surprisingly quick initial layout in most cases.

    2010-01

    This version used Qt, a C++ parser from the Umbrello project, and Boost graph.

    The program goal has evolved a bit from the original to focus initially on the graphs. The main goal currently is to be able to quickly view class relations and navigate between classes in systems with hundreds of classes. There are also new symbols for aiding understanding of which classes can modify other classes so that review of certain relations can be performed quickly.

    The boost graph and D-Bus usage cost a lot of time to develop due to various problems. Originally the boost graph was going to be based on lists, but was changed to vectors because the implementation was easier. The D-Bus was difficult to use to handle arrays of structures, but eventually that too was figured out. Since the D-Bus support in MS Windows does not seem to be supported well, the code was converted to shared memory. The D-Bus code still exists in case there is better support in the future.

    Original Goals

    The original purpose of this program was as an integrated software development environment. Since many CPU cores will be available, why not have many tasks happening in the background while the programmer is working? This means that the program can be compiled, and documentation produced while the programmer is developing code. This includes code diagrams that are created in the background.

    The implementation details of the separation of header files and source files for C++ should be hidden from the developer. This would require an intelligent layout of source methods so that the user doesn't have to organize windows.

    One idea was to use a genetic algorithm to create the graphs on a background thread. The boost graph library would be used to create the original graph quickly, then an icon would indicate when the improved graph was ready. The programmer could click on the icon to view the improved graph. This has yet to be implemented.

    There could also be a simple language for creating classes for either beginning users, or as a convenience for advanced users. The relations could be specified by a language such as "Mary has-a little Lamb". This could give a tigher understanding for beginners between language and graphs.

    More History

    Originally the program was called Program Object Relationship Navigator, but the web site was not getting any hits. So a few programs were written to generate random strings to make a name, and the programs all generated OOVCDE. I may post the source code later. The pronunciaton is something like Oov-Kitty, and that is the reason that the cat-eye is used for the scope and const relations symbol, and that the Oov logo is an ice cream cone.