Evolve Role of Software
Evolve Role of Software
Evolve Role of Software
Software
Software is the product that software engineers design and build.
It encompasses:
Software
Virtually everyone uses it directly or indirectly.
It is important because it affects practically every aspect of the human life: commerce, culture, education, services.
Software Characteristics
1. Software is a logical rather than a physical system element -> it is developed, not manufactured in the classical sense. 2. Software doesnt wear out. It doesnt depend on dust, vibration, abuse, temperature extremes, etc.
Hardware failure
Developed by Reneta Barneva, SUNY Fredonia
Software Characteristics
Software failure
During its life, software will undergo maintenance -> changes -> new defects -> -> The failure rate level begins to rise.
Developed by Reneta Barneva, SUNY Fredonia
Software Characteristics
When a hardware component wears out it is replaced by a spare part. No software spare parts. Every software error indicates an error in the design or in the following life cycle stages. -> Software maintenance require much more efforts than software maintenance.
Software Characteristics
3. Although the industry is moving towards component-based assembly, most software continues to be custom built. Hardware manufacturing: the engineer draws the digital circuit, does some fundamental analysis, and then assemblies it through some chips. Every chip has well defined function and interface. Software development: the idea of reusability of software, however it has only begun to be achieved on a broad scale. In the 60s: scientific subroutine libraries (limited domain application) Today: to reuse not only algorithms, but also data -> OO approach. GUI has been built in such a way.
Developed by Reneta Barneva, SUNY Fredonia
Software Applications
It is difficult to develop meaningful generic categories. Information determinacy: refers to the
predictability of the order and timing of information. Software can be
Software Applications
System software: collection of programs
written to service other programs:
Software Applications
Business software:
payroll systems, accounting systems, inventory systems, banking software
Software Applications
Embedded software:
Resides in ROM. Used to control products and systems for the customer. Washing machines Cars ATM, etc.
Software Applications
Web-based software:
Includes hypertext, pictures, music, motion video, and applets.
Artificial Intelligence:
Uses non-numerical algorithms to solve complex problems: pattern recognition, neural networks, theorem proving, expert systems, natural language recognition, etc.
Software Myths
Standards exist:
Standards vary a lot.
Software Myths