UML Use Case + Interaction Diagrams
Transcription
UML Use Case + Interaction Diagrams
תרגול מס' – 10שימוש בUML Use Case + Interaction Diagrams - דרך כלי CASE Use Case Diagram מטרות דיאגרמת נסיבות השימוש: .1מידול ההקשר ) (contextשל המערכת – קשר עם הסביבה וגבולות המערכת. .2מידול דרישות ההתנהגות של המערכת או של הרכיבים בה – מה המערכת צריכה לעשות )ולא איך היא תבצע זאת(. רכיבי הדיאגרמה: – Use Cases .1סט פעולות סדרתיות שמערכת מבצעת ,הגורמות לתוצאות הניתנות לצפייה מחוץ למערכת )ע"י .(actorsפעולות אלו מהוות דרישה פונקציונאלית הנדרשת מהמערכת. Validate User כיצד לזהות ?UC • איזה פונקציות המשתמשים צריכים מהמערכת? • האם המשתמשים צריכים לקרוא ,ליצור ,לעדכן ,או לשמור סוג של מידע כלשהו במערכת? – Actors .2מיצג ישות חיצונית הנמצאת באינטראקציה עם המערכת .הישות החיצונית יכולה להיות אדם ,מכשיר )חומרה( ,או מערכת אחרת Actor .הינו סוג )מחלקה( ולא מופע בודד. student כיצד לזהות ?Actors • מי משתמש בפונקציונאליות המערכת? • מי יזדקק לתמיכה מהמערכת כדי לבצע משימות יום יומיות? • מי יצטרך לתחזק ולתפעל את עבודת המערכת? עיצוב ופיתוח של מערכות מידע ניהוליות 1 תרגול UML Use Case + Interaction :10 • באילו התקני חומרה המערכת צריכה לטפל? • עם אילו מערכות אחרות המערכת צריכה לתקשר? • מי ומה מעוניינים בתוצאות שהמערכת מספקת? .3קשרים בין המרכיבים השונים: – Associationמקשר בין actorל use case -בו הוא משתתף. הכללה - Generalizationיש אפשרות לבצע הכללה בין Actorsובין Use :Cases הכללה בין שני :actorsה actor -הבן יורש את התנהגות actorהאב ויכול להרחיבה. דוגמא: עיצוב ופיתוח של מערכות מידע ניהוליות 2 תרגול UML Use Case + Interaction :10 הכללה בין שני :use casesה use case -הבן הוא מקרה ספציפי של use caseהאב. דוגמא: .1מפקח הוא סוג של פקיד. .2מה שפקיד יכול לעשות ,גם פתיחת הזמנה המפקח יכול .ההפך אינו נכון. פקיד .3כל שינוי בפונקציונאליות אותה הפקיד יכול לעשות ,תגרור שינוי בפונקציונאליות אותה המפקח ביטול הזמנה יכול לעשות .ההפך אינו נכון. .4מהתרשים מתקבל שגם המפקח מפקח יכול לפתוח הזמנה. הכלה - Includeמקשר בין שני ,use casesה base use case -משתמש ב- included use caseכחלק ממנו )החל ממקום מסוים( .החץ מופנה מה – base .use case >><<include included UC ◊ Base UCכולל בתוכו את ה.Included UC- ◊ – Included UCבדרך כלל אינו עומד בפני עצמו. ◊ – Included UCיכול להיות מוכל בכמה .UC עיצוב ופיתוח של מערכות מידע ניהוליות 3 Base UC תרגול UML Use Case + Interaction :10 הרחבה - Extendמקשר בין שני ,use casesה base use case -משתמש ב use case -השני במקומות מסוימים תחת תנאים מסוימים. >><<extend extended UC ◊ Base UC ה extended UC-כולל בתוכו את ההתנהגות של UCהבסיס )באופן מרומז(. ◊ UCהבסיס יכול לעמוד בפני עצמו ובמקרים מסוימים מרחיבים אותו. דוגמא: תיאור ה:base UC - ◊ איש המכירות מקיש שם משתמש ◊ המערכת מציגה תפריט ראשי ◊ >> <<includeאיש המכירות מזין פרטי לקוח )(Supply Customer Data ◊ >> <<includeאיש המכירות מזין פרטי המוצר להזמנה )(Order Product ◊ בנקודת הרחבה :לאחר יצירת ההזמנה ולבקשת איש המכירות יוצג הקטלוג )(Request Catalog ◊ >> <<includeאיש המכירות מזין פרטי תשלום )(Arrange Payment תיאור :Supply Customer Data – Included UC ◊ המערכת מציגה חלון הזנת פרטי לקוח עבור הזמנה. ◊ איש המכירות מקיש שם משפחה. עיצוב ופיתוח של מערכות מידע ניהוליות 4 תרגול UML Use Case + Interaction :10 ◊ אם קיימים לקוחות עם שם המשפחה הנתון ,המערכת מציגה את כל הלקוחות הרלוונטיים. ◊ איש המכירות יכול לבחור את אחד הלקוחות המוזנים או לבחור להוסיף לקוח חדש. ◊ במקרה של הוספת לקוח חדש ,איש המכירות מקליד את כל פרטי הלקוח. תיאור :Request Catalog – extended UC ◊ המערכת תציג את קטלוג המוצרים. ◊ איש המכירות יוכל לחפש ולדפדף בקטלוג המוצרים לפי שם מוצר ומק"ט. דוגמא ל Use Case Diagram -עבור מערכת :North 2000 Handle Categories >><<include >><<extend Handle Suppliers List Products >><<extend >><<extend Worker Handle Products >><<extend Handle Orders Print Invoice Print Sales Report עיצוב ופיתוח של מערכות מידע ניהוליות 5 תרגול UML Use Case + Interaction :10 תיאור נסיבות השימוש: :Handle Categories .1העובד יכול לצפות בקטגוריות הקיימות ולהוסיף חדשות למערכת <<include>> .2העובד צופה בפרטי המוצרים ) (List Productsבקטגוריות השונות :List Products .1העובד בוחר קטגוריה .2המערכת מציגה בפרטי המוצרים השונים בקטגוריה :Handle Suppliers .1העובד יכול לצפות בפרטי הספקים שעובדים עם החברה ולהוסיף ספקים חדשים .2בנקודת הרחבה :העובד יכול לראות את רשימת המוצרים המסופקים ע"י כל אחד מהספקים )(List Products .3בנקודת הרחבה :העובד יכול להוסיף מוצרים חדשים אותם הוא מעוניין לרכוש מהספק הרלוונטי )(Handle Products :Handle Products .1העובד יכול לצפות במוצרים הקיימות ולהוסיף מוצרים חדשים .2העובד יכול לצפות ברשימת הספקים ולהחליט לשנות את הספק של המוצר הספציפי .3העובד יכול לצפות ברשימת הקטגוריות ולהחליט לבחור לשייך את המוצר הרלוונטי לקטגוריה אחרת .4בנקודת הרחבה :העובד יכול לראות את רשימת כל המוצרים המסופקים ע"י כל אחד מהספקים )(List Products :Handle Orders .1העובד יכול לצפות בכל פרטי ההזמנה )תאריך ,ספק ,עלות ,חברת משלוח וכו'( .2העובד יכול לשנות את אחד או יותר מהפרטים המופיעים בהזמנה .3בנקודת הרחבה :העובד יכול להדפיס את החשבונית )(Print Invoice :Print Invoice .1החשבונית מודפסת עיצוב ופיתוח של מערכות מידע ניהוליות 6 תרגול UML Use Case + Interaction :10 :Print Sales Reports .1העובד יכול לצפות או להדפיס את אחד הדו"חות .2העובד בוחר את אחד הדוחות .3במידה ונבחר דו"ח שמציג את מחירות העובדים לפי מדינות – עליו להזין את תאריך ההתחלה ותאריך סיום. .4במידה ונבחר דו"ח מכירות לפי קטגוריות – עליו לבחור את הקטגוריה הרצויה .5העובד יכול לשנות את אחד או יותר מהפרטים המופיעים בהזמנה שאלה לדיון :מהם ההבדלים העיקריים בין Use Case Diagramsל?DFD - תרגיל כיתה: .1 בנו Use Case Diagramעבור סניף מקומי בבונדוזיה אייר )סיפור המעשה מופיע בתרגול .(9 עיצוב ופיתוח של מערכות מידע ניהוליות 7 תרגול UML Use Case + Interaction :10 Sequence Diagram ב UML -קיימים שני סוגים של ,Interaction Diagramsהשמים דגש על תקשורת בין אובייקטים לצורך השגת פעולה מסוימת: Sequence Diagramו- Collaboration .Diagramבעוד Collaboration Diagramשמה דגש על הצד המבני של האינטרקציה )אוסף האובייקטים ,הקשרים ביניהם והמסרים העוברים לאורך קשרים אלו(Sequence , Diagramמתארת את האינטראקציות על רצף הזמן תוך התמקדות על רצף הודעות .אנו נתמקד במסגרת קורס זה ב Sequence Diagrams -ונתייחס ל- Collaboration Diagramsכצורת רישום אחרת )לעיתים פחות קריאה( לאותה מטרה. ב Sequence Diagram -מתוארים האובייקטים המשתתפים באינטראקציה וההודעות המועברות ביניהם .קיימות שתי ווריאציות לדיאגרמה: - Generic Formמתאר את כל האלטרנטיבות האפשריות לתרחיש מסוים כולל לולאות והסתעפויות ).(branches - Instance Formמתאר רצף אפשרי לתרחיש מסוים. ב Sequence Diagram -הציר האנכי מתאר זמן והציר האופקי – את האובייקטים השונים. אין חשיבות לסדר האובייקטים על פני הציר האופקי .ציר הזמן נע מלמעלה למטה .אובייקט הנוצר תוך כדי תרחיש מופיע בנקודת הזמן בו נוצר. רכיבי הדיאגרמה: .1קו החיים של אובייקט ) (Object Lifelineמציין את העובדה שאובייקט מסוים "חי" )קיים( .קו החיים של אובייקט מסומן ע"י קו אנכי מקווקו .קו החיים של אובייקט יכול גם להתפצל למספר קווים מקבילים על מנת לבטא תנאים שונים שנוצרו מהודעות שונות. ייתכן גם שקווים מקבילים ישובו ויתאחדו. Activation/Focus of control .2הוא פרק הזמן בו האובייקט מבצע פעולה באופן ישיר או עקיף .מייצג גם את משך האינטראקציה בין האובייקט שיוזם את הפעולה לאובייקט שעליו מתבצעת הפעולה Activation .מתואר ע"י מלבן צר ,שתחילתו בהודעה הנכנסת וסופו בהודעה החוזרת. .3הודעה ) (messageמתארת תקשורת בין אובייקטים .מסומנת ע"י קו אופקי מלא בין האובייקטים )או בין האובייקט לעצמו( .על החץ יש לציין את שם ההודעה )פרוצדורה או סיגנל( והארגומנטים שלה. עיצוב ופיתוח של מערכות מידע ניהוליות 8 תרגול UML Use Case + Interaction :10 מסרים אסינכרוניים מסומנים ע"י .במסרים אלו שולח המסר ממשיך מיידית בשלב הבא של הביצוע לאחר שליחת המסר מבלי להמתין לתגובה. מסרים סינכרוניים )קריאות למתודות( מסומנים ע"י .במקרים אלו כל התרחיש )המקונן( מסתיים לפני שהרמה העליונה של התרחיש )"הקורא"( ממשיכה .במילים אחרות ,הגורם השולח אינו ממשיך בפעולתו עד לקבלת התגובה לדרישה שנשלחה. מסרי חזרה ) (returnמסומנים ע"י .אלו הם הודעות תשובה מהאובייקט הנקרא לאובייקט הקורא. .4זמני פעולות ) :(transition timeלהודעה יכולים להיות זמן התחלה וזמן סיום, המתוארים בעזרת שמות פורמליים או אילוצים .זמנים אלו יכולים להיות שווים אם ההודעה אטומית .זמן ההתחלה מסומן ע"י שם פורמלי ,המצוין בשוליים השמאליים, למשל .aזמן הסיום מסומן ע"י ’ .aאילוצים על זמנים אלו יופיעו בסוגריים מסולסלות. עיצוב ופיתוח של מערכות מידע ניהוליות 9 תרגול UML Use Case + Interaction :10 :Sequence Diagram -דוגמא ל Created object a Destroyed object b {(b-a)<5sec} UML Use Case + Interaction :10 תרגול 10 עיצוב ופיתוח של מערכות מידע ניהוליות : הנ"לSequence Diagram - השקול לCollaboration Diagram -דוגמא ל 1: op() {transient} 1.3: more() Ob1: C1 student Operator Ob4: C4 [X<0] 1.2: bar(X) [X>0] 1.1: foo(X) {transient} 3: doit(z) Ob3: C3 Ob2: C2 2: doit(w) של הפקת דו"ח מכירות עובדים לפי ארץ במערכתSequence Diagram -דוגמא ל :North 2000 UML Use Case + Interaction :10 תרגול 11 עיצוב ופיתוח של מערכות מידע ניהוליות תרגיל כיתה: .2ציירו תרשים Sequence Diagramעבור התרחיש )במערכת בונדוזיה אייר( בו לקוח מעיין ברשימת יעדים ,הטיסות אליהם והמקומות הפנויים ומבצע הזמנה לטיסה מסוימת. עיצוב ופיתוח של מערכות מידע ניהוליות 12 תרגול UML Use Case + Interaction :10 ?Access באמצעותUML כיצד נממש מודל למרות זאת. הינו מסד נתונים רלציוניAccess בעודObject-Oriented הינוUML מודל .Access - למימוש בUML להלן מס' כללים בסיסיים לתרגום מודל :Class diagram אם אחת מתכונות המחלקה יכולה לתפקד כמפתח. כל מחלקת נתונים תתורגם לטבלה.1 להוסיף מספור אוטומטי כמפתחAccess - נאפשר ל, אחרת. נסמנה ככזאת,ראשי .ראשי קשרים בין מחלקות יתורגמו לטבלאות גישור )במקרה של קשר רבים לרבים( או.2 ( תטופל בדומהassociation class) מחלקת קשר.(למפתחות זרים )במקרים האחרים .ERD -לקשר יישות ב .ERD - קשרי הורשה יתורגמו לטבלאות בדומה לטיפול במודל ה.3 :דוגמא :UML -ב System PrintEmployeeSalesByCountry(from, to) 0..* Customer CompanyName ContactName ContactTitle Fax Person Supplier ID Address City Country Phone CompanyName ContactName ContactTitle Fax HomePage 0..* Employee LastName FirstName Title BirthDate HireDate Extension Photo Category CategoryName Description Picture GetOrderForEmployee(from, to) 0..* 0..* 0..* 0..* 0..* Order Shipper ShipperID CompanyName Phone 0..* 0..* OrderID OrderDate RequiredDate ShippedDate ShipAddress ShipCity ShipCountry 1..* 0..* Product ProductID ProductName UnitPrice UnitsInStock 0..* OrderDetails Quantity Discount PrintOrderDetails() UML Use Case + Interaction :10 תרגול 13 עיצוב ופיתוח של מערכות מידע ניהוליות ב:Access - :Use case diagram .1לכל Use Caseימומש סט נפרד של טפסים ודו"חות. .2באם יש actorsשונים במערכת ,יש לממש מערכת הרשאות )וסיסמאות(. .3מ Base Use Case -תהיה הפניה ל) Included Use Case -למשל ע"י טופס ראשי-משני(. .4מ Base Use Case -תהיה הפניה ל Extended Use Case -ע"י לחצן )כפתור(. עיצוב ופיתוח של מערכות מידע ניהוליות 14 תרגול UML Use Case + Interaction :10 :דוגמא :UML -ב <<include>> <<extend>> List Products Handle Categories Handle Suppliers <<extend>> <<extend>> Worker Handle Products <<extend>> Print Invoice Handle Orders Print Sales Report Handle Categories UML Use Case + Interaction :10 תרגול List Of Products 15 :( )חלקיAccess -ב עיצוב ופיתוח של מערכות מידע ניהוליות Handle Suppliers List Of Products Handle Products :Sequence diagram object- - שכן עקרונות ה, הינו הבעייתי ביותרAccess - לSequence diagram תרגום על, למרות זאת.Sequence diagram - באים לידי ביטוי בצורה החזקה ביותר בoriented .Sequence diagram - לבוא לידי ביטוי בAccess -הפונקציונאליות הממומשת ב UML Use Case + Interaction :10 תרגול 16 עיצוב ופיתוח של מערכות מידע ניהוליות דוגמא: ב:UML - ב:Access - עיצוב ופיתוח של מערכות מידע ניהוליות 17 תרגול UML Use Case + Interaction :10