Chapter 1 - Introduction to Software Engineering
Chapter 1 - Introduction to Software Engineering
Defn:
“ 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.” 1
Cont’d……..
The set of computer programs,
procedures, and associated documents
(flowcharts, manuals, etc.) that describe
the programs and how they are to be
used. a collection of programs whose
objective is to enhance the capabilities
of the hardware.
the collection of computer programs,
procedure rules and associated
documentation and data.(IEEE)
2
Classes of Software
Types of software?
Software is classified into two classes:
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.
3
What is Good Software?
• Software has number of attributes which decide
whether it is a good or bad . 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.
4
What are the attributes of good
software?
6
Types of Software
Applications
System Software- A collection of programs written to service
other programs at system level.
For example, compiler, operating systems.
Embedded Software-:
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.
7
Cont’d…..
Artificial Intelligence (AI) Software:
Programs make use of AI techniques and
methods to solve complex problems. Active
areas are expert systems, pattern recognition,
games
Internet Software :
Programs that support internet accesses and
applications. For example, search engine,
browser, e-commerce software, authoring tools.
Computer Software
Science is concerned
Engineering
with
theory the practicalities of
fundamentals developing
delivering useful software
Computer science theories are currently
insufficient to act as a complete underpinning for
software engineering, BUT it is a foundation for
practical aspects of software engineering
15
What is the difference between software engineering
and system engineering?
Requirement definition
Design solution to deliver the requirements
Determine the architecture for the delivery of solution
Customer development and planning
Software testing components
Integration of system components
Implementation
Software development engineering is carried out in two ways
Structured System Analysis and Design ( SSAD)
Object Oriented System Analysis and Design ( OOSAD)
22