Understanding Software Paradigms: Importance, Characteristics, and Classification - Prof. , Study notes of Computer Science

The concept of software paradigms, their significance in software development, and their various classifications. It discusses the challenges faced in software development due to the complexity and human-intensive nature of software, and how paradigms provide a way of thinking and organizing solutions. The history and definitions of software paradigms, their impact on software development, and the different types of programming paradigms such as imperative, concurrent, logic, functional, and object-oriented languages.

Typology: Study notes

Pre 2010

Uploaded on 08/18/2009

koofers-user-m09-1
koofers-user-m09-1 🇺🇸

10 documents

1 / 7

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Introduction
Why software paradigms?Why Why software paradigms?software Why software paradigms?paradigms?
Be able to choose the right software technique right
from the beginning.
Ability to design complex systems.
The attention is now toward software paradigms
since programming languages are becoming more
mature.
Why software paradigms?Software Why software paradigms?Development Why software paradigms?Characteristics:
Software is "soft";
Complexity
Human intensive
Why software paradigms?Software Why software paradigms?Crisis Why software paradigms?
Buisnessweek 1999:
“ Glitches cost billions of
dollars and jeopardize human
lives. How can we kill the
bugs?”
Abdelghani Bellaachia, Advanced Why software paradigms?Software Why software paradigms?Paradigms Page: 1
pf3
pf4
pf5

Partial preview of the text

Download Understanding Software Paradigms: Importance, Characteristics, and Classification - Prof. and more Study notes Computer Science in PDF only on Docsity!

Introduction

Why software paradigms?  Be able to choose the right software technique right from the beginning.  Ability to design complex systems.  The attention is now toward software paradigms since programming languages are becoming more mature.  Software Development Characteristics:  Software is "soft";  Complexity  Human intensive  Software Crisis  Buisnessweek 1999: “ Glitches cost billions of dollars and jeopardize human lives. How can we kill the bugs?”

 Palm Inc.: The Palm OS 3.5, introduced in February 2000, has a memory leak problem. A new release Palm OS 3.5.2 is released.  June 10 of 1999 the software industry would love to forget: Auction site eBay suffered a 22- hour system crash--the longest, but not last, in a series of crippling software-related outages.  Millions of dollars in shares were lost today when a software problem caused the trading computers at the New York Stock Exchange to crash. Traders are criticizing the Exchange's decision to install a new trading application, Microsoft Transactions 98.  What is a paradigm?  The word paradigm (from the Greek word which means example) is commonly used to refer to a category of entities sharing a common characteristic.  A paradigm is a way of thinking about problems and their solutions, and an approach to using computers to implement those solutions.  Robert Floyd

o Science historian Thomas Kuhn used the word paradigm in his influential book The Structure of Scientific Revolutions to describe a set of theories, standards, and methods that together represent a way of organizing knowledge, that is, a way of viewing the world. o In other words, he used the notion of a paradigm in the scientific process by defining it as the scientist's view of the world and the structure of his or her assumptions and theories.  A paradigm has a wider meaning than that of a scientific theory; it encompasses ``law, theory, application and instrumentation together.'' Although Kuhn's examples are drawn from the history of physical science, his paradigm notion has been extended to a number of sciences.

Software Life CycleSoftware paradigms:  The formation of a paradigm is a sign of maturity for a given science.  Software Paradigms: Classification  According to Brian Warboys: o The Algorithmic Paradigm (AP) o The Analysis-Synthesis-Evaluation Paradigm (ASE) (e.g., Waterfall Model) o The Formal Design Paradigm (FD) o The Artificial Intelligence Paradigm (AI) o The Theory of Evolutionary Design Paradigm (TED)  Component-based Architecture: o Design patterns o Frameworks

 Imperative languages,  Concurrent languages,  Logic languages,  Functional languages,  Object-oriented languages.