ТЗ на изделие в целом определяет основные направления разработки: состава, конструкции и принципа работы, а также обосновывает технические и технико-экономические характеристики. ТЗ на программное обеспечение изделия позволит установить и конкретизировать требования непосредственно к программному продукту, выработанные на основе требований основного ТЗ. ТЗ на программные изделия обычно содержит сведения о назначении и области применения ПО, технические, технико-экономические и специальные требования, стадии и сроки разработки, виды испытаний. Полная информация о требованиях к содержанию разделов и оформлению ТЗ на разработку программы или программного изделия приведена в ГОСТ 19.201-78.
Пояснительная записка составляется профессионалами в области разработки программного обеспечения и для специалистов того же уровня квалификации. Следовательно, в ней уместно использовать специальную терминологию, ссылаться на специальную литературу и т. п.
Как уже указывалось выше, в настоящее время часто используют еще один эксплуатационный документ, в который отчасти входит руководство системного программиста, программиста и оператора. Этот документ называют Руководством пользователя. Появление такого документа явилось следствием широкого распространения персональных компьютеров, работая на которых пользователи совмещают в своем лице трех указанных специалистов.
Составление документации для пользователей имеет свои особенности, связанные с тем, что пользователь, как правило, не является профессионалом в области разработки программного обеспечения. В книге С. Дж. Гримм [17] даны рекомендации по написанию подобной программной документации:
•учитывайте интересы пользователей – руководство должно содержать все инструкции, необходимые пользователю;
•излагайте ясно, используйте короткие предложения;
•избегайте технического жаргона и узко специальной терминологии, если все же необходимо использовать некоторые термины, то их следует пояснить;
•будьте точны и рациональны – длинные и запутанные руководства обычно никто не читает, например, лучше привести рисунок формы, чем долго ее описывать.
Руководство пользователя, как правило, содержит следующие разделы:
•общие сведения о программном продукте;
•описание установки;
•описание запуска;
•инструкции по работе (или описание пользовательского интерфейса);
•сообщения пользователю.
Раздел Общие сведения о программе обычно содержит наименование программного продукта, краткое описание его функций, реализованных методов и возможных областей применения.
Раздел Установка обычно содержит подробное описание действий по установке программного продукта и сообщений, которые при этом могут быть получены.
В разделе Запуск, как правило, описаны действия по запуску программного продукта и сообщений, которые при этом могут быть получены.
Раздел Инструкции по работе обычно содержит описание режимов работы, форматов ввода-вывода информации и возможных настроек.
303
Раздел Сообщения пользователю должен содержать перечень возможных сообщений, описание их содержания и действий, которые необходимо предпринять по этим сообщениям.
11.4. Руководство системного программиста
По ГОСТ 19.503–79 руководство системного программиста должно содержать всю информацию, необходимую для установки программного обеспечения, его настройки и проверки работоспособности. Кроме того, как указывалось выше, в него часто включают и описание необходимого обслуживания, которое раньше приводилось в руководстве оператора (ГОСТ 19.505–79) и/или руководстве по техническому обслуживанию (ГОСТ 19.508–79). В настоящее время данную схему используют для составления руководства системному администратору.
Руководство системного программиста должно содержать следующие разделы:
•общие сведения о программном продукте,
•структура,
•настройка,
•проверка,
•дополнительные возможности,
•сообщения системному программисту.
Раздел Общие сведения о программе должен включать описание назначения и функций программы, а также сведения о технических и программных средствах, обеспечивающих выполнение данной программы (например, объем оперативной памяти, требования к составу
ипараметрам внешних устройств, требования к программному обеспечению и т. п.).
Вразделе Структура программы должны быть приведены сведения о структуре программы, ее составных частях, о связях между составными частями и о связях с другими программами.
Вразделе Настройка программы должно быть приведено описание действий по настройке программы на условия практического применения.
Вразделе Проверка программы должно быть приведено описание способов проверки работоспособности программы, например контрольные примеры.
Вразделе Дополнительные возможности должно быть приведено описание дополнительных возможностей программы и способов доступа к ним.
Вразделе Сообщения системному программисту должны быть указаны тексты сообщений, выдаваемых в ходе выполнения настройки и проверки программы, а также в ходе ее выполнения, описание их содержания и действий, которые необходимо предпринять по этим сообщениям.
304
11.5. Основные правила оформления программной документации
При оформлении текстовых и графических материалов, входящих в программную документацию следует придерживаться действующих стандартов. Некоторые положения этих стандартов приведены ниже.
Оформление текстового и графического материала. Текстовые документы оформляют на листах формата А4, причем графический материал допускается представлять на листах формата A3. Поля на листе определяют в соответствии с общими требованиями: левое – не менее 30, правое – не менее 10, верхнее – не менее 15, а нижнее – не менее 20 мм. В текстовых редакторах для оформления записки параметры страницы заказывают в зависимости от устройства печати. При ручном оформлении документов параметры страницы выбирают из соображений удобства.
Нумерация всех страниц – сквозная. Номер проставляется сверху справа арабской цифрой. Страницами считают, как листы с текстами и рисунками, так и листы приложений. Первой страницей считается титульный лист. Номер страницы на титульном листе не проставляют.
Наименование разделов пишут прописными буквами в середине строки. Расстояние между заголовками и текстом, а также между заголовками раздела и подразделов должно быть равно:
•при выполнении документа машинописным способом – двум интервалам;
•при выполнении рукописным способом – 10 мм;
•при использовании текстовых редакторов – определяется возможностями редактора. Наименования подразделов и пунктов следует размещать с абзацного отступа и
печатать вразрядку с прописной буквы, не подчеркивая и без точки в конце. Расстояние между последней строкой текста предыдущего раздела и последующим заголовком при расположении их на одной странице должно быть равно:
•при выполнении документа машинописным способом – трем интервалам;
•при выполнении рукописным способом – не менее 15 мм;
•при использовании текстовых редакторов – определяется возможностями редактора. Разделы и подразделы нумеруются арабскими цифрами с точкой. Разделы должны
иметь порядковые номера 1, 2, и т. д. Номер подраздела включает номер раздела и порядковый номер подраздела, входящего в данный раздел, разделенные точкой. Например: 2.1, 3.5. Ссылки на пункты, разделы и подразделы указывают, используя порядковый номер раздела или пункта, например, «в разд. 4», «в п. 3.3.4».
305
Текст разделов печатают через 1,5-2 интервала. При использовании текстовых редакторов высота букв и цифр должна быть не менее 1,8 мм (шрифты № 11-12).
Перечисления следует нумеровать арабскими цифрами со скобкой, например: 2), 3) и т.д. – с абзацного отступа. Допускается выделять перечисление простановкой дефиса перед пунктом текста или символом, его заменяющим, в текстовых редакторах.
Оформление рисунков, схем алгоритмов, таблиц и формул. В соответствии с ГОСТ 2.105–79 «Общие требования к текстовым документам» иллюстрации (графики, схемы, диаграммы) могут быть приведены как в основном тексте, так и в приложении. Все иллюстрации именуют рисунками. Все рисунки, таблицы и формулы нумеруют арабскими цифрами последовательно (сквозная нумерация) или в пределах раздела (относительная нумерация). В приложении – в пределах приложения.
Каждый рисунок должен иметь подрисуночную подпись – название, помещаемую под рисунком, например:
Рис.12. Форма окна основного меню
На все рисунки, таблицы и формулы в записке должны быть ссылки в виде: «(рис. 12)» или «форма окна основного меню приведена на рис. 12».
Если позволяет место, рисунки и таблицы должны размещаться сразу после абзаца, в котором они упоминаются в первый раз, или как можно ближе к этому абзацу на следующих страницах.
Если рисунок занимает более одной страницы, на всех страницах, кроме первой, проставляется номер рисунка и слово «Продолжение». Например:
Рис. 12. Продолжение
Рисунки следует размещать так, чтобы их можно было рассматривать без поворота страницы. Если такое размещение невозможно, рисунки следует располагать так, чтобы для просмотра надо было повернуть страницу по часовой стрелке. В этом случае верхним краем является левый край страницы. Расположение и размеры полей сохраняются.
Схемы алгоритмов должны быть выполнены в соответствии со стандартом ЕСПД. Толщина сплошной линии при вычерчивании схем алгоритмов должна составлять от 0,6…1,5 мм. Надписи на схемах должны быть выполнены чертежным шрифтом, высота букв и цифр должна быть не менее 3,5 мм.
Номер таблицы размещают в правом верхнем углу или перед заголовком таблицы, если он есть. Заголовок, кроме первой буквы, выполняют строчными буквами.
Ссылки на таблицы в тексте пояснительной записки указывают в виде слова «табл.» и номера таблицы. Например:
306
Результаты тестов приведены в табл. 4.
Номер формулы ставится с правой стороны страницы в круглых скобках на уровне формулы. Например:
Ссылка на номер формулы дается в скобках. Например: «расчет значений проводится по формуле (12)».
Оформление приложений. Каждое приложение должно начинаться с новой страницы с указанием в правом углу слова «ПРИЛОЖЕНИЕ» прописными буквами и иметь тематический заголовок. При наличии более одного приложения все они нумеруются арабскими цифрами: ПРИЛОЖЕНИЕ 1, ПРИЛОЖЕНИЕ 2 и т. д. Например:
ПРИЛОЖЕНИЕ 2
Титульный лист расчетно–пояснительной записки
Рисунки и таблицы, помещаемые в приложении, нумеруют арабскими цифрами в пределах каждого приложения с добавлением буквы «П». Например:
Рис. П. 12 – 12-й рисунок приложения; Рис. П1.2 – 2-й рисунок 1-го приложения.
Если в приложении приводится текст программы, то каждый файл оформляют как рисунок с наименованием файла и его назначением, например:
Рис. П2.4. Файл menuran.pas – программа движения курсора основного меню.
Оформление списка литературы. Список литературы должен включать все использованные источники. Сведения о книгах (монографиях, учебниках, пособиях, справочниках и т. д.) должны содержать: фамилию и инициалы автора, заглавие книги, место издания, издательство, год издания. При наличии трех и более авторов допускается указывать фамилию и инициалы только первого из них со словами «и др.». Издательство надо приводить полностью в именительном падеже: допускается сокращение названия только двух городов: Москва (М.) и Санкт–Петербург (СПб.).
Сведения о статье из периодического издания должны включать: фамилию и инициалы автора, наименование статьи, издания (журнала), серии (ес-
307
Соседние файлы в предмете Программирование
- #
- #
- #
Руководство
32 — РУКОВОДСТВО СИСТЕМНОГО ПРОГРАММИСТА по ГОСТ 19.503-79 (пример, образец)
- Документы
- Программные
Пример (образец) документа Руководство системного программиста по ГОСТ 19.503-79, взаимоувязанный разделами (подразделами, пунктами и подпунктами) с комплектом программных документов, выполненным согласно требованиям Единой системы программной документации (ЕСПД). Редакция от 01.02.2023.
- 32 — РУКОВОДСТВО СИСТЕМНОГО ПРОГРАММИСТА по ГОСТ 19.503-79
- Руководство ☠ Системный ☠ Программист ☠ Пример ☠ Образец
- Открыть в новой вкладке
33 — РУКОВОДСТВО ПРОГРАММИСТА по ГОСТ 19.504-79 (пример, образец)
- Документы
- Программные
Пример (образец) документа Руководство программиста по ГОСТ 19.504-79, взаимоувязанный разделами (подразделами, пунктами и подпунктами) с комплектом программных документов, выполненным согласно требованиям Единой системы программной документации (ЕСПД). Редакция от 01.02.2023.
- 33 — РУКОВОДСТВО ПРОГРАММИСТА по ГОСТ 19.504-79
- Руководство ☠ Программист ☠ Пример ☠ Образец
- Открыть в новой вкладке
34 — РУКОВОДСТВО ОПЕРАТОРА по ГОСТ 19.505-79 (пример, образец)
- Документы
- Программные
Пример (образец) документа Руководство оператора по ГОСТ 19.505-79, взаимоувязанный разделами (подразделами, пунктами и подпунктами) с комплектом программных документов, выполненным согласно требованиям Единой системы программной документации (ЕСПД). Редакция от 01.02.2023.
- 34 — РУКОВОДСТВО ОПЕРАТОРА по ГОСТ 19.505-79
- Руководство ☠ Оператор ☠ Пример ☠ Образец
- Открыть в новой вкладке
Высшее руководство (top management) по ГОСТ ISO 9000-2011
- Терминология
Лицо или группа работников, осуществляющих руководство и управление организацией на высшем уровне [из 3.2.7 ГОСТ ISO 9000-2011]
- Из ГОСТ ISO 9000-2011 Системы менеджмента качества. Основные положения и словарь
- Management ☠ Top ☠ Высший ☠ Руководство
⇪В 17360 💥
- Открыть в новой вкладке
Высшее руководство (top management) по ГОСТ Р 54147-2010
- Терминология
Лицо или группа работников, осуществляющих направление деятельности и управление организацией на высшем уровне [из 3.2.12 ГОСТ Р 54147-2010]
- Из ГОСТ Р 54147-2010 Стратегический и инновационный менеджмент. Термины и определения
- Высший ☠ Руководство ☠ Top ☠ Management
⇪В 32354 💥
- Открыть в новой вкладке
Высшее руководство (top management) по ГОСТ Р ИСО 37100-2018
- Терминология
Лицо или группа лиц, осуществляющие руководство и управление организацией на высшем уровне.
Примечания
- Высшее руководство имеет власть делегировать полномочия и предоставлять ресурсы в рамках своей организации.
- Под высшим руководством следует понимать группу лиц в организации, отвечающую за принятие решений, которой сообщество официально или неофициально поручает имплементацию системы менеджмента.
- В случае если область применения системы менеджмента охватывает только часть организации, тогда высшее руководство относится к тем, кто руководит и управляет данной частью организации.
[из 3.3.2 ГОСТ Р ИСО 37100-2018]
- Из ГОСТ Р ИСО 37100-2018 Устойчивое развитие и адаптивность сообществ. Словарь
- Management ☠ Top ☠ Высший ☠ Руководство
⇪В 21186 💥
- Открыть в новой вкладке
Документация руководств (guidance documentation) по ГОСТ Р ИСО/МЭК 15408-1-2012
- Терминология
Документация, описывающая поставку, установку, конфигурирование, эксплуатацию, управление и (или) использование ОО (TOE) [из 3.1.36 ГОСТ Р ИСО/МЭК 15408-1-2012]
- Из ГОСТ Р 15408-1-2012 Информационная технология. Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий. Часть 1. Введение и общая модель
- Documentation ☠ Guidance ☠ Документация ☠ Руководство
⇪В 28372 💥
- Открыть в новой вкладке
Интерактивное электронное техническое руководство по ГОСТ Р 53394-2017
- Терминология
Обобщенное название для взаимосвязанной совокупности эксплуатационных документов, выполненных в форме интерактивного электронного документа по ГОСТ 2.051 и, как правило, содержащихся в одной общей базе данных эксплуатационной документации.
Примечание — Английский эквивалент термина «интерактивное электронное техническое руководство» — interactive electronic technical manual [из 3.40 ГОСТ Р 53394-2017]
- Из ГОСТ Р 53394-2017 Интегрированная логистическая поддержка. Термины и определения
- Интерактивный ☠ Руководство ☠ Технический ☠ Электронный
⇪В 26574 💥
- Открыть в новой вкладке
Интерактивное электронное техническое руководство, ИЭТР по ГОСТ 2.601-2013
- Терминология
Обобщенное название для взаимосвязанной совокупности эксплуатационных документов, выполненных в форме интерактивного электронного документа по ГОСТ 2.051 и, как правило, содержащихся в одной общей базе данных эксплуатационной документации [из 3.1.5 ГОСТ 2.601-2013]
- Из ГОСТ 2.601-2013 Единая система конструкторской документации. Эксплуатационные документы
- Интерактивный ☠ Электронный ☠ Технический ☠ Руководство ☠ ИЭТР
⇪В 27811 💥
⇪В 30069 💥
- Открыть в новой вкладке
Интерактивное электронное техническое руководство, ИЭТР по ГОСТ Р 54088-2017
- Терминология
Совокупность электронных документов, технических данных и программно-технических средств, предназначенная для информационного обеспечения процессов использования по назначению и технической эксплуатации изделия и (или) его составных частей и предоставляющая пользователям возможность прямой и обратной связи между пользователем и руководством в режиме реального времени с помощью интерфейса электронной системы отображения.
Примечания
- Интерактивность отражает способность электронной системы отображения информации обеспечивать диалог с пользователем через пользовательский интерфейс системы путем генерации взаимных запросов пользователем и системой и выдачей ответов на эти запросы. Интерактивность обеспечивается наличием в электронной системе отображения необходимых элементов управления (кнопки, «флажки», поля для ввода данных и т.д.).
- Английский эквивалент термина «интерактивное электронное техническое руководство» — interactive electronic technical manual.
- Программно-технические средства в составе интерактивного электронного технического руководства включают электронную систему отображения и другие необходимые средства (например, драйверы, утилиты шифрования и др.).
[из 3.1.1 ГОСТ Р 54088-2017]
- Из ГОСТ Р 54088-2017 Интегрированная логистическая поддержка. Эксплуатационная и ремонтная документация в форме интерактивных электронных технических руководств. Основные положения и общие требования
- Интерактивный ☠ ИЭТР ☠ Руководство ☠ Технический ☠ Электронный
⇪В 24360 💥
- Открыть в новой вкладке
Страницы
- 1
- 2
- 3
- следующая ›
- последняя »
Подборка по базе: Предпринимательская деятельность. Системный подход в управлении , Предпринимательская деятельность. Системный подход в управлении , Исполнительная власть понятие место в системе разделения властей, Внеурочное занятие по биологии. Лабораторный практикум на тему _, Тема 4.1.Физиология и гигиена сердечно-сосудистой и дыхательной , кровеносная система.pptx, КАЗ ТЕРМИНДІК СӨЗДІК-ПФ органов и систем (1).docx, бюджетная система РФ.docx, Внеурочное занятие по биологии. Лабораторный практикум на тему _, журнал учета инженерно- технических систем.docx
8. РАБОЧАЯ ДОКУМЕНТАЦИЯ
В состав рабочей, или иначе эксплуатационной, документации входят руководство пользователя, руководство оператора, руководство администратора, руководство системного администратора, руководство программиста, руководство системного программиста.
8.1. Руководство пользователя
Основной целью руководства пользователя является обеспечение пользователя необходимой информацией для самостоятельной работы с программой или автоматизированной системой. Поэтому руководство пользователя должно отвечать на вопросы:
что это за программа (система)?
что может программа (система)?
что необходимо для обеспечения корректного функционирования программы (системы)?
что делать в случае отказа системы?
При составлении наиболее подробного руководства пользователя можно придерживаться следующей структуры:
1. Введение
Данный раздел должен предоставлять пользователю общую информацию о программе (системе). В нем указывают:
область применения;
краткое описание возможностей;
уровень подготовки пользователя.
51
2. Перечень эксплуатационной документации
В данном разделе перечисляется документация, которая позволит пользователю избежать определенного рода ошибок.
3. Назначение и условия применения
Раздел подразделяет основную задачу программы (системы) на подзадачи и описывает каждую из них. В нем указывают:
виды деятельности, функции, для автоматизации которых предназначено данное средство автоматизации;
условия, при соблюдении (выполнении, наступлении) которых обеспечивается применение средства автоматизации в соответствии с назначением (например, вид ЭВМ и конфигурация технических средств, операционная среда и общесистемные программные средства, входная информация, носители данных, база данных, требования к подготовке специалистов и т. п.).
4. Подготовка к работе
Данный раздел должен содержать пошаговую инструкцию для запуска программы (системы). К этапу подготовки системы к работе можно отнести установку дополнительных приложений, идентификацию, аутентификацию. В данном разделе указывают:
состав и содержание дистрибутивного носителя данных;
порядок загрузки данных и программ.
5. Проверка работоспособности
В разделе описываются показатели, по которым можно определить, что программное обеспечение работает нестабильно.
6. Описание операций
Это основной раздел, который содержит пошаговую инструкцию для выполнения того или иного действия пользователем. Если работа
52 автоматизированной системы затрагивает целый бизнес-процесс, то в руководстве пользователя перед описанием операций целесообразно предоставить информацию о данном процессе, его назначении и участниках. Подобное решение позволяет человеку четко представить свою роль в данном процессе и те функции, которые реализованы для него в системе. Далее в руководстве пользователя следует представить описание функций, разбитых на отдельные операции.
Необходимо выделить подразделы, описывающие функции данного процесса, и действия, которые необходимо совершить для их выполнения:
описание всех выполняемых функций, задач, комплексов задач, процедур;
описание операций технологического процесса обработки данных, необходимых для выполнения функций, задач, процедур.
7. Аварийные ситуации
В разделе описываются действия в случае длительных отказов технических средств, обнаружении несанкционированного вмешательства в данные, действия по восстановлению программ или данных.
8.2. Руководство оператора
Нормативной базой для составления данного документа может являться ГОСТ 19.505-79 «ЕСПД. Руководство оператора. Требования к содержанию и оформлению», в котором выделяются следующие разделы:
назначение программы (сведения о назначении программы и информация, достаточная для понимания функций программы и ее эксплуатации);
53
условия выполнения программы (минимальный и/или максимальный состав аппаратурных и программных средств и т. д.);
выполнение программы
(последовательность действий оператора, обеспечивающих загрузку, запуск, выполнение и завершение программы, описание функций, формата и возможных вариантов команд, с помощью которых оператор осуществляет загрузку и управляет выполнением программы, а также ответы программы на эти команды);
сообщения оператору (тексты сообщений, выдаваемых в ходе выполнения программы, описание их содержания и соответствующие действия оператора в случае сбоя, возможности повторного запуска программы и т. п.).
В зависимости от особенностей документа допускается объединять отдельные разделы или вводить новые. Допускается содержание разделов иллюстрировать поясняющими примерами, таблицами, схемами, графиками.
В общем случае руководство оператора отличается от руководства пользователя. В руководстве оператора все процессы, выполняемые программным обеспечением, рассматриваются с технической точки зрения. Исходя из этого, можно представить альтернативную структуру данного руководства:
1. Установка на сервер
В разделе описывается процесс установки программного обеспечения на сервер. Пошаговая инструкция дает точные указания, каким образом необходимо выполнить установку, в зависимости от технического состояния сервера.
54
2. Установка локальная
В разделе описывается процесс настройки компьютеров, использующих программное приложение, также даются рекомендации по оптимизации настройки рабочих станций, чтобы улучшить процесс взаимодействия сервера и компьютеров пользователей.
3. Администрирование пользователей
В разделе подробно описывается процесс администрирования учетных записей пользователей программного обеспечения.
Подробная инструкция описывает все ситуации, которые могут возникнуть при управлении пользователями. Например, можно централизованно завершать все активные соединения с информационной базой и устанавливать блокировку новых соединений на определенный период времени. Такая возможность полезна при выполнении различных административных действий с информационной базой.
4. Информационная база
В разделе рассматриваются вопросы администрирования, сохранения, переноса базы данных. Описаны рекомендации по настройке базы данных. Например, рассматривается ситуация резервного копирования. Резервное копирование может выполняться как в автоматическом режиме, так и в ручном. Для автоматического режима предварительно необходимо выполнить настройки. В любой момент можно восстановить данные информационной базы из созданной ранее резервной копии.
5. Технические неполадки
Этот раздел содержит информацию о возможных технических проблемах, которые могут возникнуть в процессе эксплуатации программного обеспечения.
Рассматриваются проблемы, возникающие в результате некорректной работы оборудования, а
55 также ситуации, возникающие в результате некорректного использования функций программного обеспечения.
6. Программный код
В разделе подробно описывается структура программного кода.
Если в процессе использования программного обеспечения возникают ошибки или потребуется доработка, то для этого необходимо знать программный код. Указываются особенности программного кода, создающие затруднения в процессе доработки. Раздел является очень важным, так как может потребоваться добавить, удалить или изменить определенные функции программного обеспечения.
8.3. Руководство администратора
Обычно администратор считается пользователем системы, при этом он наделен как особыми обязанностями, так и необходимыми для их выполнения привилегиями. По методике и стилю изложения руководство администратора похоже на руководство пользователя.
При этом, как правило, описание в нем строится от задач, а не от функций.
Работа администратора многопользовательской системы, как правило, заключается в управлении учетными записями других пользователей, предоставлении им полномочий на доступ к данным и выполнение операций, а также в исправлении сделанных ими ошибок.
Например, бывают автоматизированные системы, в которых вводить и редактировать данные может любой пользователь, а удалять – только администратор. Кроме того, администратор может заниматься ведением нормативно-справочной информации, загрузкой и выгрузкой данных, открытием и закрытием расчетных периодов и т. п. С этой точки зрения руководство администратора является системным документом и приобретает смысл только в условиях конкретной системы с живыми пользователями.
56
Системы часто создаются на основе тиражируемых программных продуктов или аппаратно-программных комплексов. В составе таких решений нередко поставляется программный компонент под названием «Администратор», предназначенный для управления системой после ее развертывания.
Структура руководства администратора существенным образом зависит от того, как устроена система, и какого обслуживания она требует.
Типичная структура руководства администратора системы следующая:
1. Назначение системы
2. Принципы функционирования системы
3. Обязанности и задачи администратора
4. Обслуживание системы
настройка параметров работы системы;
ведение нормативно-справочной информации;
учетные записи пользователей и управление ими;
назначение пользователям прав доступа;
загрузка и выгрузка данных.
5. Проблемы в работе системы и способы их решения
Руководство по административному модулю программного или программно-аппаратного комплекса содержит примерно те же сведения, но в более общем виде. Например, в нем должно быть объяснено, как создать учетную запись пользователя, но не может быть указано, когда это следует делать. Такая конкретика возникает только при внедрении продукта в некотором конкретном месте и отражается в технологических инструкциях или регламентах.
57
Структура руководства по административному модулю программного или аппаратно-программного комплекса может иметь следующий вид:
1. Общие сведения о комплексе
2. Функционирование комплекса в рамках системы
(рассматриваются несколько наиболее типичных случаев применения комплекса и перечисляются основные обязанности администратора в каждом из них)
3. Интерфейс пользователя административного модуля
4. Задачи по обслуживанию
настройка параметров работы системы;
ведение нормативно-справочной информации;
учетные записи пользователей и управление ими;
назначение пользователям прав доступа;
загрузка и выгрузка данных.
5. Типичные проблемы в работе и способы их решения
Руководство администратора не следует путать с руководством системного администратора. Первый документ говорит о том, как организовать и поддерживать целевое применение системы, второй – как обеспечить ее техническую работоспособность.
8.4. Руководство системного администратора
Руководство системного администратора – вспомогательный документ для прикладных программных продуктов и основной для серверных и системных, не имеющих непосредственных пользователей.
В случае небольших «монолитных» программ руководство системного администратора может оказаться документом небольшим
58 по объему и простым по структуре. Руководство системного администратора на программный или аппаратно-программный комплекс, как правило, ощутимо сложнее, поскольку в нем приходится описывать каждый компонент по отдельности и способы их интеграции как друг с другом, так и со сторонним программным обеспечением: серверами баз данных, почтовыми серверами, антивирусами, средствами шифрования и пр.
В руководстве системного администратора должны быть изложены:
назначение и область применения программы (или комплекса);
состав программы, основные принципы ее функционирования;
комплект поставки (если он не указан в отдельном документе);
системные требования для программы или ее компонентов;
предпочтительная очередность установки компонентов;
процедура установки программы или каждого ее компонента;
порядок обязательной первоначальной настройки программы;
способы интеграции установленных копий компонентов между собой;
интеграция программы со сторонним ПО, например, с сервером базы данных;
способы и периодичность контроля правильности работы программы;
порядок текущего обслуживания работающих копий программы;
59
порядок решения всевозможных вспомогательных задач;
аварийные ситуации и способы их устранения.
Кроме того, в руководстве системного администратора могут быть описаны:
пользовательский интерфейс административной консоли;
утилиты командной строки и синтаксис их запуска;
конфигурационные файлы и правила их написания;
язык для составления управляющих скриптов.
Все зависит от того, какие средства для установки и настройки программы реализовали ее разработчики, какие именно инструменты есть у системного администратора.
Методика изложения материала в руководстве системного администратора сильно зависит от того, каким образом программой можно управлять. Если большинство задач решается через административную консоль с графическим интерфейсом, то документ будет больше похож на руководство пользователя или руководство администратора. Если системному администратору придется составлять конфигурационные файлы и писать скрипты, документ будет ближе к руководству программиста.
Приблизительная структура руководства системного администратора следующая:
1. Общие сведения о программе (комплексе)
2. Архитектура и принципы функционирования
3. Системные требования
4. Установка программы (комплекса)
5. Административная консоль и работа с ней
60
6. Файл конфигурации. Составление и правка
7. Обязательная
начальная
настройка
программы
(комплекса)
8. Проверка правильности функционирования программы
(комплекса)
9. Мероприятия по текущему обслуживанию программы
(комплекса)
10. Оптимизация работы программы (комплекса)
11. Аварийные ситуации и способы их устранения
Объем и особенности изложения информации в руководстве системного администратора зависят от используемых технических средств (ПК, серверных комплексов, планшетов, периферийных устройств и т. д.), применяемого программного обеспечения и решаемых с его помощью конкретных задач.
8.5. Руководство программиста
Программист – это специалист, который занимается разработкой алгоритмов и компьютерных программ на основе специальных математических моделей. Прикладные программисты занимаются в основном разработкой программного обеспечения прикладного характера, а также в их обязанности входит адаптация уже существующих программ под нужды отдельно взятой организации или пользователя.
Нормативной базой для составления данного документа может являться ГОСТ 19.504-79 «ЕСПД. Руководство программиста.
Требования к содержанию и оформлению», в котором выделяются следующие разделы:
61
назначение и условия применения программы (назначение и функции, выполняемые программой, объем оперативной памяти, требования к составу и параметрам периферийных устройств, требования к программному обеспечению и т. п.);
характеристики программы (временные характеристики, режим работы, средства контроля правильности выполнения и самовосстанавливаемости программы и т. п.);
обращение к программе (описание процедур вызова программы, способы передачи управления и параметров данных и др.);
входные и выходные данные (описание организации используемой входной и выходной информации и, при необходимости, ее кодирования);
сообщения (тексты сообщений, выдаваемых программисту или оператору в ходе выполнения программы, описание их содержания и действия, которые необходимо предпринять по этим сообщениям).
В зависимости от особенностей документа допускается объединять отдельные разделы или вводить новые. В приложении к руководству программиста могут быть приведены дополнительные материалы (примеры, иллюстрации, таблицы, графики и т. п.).
8.6. Руководство системного программиста
Системный программист – это разработчик операционных систем, программных комплексов, обеспечивающих слаженную работу компонентов компьютера, который практически не занимается прикладными программами. Системный программист выстраивает многоуровневую структуру, которая объединяет отдельные компоненты
(работу процессора, сетевого оборудования,
62 оперативную память, выполнение прикладных программ и пр.) в модули, а модули – в компьютерную сеть.
Нормативной базой для составления данного документа может являться ГОСТ 19.503-79 «ЕСПД. Руководство системного программиста. Требования к содержанию и оформлению», в котором выделяются следующие разделы:
общие сведения о программе (назначение и функции программы и сведения о технических и программных средствах, обеспечивающих выполнение данной программы);
структура программы (сведения о структуре программы, ее составных частях, о связях между составными частями и о связях с другими программами);
настройка программы (описание действий по настройке программы на состав технических средств, выбор функций и др.);
проверка программы
(описание способов проверки, позволяющих дать общее заключение о работоспособности программы: контрольные примеры, методы прогона, результаты);
дополнительные возможности (описание дополнительных разделов функциональных возможностей программы и способов их выбора);
сообщения системному программисту (тексты сообщений, выдаваемых в ходе выполнения настройки, проверки программы, а также в ходе выполнения программы, описание их содержания и действий, которые необходимо предпринять по этим сообщениям).
63
В зависимости от особенностей документа допускается объединять отдельные разделы или вводить новые. В приложении к руководству системного программиста могут быть приведены дополнительные материалы (примеры, иллюстрации, таблицы, графики и т. п.).
Вопросы для самоконтроля:
1. Для чего необходимо руководство пользователя?
2. Чем руководство оператора отличается от руководства пользователя?
3. Что включает в себя руководство программиста?
Привет, друзья! Сегодня поговорим о такой профессии как системный администратор. Так как наш век – век технического прогресса. Век машин. Представить себе даже самую захудалую фирму без компьютера невозможно! У директора предприятия, в бухгалтерии, в кабинетах начальников отделов, да и у рядовых сотрудников — у всех стоят компьютеры на рабочих местах.
Корпоративная почта, новости, рынок, банк – все эти блага современного трудового коллектива, несомненно, помогают выжить в жестоком мире бизнеса. Но как заставить всё это работать сообща? Как сделать так, чтобы сотрудники не «в контакте» и «одноклассниках» сидели в рабочее время, а занимались делом? Как уберечь секретную информацию с рабочего компьютера от хакеров? Вот для этого и существует такая профессия как сис админ.
Если спросить у гугла, кто же это такой, он ответит примерно следующее:
Сис админ — сотрудник, должностные обязанности которого подразумевают обеспечение штатной работы парка компьютерной техники, сети и программного обеспечения, а также обеспечение информационной безопасности в организации.
В народе же такого специалиста называют просто «админ» или «сисадмин».
Так давайте же разберёмся…
Что он делает
К обязанностям сис админа относится обеспечение устойчивой работы компьютерной техники.
В этот этап входят:
- установка и настройка (а иногда даже закупка) компьютеров,
- комплектующего и периферийных устройств (принтеров, сканеров и т.д.)
При занятии этим делом, главное проложить компьютерные коммуникации так, чтобы даже самый изощренный работник не выдернул ногой штекер и не залил кофе системный блок.
Самое сложное в работе – объяснить красивой блондинке секретарше шефа, что не надо прикалывать провод мышки кнопками к столу, даже если он сильно мешает)))
- Настройка программ и обеспечение их стабильной, надежной работы будет являться, пожалуй, самым трудоемким в работе. Софт может быть абсолютно разный, в зависимости от специфики предприятия. Например, от обычного Microsoft word’a & excel’я, до СУБД «ORACLE» и бухгалтерских программ.
Основной проблемой в работе программного обеспечения является, к сожалению, именно человеческий фактор, так как обычно жалобы сотрудников сисадмину начинаются со слов: «не туда нажала и всё вдруг куда-то пропало». Синхронизировать работу программ и выставить правильную защиту «от дураков» — вот, считайте, половина работы системного администратора.
- Так же сисадмин должен знать и уметь правильно настроить параметры доступа, чтобы каждый работник мог включить только свой компьютер, свой профиль, запустить только те программы, к которым имеет доступ согласно своему статусу в кампании. Если работа сотрудников связана с интернетом, то системному админу предстоит настроить параметры доступа во всемирную паутину так, дабы ни «в контакте», ни так любимые офисными работниками «одноклассники» не были доступны с рабочих компьютеров.
Сисадмин – это весьма весомая фигура в компании, подобно коню на шахматной доске. Вроде и не самая важная персона, но без него совсем никак нельзя. Иногда достаточно закончить курсы для админа, чтобы стать властителем офисных компьютеров. А компьютеры ведь имеют свойство ломаться, причём как у рядового сотрудника, так и у генерального директора.
Более подробнее узнать о том что делает сис админ, можно узнать посмотрев видео.
Плюсы профессии
К несравненным достоинствам работы можно отнести почти полную самостоятельность, ведь найти человека на фирме, который будет разбираться в компьютерах на уровне сис админа и будет проверять вашу работу – практически невозможно. Именно сисадмин является «виртуальным директором» в кампании, посему грамотно настроив оборудование и дав ценные указания «офисному планктону», можно смело проводить серые трудовые будни, предаваясь социальным сетям или поглощающим современную молодежь онлайн играм. Кроме того, решение проблем с техникой начальства и высшего руководства (топ-менеджер, главный бухгалтер, кадровики и т.д.) обеспечит хорошие связи и поможет в продвижении по служебной лестнице.
Бумажной волокиты, опять же, у представителей этой профессии на порядок меньше, чем у других работников. Как показывает практика, пока в конце месяца, года, начальники отделов, подчинённые, усиленно пишут отчёты, сводят счета и подводят итоги – системные администраторы у себя в кабинете крутят солдатиков из витой пары.
К явным достоинствам относится и оклад сисадминов. По данным сайта «job.ru» за услуги подобного рода компании готовы платить в среднем от 1,200$ до 3.000$.
К недостаткам (минусы) профессии относятся:
- Неравномерная и порою высокая загруженность. Компьютеры стараниями нерадивых пользователей глючат и ломаются с завидной регулярностью практически на любом предприятии.
- Непонимание и порою абсолютное нежелание понимать вообще, как работает система. Глючит мышка – виноват сисадмин. Не работает сайт – виноват сисадмин. Перегорел блок питания – виноват сисадмин. И поди, докажи, что от тебя не зависит напряжение в электросети!
- Ограниченные возможности для карьерного роста. Если деятельность компании не связана с оказанием услуг в сфере информационных технологий, то кроме как на прибавку к жалованию больше особо рассчитывать не на что.
Характеристика
Какие же качества необходимы хорошему системному админу?
- Во-первых, он должен иметь хорошее техническое образование. Знание того, что есть системный блок, а что монитор и как переустановить операционную систему – будет явно не достаточно.
- Во-вторых, хороший сис админ должен владеть английским языком на уровне явно превосходящим базовый.
Большинство программ и в особенности техническое описание к ним прилагается именно на английском и пробелы в знании языка могут дорого обойтись, да и в солидной компании без знания иностранного делать нечего.
- И, наконец, в-третьих, коммуникабельность, умение найти подход к коллегам по работе обеспечат сисадмину не только дополнительные печеньки к кофе, но и порою хорошую премию.
Если вы привыкли работать самостоятельно, хорошо владеете английским и умеете находить подход к людям – эта работа для вас. Да и заработная плата позволит обеспечить не только себя, но и семью порадовать, а в нашем информационном обществе человек с подобного рода профессией без работы не останется никогда.
С уважением Алексей!
За свои почти тридцать лет я дослужился до старшего системного администратора. В моем распоряжении было около сорока серверов с linux на борту. Компания росла и расширялась, но задачи сводились к наращиванию мощи уже готового функционала.
И все бы хорошо, но со временем и по определенным причинам дискомфорт начал преобладать над комфортом.
Во-первых, сам процесс поддержки, а точнее его «постоянная» природа или отсутствие какой-либо завершенности. Мелкие задачи, выполняясь, накладываются друг на друга до бесконечности и превращаются в огромный ком, который постоянно меняет свои размеры, — соотношение выполненных и невыполненных задач. Что в итоге порождает вопросы: «Что полезного я уже сделал, Что еще сделаю и к Чему в итоге я двигаюсь?»
В-вторых, прерывания. В деле системного администрирования они особо выделяются из всех проблем и могут вывести из душевного равновесия любого. Когда пишешь код, оптимизируешь сервис и каждые полчаса тебя отвлекают вопросами, срочными задачами и вызовами — вернуться в работу порой очень тяжело и на это тратится время, — минут пятнадцать можно просидеть, вспоминая, откуда тебя выдернули и что вообще ты делал (В книге «Тайм-менеджмент для системных администраторов» Томаса А. Лимончелли об этом хорошо написано). В итоге прерывания формируют утверждение «Мне не дают работать»!..
В-третьих, привычка к рабочему процессу. Как известно, человек ко всему привыкает и то, что изначально вызывало восхищение и приносило в итоге общее удовлетворение, — становится обыденным и скучным. Когда все крутится и работает идеально, об этом знаешь только ты и максимум руководитель отдела, пользователи же принимают это за данность и не испытывают никаких поводов для гордости. Зато они замечают любую мелкую оплошность, от чего страдает как карма всего отдела, так и внутреннее состояние администратора, — против воли себя убеждаешь — «Я плохой сотрудник».
Все это касается обслуживания в целом и такова его стезя. А я в ней, потихоньку, но разуверился.
Чего же я хотел? Бо́льшего погружения в более творческую работу, уменьшения влияния со стороны по мелочам, видеть конечный результат и получать от этого удовлетворение. И все. Уставшим и отчужденным смотря на наш отдел программистов, читая хабр или смотря gif-ки на developerslife, я понял, что если я не могу получить этого на поприще админства, пора менять профессию, а так как писать код мне нравилось все больше и больше, выбор не заставил себя долго ждать.
Выбор языка для меня всегда был сплошным расстройством. На работе я писал на bash, так как писать на чем-то было нужно, да и его возможностей для системного администрирования хватает с головой. Perl — не нравился по синтаксису. Очень долго пытался приучить себя к ansi C, проработал две книги, — Unix разработка сетевых приложений (Уильям Ричард Стивенс) и Программирование для UNIX Наиболее полное руководство (Марк Дж. Рочкинд). Но так и не нашел применения приобретенным знаниям, до сих пор жалею потраченного времени. По требованиям хотелось, что бы он шел в ногу с linux, был универсальным, умел и sys (для текущих скриптов), и web (с заделом на будущее) и не вырвиглазным по синтаксису. Вокруг Python ходил очень долго, — тормозила его относительная молодость, невысокая популярность, и, не знаю почему, его название. Со временем, наблюдая за компаниями-гигантами, которые все больше используют python на production, и к моменту, когда я решил менять профессию, с языком я уже определился, хотя и выбирать было особо не из чего.
Первые полгода читал Марка Лутца, что-то пробовал писать, но знания были обрывочными и применять их на боевых серверах боялся, да и не видел выгоды в замене bash на python. Время тянулось, а моя затея нравилась мне все меньше и меньше. В итоге, убедил себя, что если не получается у меня, получится у других, — нужны курсы, в короткие сроки, с проработкой практики и чтобы была ответственность за оплаченные деньги. Так будет проще и быстрее.
Я нашел месячные курсы Python в местном институте и уговорил руководство на их необходимость, хотя к моменту оплаты, я уже был готов их сам оплатить. За месяц обучения все встало на свои места. Все накопленное до этого и вычитанное в интернете разложилось по-полочкам и стало понятным и прозрачным. Ни одна книга не заменит живого преподавания, где любая неточность или недосказанность, может быть разъяснена на месте.
Далее как по-накатанной, в течении полугода, постепенно и в свободное от работы время, переписал все скрипты и всю автоматизацию на python, написал сервер статистики для squid (python, wsgi). Уже за свои кровные, прошел курсы через вебинар по ООП и django, так как аргументировать их необходимость текущему работодателю решил даже не пытаться. Переписал все с учетом новых знаний. Далее, ради расширения кругозора, прошел еще курсы по тестированию, но оно мне не понравилось, — оставил как запасной вариант.
Следующие полгода, помимо прямых обязанностей, были потрачены на поддержку и оптимизацию написанного мной кода и на поиск работы. Рассматривал только full-time, — админить уже не мог, мечтая о новой работе и новых возможностях.
За это время прошел около десятка собеседований на позицию junior. Всего около десятка. Но везде требовался или django+frontend, либо с опытом от двух лет. Опыт на production»е отсутствует, а фронтендом заниматься у меня не было и нет до сих пор никакого желания. Что еще странно, вопросов именно по языку было не много, зато было много по теории, — ООП, паттерны, методологии scrum, agile — которых я естественно не знал. Продолжая биться головой о двери конференц-залов и выслушивая стандартную фразу «Мы вам перезвоним», я продолжал ходить по приглашениям. И в конечном итоге меня взяли backend разработчиком в закрытый проект.
На текущем месте работы я работаю уже несколько месяцев и могу подвести итоги.
В общем было потрачено полтора года. Для кого-то это много, но со всеми курсами, ночными домашними заданиями, чтением, написанием и переписыванием кода, а так же с текущими задачами в растущей компании, для меня это время пролетело незаметно.
То к чему я стремился, я конечно получил, хотя и радовался этому не долго, — чувство «У меня получилось, я стал программистом» прогорело очень быстро, примерно за неделю, и на смену ему пришли:
Трудовые будни с дикой нагрузкой. С институтских времен я так не напрягал свой мозг. Как следствие, плохой сон, размышления о коде в свободное время, когда, например, нужно отдыхать с семьей, да и общее плохое самочувствие, хотя сейчас уже вроде втянулся. То, что прошло уже столько времени, я осознал уже при написании этой статьи. Время сильно ускорилось и теперь я побаиваюсь, как бы вся жизнь так же быстро не пролетела перед глазами. Возможно пора учится отдыхать.
Борьба с прокрастинацией. У хороших системных администраторов свободного времени намного больше, чем они говорят. Благодаря чему копится много подписок, каналов на ютубе, профильные сайты, шутки-прибаутки, много знакомых в сети и интересов. Лично у меня могло до трех часов в день уходить на чтение и просмотр всего этого. От чего мне на текущей должности, за неимением времени, пришлось практически отказаться. Изначально просто читал бегло, потом читал просто заголовки, а потом и полностью отписывался. Научился не отвечать на мгновенные сообщения мессенджера за рабочим местом, дабы не отвлекаться и не терять мысли. Сейчас остался подписан на десяток только профильных сайтов.
Изначально эти сложности пытался привязать к своему возрасту и на одном из собеседований мне так и сказали, что компании не выгодно вкладывать в меня деньги и что поздновато я решил менять профессию. Но сейчас могу сказать, что дело вовсе не в этом.
Дело в самой профессии системного администратора. Работа, конечный итог которой стремится к абсолютной ле́ни, сильно расслабляет жизненные позиции и стремления, а общение с пользователями и выслушивание их недовольств, еще больше укрепляет асоциальные начала. И тут уже, кто как я, начинает задумываться о бо́льшей полезности, что приводит к поискам более гармоничной жизни, а кого все устраивает и он продолжает это нелегкое существование.
Заметил, что в последнее время очень много знакомых админов начинает готовится к перепрофилированию или уже поменяли профессию. А развитие облачных технологий и расширение влияния аутсорсинговых компаний, только усиливают эту тенденцию.
Системное администрирование потихоньку теряет свою актуальность и в недалеком будущем, вероятно, эта профессия изменится, станет горячим стартом и, возможно, стажировкой для все более новых программистов и других всенаправленных it-специалистов. Но не более.
Специальности и специализации: цифровое (компьютерное) программирование, программное обеспечение, математика, квантовая механика, математическое моделирование, физика
Требуемое образование (уровень образование, тип учебного заведения)
Наиболее перспективное – высшее профессиональное и академическое образование, получаемое в ведущих академических университетах
Специфические способности, необходимые для успешного освоения профессии:
математические способности, умение легко решать и составлять физические и математические задачи, интерес к сугубо математическим и физическим задачам и проблемам.
Профилирующие предметы школьной программы:
Математика – геометрия, алгебра. Английский язык.
Характер и содержание работы:
Написание компьютерных программ, обеспечение функционирования компьютерных систем и их техническое обслуживание
Очевидные плюсы
Высокий социальный престиж профессии, возможность реализации творческих способностей, большая степень свободы и независимости в работе, возможность работы в составе международных научных групп.
«Подводные камни», очевидные минусы
Индивидуалистический характер работы, высокая степень угрозы профессиональной деформации – трудоголизма, снижение уровня социальных контактов и связей
Возможные профессиональные заболевания:
нервные расстройства, опасность сердечно-сосудистых заболеваний, ухудшение зрения и возможность заболеваний, вызванных систематической работой на компьютере, возможны заболевания опорно-двигательного аппарата, остеохондроз, гиподинамия, ишемическая болезнь сердца, другие нарушения, вызванные сидячим и малоподвижным образом жизни.
Вилка зарплаты (в рублях в среднем в месяц):
в Москве и Московской области: 40–130 тыс. рублей;
в крупных областных центрах: 30–80 тыс. рублей;
в отдалённых и сельских районах России – от 15 тыс. рублей.
Программист – главный герой современных анекдотов. Это – статистика. У меня тоже есть любимый анекдот, который также относится и к системным администраторам: «Программист/системный администратор – это такой человек, который решает твою проблему путем создания двух новых». У кого «вис» компьютер, а программы работали непривычным образом или не работали вовсе, меня поймет.
Поймет, потому что больше обращаться не к кому. Есть задача или проблема, которая связана с работой компьютера, его подключениями, то все равно придется обращаться к программисту, любите вы его или нет. Программист – это тот человек, на плечах которого держится вся информационная эпоха. Отсюда – любовь и ненависть.
Про программистов уже давно пишут книги и снимают фильмы в стиле «экшн».
В Википедии сказано, что программи́ст — профессия или увлечение человека, занимающегося разработкой программного обеспечения для программируемых устройств, которые, как правило, содержат один и более CPU
. Примером таких устройств являются настольный П
К
, сотовый телефон
, смартфон
, коммуникатор
, игровая приставка, сервер, суперкомпьютер, микроконтроллер, промышленный и одноразовый компьютер. По ошибке, программистом порой называют системного администратора и других специалистов ИТ. Кстати, Википедия – тоже продукт современной информационной эпохи. Это народная энциклопедия, которую составляют сами люди, по установленным ими же правилам. Такое возможно только в виртуальном пространстве, создаваемом программистами и другими специалистами IT. Достаточно зайти на Википедию и вы уже в совершенно новом мире, у которого если нет хозяев (хотя если исходить из того, что Интернет возник как один из проектов Пентагона, хозяева, может и найдутся, да только вряд ли они могут что-то сделать с этим миром, кроме как попытаться выключить), где есть только «сталкеры» – проводники, специалисты и наставники. Эта вторая реальность обретает все большую силу: только что, в 2008 году, число подключенных к Интернету компьютеров достигло 1 миллиарда, а в 2014 году их будет вдвое больше. Самое главное – кто-то же должен всю эту ораву обслуживать, писать программы, ставить операционные системы, делать апгрейды и текущие ремонты, исправлять сбои, затыкать «дыры» и ругать Билла Гейтса. Один миллиард компьютеров – это нечто! Значит, число компьютерщиков по всему миру приблизилось по численности к врачам, учителям и, самое главное, все они говорят на одном-двух языках программирования, еще более понятных по всему миру, чем древняя латынь в рецептах на микстуру от кашля.
И эта армия продолжает расти. И в их строю есть еще места.
Итак – что нужно сделать, чтобы услышать сокровенное: «You in the Army now!» – ты принят в великое братство, перед которым кольцо Саурона – как бусы индейского вождя?
Эта история началась перед Второй мировой войной, а впервые оформилась в 1948 году, когда Норберт Винер выпустил свою Библию нового времени – «Кибернетику», в которой задал вопрос: «Со страхом думаю о том времени, когда машины заменят большинство людей, которым нечего будет предложить рынку, кроме своих весьма средних способностей». Но время нашло ответ само, как только появился персональный компьютер: а программисты откуда возьмутся?
Сегодня одна из самых популярных вакансий – программист.
Стандартный путь в программисты – факультет программирования любого вуза технического или естественнонаучного направления. Где есть математика, там обязательно будет и математика прикладная, а сегодня это – программирование, программирование и еще раз программирование. Существует уже более 8,5 тысяч языков программирования, благодаря которым происходит общение человека с машиной, реализуется их взаимодействие. Вся остальная карьера – компромисс между реализацией идей, населяющих голову самого программиста, и потребностями различных фирм в их работе.
Программисты бывают разные – в зависимости от специализации наиболее популярными являются специальности: программист 1С; веб-разработчик; Delphi программист; программист.NET; Java-программист; программист C++; программист микроконтроллеров.
На заре становления компьютерной индустрии было актуально деление на прикладных и системных программистов/администраторов. Если первые создали софт для конечных пользователей, то системные программисты создавали софт-инструменты для поддержки прикладных программистов: операционные системы, компиляторы, стандартные библиотеки и драйверы. Поэтому системный программист/администратор – это следующий шаг в развитии собственно программиста.
В отечественной практике сложилась собственная фигура системного администратора – ведущий программист. Ведущий программист, как правило, имеет высокий уровень подготовки в области разработки программного обеспечения и имеет опыт разработки программных продуктов с применением большого спектра технологий. Его главной задачей является координация проектов с первой стадии разработки и до завершающих стадий тестирования и технической поддержки и непосредственное участие в разработке в качестве квалифицированного специалиста.
Главными качествами ведущего программиста являются умение мыслить системно, в перспективе, видеть все стадии разработки проекта, отслеживать тенденции современного рынка и уметь применять самые перспективные и современные технологии в своих проектах, если э это потребуется. Ведущий программист, как правило, также решает некоторые административные вопросы, среди которых – управление персоналом, согласование договоров, составление технических заданий, улаживание споров с заказчиками. Он часто служит промежуточным звеном между программистами и менеджментом, а также исполняет обязанности менеджера в том, что касается распределения работ и соблюдения сроков их исполнения, соответствия выделенным бюджетам. Он обычно является техническим советником для менеджмента и участвует в проработке всех технических вопросов при подготовке договоров, проведении переговоров или разработке требований.
Практическая деятельность программиста обеспечивается рядом инструментов. среди которых ведущую роль играют интегрированная среда разработки, ярким примером которой является изучаемая в вузах России среда Delphi; инструменты разработки софта; инструменты разработки драйверов; компилятор, который транслирует исходный код, понятный программисту, в машинный язык, понятный CPU или виртуальной машине, или интерпретатор, который исполняет непосредственно код программы; отладчик, участвующий в поиске ошибок, детально анализируя разнообразные переменные, стэк, память, регистры процессора, слово состояния CPU; компоновщик, который собирает компилированные файлы и статические библиотеки в исполняемый файл, структура которого понятна операционной системе.
Международный язык общения программистов – английский.
Всякая социальная группа быстро формирует свой собственный профессиональный язык, свой профессиональный жаргон. Как правило, такой язык служит важной социальной задаче – быстрому распознаванию в общении «своих» и «чужих». Этот язык частично придумывается, частично заимствуется. В среде программистов давно сложился такой квази-язык, который быстро развивается, претерпевает изменения, слова которого заимствуются из профессиональной английской терминологии, образуются из сокращений и аббревиатур, заимствуются из жаргонов других социальных групп.
Чайник, юзер, макрушник, тачка, астматик, насильник, движок, блин, крыса/мышка, реаниматор, мама, тормозить, сносить, висеть, глюк, железо, леталка, стрелялка, бродилка, пентюх, писюк, сидюк, кликать, коннектить – это только небольшая часть словарного запаса рядового программиста. Как и всякое живое образование, компьютерный язык находит себе образцы, примеры и образы во всем. Говорить со всеми на таком языке вовсе не обязательно. Но владеть им, умело ввернув в разговоре пару соответствующих выражений, и понимать его – обязательно для любого, кто профессионально работает в компьютерной среде, чтобы быть «своим» среди «своих».
Особое место в среде программистов занимают хакеры. Изначально это слово было частью английского студенческого сленга, обозначая простое, но грубое решение какой-либо проблемы; чертовски хитрую проделку студентов (обычно автора и называли хакером). До того времени слова «hack» и «hacker» использовались по разным поводам безотносительно к компьютерной технике вообще. Среди компьютерщиков первоначально появилось жаргонное слово «to hack» (рубить, кромсать). Оно означало внесение изменений «на лету» в чужую программу (предполагалось, что имеются исходные тексты программы). Отглагольное существительное «hack» означало результаты такого изменения. Весьма полезным и достойным делом считалось не просто сообщить автору программы об ошибке, а сразу предложить ему такой хак, который её исправляет. Слово «хакер» изначально произошло именно отсюда.
Хакер сегодня – это человек, фактически живущий в киберпространстве, воспринимающий Интернет, компьютерные программы как среду обитания. Именно с этой точки зрения воспринимаются ими действия некоторых фирм как нарушение принципов свободы, а сами объекты киберпространства – как предметы своего быта и обустройства. Они приспосабливают эти предметы под свои нужды, пробуют их на «качество», ведут борьбу против нежелательных, с их точки зрения, объектов и программ, иногда согласуя между собой те или иные действия, вплоть до атак неугодных сайтов, взлома программ и кодов. Такова личностная установка хакера. Существует и определенным образом организованная хакерская деятельность, в виде атак на сайты, их взлома и т.д., которая, как предполагается, может быть заказной. Однако реальных подтверждений появления такого заказов с чьей-либо стороны пока в открытой печати нет. Только предположения.
Существует компьютерная преступность
, когда знания и умения в области программирования используются для незаконного обогащения – путем перекачки денежных средств с одних электронных счетов на другие, «перехвата» кредитных карточек, незаконного обналичивания и т.д. А также в террористических целях, препятствуя работе правоохранительных органов или государственных структур. Это – опасные явления, с которыми ведут борьбу государства и международные правоохранительные организации (Интерпол).
После окончания вуза возможны несколько вариантов – самые энергичные, сумевшие зарекомендовать себя еще со студенческой скамьи могут рассчитывать на многое – на приглашение в состав интересной международной команды, работающей над каким-либо проектом. Для ряда стран специальность программиста – как пропуск в свою жизнь. Например, Канада ежегодно выделяет квоты на въезд для специалистов по программированию. Есть крупные международные компании – разработчики программ; благодаря всемирной паутине их сотрудники могут жить и работать на всех континентах, даже не встречаясь друг с другом.
Кому не улыбнулось такое интернациональное счастье, есть занятие и дома: обслуживание нескольких фирм или клиентов. Как правило, такой программист устраивается на работу в какую-либо фирму, не обременяющую его дисциплиной и работой. Но теперь у него есть постоянное место – после этого обычно не составляет труда обслуживать еще несколько организаций. У него много работы – достаточно рутинной и монотонной: как правило, надо перестанавливать глючащие программы, поддерживать работу внутренних сетей и связи с Интернетом, обновлять защиту рабочих мест, вести первичный инструктаж работников по вопросам компьютерной организации фирмы, писать программы или делать их подгонку для бухгалтерии, секретариата, менять железо и перестанавливать софт. Другие работают, создавая и поддерживая сайты. Кто-то находит место, на котором занимается пополнением электронных ресурсов – сканируя книги и иллюстративный материал.
Даже работая в группе над решением какой-то большой общей задачи, программист всегда достаточно лично свободен и не связан формальными требованиями дисциплины.
Жить, не завися от других и быть самостоятельным в суждениях – не об этом ли мечтали римские стоики, говоря о счастье человека? Тем более, под рукой у каждого из компьютерщиков – программистов, системных администраторов, специалистов по работе с Интернет-пространством – целый виртуальный мир, в котором есть место для всех и каждого.
А быть владельцем целого мира – разве этого мало?
Немного философской получилась статья. Да и не так часто я пишу вообще для этого блога. К сожалению.
Сентябрь 2016 года оказался ярким для меня на события. Сжав волю в кулак, я распрощался с работой, которой посвятил 4 последних года. И просто в ужасе понял, что это дорога в никуда.
Не знаю, кризис ли это среднего возраста (мне уже 31 год исполнился в этом году) или понимание, что для семьи нужны заделы гораздо серьезнее в материальном плане, но факт остается фактом – я порвал с работой и тем, чем занимался все эти годы. И теперь могу вам, уважаемые читатели, дать некое напутствие, чтобы вы не повторяли подобных ошибок.
Итак, как я уже написал, последние годы я работал тем, кого раньше яро высмеивал даже на своем блоге. Я работал сисадмином
. Причем, должность была с «потрясающей» записью в трудовой книжке – системный инженер. И лишь спустя 4 года я только узнал, что, оказывается, это такое завуалированное название эникея в нормальных конторах. Да, именно в нормальных, потому как прошлую контору я не могу назвать таким словом.
Начало 2013 года мне надолго запомнится. У меня был выбор устроиться андроид-разработчиком, программистом 1С или же системным администратором в контору, о которой кроме матерных слов ничего хорошего сказать не могу. Победила жадность. Так как разработчиком мне везде предлагали вначале 25 тысяч (Ростов-на-Дону). Понимаю, что программист даже до года работы это всего лишь джун. Тем более, что Андроид я бросал до этого, а 1С занимался постольку, посколько. Но через год бы перспективы выросли. Скилл бы рос, а с ним и уровень зарплаты. Но я пошел по пути наименьшего сопротивления, так как мне предложили 35 тыров! На руки! Белыми! И это было началом моего профессионального краха.
Офис был мелким до безобразия. Одноранговая сеть, без AD или вообще намека на LDAP хотя бы на Samba. С древними компьютерами под не менее древней XP. Один сервер видеонаблюдения, одна файловая помойка и один настроенный через одно место шлюз на 5-м Центосе…
Когда я увидел все это «хозяйство», у меня возник резонный вопрос – а за что платить то такую сумму? Ответ я получил незамедлительно – за командировки. Именно меня брали для пусконаладочных работ в командировках. На мне висели системы видеонаблюдения, сервера и коммутационное оборудование. В 2014 году мне все это и аукнулось – почти весь год я пробыл в Сочи, начиная с Олимпиады, где работал без сна и выходных два месяца, а потом безвылазно жил в условиях, в которых не всегда гастарбайтеры будут согласны находиться, в силу жадности директора конторы.
Да, я много чего узнал. Я изучил Cisco на уровне CCNA, хотел уже подниматься до CCNP, но передумал. Я узнавал много смежных технологий типа настройки радаров (да, именно РЛС) и много чего прочего. Я узнал столько о ВОЛС и всем коммутационном оборудование, что можно было смело после этого идти в телекомы работать. И вместе с тем я тупел. От однообразия, от рутины и т.д.
Я бросил этот блог. Я бросил программирование. Я свыкся с мыслью, что я просто сисадмин. Получаю зарплату ну и ладно.
Но с каждым годом тревога все росла. Сначала на новый 2015 год мне пришла первая весточка с Суперджоба о том, что как бы нужно в 30 лет уже переквалифицироваться с сисадминов. Потом все было по нарастающей.
Я смотрел дайджесты технологий и буквально офигевал от того, что произошло за эти 4 года. Xamarin, в iOS разработка пошла на SWIFT, в вебе появились многие новые фрэймворки, Rust появился и тут же сделал вызов C++. Да и последний претерпел изменения – вышел C++ 14, который стал больше java напоминать.
Изменений была куча. И все это прошло мимо. И когда в контору устроилось еще два админа, гораздо старше меня, тогда я понял, какая это тупиковая ветвь. И уволился.
Причем, абсолютно ни капли не жалея. И вам, уважаемые читатели, просто могу на своем опыте передать то, с чем столкнулся я после увольнения.
Итак, на руках трудовая книжка с такой «отвратительной» записью, два резюме – на программиста и сисадмина. Вот вводные данные. И тут понеслось.
Ради интереса начал рассылать резюме сисадмина, пока попутно читал книги по тому, что упустил за прошедшее время. Результат был, мягко говоря, не ахти. Нет, меня много куда приглашали. Я проходил часто собеседования. Но за спиной часто слышал: «Боже, мужчине 31 год и он пришел сисадмином!». Но была еще куча мест, где резюме летело в шредер с диагнозом – «Дед. Старый сильно для этой должности». Причем, сеть гетерогенная в таких организациях. Есть и виртуальные сервера на ESXi, крутятся веб-сервера на Apache и Nginx под Debian и Centos 7, куча АТС на Asterisk, сложные леса AD, MS SQL Server 2014, Exchange, скрипты в совершенстве на bash и powershell, Cisco, Huawei, Microtik – всего не учесть. И опыт для всего этого от 3 до 6 лет. Но не старше 30 лет для соискателя. Так что кто тешит себя скиллами, часто против вас будет идти главный документ – паспорт. Так по крайней мере в Ростове обстоит дело.
С программистом был вообще цирк – часто видели, что работал сисадмином последние 4 года и тут же резюме в шредер или начинали истерить. В городе больше 100 франчей 1С, но почти у всех них как эталон нормы набора программистом было одно – пробыть стажером. И пофиг, сколько у тебя стаж – нет вообще опыта или 10 лет за плечами. И тут вставал вопрос о зарплате, которой во франчах традиционно нет. Насчет других программистов тут кроме веба и мизерной доли C# опять же для ASP.Net ничего нет. И даже C#, который я знал версии 4.0, уже применялся 6.0. Вновь учить даже его. Хотя на блоге я вел вебинары по нему (вернее, по 5.0). Но с ним проще было, однако в коллектив не проходил опять же возрасту. Сидят молодые парни до 25 лет и к ним дядя 31 летний заваливает…
Тем не менее, я вообще не сваливался в пессимизм. Искал много чего смежного и за неделю после увольнения нашел работу java разработчиком. Да, зарплата серая. Но в трудовой снова засияет запись «инженер-программист». И одно я знаю наверняка – больше никогда уже в сисадминство ни ногой. Да и возраст не позволит).
Надеюсь, что эта статья с такими стонами была кому-то интересна и полезна. Самое главное, всегда развивайтесь. Мир не стоит на месте. А IT – и подавно. Иначе рискуете остаться за бортом, как некогда я.
Часто приходится сталкиваться, что люди не понимают разницы между системным администратором и программистом и всех IT-шников называют программистами. Некоторые обижаются, а кто-то уже привык. Но я хочу попытаться разъяснить эту разницу, чтобы было понятно большинству, прочитавшим эту статью:)
Если в организации есть IT отдел (инженерно-технический), а проще говоря компьютерный, то в нем есть следующее разделение:
— основная задача контролировать работу серверов и серверного ПО, администрирование телефонных станций, политика безопасности — в общем это мозги всей компьютерной структуры организации.
Специалисты (или инженеры) технической поддержки
— это ребята, которые занимаются обычными компьютерами пользователей, настраивают их, помогают пользователям решать текущие проблемы, ловят вирусы на компьютерах пользователей и т.д. и т.п. По сути, Специалист — это будущий системный администратор, т.к. системный администратор так же может выполнять работу специалиста. Специалист может выполнять работу системного администратора, если ему разрешит руководство — к системному администратору у руководства больше доверия:)
Программисты
— это ребята, которые постоянно пишут различные тексты на непонятном для обычного пользователя языке. Эти тексты потом превращаются в полезные программы, утилиты, или просто модули (дополнительные опции) к полезным программам.
Чтобы проще было понимать приведу пример на различие системного администратора от программиста. Программист написал программу, которую в последствии назвал, ну например Windows, а системный администратор ее настроил (используя функции, которые предусмотрел в своей программе программист) для пользователя.