SWE Weeki
SWE Weeki
Course Materials
Other references:
- Software Engineering by Ian Sommerville,10th edition Pearson,2015; Software
Engineering : A practitioner’s Approach, 8th Edition by Roger Pressman.
Course Description
Course Materials
• Plagiarism will not be tolerated. You may discuss class material and general
solution strategies with classmates, but when it comes to formulating/programming
homework problems solutions, you must work alone.
• If you have a disability and need any accommodation, please let me know.
Course Evaluation Criteria
Your final grade is determined by a weighted average of the grades you receive on the
following activities:
Lecture 1
Software engineering
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.
▪ The specification of what the software should do is owned by the software
developer and decisions on software change are made by the developer.
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.
▪ The specification of what the software should do is owned by the customer
for the software and they make decisions on software changes that are
required.
Chapter 1 Introduction 11
Essential attributes of good software
Chapter 1 Introduction 12
Software engineering
Chapter 1 Introduction 13
Importance of software engineering
Chapter 1 Introduction 14
Software process activities
Chapter 1 Introduction 15
General issues that affect most software
Heterogeneity
▪ Increasingly, systems are required to operate as distributed
systems across networks that include different types of computer
and mobile devices.
Business and social change
▪ Business and society are changing incredibly quickly as
emerging economies develop and new technologies become
available. They need to be able to change their existing software
and to rapidly develop new software.
Security and trust
▪ As software is intertwined with all aspects of our lives, it is
essential that we can trust that software.
Chapter 1 Introduction 16
Software engineering diversity
Chapter 1 Introduction 17
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.
Interactive transaction-based applications
▪ Applications that execute on a remote computer and are
accessed by users from their own PCs or terminals. These
include web applications such as e-commerce applications.
Embedded control systems
▪ These are software control systems that control and manage
hardware devices. Numerically, there are probably more
embedded systems than any other type of system.
Chapter 1 Introduction 18
Application types
Chapter 1 Introduction 19
Application types
Chapter 1 Introduction 20
Software engineering fundamentals
Chapter 1 Introduction 21
Software engineering and the web
Chapter 1 Introduction 22
Web-based software engineering
Chapter 1 Introduction 23
Software engineering ethics
Confidentiality
▪ Engineers should normally respect the confidentiality of their
employers or clients irrespective of whether or not a formal
confidentiality agreement has been signed.
Competence
▪ Engineers should not misrepresent their level of competence.
They should not knowingly accept work which is outwith their
competence.
Issues of professional responsibility
Chapter 1 Introduction 27
Key points
Chapter 1 Introduction 28
Questions ?
Chapter 1 Introduction 29