CODESPRING
Services
HOME » By Technologies

Programming Tools

Programming tools consist in programs or applications that we use for elaborating, maintaining, debugging and support other programs and applications. Since they come in many forms and address different issues in the software development process, we tried to make a guiding list of what our team generally uses:

1. Project Guidance

Definition & role
There are numerous tools that make the project guidance simpler, clearer and more transparent. Such tools we use are: Microsoft Team Foundation Server, Microsoft Project, mind mapping software like FreeMind, UML architecturing and design tools like Sparx Enterprise Architect or Rational Rose, issue-tracking systems like Mantis, Bugzilla, GLPI, configuration management and version control systems like Perforce, SVN, Microsoft Team Foundation Server and others.

Codespring added value
At Codespring, we are trying to use the same project management tools within all teams, so that we are able to share experience and best practice. In addition our team has developed specific project management tools simplifying the project controlling process and respecting our QMS (quality management system).

Example:

[study case in progress]

2. Architecture Design

Definition & role
Architecture design is the problem-solving phase of the software development process, where the system architects understand and model the client’s demands. Creating an architecture design needs an important experience in the software development, an architectural view, and a wide vision over technologies, algorithms and implementation issues. The architecture design has also to reveal list of modules, functionality of modules, interface relationship, dependencies, database tables, architecture diagrams, technology details and so on.

Codespring added value
Passionate about software development, the architecture design phase is the one we really can add value on. Talented and extremely skilled technical engineers run into a race to deliver best software architecture designs. Not to mention that we will always guide you through the selection of different architecture designs by highlighting the pros and cons of each proposed architecture.

Example:

[study case in progress]

3. Testing

Definition & role
Testing is an important part of the software development process. It insures that bugs and inconsistencies are early recognized at this stage. It verifies that the software has been correctly built. Testing may be done at different levels: unit testing, integration testing, system testing, user acceptance testing. Thus the dynamic testing process is completed and eventually all potential errors or deviations are being solved. For these operations we can use internal testing teams, sourced testers and users’ staff – the personnel that will effectively work with the software.

Codespring added value
From our experience, testing at all levels is a mandatory phase, even if sometimes, due to time and budget constraints we are tempted to make only the unit, the integration and the system testing. Codespring recommendation is that it is always cheaper to prevent than to correct after the product has been delivered. We add value by foreseeing and preventing potential issues before deploying.

Example:

[study case in progress]

4. Bug tracking

Definition & role
Bug tracking can be defined as a process used to address software errors found. The process includes recording the bugs found during the testing process, reviewing them, recording the fix needed, assigning the bugs to the developers, keeping records about the status of the bugs etc. Most of the bug tracking systems allow users to enter bugs directly, some bug reporters record the bugs automatically. Most bug tracking systems support the concept of the life cycle of the bugs, which is reflected by the status, also assigned to the bug. The main benefit of bug-tracking systems is to provide a centralized overview of development requests. It can also be used to make reports about the quality of the software during the testing and development process.

Codespring added value
Due to its high importance most of the programmers at Codespring had to use bug tracking systems  during their work. Our experience and wide coverage recommends us as a reliable provider of bug tracking tools.

Example:

[case study in progress]

5. Version Handling

Definition & role
Version Handling, also known as version control or source control, is the process of managing changes made to documents, programs or other information stored as computer files. It is most commonly used by teams for software development. It’s often composed of a server application and several client applications that connect to the version handling server. Version handling applications are usually stand-alone (e.g.: Perforce) but they also can be embedded into various types of software (e.g.: Microsoft Word). Changes made to the files in version handling system are usually identified by a number or letter code. Each change is associated with a timestamp and the person making the change. Source control systems can handle parallel versions of the same file on different „branches” and also merge and compare the changes.

Codespring added value
Here at Codespring we use Version Handling on almost all of our software development projects. We are accustomed to use different source control systems. With the support of Version Controls systems we are able to quickly deliver the changes made to the source code so that the client can  test or use. Additionnally  we can enhance the information flow between our developers working on various projects.

Example:

[study case in progress]

6. Other tools

FxCop is a free static code analysis tool from Microsoft that checks .NET managed code assemblies for conformance to Microsoft’s .NET Framework Design Guidelines. Unlike the lint programming tool for the C programming language, FxCop analyzes the compiled object code, not the original source code. It uses CIL parsing, and call-graph analysis to inspect assemblies for more than 200 different possible coding standards violations in the following areas:

  • Correctness
  • Library design
  • Internationalization and Localization
  • Naming conventions
  • Performance
  • Security

FxCop provides a tool to help developers to follow our company’s coding standards. FxCop does code analysis to check whether the new code is compliant with the coding standards and naming conventions followed by this company. FxCop will ensure that the specified rules are used in the source code.

 

W3C XHTML 1.0W3C CSSCreative Commons
® Copyright 2010. CODESPRING