Author_Institution :
Dept. of Comput. Sci. & Eng., Arizona State Univ., Tempe, AZ
Abstract :
In this article the advances in software engineering are i) evolvement of software processes from rigid, sequential and slow processes to iterative and agile processes and standardization of process models, such as CMMI (Capability Maturity Model Integration) and ISO 12207, ii) programming paradigms and software design techniques, such as object-oriented programming and model-driven architecture, iii) various techniques for software reuse, such as design patterns and component-based software development, iii) formal methods for software specification and verification, and numerous methods for software testing, iv) software architecture, such as event-driven architecture and service-oriented architecture, and architecture description languages. All these advances aim at improving the quality of software, reducing cost, and promoting software reuse.
Keywords :
formal specification; object-oriented programming; program testing; program verification; software architecture; software quality; software reusability; formal method; programming paradigm technique; software architecture; software design technique; software engineering; software quality; software reuse; software specification; software testing; software verification; Capability maturity model; Computer architecture; ISO standards; Iterative methods; Object oriented modeling; Object oriented programming; Software design; Software engineering; Software quality; Standardization;