In terms of designing software what does “Inconsistency” and “Incompleteness” really mean?
E.g. – Creating Specifications
Usage of Formal Methods of Software Engineering are said to be less “inconsistent” and “incomplete” than other less formal methods such as Object Orientated Design when creating specifications.
Inconsistency and incompleteness are both originally terms from formal logic, where they are used to describe logical systems.
The full definitions depend on the exact context, but inconsistency normally means something like “for some X, you can prove both X and !X”, and incompleteness means something like “for some X, you can’t prove X and you can’t prove !X”.
So, for specifications, I’d understand “inconsistent” to mean something like “cannot be implemented, because it is self-contradictory in some way”, and “incomplete” to mean “underspecified – for some inputs, the outputs are not clearly defined”.