Презентация "основы профессиональной этики". Кодекс этики в сфере информационных технологий Не превращайте ваш код непонятно во что
Форум
(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. Доработка посекторных загрузчиков. Мини-драйвер дисковых операций. |
Развитие средств вычислительной техники, коммуникаций и программных систем (Internet, телекоммуникации, распределенные системы, IP телефония, компьютерные игры и обучающие программы) оказывает все большее воздействие на общество. Роль специалистов по программному обеспечению при этом все время возрастает. Они работают в определенном правовом и социальном окружении, находятся под действием, международных, национальных и местных законодательств. Ясно, что программисты, как и специалисты других профессий, должны быть честными и порядочными людьми. Но вместе с тем, программисты не могут руководствоваться только моральными нормами или юридическими ограничениями, т.к. они обычно бывают связаны более тонкими профессиональными обязательствами: · Конфиденциальность – программные специалисты должны уважать конфиденциальность в отношении своих работодателей или заказчиков независимо от того, подписывалось ли ими соответствующее соглашение. · Компетентность – программный специалист не должен завышать свой истинный уровень компетентности и не должен сознательно браться за работу, которая этому уровню не соответствует. · Защита интеллектуальной собственности – специалист должен соблюдать законодательство и принципы защиты интеллектуальной собственности при использовании чужой интеллектуальной собственности. Кроме того, он должен защищать интеллектуальную собственность работодателя и клиента. Внимание: создаваемая им интеллектуальная собственность является собственностью работодателя или клиента. · Злоупотребление компьютером – программный специалист не должны злоупотреблять компьютерными ресурсами работодателя или заказчика; под. злоупотреблениями мы здесь понимаем широкий спектр - от игр в компьютерные игрушки на рабочем месте до распространения вирусов и т.п. Компьютерная этика еще не сложилась как нормативная дисциплина и как комплекс правил поведения человека, которые заложены в нем самом и подкрепляются социально. Компьютерная этика – это поле исследований, расположенное на грани между новыми технологиями и нормативной этикой и зависящее от них . Однако в последние десятилетия наблюдаются интенсивные попытки ее создания. В 80-е годы ХХ века американскими этиками был введен термин «компьютерный профессионал», обозначающий человека, зарабатывающего на жизнь работой с компьютерами. Здесь имелись в виду не только программисты, системные аналитики, системотехники, продавцы компьютерного оборудования, но и пользователи программных и аппаратных средств. В США попробовали регулировать взаимоотношения между компьютерными профессионалами и обществом посредством «Кодекса профессионального поведения», выработанного Ассоциацией вычислительной техники (Association for Computing Machinery – ACM), По сути, компьютерные профессионалы входят не только в специфические отношения друг с другом, но и получают власть над отдельными людьми, социальными институтами и даже над окружающей средой, поэтому особую актуальность приобретает разработка кодексов профессионального поведения в этой области. В настоящее время существует несколько кодексов профессиональной этики в сфере информационных технологий. Возможно, наиболее известны те, которые были разработаны ассоциацией ACM и институтом инженеров электротехники и электроники IEEE, их совместный кодекс этики и профессиональной практики разработчиков программного обеспечения . В России в 1996 году был принят Национальный кодекс деятельности в области информатики и телекоммуникаций. Этический кодекс ACM/IEEE. Кодекс содержит восемь Принципов, связанных с поведением и решениями, принимаемыми профессиональными программистами, включая практиков, преподавателей, менеджеров и руководителей высшего звена. Кодекс распространяется также на студентов и «подмастерьев», изучающих данную профессию. Преамбула. Краткая версия кодекса суммирует стремления кодекса на высоком уровне абстракции; параграфы, включенные в полную версию дают примеры, показывающие как эти стремления отражаются на деятельности профессиональных программистов. Без этих высших принципов детали кодекса станут казуистическими и нудными. Без деталей стремления останутся возвышенными, но пустыми и декларативными. Вместе же они образуют целостный кодекс. Профессиональные программисты будут добиваться, чтобы анализ, спецификация, проектирование, разработка, тестирование и сопровождение программного обеспечения стали полезной и уважаемой профессией. В соответствии с их приверженностью к процветанию, безопасности и благополучию общества, программные инженеры будут руководствоваться следующими восемью Принципами: 1. ОБЩЕСТВО Программные инженеры будут действовать соответственно общественным интересам. 2. КЛИЕНТ И РАБОТОДАТЕЛЬ Программные инженеры будут действовать в интересах клиентов и работодателя, соответственно общественным интересам. 3. ПРОДУКТ Программные инженеры будут добиваться, чтобы произведенные ими продукты и их модификации соответствовал высочайшим профессиональным стандартам. 4. СУЖДЕНИЕ Программные инженеры будут добиваться честности и независимости в своих профессиональных суждениях. 5. МЕНЕДЖМЕНТ Менеджеры и лидеры программных инженеров будут руководствоваться этическим подходом к руководству разработкой и сопровождением ПО, а также будут продвигать и развивать этот подход. 6. ПРОФЕССИЯ Программные инженеры будут улучшать целостность и репутацию своей профессии соответственно с интересами общества. 7. КОЛЛЕГИ Программные инженеры будут честными по отношению к своим коллегам и будут всячески их поддерживать. 8. ЛИЧНОСТЬ Программные инженеры в течение всей своей жизни будут учиться практике своей профессии и будут продвигать этический подход к практике своей профессии. Многие кодексы не отражают специфики профессии, они содержат слишком общие каноны, которые охватывают обязательства любого профессионала: честность, компетентность, ответственность, повышение квалификации и т.п. Кодекс профессионального поведения может применяться как механизм социализации. Если существует кодекс профессионального поведения, то есть некоторая гарантия, что все представители этой профессии будут, по крайней мере, знать о стандартах, закрепленных в кодексе. Наиболее важная функция кодекса этики – сформулировать коллективную мудрость лиц данной профессии. В кодексе этики должно быть собрано то, что лица данной профессии с многолетним опытом работы сочли наиболее важными вещами, о которых необходимо думать и которые следует делать, когда работаешь в данной области. Кодекс является выражением опыта и согласия большинства лиц данной профессии. Профессиональная этика в IT дело довольно тонкое. Мы не даём клятв, подчас можем получить доступ к любой информации из компьютеров и гаджетов, которые попали к нам в руки, а проследить за утечкой каких-либо персональных данных у обычного человека-клиента почти нет никаких шансов.Доброе утро! Сегодня я, Евгений levashove из Калининграда дежурю у Олега! Хочу поговорить с вами о этике в IT. Есть законы РФ, защищающие пользователей, но чаще всего вывести на чистую воду недобросовестного IT-специалиста может только его коллега по профессии. Да и то не всегда. Конечно, крупные аутсорсинг-компании и сервисы имеют строгие правила и инструкции и отвечают за своих сотрудников, но и в таких случаях есть возможность утечки. Информация в наши руки попадает разная. Начиная с ооочень приватных фотографий и заканчивая доступом к личным счетам клиентов. Да и просто какая-то информация, финансовые документы, переписки, фотографии с пьянок и корпоративов и тому подобный компромат часто оказывается перед нашими глазами. Что мешает скопировать для какой-либо цели? Чаще всего, конечно, это собственный моральный кодекс. Среднестатистический айтишник образован, воспитан и имеет строгие жизненные принципы. Естественно, они чаще всего не распространяются на использование пиратского софта в личных целях (жизнь у нас такая), но почти никто и никогда даже не подумает о том, чтобы скачать и распространить какую-то вашу личную информацию или воспользоваться вашим счётом в личных целях. Подонки, конечно, случаются, но это исключения из правил. Потом репутация и страх потерять работу. Любой IT-специалист от программиста до системного администратора понимает, что репутация в его работе очень важна. Подчас человек может даже запороть какую-то работу, но если он всё сделает честно и по максимуму исправит косяки, то его пригласят снова. А вот если один раз куда-то уплывёт информация или попытаешься содрать лишние деньги, то, будь ты даже специалист экстра-класса, репутации и, следовательно, заказов можно лишиться надолго. Все эти размышления родились из диалога с коллегой из Москвы, который рассказал о неприятной ситуации, в которой оказалось организация, куда он пришёл работать. Оказывается предыдущий специалист тихо скопировал личную и рабочую информацию с серверов и компов и куда-то продал. Ну а что, базы данных пользователей часто нужны конкурентам. Естественно завели дело, ищут мудака, но это уже другая история. Плюс, коллега нашёл несколько скрытых доступов в сеть и закладки в 1С. В общем, крайне неприятная история. Если открыть популярный сайт историй от айтишников "IT happens" , то можно легко обнаружить с десяток подобных случаев в разных вариациях. По итогам обсуждения появилась этика IT-специалиста:
Но хочу сразу сказать, что есть другая сторона работы IT-специалиста, которая часто идёт в разрез этике. Это защита себя от заказчика. Сколько ходит историй о том, что работа выполнена, а деньги не выплачены. Большие организации могут себе позволить юристов, суды, но для маленьких фирм с двумя-тремя программистами или системными администраторами подобные траты могут оказаться совершенно убийственными. Поэтому очень часто оставляются так называемые "закладки", которые по какому-либо сигналу или спустя какое-то время отключают систему. Я не могу осуждать и винить коллег, которые используют подобные методы. Если работа системы, в которую встроена "закладка", не может каким-либо образом нанести вред человеку (ПО в медицине, на заводах, на ТЭС, АЭС и т.п.), то может быть такие методы и оправданы. Это совершенно неэтично, подчас незаконно, но... иначе получить свои деньги не получается. С какими случаями нечестной работы айтишника (программиста, системного администратора, эникейщика) вы сталкивались? Как боролись? Сложно ли было найти в вашем городе специалиста, который честно и за вменяемые деньги занимался вашим компьютером? Поделитесь. Спасибо за внимание и, коллеги, будьте честными в работе. В этой статье хочется рассказать об этике Часть1: Сага о комментариях. Ну что ж, если вы когда-нибудь видели Во-первых, для самого себя. То есть для Во-вторых, для последователей. Если Вот вам две немаловажные причины, по Если пересмотр кода - это хорошо, значит, мы Из данных строк видно, что комментарии Часть2: Сага о коде. Если вам приходилось писать программы, вы Код: Код: Если не верите, можете проверить сами. Та же Пр: Пр Если честно, я с трудом набрал Пр: привычка Часть3: Сага о переменных. Что можно сказать о переменных? На самом 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: ЛИЧНАЯ ОТВЕТСТВЕННОСТЬ Программные инженеры должны постоянно учиться навыкам своей профессии и способствовать продвижению этического подхода к своей деятельности. В частности, программные инженеры должны непрерывно стремиться к следующему:
Поиск
Мы можем оповещать вас о новых статьях,
чтобы вы всегда были в курсе самого интересного. |