Select Page

If one can’t differentiate between different types of software, how can one consider and choose between alternative approaches, paradigms, architectures, languages and technologies?  One type does not fit all.

1. Representational systems (problem oriented)

a. Transactional systems [1], based around actions and events that need to be recorded, typically for commercial or legal reasons, like software used to record purchases, payments, reservations, participation, interactions, obligations, results, commitments, plans, or significant events. Examples of transactional systems include: an airline reservation system, state vehicle registration system, customer relationship management system (CRM), commercial bank account management system, inventory management system, payroll system, or a system to manage your record collection.

b. Continuous (non-transactional) systems, like software controlling an elevator, warehouse conveyor system, or a vehicle engine management system.  Often referred to as Data Acquisition and Control projects [2].  Unlike Transactional systems which record significant actions, these systems typically only log operational statistics and errors.

2. Systems in computing, and information and data science (computing oriented)

a. Computer science, computing infrastructure and support projects, includes frameworks, libraries, languages, servers and systems programming.

b. Information, data science and analysis projects, systems often focused on the processing of data.

3. Embedded, games and others.

 

Note: These types are not necessarily mutually exclusive.

[1] Not to be confused with the overloaded term related to database transactions, or formal Online Transaction Processing systems (OLTP).
[2] Because of the use of data acquisition devices, e.g. sensors.

See also:

Share This