|
|
Разработка и тестирование программного обеспечения
|
В предлагаемой книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились, потому что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Авторы излагают принципы использования паттернов проектирования и приводят их каталог. Таким образом книга одновременно решает две задачи. Во-первых, здесь демонстрируется роль паттернов в создании архитектуры сложных систем. Во-вторых, применяя содержащиеся в справочнике паттерны, проектировщик сможет с легкостью разрабатывать собственные приложения. Издание предназначено как для профессиональных разработчиков, так и для программистов, осваивающих объектно-ориентированное проектирование. |
|
Рассмотрены методы и алгоритмы идентификации, анализа и мониторинга проектных рисков качества программных изделий в условиях нечеткости, а также приведены методические аспекты построения баз знаний по проектным рискам программного проекта. Рассмотрена современная методика анализа и сокращения проектных рисков по характеристикам качества программных изделий. Приведена классификация задач поддержки принятия решений по проектным рискам в условиях нечеткости. Обоснованы к применению ряд формальных методов и алгоритмов для автоматизации процесса анализа проектных рисков качества программных изделий (ПИ), которые позволяют также оптимизировать и состав контролируемых проектных рисков по стадиям жизненного цикла программного проекта. Рассмотрен метод формализации и автоматизации процесса мониторинга проектных рисков качества ПИ, ориентированный на программное определение (идентификацию) по ходу проекта текущих рисковых ситуаций с выбором рациональной альтернативы смягчения рисков. Изложена современная методика построения базы знаний по проектным рискам качества программного проекта. На формальном уровне рассмотрены модели и методы нечеткой лингвистической аппроксимации в интеллектуальной технологии сокращения проектных рисков качества, а также процедуры настройки нечетких баз знаний по проектным рискам. Приведено описание специальных инструментальных средств, предназначенных для поддержки процессов идентификации, анализа и мониторинга проектных рисков качества программных изделий. Для специалистов, будет полезна аспирантам и студентам. |
|
«Эта книга представляет собой том 4А, поскольку сам том 4 является многотомником. Комбинаторный поиск — богатая и важная тема, и Кнут приводит слишком много нового, интересного и полезного материала, чтобы его можно было разместить в одном или двух (а может быть, даже в трех) томах. Одна эта книга включает около 1500 упражнений с ответами для самостоятельной работы, а также сотни полезных фактов, которые вы не найдете ни в каких других публикациях. Том 4А определенно должен занять свое место на полке рядом с первыми тремя томами этой классической работы в библиотеке каждого серьезного программиста. В этом томе рассматриваются методы, позволяющие компьютерам эффективно работать с задачами гигантского размера. Рассматриваемый материал начинается с булевых функций и технологий и трюков работы с битами, затем всесторонне рассматривается генерация всех кортежей и перестановок, всех сочетаний и разбиений, и всех деревьев. Этот многотомный труд широко известен как полное изложение информатики. В течение десятилетий первые три тома служили бесценным источником информации по теории и практике программирования для студентов, теоретиков и практиков. Ученые восхищались красотой и изяществом анализа Кнута, в то время как практикующие программисты успешно применяли его «поваренную книгу» для решения ежедневных задач.» |
|
Книга известного специалиста в области информатики Никлауса Вирта написана по материалам его лекций по вводному курсу проектирования компиляторов. На примере простого языка Оберон-0 рассмотрены все элементы транслятора, включая оптимизацию и генерацию кода. Приведен полный текст компилятора на языке программирования Оберон. Для программистов, преподавателей и студентов, изучающих системное программирование и методы трансляции. |
|
Применяя методику разработки через приемочные тесты (ATDD), заказчики, разработчики и тестировщики получают возможность совместно сформулировать тестопригодные требования, что позволяет создавать высококачественное программное обеспечение в сжатые сроки. Однако на практике многие не понимают, в чем истинный смысл ATDD. Настоящая книга — первое практическое руководство начального уровня по внедрению и успешному применению этой методики. На примерах автор показывает, как применять ATDD, используя различные языки и каркасы. В результате проработки примеров порождаются различные артефакты: классы для автоматизации тестирования, определения шагов и полные реализации. На этих вполне реалистичных примерах автор иллюстрирует фундаментальные принципы ATDD, показывает место ATDD в общем процессе разработки, делится своим обширным опытом и предостерегает против типичных ошибок. Эта книга будет полезна тестировщикам, разработчикам, бизнес-аналитикам и руководителям проектов. Она позволит заложить прочный фундамент для получения первых результатов от внедрения ATDD уже сейчас и поможет добиться еще большего в будущем, по мере накопления опыта. |
|
В этой книге Ричард Берд представляет принципиально новый подход к проектированию алгоритмов, а именно проектирование посредством формального вывода. Основное содержание книги разделено на 30 коротких глав, называемых жемчужинами, в каждой из которых решается конкретная программистская задача. Эти задачи, некоторые из них абсолютно новые, происходят из таких разнообразных источников, как игры и головоломки, захватывающие комбинаторные построения и более традиционные алгоритмы сжатия данных и сопоставления строк. Каждая жемчужина начинается с постановки задачи, формулируемой на функциональном языке программирования Haskell, чрезвычайно мощном и в то же время лаконичном, позволяющем легко и просто выражать алгоритмические идеи. Новшество книги состоит в том, что каждое решение формально вычисляется из исходной постановки задачи посредством обращения к законам функционального программирования. Издание предназначено для программистов, увлекающихся функциональным программированием, студентов, аспирантов и преподавателей, интересующихся принципами проектирования алгоритмов, а также всех, кто желает приобрести и развить навыки рассуждений в эквациональном стиле применительно к программам и алгоритмам. |
|
Настоящее издание является результатом значительной переработки книги «Цифровая обработка изображений» (Гонсалес и Уинтц, 1977 г. и 1978 г.; Гонсалес и Вудс, 1992 г. и 2002 г.) Одна из важнейших причин популярности книги, которая уже более 30 лет является мировым лидером в своей области – высокая степень внимания авторов к изменению образовательных потребностей читателя. Нынешнее издание базируется на самом обширном из когда-либо проводившихся исследований читательского мнения. Как и прежде, основные цели книги — служить введением в основные понятия и методы цифровой обработки изображений, а также создать основу для последующего изучения и проведения самостоятельных исследований в этой области. Все разделы сопровождаются большим количеством примеров и иллюстраций. Книга рассчитана на научных работников, профессиональных программистов, специалистов по компьютерному дизайну, студентов и преподавателей. Книга постоянно занимает первое место в рейтинге продаж Amazon.com и широко используется разработчиками и дизайнерами. При финансовой поддержке ФА по печати и массовым коммуникациям в рамках Федеральной целевой программы «Культура России (2012-2018 годы)» |
|
Подробно рассмотрены основные методы и нотации, применяемые при разработке сложного программного обеспечения. Особое внимание уделено проектированию программных систем с использованием структурного и объектного подходов. Приведена классификация и проанализированы принципы проектирования пользовательских интерфейсов программного обеспечения. Для студентов вузов, которые обучаются по снаправлениям, предполагающим изучение технологии программирования. Полезен при оформлении документации к курсовым и дипломным работам и проектам, связанным с разработкой программного обеспечения. Может быть интересен всем изучающим программирование самостоятельно. |
|
«Принципы создания ПО изменяются. Традиционный подход с нарастающей интенсивностью разработки и перенапряжением членов команды приводят к замедлению работы. Осознав это, организаторы начали уделять больше внимания «командным» способностям группы и влиянию отдельных разработчиков. Вместо того чтобы увеличивать загрузку отдельного разработчика, создатели «быстрых» методологий спрашивают: «Как изменить процесс, чтобы работа команды стала не просто более продуктивной, но и более качественной?» И отвечают: «Учиться «играть». Написанная для разработчиков и менеджеров проектов книга Быстрая разработка программного обеспечения уподобляет создание ПО игре. Игроки должны быть восприимчивы к разным методологиям и сосредоточены на разработке качественного ПО за короткий период времени. Им необходимо запоминать все, что узнается в процессе работы, поскольку ни одна игра не повторится дважды. В этой книге, основанной на десятилетнем опыте, исследованиях и интервью с членами команд разработчиков ПО, даются практические советы по успешному завершению проектов с минимальными усилиями.» |
|
Эта книга для тех, кто давно связан с разработкой программного обеспечения. Или для тех, кто еще думает выбрать программирование своей профессией. Или для тех, кто просто привык думать и размышлять о происходящем в мире информационных технологий. Не секрет, что основная масса софтостроения сосредоточена в секторе так называемой корпоративной разработки: от комплексных информационных систем предприятия до отдельных приложений. Поэтому немалая часть сюжетов касается именно Enterprise Programming.Из текста вы вряд ли узнаете, как правильно склеивать многоэтажные постройки из готовых компонентов в гетерогенной среде, проектировать интерфейсы, синхронизировать процессы или писать эффективные запросы к базам данных. Подобные темы будут лишь фоном для рассказа о софтостроительной «кухне». При определенной доле любопытства вы сможете убедиться, что новое – это хорошо забытое старое, узнать, как устроены некоторые сложные системы, когда следует применять разные технологии, почему специалистам в информатике надо особенно тщательно фильтровать поступающую из множества источников информацию, и многое другое, что вы, возможно, еще не знали или уже знаете, но с другой стороны. В книге мне хотелось показать наш софтостроительный мир разработки корпоративных информационных систем не с парадного фасада описаний программных сред, подходов и технологий, а изнутри. Насколько это получилось – судить читателю. |
|
Это уникальное руководство по разработке интерактивных систем, отражающее опыт и взгляды Джефа Раскина, создателя проекта Apple Macintosh, должен прочитать каждый, кто задумывается об интерфейсе. Сейчас много говорят об эффективности современных подходов к разработке интерфейсов. Раскин же демонстрирует, что многие из них ведут в тупик, и для создания компьютеров, с которыми было бы проще работать, требуются совершенно новые принципы разработки. Он объясняет, как осуществить эти необходимые сегодня изменения, и высказывает нестандартные идеи, демонстрируя дальновидность и способность к практическому взгляду на вещи. Эта книга, рассказывающая о научном подходе к разработке интерфейсов, может быть полезна как для создателей программного обеспечения, так и для руководителей проектов. |
|
«В свет с завидной регулярностью выходят книги, посвященные цифровым интерфейсам. Каждый раз такие издания находят своего читателя. В чём же отличие нового издания от предыдущих? На этот раз автор постарался не компилировать тексты стандартов и не приводить полной технической документации (в настоящее время доступной через Интернет и из других источников). На этапе выбора архитектуры изделия важно понимать принципиальные отличия интерфейсов друг от друга. Тогда, зная стоящую задачу, разработчик сможет выбрать наиболее функциональные решения. Данная книга призвана разъяснить инженеру, из каких «модулей» строятся стандарты интерфейсов, какие свойства систем передачи данных зависят от конфигурации этих «модулей».» |
|
Изложены основные вопросы инженерии программного обеспечения, ее принципы. Рассмотрены проектирование, архитектура и процесс производства программного обеспечения, верификация, а также инструментальные средства поддержки разработки и программные среды. Книга содержит 400 упражнений и 20 примеров реальных проектов разработки программного обеспечения для промышленности, экономики, юриспруденции, образования и тому подобного, показывающих способы решения проблем, с которыми разработчики могут столкнуться на практике. Преподаватели ВУЗов найдут здесь интересные идеи построения учебных курсов. |
|
Более 10 лет первое издание этой книги считалось одним из лучших практических руководств по программированию. Сейчас эта книга полностью обновлена с учетом современных тенденций и технологий и дополнена сотнями новых примеров, иллюстрирующих искусство и науку программирования. Опираясь на академические исследования, с одной стороны, и практический опыт коммерческих разработок ПО — с другой, автор синтезировал из самых эффективных методик и наиболее эффективных принципов ясное прагматичное руководство. Каков бы ни был ваш профессиональный уровень, с какими бы средствами разработками вы ни работали, какова бы ни была сложность вашего проекта, в этой книге вы найдете нужную информацию, она заставит вас размышлять и поможет создать совершенный код. |
|
В современных условиях стремительно меняющейся среды разработки процессы тестирования программного обеспечения играют все большую роль. Если методологии ускоренной разработки нацелены на потребность компании в быстром выпуске продукта, то процессы тестирования направлены на столь же существенную потребность в выпуске его в надлежащем виде. В этой книге Рекс Блэк, опираясь на свой богатый опыт, выделяет двенадцать процессов тестирования, являющихся ключевыми для достижения успеха. За описанием каждого из этих процессов следует отменно выстроенный пример использования процесса в различных организационных, операционных и технологических условиях. Вместо громоздких правил представлены списки контрольных вопросов — легкие, гибкие инструменты для внедрения тестирования, ориентированного на процесс, для сбора измерений и внесения последовательных изменений. |
|
В работе изложены основы макропроектирования компьютерных обучающих систем, представлен основной понятийный аппарат и технологии проектирования. Приводятся подробные технологические таблицы этапов проектирования, состав и организация выполнения проектных работ. Рассмотрены методы решения основных задач, возникающих при проектировании компьютерных обучающих систем. Книга предназначена для специалистов в области проектирования сложных систем, магистров и аспирантов, ведущих исследования на стыке наук в областях системотехники и педагогики. |
|
В новом издании своей книги автор вновь сумел собрать неотразимую коллекцию программистских трюков, позволяющих программисту писать элегантные и эффективные программы, быстро создавать эффективно работающий код, становясь при этом настоящим, глубоко знающим свое дело профессионалом. Трюки автора в высшей степени практичны, но при этом чрезвычайно интересны, а иногда и просто неожиданны — как решение большой головоломки. Изложенный материал позволит повысить квалификацию даже бывалому программисту, но при этом книга будет понятна и полезна даже начинающему. |
|
В книге описано тестирование программных продуктов в Google: как устроены процессы, как организованы команды, какие техники используются, кто ответственен за качество. Принципы, на которых построено тестирование в Google, применимы в проектах и компаниях любого размера. Авторы книги сами работали над продуктами Google, создавая инструменты тестирования, настраивая процессы и занимаясь непосредственно тестированием. Книга рассчитана на профессионалов из индустрии разработки программного обеспечения: специалистов по тестированию, программистов, менеджеров. |
|
В современном мире разработки ПО успех программиста во многом зависит не только от качества кода, но и от его взаимодействия с другими людьми. В этой занимательной и ироничной книге раскрываются основные закономерности и шаблоны поведения, возникающие в команде разработчиков ПО. Рассматриваются основные роли каждого из участников коллектива, партнёры их поведения и примеры организации наиболее эффективного взаимодействия внутри команды программистов. Эта книга поможет вам оценить важность человеческого фактора в процессе разработки ПО и научиться выстраивать эффективно работающую команду для IT-проекта любой сложности. |
|
Объектно Ориентированное Программирование (ООП) — технология, которую обязан знать, понимать и применять каждый программист. Печально, но многие программисты не знают, не понимают и не применяют. А многие, что ещё хуже, — находятся в заблуждении, что знают, понимают и применяют. Из этой книги вы узнаете всё, что надо знать об ООП — и даже немного больше. Кратко, понятно, с примерами. Для умных людей. |
|