0% found this document useful (0 votes)
35 views5 pages

Lecture Note 01 (Edited) (#)

Uploaded by

KamalSilvas
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)
35 views5 pages

Lecture Note 01 (Edited) (#)

Uploaded by

KamalSilvas
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/ 5

University of Kelaniya

Sri Lanka

Software Engineering
COSC 21052

INTRODUCTION

SACHINTHA PITIGALA
[email protected]
© 2022 - Sachintha Pitigala

1
What is Software Engineering?

What is a Software?

Programs Documentation

• A software consists of set of programs and documentations.

What is Engineering?

• Engineering is the use of scientific principles to design and build machines, structures,
and other items, including bridges, tunnels, roads, vehicles, and buildings.

2
So, What is Software Engineering?

The seminal definition:

[Software engineering is] the establishment and use of sound engineering principles in order
to obtain economically software that is reliable and works efficiently on real machines.
The IEEE definition:

Software Engineering: The application of a systematic, disciplined, quantifiable approach


to the development, operation, and maintenance of software.

Why do we need it?

• Large Software
• Scalability
• Cost
• Dynamic Nature
• Quality Management

Reasons for Failures


• Schedule Slippage
• Cost over-runs
• Doesn’t solve user’s problem
• Poor quality of software
• Poor maintainability

3
Why?
• Because, Ad hoc Software Development
• 'Ad hoc' is a term used to refer to
o spontaneous events which happen without planning.

Why Ad Hoc Development?


• No planning of development work (no milestones defined)
• Deliverables to user not identified
• Poor understanding of user requirements
• No control or review
• Technical incompetence of developer
• Poor understanding of cost and effort by both developer and user

Attributes of Good Software


• Maintainability
o Software must evolve to meet changing needs
• Dependability
o Software must be trustworthy
• Efficiency
o Software should not make wasteful use of system recourses
• Acceptability
o Software must be accepted by users for which it was designed

(User friendliness, Reliability, Reusability, Interoperability

How can we built a Good Software?


• Applying the engineering approach
o Attempt to estimate cost/effort
o Plan and schedule work
o Involve user in defining requirements
o Identify stages in development
o Define clear milestones so that progress can be measured
o Schedule reviews both for control and quality
o Define deliverables
o Plan extensive testing

4
Why it is Difficult?
• Dealing with users
− Define requirements
− Concern with ease-of-use and response time
• Dealing with technical people
− Concerned with coding, databases, file structures, etc.
• Dealing with management
− Concerned with return on their investment
− Cost-benefit analysis
− Schedule

Types of Software
• System Software
• Application Software

Types of Software
• Generic Software
• Bespoke Software (Custom Built Software)

You might also like