0% found this document useful (0 votes)
11 views5 pages

Chapter 1 of Software Engineering

The document provides an overview of software, its characteristics, and the field of software engineering. It highlights that software is logical, does not wear out like hardware, and is primarily custom-built rather than assembled from existing components. Additionally, it categorizes different types of software, including system, real-time, business, engineering, embedded, personal computer, web applications, and artificial intelligence software.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views5 pages

Chapter 1 of Software Engineering

The document provides an overview of software, its characteristics, and the field of software engineering. It highlights that software is logical, does not wear out like hardware, and is primarily custom-built rather than assembled from existing components. Additionally, it categorizes different types of software, including system, real-time, business, engineering, embedded, personal computer, web applications, and artificial intelligence software.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

302 Software Engineering C.B.

Patel Computer College

1.1) Software

Software is a collection of
1) Instructions (Computer programs) that when executed provide desired function
and performance.
2) Data structure that enable the programs to adequately manipulate information. And
3) Documents that describe the operation and use of the
programs. Software is a logical entity rather than a physical system
element.

TH 1.2) Characteristics of the Software

Software is a logical rather than a physical system element therefore software has characteristic
that are different then hardware component.

1. Software is developed or engineered it is not manufacture in the classical


sense.

In both activities software development and hardware manufacturing, high quality


is achieved through good design, but the manufacturing phase for hardware can
introduce quality problems that are nonexistence (or easily corrected) for software.
Both activities depend on people, but the relationship between people applied and
work accomplished is entirely different. Both activities require the construction
of a product, but the approaches are different.

2. Software does not wear out failure.

Figure (A) failure rate as a function of time for hardware. The relationship often
called the “bathtub curve” indicates that hardware exhibits relatively high failure
rate early in its life. (This failures are often attributable to design or
manufacturing defects); defects are corrected and the failure rate drops to a
steady state level (hopefully quite low) for some period of time. As time passes,
however, the failure rate rises again as hardware components suffer from the
cumulative effects of dust, vibrations, abuse, temperature extremes, etc. Stated
simply,hardware begins to wear out.

Software is not susceptible to the environmental maladies that cause hardware to


wear out.

Figure B – Idealized and actual failure curves for software


As shown in figure (B), 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 (B). Software doesn’t ware out, but it does deteriorate. During the software
life, it will undergo change (maintenance). As changes are made, it is likely that some
new defects will introduced, causing the failure rate cure to spike. Before the curve can
return to the original steady-state failure rate, another change is requested, causing
the curve to spike again. Slowly, the minimum failure rate level begins to rise
the software is deteriorating due to change.

Hardware component wears out; it is replaced by a spare part. There are no


software spare parts.

Every software failure indicates an error in design or in the process through


which design was translated into machine executable code. Therefore, software
maintenance involves considerably more complexity than hardware maintenance.

3. 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. For e.g. today’s interactive interfaces are built using
reusable components that enable the creation of graphics windows, pull down menus
and a wide variety of interaction mechanisms.
Software components are built using a programming language that has a limited
vocabulary. An explicitly defined grammar and well formed rules of syntax and
semantics.
At the lowest level, the language mirrors the instruction set of the hardware.But
Sometimes reusable components does not fulfill the requirement there may be some
changes we want but because of its complexity of code means we have to
understand the whole component for making some changes to it , which is very complex
task instead of this we can create a custom component.

1.3) Software Engineering

1. Software engineering is a systematic approach to the development, operation


maintenance and requirements of the software.
2. Software engineering is the application of science and mathematic by which the
capabilities of computer equipments are maid useful to man via computer
program, procedures and associated documents.

Goal of Software Engineering

Software engineering is driven by three major factors as are follows.

Cost
Schedules
Quality

1.4 Types of Software

1) System software
2) Real-Time Software
3) Business Software
4) Engineering and scientific software
5) Embedded Software
6) Personal Computer Software
7) Web-Applications
8) Artificial intelligence software

1) System Software

System software is a collection of a program written to service other


programs. Some system software (e.g. Compilers, editors and file management utilities)
processes complex; but determinate information structures.

Other system applications (e.g. operating system components, drivers,


telecommunications processors).

2) Real time Software

 Programs that monitor/analyze/control real world events as they occur


are called real time software.
Elements of real time software includes
 Data gathering components
 Analysis components
 Control / output components
 Monitoring components

 A real time system must respond within strict time constraints.

 Real time system differs from interactive or timesharing. The response


time of an interactive system can normally be exceeded without
disastrous results.
 Eg. Weather forecasting s/w

3) Business Software

Business information processing is the largest single software application area.


Discrete systems (e.g. Payroll, accounts receivable/payable, inventory etc.) have
evolved into management information system (MIS) software that accesses one or more
large databases containing business information.
Applications in this area restructure existing data in a way that facilitates
business operations or management decision making.
e.g. Client/Server computing application.

4) Engineering and Scientific Software

Engineering and scientific software has been characterized by “number


crunching” algorithms.

Application range from astronomy to volcano logy, from automotive stress


analysis to space shuttle orbital dynamics and from molecular biology to automated
manufacturing.
Eg. Weather Forecasting s/w, Radar s/w, military s/w

5) Embedded Software

Embedded software resides in RAM and is used to control products and systems
for the consumer and industrial markets.
Embedded software can perform very limited and esoteric functions (e.g. key
pad control for microwave oven, washing Machine, AC etc.) or provide significant function
and control capability.
(e.g. Digital functions in an automobile such as fuel control, dashboard displays,
braking system, etc.)

6) Personal Computer Software

Word processing, spreadsheets, computer graphics, multimedia, entertainment,


database management, personal and business financial applications and external network
or database access are some of the example of personal computer software.
Eg. Desktop Based Applications(Word, Excel , power point , Photoshop etc.)
7) Web-Applications

The web pages retrieved by a browser are software that incorporates executable
instructions. In essence, the network becomes a massive computer providing almost
unlimited software resources that can be accessed by anyone with a modem.
Eg. Websites

8) Artificial intelligence Software

Artificial intelligence software makes used of non-numerical algorithms to solve


complex problems that are not amenable to computation or straight – forward analysis.
An active Artificial Intelligence area is expert systems, also called knowledge
based systems.
Other application area for AI software is pattern recognition (image and voice)
theorem proving and game playing.
In recent years, new branch of AI is Artificial neural networks has evolved. A
neural network simulates the structure of brain processes (the function of the biological
neuron).
Eg. Decision Making s/w

You might also like