evolve role of software
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.