the primary focus of software engineering
Software Engineering Practices and Ethics
What software engineering is and why it matters, software costs and failures, generic vs. customized products, attributes of good software, how software differs from hardware, application types, web software engineering, the layered view, the generic process framework and umbrella activities, and professional ethics (ACM/IEEE code) with the insulin-pump and Mentcare case studies.
How to read this page
Every original slide is shown unchanged. Yellow marks on a slide point to a numbered note: hover or tap a mark to jump to its note, and hover a note to see its marks. Questions tagged Past exam appeared on a real paper; Prediction questions are likely angles, not confirmed. Pick an answer to each question: a wrong pick tells you why it is wrong, so you can try again.
All 62 slides
- 1 Chapter 1
- 2 Course Learning Outcomes
- 3 Topics covered
- 4 Software engineering
- 5 Software costs
- 6 Software Project Failure
- 7 Slide 7
- 8 Frequently asked questions about software engineering
- 9 Frequently Asked Questions about Software Engineering
- 10 Software Products
- 11 Product specification
- 12 Essential attributes of good software
- 13 Software Engineering
- 14 Importance of Software Engineering
- 15 What is unique about software?
- 16 Wear Vs. Deteriorate
- 17 General issues that affect software
- 18 General issues that affect software
- 19 Software engineering diversity
- 20 Application types
- 21 Application Types
- 22 Application types
- 23 Software Engineering Fundamentals
- 24 Internet Software Engineering
- 25 Web-based Software Engineering
- 26 Web Software Engineering
- 27 Web Software Engineering
- 28 Attributes of Web-based software systems (WebApps)
- 29 Software Engineering – A Layered Technology
- 30 Software Engineering Layers
- 31 The Software Process
- 32 The Software Process
- 33 A Process Framework
- 34 Generic Software Process Framework
- 35 Umbrella Activities
- 36 Umbrella Activities
- 37 Umbrella Activities
- 38 Slide 38
- 39 Professional and Ethical Responsibilities in Software Engineering
- 40 Software Engineering Ethics
- 41 Issues of Professional Responsibility
- 42 Issues of Professional Responsibility
- 43 Why should we have professional code of ethics?
- 44 Why should we have professional code of ethics?
- 45 Professional Ethics
- 46 ACM/IEEE Code of Ethics
- 47 Rationale for the code of ethics
- 48 The ACM/IEEE Code of Ethics
- 49 Ethical principles
- 50 Ethical Dilemma
- 51 Case studies
- 52 Insulin pump control system
- 53 Activity model of the insulin pump
- 54 Essential high-level requirements
- 55 Mentcare: A patient information system for mental health care
- 56 Mentcare
- 57 Mentcare goals
- 58 The organization of the Mentcare system
- 59 Key features of the Mentcare system
- 60 Mentcare system concerns
- 61 Key points
- 62 Key points
Software engineering
Notes
Software engineering: an engineering discipline concerned with ALL aspects of software production, from specification to maintenance.
Exam angle
The primary focus of software engineering is:
Software Products
Notes
Generic products: sold on the open market; the DEVELOPER owns the specification. Customized (bespoke): built for one customer, who owns the specification.
Exam angle
who owns the specification of a generic product
For a generic software product, the specification is owned by:
Essential attributes of good software
Exam angle
Which is NOT one of the essential attributes of good software?
Wear Vs. Deteriorate
Notes
Hardware WEARS OUT (bathtub curve); software doesn’t wear out but DETERIORATES as changes introduce defects.
Trap Software deteriorates; it does NOT wear out.
Exam angle
wear out vs. deteriorate
Software does not deteriorate over time; it wears out.
- It is the other way round.
General issues that affect software
Notes
Issues affecting most software: heterogeneity, business and social change, security and trust, scale.
Application types
Notes
Application types: stand-alone, interactive transaction-based, embedded control, batch, entertainment, modeling and simulation, data collection, systems of systems.
Software Engineering – A Layered Technology
Exam angle
The foundation layer of software engineering is:
A Process Framework
Notes
Generic framework activities: communication, planning, modeling, construction, deployment.
Memory trick C-P-M-C-D: Communication, Planning, Modeling, Construction, Deployment.
Exam angle
Which is NOT a generic framework activity?
- Risk management is an umbrella activity.
Issues of Professional Responsibility
Notes
Professional responsibility: confidentiality, competence, intellectual property rights, computer misuse.
ACM/IEEE Code of Ethics
Notes
ACM/IEEE code: 8 principles: public, client and employer, product, judgment, management, profession, colleagues, self. Act in the PUBLIC interest first.
Exam angle
According to the ACM/IEEE code, software engineers shall act consistently with the interest of:
Ethical Dilemma
Notes
Ethical dilemmas: disagreeing with management policy, being asked to release unsafe software, working on military systems.
Insulin pump control system
Notes
Case studies: insulin pump (safety-critical embedded), Mentcare (patient information system).