The evolving role of software Software transform personal data. It provides a gateway to the worldwide networks(Internet) The role of computer software has undergone significant change through the 2 nd half of 20 th century.
Different Eras During first era software was viewed an afterthought A few systematic methods existed Software development was virtually unmanaged No cost scheduling techniques Software was custom design for each application Limited distribution.
The evolving role of software Product software was not common Documentation was uncommon
The evolving role of software The 2 nd era of computer system evolution spanned the decade from mid-1950s to the late 1970s Multi-programming, multi-user systems introduced Real time systems DBMS The 2 nd era was also characterized by the use of product software and advent of software houses Wide distribution.
The evolving role of software The 3 rd era began in 1970s and spanned more than half a decade Distributed systems Global and local area networks High Bandwidth digital communication. The conclusion of the 3 rd era was characterized by the advent and wide spread use of microprocessors.
The evolving role of software The 4 th era of computer systems includes powerful Desktop computers controlled by sophisticated OS Network locally and globally Internet Change in computer architecture
The evolving role of software MS put billions of dollars at risk OOP Expert systems AI with fuzzy logic has opened pattern matching and human like information qualities Virtual Reality programming and multimedia systems Problems
Dual Role of Software Both a product and a vehicle for delivering a product Product Delivers computing potential embodied by computer hardware Inside a mobile phone, residing inside a mainframe Produces, manages, acquires, modifies, display, or transmits information Vehicle Supports or directly provides system functionality Controls other programs (e.g., operating systems) Effects communications (e.g., networking software) Helps build other software (e.g., software tools)
Questions About Software Haven't Changed Over the Decades Why does it take so long to get software finished? Why are development costs so high? Why can't we find all errors before we give the software to our customers? Why do we spend so much time and effort maintaining existing programs? Why do we continue to have difficulty in measuring progress as software is being developed and maintained?
Software characteristics To gain an understanding of software it is important to examine the characteristics of software that make it different from other things that human build.
Software characteristics Some Software Characteristics Software is engineered or developed, not manufactured in the traditional sense. Software does not wear out in the same sense as hardware.
Software characteristics In theory, software does not wear out at all
Software characteristics But what happens when changes are requested in the software
Software characteristics Most software is custom built, rather being assembled from existing components. Software Components As the Engineering discipline evolves, a collection of standard design components are created Standards screws and circuits are only two examples of thousand of components that are used by mechanical and electrical engineers
Software characteristics The reusable components have been created so that engineers can concentrate on the truly innovative elements of the design( new parts of the design). In hardware this process is very common In software this process has yet to be achieved on a broad scale.
Software characteristics Reusability is an important characteristic of a highly software component. A software components should be designed in such a way that it should be reused in many different programs