You are on page 1of 23

INFORMATION SYSTEMS 3A

INTRODUCTION TO
SOFTWARE ENGINEERING

2022 L Madamshetty Department Of IS 1


Topics to be covered
▸ Professional software development
▹ What is meant by software engineering.
▸ Software engineering ethics
▹ A brief introduction to ethical issues that affect
software engineering.
▸ Case studies
▹ An introduction to three examples that are used in
later chapters in the book.

2
Importance of Software
• One of the most important technologies in modern
times
• Underpins: finance, health, engineering, manufacturing,
science, telecommunications, entertainment etc.
• One of the building blocks for a nations economy
• Some measure economy by expenditure on software
• Driving force of social interaction, communication,
consumer economies
• This proliferation requires maintenance of millions of
existing, software systems

2022 L Madamshetty Department Of IS 3


Software costs
• Software costs often dominate computer system costs. The costs of
software on a PC are often greater than the hardware cost.
• Software costs more to maintain than it does to develop. For systems
with a long life, maintenance costs may be several times more than
development costs.
• Software engineering is concerned with cost-effective software
development.

30/10/2014 Chapter 1 Introduction 4


2022 L Madamshetty Department Of IS 5
Software
• The economies of ALL developed nations are
dependent on software.
• More and more systems are software controlled
• Software engineering is concerned with theories, methods and tools
for professional software development.
• Expenditure on software represents a
significant fraction of GNP(Gross National Product)in all developed
countries.

30/10/2014 Chapter 1 Introduction 6


Software Engineering
The definition given in the IEEE Standard Glossary of Software
Engineering Terminology (IEEE610, 1990) is as follows:
Software engineering is the application of a systematic, disciplined,
quantifiable approach to the development, operation, and
maintenance of software; that is, the application of engineering to
software.

2022 L Madamshetty Department Of IS 7


Software project failure
• Increasing system complexity
• Failure to use software engineering methods

30/10/2014 Chapter 1 Introduction 8


Software and Software
Engineering
Software:
• “Computing systems and documentation. Software products may be
developed for a particular customer (custom) or may be developed
for a general market (generic)”
Software engineering:
• “Software engineering is an engineering discipline that is concerned
with all aspects of software production

2022 L Madamshetty Department Of IS 9


Tutorials
• What is good software? List some attributes.?
• Why is software engineering important?

2022 L Madamshetty Department Of IS 10


Professional software development

30/10/2014 Chapter 1 Introduction 11


Software products
• 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.
• 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.

30/10/2014 Chapter 1 Introduction 12


Software Attributes
Software must be:
• Acceptable
• Dependable and secure
• Efficient
• Maintainable

2022 L Madamshetty Department Of IS 13


Software Engineering
Software engineering is important for two reasons:
• 1. More and more, individuals and society rely on advanced software
systems. We need to be able to produce reliable and trustworthy
systems economically and quickly.
• 2. It is usually cheaper, in the long run, to use software engineering
methods and techniques for professional software systems rather
than just write programs as

2022 L Madamshetty Department Of IS 14


Software Process activities

What work is done in each of these


activities/Phases?

2022 L Madamshetty Department Of IS 15


General issues that affect
software

• Heterogeneity
• Business and social change
• Security and trust
• Scale

2022 L Madamshetty Department Of IS 16


Software engineering diversity
• System software
• Application software
• Engineering/Scientific software
• Embedded software
• Product-line software
• Web/Mobile applications
• Machine intelligence (robotics, neural nets, game playing)
Formally known as AI

2022 L Madamshetty Department Of IS 17


Application types
• Stand-alone applications
• Interactive transaction-based applications
• Embedded control systems
• Batch processing systems
• Entertainment systems
• Systems for modelling and simulation
• Data collection systems
• Systems of systems

2022 L Madamshetty Department Of IS 18


Software engineering fundamentals

• Planed and managed development process


• Software must behave as expected, always available and work
without failure (dependable).
• Efficient use of resources (performance).
• Manage stakeholder expectations (requirements)
• Manage software reuse

2022 L Madamshetty Department Of IS 19


Changing Nature of Software
WebApps
• Semantic web technologies(Web3.0)
• Semantic databases; web linking; flexible data representation; and
application programmer interfaces(API’s)
Mobile Apps
• Can gain direct access to the hardware found on the device to provide local
processing and storage capabilities
Cloud Computing
• Cloud computing provides distributed data storage and processing
resources to networked computing devices
2022 L Madamshetty Department Of IS 20
Changing Nature of Software
Product Line Software
• A software product line shares a set of assets that include
requirements, architecture, design patterns, reusable components,
test cases and other work products
Service orientated software
• Software system is composed of standalone web-services
Rich internet interfaces
• AJAX and HTML5

2022 L Madamshetty Department Of IS 21


Software engineering ethics
Software engineers must behave in an honest and ethically
• Be respected as professionals
• Ethical behavior is more than simply upholding the law
• involves following a set of principles that are morally correct.
• Respect Confidentiality of employers and clients
• Not accept work outside your Competence
• Protect the intellectual property of employers and clients
• Not use technical skills to misuse other people’s computers
• ACM/IEEE maintain code of ethics and processional practice

https://www.youtube.com/watch?v=d91MTV9AlNg

2022 L Madamshetty Department Of IS 22


Software Engineering Video
• https://www.youtube.com/watch?v=Z2no7DxDWRI

2022 L Madamshetty Department Of IS 23

You might also like