CH 1
CH 1
Topics covered
Chapter 1 Introduction 2
1 2
² The economies of ALL developed nations are ² Software costs often dominate computer system costs.
dependent on software. The costs of software on a PC are often greater than the
² More and more systems are software controlled hardware cost.
² Software costs more to maintain than it does to develop.
² Software engineering is concerned with theories,
methods and tools for professional software For systems with a long life, maintenance costs may be
development. several times development costs.
² Software engineering is concerned with cost-effective
² Expenditure on software represents a
significant fraction of GNP in all developed countries. software development.
3 4
5 6
1
9/17/23
Frequently asked questions about software Frequently asked questions about software
engineering
engineering
7 8
9 10
² More and more, individuals and society rely on advanced ² Software specification, where customers and engineers
software systems. We need to be able to produce define the software that is to be produced and the
reliable and trustworthy systems economically and constraints on its operation.
quickly. ² Software development, where the software is designed
² It is usually cheaper, in the long run, to use software and programmed.
engineering methods and techniques for software ² Software validation, where the software is checked to
systems rather than just write the programs as if it was a ensure that it is what the customer requires.
personal programming project. For most types of
system, the majority of costs are the costs of changing ² Software evolution, where the software is modified to
the software after it has gone into use. reflect changing customer and market requirements.
11 12
2
9/17/23
13 14
15 16
17 18
3
9/17/23
² The Web is now a platform for running application and ² Software reuse is the dominant approach for constructing
organizations are increasingly developing web-based web-based systems.
systems rather than local systems. § When building these systems, you think about how you can
assemble them from pre-existing software components and systems.
² Web services (discussed in Chapter 19) allow
application functionality to be accessed over the web. ² Web-based systems should be developed and delivered
incrementally.
² Cloud computing is an approach to the provision of
§ It is now generally recognized that it is impractical to specify all the
computer services where applications run remotely on requirements for such systems in advance.
the ‘cloud’.
² User interfaces are constrained by the capabilities of web
§ Users do not buy software buy pay according to use.
browsers.
§ Technologies such as AJAX allow rich interfaces to be created within
a web browser but are still difficult to use. Web forms with local
Chapter 1 Introduction 19
scripting are more commonly used.
Chapter 1 Introduction 20
19 20
² Web-based systems are complex distributed systems ² Software engineering is an engineering discipline that is
but the fundamental principles of software engineering concerned with all aspects of software production.
discussed previously are as applicable to them as they ² Essential software product attributes are maintainability,
are to any other types of system.
dependability and security, efficiency and acceptability.
² The fundamental ideas of software engineering, ² The high-level activities of specification, development,
discussed in the previous section, apply to web-based validation and evolution are part of all software
software in the same way that they apply to other types processes.
of software system.
² The fundamental notions of software engineering are
universally applicable to all types of system
development.
21 22
Key points
Lecture 2
Chapter 1 Introduction 23
23 24
4
9/17/23
25 26
27 28
§ Computers have a central and growing role in commerce, Software Engineering Code of Ethics and Professional Practice
industry, government, medicine, education, entertainment and
ACM/IEEE-CS Joint Task Force on Software Engineering Ethics and Professional Practices
society at large. Software engineers are those who contribute by
direct participation or by teaching, to the analysis, specification, PREAMBLE
design, development, certification, maintenance and testing of The short version of the code summarizes aspirations at a high level of the abstraction; the
software systems. clauses that are included in the full version give examples and details of how these
aspirations change the way we act as software engineering professionals. Without the
§ Because of their roles in developing software systems, software aspirations, the details can become legalistic and tedious; without the details, the
engineers have significant opportunities to do good or cause aspirations can become high sounding but empty; together, the aspirations and the details
harm, to enable others to do good or cause harm, or to influence form a cohesive code.
others to do good or cause harm. To ensure, as much as Software engineers shall commit themselves to making the analysis, specification, design,
development, testing and maintenance of software a beneficial and respected profession. In
possible, that their efforts will be used for good, software accordance with their commitment to the health, safety and welfare of the public, software
engineers must commit themselves to making software engineers shall adhere to the following Eight Principles:
engineering a beneficial and respected profession.
29 30
5
9/17/23
1. PUBLIC - Software engineers shall act consistently with the public interest. ² Disagreement in principle with the policies of senior
2. CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best management.
interests of their client and employer consistent with the public interest.
3. PRODUCT - Software engineers shall ensure that their products and related
² Your employer acts in an unethical way and releases a
modifications meet the highest professional standards possible. safety-critical system without finishing the testing of the
4. JUDGMENT - Software engineers shall maintain integrity and independence in their system.
professional judgment.
5. MANAGEMENT - Software engineering managers and leaders shall subscribe to and ² Participation in the development of military weapons
promote an ethical approach to the management of software development and
maintenance.
systems or nuclear systems.
6. PROFESSION - Software engineers shall advance the integrity and reputation of the
profession consistent with the public interest.
7. COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues.
8. SELF - Software engineers shall participate in lifelong learning regarding the practice of
their profession and shall promote an ethical approach to the practice of the profession.
Chapter 1 Introduction 31
31 32
² A personal insulin pump ² Collects data from a blood sugar sensor and calculates
§ An embedded system in an insulin pump used by diabetics to the amount of insulin required to be injected.
maintain blood glucose control.
² Calculation based on the rate of change of blood sugar
² A mental health case patient management system levels.
§ A system used to maintain records of people receiving care for ² Sends signals to a micro-pump to deliver the correct
mental health problems.
dose of insulin.
² A wilderness weather station
§ A data collection system that collects data about weather
² Safety-critical system as low blood sugars can lead to
conditions in remote areas. brain malfunctioning, coma and death; high-blood sugar
levels have long-term consequences such as eye and
kidney damage.
33 34
35 36
6
9/17/23
² The system shall be available to deliver insulin when ² A patient information system to support mental health
required. care is a medical information system that maintains
² The system shall perform reliably and deliver the correct information about patients suffering from mental health
problems and the treatments that they have received.
amount of insulin to counteract the current level of blood
sugar. ² Most mental health patients do not require dedicated
² The system must therefore be designed and hospital treatment but need to attend specialist clinics
implemented to ensure that the system always meets regularly where they can meet a doctor who has detailed
knowledge of their problems.
these requirements.
² To make it easier for patients to attend, these clinics are
not just run in hospitals. They may also be held in local
medical practices or community centres.
37 38
² The MHC-PMS (Mental Health Care-Patient ² To generate management information that allows health
Management System) is an information system that is service managers to assess performance against local
intended for use in clinics. and government targets.
² It makes use of a centralized database of patient ² To provide medical staff with timely information to
information but has also been designed to run on a PC, support the treatment of patients.
so that it may be accessed and used from sites that do
not have secure network connectivity.
² When the local systems have secure network access,
they use patient information in the database but they can
download and use local copies of patient records when
they are disconnected.
39 40
41 42
7
9/17/23
43 44
45 46
² Monitor the instruments, power and communication ² Software engineers have responsibilities to the
hardware and report faults to the management system. engineering profession and society. They should not
² Manage the system power, ensuring that batteries are simply be concerned with technical issues.
charged whenever the environmental conditions permit ² Professional societies publish codes of conduct which
but also that generators are shut down in potentially set out the standards of behaviour expected of their
damaging weather conditions, such as high wind. members.
² Support dynamic reconfiguration where parts of the ² Three case studies are used in the book:
software are replaced with new versions and where § An embedded insulin pump control system
backup instruments are switched into the system in the § A system for mental health care patient management
event of system failure. § A wilderness weather station
Chapter 1 Introduction 47
47 48
8
9/17/23
Chapter 1 Introduction 49
49