3. What is Software
• Software: Computer programs and associated
documentation such as requirements, design models
and user manuals.
4. Software
Engineering
The application of a systematic,
disciplined, quantifiable approach to
the development, operation, and
maintenance of software, and the study
of these approaches; that is, the
application of engineering to software.
-
What is it?
6. What is software engineering?
• Software engineering is an engineering discipline that is concerned with
all aspects of software production.
• In this above definition there are two key phrases
• Software engineers should adopt a systematic and organised approach to
their work and use appropriate tools and techniques depending on the
problem to be solved, the development constraints and the resources
available.
7. Software Engineering
Objective
To produce software that is:
• On time: is deliver at the established
date.
• Reliable: doesn´t crash.
• Complete: good documentation, fulfill
customer needs.
8. Software Products
• Software products may be developed for a particular
customer or may be developed for a general market.
• Software products may be
• Generic - developed to be sold to a range of different
customers e.g. PC software such as Excel or Word.
• Bespoke (custom) - developed for a single customer
according to their specification.
9. 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.
9
10. Difference between software engineering and
computer science?
• Computer science is concerned with theory and fundamentals;
software engineering is concerned with the practicalities of
developing and delivering useful software.
11. What is the difference between software
engineering and system engineering?
• System engineering is concerned with all aspects of computer-
based systems development including hardware, software and
process engineering. Software engineering is part of this process
concerned with developing the software infrastructure, control,
applications and databases in the system.
• System engineers are involved in system specification,
architectural design, integration and deployment.
12. What is a software process?
• A set of activities whose goal is the development or evolution of
software.
• Generic activities in all software processes are:
• Specification - what the system should do and its development constraints
• Development – design and production of the software system
• Validation - checking that the software is what the customer wants
• Evolution - changing the software in response to changing demands.
19. Class Activity
• Take a paper and pen
• Write a paragraph about Importance of software in our life.
(alpha)
• Select any software of your own choice and write a paragraph on
its benefits in your life. (omega)
• You have ten minutes. I will ask randomly someone to present for
two minutes.
20. Frequently asked questions about software engineering
Chapter 1 Introduction 20
Question Answer
What is software? Computer programs and associated documentation. Software products may be
developed for a particular customer or may be developed for a general market.
What are the attributes of good software? Good software should deliver the required functionality and performance to the user
and should be maintainable, dependable and usable.
What is software engineering? Software engineering is an engineering discipline that is concerned with all aspects of
software production.
What are the fundamental software engineering activities? Software specification, software development, software validation and software
evolution.
What is the difference between software engineering and
computer science?
Computer science focuses on theory and fundamentals; software engineering is
concerned with the practicalities of developing and delivering useful software.
What is the difference between software engineering and
system engineering?
System engineering is concerned with all aspects of computer-based systems
development including hardware, software and process engineering. Software
engineering is part of this more general process.
21. Essential attributes of Good Software
Chapter 1 Introduction 21
Product characteristic 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.
Dependability and security Software dependability includes a range of characteristics including reliability, security and safety.
Dependable software should not cause physical or economic damage in the event of system failure.
Malicious users should not be able to access or damage the system.
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 Software must be acceptable to the type of users for which it is designed. This means that it must be
understandable, usable and compatible with other systems that they use.
22. Summary
•Introduction of teacher and students
•Introduction of OBE
•Introduction of our course
•What is Software
•What is Software Engineering
•Objectives of Software Engineering
•Software products
•Difference between Software , computer and system
engineering
•Software process
•FAQs about Software engineering
•Essential attributes of Good Software
#4:Systematic: done or acting according to a fixed plan or system; methodical.
Disciplined: showing a controlled form of behaviour or way of working
Quantifiable: able to be expressed or measured as a quantity.