Sponsor

Saturday, July 25, 2015

The Evolving Role of Software

Software is (1) instructions (computer programs) that when executed provide desired function and performance, (2) data structures that enable the programs to adequately manipulate information, and (3) documents that describe the operation and use of the programs.


·          Software takes on a dual role: product and at the same time, the vehicle for delivering a product.
·          As a product, it delivers the computing potential embodied by computer hardware, or more broadly, a network of computers that are accessible by local hardware.
·          As the vehicle used to deliver the product, software acts as the basis for the control of the computer, the communication of information, and the creation and control of other programs.
·          The role of computer software has undergone significant change over a time span of little more than 50 years.
·          Dramatic improvements in hardware performance, profound changes in computing architectures, vast increases in memory and storage capacity, and a wide variety of exotic input and output options have all precipitated more sophisticated and complex computer-based systems.
·          The programmers are asked some questions when modern computer-based systems are built:
§ Why does it take so long to get software finished?
§ Why are development costs so high?
§ Why can’t we find all the errors before we give the software to customer?
§ Why do we continue to have difficulty in measuring progress as software is being developed?

  
1.2.1.    Software Characteristics
       
·         Software is logical rather than a physical system element.
·         Software has characteristics that are considerably different than those of hardware:

1.    Software is developed or engineered; it is not manufactured in the classical sense.

·         Although some similarities exist between software development and hardware manufacture, the two activities are fundamentally different.
·         In both activities, high quality is achieved through good design, but the manufacturing phase for hardware can introduce quality problems that are nonexistent (or easily corrected) for software.
·         Software costs are concentrated in engineering.
·         Software projects cannot be managed as if they were manufacturing projects.

2.    Software doesn’t “wear out.”

·         The failure rate of the hardware is high as the hardware components suffer from the cumulative affects of dust, vibration, abuse, temperature extremes, and many other environmental maladies.
·         Stated simply, the hardware begins to wear out.
·         Software is not susceptible to the environmental maladies that cause hardware to wear out.
·         Undiscovered defects will cause high failure rates early in the life of a program.
·         However, these are corrected ideally, without introducing other errors.
·         Software does not wear out, but it deteriorates.
·         Software maintenance involves considerably more complexity than hardware maintenance.

3.    Although the industry is moving toward component-based assembly, most software continuous to be custom built.

·         Each integrated circuit has a part number, a defined and validated function, a well-defined interface, and a standard set of integration guidelines.
·         After each component is selected, it can be ordered off the shelf.
·         As an engineering discipline evolves, a collection of standard design components is created.
·         The reusable components have been created so that the engineer can concentrate on the truly innovative elements of a design, that is, the parts of the design that represent something new.
·         A software component should be designed and implemented so that it can be reused in many different programs.

1.2.2.   Software Application
 


·         Software may be applied in any situation for which a pre-specified set of procedural steps has been defined.
·         Information content and determinacy are important factors in determining the nature of a software application.
·         Content refers to the meaning and form of incoming and outgoing information.
·         Information determinacy refers to the predictability of the order and timing of information.
·         It is somewhat difficult to develop meaningful generic categories for software applications.
·         The following software areas indicate the breadth of potential applications:

System Software
           
·         System software is a collection of programs written to service other programs.
·         Some system software (e.g. compilers, editors, and file management utilities) process complex, but determinate, information structures.
·         Other system applications (e.g. drivers, operating system components etc.) process largely intermediate data.
·         In either case, the system software area is characterized by heavy interaction with computer hardware, resource sharing, and sophisticated process management.

Real time Software

·         Software that monitors, analyzes, controls real world events as they occur is called real time software.
·         Elements of real time software include a data gathering component that collects and formats information from an external environment, a control output component that coordinates all other components so that real-time response can be maintained.

Business Software

·         Business information processing is the largest single software application area.
·         In addition to conventional data processing application business software applications also encompass interactive computing.
·         Applications in this area restructure existing data in a way that facilitates business operations or management decision making.

Engineering and scientific Software

·         Engineering and scientific software have been characterized by “number crunching” algorithms.
·         Applications range from astronomy to volcanology and from molecular biology to automated manufacturing.

Embedded Software

·         Embedded software resides in read-only memory and is used to control products and systems for the customer and industrial markets.
·         They can perform very limited and esoteric functions or provide significant function and control capability.



No comments:

Post a Comment