Software development process. Its primary functions (Software requirements analysis, software architecture and design, software implementation, software integration, software installation, and software developmental testing and evaluation) will be presented in significant depth. This process is the cornerstone of software engineering: it could be employed anywhere in a system life cycle as an analytical/modeling aid or to (re)engineer software. Elementary Vee and complex developmental models will be discussed. (Note that this process was derived from the original system development process. Please see the system tutorial PDF.)
Acquisition-supply models. A generic model and the ISO/IEC 12207 model will be presented. The models should be helpful in facilitating negotiations and agreements between two parties. An agreement may range from informal to formal to legal. The models, with suitable customization, may be employed in the following modes: an agreement by an individual with the self; an assignment by a supervisor to a subordinate; an agreement between two branches of an organization; or a contract between two separate organizations.
Replaced/Superseded by document(s)
The composition and nature of modern systems have changed. In the past, systems were configured primarily with materials, hardware, [non-digital] computers, and humans. Modern systems have added a relatively new entity: binary-digital-electronic computer software. The integration of humans, facilities, materials, hardware, computers, and software has increased the complexities of modern systems to an unprecedented level. There are various factors contributing to these complexities, many of which are due to inherent differences among hardware, software, and humans: hardware and materials must obey the laws of physics and chemistry; the result of software is not constrained by the laws of physics; and humans have physical and cognitive capabilities and limitations.