關於IT系統數據庫相關的法律問題
在了解與IT系統相關的法律問題時,不僅需要系統性的法律知識,同時也需要了解IT系統的組成要素。本文將整理IT系統由哪些部件組成,以及這些部件如何相互連結並運作,並將解釋對使用者來說較不易察覺的數據庫與其相關的重要法律問題。
IT系統由「介面」與「邏輯」構成
何謂IT系統的「介面」
當本所試圖了解IT系統的結構時,最先引人注目的可能是介面的外觀。確實,在一般的系統開發過程中,繼進行功能的確定等「需求定義」後,通常會進行「介面設計」和「介面轉換」的整理。這些介面的外觀,對於訂購系統開發的用戶來說,自然是最容易被注意到的領域,也是用戶與供應商溝通最為活躍的領域。以下的文章將解釋在系統開發的全過程中,用戶為了達成項目目標對供應商所承擔的「合作義務」。
https://monolith-law.jp/corporate/user-obligatory-cooporation[ja]
本文主要解釋了用戶在系統開發中所承擔的合作義務,特別是在基本設計(即介面)等階段,需要與供應商合作的部分。
在IT系統中,「介面」通常按照HTML和CSS等電腦語言的規則進行描述。IT系統的「介面」的話題,有各種稱呼,如「前端」、「UI(用戶介面)」等,但實際上主要討論的是用戶的「操作感」、「易讀性」等問題。
何謂IT系統的「邏輯」
然而,如果IT系統只有「介面」,那麼它就只是一個沒有任何「動作」或「變化」的「介面」。即使在「介面」上進行用戶輸入的接收和輸出的顯示,這個過程也需要「計算處理」。
這些用戶看不到的,可以說是「系統的背面」的部件,進行複雜的計算和控制。從介面端搜尋數據、修改數據、添加或刪除等處理,都需要預先建立的數據庫作為背景。對數據庫信息的各種處理,通常是用被稱為SQL的電腦語言來完成的。
設置在介面端的按鈕等作為觸發器,創建到執行必要的SQL語句的路徑,這樣就完成了具有動作和變化的系統的全貌。
另外,與「介面」不可見的各種邏輯的組裝相關的話題,有時被稱為「後端」。
只從「外觀」討論系統的話題,可能導致風險
到目前為止的解釋,是關於(預計在網路上運行的)IT系統結構的基礎。對這些事情的理解,在法律討論、項目的爭議預防、危機管理等方面也具有重大意義。具體來說,只關注在螢幕上的「外觀」的使用者和在看不見的「邏輯」方面也承擔重要業務的供應商之間,可能會出現溝通的誤解。
使用者和供應商關注的重點完全不同,可能導致風險
例如,以「螢幕」為中心討論IT系統的使用者,往往對其內部結構的複雜性不感興趣。因此,他們可能無法理解,看似只是「稍微增加一些功能」或「稍微改變一些規格」,實際上可能影響到多少工作流程。例如,在以下的文章中,本所解釋了在開發新系統的項目中,常見的法律問題,這些問題往往在撤銷現有系統時出現。
https://monolith-law.jp/corporate/the-transition-from-the-oldsystem[ja]
在這裡,本所解釋了在舊系統撤銷的過程中,數據轉移到新系統時常常會出現問題。也就是說,內部的計算和控制機制可能比想像中更複雜,這可能成為使用者意想不到的問題。此外,如果不理解「系統製造商的想法」,可能會出現後續的變更逐漸出現的情況。
https://monolith-law.jp/corporate/howto-manage-change-in-system-development[ja]
考慮到這種情況,報酬的後續增加是否可能,有時也可能成為一個切實的問題。
https://monolith-law.jp/corporate/increase-of-estimate[ja]
使用者對於背後的「邏輯」的不在乎,可能導致風險
此外,使用者無法觀察到的部分,一旦問題暴露,可能已經成為一個大問題。以下是一個例子。
在維護和安全性方面可能出現問題
這包括無法實現額外功能,使用過程中逐漸變慢,甚至無法運行的情況。
此外,由於螢幕端實現的代碼的缺陷,可能會進行安全攻擊,例如利用「SQL注入」的手法,提取本不應該在螢幕上顯示的個人信息和機密信息。關於這種情況導致嚴重爭議的案例,本所在以下的文章中進行了詳細的討論。
https://monolith-law.jp/corporate/risks-of-libraryuse-and-measures[ja]
本文的主題是使用框架和庫的風險,但是本所引用的法院案例是關於使用SQL注入進行的脆弱性攻擊的案例。
運營負責人的工作可能無法受到監管
IT系統的使用者對於背後的「邏輯」的不在乎,可能導致IT系統的運營負責人的工作難以受到監管。在以下的文章中,本所以「運營負責人的疏忽導致數據丟失」為主題,解釋了處理數據庫的工作的重要性。
https://monolith-law.jp/corporate/dataloss-risk-and-measures[ja]
即使表面上運行正常,邏輯也可能出錯
由於系統的話題不僅僅是「螢幕」,即使表面上系統運行正常,實際上的「邏輯」也可能出錯。這種情況可能在日常基本業務中並未明顯顯示,但在「每半年一次」或「每年一次」等不規則業務中可能突然暴露出來。
在這種情況下,「一旦系統交付完成,後續發現缺陷」的情況在法律上將成為(並非債務不履行,而是)瑕疵擔保責任的問題。
https://monolith-law.jp/corporate/defect-warranty-liability[ja]
如果在驗收後發現問題,本所在以下的文章中詳細解釋了應對策略。
https://monolith-law.jp/corporate/system-flaw-measure-after-acceptance[ja]
總結
系統開發與法務,各自系統性的理解
與系統開發相關的法律問題,其前提是在確定法律論點之前,作為IT系統的組成元素,了解問題出現在哪個部分也是重要的。無論是法律問題還是IT系統問題,在系統開發項目中發生的爭議,都需要確保不會失去對整體畫面的理解,並且在不同行業間的合作中盡力,這被認為尤其重要。
Category: IT
Tag: ITSystem Development