|
|
Разработка и тестирование программного обеспечения
|
Цель книги — помочь читателю сделать первые шаги в программировании и освоить концепцию объектно-ориентированного программирования, познакомить его с языками Smalltalk (Squeak) и Java, со средой разработки Eclipse и библиотекой для создания графического интерфейса пользователя SWT. В основу книги положены два принципа: обучение на примерах (решение задач) и самостоятельное экспериментирование с последующим обсуждением результатов. Для учащихся старших классов (физико-математический профиль), студентов вузов (первый курс), пользователей, не знакомых с идеями объектно-ориентированного программирования, для тех, кто хочет научиться программированию. |
|
«Даже плохой программный код может работать. Однако если код не является «чистым», это всегда будет мешать развитию проекта и компании-разработчика, отнимая значительные ресурсы на его поддержку и «укрощение». Эта книга посвящена хорошему программированию. Она полна реальных примеров кода. Мы будем рассматривать код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Прочитав книгу, вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого. Вы узнаете, как писать хороший код и как преобразовать плохой код в хороший. Книга состоит из трех частей. В первой части излагаются принципы, паттерны и приемы написания чистого кода; приводится большой объем примеров кода. Вторая часть состоит из практических сценариев нарастающей сложности. Каждый сценарий представляет собой упражнение по чистке кода или преобразованию проблемного кода в код с меньшим количеством проблем. Третья часть книги — концентрированное выражение ее сути. Она состоит из одной главы с перечнем эвристических правил и «запахов кода», собранных во время анализа. Эта часть представляет собой базу знаний, описывающую наш путь мышления в процессе чтения, написания и чистки кода.» |
|
Учебник состоит из двух частей. В первой части (7 лекций) рассматриваются системные основы разработки требований к сложным комплексам программ, эталоны при их проектировании и производстве, декомпозиция функций и архитектуры комплексов программ для формирования требований к компонентам и модулям. Изложены требования к характеристикам качества, к тестам и допустимым рискам комплексов программ (КП). Во второй части (7 лекций) представлены методы тестирования потоков управления и потоков данных программных модулей. Рассмотрено планирование тестирования модулей и компонентов для КП, нисходящая — восходящая сборка и тестирование программных компонентов, подготовка и применение графиков разработки и исполнения тестов для компонентов и комплексов программ. Изложены организация и процессы испытаний, Программа и методики тестирования компонентов и сложных комплексов программ. Учебник ориентирован на специалистов, студентов и аспирантов для обучения тестированию модулей и программных компонентов, а также крупных программных комплексов высокого качества. |
|
Рассмотрены вопросы современных методов создания сложного программного обеспечения, использующего информацию, хранимую в базе данных. Подчеркнуты особенности создания такого программного обеспечения коллективом разработчиков: итеративный характер разработки, использование стандартных средств создания программ (стандартные компоненты, паттерны, Bean-компоненты и т.д.). Большое внимание уделено разработке структуры программного обеспечения, позволяющей наиболее просто организовать все стадии его жизненного цикла. Весь материал проиллюстрирован на одном достаточно сложном примере. Для разработчиков сложного программного обеспечения, а также для студентов ВУЗов, специализирующихся в вопросах создания современного ПО. |
|
Внедрение нового процесса разработки программного обеспечения — непростая задача. Особенно, если этот процесс — RUP. Как выбрать, какие разделы RUP и в какой последовательности внедрять? Как подготовить исполнителей и руководство к предстоящим изменениям? Как и когда описать новый процесс разработки? Почему не стоит сразу браться за изменение шаблонов? Ну и, конечно, самое главное — когда и на какую отдачу от инвестиций в новый процесс можно рассчитывать? Ответы на все эти вопросы читатель может найти в этой книге. Книга написана практиками, имеющими большой опыт внедрения RUP в различных организациях. И авторы охотно делятся этим опытом с читателями. В книге подробно расписаны все шаги, которые необходимо предпринять для внедрения RUP. Даны детальные рекомендации по осуществлению наиболее сложных и ответственных действий. Вместе с приведенными образцами и шаблонами документов эти рекомендации помогут провести обследование организации перед внедрением нового процесса, выбрать пилотный проект, спланировать и осуществить успешное внедрение RUP. Практическая направленность и простота изложения делают данную книгу бесценным пособием для всех, кому предстоит внедрять или участвовать во внедрении нового процесса разработки. Она особенно полезна для руководителей проектов, ведущих разработчиков и специалистов по организации и поддержке процесса разработки. |
|
«Из каких компонентов строятся надежные, элегантные, гибкие, удобные в сопровождении программные архитектуры? Книга отвечает на этот вопрос серией очерков, написанных ведущими программными архитекторами и проектировщиками современности. В каждом очерке авторы представляют какую-либо выдающую программную архитектуру, анализируют ее отличия от других архитектур и объясняют, почему она идеально подходит для своей цели. Одни авторы рассказывают о том, как разрабатывался конкретный проект, какие решения они принимали и на какие компромиссы им приходилось идти. Другие анализируют влияние отдельных архитектурных аспектов на компьютерные технологии в целом. Из книги вы узнаете: как на основе архитектуры Facebook была построена экосистема приложений, ориентированных на работу с данными; как новаторская архитектура Xen повлияла на будущее операционных систем; как процессы в сообществе проекта KDE способствовали превращению программной архитектуры из предварительного проекта в элегантную систему; как «ползучая функциональность» помогла GNU Emacs выйти за пределы изначально запланированных возможностей; как устроена высокооптимизированная виртуальная машина Jikes RVM; какие архитектурные решения и структурные элементы обеспечили ведущее положение Tandem в области платформ высокой доступности в течение более 20 лет; какие сходства и различия существуют между объектно-ориентированными и функциональными архитектурными школами; как архитектуры влияют на эволюцию программных продуктов и труд разработчиков. Книга поможет взглянуть на программные архитектуры глазами их создателей. Вы узнаете, что необходимо для создания элегантных программных архитектур и как они влияют на методологию создания ваших собственных проектов.» |
|
Мировое сообщество программистов признает, что моделирование предметных областей — ключевой раздел проектирования программного обеспечения. В моделях предметных областей разработчики выражают сложные функции своих программ, реализуя их затем в таком виде, который отвечает реальным потребностям пользователей. Но, несмотря на очевидную важность предмета, существует очень мало пособий по эффективному внедрению моделирования предметных областей в практику разработки программ. Книга Эрика Эванса восполняет этот пробел. Она посвящена не отдельным технологиям, а систематическому предметно-ориентированному подходу. В ней представлен широкий набор приемов и методик, основанных на практическом опыте, и фундаментальных принципов, помогающих в реализации программных проектов из сложных предметных областей. Органично переплетая практику проектирования и реализации программ, эта книга содержит множество фактических примеров, иллюстрирующих применение общих стратегических принципов в реальных программных проектах. Из книги читатель узнает, как с помощью модели предметной области придать разработке сложной системы нужную направленность и динамику. Выделены основные приемы и образцы-шаблоны, образующие общий язык группы разработчиков, Особо подчеркивается необходимость рефакторинга не только кода, но и модели в его основе, что в сочетании с итерационной agile-методикой приводит к углублению знаний о предметной области и повышению качества взаимодействия между специалистами и программистами. Подход книги строится именно на этом фундаменте, предлагая модели и архитектуры для систем и организаций любой сложности. В частности, в книге рассматриваются следующие темы: • Единый язык общения для всей группы разработчиков. • Глубокая связь между моделью и программной реализацией. • Выделение ключевых черт модели. • Управление циклом существования объектов. • Написание легко интегрируемого кода предметной области. • Как сделать сложный код очевидным и предсказуемым. • Формулировка введения в предметную область. • Дистилляция ядра предметной области. • Поиск неявных понятий, скрытых в модели. • Применение аналитических шаблонов. • Архитектурные шаблоны в моделях. • Поддержание целостности больших систем. • Сосуществование нескольких моделей в одном проекте. • Организация систем в соответствии с крупномасштабными структурами. • Качественные скачки в моделях. Имея под рукой эту книгу, разработчики объектно-ориентированных программ, системные аналитики и архитекторы будут всегда располагать набором рекомендаций по организации своего труда, созданию сложных и полезных моделей предметных областей, превращению их в высококачественные программные продукты. |
|
«Книга «UX-дизайн. Практическое руководство по проектированию опыта взаимодействия» блестящим образом сочетает в себе стратегический и тактический подходы. Она предлагает подробные описания основных методик и процедур, связанных с проектированием опыта взаимодействия, и вместе с тем наглядно показывает, как UX-проектирование встраивается в общий контекст проекта по разработке веб-сайта или приложения. Главы, посвященные подготовке коммерческого предложения, экосистеме проекта, поисковой оптимизации, тестированию дизайна, проведению совещаний очерчивают практически весь спектр навыков, необходимых UX-проектировщику, попутно предлагая множество ценных рекомендаций. Идеальный баланс целостности, последовательности и практичности делает эту книгу незаменимой как для тех, кто только знакомится с проектированием опыта взаимодействия, так и для опытных UX-проектировщиков. С сутью и основами UX-проектирования смогут ознакомиться и те, кто каким-либо образом вовлечен в создание веб-сайтов или программных приложений либо просто заинтересовался этой новой и бурно развивающейся дисциплиной.» |
|
В мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи и находят похожие решения. Если вы не хотите изобретать велосипед, используйте готовые шаблоны (паттерны) проектирования, работе с которыми посвящена эта книга. Паттерны появились, потому что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Особенностью данного издания является уникальный способ подачи материала, выделяющий серию «Head First» издательства O'Reilly в ряду множества скучных книг, посвященных программированию. Книга будет интересна широкому кругу веб-разработчиков, от начинающих до профессионалов, желающих освоить работу с паттернами проектирования. |
|
Даже опытные разработчики программного обеспечения постоянно сталкиваются с трудностями при реализации программных проектов: например, из-за смены требований заказчика ПО или непонимания конечными пользователями логики работы с новой программой. Если вы не собираетесь пасовать перед этими и другими распространенными проблемами управления IT-проектами, изучите с помощью этой уникальной книги передовые методы и практики, наработанные в области разработки программного обеспечения. Здесь вы получите всю необходимую информацию о каждом этапе жизненного цикла разработки программного обеспечения: переговоры с заказчиком и формализация клиентских требований, планирование процесса разработки ПО и подготовка технического задания, постановка задач и написание инструкций, тестирование ПО и устранение «багов». Особенностью этой книги является уникальный способ подачи материала, выделяющий серию «Head First» издательства O'Reilly в ряду множества скучных книг, посвященных программированию и разработке ПО. |
|
«Программисты — люди не очень публичные, многие работают поодиночке или в небольших группах. Причем самая важная и интересная часть их работы никому не видна, потому что происходит у них в голове. Питер Сейбел, писатель-программист, снимает покров таинственности с этой профессии. Он взял интервью у 15 величайших профессионалов: Кена Томпсона, создателя UNIX, Берни Козелла, участника первой реализации сети ARPANET, Дональда Кнута, Гая Стила, Саймона Пейтон-Джонса, Питера Норвига, Джошуа Блоха, Брэда Фицпатрика, создателя Живого Журнала, и других. Все они «подсели» на программирование еще в школе. Тогда, на заре зарождения отрасли, лишь в немногих учебных заведениях читались курсы по компьютерным наукам. Поэтому будущим гуру приходилось покорять профессиональные вершины самостоятельно, но всех их отличает творческое горение и полная самоотдача любимому делу. Вы узнаете, что они думают о будущем программирования и как сами научились программировать, как, по их мнению, нужно проектировать ПО, как выбор языка программирования влияет на продуктивность и можно ли облегчить выявление труднонаходимых ошибок.» |
|
Необходимость создания и сохранения отечественных стандартов автоматизации, определяющих специальные требования к проектированию систем управления и защиты технологических процессов, связана с все большим усложнением и самих технологических процессов, и средств автоматизации, и с соответствующим увеличением количества и масштабов аварий на производстве. В настоящем издании автор развивает методы проектирования и разработки систем управления и защиты на основе достижений отечественной прикладной школы, и, в то же время, согласованных с позитивным международным опытом. Представлен полный текст Стандарта предприятия на порядок создания, модернизации, внедрения и сопровождения АСУТП, разработанного автором книги. Стандарт доказал свою эффективность в работе над многими проектами автоматизации химических, нефтехимических и нефтеперерабатывающих производств. |
|
Учебное пособие содержит задачи по основным темам, необходимым для овладения основными навыками программирования. Пособие состоит из 12 разделов. Наглядно на типовых примерах рассмотрены базовые операторы, массивы, строки, процедуры, файлы, модули, динамические структуры данных, объектно-ориентированное программирование. Для закрепления материала предложены задачи для самостоятельной работы. Тексты задач не ориентированы на какой-либо конкретный язык программирования. Для студентов и преподавателей вузов в качестве практикума по программированию. |
|
Книга посвящена важному аспекту программирования, недостаточно освещенному в литературе, — чтению и анализу программного кода на языках высокого уровня с целью доработки, извлечения готовых технических решений или изучения новых методов. Даются ценные рекомендации по улучшению стиля программирования. Изложение проиллюстрировано большим количеством примеров, взятых из больших программных проектов с открытым кодом, находящихся на прилагаемом компакт-диске. Книга предназначена для повышения квалификации программистов. Может быть полезна студентам и преподавателям соответствующих специальностей, а также начинающим программистам. |
|
Рассмотрена концепция проблемно-целевого анализа сложных организационно-технических систем, основанная на когнитивном моделировании, методах нечеткого логического и ситуационного вывода, позволяющая интегрировать различные методы и технологии решения разнотипных эвристических и аналитических задач поддержки управленческой деятельности. Представлены оригинальные результаты по созданию и внедрению автоматизированной информационной системы по охране труда. Осуществлена разработка и анализ моделей системы управления охраной труда, проанализированы проблемы, определены перспективы и выработаны рекомендации по ее совершенствованию. Для научных, инженерно-технических работников и практиков в области анализа сложных организационно-технических и социально-экономических систем, а также специалистов в сфере информационных технологий, занимающихся созданием перспективных информационно-аналитических систем. |
|
Рассмотрены с позиций системного анализа вопросы автоматизации анализа деятельности, определены задачи и проблемы автоматизации анализа деятельности предприятия. Рассмотрены этапы анализа деятельности предприятий в различных автоматизированных системах и выделены основные классы получаемых этими системами результатов. Проанализированы существующие аналитические системы, выявлены их наиболее общие недостатки. Рассмотрены способы построения экспертной системы как элемента интеллектуальной аналитической системы. Показан пример реализации автоматизированной системы, предназначенной для анализа деятельности предприятия и принятия управленческих решений. Для специалистов в области проектирования систем анализа и поддержки принятия решений, студентов и аспирантов технических вузов. |
|
Книга является наиболее полным руководством по разработке эффективных алгоритмов. Первая часть книги содержит практические рекомендации по разработке алгоритмов: приводятся основные понятия, дается анализ алгоритмов, рассматриваются типы структур данных, основные алгоритмы сортировки, операции обхода графов и алгоритмы для работы с взвешенными графами, примеры использования комбинаторного поиска, эвристических методов и динамического программирования. Вторая часть книги содержит обширный список литературы и каталог из 75 наиболее распространенных алгоритмических задач, для которых перечислены существующие программные реализации. Приведены многочисленные примеры задач. Книгу можно использовать в качестве справочника по алгоритмам для программистов, исследователей и в качестве учебного пособия для студентов соответствующих специальностей. |
|