Thursday, 16 February 2017

Computer Software or Software

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,
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
Software Characteristics are classified into six major components which are shown below:



Software Characteristics

        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