SynProject
Synopse SynProject is an open source application for code source versioning and automated documentation of Delphi projects.
Licensed under a GPL license.
Take a look at the SynProject official web site
Features
Its main features are:
- Local source code versioning;
- Automated documentation.
Source code versioning
- handle multiple projects or libraries with the same program;
- allow source code versioning with detailed commits;
- can access to a PVCS tracker (more trackers are coming) and link the commits to the tickets;
- allow automated source code backup (without any commit to document: it's like a daily snapshot of your files);
- backups can be local (on your hard drive) or remote (on a distant drive);
- you can make a visual "diff" and compare source code versions side by side in the graphical user interface;
- you can see pictures (png jpeg bitmap icon) within the main user interface;
- diff storage between version is very optimized, and use little disk space;
- storage is based on .zip files and plain text files, so it's easy to work with.
Automated Documentation
- follow a typical Design Inputs -> Risk Assessment -> Software Architecture -> Detailed Design -> Tests protocols -> Traceability matrix -> Release Notes workflow;
- initial (marketing-level) Design Input can be refined into more precise Software Requirement Specifications;
- Design Inputs can evolve during the project life: all documentation stay synchronized and you will have to maintain the DI and their description only at one place;
- therefore, the process is meant to be compliant with the most precise documentation protocols (like IEC 62304); only one text file, formated like a wiki, contains the whole documentation;
- it's very easy to add pictures, or formated source code (pascal, C, C++, C#, plain text) into the documentation;
- word files (and then pdf) are created from this content, with full table of contents, picture or source code reference tables, unified page layout, customizable templates;
- it's easy to add tables to your document, or link to other part or external resources * you can even put pure RTF content into your documentation;
- pictures are centralized and captioned, people involved in the documentation are maintained once for the whole documentation;
- document version numbering and cross-referencing is handled easily;
- for pascal projects, the source code is parsed and all interface architecture is generated from the source; it's easy to browse classes, variables and functions from the documentation, and add reference to them to your document; the source code description can also be located in an external .sae file, therefore your original source code tree won't necessary be changed by the adding of comments;
- all references are cross-linked: Software Architecture Document is created from the source code, and also is able to highlight the classes or methods - involved in implementing every Design Input, from the Software Design Document;
- integrated GraphViz component, in order to create easily diagrams from plain text embedded into your documentation; * integrated fully featured text editor, with word wrapping, wiki-syntax buttons and keyboard shortcuts, and spell checking;
- a step by step Wizard is available to create a new project, from supplied template files; another Wizard is already available, to browse your documentation workflow, and check its consistency or set up its parameters;
- the documentation is integrated to the Versioning system above.
Of course, it's a full Open Source - GPL licensed - project. Source code (for Delphi 6/7) is available and maintained, since it is used by our internal projects (including our little mORMot).