QUPSRSTCO: Software Design has more dimensions than 'Functionality'
Summary : There are multiple Essential Dimensions of Software Design besides " Functionality ". There are three Essential External Dimensions, {Function, Time, Money} and multiple Internal Dimensions. I'm ot sure where/how "Real-Time" is covered, it isn't just " Performance ": the necessary concurrency (not just "parallelism") and asynchronous events/processing require 10-100 times the cognitive capacity to deal with, and problems scale-up extraordinarily (faster than exponential) due to this added complexity. This is why Operating Systems and embedded critical systems (health/medicine, aerospace control, nuclear, Telecomms, Routers/Switches, Storage Devices, ...) are so difficult and expensive. Not understanding and enumerating these multiple Dimensions whilst seemingly teaching Functionality only is perhaps currently the single biggest single failure of the discipline of Software Engineering . The Necessary or Essential Dimensions ...