Use Case diagram - UML

צונאמי

New member
Use Case diagram - UML

שלום, אני כרגע מתכנן פרוייקט ונתקלתי בבעיה. משתמש חייב לעשות login לפני כל פעולה אחרת. איך לסמן זאת בשימוש ב-UML ? (לעשות EXTEND לכל USECASE סתם יגרום לצפיפות בדיאגרמה) חשבתי אולי להוסיף USECASE נפרד LOGIN ולהוסיף הערה שכדי ש USECASE אחרים יצליחו חייבים להפעיל את LOGIN אבל אולי יש דרך יותר טובה לתאר זאת. תודה,
 
לא extend....../images/Emo26.gif

אתה צריך include... וכן - אתה צריך חץ מכל אחד מהתרחישים, אל אותו תרחיש login (אם אתה רוצה להגיד שאכן כולם כוללים בתוכם את ה-UC של login). לא תהיה צפיפות - שים את ה-UC של login במרכז, ותסדר את התרשים ככה שהחצים לא יתנגשו.
 

צונאמי

New member
אתה בטוח INCLUDE ?

קודם כל תודה על התגובה המהירה
אני לא רוצה לעשות login עבור כל פעולה תמיד. אם משתמש עושה login פעם אחת אח"כ הוא יכול לעשות מה שבא לו ללא צורך לעשות login מחדש - ליתר דיוק אם הוא במצב Status = logged-in הדוגמא שנתתי פשוטה מאד ... הדיאגרמה של הפרוייקט כבר מפוצצת בכל מיני סוגי קשרים שונים ומשונים ... הייתי רוצה דרך להימנע ממידע מיותר.
 

צונאמי

New member
חשבתי על דרך נוספת ...

מצורפות 3 דוגמאות שונות בקובץ. אני נוטה יותר לכיוון הדוגמא האמצעית ... מה דעתכם ?
 

i c e b e r g

New member
לדעתי,

אני מוטה יותר לכיוון הדוגמא השלישית, משום ש- UC אמור לתאר פעולות ומכיוון ש login היא פעולה שמבצעים פעם אחת בתחילת העבודה, אין צורך לבצע לעשות include עבור כל פעולה. אם אתה רוצה להדגיש שפעולת login היא מחוייבת עבור כל פעולה במערכת, תצרף דיאגרמת מצבים.
 
דווקא השלישית??...../images/Emo4.gif../images/Emo26.gif

היא היחידה שם שבטוח לא נכונה... לפי השלישית - אני יכול לבצע את "do it 1" למשל, מבלי לבצע login - שזה בטוח מוטעה... השניה היא הכי מדוייקת (והכי מסורבת...
) והראשונה היא איפשהו באמצע... מצד אחד, יש תנאי ל-extension-points שמחייב לעשות login אם עדיין לא עשית - מצד שני, הוא מצויין טקסטואלית לכל אחד מה-UC, מה שהופך את זה לקצת מסורבל...
 

צונאמי

New member
זהו ששכחתי לי מ - OCL

אפשר את השלישית כאשר על הלינק של כל ה-usecase שאינן Login שמים הגבלה שחייב להתקיים LoggedIn=yes זה בעצם מתאר בדיוק את המצב ! מה אתם אומרים... מצאנו שיטה מנצחת ?
 
../images/Emo4.gif למה לך?...../images/Emo26.gif

הרי אתה צריך גם לציין איפשהו שהכניסה ל-login מבצעת גם LoggedIn=yes... ואז זה כבר נהיה די דומה לשיטה הראשונה (ווזה מתחיל להיות דומה מבחינת הסרבול)... כך או כך, אני לא ראיתי שימוש ב-OCL ב-UseCase... אבל אם כבר אתה משתמש בו - אז אני מניח שלא כל-כך משנה במה תבחר... כל שלושת האפשרויות נראות לי בסדר...
 
לא הבנתי...../images/Emo26.gif

לא אמרתי שדיאגרמת UC היא לא פשוטה... אמרתי רק ששלושת האופציות שבחרת מורכבות (ונכונות) באותה מידה. נראה לי שהיה לנו קצר איפשהו...
 

צונאמי

New member
אהה לא התכוונתי לדברים שאמרת ../images/Emo26.gif

פשוט היה לי הרושם שהדיאגרמה הזו היא בין הפשוטות יותר. וככל הנראה זה לא כך !
 
למעלה