Beruflich Dokumente
Kultur Dokumente
Mahroos Shahid
Objectives
• To understand the importance of Software
Engineering.
• To help students to develop skills that will
enable them to construct software of high
quality
• Software that is reliable.
• Software that is reasonably easy to
understand, modify and maintain
• To foster an understanding of why these skills
are important
Introduction
What is Software?
Software is a set of items or objects
that form a “configuration” that
includes
• programs
• documents
• data ...
Software in Use
• system software
• real-time software
• Application software
• engineering/scientific software
• AI software
• WebApps (Web applications)
Software Crisis
Software Crisis
Term first used in late 1960s
More powerful and cheaper hardware
resulted in
More complex application
Existing methods of software development were
not good enough
Software development techniques could not be
scaled-up
Software Crisis - Contd.
Resulted in software projects which were:
Late – sometimes by many years
Over budget
Unreliable
Difficult to maintain
Poor in performance
Required new techniques and methods to
control the complexity inherent in “LARGE”
software systems.
Software Engineering
Software Engineering as defined by IEEE
11
The Balancing Act!
• These requirements may be conflicting:
– Cost vs Efficiency
– Cost vs Reliability
– Efficiency vs User friendly
• Challenge is to balance these requirements.
The Role of Software Engg.
(1)
A bridge from customer needs to programming implementation
Customer
Programmer
System-to-be
Environment
Software-to-be
User