Software Engineering
Print this Page  Print Page

Great Software Starts With Great People

Minerva Engineering employs world-class software engineers whose skills cover a broad range of languages and platforms. Our engineers all have a process-centric background and working knowledge of waterfall, spiral, Agile and other approaches. Each of our software engineers is also trained in Minerva Engineering’s Software Engineering process to ensure that all Minerva software products and services are of the highest quality and designed to reduce the risk of vulnerabilities due to coding practices and the rapidly changing technical environment.

Software Assurance and Secure Software Development

Software is the fundamental basis for information infrastructure that government and commercial organizations rely upon for their daily operations. The use of COTS software is now as ubiquitous as internally engineered software once was and with the ever-increasing volume of cyber attacks there is a significant concern about the vulnerability, integrity, security and reliability of these products. At its core, Software Assurance is the development and implementation of software development processes for ensuring that software functions as intended while mitigating the risks of vulnerabilities, malicious code or defects that could bring harm to the end user.

Minerva Engineering specializes in the development of software using secure software development best practice processes that reduce vulnerabilities, improve resistance to attack and protect the integrity of software. In addition, we have a series of approaches to evaluate the security of COTS products so that users can have a high level of confidence that their software is as secure as possible.

Our approaches focus on the primary software assurance risk areas:

  • Accidental Design or Implementation Errors That Lead To Exploitable Code Vulnerabilities;
  • The Changing Technological Environment which exposes new vulnerabilities and provides adversaries with new tools to exploit them, and
  • Malicious Insiders Who Seek To Do Harm to Users

With the implementation of best practices that include security training for our engineers, defining security requirements, secure software design and coding, secure source code handling, security testing and documentation, Minerva Engineering strives to build in software security.

Proven Software Engineering Process

Minerva Engineering employs state-of-the-art Object Oriented analysis, design, and programming techniques - thus providing the most practical, extensible and maintainable solutions for our customers:

  • Thorough Requirements Synthesis
  • OOA/OOD Modeling using UML
  • Reuse Object Library utilization
  • Strict Coding Standards enforcement
  • Use of the Right SW Development Tools
  • Application of "Smart CM"
  • Thorough SW, Test, and Process Reviews
  • Rigorous Software Unit & System Testing
  • Complete Software System Documentation
  • Competitive and Accurate Costings

Software Engineering Lifecycle

Our process begins by understanding the customer's requirements and then generating a System Requirements Document. Requirements are then fed into our Object Oriented Analysis process, which results in a problem-space Analysis Document. During Analysis, reuse from within our Object Library is identified and then incorporated into the OO Design and documented in detail. Complying with strict coding standards, use of the right software development tools, and utilizing our Smart CM philosophy we create a software engineering environment, which ensures that our high quality software is delivered on time, and within budget.

Iterative Review Process Ensures Quality

The cornerstone of Minerva Engineering's software engineering capability is a thorough review process. The requirements are reviewed by our development and System Engineering staff and our customers to ensure capture of all system requirements. The OO Analysis and Design artifacts are thoroughly reviewed and validated by simulation and/or prototyping before the implementation phase begins. Our Software Engineers conduct extensive code reviews at various critical periods throughout the implementation phase with a close eye to standards and simplicity of software solutions ensuring reuse and maintainability. The associated software project Test Plan also comes under close scrutiny by our system and software engineering staff to ensure that all of the requirements are thoroughly tested. Minerva Engineering's dedication to quality assurance ensures thorough testing of all requirements via the execution of the project Test Plan in our lab as well as at the customer site.

Login to view restricted content.

Software Engineering

Discover Minerva

  • Download Company Profile and learn more about what
    we can do to identify
    technologies and processes
    that can help your programs
    to be more effective.