outline 32

2

Click here to load reader

Upload: bhuvi2312

Post on 23-May-2017

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Outline 32

Chapter 32 - The Road Ahead

Overview

The first 31 chapters of this text have explored a process for software engineering. This chapter discusses some issues to considerwhen trying understand how software and software engineering will change in the future. Predicting future trends in any fieldrequires collecting data, organizing it, looking for subtle associations to extract knowledge, and using this knowledge to suggestprobable future occurrences. A short-term prediction may or may not prove to be true and yet, may still be true in the long term.

Importance of Software

Software as a differentiator (products, systems, services, competitive advantages in the marketplace)Software generates valuable information (programs, documents, data)Mechanism for automating business, industry, and governmentMedium for transferring new technologiesMeans of capturing people's expertise for use by othersSoftware is a hidden technology, embedded in daily activities and used without customers thinking about it

Scope of Change

Changes in computing over the past 50 years have been driven by advances in the hard sciences (physics, chemistry,materials science, engineering)During the next several decades changes in computing are likely to be driven by the soft sciences (human psychology,biology, neurophysiology, sociology, philosophy)Changes in software engineering will be influenced by

people who do the workprocesses they applynature of informationunderlying computer technology

People and Systems Construction

http://mail.svce.ac.in/~uvarajan/softeng/outline32.html

1 of 2 12/31/2012 11:34 AM

Page 2: Outline 32

Systems are becoming more complex, requiring larger programs and more people involved in their constructionCommunications between individual software engineers and between specialized teams working on the same project will needto be improved to avoid losing informationThe evolution of intelligent agents may change the work patterns of software engineers by extending the capabilities ofsoftware toolsThe World Wide Web has made many changes in the ways that people acquire and access knowledge

New Software Engineering Process

The first two decades of software engineering were characterized by linear thinking, yet linear systems development runscontrary to the ways in which most software systems are actually builtEvolutionary process models recognize that uncertainty dominates most development activitiesModern development time lines are impossibly short, iterative delivery of partial products provides crucial functionality whencomplete product delivery is not possibleThe Capability Maturity Model provides a good indicator about what attributes should exist when solid software engineering ispracticedObject technologies coupled with component-based software engineering are a natural outgrowth of the evolutionary processmodel trendCustomer involvement early in the design process is likely to be observed more frequentlyRapid growth in Web-based applications development is changing both the software engineering process (focus in immediacy,security, and aesthetics) and it participants (melding content non-technical specialists with software designers)

New Modes for Representing Information

Data processing has been replaced by the term information technologyEmphasis is shifting from managing large quantities of data to extracting meaningful information from this dataKnowledge engineering techniques may begin migrating form the artificial intelligence laboratories to the application domainas people seeks ways to associate information from more than one contextSoftware systems may be viewed in the future as systems the extract knowledge from data and information (many knowledgebases have already been created)

http://mail.svce.ac.in/~uvarajan/softeng/outline32.html

2 of 2 12/31/2012 11:34 AM