Разработка ПО

Мифы о безопасном ПО: уроки знаменитых катастроф

Ошибки в программном обеспечении критических систем могут вызвать чрезвычайные последствия, тем не менее, в обществе, особенно на уровне массового потребителя ИТ, продолжает витать иллюзия непогрешимости компьютера и работающего на нем ПО. В статье подробно разбираются две вошедших в историю компьютерной индустрии катастрофы и обсуждаются некоторые мифы, связанные с такими понятиями, как безопасность и риски в контексте разработки и эксплуатации программно-аппаратных систем. Катастрофа Ariane 5 Инциденты с Therac-25 Мифы о безопасности ПО Эпитафия Эпилог Литература "Если бы строители строили здания так же, как программисты пишут программы, первый залетевший дятел разрушил бы цивилизацию"

Построение надежного Объектно-ориентированного программного обеспечения: Введение в Контрактное Проектирование

Понятие "контрактного проектирования" (Design by Contract) - сердцевина "Метода Эйфеля", разработанного автором систематического подхода к созданию надежного объектно-ориентированного программного обеспечения. Это понятие столь же важно для ОО парадигмы, как и классы, объекты, наследование, полиморфизм и динамическое связывание. Для получения уверенности в надлежащей работе ОО ПО необходим систематический подход к специфицированию и реализации ОО программных сущностей и их взаимосвязей в программной системе. Эта статья содержит введение в подход "Контрактное Проектирование", предложенный компанией Interactive Software Engineering. Специфицирование и отладка Понятие Контракта Контракты в анализе Инварианты Документирование Тестирование, отладка и гарантии качества Контракты и наследование Обработка исключений Подведем итоги Об авторе Литература Понятие "контрактного проектирования" (Design

Добротность программ и информационных потоков

В этой статье вводится понятие добротности как важной внутренней характеристики программ и систем, соответствующей различным аспектам качества программного обеспечения. Кроме того, здесь приводится классификация критериев добротности и различные виды требований

MS: корпоративная культура разработки ПО

То, что Microsoft является самой успешной компанией мира - это, как говаривал Остап Бендер, "медицинский факт", оспорить который невозможно. А вот о таком неоднозначном понятии, как "качество" этого успеха можно подискутировать.

В поисках компьютерного эсперанто

Бурное развитие информационных технологий повлекло за собой создание множества искусственных языков, ориентированных на решение проблемы общения человека с компьютером. Не стремясь к соблюдению слишком строгой и исчерпывающей классификации и опираясь на ряд традиционных подходов, попробуем проанализировать современное состояние языков программирования.

Оценка надежности программного обеспечения

Надежность программного обеспечения гораздо важнее других его характеристик, например, времени исполнения, и хотя абсолютная надежность современного программного обеспечения, по-видимому, недостижима, до сих пор не существует общепринятой меры надежности компьютерных программ. В статье анализируются причины создавшегося положения и предлагается подход к решению проблемы. Обоснование проблемы Причины сложившейся ситуации Вероятностный подход к проблеме надежности Компьютерная программа как объект исследования Надежность и правильность программы Модель последовательности испытаний Бернулли Некоторые следствия Заключение Литература Надежность программного обеспечения