Welcome to software-engineering.ru

Основы кэширования

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

Требования

Требование к программному обеспечению — это условие или способность, необходимые пользователю для решения проблемы или достижения цели. Однако третьи стороны, такие как регулирующие органы, организация, занимающаяся разработкой программного обеспечения, или сам проект, также могут предъявлять требования. Важно правильно определять требования, невыявленные или неверно выявленные требования могут привести к масштабным исправлениям в будущем. Основные проблемы –… read more »

Программная инженерия

Различные словари (напр., SEVOCAB) и Википедия дают довольно сложное определение программной инженерии[1], поэтому немного упростим его. Программная инженерия — применение научных, инженерных и других подходов и знаний ко всем аспектам создания программного обеспечения. Области знаний программной инженерии С моей точки зрения лучше всего для определения структуры программной инженерии подходит SWEBOK (Software Engineering Body of Knowledge)… read more »

Наука и инженерия в ИТ

Представление о роли инженерии и науки в ИТ помогает инженеру выстроить карту знаний, определить свой уровень и расти осознанно, выбирая направление развития. Приведем некоторые определения: Наука — деятельность, направленная на выработку и систематизацию объективных знаний о действительности[1], т.е. на объективное описание реальности. Науки бывают фундаментальными и прикладными. В современной России науки также классифицируют на 4… read more »

Проектирование систем

Введение Крупные технологические компании все чаще включают интервью по проектированию информационных систем (System Design) как один из этапов собеседований. Обычно не ожидается, что кандидат успеет спроектировать полноценную систему, но важен сам процесс проектирования, он позволяет продемонстрировать вам свои навыки инженера, обосновать выбор архитектурных решений и ответить на вопросы интервьюера. Каково же место system design в… read more »

DRY

Don’t Repeat Youself

Поддерживаемый код

Контекст Ошибки в коде могут привести к финансовым потерям, катастрофам и даже человеческим жертвам. Из-за ошибок в программном обеспечении без связи остались миллионы абонентов компании AT&T, произошла авария ракеты-носителя “Ариан-5”, люди получили повышенные дозы облучения, а финансовая организация Knight Capital Group потеряла 440 миллионов долларов за 45 минут. И это лишь несколько прецедентов, по некоторым… read more »

Sidebar