bannerbannerbanner
logo
Войти

Технологии разработки программного обеспечения

В статье рассмотрены тенденции сокращения рутинных операций при проектировании, кодировании, тестировании, развертывании и документировании программного обеспечения (ПО), проанализировано воплощение этих трендов в виде ряда инструментов, автоматизирующих один или несколько аспектов разработки ПО. Приведены примеры трансформации классических понятий разработки ПО к современному состоянию с учетом текущих потребностей и возможностей рынка информационных технологий (ИТ). Описаны возможные пути качественного изменения пользователя и профессионала в ИТ-сфере.
LLVM – новейший фреймворк для разработки компиляторов. Благодаря простоте расширения и организации в виде множества библиотек, LLVM легко поддается освоению даже начинающими программистами, вопреки устоявшемуся мнению о сложности разработки компиляторов. Сначала эта книга покажет, как настроить, собрать и установить библиотеки, инструменты и внешние проекты LLVM. Затем познакомит с архитектурой LLVM и особенностями работы всех компонентов компилятора: анализатора исходных текстов, генератора кода промежуточного представления, генератора выполняемого кода, механизма JIT-компиляции, возможностями кросс-компиляции и интерфейсом расширений. На множестве наглядных примеров и фрагментов исходного кода книга поможет вам войти в мир разработки компиляторов на основе LLVM. Издание предназначено энтузиастам, студентам, а также разработчикам компиляторов, интересующимся LLVM. Читатели должны знать язык программирования C++ и, желательно, иметь некоторые представления о теории компиляции.
В данной книге рассматривается практическое использование пакета визуального моделирования Rational Rose в соответствии с методологией Rational Unified Process. Поскольку с каждым годом сложность программного обеспечения возрастает, потребность в средствах визуального моделирования и проектирования, а также людях, знающих и умеющих использовать их на практике, тоже увеличивается. Все больше программистов и разработчиков, которые раньше просто писали программный код, понимают, что для создания серьезного программного обеспечения необходимы строгий системный подход, использование передовых методик и средств разработки крупных проектов. Именно такую методику (Rational Unified Process, RUP) и программный продукт (Rational Rose), позволяющий в максимальной мере следовать данной методике, предлагает компания Rational. Книга будет полезна как начинающим проектировщикам, которые сразу хотят приступить к работе с передовыми программными продуктами, так и опытным специалистам, стремящимся повысить качество разрабатываемой информационной системы.
Книга позволит вам освоить разработку виртуальной реальности в Unity – наиболее популярном на сегодняшний день игровом движке. Вы узнаете, как использовать Unity для разработки VR-приложений, поддерживающих такие устройства, как Oculus Rift и Google Cardboard, позволяющих взаимодействовать с виртуальными мирами. Книга расскажет вам, как создать ряд интересных и занимательных VR-проектов. Вы научитесь управлять игровым движком Unity 3D с помощью редактора Unity и сценариев на C#. К концу книги, вы сможете с помощью Unity создать ряд многофункциональных интерактивных примеров восприятия виртуальной реальности.
Автор книги «Наиболее эффективное использование C++» предлагает 35 новых способов улучшения ваших программ. Основываясь на своем многолетнем опыте, С. Мейерс объясняет, как писать наиболее эффективные программы: надежные, совместимые, переносимые и пригодные для повторного использования, то есть программы, безупречные во всех отношениях. Настоящая книга описывает приемы, которые позволяют значительно повысить производительность программ, выбрав оптимальное соотношение затрат времени/памяти на различные операции. Здесь вы найдете примеры обработки исключений и анализ их влияния на структуру и поведение классов и функций C++, а также варианты практического применения новых возможностей языка, таких как тип bool, ключевые слова mutable и explicit, пространства имен, шаблоны функций членов, стандартная библиотека шаблонов и многое другое.
Данная книга представляет собой руководство по применению прецедентов. Практические вопросы проиллюстрированы на примере разработки книжного Internet-магазина. В книге описывается процесс ICONIX – методология, основанная на языке UML, которая поможет вам избавиться от «аналитического паралича», не жертвуя при этом анализом и проектированием. Представлены четыре основных этапа проектирования на основе прецедентов: моделирование предметной области, моделирование прецедентов, анализ пригодности и построение диаграмм последовательности. Приводится обзор каждой темы, подробное обсуждение, перечень характерных ошибок и ряд упражнений, предназначенных для самостоятельного поиска и исправления недочетов. Авторы показывают на конкретных примерах, как можно избежать типичных ошибок проектирования. Располагая этой информацией, читатель приобретет знания и навыки, необходимые для применения моделирования на основе прецедентов.
Данное практическое руководство познакомит вас с 10 простыми рекомендациями, помогающими писать программное обеспечение, которое легко поддерживать и адаптировать. Эти тезисы сформулированы на основании анализа сотен реальных систем. Написанная консультантами компании Software Improvement Group книга содержит ясные и краткие советы по применению рекомендаций на практике. Примеры для этого издания написаны на языке C#, но существует аналогичная книга с примерами на языке Java. Издание предназначено программистам на C#, желающим научиться писать качественный и хорошо поддерживаемый код.
Данное практическое руководство познакомит вас с 10 простыми рекомендациями, помогающими писать программное обеспечение, которое легко поддерживать и адаптировать. Эти тезисы сформулированы на основании анализа сотен реальных систем. Написанная консультантами компании Software Improvement Group книга содержит ясные и краткие советы по применению рекомендаций на практике. Примеры для этого издания написаны на языке Java, но существует аналогичная книга с примерами на языке C#. Издание предназначено программистам на Java, желающим научиться писать качественный и хорошо поддерживаемый код.
Эта книга об инженерной дисциплине, которая называется управлением конфигурацией программного обеспечения (software configuration management – SCM), а также о широко используемом продукте SCM – ClearCase, который автоматизирует и поддерживает практическое применение SCM посредством модели, называемой унифицированным управлением изменениями (Unified Change Management – UCM). Настоящая книга раскрывает базовые концепции, типичные проблемы SCM, возникающие по мере роста и усложнения программных систем, а также способы применения инструментов и процессов SCM для решения этих проблем. Также обсуждаются расширенные темы SCM, включая управление географически разделенными командами разработчиков, и сочетания SCM с управлением запросами на изменение (или отслеживанием дефектов).
Добавлено
Год выхода: 2014
Язык: Русский
Книга рассказывает о нескольких проектах, связанных с разработкой компиляторов, в частности, об исто…
Книга рассказывает о нескольких проектах, связанных с разработкой компиляторов, в частности, об истории разработки первого отечественного ISO-совместимого компилятора С++. Подробное рассмотрение проблем, связанных с проектированием и реализацией сложных программных систем совмещается с живым и увлекательным повествованием об эволюции и выживании проектов в непростых условиях, о важности правильного выбора стратегических направлений разработки и о человеческих взаимоотношениях в командах разработчиков.
С появлением микропроцессоров, обладающих большим числом ядер, понимание конкуренции и параллелизма при разработке программного обеспечения стало еще более важным, чем прежде. В книге вы познакомитесь с преимуществами функционального программирования с точки зрения конкуренции, узнаете, как применять акторы для разработки распределенного программного обеспечения, и исследуете приемы параллельной обработки огромных объемов информации на нескольких процессорах. Эта книга поможет вам приобрести новые навыки в разработке программ, благодаря чему вы будете готовы решать сложные задачи в ближайшие несколько лет.
В работе показана архитектура модуля обработки данных, используемого в интерпретаторе декларативного языка моделирования BML. В статье дается теоретическое обоснование и рассматривается практическое применение элемента «Block» в рамках языка BML. В работе также описывается архитектура класса элемента и его дочерних классов, дается детальное обоснование использования паттерна «абстрактная фабрика».
Одного знания языка программирования недостаточно для профессиональной разработки программного обеспечения. Нужны ряд компетенций - знаний, методик, навыков владения инструментами. Ключевая информация и рекомендации для будущих разработчиков программного обеспечения и других информационно-технологических специалистов. Лайфхаки для ИТ юниоров, желающих значительно повысить свою квалификацию и зарплату. ИТ "кухня" - технологии, процессы и методологии, необходимые для создания качественного программного продукта.
Добавлено
Год выхода: 2017
Язык: Русский
Scala – современный, мультипарадигменный язык программирования, позволяющий описывать типичные шабло…
Scala – современный, мультипарадигменный язык программирования, позволяющий описывать типичные шаблоны программирования компактнее, выразительнее и безопаснее. Scala прекрасно сочетает в себе черты объектно-ориентированных и функциональных языков. Книга начинается с введения в основы конкурентного программирования в JVM и описания модели памяти в Java, а после демонстрирует основные строительные блоки для реализации конкурентных вычислений, такие как атомарные переменные, пулы потоков и конкурентные структуры данных. Затем рассматриваются разные высокоуровневые абстракции конкуренции, каждая из которых ориентирована на решение определенного класса задач, при этом затрагиваются самые последние достижения в поддержке асинхронного программирования. Также охватываются некоторые полезные шаблоны и способы использования описываемых приемов. В заключение дается краткий обзор применения разных библиотек поддержки конкуренции и демонстрируется возможность их совместного использования. Издание предназначено разработчикам с опытом программирования на Scala, но без опыта конкурентного и асинхронного программирования.
Основываясь на многолетнем опыте, эксперты Грегор Хоп и Бобби Вульф рекомендуют асинхронный обмен сообщениями в качестве оптимальной стратегии интеграции корпоративных приложений. Вместе с тем создание и развертывание решений, основанных на обмене сообщениями, представляет собой весьма непростую задачу для разработчиков. В книге «Шаблоны интеграции корпоративных приложений» рассматриваются шаблоны проектирования и приводятся практические примеры интеграции приложений, демонстрирующие преимущества обмена сообщениями и эффективность решений, создаваемых на основе этой технологии. Авторы подчеркивают как преимущества, так и недостатки обмена сообщениями, а так же дают практические советы по созданию кода подключения приложения к системе обмена сообщениями, маршрутизации сообщений и мониторинга состояния. Если вы хотите научиться управлять системой обмена сообщениями и обеспечивать ее поддержку, а также осуществлять мониторинг, эта книга – для вас.
В 1994 году книга «Dessign Patterns» полностью перевернула объектно-ориентированную разработку программного обеспечения, предоставив классические решения повторяющихся задач проектирования. В 1999 году книга «Refactoring» изменила представление о проектировании, показав эффективные способы улучшения кода. В давно ожидаемой книге «Рефакторинг с использованием шаблонов» Джошуа Кериевски кардинально изменил подход к проектированию, объединив шаблоны проектирования с эволюционным процессом рефакторинга. Книга содержит теоретические сведения и практические инструкции по выполнению рефакторингов, управляемых шаблонами проектирования, а именно последовательности низкоуровневых рефакторингов, позволяющих разработчикам безопасно переходить в своих проектах к реализации шаблонов проектирования, по направлению к ним или выполнять рефакторинг с отказом от шаблонов проектирования. Используя код реальных проектов, Кериевски документирует размышления и действия, имевшие место при реальных рефакторингах более чем двух десятков проектов. Параллельно с этим он проясняет различия между разными шаблонами проектирования и предлагает наиболее простые и эффективные пути их реализации.
Автоматизированное тестирование является краеугольным камнем гибкого процесса разработки. Эффективная стратегия тестирования позволяет быстро создать новую функциональность, ускорить обратную связь с пользователями и повысить качество готового продукта. Но для многих разработчиков создание эффективных автоматизированных тестов является новой и незнакомой задачей. Книга Шаблоны тестирования xUnit может служить полным руководством по написанию автоматизированных тестов на основе xUnit – наиболее популярной инфраструктуры модульного тестирования. Специалист по гибким процессам разработки и эксперт по автоматизации тестирования Джерард Месарош описывает 68 проверенных шаблонов, упрощающих написание, понимание и обслуживание тестов. Кроме того, в книге показан процесс получения устойчивых к изменениям повторяемых тестов, что делает их значительно более эффективными с точки зрения затрат. Из-за большого объема полезной информации книга воспринимается как «три книги в одной». В части I приводится подробное описание процессов автоматизации тестирования, включающее в себя как обзор стратегий тестирования, так и низкоуровневые идиомы кодирования теста. В части II приводится каталог 18 часто встречающихся «запахов» тестов и даются рекомендации по определению основной причины проблемы и выбору шаблона, который позволит ее устранить. В части III подробно описан каждый шаблон, включая инструкции по рефакторингу, сопровождающиеся подробными примерами кода на нескольких языках программирования.
Один из самых креативных и признанных лидеров в индустрии программного обеспечения Кент Бек собрал 77 шаблонов для обслуживания задач ежедневного программирования и написания более читаемого кода. Эта новая коллекция шаблонов предназначена для реализации многих аспектов разработки, включая классы, состояние, поведение, методы, коллекции, инфраструктуры и т.д. Автор использует диаграммы, истории, примеры и эссе для того, чтобы увлечь читателя по ходу освещения шаблонов. Вы обнаружите проверенные решения для управления всем, от именования переменных до проверки исключений. Эта книга предназначена для программистов всех уровней подготовки, особенно для тех, кто применяет в своей практике шаблоны проектирования и методы быстрой разработки. Книга также окажется неоценимым ресурсом для команд разработчиков, ищущих более эффективные методы совместной работы и построения более управляемого ПО.
Стандартная библиотека Python содержит сотни модулей, позволяющих взаимодействовать с операционной системой, интерпретатором и Интернетом. Все они тщательно протестированы и готовы к немедленному использованию для разработки приложений. В этой книге Даг Хеллман, эксперт по языку Python, описывает все основные разделы библиотеки Python 3.x, сопровождая изложение материала компактными примерами исходного кода и результатами их выполнения. Приведенные примеры наглядно демонстрируют возможности каждого из модулей, предлагаемых библиотекой, и пригодны не только для изучения, но и для использования в реальном коде. В книге имеются готовые примеры кода, предназначенного для работы с текстом, структурами данных, значениями даты и времени, файловой системой, процессами, потоками, электронной почтой, пакетами и другими ресурсами. Каждому модулю посвящен отдельный раздел, содержащий ссылки на дополнительные ресурсы, что делает эту книгу идеальным учебным и справочным руководством. В книге рассмотрены новые библиотеки Python 3.x, описаны важные функциональные изменения и даны советы по переносу кода от модулей стандартной библиотеки Python 2.x к их эквивалентам в Python 3.x
Эта классическая книга представляет собой всеобъемлющий источник сведений о языке программирования C# и о связанной с ним инфраструктуре. В 8-м издании книги вы найдете описание функциональных возможностей самых последних версий C# 7.0 и 7.1 и .NET 4.7, а также совершенно новые главы, посвященные легковесной межплатформенной инфраструктуре .NET Core. Перепроектированные инфраструктуры ASP.NET Core 2.0 и Entity Framework (EF) Core 2.0 рассматриваются наряду с последними обновлениями, внесенными в .NET 4.7, которые затронули Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), ASP.NET MVC и ASP.NET Web API. Погрузитесь в книгу и выясните, почему на протяжении более 15 лет она была лидером у разработчиков по всему миру. Сформируйте прочный фундамент в виде знания приемов объектно-ориентированной обработки, атрибутов и рефлексии, обобщений и коллекций, а также множества более сложных тем, которые не раскрываются в других книгах (коды операций CIL, выпуск динамических сборок и т.д.). С помощью настоящей книги вы сможете уверенно использовать язык C# на практике и хорошо ориентироваться в мире NET.
Популярные книги