Software engineering occurs as a consequence of a process called system engineering. Instead of concentrating solely on software, system engineering focuses on a variety of elements, analyzing, designing and organizing those elements into a system that can be product, a service or a technology for the transformation of information or control. Before software can be engineered, the “System” in which it resides must be understood. To accomplish this, the overall objective of the system must be determined; the role of hardware, software, people, database, procedures, and other system elements must be identified; and operational requirements must be elicited, analyzed, specified, modeled, validated and managed. These activities are the foundation of system engineering... browse notes.