Сообщения с тегом ‘False’
Корректность и устойчивость программных систем
Написано admin в 20 Июнь 2008 – 21:50 -Корректность и устойчивость программных систем
Корректность и устойчивость – два основных качества программной системы, без которых все остальные ее достоинства не имеют особого смысла. Понятие корректности программной системы имеет смысл только тогда, когда задана ее спецификация. В зависимости от того, как формализуется спецификация, уточняется понятие корректности.
|
В лекции 9 введено строгое понятие корректности метода по отношению к его спецификациям, заданным в виде предусловия и постусловия метода. |
Корректность – это способность программной системы работать в строгом соответствии со своей спецификацией. Отладка – процесс, направленный на достижение корректности.
Во время работы системы могут возникать ситуации, выходящие за пределы, предусмотренные спецификацией. Такие ситуации называются исключительными. Устойчивость – это способность программной системы должным образом реагировать на исключительные ситуации. Обработка исключительных ситуаций – процесс, направленный на достижение устойчивости.
Почему так трудно создавать корректные и устойчивые программные системы? Все дело в сложности разрабатываемых систем. Когда в 60-х годах прошлого века фирмой IBM создавалась операционная система OS-360, то на ее создание потребовалось 5000 человеко-лет, и проект по сложности сравнивался с проектом высадки первого человека на Луну. Сложность нынешних сетевых операционных систем, систем управления хранилищами данных, прикладных систем программирования на порядки превосходит сложность OS-360, так что, несмотря на прогресс, достигнутый в области технологии программирования, проблемы, стоящие перед разработчиками, не стали проще. Read more »
Tags: False, IBM, OS
Находится в Учебник | No Comments »
Корректность методов
Написано admin в 20 Июнь 2008 – 21:09 -Корректность методов
Написать метод, задающий ту или иную функциональность, нетрудно. Это может сделать каждый. Значительно сложнее написать метод, корректно решающий поставленную задачу. Корректность метода – это не внутреннее понятие, подлежащее определению в терминах самого метода. Корректность определяется по отношению к внешним спецификациям метода. Если нет спецификаций, то говорить о корректности “некорректно”.
Спецификации можно задавать по-разному. Мы определим их здесь через понятия предусловий и постусловий метода, используя символику триад Xoара, введенных Чарльзом Энтони Хоаром – выдающимся программистом и ученым, одну из знаменитых программ которого приведем чуть позже в этой лекции.
Пусть P(x,z) – программа P с входными аргументами x и выходными z. Пусть Q(y) – некоторое логическое условие (предикат) над переменными программы y. Язык для записи предикатов Q(y) формализовать не будем. Отметим только, что он может быть шире языка, на котором записываются условия в программах, и включать, например, кванторы. Предусловием программы P(x,z) будем называть предикат Pre(x), заданный на входах программы. Постусловием программы P(x,z) будем называть предикат Post(x,z), связывающий входы и выходы программы. Для простоты будем полагать, что программа P не изменяет своих входов x в процессе своей работы. Теперь несколько определений:
Определение 1 (частичной корректности): Программа P(x,z) корректна (частично, или условно) по отношению к предусловию Pre(x) и постусловию Post(x,z), если из истинности предиката Pre(x) следует, что для программы P(x,z), запущенной на входе x, гарантируется выполнение предиката Post(x,z) при условии завершения программы. Read more »
Tags: False, Init, Post, Pre, QuickSort, Studio, summary, Visual, XML
Находится в Учебник | No Comments »
Урок 41. Методы класса System.Object
Написано admin в 14 Июнь 2008 – 16:23 -Урок 41. Методы класса System.Object
В классе System.Object имеются следующие методы:
- Equals – виртуальный метод, возвращающий True, если два объекта расположены в одном месте памяти (второй объект передается в качестве параметра).
- GetHashCode – виртуальный метод, возвращает некоторое целое число (хэш-код), однозначно идентифицирующее экземпляр класса.
- GetType – возвращает объект типа Type, описывающий соответствующий тип.
- ToString – виртуальный метод, по умолчанию возвращает строку, представляющую полное имя типа объекта.
Вот пример использования этих методов:
Tags: Equals, False, GetHashCode, GetType, Object, System, WriteLine
Находится в Уроки C# | No Comments »
