Техническая коммуникация и документирование ПО Екатерина Степалина, SmartLabs НИУ-ВШЭ

advertisement
Техническая коммуникация и
документирование ПО
Екатерина Степалина, SmartLabs
НИУ-ВШЭ
Зачем это мне?
• Вы получите представление о сфере
деятельности – технической коммуникации
(technical communication, TC).
• Вы познакомитесь с современными
средствами документирования
(documentation tools) программных систем.
• Вы узнаете лучшие практики (best practices)
документирования и некоторые приемы,
которые могут быть полезны уже сейчас.
Часть I
Техническая коммуникация
Средства коммуникации становятся
все более техническими
•
•
•
•
•
Бумажное письмо
Книга
…
Радио и ТВ
Графический пользовательский интерфейс
(GUI)
• Интернет
Мы используем всё больше
программ
• Производство, управление, обмен
информации автоматизируются с помощью
технических средств и программ.
• Люди используют всё больше программ в
различных сферах деятельности, в
повседневной жизни.
Как пользователи, мы хотим, чтобы
программы были удобными
Удобство (Usability) – одна из ключевых характеристик качества в
соответствии со стандартом ISO 9126.
Требуется все больше знаний в сфере
технической коммуникации, чтобы скрыть
сложность программы за простым
интерфейсом, чтобы сделать программу и
информацию о ней ПОНЯТНОЙ и
ЛЕГКОДОСТУПНОЙ.
Техническая коммуникация для
менеджера проекта
• На уровне компании - успешное
выполнение проекта и
обеспечение удовлетворенности
пользователя
• На уровне проекта – управление
коммуникациями в команде
• Для себя – развитие навыков
коммуникации как Soft Skills
Кто такие технические
коммуникаторы?
•
•
•
•
•
•
•
•
•
Дизайнеры (designers)
Технические писатели (technical writers)
Редакторы (editors)
Разработчики пользовательских интерфейсов и специалисты по
эргономике (UI developers, UI usability experts)
Разработчики обучающих курсов и учебных пособий (training
course developers)
Специалисты по информационной архитектуре (information
architects)
Специалистов по переводу, локализации,
интернационализации пользовательских интерфейсов
(translation, localization specialists)
Специалисты технической поддержки (Support engineers)
Специалисты по веб-маркетингу и рекламе (copy writers)
Society for Technical Communication
(STC)
• База по программам академической
подготовки в области TC
• Онлайн-учебные курсы
• Стажировки
• Общение и обмен опытом
Lynda.com
Более 900 курсов и 57 тысяч качественных
видеоуроков по инструментам и системам:
– Adobe Photoshop, Illustrator, InDesign
– Adobe Captivate
– Corel Draw
– Camtasia Studio
– AutoCAD
–…
Конференции
•
•
•
•
•
Конференция Technical
Communication Summit:
www.summit.stc.org
Немецкий центр развития
технической документации,
электронный журнал TCWorld,
конференция TC World:
www.tekom.de
Австралийская конференция AODC
(Online Documentation and Content
Conference): www.aodc.com.au
Конференция Intelligent Content
www.rockley.com/IC2011
Блогосфера – эксперты ТК
обмениваются опытом через
персональные блоги:
www.mashstream.com,
www.idratherbewriting.com
Сделаем перерыв!
Часть II
Документирование ПО
Документирование ПО
превращается в глобальное
сопровождение продукта и требует
специальных знаний в сфере ТС.
Виды документов
Проектная
документация
Технические
документы
Комментарии
кода
Пользовательская документация
Проектные документы
• Техническое задание (ТЗ),
или software requirements
specification (SRS)
• План проекта
• Программа и методика
испытаний
• UML-диаграммы
проектируемой системы
Инструменты разработки проектной
документации
Документ
Инструмент (система)
Техническое задание 

IBM Doors
IBM Requisite Pro

AutomatedQA Software
Planner

Borland Caliber RM
План проекта

Microsoft Project

Oracle Primavera Enterprise
UML-диаграммы

IBM Rational Rose

Sparx Enterprise Architect

Altova UModel

Microsoft Team Foundation
System
Программа и

методика испытаний
(Acceptance Tests
Specification)
Atlassian JIRA
Пользовательские документы
• Руководства и инструкции (User Guide,
User Manual)
• Справки по функциям продукта (Reference)
• Описание изменений версии продукта
(Release Notes)
• Ответы на вопросы (Frequently Asked
Questions)
• Решение известных проблем
(Troubleshooting)
• Статьи How-To
• Статьи о лучших практиках (Best Practices)
• Мультимедиа-гиды (screencasts, podcasts)
Технические документы
• Спецификации оборудования,
систем (datasheet)
• Спецификации стандартов (RFC)
• Регламенты кодирования (coding
conventions)
Документация кода
• Описание программных интерфейсов (API)
• Описание классов, их методов и свойств
• Описание недокументированных
возможностей платформы
• Комментарии узких мест реализации
• Утилиты: JavaDoc, Doxygen
Наиболее трудоемким является
процесс разработки информации
(J.T. Hackos)
• Планирование информации (Information
Planning, 10%)
• Проектирование (Information Design, 20%)
• Разработка (Information Development, 50%)
• Эксплуатация (Production,20%)
• Оценивание (Evaluation, менее 1%)
Стадии разработки документации
Что нужно для разработки
документации?
Information Process Maturity Model
(IPMM)
JoAnn T. Hackos
• Organizational structure (Организационная
структура)
• quality assurance (Обеспечение качества)
• planning (Планирование)
• estimating (Оценка)
• scheduling (Составление и соблюдение
графика)
• tracking (Отслеживание статуса задач, работ,
ресурсов)
• hiring and training (Наем и обучение)
• information design (Проектирование
информации)
• cost control (Контроль издержек)
• quality management (Управление качеством)
• collaboration (Совместная работа)
Стандарты – Национальные (РФ)
Российские стандарты основываются на ключевых международных стандартах:
• «ГОСТ Р ИСО 9001-2008. Системы менеджмента качества»
• «ГОСТ Р ИСО/МЭК 12207-99. Информационная технология. Процессы жизненного цикла
программных средств»
.
Действующие российские стандарты:
«ГОСТ Р ИСО/МЭК 15910-2002. Информационная технология. Процесс создания документации
пользователя программного средства»
«ГОСТ Р ИСО/МЭК ТО 9294-93. Информационная технология. Руководство по управлению
документированием программного обеспечения»
«ГОСТ Р ИСО 9127-94. Системы обработки информации. Документация пользователя и
информация на упаковке для потребительских программных пакетов»
Устаревшие, но все еще использующиеся стандарты:
• GOST 19.хх - - ГОСТы серии ЕСПД (Единая система программной документации). Это
стандарты 80-90-х годов. Они содержат требования к оформлению руководств пользователя и
программиста, схем алгоритмов, схем данных, спецификации на программный продукт.
• GOST 34.хх – Автоматизированные системы. Комплекс стандартов на автоматизированные
системы.
Самый популярный документ из этой серии - ГОСТ 34.602-89 Техническое задание на
создание автоматизированной системы. Это требования к оформлению ТЗ на АС, которые
часто применяются для информационных систем, разрабатываемых для государственных
организаций, учреждений и т.п.
Стандарты - Международные
Международные стандарты основываются на ключевых стандартах
в области разработки ПО:
• ISO 9000. Quality Management
• ISO/IEC 12207:2008. Information technologies. Software life cycle
processes.
• ISO/IEC 15288:2008 - Systems and software engineering-System life cycle
processes. Не противоречит ISO/IEC 12207:2008.
Международные стандарты и рекомендации в области
документирования:
• ISO/IEC 15289:2006 - Content of systems and software life cycle process
information products (Documentation).
• ISO/IEC 26513 - Systems and software engineering - Requirements for
testers and reviewers of user documentation
• ISO/IEC 26514:2008 - Requirements for designers and developers of user
documentation. It provides requirements for the design and development
of software user documentation as part of the life cycle processes. It
defines the documentation process from the viewpoint of the
documentation developer.
Принцип единого источника
• Публикация документов в
нескольких форматах (В Word,
CHM) из единого источника
• Совместная работа группы
авторов
• Многократное использование
одних и тех же блоков контента
(content re-use)
• Единая система индексов для всех
видов выходной документации
Как это реализовано?
Информационная архитектура
OASIS (Organization for Advancement of
Structured Information Standards)
разрабатывает и поддерживает схемы –
«фреймворки» для создания
информационной архитектуры.
• DocBook (1991, HAL Computer Systems,
O’Relly)
• DITA (2001, IBM)
DocBook
• Структурно-ориентированная система:
раздел, подраздел, пункт, абзац
• Подходит для разработки некоторых видов
проектных и пользовательских документов
• Меньшая гибкость, по сравнению с DITA
DocBook
DITA (Darwin Information Typing
Architecture)
• Семантическая модель информационных
типов
• Разбиение документа на «топики» по смыслу:
«Task», «Question», «Workaround»
• Возможность добавления собственных типов,
поддержка наследования
• Специальные средства контроля локализации
• Нет готовых решений, требует доработки и
настройки
DITA
Системы документирования
• Интегрированные среды разработки
документов (help authoring tools)
• Специальные CMS - Wiki-системы
• XML CMS, поддерживающие стандарт DITA
Help Authoring Tools
•
•
•
•
•
•
•
Author-it
Adobe RoboHelp
MadCap Flare
Help&Manual
EMC Documentum
Dr. Explain
MindTouch
Wiki-системы
•
•
•
•
•
MediaWiki
TWiki
PmWiki
DokuWiki
Confluence
XML CMS для работы с DITA
•
•
•
•
•
•
Horizon
XDocs
X-Hive/Docato
TEXTML Server (DITA CMS Framework)
Contenta
SiberSafe
Какую систему выбрать?
• Быстрый старт – достаточно Wiki
• По возрастанию стоимости
внедрения: Wiki, Help authoring
tools, XML CMS
• Wiki используют в небольших и
средних компаниях.
• Help authoring tools применяются в
средних и крупных организациях
NASA, NEC, Gartner.
• XML CMS используется в Adobe,
Boeing, Nokia, IBM, Oracle и др.
Форматы пользовательских
документов
• Печатные документы в формате PDF, MS
Word
• Онлайн-ресурсы (Wiki, блоги)
• Онлайн-справочные системы (WebHelp)
• Контекстные справки (HTML Help, MS Help
2, JavaHelp, FlashHelp)
• Электронные книги (ePub, FB2)
Стили изложения и оформления
• APA Style (Оформление публикаций,
наглядных пособий, презентаций)
• IEEE Style (Для оформления стандартов
IEEE)
• MLA Style (Оформление научных
статей)
• ESL Standards (Подготовка публикаций
для международного читателя)
• O'Relly Stylesheet and Word List
(Оформление печатных изданий, это
руководство используется
издательством O'Relly, которое
выпускает техническую литературу)
Поиск….
Уделите особое
внимание
подбору
ключевых слов.
Как отличить хорошую
документацию от плохой?
• Ориентируйтесь на задачи, которые хочет
выполнить пользователь, а не на «фичи» продукта.
• Ориентируйтесь на конкретный класс
пользователей.
• Используйте словарь терминов – глоссарий.
• Включайте только ту информацию, которая
действительно нужна пользователю.
• Побуждайте пользователя изучать возможности
системы через ее интерфейс.
• Используйте текст повторно для снижения
трудозатрат на разработку документации.
А как же картинки?..
Эдварт Тафт (Edward Tufte): «Настоящее
искусство – когда у наблюдателя за мгновение
возникает множество идей при том, что Вы
потратили всего каплю чернил на клочке
бумаги».
Заключение
• Техническая коммуникация (TC) – актуальная и
активно развивающаяся область знаний,
объединяющая представителей различных
профессий – от дизайнера и технического писателя
до специалиста по информационной архитектуре и
разработчика пользовательского интерфейса.
• Документирование – один из важных разделов TC,
который охватывает информационную поддержку и
сопровождение продукта, требует тщательной
разработки информационной архитектуры и
правильного выбора инструментов.
Узнать больше - TC
• Society for Technical Communication
www.stc.org
• Lynda.com www.lynda.com
• Technical Writing, I’d Rather Be Writing
www.idratherbewriting.com
• Книги и лекции Эдварда Тафта (Edward
Tufte) www.edwardtufte.com
Узнать больше - Документирование
• Книги на русском языке:
– Липаев В.В. Документирование сложных программных средств.
– Ю.В. Кагарлицкий. Разработка документации пользователя
программного продукта. Методика и стиль изложения.
– В. Глаголев. Разработка технической документации. Руководство
для технических писателей и локализаторов ПО.
• Мировые бестселлеры и мейнстрим:
– The Chicago Manual of Style.
– IEEE Style. www.standards.ieee.org/guides/style (Используется для
оформления научных публикаций, в частности по программной
инженерии)
– JoAnn T. Hackos. Information Development: Managing Your
Documentation Projects, Portfolio, and People.
– DITA Newsletter www.ditanewsletter.com
– Organization for the Advancement of Structured Information
Standards (OASIS) www.oasis-open.org
– Software Engineering Process Technology (SEPT) www.12207.com
Спасибо за внимание!
E-mail: estepalina@gmail.com
Блог: www.katyastep.wordpress.com
Вопросы?
Download