- 軟件工程理論與實踐(第2版)
- 呂云翔等編著
- 2374字
- 2023-06-28 15:52:04
1.6 軟件工程人員的職業道德
作為一名專業的軟件開發人員,必須認識到在有限的工作中包括更多的額外責任,而不僅僅是應用技術。必須保持一貫標準,不要利用技術和能力來制造一些損害軟件工程行業聲譽的事情。
軟件開發人員應該注意的道德和標準如下。
1)保密:軟件開發人員必須遵守客戶的保密原則,也必須遵守同事的保密原則。
2)能力:軟件開發人員不應虛報自己的能力水平,必須明白自己能做什么,不能做什么。
3)知識產權:和其他職業一樣,軟件開發人員必須了解知識產權,如專利和版權。
4)計算機濫用:軟件開發人員不應該運用技術來濫用他人和設備的隱私。
1.ACM/IEEE道德準則
一些組織,如IEEE(電氣和電子工程師協會)、ACM和英國計算機協會發布了軟件工程人員的道德和標準。這些組織的所有成員在注冊會員時必須遵守這些準則。該行為準則一般涉及基本的道德行為。
軟件工程職業道德準則的重點是提供高質量的軟件。這些職業道德準則致力于分析、描述、設計、開發、測試和維護對公司或客戶有利和有效的軟件。
因此,ACM和IEEE合作制定了一個聯合的道德規范和職業規范。ACM/IEEE道德準則包含以下8項。
1)公眾:軟件開發人員的行為應與公眾的利益一致。
2)客戶和雇主:軟件開發人員的行為應符合客戶和雇主的最大利益,并與公共利益一致。
3)產品:軟件開發人員應確保產品和相關的改進應盡可能達到最高的專業標準。
4)判斷力:軟件開發人員應保持其專業判斷力的誠實性和獨立性。
5)管理:軟件工程經理和領導應認同并推廣軟件開發和維護管理的道德方法。
6)職業:軟件開發人員應在符合公眾利益的情況下,提高職業的誠信和聲譽。
7)同事:軟件開發人員應公平對待并支持其他同事。
8)自我:軟件開發人員應參與有關其職業規范的終身學習,并應推廣職業規范的道德方法。
2.職業倫理
當想到軟件開發時,倫理并不是人們首先想到的(見圖1-5)。畢竟,在開發軟件時,作為開發人員,應該處理諸如功能和項目規范之類的技術問題。但是人們通常沒有意識到的是,軟件和技術在個人層面上影響著人們的生活,并且有能力使它們變得更好或更糟。

圖1-5 軟件工程中的倫理問題
現在人們做的每件事都涉及某種軟件。例如,開車、買食物、交流、通勤、看電視、在線購物……這些活動涉及的技術在驅動著人們的生活,與人類生活密不可分。
技術甚至改變了企業的運作方式。為了成為第一個將產品推向市場、發展是最好的、產品和服務是最創新的企業,許多企業忽視了他們的冒險帶來的副作用和可能給人們的生活帶來的問題。
其實,有些公司為了追求利潤確實忽視了普遍的商業道德標準。軟件開發人員參與了不道德的行為,他們為有欺騙行為的公司工作,這些公司把自己的利益置于人們的生命之上,并且不顧后果。
科技逐漸成為人們日常生活的重要組成部分,已無法將科技與影響日常生活的倫理分開,而且科技還決定了人們的消費方式和創造方式。
盡管如此,軟件開發人員有責任為用戶提供一個安全的透明的、可信任的程序。
乍一看,很容易認為開發的技術部分與人們的生活沒有直接關系。畢竟,真正影響用戶的是商業規范。然而,軟件開發人員才是那些知道他們的產品能做什么的人。
3.應該注意的一些道德問題
以下是軟件開發人員在開發產品和選擇為公司工作時應該注意的一些道德問題。
(1)客戶數據
許多網站的服務在很大程度上是為了收集客戶的信息。
以某搜索引擎公司為例。它擁有大量關于客戶的信息:客戶去過哪里,搜索歷史,用過的應用程序,和誰一起使用等。
在數字世界,個人數據安全是最令人擔憂的問題之一,因為客戶會將他們的敏感信息托付給軟件開發人員。許多組織都對個人信息感興趣。那些沒有制定應對此類情況的政策的公司,沒有告知客戶他們的數據將如何被處理,從而將客戶置于危險之中。如果客戶的數據確實用在了不當之處,客戶可通過法律途徑進行維權等。
(2)知識產權
在這個快速發展且聲勢浩大的創新行業,軟件開發人員和經營者應該謹慎行事,以確保他們的發明在創新體系內得到適當的保護。
軟件開發處理的是由版權、專利、商標和競爭優勢法混合組成的相互關聯的問題。為了確保客戶免受不道德的商業行為的侵害,軟件開發企業的人員應該熟悉所有這些要素以及如何有效地實施它們。由于缺乏知識而導致不道德行為,這并不能成為軟件開發者為他們的行為如何影響人們的生活質量而承擔責任的借口。
(3)版權擁有權
從理論上講,軟件開發人員擁有軟件創作的版權,未經允許,任何人都不能復制、分發、展示或進行更改。當它由第三方開發人員或開發機構進行開發時,版權協議應始終伴隨協作過程,以定義和保護代碼開發者和最初擁有該想法的客戶的權利。注冊版權可以防止軟件開發人員在所有權問題上遇到麻煩。
通常情況下,在產品商業發布后,源代碼會被保密,以防止非法復制和傳播。使用版權保護源代碼對公司是有益的,因為它提供了一種保護知識產權的簡便方法。
(4)許可協議
如果客戶要求源代碼,雙方應澄清客戶是需要索取源代碼,還是只是稍后修改或更新產品。
如果當事方同意產品許可協議,要求透露源代碼以重做或更新產品,則開發人員可以采用一項合約,在此合約下,客戶承諾對源代碼保密。
(5)道德問題解決方案
關于道德問題的棘手部分是,它們要解決一個人自己的道德準則,這是經過多年的教育、家庭和社會影響而形成的。再加上生活并不總是一成不變的,因此就有了一個令人難解的問題。
盡管面對這些道德困境,作為軟件開發人員似乎很棘手,但我們仍然可以采取一些解決方案和步驟來做得更好。例如,通過社會輿論來進行呼吁等。
(6)道德教育
公司的運作方式是由管理層決定的,而不是由軟件開發人員決定的。即使軟件開發人員不同意,也可以被迫遵循所選擇的行動方針。對軟件開發人員進行有關商業和軟件開發道德通用標準的教育,可以增進他們對社會責任以及如何采取行動的了解。它還可以幫助軟件開發人員決定為哪些公司工作,或者在軟件開發人員自己的企業中如何遵守道德規范。