簡體   English   中英

何時定義SDD(系統順序圖)操作System-> Actor?

[英]When to define SDD(System Sequence Diagram) operations System->Actor?

我在理解如何制作系統順序圖時遇到了一些麻煩,因為我不完全理解為什么在某些情況下應該為System-> Actor定義操作,而在另一些情況下則不這樣。 這是一個例子:

假設系統是電影票店,而演員是想要購買票的客戶。

1) The User tells the System that wants to buy some tickets, stating his client number.
2) The System confirms that the given client number is valid.
3) The User tells the System the movie that wants to see.
4) The System shows the set of available sessions and seats for that movie.
5) The System asks the user which session/seat he wants.
6) The User tells the System the chosen session/seat.

這將被轉換為:

a) -----> tellClientNumber(clientNumber)
b) <----- validClientNumber
c) -----> tellMovieToSee(movie)
d) <----- showsAvailableSeatsHours
e) -----> tellSystemChosenSessionSeat(session, seat)

我知道在處理SDD時,我們離編碼還很遙遠。 但是我不禁試圖想象一下,如果我立即將其轉換為代碼,會是什么樣子:

我可以理解1)2) 就像它是具有以下簽名的C#/ Java方法一樣:

boolean tellClientNumber(clientNumber)

所以我把兩者都放在SDD上。

然后,我們有一對3) 4) 我可以將其想象為:

SomeDataStructureThatHoldsAvailableSessionsSeats tellSystemMovieToSee(movie)

現在,問題是:

據我了解,我的講師說我們不應該對SDD進行5)的操作,因為我們應該只顯示從ActorSystem操作,以及系統在向我們展示數據時(例如c) )或驗證發送的數據(例如b) )。

我覺得這很奇怪,好像我想像在DOS應用程序中想象的那樣,您必須順序地輸入您的輸入,使箭頭連5也很有意義。 為什么這是錯的? 我應該如何可視化呢?

謝謝

您尚未定義系統是什么,也不清楚所處的設計階段,因此很難回答。

如果您想像的是類似Web上的火車預訂系統的系統,那么顯示時間的屏幕上只有一個復選框,供用戶選擇他們想要的那個,而不是系統提示用戶-用戶啟動下一個接收數據。 因此,用戶界面完全有可能允許用戶僅從數據中進行選擇,而無需額外的提示。

如果您正在進行系統的初步設計,請嘗試避免對用戶界面進行假設,僅包含基本用例。 如果您正在設計DOS UI組件,則只需要“為用戶打印提示”用例即可。 在基於Web的系統中,這不是用例。

因此,問題不在於您有一些用例與用戶和系統之間的交互,而有些則沒有。 問題在於,您的某些用例假設了特定的UI實現細節,這對於系統正常運行而言不是必不可少的,因此不應在頂層設計中使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM