Software Engineering
Mrs. R.K.Santhia /Assistant Professor-CSE
Agenda
What is Software?
Component of Software
Types of Software
What is Good Software?
Attributes of Software
Role of Software
What is Software Engineering?
What is Software?
Component of Software:
Essential Components of Software
• Instructions
- Functionality
- Performance
• Data Structure
-Essential
components
-Maintains the data
-Program logic
-Design
• Documents
-User manual
-Design manual
What is Software?
“Software is a set of instructions to acquire inputs and to
manipulate them to produce the desired output in terms
of functions and performance as determined by the
user of the software. It also include a set of documents,
such as the software manual , meant for users to
understand the software system.”
Types of Software
Types of Software
System Software
Real-time Software
Business Software
Scientific and Engineering Software
Embedded Software
Artificial Intelligence (AI) Software
Personal computer Software
Internet Software
Based on the Function Domain
System Software
• A collection of programs written
to service other
programs at system level.
• Provide interface to the other
application
For example : compiler,
operating systems.
• Programs that monitor/analyze/
control real world events as they occur.
Input data
Analyze the data
Take appropriate action
For example :Air traffic control system, Flood
control system, Network management system.
Real-time Software
Business Software
• Software use is most prevalent in this
application
• Programs that access, analyze and
process
business information.
For example : Payroll system, Sales
analysis system etc.,
Scientific and Engineering Software
• Scientific nature of the
Computation they perform
• Software using different science
and applications. System
Simulation, Computer-Aided
Design.
• For example : Auto CAD,MAT Lab
etc.,
• Embedded software resides in read-only memory and
is used to control products and systems for the
consumer and industrial markets.
• It has very limited and esoteric functions and control
capability.
Embedded Software
Embedded Software
• Resides in Read only
memory
• It gives products an
intelligent look
• For example: ATMs, Cell
phones, Printers,
Calculators, etc.,
Artificial Intelligence (AI) Software
• Programs make use of AI techniques and methods to
solve complex
• problems. Active areas are expert systems, pattern
recognition, games
For example : Manufacturing
robots, Smart assistants,
Social media monitoring
Internet Software
• Programs that support
internet accesses and
applications.
For example : search
engine, browser, e-
commerce software,
authoring tools.
Classes of Application Software
Application is a program or group of programs designed
for end users
For example : of an application include a word processor,
a spreadsheet, an accounting application, a web browser,
an email client, a media player, a file viewer, simulators,
a console game or a photo editor.
Software is classified into two classes
Generic Software
Customized Software
Generic Software is designed for broad customer market
whose requirements are very common, fairly stable and well
understood by the software engineer.
Customized Software is developed for a customer where
domain , environment and requirements are being unique to
that customer and cannot be satisfied by generic products.
Classes of Application Software
What is Good Software?
“Software has number of attributes which decide whether
it is a good or bad . The definition of a good software
changes with the person who evaluates it. The software is
required by the customer , used by the end users of an
organization and developed by software engineer .
Each one will evaluate the different attributes differently
in order to decide whether the software is good."
What are the attributes of good
software?
• The software should deliver the required functionality and
performance to the user and should
Maintainability
Correctness
Reusability
Reliability
Portability
Efficiency
Maintainability
• Allows organizations to
identify improvement areas
as well as determine the
value supplied by current
applications or during
development changes.
Correctness
 The degree with which
software adheres to its
specified requirements
Reusability
• The ease with which software can
be reused in developing other
software
• The use of existing asset in some
from within the software product
development process
• Assets are products and by-
products of the software
development life cycle and
include code, software
components, test suites, deigns
and documentation.
Reliability
• The frequency and criticality of
software failure, when failure
is an unacceptable effect or
behavior occurring under
permissible operating
conditions.
• The probability of failure free
software operation for a
specified period of time in a
specified environment.
Portability
• Measure of how easily an
application can be
transferred from one
computer environment to
another.
Efficiency
• Ability to avoid wasting materials,
energy, efforts, money, and time in
doing something or in producing a
desired results.
• In a more general sense, it is the
ability to do things well,
successfully, and without waste.
Why we need of Software ?
•
Each device needs at least one corresponding device
drive, because a computer typically has at minimum
at least one input device and at least one output
device, a computer typically needs more than one
device driver
What is Engineering?
• Engineering is the application of scientific and
practical knowledge in order to invent, design, build,
maintain and improve systems, processes, etc.,
Software engineering methods provide the technical
“how to” for building software.
Methods --> how to encompass a broad array of
tasks:- requirements analysis, design, coding, testing,
and maintenance
Software engineering methods rely on a set of basic
principles.
What is Software Engineering?
What is Software Engineering?
• A systematic collection of good program development
practices and techniques.
• The essence of all past programming experiences and
innovations for writing good quality programs in cost-
effective and efficient ways have been systematically
organized into a body of knowledge.
• This knowledge forms the foundation of the software
engineering principles.
To increase software productivity and quality.
- To effectively control software schedule and planning.
- To reduce the cost of software development.
- To meet the customers’ needs and requirements.
- To enhance the conduction of software engineering process.
- To improve the current software engineering practice.
- To support the engineers’ activities in a systematic and efficient
manner.
Major Role Software Engineering?
Introduction to Software Engineering

Introduction to Software Engineering

  • 1.
    Software Engineering Mrs. R.K.Santhia/Assistant Professor-CSE
  • 2.
    Agenda What is Software? Componentof Software Types of Software What is Good Software? Attributes of Software Role of Software What is Software Engineering?
  • 3.
  • 4.
  • 5.
    Essential Components ofSoftware • Instructions - Functionality - Performance • Data Structure -Essential components -Maintains the data -Program logic -Design • Documents -User manual -Design manual
  • 6.
    What is Software? “Softwareis a set of instructions to acquire inputs and to manipulate them to produce the desired output in terms of functions and performance as determined by the user of the software. It also include a set of documents, such as the software manual , meant for users to understand the software system.”
  • 7.
  • 8.
  • 9.
    System Software Real-time Software BusinessSoftware Scientific and Engineering Software Embedded Software Artificial Intelligence (AI) Software Personal computer Software Internet Software Based on the Function Domain
  • 10.
    System Software • Acollection of programs written to service other programs at system level. • Provide interface to the other application For example : compiler, operating systems.
  • 11.
    • Programs thatmonitor/analyze/ control real world events as they occur. Input data Analyze the data Take appropriate action For example :Air traffic control system, Flood control system, Network management system. Real-time Software
  • 12.
    Business Software • Softwareuse is most prevalent in this application • Programs that access, analyze and process business information. For example : Payroll system, Sales analysis system etc.,
  • 13.
    Scientific and EngineeringSoftware • Scientific nature of the Computation they perform • Software using different science and applications. System Simulation, Computer-Aided Design. • For example : Auto CAD,MAT Lab etc.,
  • 14.
    • Embedded softwareresides in read-only memory and is used to control products and systems for the consumer and industrial markets. • It has very limited and esoteric functions and control capability. Embedded Software
  • 15.
    Embedded Software • Residesin Read only memory • It gives products an intelligent look • For example: ATMs, Cell phones, Printers, Calculators, etc.,
  • 16.
    Artificial Intelligence (AI)Software • Programs make use of AI techniques and methods to solve complex • problems. Active areas are expert systems, pattern recognition, games For example : Manufacturing robots, Smart assistants, Social media monitoring
  • 17.
    Internet Software • Programsthat support internet accesses and applications. For example : search engine, browser, e- commerce software, authoring tools.
  • 18.
    Classes of ApplicationSoftware Application is a program or group of programs designed for end users For example : of an application include a word processor, a spreadsheet, an accounting application, a web browser, an email client, a media player, a file viewer, simulators, a console game or a photo editor. Software is classified into two classes Generic Software Customized Software
  • 19.
    Generic Software isdesigned for broad customer market whose requirements are very common, fairly stable and well understood by the software engineer. Customized Software is developed for a customer where domain , environment and requirements are being unique to that customer and cannot be satisfied by generic products. Classes of Application Software
  • 20.
    What is GoodSoftware? “Software has number of attributes which decide whether it is a good or bad . The definition of a good software changes with the person who evaluates it. The software is required by the customer , used by the end users of an organization and developed by software engineer . Each one will evaluate the different attributes differently in order to decide whether the software is good."
  • 21.
    What are theattributes of good software? • The software should deliver the required functionality and performance to the user and should Maintainability Correctness Reusability Reliability Portability Efficiency
  • 22.
    Maintainability • Allows organizationsto identify improvement areas as well as determine the value supplied by current applications or during development changes.
  • 23.
    Correctness  The degreewith which software adheres to its specified requirements
  • 24.
    Reusability • The easewith which software can be reused in developing other software • The use of existing asset in some from within the software product development process • Assets are products and by- products of the software development life cycle and include code, software components, test suites, deigns and documentation.
  • 25.
    Reliability • The frequencyand criticality of software failure, when failure is an unacceptable effect or behavior occurring under permissible operating conditions. • The probability of failure free software operation for a specified period of time in a specified environment.
  • 26.
    Portability • Measure ofhow easily an application can be transferred from one computer environment to another.
  • 27.
    Efficiency • Ability toavoid wasting materials, energy, efforts, money, and time in doing something or in producing a desired results. • In a more general sense, it is the ability to do things well, successfully, and without waste.
  • 28.
    Why we needof Software ? • Each device needs at least one corresponding device drive, because a computer typically has at minimum at least one input device and at least one output device, a computer typically needs more than one device driver
  • 29.
    What is Engineering? •Engineering is the application of scientific and practical knowledge in order to invent, design, build, maintain and improve systems, processes, etc.,
  • 30.
    Software engineering methodsprovide the technical “how to” for building software. Methods --> how to encompass a broad array of tasks:- requirements analysis, design, coding, testing, and maintenance Software engineering methods rely on a set of basic principles. What is Software Engineering?
  • 31.
    What is SoftwareEngineering? • A systematic collection of good program development practices and techniques. • The essence of all past programming experiences and innovations for writing good quality programs in cost- effective and efficient ways have been systematically organized into a body of knowledge. • This knowledge forms the foundation of the software engineering principles.
  • 32.
    To increase softwareproductivity and quality. - To effectively control software schedule and planning. - To reduce the cost of software development. - To meet the customers’ needs and requirements. - To enhance the conduction of software engineering process. - To improve the current software engineering practice. - To support the engineers’ activities in a systematic and efficient manner. Major Role Software Engineering?