Подход к улучшению структурной целостности и производительности существующих программ, называемый рефакторингом, получил развитие благодаря усилиям экспертов в области ООП, написавших эту книгу. Каждый шаг рефакторинга прост. Это может быть перемещение поля из одного класса в другой, вынесение фрагмента кода из метода и превращение его в самостоятельный метод или даже перемещение кода по иерархии классов. Каждый отдельный шаг может показаться элементарным, но совокупный эффект таких малых изменений в состоянии радикально улучшить проект или даже предотвратить распад плохо спроектированной программы. Мартин Фаулер с соавторами пролили свет на процесс рефакторинга, описав принципы и лучшие приемы его осуществления, а также указав, где и когда следует начинать углубленное изучение кода с целью его улучшения. Основу книги составляет подробный перечень более 70 методов рефакторинга, для каждого из которых описываются мотивация и техника испытанного на практике преобразования...
С. Н. Баранов, А. Н. Домарацкий, Н. К. Ласточкин, В. П. Морозов
Рассматривается процесс разработки программных продуктов, практическая структура организации деятельности процесса их разработки, планирование, сбор и анализ метрик, отслеживание хода выполнения проектов, управление конфигурацией программных изделий и их тестирование, предотвращение дефектов, управление внедрением новых технологий и улучшением стандартного процесса. Для специалистов, занимающихся разработкой программных изделий, руководителям коллективов программистов, а также для студентов старших курсов и аспирантов соответствующих специальностей.
"Рекс Блэк написал новую книгу, одну из тех, которую тестировщики читают от корки до корки, а затем часто ссылаются на нее." Рик Крэйг, менеджер по тестированию программного обеспечения, автор книг, лектор и консультант. В современных условиях стремительно меняющейся среды разработки процессы тестирования программного обеспечения играют все большую роль. Если методологии ускоренной разработки нацелены на потребность компании в быстром выпуске продукта, то процессы тестирования направлены на столь же существенную потребность в выпуске его в надлежащем виде. В этой книге Рекс Блэк, опираясь на свой богатый опыт, выделяет двенадцать процессов тестирования, являющихся ключевыми для достижения успеха. За описанием каждого из этих процессов следует отменно выстроенный пример использования процесса в различных организационных, операционных и технологических условиях. Вместо громоздких правил представлены списки контрольных вопросов - легкие, гибкие...
Данная книга представляет собой результат многолетнего опыта профессионального программиста по применению шаблонов проектирования. Авторский подход к проектированию состоит в том, что следует избегать как недостаточного, так и избыточного проектирования, постоянно анализируя готовый работоспособный код и реорганизуя его только в том случае, когда это приведет к повышению его эффективности, упрощению его понимания и сопровождения. Шаблоны проектирования - не панацея, так что бывают как ситуации, когда такая реорганизация должна выполняться с использованием шаблонов проектирования, так и ситуации, когда наилучшее решение состоит в отказе от них. Автор на основании как собственного, так и чужого опыта детально рассматривает различные признаки кода, требующего рефакторинга, описывает, какой именно рефакторинг наилучшим образом подходит для той или иной ситуации, и описывает его механику, подробно разбирая ее на конкретных примерах из реальных задач. Книга может...
Джек Гринфилд и Кит Шорт, при участии Стива Кука и Стюарта Кента
Книга известных специалистов в области разработки архитектур крупных программных систем посвящена новому подходу к созданию линеек программного обеспечения, допускающих быструю адаптацию под постоянно меняющиеся требования со стороны заказчиков. Определенный застой в развитии инструментов анализа, проектирования, моделирования и реализации сложных программных систем и быстро меняющиеся условия на рынке требуют нахождения эффективных решений, позволяющих максимально быстро возвращать инвестиции. Таковыми должны стать фабрики разработки программ. В книге подробно рассматриваются фундаментальные вопросы сложности и изменчивости программного обеспечения, разработки с помощью моделей и шаблонов, а также специализированных языков проектирования. Большое внимание уделяется проблеме систематического повторного использования, построению линеек программных продуктов и абстрагированию, основанному на платформах. Исчерпывающие сведения о концепциях моделирования и проектирования на базе...
В данной книге исследуются стратегии интеграции корпоративных приложений с помощью механизмов обмена сообщениями. Авторы рассматривают шаблоны проектирования и приводят практические примеры интеграции приложений, демонстрирующие преимущества обмена сообщениями и эффективность решений, создаваемых на основе этой технологии. Каждый шаблон сопровождается описанием некоторой задачи проектирования, обсуждением исходных условий и представлением элегантного, сбалансированного решения. Авторы подчеркивают как преимущества, так и недостатки обмена сообщениями, а также дают практические советы по написанию кода подключения приложения к системе обмена сообщениями, маршрутизации сообщений и мониторинга состояния системы. Книга ориентирована на разработчиков программного обеспечения и системных интеграторов, использующих различные технологии и продукты для обмена сообщениями, такие как Java Message Service (JMS), Microsoft Message Queuing (MSMQ), IBM WebSphere MQ, Microsoft BizTalk,...
Этот курс лекций создан для тех, кто хочет обучиться тестированию, получить работу тестировщика в российской или западной интернет-компании, понять, как вести себя в корпоративном окружении, и добиться профессионального и личностного роста. Он будет интересен и участникам процесса разработки программного обеспечения, рекрутерам, людям, связанным с интернетом или пишущим о нем, и просто всем желающим понять кухню интернет-стартапов. Книга целиком базируется на личном опыте освоения - с нуля - профессии тестировщика и многолетней работы автора в этом качестве в интернет-компаниях США.
Управление конфигурацией программного обеспечения (SCM) помогает группам разработчиков справляться с наиболее крупными и сложными проектами для выпуска более качественных программных продуктов. Второе издание книги описывает последние новшества ClearCase и ClearQuest, при этом еще глубже проникая в стратегию и управление SCM. Каждый из авторов обладает более чем 15-летним опытом в области SCM и знаниями технологий IBM Rational, применяемых клиентами по всему миру. В этой книге они систематически раскрывают планирование, развертывание, а также применение SCM на протяжении всего жизненного цикла проектов: разработка, интеграция, построение, стабилизация, развертывание версий, и т. д. Они представляют практическое руководство по решению проблем, связанных с ростом и усложнением проектов, - от управления географически распределенными командами разработчиков до отслеживания запросов на изменения.
В данной книге показано, как применять принципы разработки программного обеспечения, в частности шаблоны проектирования, инкапсуляцию, исключение повторений и описательные имена, к написанию кода тестов. В части I рассматриваются теоретические основы методов разработки тестов и описываются концепции шаблонов и "запахов" тестов (признаков существующей проблемы). В частях II и III приводится каталог шаблонов проектирования тестов, "запахов" и других средств обеспечения большей прозрачности кода тестов. Кроме этого, в части III сделана попытка обобщить и привести к единому знаменателю терминологию тестовых двойников и подставных объектов, а также рассмотрены некоторые принципы их применения при проектировании как тестов, так и самого программного обеспечения. Книга ориентирована на разработчиков программного обеспечения, практикующих гибкие процессы разработки. В основном здесь рассматриваются примеры для существующих реализаций инфраструктуры xUnit, но затронуты и более новые...
Книга содержит систематическое изложение основных вопросов современной теории и практики промышленной и лабораторной автоматизации. Представлены только самые необходимые для практики сведения с акцентом на детальный анализ наиболее сложных и часто неправильно понимаемых вопросов. Рассмотрены широко распространенные в России промышленные интерфейсы и сети, архитектура систем автоматизации и методы их защиты от помех, тонкие нюансы техники автоматизированных измерений, ПИД-регуляторы с автоматической настройкой и адаптацией, структура и характеристики управляющих контроллеров, современные методы резервирования, средства программирования контроллеров, SCADA-пакеты и ОРС серверы, юридические вопросы внедрения средств автоматизации, в том числе на опасных промышленных объектах. Для специалистов по промышленной автоматизации, а также инженеров и научных работников, которые хотят автоматизировать свою работу с помощью компьютера. Может быть полезна студентам старших курсов...