You are on page 1of 20

SOFTWARE AND

SOFTWARE
ENGINEERING
HIRA FAYYAZ
COURSE COUNSELLING HOURS

 Ms. Hira Fayyaz


 Cabin No.2,Hall no 506, 5th floor
 Email: hira.fayyaz@umt.edu.pk
 Counselling hours:
 Monday: 11:00-12:30
 Tuesday: 9:30- 12:30
 Thursday: 11:12:30
 Friday: 9:30- 12:30
COURSE EVALUATION

 FINAL TERM: 30 %
 MID TERM: 20 %
 PROJECT: 10%
 ASSIGNMENTS: 5%
 QUIZ: 15%
 ACTIVITY:10 %
 CLASS PARTICIPATION: 10%
IMPORTANT QUESTIONS!!!

 What is Software Engineering?


 Why its important?
 Why are we studying this course?
 How this course helps us in our future?
GENERAL STRUCTURE

 BASIC CONCEPTS
 DESIGN PRINCIPLES FOR DESIGNING SOFTWARE
 UML DIAGRAMS
Why Software Engineering?

Delivered, but never


successfully used
45%

Used as delivered
2%
Usable w. rework
Paid for, but
3% not delivered
30%
Used w. extensive rework,
but later abandoned
20%
SOFTWARES

What is software?
 Instruction – executed provide desire features, function & performance.
 Data structure – to adequately manipulate operation.
 Documents – operation and use of the program.

Why is software important?


Software is important because it affects nearly every aspect of our lives and has
become pervasive in our commerce, our culture, and our everyday activities.
SOME QUESTIONS TO THINK ABOUT!

 Why does it take so long to get software finished?


 Why are development costs so high?
 Why can’t we find all errors before we give the software to our customers?
 Why do we spend so much time and effort maintaining existing programs?
 Why do we continue to have difficulty in measuring progress as software is being
developed and maintained?
CHARACTERISTICS OF SOFTWARES-1

 Software is developed or engineered; it is not manufactured in the classical sense.


Once a hardware product has been manufactured, it is difficult or impossible to modify. In
contrast, software products are routinely modified and upgraded.
CHARACTERISTICS OF SOFTWARES-2

 “Software doesn’t “wear out, it deteriorates”


FAILURE CURVE OF HARDWARE
FAILURE CURVE FOR SOFTWARE
CHARACTERISTICS OF SOFTWARES-3

 Although the industry is moving toward component-based construction,


most software continues to be custom built.
HARDWARE vs. SOFTWARE
SOFTWARE APPLICATION DOMAINS


System software
System software is a collection of programs written to service other programs.

Application software
Application software consists of standalone programs that solve a specific business need.
Application software is used to control the business function in real-time.

Engineering/scientific software
Applications range from astronomy to volcano logy, from automotive stress analysis to space
shuttle orbital dynamics, and from molecular biology to automated manufacturing.
SOFTWARE APPLICATION DOMAINS

Embedded software
It resides in read-only memory and is used to control products and systems
Embedded software can perform limited and esoteric functions.

Product line software
Designed to provide a specific capability for use by many different customers, product line
software can focus on a limited and esoteric marketplace.

Web applications
It evolving into sophisticated computing environments that not only provide standalone
features, functions but also integrated with corporate database and business applications.

Artificial intelligence software
AI software makes use of non-numerical algorithms to solve complex problems that are not
amenable to computation or straightforward analysis
SOFTWARE ENGINEERING

 What is software engineering?


[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.
 Why it is important?
Software engineering is important because it enables us to build complex systems in a timely
manner and with high quality.
IMPORTANCE OF SOFTWARE
ENGINEERING
SOFTWARE ENGINEERING-LAYERED
TECHNOLOGY
SOFTWARE PROCESS

Process:
 It’s a foundation layer for software engineering.
 It’s define framework for a set of key process areas (KRA) for effectively manage and
deliver quality software in a cost effective manner
 The processes define the tasks to be performed and the order in which they are to be
performed

You might also like