Software Models
Computer systems and application programming languages are generally built upon models
that give the language some form and structure.
Four primary software models:
- Control flow
- Structured
- Object-oriented
- Knowledge-based.
Control Flow Languages
Structured Languages
Object-Oriented Systems
Object Oriented Programming
Object-oriented programming (OOP) originated inthe 1960s with the computer languages Simula and Smalltalk.
Object-oriented programming has a particular vocabulary that is used to describe how components are named and assembled into programs. These terms are:
- Class
- Object
- Method
- Encapsulation
- Inheritance
- Polymorphism
Distributed Object-Oriented Systems
Distributed Object-Oriented Systems are computer systems that employ object-oriented programming (OOP) principles and are designed to operate across multiple interconnected systems or nodes within a network. In these systems:
These systems are commonly used in complex, distributed computing environments where flexibility, scalability, and reusability of software components are essential, such as in large-scale enterprise applications and networked services.
Knowledge-Based Systems
Knowledge-Based Systems are applications that use input data to make predictions or decisions. They incorporate feedback mechanisms to learn and improve accuracy over time. These systems aim to emulate some aspects of human reasoning and are often referred to as artificial intelligence.
Neural Networks:
- Neural networks are inspired by biological reasoning processes.
- They consist of interconnected artificial neurons that store information about specific problems.
- Neural networks improve prediction accuracy with more input data, assigning weights to different factors.
Expert Systems:
- Expert systems accumulate knowledge about a specific subject, including conditions and outcomes.
- The more data they collect, the better they become at predicting future outcomes.
- They consist of a knowledge base containing past event data and an inference engine for decision-making.
- Expert systems are valuable in solving new problems based on accumulated knowledge.