This page describes the Software Development Environment (SDE) of the CI Development Team. It is part of the OOI CI Project Infrastructure. The parts of the SDE are described below:
Architecture and Design
- Architecture Documentation: Structured according to the DoD Architecture Framework (DoDAF)
- Design Drawings: Unified Modeling Language (UML) for domain models, class diagrams, sequence diagrams
- Architecture Drawings Tool: Sparx Enterprise Architect, Ultimate Edition
- Visio and OmniGraffle for informal diagrams and sketches
- Up-to-date documentation on Confluence, consolidated into architecture documents for larger milestones (FDR, Release 1 LCO)
Programming Environment
- Integrated Development Environment (IDE): Komodo, vim, netbeans, eclipse, emacs, etc.
- Programming language and tools: Python 2.5, Twisted, Java 1.6
- Host operating system: MacOS X and Ubuntu Linux
- Virtual machine technology for development: Virtualbox, Amazon EC2
- Bug tracking: Jira
Source Code and Version Control
- Version control system: GIT
- Git user and project management: Gitosis
- See the Revision Control page for detailed information on installation and usage of GIT.
- Public repositories can be accessed at the Gitweb site hosted on amoeba.ucsd.edu
Documentation Environment
- Architecture documentation: Confluence Wiki
- Source Code Documentation: Python, in-line
- Documentation Generation: Doxygen. See this page for details. Auto-generated docs are posted at ooici.net's page here
Unit Testing
- Unit test framework: Twisted's Trial. See the tutorial here
- Automated unit test execution via Buildbot
- Test result reporting
Build Environment
- Build and test reports
- Package repository: PyPI repository on our development server
Dev server and links
- http://ooici.net/ is our local dev server, and the page there has links to git, doxygen docs, DAP server, etc.
Logging
- We use the Python logging system, see this tutorial on its use and configuration.