Профессионализм программной инженерии

редактировать

Профессионализм программной инженерии - это стремление сделать программную инженерию профессией, включая такие аспекты, как программы получения степени и сертификации, профессиональные ассоциации, профессиональная этика и государственное лицензирование. Эта область является лицензированной дисциплиной в Техасе в Соединенных Штатах (Техасский совет профессиональных инженеров, с 2013 г.), в Австралии (аккредитация на курсы с 2001 г., не лицензирование) и во многих провинциях Канады.

Содержание
  • 1 История
  • 2 Этика
    • 2.1 Примеры кодексов поведения
    • 2.2 Мнения по этике
  • 3 Профессиональные обязанности при разработке программного обеспечения
  • 4 Лицензирование
    • 4.1 Лицензирование и сертификационные экзамены
    • 4.2 Право на практику в Онтарио
    • 4.3 Право на практику в Квебеке
    • 4.4 Рекомендации по программной инженерии (SEng) канадских провинций
  • 5 См. также
  • 6 Ссылки
  • 7 Внешние ссылки
История

В 1993 году IEEE и ACM начали совместную работу под названием, которая в 1998 году превратилась в исследование превращения программной инженерии в профессию. ACM вышла из SWECC в мае 1999 года, протестуя против поддержки усилий Техаса по профессионализации, в связи с наличием государственных лицензий для инженеров-программистов. ACM определила, что уровень знаний и практики в области разработки программного обеспечения был слишком незрелым, чтобы гарантировать лицензирование, и что лицензирование дало бы ложные гарантии компетентности, даже если бы совокупность знаний была зрелой. IEEE продолжал поддерживать превращение программной инженерии в отрасль традиционной инженерии.

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

В 1999 году была сформирована группа разработчиков программного обеспечения. урегулирования между Engineering Canada и Мемориальным университетом Ньюфаундленда по поводу использования школой термина «программная инженерия» в названии программы по информатике. Были высказаны опасения по поводу неуместного использования названия «программная инженерия» для описания неинженерных программ, что может привести к путанице среди студентов и общественности и, в конечном итоге, поставить под угрозу общественную безопасность. Комиссия выпустила рекомендации по созданию Совета по аккредитации программной инженерии, но целевая группа, созданная для выполнения рекомендаций, не смогла убедить различные заинтересованные стороны согласиться с конкретными предложениями, что привело к созданию отдельных комиссий по аккредитации.

Этика

Программная инженерия этика - обширная область. В некотором смысле это началось как нереалистичная попытка определить ошибки как неэтичные. Совсем недавно это было определено как применение философии, принципов и практики как компьютерных наук, так и инженерии к проектированию и разработке программных систем. Из-за такой инженерной направленности и более широкого использования программного обеспечения в критически важных системах и системах, критически важных для человека, где отказ может привести к большим потерям капитала, но, что более важно, жизням, таким как система Therac-25, многие этические кодексы имеют был разработан рядом обществ, ассоциаций и организаций. Эти организации, такие как ACM, IEEE, APEGBC и Институт сертификации специалистов по вычислительной технике (ICCP), имеют формальные этические кодексы. Соблюдение этического кодекса необходимо как условие членства или сертификации. Согласно ICCP, нарушение кода может привести к аннулированию сертификата. Кроме того, все инженерные общества требуют соблюдения своих этических кодексов; нарушение кодекса влечет за собой отзыв лицензии на занятие инженерной деятельностью в юрисдикции общества.

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

Этический кодекс программной инженерии был одобрен ACM и IEEE-CS как стандарт для обучения и практики программной инженерии.

Примеры кодексов поведения

Ниже приведены примеры кодексов поведения профессиональных инженеров. Эти 2 были выбраны, потому что в обеих юрисдикциях есть статус профессиональных инженеров-программистов.

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

Мнения по этике

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

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

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

Американское Национальное общество профессиональных инженеров предлагает типовой закон и лоббирует законодательные органы для принятия правил лицензирования профессий. Типовой закон требует:

  1. четырехлетней степени по университетской программе, аккредитованной Комитетом по технической аккредитации (EAC) Совета по аккредитации в области инженерии и технологий (ABET),
  2. восьмичасового экзамена по основы инженерии (FE), обычно изучаемые на старшем курсе колледжа,
  3. четыре года приемлемого опыта,
  4. второй экзамен по принципам и практике и
  5. письменный рекомендации других профессиональных инженеров.

В некоторых штатах требуется непрерывное образование.

В Техасе штат Техас стал первым профессиональным инженером-программистом в США 4 сентября 1998 г. или 9 октября 1998 г. По состоянию на май 2002 г. Техас выдал 44 профессиональных инженерных лицензии для инженеров-программистов. В 2001 году Рочестерский технологический институт присвоил первые степени бакалавра программной инженерии. За ним последовали и другие университеты.

Профессиональное лицензирование подвергается критике по многим причинам.

  • Область разработки программного обеспечения слишком незрелая
  • Лицензирование дало бы ложные гарантии компетентности, даже если бы совокупность знаний была зрелой
  • Инженеры-программисты должны будут годами изучать математику, физику и химию, чтобы сдать экзамены, что не имеет значения для большинства практиков программного обеспечения. Многие (большинство?) Специалистов по информатике не получают дипломов в инженерных школах, поэтому они, вероятно, не имеют квалификации для сдачи инженерных экзаменов.
  • В Канаде большинство людей получившие профессиональные лицензии на разработку программного обеспечения, изучают программную инженерию, компьютерную инженерию или электротехнику. Часто эти люди уже имеют квалификацию, чтобы стать профессиональными инженерами в своих областях, но предпочитают получать лицензию в качестве инженеров-программистов, чтобы отличаться от компьютерных ученых.
  • В Британской Колумбии предоставляется Ограниченная лицензия. Ассоциацией профессиональных инженеров и геологов Британской Колумбии. Сборы за Ограниченную лицензию взимаются APEGBC.

Лицензионные и сертификационные экзамены

С 2002 года компьютерное сообщество IEEE предлагало сертификационный экзамен Certified Software Development Professional (CSDP) (в 2015 году это был заменен несколькими аналогичными сертификатами). Группа экспертов из промышленности и научных кругов разработала экзамен и провела его. Дональд Багерт, а позже Стивен Токи возглавили аттестационную комиссию. В основе содержания экзамена лежит руководство SWEBOK (Свод знаний программной инженерии ) с дополнительным упором на профессиональные практики и области знаний в области экономики программной инженерии. Мотивацией было создание структуры на международном уровне для областей знаний программной инженерии.

Право заниматься практикой в ​​Онтарио

Человеку необходимо предоставить лицензию «профессионального инженера», чтобы иметь право на практиковать профессиональную разработку программного обеспечения в качестве профессионального инженера в Онтарио. Чтобы получить лицензию профессиональных инженеров Онтарио (PEO), вы должны:

  1. быть не моложе 18 лет.
  2. быть гражданином или постоянным жителем Канады.
  3. иметь хороший характер. Вам будет предложено ответить на вопросы и сделать письменное заявление в анкете для проверки вашей этики.
  4. Выполните академические требования PEO для получения лицензии.
  5. Сдать экзамен по профессиональной практике.
  6. Выполнение требований к опыту инженерной работы.

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

Право на практику в Квебеке

Человеку необходимо предоставить лицензию «инженера», чтобы иметь право заниматься профессиональной разработкой программного обеспечения в Квебеке. Чтобы получить лицензию Квебекского ордена инженеров (по-французски: Ordre des ingénieurs du Québec - OIQ), вы должны:

  1. быть не моложе 18 лет.
  2. иметь возраст. хороший персонаж. Вам будет предложено ответить на вопросы и сделать письменное заявление в анкете, чтобы проверить свою этику.
  3. Отвечайте академическим требованиям OIQ для получения лицензии. В этом случае академическая программа должна быть аккредитована Канадским советом по инженерной аккредитации - CEAB)
  4. Сдать экзамен по профессиональной практике.
  5. Выполнить требования к опыту инженерной работы.
  6. Сдать практическое знание французского экзамена

Руководство по программной инженерии (SEng) канадских провинций

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

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-08 08:27:15
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте