



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
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
1 / 7
This page cannot be seen from the preview
Don't miss anything!




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 Cycle Software 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.