EDUCATIONAL GUIDANCE ON EXTENSIBLE SOFTWARE DEVELOPMENT
Authors
Alcorn, Damon R.
Subjects
software engineering
software assurance
software maintenance
extensibility
software design patterns
model
view
controller
Model-View-Controller
MVC
software assurance
software maintenance
extensibility
software design patterns
model
view
controller
Model-View-Controller
MVC
Advisors
Otani, Thomas W.
Date of Issue
2018-09
Date
Publisher
Monterey, CA; Naval Postgraduate School
Language
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.
Type
Thesis
Description
Series/Report No
Department
Computer Science (CS)
Organization
Identifiers
NPS Report Number
Sponsors
Funder
Format
Citation
Distribution Statement
Approved for public release; distribution is unlimited.
Rights
Copyright is reserved by the copyright owner.