Business Areas:                
                            
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Software Engineering
 
Software Engineering addresses the design, construction, and maintenance of software products. It is the "application" of a systematic (repeatable), disciplined, quantifiable approach to the entire life-cycle of software – from customer requirements elicitation to maintenance of the final product. Included in software engineering are quality assurance, verification and validation, formal methods, metrics, project management and information assurance.
 
Many of LOT Software Engineering Consultants' projects involve software engineering – either the full life-cycle process or some portion of the life-cycle. We adapt our software engineering services to meet the specific needs of the customer. Each project uses structured processes, which are tailored to meet the requirements in the statement of work. To provide more consistent processes across all of our projects, LOT Software Engineering Consultants are currently utilizing the Software Engineering Institute (SEI) Capability Maturity Model Integration (CMMI), Staged Representation, Level 3 achieved during the development of the F-15 Technical Assistance Database System (TADS).
 
LOT Software Engineering Process (SEP) represents a collection of process disciplines, sample artifacts, and tool usage guidelines collected from the Rational Unified Process (RUP), Microsoft Solutions Framework (MSF), Enterprise Project Management Methodology (EPMM) and the System Development Methodology (SDM). LOT SEP has been proven on software development efforts in collaboration with several of the US Air Force weapons systems.
 
 
LOT SEP disciplines are tightly coupled sets of activities, practices, and resulting artifacts which seek to achieve a common goal. LOT SEP consists of six disciplines. These disciplines are enumerated and explained below, with links provided to each of the appropriate SEP discipline pages.

  • Business Modeling - This discipline is tightly coupled with the Enterprise Project Management Methodology (EPMM), using several of the EPMM outputs for creation of business modeling artifacts. This discipline also marks the first stage in the evolution of the application's use cases and data structures.

  • Requirements - Requirements is the most important of the SEP's disciplines. It includes the capture of the system's business and supplementary requirements as well as the initiation of traceability activities for these requirements. For applications developing in an iterative fashion, the iteration plan, which spells out the requirements to be tackled during a particular iteration, is also a major artifact or this discipline.

  • Analysis and Design - As part of the analysis and design discipline, the application's requirements are further refined. A comprehensive design model is created; this design model will serve as the basis for implementation activities.

  • Implementation - During the implementation discipline, most of the development-related activities take place. This includes the actual development, validation of the development products using a unit testing suite, creation of API documentation, and establishing a deployment unit for migration to environments beyond development.

  • Testing and Quality Assurance - This disciplines includes planning, creating, and implementing tests of various kinds. These tests could include integration tests, user acceptance tests, load tests, stress tests, or other types of testing which may or may not be automated. Also included in this discipline are provisions for software quality by means of a software quality plan.

  • Configuration and Change Management - There are two important aspects to the configuration and change management discipline. First, this discipline includes software engineering specific refinements to the change management procedures inherited from the project management process. Second, this discipline specifies how software change management and configuration management interact, allowing for changes to be tied back to specific requests.