Abstract :
Despite rapid changes in computing and software development, some fundamental ideas have remained constant. This article describes eight such concepts that together constitute a viable foundation for a software engineering discipline: abstraction, analysis and design methods and notations, user interface prototyping, modularity and architecture, software life cycle and process, reuse, metrics, and automated support
Keywords :
formal specification; programming environments; project support environments; software engineering; software metrics; software reusability; user centred design; abstraction; architecture; automated support; design methods; metrics; modularity; notations; reuse; software development; software engineering; software life cycle; user interface prototyping; Application software; Costs; Data security; Databases; Graphical user interfaces; Programming; Radio access networks; Software architecture; Software engineering; System software;