Software Engineering
Planning. During this phase, we prepare the initial functional specification, establish the design process, and prepare work plans, cost estimates, and schedules for the various deliverables. The planning documents include:
- Software Development Plan
- Software Configuration Management Plan
- Software Quality Assurance Plan
- Software Verification Plan
- Plan for Software Aspects of Certification
Design. AVISTA extends its rigorous requirements definitions into this phase, thus ensuring a successful completion of an engineering project on time and on budget. AVISTA determines the particular design activities driven from the following documentation:
- Software Requirements Specification
- Software Design Document
Software engineering is an integral part of the AVISTA development life-cycle.
Implementation. AVISTA implements the software using the most advanced and cost effective tools available. We specialize in safety-critical and mission-critical embedded applications in UNIX, Microsoft® Windows®, and .NET environments, and our teams are experienced with all structured and object-oriented programming languages. Our software verification procedures during the development and implementation phase include design reviews and code reviews to ensure that the code we deliver is reliable, well documented and easy to maintain.
Integration and test. Our integration methodology builds on the rigorous validation, verification and testing that has been conducted prior to this stage. Before delivering an application or system, AVISTA conducts formal acceptance tests to verify that the delivered software complies with its functional specification. In addition to testing of AVISTA-developed software, we also serve as independent testers of systems developed by third parties for our clients, provide support for on-site testing, and assist in verification of compliance with national and international guidelines and standards.