「軟體需求分析與塑模」- UML 應用於需求分析的技術

本文收錄於 我的電子書「軟體需求分析與塑模 – 第一章、需求分析概觀」。

UML (Unified Modeling Language) 係由 OMG (Object Management Group) 所制定的一種以圖形作為軟體塑模 (modeling) 的標準。UML 2.X 規格總共制定了 14 種涵蓋軟體包括結構面與行為面的設計圖,其中適用於需求分析的設計圖主要有兩種:

  • 活動圖 (activity diagram):描述單一作業的業務流程。
  • 使用案例模型 (use case model):紀錄與描述系統功能。包含使用案例圖 (use case diagram) 與使用案例敘述 (use case description) 。

UML 活動圖比較適合描述單一作業流程內部的活動。所謂的「單一」業務流程係指在該流程內諸多活動的協力合作,以完成某一特定的企業目標 (specific business goal)。例如「請購流程」,它的目的在於:決定優先順位的供應商;而至於「採購流程」,它的目的在於:採購高品質的物料。

這些各有不同目的的作業流程,彼此之間可能會有某些關聯存在。例如上述的 「請購流程」,它會產出一請購確認的資訊,然後再將其傳入至「採購流程」。

利用活動圖並不適合描述有多個作業流程之間的關係,因為它揭露了作業流程內部的活動。描述過多的細節反而會失去多個作業流程之間關係表達的焦點。

適合描述多個作業流程的關聯的設計圖,可以利用UML for Erikson-Penker 企業擴充模型 (uml business extension model) 。下圖即為一個電子化採購系統關於「請購」與「採購」的「火箭圖」[註1]。

[註一] 因為 Erikson-Penker 語法內關於作業流程的圖示呈現的是一種 IPO (Input-Process-Output) 類似火箭的圖樣,所以簡稱為「火箭圖」。

圖例、請採購業務流程擴充模型圖 (多個作業流程的塑模)

圖例、請採購業務流程擴充模型圖 (多個作業流程的塑模)

圖例、請購作業流程活動圖 (單一作業流程的塑模)

圖例、請購作業流程活動圖 (單一作業流程的塑模)

至於資訊系統的系統功能分析,則以使用案例圖 (use case diagram)來作為塑模的表達。它很容易可以界定出系統開發/維護範圍、外界 (使用者/外部系統)與系統的關係。

圖例、電子化採購系統使用案例圖 (系統功能的塑模)

圖例、電子化採購系統使用案例圖 (系統功能的塑模)

另外也會使用系統循序圖 (system sequence diagram),表達參與者 (actor,一般指使用系統的人/角色,以及支援服務的外部系統。) 與系統之間的互動訊息 (message)。

系統循序圖是一種系統功能「實現 (realization)」的表達。如下圖 描述的是「Web ATM」系統其中「轉帳」系統功能的實現。系統分析師可以用此來表達參與者與系統/外部系統之間的訊息傳遞的互動關係。

圖例、實現「轉帳」系統功能的系統循序圖 (描述系統功能實現的塑模)

圖例、實現「轉帳」系統功能的系統循序圖 (描述系統功能實現的塑模)

[個案研討] FTP Server 是否可為企業系統的外部系統?

** 本文同步發表於 FB 社團-軟體設計鮮思維 **

月初在內湖某大電視購物/網購平台總部的資訊單位授課。喔,先誇讚下,約有50來位的學員,上課過程大都蠻踴於提問且活潑,可說上得挺順暢愉快。

其中在談及使用案例模型 (use case model)的需求架構分析時,關於外部系統的定義,個人特別強調會是透過介面 (interface)的整合,如透過 web service or message service 等),而不會是透過資料庫的整合方式。

然後其中有位學員就問了,如果連結外部系統是透過 FTP,也就是開發中的系統這邊為 FTP Client,然後以批次定時處理的方式,傳送到外部單位的 FTP Server,對方也是採用批次自動處理的作法,把接收下來的檔案作解析處理。

這樣 FTP Server 是否是開發中系統的外部參與者 (actor)?我倒是沒想到現在會有這樣的作法,最初的直覺當然不會是。

不過課程休息時,再仔細想想,回歸到所謂外部系統整合的定義,是否有透過介面來連結? 事實上,FTP 的 Client/Server 是有的 (當然就是透過 FTP 協定),且兩邊系統之間並未透過手動操作,而確實是系統對外部系統之間有達成自動化的整合 (雖然是透過批次處理的方式)。

為何會有這麼「low」的作法?其實這與實作技術沒有太大關係,而是因為當要與外部單位的系統作整合時,外部單位總會有「安全性」的考量,不一定願意釋放出可讓系統直接呼叫的介面。

閱讀全文 »

我家妹妹說-請叫我大學生~

我家妹妹,就是我的小女兒啦,今年初 (2016)大學學測,然後歷經上個月幾家大學的面試。當她接獲第一家大學的面試錄取通知時,雖然該大學並非她的第一志願,但仍很高興的對我說,以後請叫我大學生! 🙂

我家妹妹讀書並不認真,反正我在家裡是從沒看過她讀書啦,倒是打電玩時間特多,從以前的魔獸世界,到 Minecraft,甚至大考前幾天還是窩在我房間用我的高檔電腦打電玩,說是要解壓啦。

不過還好的是,我家妹妹成績仍大約保持中等。學測前導師與她自己大約預估學測分數可達約50級分上下,應該是一般私立大學她理想的科系可以考上,而且妹妹非要北部大學不可,因為她不想到外縣市住宿,還有重要的一點是她就看不到我那些可愛的鳥寶寶包括粉圓啦。

結果神經算是大條的妹妹,學測的成績也大概約如她所預測差不多,甚至數學成績竟然還達標 (她唸文組,早已放棄了數學說~)。而英文更是她的強項,15滿級分她考了14級分,相當理想。可惜美中不足的是,國文大大失常,而這讓她反而有些擔心,因為文組的許多科系非常在乎國文的成績。這可是我那個時代無法想像的,以前只在乎總分,而現在反而某些科系會針對某些學科有制定評分的標準。

雖然考試不認真,但是上個月要到四家大學 (世新、銘傳、實踐、大同大學)面試前的準備卻是非常非常的用心。

妹妹面試的科系較偏是財經方面,如企管之類的,但也有資管等科系。為了準備財經相關科系的面試,她特別從網路印了一堆資料,然後針對相關的術語一直硬背。而且也請教了已考上相關科系的學姐,關於面試時可能會問的一些問題與如何應答的態度。然後為了資管相關的問題,甚至還問了我許多專業術語,如什麼是 IT、什麼是 ERP,資訊管理的目的在於哪裡...等等。

天哪,要是妹妹對於學測相關科目的複習要有這麼認真就好了,肯定再加上個10來級分沒有問題的。不過要她認真看書作功課甚是難為,但若是要面談給予別人好印象時,她卻是相當在乎。

我覺得她在面試的那一個月 (主要為四月份)期間,真的相當認真,這真的相當令人給予肯定!

認真的結果真的有了回報。她面試的這幾家大學,全都被錄取,而且大都還是名列前茅。 🙂

閱讀全文 »

簡單開箱-Dyson V6 Fluffy Absolute 無線吸塵器

前年購買的-Electrolux Z1860 Lite II HEPA 吸塵器,只是洗一下集塵盒後,竟然就裝不回去 (無法密合),導致整個吸力大降,還會排出熱風。因為一時找不到保證書 (應已過保),想說維修也要不少錢,所以這次乾脆就購買貴森森的 Dyson 系列吸塵器,一次攻頂。

作了功課,爬網參考了不少的開箱文,決定就買去年中旬推出的 V6 Fluffy 無線吸塵器。我是買露天拍賣這家-V6 Fluffy SV09 Absolute +過敏組 8支吸頭 雙主吸頭,再加買了收納袋等,價錢共約2萬3千元。沒想到賣家就住我家附近啦,而公司也在永和中正路一處豪宅內,直接去取貨付現比較方便。
Dyson V6 Absolute 無線吸塵器

我買這一款型號為 V6 Absolute Fluffy,其實是美國的水貨,但店家有保固一年。而台灣的公司貨一般型號稱為 SV09,大概價差有3千元,而且還只附一個主吸頭。呼,Dyson 的吸頭超貴的,單買動輒兩、三千元以上,所以乾脆一次就買齊常用的吸頭。
Dyson V6 Absolute 無線吸塵器

閱讀全文 »

軟體思維顧問

專職軟體輔導與教育訓練的獨立顧問。輔導企業資訊單位如何有效組織系統開發與維護;輔導開發人員達成有效的專業分工。傳授如何把軟體作軟 (Keeping Software Soft)的技能,得以提昇系統的彈性/延展,並進而創造系統的再利用價值。

Personal