evolve role of software

19
Developed by Reneta Barneva, SUNY Fredonia The Product

Upload: leothammu

Post on 03-Jun-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

8/12/2019 Evolve Role of Software

http://slidepdf.com/reader/full/evolve-role-of-software 1/19

Developed by Reneta Barneva, SUNY Fredonia

The Product

8/12/2019 Evolve Role of Software

http://slidepdf.com/reader/full/evolve-role-of-software 2/19

Developed by Reneta Barneva, SUNY Fredonia

Software

Software is the product that software

engineers design and build.

It encompasses:

 programs

 documentation

 data

8/12/2019 Evolve Role of Software

http://slidepdf.com/reader/full/evolve-role-of-software 3/19

Developed by Reneta Barneva, SUNY Fredonia

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.

8/12/2019 Evolve Role of Software

http://slidepdf.com/reader/full/evolve-role-of-software 4/19

Developed by Reneta Barneva, SUNY Fredonia

Software Life CycleProblem analysis  understand the problem 

Requirements definition  specify what program will do 

High- and low-level design  how it meets requirements

Implementation of design  code it

Testing and verification  detect errors, show correctness 

Delivery  turn over to customer

Operation use the program 

Maintenance  change the program

8/12/2019 Evolve Role of Software

http://slidepdf.com/reader/full/evolve-role-of-software 5/19

Developed by Reneta Barneva, SUNY Fredonia

The Evolving Role of

SoftwareSoftware is an information transformer -

producing, managing, acquiring, modifying,

displaying, and transmitting information that can

be as simple as a single bit or as complex asmultimedia presentation.

8/12/2019 Evolve Role of Software

http://slidepdf.com/reader/full/evolve-role-of-software 6/19

Developed by Reneta Barneva, SUNY Fredonia

The Evolving Role of

Software

8/12/2019 Evolve Role of Software

http://slidepdf.com/reader/full/evolve-role-of-software 7/19

Developed by Reneta Barneva, SUNY Fredonia

The Evolving Role of

Software

The role of computer software has undergone

significant change over a time span of little more than

50 years.

Reason: Improvement of hardware performance

Naisbitt predicted a transformation from an industrial

society to information society.

The lone programmer has been replaced by a team of

software experts -> importance of applying the

software engineering principles. 

8/12/2019 Evolve Role of Software

http://slidepdf.com/reader/full/evolve-role-of-software 8/19

Developed by Reneta Barneva, SUNY Fredonia

The Evolving Role of

Software

However, still the software development

experience the same problems:

• It takes long to finalize the software

• It is expensive

 All the errors cannot be detected• It is difficult to measure the progress as

software is being developed.

8/12/2019 Evolve Role of Software

http://slidepdf.com/reader/full/evolve-role-of-software 9/19

Developed by Reneta Barneva, SUNY Fredonia

Software Characteristics

1. Software is a logical rather than a physical systemelement -> it is developed, not manufactured in the

classical sense.

2. Software doesn’t “wear out.” It doesn’t depend on

dust, vibration, abuse, temperature extremes, etc.

Hardware failure

8/12/2019 Evolve Role of Software

http://slidepdf.com/reader/full/evolve-role-of-software 10/19

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.

8/12/2019 Evolve Role of Software

http://slidepdf.com/reader/full/evolve-role-of-software 11/19

Developed by Reneta Barneva, SUNY Fredonia

Software Characteristics

When a hardware component wears out it isreplaced by a spare part.

No software spare parts.

Every software error indicates an error in thedesign or in the following life cycle stages.

-> Software maintenance require much more

efforts than software maintenance.

8/12/2019 Evolve Role of Software

http://slidepdf.com/reader/full/evolve-role-of-software 12/19

Developed by Reneta Barneva, SUNY Fredonia

Software Characteristics

3. Although the industry is moving towardscomponent-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 chiphas 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.

8/12/2019 Evolve Role of Software

http://slidepdf.com/reader/full/evolve-role-of-software 13/19

Developed by Reneta Barneva, SUNY Fredonia

Software Applications

It is difficult to develop meaningful genericcategories.

Information determinacy: refers to the

predictability of the order and timing of information.

Software can be

• Determinate, e.g. a program for numeric analysis

calculation.

• Indeterminate: multiuser operating system:

interruptions, the output varies as a function of theenvironment and time.

8/12/2019 Evolve Role of Software

http://slidepdf.com/reader/full/evolve-role-of-software 14/19

Developed by Reneta Barneva, SUNY Fredonia

Software Applications

System software: collection of programswritten to service other programs:

• compilers, editors, file managementutilities

• operating systems, drivers,telecommunication processors

Real-time software: analyzes real-worldevents as they occur. Includes:

• data gathering component,

• analysis component,

• control/output component. 

8/12/2019 Evolve Role of Software

http://slidepdf.com/reader/full/evolve-role-of-software 15/19

Developed by Reneta Barneva, SUNY Fredonia

Software Applications

Business software: • payroll systems,

• accounting systems,

• inventory systems,

• banking software

Engineering and scientific software: 

Biology, volcanology, mathematics,

chemistry, physics, medicine, space shuttleorbital dynamics, etc.

Include: numerical analysis, CAD, system

simulation.

8/12/2019 Evolve Role of Software

http://slidepdf.com/reader/full/evolve-role-of-software 16/19

Developed by Reneta Barneva, SUNY Fredonia

Software Applications

Embedded software: 

Resides in ROM. Used to control products

and systems for the customer.

• Washing machines

• Cars

• ATM, etc.

Personal computer software: 

Word processors, spreadsheets,entertainment, database management,

external networks, etc.

Intuitive interface.

8/12/2019 Evolve Role of Software

http://slidepdf.com/reader/full/evolve-role-of-software 17/19

Developed by Reneta Barneva, SUNY Fredonia

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. 

8/12/2019 Evolve Role of Software

http://slidepdf.com/reader/full/evolve-role-of-software 18/19

Developed by Reneta Barneva, SUNY Fredonia

Software Myths

Standards exist: 

Standards vary a lot. 

We have the newest hardware: 

Computer-aided software engineering(CASE) tools are much more important thanhardware.

If we are behind the schedule, we will add

more programmers: This slows down the work. 

8/12/2019 Evolve Role of Software

http://slidepdf.com/reader/full/evolve-role-of-software 19/19

Developed by Reneta Barneva, SUNY Fredonia

Software Myths