Uploaded by TL Sadiya Muskan

05TH AUGUST-NOTES SOFTWARE ENGINEERING

advertisement
SOFTWARE ENGINEERING – UNIT I
INTRODUCTION
What is Software?
Software is: an instructions (computer programs) that
when executed provide desired features, function, and
performance.
What is Engineeering?
Engineering is: Designing of the particular software by
analyzing the requirements completely.
What is Software Engineering?
SOFTWARE ENGINEERING is the technological and
managerial discipline concerned with systematic production
and maintenance of software products that are developed and
modified on time and within cost estimates.
EVOLVING ROLE OF SOFTWARE
The role of computer software has undergone significant
change over the last half-century.
Sophistication and complexity can produce dazzling results
when a system succeeds
Software is:

It is a product

Vehicle for delivering a product.
As a product, it delivers the computing potential embodied
by computer hardware. Whether it resides within a mobile
phone or operates inside a mainframe computer, software is an
information transformer.
As the vehicle used to deliver the product, software acts as the
basis for the control of the computer (operating systems), the
communication of information
(networks), and the creation and control other programs
(software tools and environments).
Common questions to lone programmer and group of specialists:

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 SOFTWARE

Functionality

Reliability

Usability

Efficiency

Maintainability

Portability
FUNCTIONALITY

Suitability
Can software perform the tasks required?

Accurateness
Is the result as expected?

Interoperability
Can the system interact with another system?

Security
Does the software prevent unauthorised
access?
RELIABILITY

Fault tolerance
Is the software capable of handling errors?

Recoverability
Can the software resume working and restore
lost data after failure?
USABILITY

Understandability
Does the user comprehend how to use the system easily?

Learnability
Can the user learn to use the system easily?

Operability
Can the user use the system without much effort?

Attractiveness
Does the interface look good?
EFFICIENCY

Time Behaviour
How quickly does the system respond?

Resource Utilisation
Does the system utilise resources efficiently?
MAINTAINABILITY

Analysability
Can faults be easily diagnosed?

Changeability
Can the software be easily modified?

Stability
Can the software continue functioning if changes are made?

Testability
Can the software be tested easily?
PORTABILITY

Adaptability
Can the software be moved to other environments?

Install ability
Can the software be installed easily?
NATURE OF SOFTWARE
Seven Broad Categories of computer software present
continuing challenges for software engineers
 System Software

Application Software

Engineering/Scientific Software

Embedded Software

Product-line Software

Web Applications

Artificial Intelligence Software
System Software


System Software is a collection of programs written to
service other programs.
Examples of System Software is Operating System,
device drivers, processors etc.
System software does heavy interaction with the computer hardware.

Heavy usage by multiple users.

System software performs concurrent operation that requires scheduling.

Other tasks done by system software are resource
sharing, process management and handling multiple
external communications.

Application Software
Application software consists of standalone programs
that solve a specific business need.
Examples of Application Software



Microsoft suite of products (Office, Excel, Word,
PowerPoint, Outlook, etc.)
Internet browsers like Firefox, Safari, and Chrome.
Mobile pieces of software such as Pandora (for
music appreciation), Skype (for real-time online
communication), and Slack (for team
collaboration)
Engineering/Scientific Software



Scientific and engineering software satisfies the needs of a
scientific or engineering user to perform enterprise specific
tasks.
Such software is written for specific applications using
principles, techniques and formulae specific to that
field.
Examples are software like MATLAB, AUTOCAD, CAM,
interactive applications etc
Embedded Software


Embedded software is a piece of software that is embedded
in hardware or non-PC devices.
It is written specifically for the particular hardware that it
runs on and usually has processing and memory
constraints because of the device’s limited computing
capabilities.
Embedded software resides within a product or system.

Embedded software can perform limited functions.

Examples of embedded software factory robots, modern smart watches.

Product-line Software



Designed to provide a specific capability for use by
many different customers.
This software focuses on addressing mass consumer markets
(eg, Computer Graphics, Multimedia, Entertainment,
Database Management, Personal and Business Financial
Applications).
All these are examples of Product-line Software.
Web Applications


A web application (or web app) is an application software
that runs on a web server, unlike computer-based software
programs that are stored locally on the Operating System
(OS) of the device.
Web applications are accessed by the user through a web
browser with an active internet connection.


These applications are programmed using a client–server
modelled structure—the user ("client") is provided
services through an off-site server that is hosted by a
third-party.
Web applications include online forms, online banking.

Popular applications include Google Apps and Microsoft 365.
Artificial Intelligence Software


Artificial Intelligence (AI) Software is a computer program
which mimics human behaviour by learning various data
patterns and insights.
Top features of AI software include Machine Learning, Speech
& Voice Recognition, Google Assistant offers voice
searching, and voice-activated device control.
Software Product
Examples: System and Application Software. Both goes
through the following phases.
Download