0% found this document useful (0 votes)
16 views22 pages

Chapter 1

Software is defined as instructions, data structures, and documentation that provide desired features and performance. It is developed rather than manufactured, and can be categorized into generic and customized products. Software engineering is essential for producing reliable systems efficiently, addressing ongoing challenges in software quality and project management.

Uploaded by

Siti Nur Ariffa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views22 pages

Chapter 1

Software is defined as instructions, data structures, and documentation that provide desired features and performance. It is developed rather than manufactured, and can be categorized into generic and customized products. Software engineering is essential for producing reliable systems efficiently, addressing ongoing challenges in software quality and project management.

Uploaded by

Siti Nur Ariffa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Lecture 1

CHAPTER 1 – INTRODUCTION
TO SOFTWARE ENGINEERING

Chapter 1 - Introduction to SE 1
What is Software?

Software is: (1) instructions (computer programs)


that when executed provide desired features,
function, and performance; (2) data structures that
enable the programs to adequately manipulate
information and (3) documentation that describes
the operation and use of the programs.

Chapter 1 - Introduction to SE 2
What is Software?

▪ Software is developed or engineered, it is not


manufactured in the classical sense.
▪ Definition from Cambridge Dictionary:
▪ Development:
the process in which someone or something
grows or changes and becomes more advanced
▪ Manufacture:
the process to produce goods in large numbers,
usually in a factory using machines

Chapter 1 - Introduction to SE 3
What is Software?

▪ Software doesn't "wear out."


▪ Although the industry is moving toward
component-based construction, most software
continues to be custom-built.

Chapter 1 - Introduction to SE 4
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.

Chapter 1 - Introduction to SE 5
Product specification

✧ Generic products
▪ 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
▪ 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 to SE 6
Application types

✧ Stand-alone applications
✧ Interactive transaction-based applications
✧ Embedded control systems
✧ Batch processing systems
✧ Entertainment systems
✧ Systems for modeling and simulation
✧ Data collection systems
✧ Systems of systems

Chapter 1 - Introduction to SE 7
Software engineering

✧ Software engineering is an engineering discipline that


is concerned with all aspects of software production
from the early stages of system specification through
to maintaining the system after it has gone into use.
✧ Engineering discipline
▪ Using appropriate theories and methods to solve problems
bearing in mind organizational and financial constraints.
✧ All aspects of software production
▪ Not just technical process of development. Also project
management and the development of tools, methods etc. to
support software production.

Chapter 1 - Introduction to SE 8
Importance of software engineering

✧ 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.
✧ It is usually cheaper, in the long run, to use software
engineering methods and techniques for software
systems rather than just write the programs as if it was
a personal programming project. For most types of
system, the majority of costs are the costs of changing
the software after it has gone into use.

Chapter 1 - Introduction to SE 9
Software process activities

✧ Software specification
✧ Software development
✧ Software validation
✧ Software evolution

Chapter 1 - Introduction to SE 10
“The Software Crisis”

✧ We’ve been in the midst of a crisis ever since the 1968


NATO meeting that christened software engineering
✧ “We are unable to produce or maintain high-quality
software at reasonable price and on schedule.”

Chapter 1 - Introduction to SE 11
Some “crisis” issues

✧ Relative cost of hardware/software


✧ Low productivity
✧ “Wrong” products
✧ Poor quality
✧ Constant maintenance
✧ Technology transfer is slow

Chapter 1 - Introduction to SE 12
Causes of Software Crisis

▪ Project running over budget.


▪ Project running over time.
▪ Software was very inefficient.
▪ Software was of low quality.
▪ Software often didn’t meet requirements.
▪ Project were unmanageable and code difficult to
maintain.
▪ Software was never delivered.

Chapter 1 - Introduction to SE 13
Example of Software Crisis

▪ https://www.youtube.com/watch?v=gp_D8r-2hwk
▪ https://www.youtube.com/watch?v=W3YJeoYgozw

Chapter 1 - Introduction to SE 14
Solution of Software Crisis

▪ Software Engineering

Chapter 1 - Introduction to SE 15
Solution of Software Crisis

▪ In software engineering, the possible solution to software


crisis is the proper use of software metrics and the proper
utilization of these metrics .
▪ For the implementation of this solution of to the problem of
software crisis some pre-requisites are there
▪ Knowledge of basic statistics and experimental design.
▪ Basic understanding of commonly used software life cycle
models, at least to the level covered in an introductory
senior or graduate-level software engineering course.
▪ Experience working as a team member on a software
development project.

Chapter 1 - Introduction to SE 16
Solution of Software Crisis

For the projects which are delivered late must adopt the following
methodology:
▪ Project Planning & Scheduling for the projects which are
delivered late must adopt the following methodology.
▪ Cost Estimation For the projects running out of budget, cost
estimation methodology must be applied.
▪ Risk Management In order to cope up with the increasing
system complexity, risk management should be applied.

Chapter 1 - Introduction to SE 17
Cost of Quality

⚫ COST OF QUALITY (COQ) is a measure that


quantifies the cost of control/conformance and the
cost of failure of control/non-conformance. In other
words, it sums up the costs related to prevention and
detection of defects and the costs due to occurrences
of defects.

Chapter 1 - Introduction to SE 18
Essential attributes of good software

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 Software dependability includes a range of characteristics
security 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.

Chapter 1 - Introduction to SE 19
Total Quality Management (TQM)

Customers will seek out Improved quality that exceeds


the highest quality customer expectations will generate
product more revenues that exceed the cost
of quality

Therefore,
quality is “free”

Chapter 1 - Introduction to SE 20
Frequently asked questions about software engineering

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 Software specification, software development, software
engineering activities? validation and software evolution.
What is the difference between software Computer science focuses on theory and fundamentals;
engineering and computer science? software engineering is concerned with the practicalities
of developing and delivering useful software.
What is the difference between software System engineering is concerned with all aspects of
engineering and system engineering? computer-based systems development including
hardware, software and process engineering. Software
engineering is part of this more general process.

Chapter 1 - Introduction to SE 21
Frequently asked questions about software engineering

Question Answer
What are the key challenges facing Coping with increasing diversity, demands for reduced
software engineering? delivery times and developing trustworthy software.
What are the costs of software Roughly 60% of software costs are development costs,
engineering? 40% are testing costs. For custom software, evolution
costs often exceed development costs.
What are the best software engineering While all software projects have to be professionally
techniques and methods? managed and developed, different techniques are
appropriate for different types of system. For example,
games should always be developed using a series of
prototypes whereas safety critical control systems require
a complete and analyzable specification to be developed.
You can’t, therefore, say that one method is better than
another.
What differences has the web made to The web has led to the availability of software services
software engineering? 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.

Chapter 1 - Introduction to SE 22

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy