Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering Course Instructor: Aisha Azeem.

Similar presentations


Presentation on theme: "Software Engineering Course Instructor: Aisha Azeem."— Presentation transcript:

1 Software Engineering Course Instructor: Aisha Azeem

2 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.

3 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.

4 The evolving role of software  Product software was not common  Documentation was uncommon

5 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.

6 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.

7 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

8 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

9 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)

10 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?

11 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.

12 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.

13 Software characteristics  In theory, software does not wear out at all

14 Software characteristics  But what happens when changes are requested in the software

15 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

16 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.

17 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


Download ppt "Software Engineering Course Instructor: Aisha Azeem."

Similar presentations


Ads by Google