ABSTRACT

Software engineering is a maturing engineering discipline that adopts the generic engineering principles in the development of large-scale software, which could not be produced by individuals. Currently, software development is evolving from the laboratory-oriented and all-roundprogrammer-based practice to an industry-oriented and process-based platform, and software developers are experiencing changes of roles from craftsmen to regulated professionals – the software engineers. The practices of the former are based on personal talents, tastes and art, while those of the latter are based on disciplined processes and repeatable professional activities.