2. What is a Software?
Instructions (computer programs) that
when executed provide desired features,
function, and performance;
Data structures that enable the programs
to adequately manipulate information,
and
Descriptive information in both hard
copy and virtual forms that describes the
operation and use of the programs.
Textbook Description
2023
3. 1. Software is developed or engineered;
it is not manufactured in the classical sense.
Characteristics of a Software
4. Characteristics of a Software
2. Software does not wear out it deteriorates
Hardware vs Software
6. Software Application Domains
System Software
1.
Collection of programs written to service other programs
Characterized by heavy interaction with computer hardware; heavy usage by multiple users;
concurrent operation that requires scheduling, resource sharing, and sophisticated process
management; complex data structures; and multiple external interfaces.
7. Software Application Domains
2. Application Software
Stand-alone programs that solve a specific business need
Applications in this area process business or technical data in a way that facilitates business
operations or management/technical decision making
.
8. Software Application Domains
3. Engineering or Scientific Software
Specialized applications that are designed to assist engineers, scientists, and researchers in their
work
Provide tools and functionalities that cater to the specific needs of these professionals, allowing
them to analyze, model, simulate, and solve complex engineering or scientific problems.
9. Software Application Domains
4. Embedded Software
Resides within a product or system and is used to implement and control features and functions
for the end user and for the system itself.
Embedded software can perform limited and esoteric functions (e.g., key pad control for a
microwave oven) or provide significant function and control capability (e.g., digital functions in an
automobile such as fuel control, dashboard displays, and braking systems).
10. Software Application Domains
5.Product-line software
software designed to provide a specific capability for use by many different customers. Product-
line software can focus on a limited and esoteric marketplace (e.g., inventory control products) or
address mass consumer markets (e.g., word processing, spreadsheets, computer graphics,
multimedia, entertainment, database management, and personal and business financial
applications).
11. Software Application Domains
6. Web Applications
Web applications, also known as web apps, are software applications that are accessed through
web browsers over the internet. These applications are designed to run on web servers and are
accessed by users through a client-side interface, typically a web browser.
12. Software Application Domains
7. Artificial intelligence software
Makes use of nonnumerical algorithms to solve complex problems that are not amenable to
computation or straightforward analysis. Applications within this area include robotics, expert
systems, pattern recognition (image and voice), artificial neural networks, theorem proving, and
game playing
14. The Legacy Software
Legacy software systems . . . were developed decades ago and have been continually modified to
meet changes in business requirements and computing platforms. The proliferation of such
systems is causing headaches for large organizations who find them costly to maintain and risky to
evolve.
Cost of upgrading
Compatibility
Tailor fitted
Data Migration
1.
2.
3.
4.
Reasons why legacy software continues to be used:
15. The Legacy Software
The software must be adapted to meet the needs of new computing environments or technology.
The software must be enhanced to implement new business requirements.
The software must be extended to make it interoperable with other more modern systems or
databases.
The software must be re-architected to make it viable within a network environment.
1.
2.
3.
4.
Reasons why legacy software needs to be updated
17. Programming refers to a
technological process for telling a
computer which tasks to perform in
order to solve problems
Programming
18. Software engineering is a broader discipline
that encompasses the entire process of
designing, building, and maintaining
software systems. It involves applying
engineering principles and systematic
approaches to develop high-quality, reliable,
and scalable software.
Software Engineering
19. Software has become deeply embedded
in virtually every aspect of our lives, and as
a consequence, the number of people who
have an interest in the features and
functions provided by a specific
application8 has grown dramatically
"When a new application or embedded
system is to be built, many voices must be
heard"
Software in the 21st Century
20. The information technology requirements
demanded by individuals, businesses, and
governments grow increasing complex
with each passing year.
Sophisticated software that was once
implemented in a predictable, self-
contained, computing environment is now
embedded inside everything from
consumer electronics to medical devices
to weapons systems
Software in the 21st Century
21. Individuals, businesses, and governments
increasingly rely on software for strategic
and tactical decision-making as well as
day-to-day operations and control. If the
software fails, people and major
enterprises can experience anything from
minor inconvenience to catastrophic
failures
Software in the 21st Century
22. These simple realities lead to one conclusion: software in all of its
forms and across all of its application domains should be engineered