Если постоянно думать о том, как ходить, дышать или слушать, не останется времени на остальные дела, которыми обычно занят современный человек, да так и сойти с ума недолго. Так и при взаимодействии с «дарами» ИТ-индустрии. Если их потребители, как было еще совсем недавно, будут «грузиться» по поводу особенностей реализации и поддержки выполнения их любимых приложений, то не останется времени для плодотворной работы собственно с этими приложениями. C другой стороны, несмотря на то, что большинству мало интересны проблемы ИТ, как мало кого, например, волнуют особенности плетения полотна или химический состав красок, используемых великими художниками, однако об этих вещах сразу вспоминают, когда возникает угроза утраты шедевра, равно как и при возникновении угрозы сохранности информации, жизненно важной для личности, предприятия или государства. Вот тут-то все и вспоминают про ИТ-системы вообще и про системы хранения в частности.
Словосочетанием «система хранения данных» обычно обозначают не только сложные системы, но и отдельные устройства, однако наши авторы предлагают вспомнить, что когда-то вполне успешно использовалось понятие «запоминающее устройство» и если обратиться к этому архаичному термину, то тогда устройство останется устройством, а система хранения, состоящая из комплекса аппаратных и программных средств, — системой. В таком случае корпоративной системой хранения данных будет считаться система, которая состоит из дисковых и других запоминающих устройств, устройств, подключенных к сети и выполняющих функции серверов для единиц хранения и сети, объединяющей эти компоненты. В данном номере журнала речь пойдет о перспективах развития, как самих систем, так и о новых тенденциях в области индустрии ее компонентов.
Когда последний раз ваш телевизор сам отключался и требовал срочно загрузить из Internet заплатку, исправляющую критическую ошибку? А ведь телевизор, как и цифровая фотокамера, мобильный телефон и другие аналогичные чуда сегодняшнего дня — это тот же компьютер, имеющий свой процессор, монитор, адаптер, устройство ввода/вывода и программное обеспечение. Этот вопрос напоминает о неприятной проблеме, которую так не любят затрагивать сегодня в компьютерной индустрии — почему телевизоры, плейеры, сотовые телефоны и другие электронные устройства вполне надежны и хорошо защищены, а нынешние компьютеры — нет? Конечно, этому можно найти немало «оправданий»: компьютеры — это гибкие системы, пользователи которых могут сами менять программное обеспечение, а ИТ-отрасль еще молода и недостаточно развита и т. д. Но, как уже говорилось, у подавляющего большинства компьютерных пользователей имеется масса других дел, нежели изучение технических особенностей конкретного чуда ИТ-индустрии, поэтому подобные «объяснения» не кажутся убедительными.
Чего потребитель ждет от компьютера сейчас и в будущем? Того же, что и от телевизора — купил, подключил и он прекрасно работает следующие пять-десять лет. ИТ-специалистам давно пора принять это во внимание. Самым слабым местом в плане надежности и защиты компьютеров остается операционная система. А почему, собственно, ОС ненадежны и что такое «укрепленные операционные системы»? На эти и другие вопросы отвечают авторы этого выпуска журнала.
Что должны знать выпускники учебных заведений, готовящие себя для работы на поприще программирования? За последние годы программистское сообщество приложило немало усилий для упорядочения накопленных знаний и поиска способов их преобразования в учебные курсы. В результате этих усилий появились такие проекты, как SWEBOK («Руководство по сумме знаний о программной инженерии») и SE 2004 («Программная инженерия 2004»), отражающие общепринятое представление о том, что должен знать программный инженер, имеющий степень бакалавра и четырехлетний опыт работы. Разработаны руководящие принципы построения учебных планов по программной инженерии для студентов-выпускников. Однако большинство таких проектов особо подчеркивают «инженерную» сторону программной инженерии, что оказывает влияние как на содержание типичного учебного курса, так и на понимание студентами сущности изучаемой дисциплины, а между тем программная инженерия имеет еще одно важное измерение — социальное. Совсем нелишне было бы поразмышлять о том, каким образом техническая ограниченность понимания дисциплины порождает допущения (заблуждения) типа: «планирование в программной инженерии осуществляется намного хуже, чем в других областях» или «программная инженерия похожа на другие инженерные дисциплины, а для курса программной инженерии нужен промышленный проект». Одним из пагубных (для надежности создаваемой системы) последствий технического подхода к обучению становится, например, непонимание студентами важности разработки требований еще перед началом программирования.