Новые книги

With this practical book, you will attain a solid understanding of threads and will discover how to put this powerful mode of programming to work in real-world applications.

The primary advantage of threaded programming is that it enables your applications to accomplish more than one task at the same time by using the number-crunching power of multiprocessor parallelism and by automatically exploiting I/O concurrency in your code, even on a single processor machine. The result: applications that are faster, more responsive to users, and often easier to maintain. Threaded programming is particularly well suited to network programming where it helps alleviate the bottleneck of slow network I/O.

This book offers an in-depth description of the IEEE operating system interface standard, POSIX (Portable Operating System Interface) threads, commonly called Pthreads. Written for experienced C programmers, but assuming no previous knowledge of threads, the book explains basic concepts such as asynchronous programming, the lifecycle of a thread, and synchronization. You then move to more advanced topics such as attributes objects, thread-specific data, and realtime scheduling. An entire chapter is devoted to "real code," with a look at barriers, read/write locks, the work queue manager, and how to utilize existing libraries. In addition, the book tackles one of the thorniest problems faced by thread programmers-debugging-with valuable suggestions on how to avoid code errors and performance problems from the outset.

Numerous annotated examples are used to illustrate real-world concepts. A Pthreads mini-reference and a look at future standardization are also included.
Многие из нас никогда не задумывались о том, сколько времени мы тратим на телефонные разговоры «ни о чем», на общение в социальных сетях, да и просто сидя за компьютером, блуждая по просторам всемирной паутины. А ведь все это время, ресурсы и энергию можно использовать в продуктивных целях, обеспечивая себе стабильный дополнительный (а может быть, и основной) заработок и повышая свой уровень жизни. Обо всем этом расскажет в своей книге гуру сетевого маркетинга Антон Агафонов.

Автор делится своими секретами и тонкостями работы в MLM-бизнесе, которые помогут справиться со всеми трудностями и изменить свою жизнь к лучшему благодаря тем ресурсам, что находятся у каждого из нас буквально под рукой.

Переход к практическому использованию CASE-средств


4.4. Переход к практическому использованию CASE-средств

Процесс перехода к практическому использованию CASE-средств начинается с разработки и последующей реализации плана перехода. Этот план может отражать поэтапный подход к переходу, начиная с тщательно выбранного пилотного проекта до проектов с существенно возросшим разнообразием характеристик.

Разработка плана перехода

План перехода должен включать следующее:

  • Информацию относительно целей, критериев оценки, графика и возможных рисков, связанных с реализацией плана.
  • Информацию относительно приобретения, установки и настройки CASE-средств.
  • Информацию относительно интеграции каждого средства с существующими средствами, включая как интеграцию CASE-средств друг с другом, так и их интеграцию в процессы разработки и эксплуатации ПО, существующие в организации.
  • Ожидаемые потребности в обучении и ресурсы, используемые в течение и после завершения процесса перехода.
  • Определение стандартных процедур использования средств.

Цели, критерии оценки, график и риски, связанные с планом перехода

Данная информация должна включать следующее:

  • Типы проектов, в которых в конечном счете будет использоваться средство.
  • График перехода к практическому использованию средства в отдельных проектах, который включает необходимую подготовку к его широкому использованию.
  • График внедрения средства в терминах количества пользователей, включая необходимое обучение.
  • Возможные риски и непредвиденные обстоятельства.
  • Источники существующих (базовых) данных и метрики для оценки изменений, вызванных использованием средств.

В дополнение к сказанному, следует уделить особое внимание вопросам контроля изменений. Роли высшего руководства, субъектов и объектов изменений должны быть уточнены по сравнению с пилотным проектом, поскольку технология подлежит широкому распространению в организации.

Подразумевается, что план перехода успешно выполнен, когда не требуется больше специального планирования поддержки использования средства. В этот момент использование средства согласуется с тем, что от него ожидалось, и план работы с ним включается в общий план текущей поддержки ПО, существующий в организации.

Приобретение, установка и настройка средств

Приобретение, установка и настройка, выполненные в рамках пилотного проекта, могут потребоваться в более широком масштабе. При этом необходима следующая информация:

  • Совокупность программных компонент, документации и обучения, которые необходимо приобретать для каждой отдельной платформы.
  • Механизм получения новых версий.
  • Настройка средства, необходимая для выполнения существующих в организации процедур и соглашений.
  • Лицо или подразделение, ответственное за установку, интеграцию, настройку и эксплуатацию средства.
  • План конвертирования данных и снятия старых средств с эксплуатации.

Задачи приобретения, установки и настройки должны быть как можно быстрее переданы из группы пилотного проекта в существующую службу системной поддержки ПО организации.

Интеграция средства с существующими средствами и процессами

Интеграция нового средства с существующими средствами и процессами является важным шагом в полномасштабном внедрении средства. В большинстве случаев такая интеграция в процессе пилотного проектирования не осуществляется, однако накапливаемая в этом процессе информация может помочь в разработке планов интеграции. Для планирования интеграции необходима следующая информация:

  • Наименования и версии существующих средств, с которыми должно интегрироваться новое средство.
  • Описания данных, которые должны совместно использоваться новым и существующими средствами, а также предварительная информация об источниках этих данных.
  • Описания других взаимосвязей между новым и существующими средствами (таких, как связи по передаче управления и порядку использования), а также предварительная информация о механизмах поддержки этих взаимосвязей.
  • Оценки затрат, сроков и рисков, связанных с интеграцией (и, возможно, переходом от существующих средств и данных).
  • Определение способа внедрения данного средства в деятельность по совершенствованию существующих процессов.
  • Ожидаемые изменения в существующих процессах и продуктах, являющиеся следствием использования нового средства и оцениваемые, по возможности, количественно.

Риск, связанный с интеграцией нового средства с существующими средствами и процессами, снижается, если потребности в интеграции учитываются в процессе оценки и выбора средства.

Обучение и ресурсы, используемые в течение и после завершения процесса перехода

Данная информация должна включать следующее:

  • Персонал (включая пользователей, администраторов и интеграторов), нуждающийся в обучении использованию средства.
  • Вид обучения, необходимого для каждой категории пользователей и обслуживающего персонала, с учетом особой важности обучения совместному использованию различных средств, а также методам и процессам, связанным с данными средствами.
  • Вид обучения, необходимого для различных специалистов (например, для группы тестирования и независимой службы сертификации).
  • Частота обучения.
  • Виды и доступность поддержки.

Определение стандартов и процедур использования средств

План перехода должен определять следующие стандарты и процедуры использования средств:

  • Руководства по моделированию и проектированию.
  • Соглашения по присвоению имен.
  • Процедуры контроля качества и процессов приемки, включая расписание экспертиз и используемые методологии.
  • Процедуры резервного копирования, защиты мастер-копий и конфигурирования базы данных.
  • Процедуры интеграции с существующими средствами и базами данных.
  • Процедуры совместного использования данных и контроля целостности БД.
  • Стандарты и процедуры обеспечения секретности.
  • Стандарты документирования.

Стандарты использования CASE-средств, выработанные во время пилотного проекта, должны использоваться в качестве отправной точки для разработки более полного набора стандартов использования средств в данной организации (см. подраздел 1.3). При этом должен учитываться опыт участников пилотного проекта.

Реализация плана перехода

Реализация плана перехода требует постоянного мониторинга использования CASE-средств, обеспечения текущей поддержки, сопровождения и обновления средств по мере необходимости.

Периодические экспертизы

Достигнутые результаты должны периодически подвергаться экспертизе в соответствии с графиком, план перехода должен корректироваться при необходимости. Постоянное внимание должно уделяться степени удовлетворения потребностей организации и критериев успешного внедрения CASE-средств.

Периодические экспертизы должны продолжаться и после завершения процесса внедрения. Такие экспертизы могут анализировать метрики и другую информацию, получаемую в процессе работы с CASE-средствами, чтобы определять, насколько хорошо они продолжают выполнять требуемые функции. Такие экспертизы могут также указать на необходимость дополнительной модификации процессов.

Текущая поддержка

Текущая поддержка необходима для следующего:

  • Ответов на вопросы, связанные с использованием средств.
  • Передачи информации о достигнутых успехах и полученных уроках другим специалистам организации.
  • Модификации и совершенствования стандартов, соглашений и процедур, связанных с использованием средства.
  • Интеграции новых средств с существующими и сопровождение интегрированных средств по мере появления новых версий.
  • Помощи новым сотрудникам в освоении средств и связанных с ними процедур.
  • Планирования и контроля обновления версий.
  • Планирования внедрения новых возможностей средств в организационные процессы.

Действия, выполняемые в процессе перехода

Для поддержки процесса перехода к практическому использованию средств желательно выполнение следующих действий:

  • Поддержка текущего обучения. Потребность в обучении может возникать периодически вследствие появления новых версий средств или вовлечения в проект новых сотрудников.
  • Поддержка ролевых функций, связанных с процессом внедрения. Поскольку внедрение CASE-средств приводит к изменениям в культуре организации, необходимо в процессе внедрения выделить ряд ключевых ролей (такие, как руководство высшего уровня, проектная группа и целевые группы).
  • Методики управления обновлением версий. Эти методики могут быть связаны с обновлением версий, процедурами установки, процедурами контроля качества для оценки новых версий, процедурами обновления базы данных, конфигурацией версий и средой поддержки (другие средства, операционная система и т.д.).
  • Свободный доступ к информации. Должны быть определены механизмы, обеспечивающие свободный доступ к информации об опыте внедрения и извлеченных из этого уроках, включая доски объявлений, информационные бюллетени, пользовательские группы, семинары и публикации.
  • Налаживание тесного рабочего взаимодействия с поставщиком. Такое взаимодействие позволяет организации быть в курсе планов поставщика и обеспечивать оперативное удовлетворение своих требований.

Для успешного внедрения CASE-средств в организации существенно важной является последовательность в их применении. Поскольку большинство систем разрабатываются коллективно, необходимо определить характер будущего использования средств как отдельными разработчиками, так и группами. Использование стандартных процедур позволит обеспечить плавный переход между отдельными стадиями ЖЦ ПО.

Как правило, все понимают, что обучение является центральным звеном, обеспечивающим нормальное использование CASE-средств в организации. Тем не менее, довольно распространенная ошибка заключается в том, что производится начальное обучение для группы неподготовленных пользователей, а затем все ограничивается минимальным текущим обучением. Участники пилотного проекта, получившие начальное обучение, могут быть высоко квалифицированными энтузиастами новой технологии, стремящимися использовать ее во что бы то ни стало. С другой стороны, для разработчиков, которые будут участвовать в проекте в дальнейшем, может потребоваться более интенсивное и глубокое обучение, а также текущая поддержка в использовании средства.

В дополнение к этому следует отметить, что каждая категория персонала (например, администраторы средств, служба поддержки рабочих мест, интеграторы средств, служба сопровождения и разработчики приложений) нуждается в различном обучении.

Обучение не должно замыкаться только на пользователях CASE-средств, обучаться должны также те сотрудники организации, на деятельность которых так или иначе оказывает влияние использование CASE-средств.

В процессе дальнейшего использования средств в организации обучение должно стать частью процесса ориентации при найме новых сотрудников и привлечении сотрудников к проектам, в которых используются CASE-средства. Обучение должно стать неотъемлемой составной частью нормативных материалов, касающихся деятельности организации, которые предлагаются новым сотрудникам.

Одна общая ошибка, которая делается в процессе перехода, заключается в недооценке ресурсов, необходимых для поддержки постоянного использования сложных CASE-средств. Рост необходимых ресурсов вызывается тремя причинами:

  • Сложностью средств,
  • Частотой появления новых версий,
  • Взаимодействием между средствами и внешней средой.

Сложность средств приводит к возрастанию потребностей в тщательном и продуманном обучении. Кроме того, многие CASE-средства могут использоваться только квалифицированными специалистами, умеющими сопровождать проектные базы данных и оперативно реагировать на возникающие проблемы. Высокая частота обновления версий средств может привести к возникновению нетривиальных проблем, которые зачастую упускаются из виду. Такие обновления обычно пагубно отражаются на жестких планах и графиках работы. Взаимодействие между средствами и внешней по отношению к ним средой также может иногда порождать некоторые проблемы. Имеется в виду тот факт, что хотя многие средства достигли уровня минимальной несовместимости данных между отдельными версиями, проблемы обеспечения совместимости с другими элементами внешней среды остаются в силе.

Оценка результатов перехода

Программа постоянной оценки качества и продуктивности ПО имеет важное значение для следующего:

  • Определения степени совершенствования процессов,
  • Упреждения возможных стратегических просчетов,
  • Своевременного отказа от использования устаревшей технологии.

Чтобы определить, насколько эффективно новое CASE-средство повышает продуктивность и/или качество, организация должна опираться на некоторые базовые данные. К сожалению, лишь немногие организации в настоящее время накапливают данные для реализации программы текущей количественной оценки и усовершенствования процессов. Для доказательства эффективности CASE-средств и их возможностей улучшать продуктивность необходимы такие базовые метрические данные, как:

  • Использованное время,
  • Время, выделенное персонально для конкретных специалистов,
  • Размер, сложность и качество ПО,
  • Удобство сопровождения.

Метрическая оценка должна начинаться с реальной оценки текущего состояния среды еще до начала внедрения CASE-средств и поддерживать процедуры постоянного накопления данных.

Период времени, в течение которого выполняется количественная оценка воздействия, оказываемого внедрением CASE-средств, является весьма значимой величиной с точки зрения определения степени успешности перехода. Некоторые организации, успешно внедрившие в конечном счете CASE-средства, столкнулись с кратковременными негативными эффектами в начале процесса. Другие, успешно начав, недооценили долговременные затраты на сопровождение и обучение. Вследствие этого, наиболее приемлемый временной интервал для оценки степени успешности внедрения должен быть достаточно большим, чтобы преодолеть любые негативные эффекты на начальном этапе, а также смоделировать будущие долговременные затраты. С другой стороны, данный интервал должен соответствовать целям организации и ожидаемым результатам.

В конечном счете, опыт, полученный при внедрении CASE-средств, может отчасти изменить цели организации и ожидания, возлагаемые на CASE-средства. Например, организация может сделать вывод, что средства целесообразно использовать для большего или меньшего круга пользователей и процессов в цикле создания и сопровождения ПО. Такие изменения в ожиданиях зачастую могут дать положительные результаты, но могут также привести к внесению соответствующих корректив в определение степени успешного внедрения CASE-средств в данной организации.

Результатом данного этапа является внедрение CASE-средств в повседневную практику организации, при этом больше не требуется какого-либо специального планирования. Кроме того, поддержка CASE-средств включается в план текущей поддержки ПО в данной организации.

Назад | Содержание | Вперед