Loading...
Thursday 20 February 2020

Software Characteristics

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
In 1960 a conference sponsored by NATO Science committee was held as a result of above problems. In that conference the word "software crisis" was introduced. The major issue discussed in that conference was "development of software is in crisis and we aren't able to handle its complexities". In same conference the word "Software Engineering" was also coined. The people said that we should use Engineering principles and methods for the development of software, In same way as by using these principles and methods; vehicles, machines and many other products are developed, we can use same principles for the development of Software. Software engineering is the outcome of the software crisis, when it was realized that it is impossible to develop complex software by using the techniques of 1960s. And another point is that people also realized that coding is not enough for software construction.

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)

Software problems

characteristics of Software as process

characteristics of Software as product

0 Comments:

Post a Comment

 
TOP