Objectives
1. To introduce software engineering and to explain its importance
2. To set out the answers to key questions about software engineering
.3. To introduce ethical and professional issues and to explain why they are of concern to software engineers
Software engineering
The economies of ALL developed nations are dependent on software. More and more systems are software controlled.
Software engineering is concerned with theories, methods and tools for professional software development.
Software engineering expenditure represents a significant fraction of GNP in all developed countries. Software costs often dominate system costs. The costs of software on a PC are often greater than the hardware cost. Software costs more to maintain than it does to develop. For systems with a long life, maintenance costs may be several times development costs.
60% of costs are development costs, 40% are testing costs. For custom software, evolution costs often exceed development costs. Costs vary depending on the type of system being developed and the requirements of system attributes such as performance and system reliability. Distribution of costs depends on the development model that is used.
Software engineering is concerned with cost-effective software development.
Software products may be developed for a particular customer or may be developed for a general market. Software products may be
• Generic - developed to be sold to a range of different customers
• Bespoke (custom) - developed for a single customer according to their specification
Software engineering is an engineering discipline which is concerned with all aspects of software production.
Software engineers should adopt a systematic and organised approach to their work and use appropriate tools and techniques depending on the problem to be solved, the development constraints and the