Sei sulla pagina 1di 19

SOFTWARE ENGINEERING

NATIONAL DEGREE COLLEGE


DEPARTMENT OF COMPUTER SCIENCE
NANDYAL

PRESENTED BY: SHAIK KHAJA HUSSAIN, Lecturer in Computer Science 1


AGENDA

 What is Software?
 What is Software Engineering?
 Difference b/w Program and Software
 Need of Software Engineering
 Software Characteristics

NATIONAL DEGREE COLLEGE, NANDYAL – DEPARTMENT OF COMPUTER SCIENCE 2


What is Software?

 Software is considered to be collection of executable


programming code, associated libraries and
documentations.
 Software is a collection of
 Instructions ( Computer programs)
 Data Structure – that enables the programs to
adequately manipulate information.
 Documents - that describe the operation and use of the
programs

NATIONAL DEGREE COLLEGE, NANDYAL – DEPARTMENT OF COMPUTER SCIENCE 3


What is Software Engineering?

 Software Engineering is a branch of computer science


which uses well defined engineering principles
(concepts) required to produce
 Efficient
 Durable
 Scalable
 In-budget and
 On-time software products
 It is a systematic approach to development,
operation, maintenance of software.
NATIONAL DEGREE COLLEGE, NANDYAL – DEPARTMENT OF COMPUTER SCIENCE 4
Difference b/w Program and Software

Program Software

Set of instructions Set of programs


Defined by individual for their Developed by a group of
personal use. engineers working as a team
Usually small in size. Usually large in size.
Single developer. Team of developers.
Lack of user interface. Good User Interface.
Ad hoc development Systematic development.
Lack of proper doc. Good documentation.
Have limited functionality. Contains more functionality.
NATIONAL DEGREE COLLEGE, NANDYAL – DEPARTMENT OF COMPUTER SCIENCE 5
Need of Software Engineering?

 The need of SE arises because of higher rate of


charge in user requirements and environment on which
the software is working.
 Large Software
 Size of the software becomes large, engineering has to
step to give it a scientific process.
 Scalability
 If the software process were it would be easier to re-
create new software than to scale an existing one.

NATIONAL DEGREE COLLEGE, NANDYAL – DEPARTMENT OF COMPUTER SCIENCE 6


Need of Software Engineering?

 The need of SE arises because of higher rate of


charge in user requirements and environment on which
the software is working.
 Large Software
 Size of the software becomes large, engineering has to
step to give it a scientific process.
 Scalability
 If the software process were it would be easier to re-
create new software than to scale an existing one.

NATIONAL DEGREE COLLEGE, NANDYAL – DEPARTMENT OF COMPUTER SCIENCE 6


Need of Software Engineering?

 Cost
 As hardware industry has shown its skills and huge
manufacturing has lower down the price of computer
and electronic hardware. But cost of the software
remains high if proper process is not adapted.
 Dynamic Nature
 If the nature of software is always changing, new
enhancements need to be done in the existing one.
 Quality Management
 Better process of software development provides
better and quality software product. 7
Software Characteristics

 Software is developed and engineered, it is not


manufactured.
 Unlike hardware, software is logical rather than
physical. It has to be designed well before producing it.
 Both activities require the construction of “product” but
the approaches are different.
 In both activities high quality is achieved through good
design.

8
Software Characteristics

 Software does not “wear out”


 As time progresses, the hardware components start
deterioration they are subjected to environmental
maladies such as dust, vibration, temperature etc.

9
Software Characteristics

 The failure rate curve for software shows that,


undiscovered defects will cause high failure rates early
in the life of a program.
 These are corrected (without introducing other errors)
and the curve flattens as shown in figure
 Software doesn’t wear

out, but it does deteriorate

10
Software Characteristics

 Most software is custom-built rather than being


assembled from existing components
 Reusability is an important characteristic of high quality
software component.
 A software component should be designed and
implemented so that it can be reused in many different
programs.
 Modern reusable components encapsulate both data
and the processing that is applied to the data, enabling
the software engineer to create new applications from
reusable parts
11
Software Characteristics

 Most software is custom-built rather than being


assembled from existing components
 Reusability is an important characteristic of high quality
software component.
 A software component should be designed and
implemented so that it can be reused in many different
programs.
 Modern reusable components encapsulate both data
and the processing that is applied to the data, enabling
the software engineer to create new applications from
reusable parts
12
Software Characteristics

 Efficiency
 Software is a said to be efficient if it uses the available
resources in the most efficient manner.
 The software should be able to offer a quick response in
the least processing time using the resources at minimum
level.
 The software should efficient perform what the user
demanded and give appropriate response in each case.

13
Software Characteristics

 Maintainability
 The Characteristics of the software is important for both
the software engineer and the user.
 If the change is to be required in the software then
change leads to the change in the software so that it
performs in accordance with the user requirement.
 The software engineer has to respond very fast if there is
any change in the user requirements.
 Changes should be performed like this that it will not
affect the overall integrity of the software.

14
Software Characteristics

 On-time
 The software should be developed on-time.

 If the software is developed late then it is of no use.

 A good engineer always develops the software on-time.

 Within Budget
 The software should be developed in such a manner that
it will not overrun and the software being developed is
within budget.
 Overrun doesn’t mean that the cost of the software
exceeds the limit given by user. But, it mean that the
software cost is out of control.
15
Software Characteristics

 Functionality
 The software system is developed in a manner that it
performs the entire task perfectly for which it is
developed.
 The software should respond correctly as the user wants.

 Adaptability
 The software should be Adaptable.

 Software is desired to be Adaptable all the changes


efficiently.
 The software should easily adopt all the changes in the
software with no change in the efficiency of the software
16
Software Characteristics

 Dependability
 It is the ability of the software that should not cause any
physical or economic damage in the event of system failure.
 It includes a range of characteristics like: reusability, security,
and safety.
 Usability
 Software become usable if it doesn’t call for extra efforts to
be learned. Usability increases with good documentation
provided along with the software.
If software satisfies all the above characteristics then it is said to
be good software or the software is well engineered.
17
NATIONAL P.G. COLLEGE, NANDYAL – DEPARTMENT OF COMPUTER SCIENCE 18

Potrebbero piacerti anche