Software Engineering


A. Software: The Foundation of Modern Technology

Software, instructions that tell a computer what to do. Software comprises the entire set of programs, procedures, and routines associated with the operation of a computer system. The term was coined to differentiate these instructions from hardware—i.e., the physical components of a computer system. A set of instructions that directs a computer’s hardware to perform a task is called a program, or software program.

 The two main types of software are system software and application software. System software controls a computer’s internal functioning, chiefly through an operating system, and also controls such peripherals as monitors, printers, and storage devices. Application software, by contrast, directs the computer to execute commands given by the user and may be said to include any program that processes data for a user. Application software thus includes word processors, spreadsheets, database management, inventory and payroll programs, and many other “applications.” A third software category is that of network software, which coordinates communication between the computers linked in a network.


B. Engineering: The Practice of Designing Real-World Solutions

Engineering, the application of science to the optimum conversion of the resources of nature to the uses of humankind. The field has been defined by the Engineers Council for Professional Development, in the United States, as the creative application of “scientific principles to design or develop structures, machines, apparatus, or manufacturing processes, or works utilizing them singly or in combination; or to construct or operate the same with full cognizance of their design; or to forecast their behaviour under specific operating conditions; all as respects an intended function, economics of operation and safety to life and property.” The term engineering is sometimes more loosely defined, especially in Great Britain, as the manufacture or assembly of engines, machine tools, and machine parts.


C. Software Engineering: Integrating Coding with Structured Design

Software engineering is the discipline concerned with the application of theory, knowledge, and practice to building reliable software systems that satisfy the computing requirements of customers and users. It is applicable to small-, medium-, and large-scale computing systems and organizations. Software engineering uses engineering methods, processes, techniques, and measurements. Software development, whether done by an individual or a team, requires choosing the most appropriate tools, methods, and approaches for a given environment.

 Software is becoming an ever larger part of the computer system and has become complicated to develop, often requiring teams of programmers and years of effort. Thus, the development of a large piece of software can be viewed as an engineering task to be approached with care and attention to cost, reliability, and maintainability of the final product. The software engineering process is usually described as consisting of several phases, called a life cycle, variously defined but generally consisting of requirements development, analysis and specification, design, construction, validation, deployment, operation, and maintenance.

Mga Komento