Chapter 1 of Software Engineering
Chapter 1 of Software Engineering
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.
Software is a logical rather than a physical system element therefore software has characteristic
that are different then hardware component.
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.
3. Most software is custom built rather than being assembled from existing
components.
Cost
Schedules
Quality
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
3) Business Software
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.)
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