Page 23 -
P. 23
6 Chapter 1 Introduction
Question Answer
What is software? Computer programs and associated documentation.
Software products may be developed for a particular
customer or may be developed for a general market.
What are the attributes of good software? Good software should deliver the required
functionality and performance to the user and should
be maintainable, dependable, and usable.
What is software engineering? Software engineering is an engineering discipline that
is concerned with all aspects of software production.
What are the fundamental software engineering Software specification, software development,
activities? software validation, and software evolution.
What is the difference between software Computer science focuses on theory and
engineering and computer science? fundamentals; software engineering is concerned
with the practicalities of developing and delivering
useful software.
What is the difference between software System engineering is concerned with all aspects of
engineering and system engineering? computer-based systems development including
hardware, software, and process engineering. Software
engineering is part of this more general process.
What are the key challenges facing software Coping with increasing diversity, demands for reduced
engineering? delivery times, and developing trustworthy software.
What are the costs of software engineering? Roughly 60% of software costs are development
costs; 40% are testing costs. For custom software,
evolution costs often exceed development costs.
What are the best software engineering techniques While all software projects have to be professionally
and methods? managed and developed, different techniques are
appropriate for different types of system. For example,
games should always be developed using a series of
prototypes whereas safety critical control systems
require a complete and analyzable specification to be
developed. You can’t, therefore, say that one method
is better than another.
What differences has the Web made to software The Web has led to the availability of software
engineering? services and the possibility of developing highly
distributed service-based systems. Web-based
systems development has led to important advances
in programming languages and software reuse.
Software engineers are concerned with developing software products (i.e., soft-
Figure 1.1 Frequently
asked questions about ware which can be sold to a customer). There are two kinds of software products:
software
1. Generic products These are stand-alone systems that are produced by a develop-
ment organization and sold on the open market to any customer who is able to