Непротиворечивость и неполнота - термины из формальной логики, где они используются для описания логических систем.
Полные определения зависят от точного контекста, но противоречивость обычно означает что-то вроде "для некоторого X можно доказать как X, так и !X", а неполнота означает что-то вроде "для некоторого X нельзя доказать X и нельзя доказать !X".
Так, для спецификаций я бы понимал "непоследовательный" как нечто вроде "не может быть реализован, потому что он самопротиворечив в некотором смысле", а "неполный" как "недостаточно определенный - для некоторых входов, выходы не определены четко".
Название вопроса указывает на программное обеспечение ENG. Но тело определяет дизайн программного обеспечения. Эти два термина не являются эквивалентами.
Что касается несоответствия и неполноты, есть много областей, в которых они применяются. Просто чтобы назвать несколько из них:
неполнота:
несоответствие
Один смысл согласованности и полноты (и их соответствующие отрицания) в контексте формальных систем является следующим. Примерно, система является последовательной IFF. Невозможно избавиться от этого противоречия. Система завершается IFF, можно генерировать все истины о базовой модели. Идеал состоит в том, чтобы придумать разумный набор аксиом, которые могут «захватить» все и только истины о некоторой данной области.
Они могут означать так много вещей, что я просто приведу несколько примеров:
Несоответствие:
Незавершенность:
Перечни продолжаются и продолжаются.....
В системах баз данных является последовательной транзакцией - это то, что не нарушает никаких ограничений целостности во время его выполнения. Если транзакция покидает базу данных в незаконном состоянии, она прервана, и сообщается об ошибке.
В алгоритмах понятие полноты относится к способности алгоритма находить решение, если кто-то существует, и если нет, сообщает, что никакое решение невозможно.
В теории вычислительной сложности задача P выполнена для класса C сложности C, под заданным типом уменьшения, если P находится в C, и каждая проблема в C сводится к P, используя это уменьшение. Например, каждая проблема в классе NP-Complet завершена для класса NP, в рамках полиномиального времени, многие-один снижение.
В тестировании программного обеспечения полноту имеет для цели функциональной проверки графика вызова (между элементом программного обеспечения) и графиком управления (внутри каждого элемента программного обеспечения). Концепция полноты найдена в теории базы знаний.
Вы могли бы продолжать и на таких определениях ... возможно, сделайте вопрос менее расплывчатой?
, и если бы у меня был плохой день, я бы ссылался на «Геды неполнотыми теоремами», как это окончательно тема;)
-121--4817825-Возможны, основанные на контексте, что формальные методы относятся к математическим методам для доказательства правильности программ. В этом контексте использование математического доказательства обеспечит, чтобы спецификации не были противоречивыми (без логических противоречий) или неполных (существует формальное доказательство достоверности спецификации).
в системах баз данных, согласованная транзакция является той, которая не нарушает никаких ограничений целостности во время его выполнения. Если транзакция покидает базу данных в незаконном состоянии, она прервана, и сообщается об ошибке.
В алгоритмах понятие полноты относится к способности алгоритма находить решение, если кто-то существует, и если нет, сообщает, что никакое решение невозможно.
В теории вычислительной сложности задача P выполнена для класса сложности C, под данным типом уменьшения, если P находится в C, и каждая проблема в C сводится к P, используя это уменьшение. Например, каждая проблема в классе NP-Complet завершена для класса NP, в рамках полиномиального времени, многие-один снижение.
В тестировании программного обеспечения полнота имеет целевую задачу функциональную проверку графика вызова (между элементом программного обеспечения) и графиком управления (внутри каждого элемента программного обеспечения). Концепция полноты найдена в теории базы знаний.
Вы могли бы продолжать и на таких определениях ... возможно, сделайте вопрос менее расплывчатой?
, и если бы у меня был плохой день, я бы ссылался на «Гедлс неполнотыми теоремами», так как это окончательно будет на тема;)
В контексте указанного вами примера они просто означают, что наложение формального процесса - тот, который имеет сквозной документированный подход, методология, набор результатов, определен Роли и обязанности, будут создавать лучший продукт, чем специальный подход к тому же вопросу. Другими словами, формальные системы, которые описывают полный процесс разработки программного обеспечения, используемые последовательно и применяемые в течение всего срока службы этого проекта, будут создавать лучшие результаты, чем системы, которые не предоставляют эту структуру поддержки.
Это так же, как построение дома. Да, вы можете просто закончиться и начать вместе гвоздь вместе, и вы сможете построить что-то, что вы можете жить, но если вы вместо этого изучите архитектуру, строительные материалы и методы, определите рабочий процесс и т. Д., Вы будете в конечном итоге лучший дом. Еще лучше, чем это, однако, вы сможете построить тот же дом или аналогичный, снова с значительно более высокой вероятностью успеха.