0% found this document useful (0 votes)
62 views16 pages

01 - SE - Introduction To Software Engineering

Software engineering is concerned with all aspects of professionally developed software, from initial requirements to ongoing maintenance. It addresses causes of past project failures like cost overruns, delays, and low quality. Software engineers balance the needs of users, technical teams, and management by applying engineering best practices and software development processes. The discipline is important for producing reliable systems economically and addressing why unmanaged programming leads to higher long-term costs.

Uploaded by

Tan BunChhay
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)
62 views16 pages

01 - SE - Introduction To Software Engineering

Software engineering is concerned with all aspects of professionally developed software, from initial requirements to ongoing maintenance. It addresses causes of past project failures like cost overruns, delays, and low quality. Software engineers balance the needs of users, technical teams, and management by applying engineering best practices and software development processes. The discipline is important for producing reliable systems economically and addressing why unmanaged programming leads to higher long-term costs.

Uploaded by

Tan BunChhay
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/ 16

Introduction To Software

Engineering
What is Software?

To non-technical users, software is simply


another word for computer programs.
However, when we are talking about software
engineering, we talk about professionally
developed software that is often more than just a
single program.

Chea Daly SE 2
What is Software?

To software engineers, software is:


requirements specification documents
design documents
source code
test suites and test plans
configuration files
system documentation which describes the structure of the
system
user documentation which explains how to use the system
websites for users to download recent product information.

Chea Daly SE 3
Types of Software Products

Software engineers are concerned with


developing software products that can be sold to
a customer.
There are two kinds of software product:
Generic product
Customized product

Chea Daly SE 4
Types of Software Products

Generic product: Software sold on the open


market to any customer who is able to buy them.
the organization that develops the software
controls the software specification. This
means that if they run into development
problems, they can rethink what is to be
developed.

Chea Daly SE 5
Types of Software Products

Customized product or Custom product:


Software developed for a particular customer. A
software contractor designs and implements the
software especially for that customer.
the specification is developed and controlled
by the organization that is buying the
software. The developers must work to that
specification.

Chea Daly SE 6
Types of Software Products

However, the distinction between these system


product types is becoming increasingly blurred.
More and more systems are now being built
with a generic product as a base, which is
then adapted to suit the requirements of a
customer.

Chea Daly SE 7
Software Crisis Statistics In 1990’s

- 31 % of projects canceled.
- 52.7% cost an average of 189% over budget.
- 84% are late or over budget.
- The average system is delivered without 58% of
proposed functionalities.
- $81 billion in 1995 for cancelled projects.
- $51 billion in 1995 for over-budget projects.
- Only 16.2% of software projects are completed on-
time and on-budget.

Chea Daly SE 8
Causes of Software Crisis

Causes of Software Crisis:


Projects running over-budget
Projects running over-time
Software was of low quality
Software often did not meet requirements
Code was difficult to maintain and the projects
were a mess and unmanageable.
Software was never delivered.

Chea Daly SE 9
Why Software Engineering?

There are solutions for preventing software


crisis:
Understanding of commonly used software
development process models
Experience working as a team member on a
software development project.

Software Engineers possess such knowledge
and skills!
Chea Daly SE 10
Software Engineers

The job of a software engineer has to balance


between different people involved, such as:
Dealing with users: User do not know what to
actually expect from the software.
Dealing with technical people: Developers
think more of database terms, functionality, etc.
Dealing with management team: They are
concerned with quality, budgeting and schedule.

Chea Daly SE 11
Software Engineering

Software engineering is an engineering discipline that


is concerned with all aspects of software production
from the early stages of system specification to
maintaining the system after it has gone into use.
Engineering discipline: Engineers apply theories and
methods, and always try to discover solutions to
problems even when there are no applicable theories
and methods. Engineers also recognize that they must
work within organizational and financial constraints.

Chea Daly SE 12
Software Engineering

All aspects of software production: Software


engineering is not just concerned with the technical
processes of software development. It also includes
activities such as software project management and
the development of tools, methods, and theories to
support software development.

Chea Daly SE 13
Software Engineering

Software engineering is intended to support


professional software development rather than
individual programming.
It includes techniques that support program
specification, design, implementation, etc., none of
which are normally relevant for personal software
development.

Chea Daly SE 14
Software Engineering

Software engineering is important for two reasons:


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 professional
software systems rather than just write programs as a
personal programming project. Failure to use software
engineering method leads to higher costs for testing,
quality assurance, and long-term maintenance.

Chea Daly SE 15
References

1. Ian Sommerville ‘Software Engineering’, 10e – 2016


2. Roger S. Pressman ‘Software Engineering: a
practitioner’s approach’, 7e – 2010
3. ukessays.com
4. en.wikipedia.org

Chea Daly SE 16

You might also like