Computer software, or just software, is
any set of machine-readable instructions that directs a computer's processor(CPU) to perform specific operations. Software is a general term. It
can refer to all computer instructions in general, or to any specific set of
computer instructions. It is inclusive of both machine instructions (the binary code that the processor
"understands") and source code (more human-understandable
instructions that must be rendered into machine code by compilers or interpreters before being executed).
Computer software is a set of programs, procedures, functions, associated data and/or its documentation,
Software Characteristics are
classified into six major components which are shown below:
Computer software is a set of programs, procedures, functions, associated data and/or its documentation,
1.Software possesses no
mass,no volume,and no color which makes it a non-degaradable entity over a long
period.
2.Software does not
wear out or tired.
3.Software is
responsible for managing,controlling,and integrity the hardware components of a
computer system and to accomplish any given specific task.
Characteristics of Software:
Functionality
|
Functionality: It
means that software performs all the functions easily or not. It also refers to
the degree of performance of the software against its intended purpose.
·
Reliability: It
means that all the functions performed by software are trustworthy. It refers
to the ability of the software to perform a required function under given
conditions for a specified period.
·
Usability: It
refers the degree to which software is easy to use.
·
Efficiency: It
refers to the ability of the software to use the system resource effectively
and efficiently.
·
Maintainability: It
means a software is ease to maintain with less or no changes. It refers to the ease with which a
software system can be modified to add
capabilities, improve the system performance and correct errors.
·
Portability: Refers
to the ease with which software developers can transfer software from one
platform to another, without (or with minimum) changes. In simple terms, it
refers to the ability of a software to function properly on different hardware
and software platforms, without making any major changes in it.
Other than that
Robustness and Integrity are also important.
·
Robustness: It
means software performs all the functions properly even under
the condition of wrong input.
·
Integrity: It
means an unauthorized user cannot access the software. All the software is
integrated together with proper control over its access.
Software
Crisis:
Software
crisis can be defined as a set of problems raised during the software
development time. Software crisis was introduced in 1960’s.The factors
responsible for software crisis are:
Small scale of Software:
At that there is a problem of scale i.e the ways to develop a small software
having hundreds of lines will not work for large systems having thousands of
line. In other words, the methods used for developing small systems g
Do not scale up to large systems.
Budget: Softwares are expensive. The cost to develop a
software is high as compared to hardware. The cost to develop a software by
using highly qualified and skilled manpower is required that increases the
budget of the software.
UnReliable: The unreliability means that software do not perform
the required function. Many failures occur due to errors that get introduced in
the software.
Late Delivery: Software never get completed within the specified
period of time this leads to late delivery of software.
More Maintenance
required: Softwares require more
maintenance cost this increased the software cost.
Complex Systems: At that time there is a demand to develop large and
more complex software systems.
As the demand get increased to develop large systems
and to control this software crisis, some approach was needed for software
development so the term “Software Engineering” was introduced.
No comments:
Post a Comment