I'm researching engineering approaches to software development based on the type of software, for example:Custom one-off software (e.g. space shuttle software)Whitebox application requiring customised (e.g. Apache Ofbiz ERP - source code is usually downloaded and customized for each implementation)Blackbox application without extension points Blackbox application with extension points for customisation (e.g. MS Word, SAP)...Is there an established taxonomy of different types of software based on how the software is implemented?
Is there an established software taxonomy that's based on the type of software?
development process;software
It isn't really a taxonomy: it's a set of orthogonal properties. Some of the most important ones are:Open source vs. proprietaryPublicly available vs. in-house onlyExtensible API or not?Plugin support?Platform (i.e. what infrastructure does it depend upon)Extent of specific customisation for user / companyScriptability (i.e. embeds own programming language for users)Client type (web vs. desktop GUI vs. console app vs. REST API etc.)Monolithic structure vs. composable components?Support for distribution (clustering, redundancy failover etc.)Stable vs. experimental (in development)You can have pretty much any combination of the above.... so trying to build it into a tree structure would be fairly pointless as all the branches would need to be duplicated.