Professional Documents
Culture Documents
2
Software costs
3
Frequently asked questions about software engineering
• 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.
4
Frequently asked questions about software engineering
5
Frequently asked questions about software engineering
6
Software process activities
• Software specification,
• where customers and engineers define the software that is to be
produced and the constraints on its operation.
• Software development,
• where the software is designed and programmed.
7
Software process activities
• Software validation,
• where the software is checked to ensure that it is what the
customer requires.
• Software evolution,
• where the software is modified to reflect changing customer and
market requirements.
8
Frequently asked questions about software engineering
9
Frequently asked questions about software engineering
10
Frequently asked questions about software engineering
11
Frequently asked questions about software engineering
12
Frequently asked questions about software engineering
1
Frequently asked questions about software engineering
1
Software products
• Generic products
• Stand-alone systems that are
marketed and sold to any customer
who wishes to buy them.
• Examples – PC software such as
graphics programs, project
management tools; CAD software;
software for specific markets such as
appointments systems for dentists.
Software products
• Customized products
• Software that is commissioned by
a specific customer to meet their
own needs.
• Examples – embedded control
systems, air traffic control
software, traffic monitoring
systems.
Application types
• Stand-alone applications
• These are application systems that run on a local computer, such as
a PC.
• They include all necessary functionality and do not need to be
connected to a network.
17
Application types
18
Application types
19
Application types
• Entertainment systems
• These are systems that are primarily for personal use and which are
intended to entertain the user.
20
Application types
21
Application types
• Systems of systems
• These are systems that are composed of a number of other software
systems.
2
2
Application types
2
3
Essential attributes of good software
• Maintainability
• Software should be written in such a way so that it can evolve to
meet the changing needs of customers.
• This is a critical attribute because software change is an inevitable
requirement of a changing business environment.
Essential attributes of good software
2
Essential attributes of good software
2
Essential attributes of good software
• Efficiency
• Software should not make wasteful use of system resources such as
memory and processor cycles.
2
Essential attributes of good software
• Efficiency
• Efficiency therefore includes
• responsiveness,
• processing time,
• memory utilisation,
• etc...
2
Essential attributes of good software
• Acceptability
• Software must be acceptable to the type of users for which it is
designed.
• This means that it must be
• understandable,
• usable and
• compatible with other systems that they use.
2
General issues that affect software
• Heterogeneity
• Increasingly, systems are required to operate as distributed systems across
networks that include different types of computer and mobile devices.
3
General issues that affect software
• Scale
• Software has to be developed across a very wide range of scales, from
very small embedded systems in portable or wearable devices through to
Internet-scale, cloud-based systems that serve a global community.
3
Software engineering diversity