Educational Guidance on Extensible Software Development

Abstract

Software extensibility is a software engineering principle that characterizes how easily new features can be added to the software system by requiring no or minimal rewrite of existing code base. Software that is extensible leads to reduced development time, increased stability and security, and better support of software assurance and maintenance. Although it is critically important, the Department of Defense (DoD) utilizes software development documents that provide only limited information and guidance on software extensibility. Moreover, the software development processes supported by the DoD do not fully address Model-View-Controller (MVC), a design pattern that industry experts recommend for a higher degree of software extensibility. This thesis studies the design patterns and software extensibility in the context of the DoD software development environment with the case study on mobile application design. The design guidance on software extensibility developed in this thesis will integrate well with currently utilized DoD software development documents and processes.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Sep 01, 2018
Accession Number
AD1065068

Entities

People

  • Damon R. Alcorn

Organizations

  • Naval Postgraduate School

Tags

Communities of Interest

  • Cyber
  • Engineered Resilient Systems
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Case Studies
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Debugging
  • Department Of Defense
  • Engineering
  • Graphical User Interface
  • Guidance
  • Information Systems
  • International Organizations
  • Object Oriented Programming
  • Programming Languages
  • Security
  • Software Design
  • Software Development

Fields of Study

  • Computer science
  • Engineering

Readers

  • Software Engineering.