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

кодекс этики в сфере информационных технологий

Конференция по философии. ДонНТУ, 2007

Ст.гр. ТКС-06м Хайло Андрей, руководитель Додонов Роман Александрович

В докладе анализируются существующие кодексы этики специалистов в сфере информационных технологий.

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

В 80-е годы ХХ века американскими этиками был введен термин «компьютерный профессионал», обозначающий человека, зарабатывающего на жизнь работой с компьютерами. Здесь имелись в виду не только программисты, системные аналитики, системотехники, продавцы компьютерного оборудования, но и пользователи программных и аппаратных средств. В США попробовали регулировать взаимоотношения между компьютерными профессионалами и обществом посредством «Кодекса профессионального поведения», выработанного Ассоциацией вычислительной техники (Association for Computing Machinery – ACM),

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

В настоящее время существует несколько кодексов профессиональной этики в сфере информационных технологий. Возможно, наиболее известны те, которые были разработаны ассоциацией ACM и институтом инженеров электротехники и электроники IEEE, их совместный кодекс этики и профессиональной практики разработчиков программного обеспечения . В России в 1996 году был принят Национальный кодекс деятельности в области информатики и телекоммуникаций.

Этический кодекс ACM / IEEE .

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

Кодекс распространяется также на студентов и «подмастерьев», изучающих данную профессию.

Преамбула.

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

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

1. ОБЩЕСТВО

Программные инженеры будут действовать соответственно общественным интересам.

2. КЛИЕНТ И РАБОТОДАТЕЛЬ

Программные инженеры будут действовать в интересах клиентов и работодателя, соответственно общественным интересам.

3. ПРОДУКТ

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

4. СУЖДЕНИЕ

Программные инженеры будут добиваться честности и независимости в своих профессиональных суждениях.

5. МЕНЕДЖМЕНТ

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

6. ПРОФЕССИЯ

Программные инженеры будут улучшать целостность и репутацию своей профессии соответственно с интересами общества.

7. КОЛЛЕГИ

Программные инженеры будут честными по отношению к своим коллегам и будут всячески их поддерживать.

8. ЛИЧНОСТЬ

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

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

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

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

Список литературы.

1. Галинская И.Л., Панченко А.И. Этико-правовое пространство информационно-компьютерных технологий (Обзор). Теория и практика общественно-научной информации. Вып. 17, М: РАН ИНИОН, 2001.

2 . Software Engineering Code of Ethics and Professional Practice.

3. А.А.МАЛЮК, О.Ю. Полянская, XIV Всероссийская научная конференция, «Кодекс этики в сфере информационных технологий как основа обеспечения информационной безопасности».

Software Engineering Code of Ethics and Professional Practice

ACM/IEEE-CS Joint Task Force on Software Engineering Ethics and Professional Practices

Краткая версия

Введение

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

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

  • ОБЩЕСТВО – Программные инженеры должны действовать неукоснительно в интересах общества.
  • КЛИЕНТ И РАБОТОДАТЕЛЬ – Программные инженеры должны действовать согласно интересам клиента и работодателя, если они не противоречат интересам общества.
  • ПРОДУКТ – Программные инженеры должны обеспечивать соответствие качества своих продуктов и их модификаций наивысшим возможным профессиональным стандартам.
  • ОЦЕНКИ – Программные инженеры должны поддерживать целостность и независимость своих профессиональных оценок.
  • МЕНЕДЖМЕНТ – Программные инженеры-менеджеры и ведущие сотрудники должны придерживаться этических подходов к управлению разработкой и поддержкой программного обеспечения и продвигать эти подходы.
  • ПРОФЕССИЯ – Программные инженеры должны поднимать престиж и репутацию своей профессии в интересах общества.
  • КОЛЛЕГИ – Программные инженеры должны быть справедливы по отношению к своим коллегам, помогать им и поддерживать.
  • ЛИЧНАЯ ОТВЕТСТВЕННОСТЬ – Программные инженеры должны непрерывно учиться навыкам своей профессии и способствовать продвижению этического подхода к своей деятельности.

Полная версия

Введение

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

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

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

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

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

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

Принципы

Принцип 1: ОБЩЕСТВО.

ОБЩЕСТВО – Программные инженеры должны действовать неукоснительно в интересах общества. В частности, программные инженеры должны:

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

Принцип 2: КЛИЕНТ И РАБОТОДАТЕЛЬ

Программные инженеры должны действовать согласно интересам клиента и работодателя, если они не противоречат интересам общества. В частности, программные инженеры должны:

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

Принцип 3: ПРОДУКТ

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

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

Принцип 4: ОЦЕНКИ

Программные инженеры должны поддерживать целостность и независимость своих профессиональных оценок. В частности, программные инженеры должны:

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

Принцип 5: МЕНЕДЖМЕНТ

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

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

Принцип 6: ПРОФЕССИЯ

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

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

Принцип 7: КОЛЛЕГИ

Программные инженеры должны быть справедливы по отношению к своим коллегам, помогать им и поддерживать. В частности, программные инженеры должны:

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

Принцип 8: ЛИЧНАЯ ОТВЕТСТВЕННОСТЬ

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

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

Форум

(c) Гура Андрей (EAGLE SOFT), г.Курган. В одной из статей РЕВЮ я про- читал предложение редакции, в которой было предложено создать своеобразный кодекс для демомей- керов. Я считаю, что нужен ко- декс программиста вообще и ду- маю, что мой кодекс будет приме- ром всем программистам и принят за основу. ПЕРЕКЛЮЧЕНИЕ СТРАНИЦ ОЗУ ════════════════════════ Переключать странички лучше по порту #7FFD, а не по половин- ке #FD. Таким образом можно из- бежать множества проблем совмес- тимости программ с другими ком- пьютерами. Возьмем всем извес- тный пример с INSULT MEGADEMO. Эта программа идет на PROFI, PENTANGON 128, но не хочет рабо- тать на SCORPION"е, чем и вызва- но недовольствие многих SPECCY- USER"ов (я думаю, владельцы SCORPION"ов меня поймут). ПОРТ #7FFD ┌─┬─┬─┬─┬─┬─┬─┬─┐ │ │ │ │Z│Y│X│X│X│ └─┴─┴─┴─┴─┴─┴─┴─┘ X -номер страницы ОЗУ, от 0 до 7, подключаемой с адреса #C000; Y -переключение экрана, Y=0 - #4000, Y=1 - #C000 (страница); Z-переключение ПЗУ, Z=0 - ZX128, Z=1 - ZX48; Обращаться к порту для перек- лючения страниц проще следующим образом: 140. LD BC,#7FFD LD A,N+16 ;N-номер страницы OUT (C),A 2 На время изменения содержимого порта прерывания необходимо зап- рещать. УПРАВЛЕНИЕ ══════════ KEMPSTON нужно опрашивать по порту #1F, а не по #DF, как это сделано на ZX-NEXT. А вот по порту #DF (для тех, кто не зна- ет) опрашивается FULER джойстик. ПОРТ #1F ┌─┬─┬─┬─┬─┬─┬─┬─┐ │ │ │ │F│U│D│L│R│ └─┴─┴─┴─┴─┴─┴─┴─┘ F-FIRE-огонь; U-UP-вверх; D-DOWN-вниз; L-LEFT-влево; R-RIGHT-вправо. Обращение к порту происходит по мнемонике IN. SINCLAIR 1 или INTERFACE 1 здесь присущи следующие клавиши: 1-LEFT; 2-RIGHT; 3-DOWN; 4-UP; 5-FIRE. SINCLAIR 2 или INTERFACE 2: 6-LEFT; 7-RIGHT; 8-DOWN; 9-UP; 0-FIRE. CURSOR:5+CS-LEFT; 6+CS-DOWN; 7+CS-UP; 8+CS-RIGHT, причем CS здесь не обязателен, и его от- сутствие даже удобно, но не во всех случаях. KEYBOARD: здесь лучше придер- живаться следуюшего стандарта: O-LEFT; P-RIGHT; Q-UP; A-DOWN; M-FIRE. Опрос происходит по пор- ту #FE. ПОРТ #FE ┌─┬─┬─┬─┬─┬─┬─┬─┐ │ │Y│ │X│X│X│X│X│ └─┴─┴─┴─┴─┴─┴─┴─┘ Опрос производится следующим образом: 142. LD A,N ;N-номер полуряда IN A,(#FE) 2 ПОЛУРЯДЫ ┌──────┬───────┐ 3 │ 1...5│ 6...0 │ 4 2 │ Q...T│ Y...P │ 5 1 │ A...G│H...ENT│ 6 0 │CS...V│B...SPC│ 7 └──────┴───────┘ 0 - #FE 1 - #FD 2 - #FB 3 - #F7 4 - #EF 5 - #DF 6 - #BF 7 - #7F Адрес порта полуряда можно вы- числить по формуле 255-2№, где n - номер полуряда. При загрузке с диска катего- рически запрещено обращаться к нестандартным точкам входа TR- DOS и пользоваться методом прог- раммирования ВГ, т.к. все это ведет к неработоспособности про- грамм при загрузке с HDD, хоть это и выглядит очень эффектно. Опять возьмем для примера INSULT MEGADEMO: я с увереностью гово- рю, что эта программа не загру- зится с винчестера. Также нельзя привязывать заг- рузчики программ к определенной версии TR-DOS - это тоже ведет к несовместимости и недовольству. Так и хочется взять компьютер со старой версией TR-DOS и выбро- сить его в форточку. Возможно, так и сделали любители гонок, когда попытались загрузить LOTUS версии Лаптева, т.к. у них вер- сия 5.03, а игра идет только на 5.04. При загрузке нежелательно что-либо отгружать на диск (тем более не предупредив владельца ПК). СИНХРОНИЗАЦИЯ И ПРЕРЫВАНИЯ ══════════════════════════ Во всех программах при ис- пользовании режима прерываний IM2 нужно создавать таблицу ад- ресов, состоящую из 257 одинако- вых байтов (откуда берутся эти байты, я думаю, вы знаете). За- чем?,- спросите вы, "Ведь это напрасная трата памяти!". Ан нет!, - скажу я. Считается, что с шины данных приходит #FF, но все западные программисты поль- зуются таблицей. Нежелательно засылать в вектор прерываний числа, которые спо- собствуют обращению за адресом к ПЗУ, а именно числа 0-63, хотя экран и область системных пере- менных трогать тоже не стоит. Все эффекты на экране лучше синхронизировать относительно экрана. Для примера снова возь- мем INSULT. В первой части скроллинг при включенном TURBO- режиме дергается. Во второй час- ти все происходит настолько быс- тро, что не успеваешь прочитать бегущую строчку, да и музыка иг- рает быстрее. "ПОРТ АТРИБУТОВ" ════════════════ Никогда не используйте в своих программах порт атрибутов #FF, так как это мнимый порт. Для примера возьмем игру TOP GUN. ДРУГИЕ МЕЛОЧИ ═════════════ В играх обязательно нужно де- лать паузу по нажатии определен- ной клавиши и отгрузку ситуации в любое время игры, причем каж- дая ситуация должна иметь свое определенное имя. У кого есть дополнения к мое- му кодексу, пишите в редакцию ZX РЕВЮ. ********************************

Другие статьи номера:


TR-DOS для начинающих - Часть 1.

Авторская разработка - General Sound - мультимедиа для ZX Spectrum!

Визитная карточка - Представляем новый электронный журнал "Major Wares" (c) Codebusters & V.M.G.

Компьютерная новелла - Knight Lore "Преданья рыцарских времен".

Новые программы - И.Рощин. HELP_Z80. В.Давыдов. Catalog"s Base v1.8.

Описание оболочки журнала "ZX-РЕВЮ"

Перекресток драконов - Aavlon, Castle of Dreams, Erik the Viking.

Перекресток драконов - Eureka!, Eye of Bain, Kentilla.

Перекресток - Sherlock, Apollo, Shadows of Mordor, Rigels Revenge, Temple of Terror, ID, That"s the Spirit, Return to Ithaka.

Ретро - Дж.Хардман, Э.Хьюзон. 40 лучших процедур.

Форум-игры - Insult Megademo, Catch 23, Livingstone, Rock Star ate my Hampster, НЛО-2: Дьяволы Бездны, Terminator 2, Venturama, The Spririts, Nipper, Sweewo"S World, King"s Bounti-2, Hacker 2, Black Magic, Satcom, Звёздное Наследие.

Форум - А.Гура. Кодекс программиста.

Форум - А.Стрельников. Перспективы развития ZX Spectrum.

Форум - В.Давыдов. По материалам, опубликованным в ZX-РЕВЮ: Некоторые вопросы, связанные с автостартом Бейсик-программ. Redefine Keys. Процедура печати 42 символов в строке. Процедура умножения HL=B*C. Доработка посекторных загрузчиков. Мини-драйвер дисковых операций.

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

Доброе утро! Сегодня я, Евгений levashove из Калининграда дежурю у Олега! Хочу поговорить с вами о этике в IT.

Есть законы РФ, защищающие пользователей, но чаще всего вывести на чистую воду недобросовестного IT-специалиста может только его коллега по профессии. Да и то не всегда. Конечно, крупные аутсорсинг-компании и сервисы имеют строгие правила и инструкции и отвечают за своих сотрудников, но и в таких случаях есть возможность утечки.

Информация в наши руки попадает разная. Начиная с ооочень приватных фотографий и заканчивая доступом к личным счетам клиентов. Да и просто какая-то информация, финансовые документы, переписки, фотографии с пьянок и корпоративов и тому подобный компромат часто оказывается перед нашими глазами. Что мешает скопировать для какой-либо цели?

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

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

Все эти размышления родились из диалога с коллегой из Москвы, который рассказал о неприятной ситуации, в которой оказалось организация, куда он пришёл работать. Оказывается предыдущий специалист тихо скопировал личную и рабочую информацию с серверов и компов и куда-то продал. Ну а что, базы данных пользователей часто нужны конкурентам. Естественно завели дело, ищут мудака, но это уже другая история. Плюс, коллега нашёл несколько скрытых доступов в сеть и закладки в 1С. В общем, крайне неприятная история. Если открыть популярный сайт историй от айтишников "IT happens" , то можно легко обнаружить с десяток подобных случаев в разных вариациях.

По итогам обсуждения появилась этика IT-специалиста:


  • Никогда и ни при каких обстоятельствах не выкладывать в сеть личные данные и фотографии клиентов.

  • Никогда не сохранять на личных жёстких дисках информацию клиента (работодателя). Если, конечно, сам клиент не просит этого сделать.

  • Удалять все записи с никами/паролями после сдачи проекта или предупреждать клиента (работодателя) , что оставишь у себя копию для дальнейшей доработки. Удалять всё после завершения работы.

  • Удалять с компьютера клиента (работодателя) все программы для удалённого доступа после завершения работы. Или предупреждать, что программа установлена и объяснять, как пользоваться.

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

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

Пожалуй, для начала этих простых правил хватит, чтобы прослыть порядочным специалистом. Ну а потом уже каждый сам для себя может дописать нужные пункты собственной "этики айтишника".

Но хочу сразу сказать, что есть другая сторона работы IT-специалиста, которая часто идёт в разрез этике. Это защита себя от заказчика. Сколько ходит историй о том, что работа выполнена, а деньги не выплачены. Большие организации могут себе позволить юристов, суды, но для маленьких фирм с двумя-тремя программистами или системными администраторами подобные траты могут оказаться совершенно убийственными. Поэтому очень часто оставляются так называемые "закладки", которые по какому-либо сигналу или спустя какое-то время отключают систему. Я не могу осуждать и винить коллег, которые используют подобные методы. Если работа системы, в которую встроена "закладка", не может каким-либо образом нанести вред человеку (ПО в медицине, на заводах, на ТЭС, АЭС и т.п.), то может быть такие методы и оправданы. Это совершенно неэтично, подчас незаконно, но... иначе получить свои деньги не получается.

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

Спасибо за внимание и, коллеги, будьте честными в работе.

Описание презентации по отдельным слайдам:

1 слайд

Описание слайда:

2 слайд

Описание слайда:

История возникновения профессиональной этики С древних времен философы и ученые отмечали взаимосвязь профессии и морали. Первые профессионально-этические кодексы – «Клятва Гиппократа», нравственные установления жрецов.

3 слайд

Описание слайда:

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

4 слайд

Описание слайда:

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

5 слайд

Описание слайда:

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

6 слайд

Описание слайда:

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

7 слайд

Описание слайда:

Виды профессиональной этики Врачебная этика. Педагогическая этика. Этика ученого. Этика актера. Этика художника. Этика психолога. И т.д.

8 слайд

Описание слайда:

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

9 слайд

Описание слайда:

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

10 слайд

Описание слайда:

Качество продукта Программист должен гарантировать соответствие программного продукта требованиям профессиональных стандартов. Программист обязан: бороться за наивысшее качество, приемлемую стоимость и разумные сроки реализации проектов; гарантировать свою профессиональную состоятельность в рамках проектов, над которыми работает программист; гарантировать, что методы, применяемые программистом, приемлемы для реализации текущих или предлагаемых проектов; работать в соответствии с профессиональными стандартами; полностью осознавать и понимать все требования, предъявляемые к программному продукту, над которым работает программист; гарантировать, что все функциональные возможности программного продукта, над которым работает программист, хорошо документированы, соответствуют требованиям пользователей и одобрены заинтересованными лицами; гарантировать объективную оценку стоимости, необходимых технических и временных ресурсов, качества и соответствия результатов, поставленным целям, для каждого проекта, над которым работает программист; гарантировать качественное тестирование и отладку программного обеспечения, достоверное описание результатов тестирования; гарантировать наличие правильной и объективной документации на разрабатываемое программное обеспечение. Документация должна включать описание обнаруженных недочетов в реализации и методов их устранения; в процессе работы над проектом не допускать утечки личной информации клиентов; использовать в работе только точные данные, полученные легальным и честным путем; обеспечивать актуальность и корректность используемых данных; использовать современные методы сопровождения программного обеспечения. Экспертные оценки Экспертные оценки программиста должны быть объективны и непредвзяты. Программист обязан: утверждать только те документы, которые подготовлены лично или под непосредственным руководством, находятся в пределах компетенции программиста и с содержанием которых он полностью согласен.

11 слайд

Описание слайда:

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

12 слайд

Описание слайда:

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

13 слайд

Описание слайда:

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

14 слайд

Описание слайда:

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

15 слайд

Описание слайда: