Software Characteristics
Objectives
At the end of this chapter students will be able to:- Explain Some Main characteristics of Software
- Explain Software Crisis
- Explain Dual Role of Software
- Describe the software problems
- Describe characteristics of Software as process
- Describe characteristics of Software as product
- Explain the need of Software Engineering discipline
Some Main characteristics of Software
- Software is complex
- The software is complex because it is not tangible like the other products (vehicles, motors etc) and adapt changes. If problem occur in any car we can fix it by repairing or replacing the defective part, but that is not case with software.
- Software is engineered
- Software is engineered which means for development of software the principles of engineering are used
- Software does not wear out
- Non Software Systems are affected by phenomenon of wear and tear, meaning they have particular life, and after that particular life they could have some problem and could behave or could not behave as expected. The phenomenon of Wear and Tear doesn't apply to software, which means if software has defect then the defect will be from beginning and if software is not working then it should not work from first day
Software Crisis
The electronic Computers evolved in 1940s, At that time Hardware posted a big challenge and all early efforts were focused upon designing the Hardware. Hardware was where the most technical problems and difficulties was existed, however with the invention of new techniques the problem becomes lesser. With the invention of Cheap , more powerful Computers, Computer Hardware , High level languages and more user friendly Operating Systems, use of Computers increased which results the need of more large and complex computer software. In early days big software applications was developed with old tools , methods and techniques. The old techniques for developing small software was not applicable to large software systems, hence more problems and crashes of software were found called software crisis. Following are some of the results of using old tools and techniques for developing complex programs.- In most cases software was not complete
- most times, Delivered too late
- most projects were over budgeted
- In most case software build with these old techniques were not reliable, meaning they were not delivered expected results
Complex Software Applications
Nowadays Computers are used in every aspect of our daily lives and they are used in such diverse area like Business applications, video games, scientific work, air traffic control etc. This increase use of Computer Systems in every field, results the increase in need of software. Further more, the complexity Software has increased. Imagine the complexity of the software used for aircraft control system, telephone monitoring system and railway ticketing system.The complexity of software grown at such a speed that one can not deal with it. Software engineering is the discipline whose goal is to deal with that problem of software complexity.An other misconception is also very common that days that if one knows How to code, it is enough to construct software. People have realized the fact that the writing code is not enough for software construction and development of software needs engineering principles back in 1960.
Dual Role of Software
Software as a product
- As a product, it deliver the computing potential across network.
- It enables Hardware to deliver expected functionality.
- produces , acquires, manager , modifies , display and transmit information
- Software is developed by using engineering principles which are used for other tangible products like vehicles , airplanes, trains, electronic devices etc
Vehicle to deliver a product
- Acts as basis for the control of Computer (Operating System)
- The Communication of information (networks)
- The creation and control of other programs (software tools and environments)
0 Comments:
Post a Comment