BCS 2433 Software Engineering
BCS 2433 Software Engineering
BCS 2433 Software Engineering
Software Engineering
correct subject!)
Basic Info
Textbook: Ian Sommerville. Software Engineering (10th
https://sites.google.com/site/ztfarihatatiuc/
Basic Info
Course Overview: This course gives an overview of
Course Topics
Chapter 1 : Introduction
Chapter 2 : Software Process
Chapter 3 : Requirements Engineering
Chapter 4 : Architectural Design
Chapter 5 : Software Reuse
Chapter 6 : Component Based SE
Chapter 7 : Software Evolution
Chapter 8 : Software Testing
Chapter 1- Introduction
LECTURE 1
Topics covered
8
1.
Software costs
Software costs often dominate computer system
Software products
10
Generic
Products
Customized
Products
NEXT
Chapter 1 Introduction
Software products
11
Generic products
Product specification
BACK
Chapter 1 Introduction
Software products
12
Customized products
Product specification
BACK
Chapter 1 Introduction
Question
Answer
What is software?
What are the fundamental software engineering Software specification, software development, software validation
activities?
and software evolution.
What is the difference between
engineering and computer science?
software System engineering is concerned with all aspects of computerbased systems development including hardware, software and
process engineering.
Software engineering is part of this more general process.
Chapter 1 Introduction
Answer
What are the key challenges facing software Coping with increasing diversity, demands for reduced delivery
engineering?
times and developing trustworthy software.
What are the costs of software engineering?
Chapter 1 Introduction
The web has led to the availability of software services 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.
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.
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
Chapter 1 Introduction
Software engineering
16
Chapter 1 Introduction
Chapter 1 Introduction
Chapter 1 Introduction
Heterogeneity
Chapter 1 Introduction
Chapter 1 Introduction
8 Application types
21
Stand-alone applications
Chapter 1 Introduction
Application types
22
Entertainment systems
These are systems that are primarily for personal use and
which are intended to entertain the user.
Chapter 1 Introduction
Application types
23
Systems of systems
Chapter 1 Introduction
Chapter 1 Introduction
and organizations are increasingly developing webbased systems rather than local systems.
Web services allow application functionality to be
accessed over the web.
Cloud computing is an approach to the provision of
computer services where applications run remotely
on the cloud.
Chapter 1 Introduction
based systems.
When building these systems, you think about how you can assemble them
from pre-existing software components and systems.
incrementally.
browsers.
Chapter 1 Introduction
Key points
27
Key points
28
Chapter 1 Introduction
Chapter 1- Introduction
LECTURE 2
Computer misuse
Chapter 1 Introduction
Chapter 1 Introduction
Ethical principles
36
1. PUBLIC - Software engineers shall act consistently with the public interest.
2. CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best
interests of their client and employer consistent with the public interest.
3. PRODUCT - Software engineers shall ensure that their products and related
modifications meet the highest professional standards possible.
4. JUDGMENT - Software engineers shall maintain integrity and independence in their
professional judgment.
5. MANAGEMENT - Software engineering managers and leaders shall subscribe to and
promote an ethical approach to the management of software development and
maintenance.
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
Ethical dilemmas
Disagreement in principle with the policies of senior
management.
Your employer acts in an unethical way and releases
a safety-critical system without finishing the testing
of the system.
Participation in the development of military
weapons systems or nuclear systems.
Key points
Software engineers have responsibilities to the engineering