0% found this document useful (0 votes)
32 views8 pages

Figures - Chapter 1

This document discusses several key concepts in software engineering: 1. It defines software and software engineering, noting that software engineering deals with all aspects of software production while computer science focuses more on theory. 2. It lists the fundamental software engineering activities as specification, development, validation, and evolution. 3. It identifies some of the main challenges in software engineering as coping with increasing diversity, reduced delivery times, and developing trustworthy software.

Uploaded by

Johan Romo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views8 pages

Figures - Chapter 1

This document discusses several key concepts in software engineering: 1. It defines software and software engineering, noting that software engineering deals with all aspects of software production while computer science focuses more on theory. 2. It lists the fundamental software engineering activities as specification, development, validation, and evolution. 3. It identifies some of the main challenges in software engineering as coping with increasing diversity, reduced delivery times, and developing trustworthy software.

Uploaded by

Johan Romo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Figures – Chapter 1

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.
Figure 1.1 What are
activities?
the fundamental software engineering Software specification, software development, software
validation and software evolution.
Frequently What is the difference between software engineering and
computer science?
Computer science focuses on theory and fundamentals;
software engineering is concerned with the practicalities
of developing and delivering useful software.
asked What is the difference between software engineering and System engineering is concerned with all aspects of
system engineering? computer-based systems development including
questions hardware, software and process engineering. Software
engineering is part of this more general process.

about What are the


engineering?
key challenges facing software Coping with increasing diversity, demands for reduced
delivery times and developing trustworthy software.

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.

engineering What are the best software engineering techniques and


methods?
While all software projects have to be professionally
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 services
engineering? 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.
Figure 1.2 Essential attributes of good software

Product characteristic Description

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.

Dependability and security Software dependability includes a range of characteristics including


reliability, security and safety. Dependable software should not
cause physical or economic damage in the event of system failure.
Malicious users should not be able to access or damage the
system.

Efficiency Software should not make wasteful use of system resources such
as memory and processor cycles. Efficiency therefore includes
responsiveness, processing time, memory utilisation, etc.

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.
Figure 1.3 The
ACM/IEEE
Code of Ethics
Figure 1.4 Insulin pump hardware architecture
Figure 1.5 Activity model of the insulin pump
Figure 1.6 The organization of the MHC-PMS
Figure 1.7 The weather station’s environment

You might also like