分類
Cissp-WentzWu D8-軟體開發安全

WSUON的SDLC

大家談SDLC時時常沒有釐清自己口中SDLC的S是指Software還是System! CISSP課程中所談的System預設用字情境(context)是指資訊系統(information system),而不是武器系統或其它系統。在WUSON的CISSP課程中,軟體(software)只是資訊系統的一部份(孔雀八根毛中的一根毛而已)。由於Software跟System指稱的標的物及範疇都不同,因此我們在談SDLC時一定要把自己口中的S先定義清楚,才能有效的溝通軟開發的觀念!

WUSON課程非常講究用字精準,以明確表達軟體開發的相關觀念。我們課程中的軟體工程所談的SDLC當然是指軟體的SDLC。以下是WUSON課程談SDLC所強調的重點,摘要如下:

  1. WUSON課程SDLC的各個階段強調動作,而且各階段的命名不是直接選用動詞,而是把動作名詞化的名詞。例如:我們說開發軟體要先作好規劃,再來分析需求。如果用動詞來表達這些動作,英文是用Plan, Analyze. 但我們強調要去作【規劃這件事】及要去作【分析需求這件事】。因此,我們的英文用字是採用planning及analysis. 其它階段的命名都是同樣的概念.
  2. 談【分析需求】時,我們選字是強調分析這個動作,而不是被分析的東西(即需求),所以在我們的SDLC是命名為【分析】階段,而不是【需求】階段。這樣命名的原因主跟【規劃】、【設計】、【開發】、【測試】、【交付】、【維護】這些動作相呼應,以保持語言結構的一致性。
  3. 【軟體】跟【資訊系統】(在CISSP可簡稱系統)是二個不同的東西,具有不同的範疇及議題。我們的SDLC在選字上強調【交付(delivery)軟體給客戶】,而不是強調【部署(deployment)軟體到系統】。因此,我們談CI/CD時所指稱的CD是指連續交付,不是連續部署。因為部署是【安裝】的概念,而業界談CD常是指將軟體安裝到正式環境(production)。 這樣作會涉及到【授權系統】(NIST的A&A或早期的C&A)的問題,而且連續授權(continuous authorization)也是DevSecOps要解決的核心問題,把軟體拉到系統層次容易把軟體開發的概念複雜化及混淆了二者的邊界。為了明確區分及強調軟體與資訊系統的差異,我們的課強調【軟體只是”資訊系統】的一部份,主管授權上線的標的物是【整個資訊系統,而不是只有軟體】。所以我們的課程刻意只從軟體的角度談軟體【交付】,SDLC的階段命名是【交付】階段而不是部署階段。
  4. 如第3點所強調的概念:軟體及資訊系統是不同的東西,有不同的範疇及議題,所以我們課程的SDLC也不用【維運】這樣的詞。因為維運是【維護+運作】,英文是maintenance and operations,這個詞是資訊系統的概念。主管授權上線運作的【標的物】是資訊系統,軟體只是隨附在資訊系統一起上線運作。因此,我們軟體的SDLC的用字是【軟體的維護】, 而不是【資訊系統的維運】,以明確區分軟體與資訊系統的概念。

資料來源:https://wentzwu.medium.com/wsuon%E7%9A%84sdlc-0123e8b2117b

PS:經作者同意轉載

作者: stevencho

從事資訊工作二十多年,對資安極具熱情,在 Network Security, Endpoint Security, 及 Mobile Security 等資安領域有超過十年以 上的經驗。曾任職精誠資訊資安產品代理部門技術經理,負責 資安產品之技術支援與大型企業導入專案。此外,他也取得了 ISO 27001 主導稽核員證書及 Check Point 的 CCSA 與 CCSE 等防 火牆產品等專業證照。此外,平常除了喜歡透過ITHelp平台及個人部落格分享文章,亦常擔任社群活動主辦者及志工,連結資安同好聯誼及共好學習,並協助對於CISSP有興趣的同學與同好準備認證考試。