ניתוח ועיצוב מערכות תוכנה אביב 2012

Slides:



Advertisements
Similar presentations
Use-Cases.
Advertisements

CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
שיטות ניתוח - דוגמא משווה
מבוא למדעי המחשב לתעשייה וניהול
Use Case & Use Case Diagram
Agenda What is a Use Case? Benefits of the Use Cases Use Cases vs. Requirements document Developing the Use Case model System Actor Use Case Use Case.
©Silberschatz, Korth and Sudarshan4.1Database System Concepts סכימה לדוגמא.
CS3773 Software Engineering Lecture 03 UML Use Cases.
January Ron McFadyen1 Use Cases in the UML Functionality under consideration is represented by use cases (named ellipses) enclosed in a box.
Use-case Modeling.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” - may be of.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
A. Frank File Organization Indexed-Sequential File Introduction Thanks to Tamar Barnes.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
Documenting Requirements using Use Case Diagrams
Written by: Zvika Gutterman Adam Carmi
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
Use cases and requirement specification - 1 Use case diagrams 3 use cases System boundaries Remember: Use case diagramming is a tool, not the requirements.
מנפה שגיאות - DEBUGGER מבוא למדעי המחשב (234114) רועי מלמד
CS Introduction to AI Tutorial 6 AB Questions Tutorial 6 AB Questions.
עקרון ההכלה וההדחה.
תחשיב היחסים (הפרדיקטים)
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Safari On-line books. מה זה ספארי ספארי זו ספריה וירטואלית בנושא מחשבים היא כוללת יותר מ כותרים כל הספרים הם בטקסט מלא ניתן לחפש ספר בנושא מסוים.
WEB OF SCIENCE. WEB OF SCIENCE  Science Citation Index ExpandedTM  Social Sciences Citation Index®  Art & Humanities Citation Index®
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Intro: Use Case and Use Case Diagram Documentation.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
אתרי מתמטיקה באינטרנט לפניכם מספר אתרים מעניינים ללימוד מתמטיקה תוך כדי משחק ותרגול. אנו מניחים שמצגת זו מביאה מספר קטן מן האתרים הקיימים ברשת. אין ספק.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
Requirements Analysis and Design Engineering Southern Methodist University CSE 7313.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 Use Case 1 what are use cases? “A specification of sequences of actions, including variant.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
1 Use Case Diagrams Use Case Actor Use case description Use case realization (Scenario) Use case relationships –Extends –Uses.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
Scenario A scenario is a sequence of steps describing an interaction between a user and a system. Use case is a set of scenarios tied together by a common.
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” Used to capture and describe.
1 מבוא לתכנות – תוכנה פונקציות. 2 משחק החיים של Conway The Game of life סימולצית פעילות מערכת תאים שפותחה על ידי המתמטיקאי הבריטי ג'ון הורטון קונווי בשנת.
UC Diagram & Scenario RKPL C & D. Using Use Case Diagram Use case diagrams are used to visualize, specify, construct, and document the (intended) behavior.
Jan Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 1 פרק 5 תרשימי מצבים Statecharts למחלקות תגובתיות Reactive Classes הקדמה ודוגמא.
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Using Use Case Diagrams
Use Case Modeling - II Lecture # 27.
Tirgul 12 Trees 1.
Recall The Team Skills Analyzing the Problem (with 5 steps)
UML Use Case Diagrams.
ניתוח ועיצוב מערכות תוכנה אביב 2014
Start at 17th March 2012 end at 31th March 2012
Requirements: Use Case Models and Narratives
UML PPt by: Hong Qing Yu.
Use Case Modeling.
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Object Oriented Analysis and Design
מבחן t למדגם יחיד.
Computer Programming תרגול 3 Summer 2016
Engineering Programming A
IS0514 Lecture Week 3 Use Case Modelling.
Use Case Model Use case diagram – Part 2.
Using Use Case Diagrams
Seminar 2 Design of Informatics Systems
Use cases Dr. X.
Presentation transcript:

ניתוח ועיצוב מערכות תוכנה אביב 2012 נסיבות שימוש (Use Case Modeling)

Overview A use case captures the intended functionality of the system (or subsystem, class, or interface) you are developing, without having to specify how that functionality is implemented. “A use case is a narrative document that describes the sequence of events of an actor (an external agent) using a system to complete a process.” [Jacobson] “They are stories or cases of using a system. Use case are not exactly requirements or functional specifications, but they illustrate and imply requirements in the stories they tell.” [Larman] “A description of set of sequence of actions, including variants, that a system performs that yield an observable result of value to an actor.” [Booch]

Use Case Description Template Section Purpose Name The name of the use case. Short descriptive phrase Description Several sentences summarizing the use case. Actors The participating actors. Precondition Requirements on the state of the system prior to this use being valid. Postconditions This describes the state of the system following the successful completion of this use. Basic course of action The main path of logic an actor follows through a use case. The path describes how the use case works when everything works as it normally should Alternate courses The path that are the result of an alternate way to work, an exception, or an error condition 3

Finding Actors External objects that produce/consume data: Must serve as sources and destinations for data Must be external to the system Humans Machines External systems Sensors Database Organizational Units Printer

Use Case Diagram Actor: Use Case: Subject Boundary: An actor is a person, organization, or external system that plays a role in one or more interactions with your system. You can use inheritance on actors. Notice the association. Use Case: A use case describes a sequence of actions that provide something of measurable value to an actor and is drawn as a horizontal ellipse. Subject Boundary: Indicates the scope of your subject.  Anything within the box represents functionality that is in scope and anything outside the box is not . Actor Use case subject boundary Online Shopping

Organizing Use Case - Include An include relationship between use cases means that the base use case explicitly incorporates the behavior of another use case at a location specified in the base. When to use it? Use include when you are repeating yourself in two or more separate use cases and you want to avoid repetition. Another motivation is simply to decompose an overwhelmingly long use case into subunits to improve comprehension. <<Include>> is discussed in [Larman], p. 494 (Section 30.1) <<Extend>> is discussed in [Larman], p. 497 (Section 30.3)

Organizing Use Case - Extend An extend indicate that one use case (extension) extends the behavior of another use case (base). The extend relationship specifies that the incorporation of the extension use case is (optional) dependent on what happens when the base use case executes. Useful when, for some reason, we would not like to change a certain Use Case we need to extend. There can be many extending use cases and many extension points. Larman p.498: Some Use-Case guidelines recommend using Extending Use-Cases and the <<extend>> relationship to model conditional or optional behaviour inserted into the Base Use-Case. This is not inaccurate, but it misses the point that optional and conditional behaviour can simply be recorded as text in the Extensions section of the Base Use-Case.

Include vs. Extend - Comparison Arrow to Base from Extension  Execution is Optional Allows appending to the use case without changing it’s original text. Arrow: from Base to Included  Execution is Mandatory Avoid repetition

דוגמא 1 (מועד ב, סמסטר א, 2008) מונופול הוא משחק לוח המבוסס על עולם העסקים האמיתי בו מבצעים מהלכי קנייה ומכירה של נכסי נדל"ן. המשחק מבוצע תוך כדי סימולציה של מהלכים עסקיים אמיתיים, כשהשחקנים קונים ומוכרים נכסים, בונים בתים ומלונות. המנצח במשחק הוא זה שצובר את הרכוש הרב ביותר (סכום ערך הנדל"ן והמזומנים שיש ברשותו). חוקים: הלוח מורכב ממשבצות שמקיפות אותו (לפחות 40 משבצות- תלוי קונפיגורציה). כל שחקן בתורו מטיל קובייה ומתקדם לפי תוצאת הקובייה לכיוון קבוע. אם שחקן נוחת על משבצת שמייצגת שטח (רחוב בעיר מסוימת) שלא שייך לאף שחקן אחר הוא יכול לקנות אותו. אם הוא נוחת על שטח שכבר שייך לשחקן אחר עליו לשלם לו דמי שכירות, בהיקף אשר נקבע ע"י הטלת קובייה. על ידי קניית בתים בתוך השטחים ניתן להעלות את גובה דמי השכירות בשטח בו נמצא הבית. חובה לקנות את כל העיר (כל הרחובות בעיר) לפני קנית בית. לאחר קניית 4 בתים ניתן לבנות מלון המגדיל את סכום השכירות עוד יותר. בכל פעם שחולפים על פני משבצת הפתיחה או נוחתים עליה, זוכים בסכום מסוים של כסף (תלוי קונפיגורציה). אם שחקן נוחת על משבצות "ההפתעה" עליו לקחת קלף הפתעה ולבצע את ההוראות שבו (לזכות או לשלם סכום כסף מסוים לקופת המשחק). ישנה משבצת כלא שתנאי הכניסה והשחרור ממנה מוגדרים בקונפיגורציה של המשחק. במשחק משחקים 2 עד 4 שחקנים אנושיים. במידה וחסרים שחקנים אנושיים, ניתן להגדיר שחקני מחשב. שחקן המחשב יכול לשחק באסטרטגיה חמדנית (בכל הזדמנות שיש לו לקנות נכס כלשהוא, הוא יקנה אותו, אלא אם אין לו כסף) או רנדומאלית (מחליט באופן אקראי אם לקנות נכס נתון). המשחק נגמר כאשר אחד השחקנים מחליט לעצור אותו.

פתרון דוגמא 1 – תרשים UC Who is Gail?

דוגמא 1 (מועד א, סמסטר א, 2008) מונופול הוא משחק לוח המבוסס על עולם העסקים האמיתי בו מבצעים מהלכי קנייה ומכירה של נכסי נדל"ן. המשחק מבוצע תוך כדי סימולציה של מהלכים עסקיים אמיתיים, כשהשחקנים קונים ומוכרים נכסים, בונים בתים ומלונות. המנצח במשחק הוא זה שצובר את הרכוש הרב ביותר (סכום ערך הנדל"ן והמזומנים שיש ברשותו). חוקים: הלוח מורכב ממשבצות שמקיפות אותו (לפחות 40 משבצות- תלוי קונפיגורציה). כל שחקן בתורו מטיל קובייה ומתקדם לפי תוצאת הקובייה לכיוון קבוע. אם שחקן נוחת על משבצת שמייצגת שטח (רחוב בעיר מסוימת) שלא שייך לאף שחקן אחר הוא יכול לקנות אותו. אם הוא נוחת על שטח שכבר שייך לשחקן אחר עליו לשלם לו דמי שכירות. על ידי קניית בתים בתוך השטחים ניתן להעלות את גובה דמי השכירות בשטח בו נמצא הבית. חובה לקנות את כל העיר (כל הרחובות בעיר) לפני קנית בית. לאחר קניית 4 בתים ניתן לבנות מלון המגדיל את סכום השכירות עוד יותר. בכל פעם שחולפים על פני משבצת הפתיחה או נוחתים עליה, זוכים בסכום מסוים של כסף (תלוי קונפיגורציה). ביישום זה יש משתמש אחד, תצפיתן, אשר מגדיר את כמות השחקנים שישתתפו במשחק, ועוקב אחרי מהלכי המשחק. המשחק נגמר כאשר אחד השחקנים הווירטואליים או התצפיתן מחליטים לעצור אותו או כאשר מוכרז מנצח.

פתרון דוגמא 2 – תרשים UC Note that Marking an Extension Points region is optional. VP, in it’s current version (we use 8.0), adds it automatically. We leave it up to you to add it or not. If you do choose to add such a region, notice that the extension point does not have to be named after the extension. If readability would benefit from naming it differently – don’t hesitate to do so!

פתרון דוגמא 2 – תיאור UC Use Case UC1: Play Monopoly Game Actor: Observer Pre Condition: Use-case “Set Game Settings” was performed. Post Condition: A winner has been declared or Observer cancels. Main Success Scenario: System displays game trace for next player move. Repeat step 1 until a winner is declared or Observer cancels. Extensions: *a. At any time, System fails: (To support recovery, System logs after each completed move) Observer restarts System. System detects prior failure, reconstructs state, and prompts to continue. Observer chooses to continue (from last completed player turn). Player wishes to start use-case “End Game” Notice how only Extension #4 really receives an Extended Use-Case “End Game”.

דוגמא 3 (בוחן 2010) יש לטפל בקליטת/רישום מאמרים מוגשים מעת לעת לכנס ע"י מחבר/מחברים. (הנח שמאמרים נשלחים בדוא"ל לכתובת של ועדת התכנית ואחד מחבריה מטפל ברישומם במערכת.) עבור כל מאמר שמוגש רושמים את הפרטים הבאים: מספר מזהה ייחודי, שם המאמר, רשימת מילות מפתח ופרטי המחברים; אם יש יותר ממחבר אחד רושמים מי מהם איש הקשר (הדבר רשום בפרטי ההגשה), והמאמר מקבל סטאטוס "הוגש". הטיפול במאמרים שהוגשו לכנס הוא כלהלן: אחד או יותר מחברי ועדת התכנית עובר על מספר מאמרים בסטאטוס "הוגש", לפי בחירתו. עבור כל מאמר כזה ועל סמך מילות המפתח שמתארות אותו, הוא בוחר מספר שופטים מתאימים (ע"פ מילות המפתח שלהם), ובלבד שאף שופט לא קיבל בשלב זה יותר ממכסת המאמרים לשיפוט (נניח שישה). בעקבות בחירת שופט למאמר, המערכת שולחת לו בדוא"ל את פרטי המאמר וכתובת האתר שבו הוא יכול לקרוא את המאמר ולהוריד טופס/דוח שיפוט; כן נאמר לשופט מהו המועד האחרון להגשת דוח השיפוט. עם תום הקצאת המאמר למספר שופטים (שמספרם נתון לשיקול דעת ועדת התכנית) משתנה סטאטוס המאמר ל"נשלח לשיפוט". (אינך נדרש לטפל בבעיות אפשריות של מחסור בשופטים וכדומה.) ניתן להניח ששופט שקיבל מאמר/ים לשיפוט קורא מעת לעת המאמר מבין המאמרים שנשלחו אליו וממלא דוח שיפוט. (אינך נדרש לטפל בתהליך ההתחברות של שופט למערכת שבה מצויים המאמרים ואופן מילוי הטופס/הדוח.) השופט שולח את דוח שיפוט המאמר בדוא"ל לכתובת מתאימה של ועדת התכנית. הנח שחבר ועדת התכנית עובר מעת לעת על הודעות הדוא"ל שהתקבלו ומעביר/מעתיק את דוחות השיפוט למערכת. במערכת נרשם סטאטוס "הוגש דוח" של שופט למאמר. (אינך מתבקש לטפל בנושא זה של הגשת דוח השיפוט למאמר ע"י השופט).

דוגמא 3 (בוחן 2010) (המשך) בכל יום א' בבוקר המערכת עוברת על המאמרים שבסטאטוס "נשלח לשיפוט" ובודקת את מצב השיפוט: אם עדיין יש שופט/שופטים שטרם הגישו דוח והמועד האחרון להגשת הדוח הוא פחות מ-7 ימים מהמועד האחרון שנדרש להגשת הדוח - נשלחת לאותו שופט/שופטים תזכורת מתאימה. אם בעת הבדיקה מתברר שכל השופטים של מאמר כבר שלחו את דוחות השיפוט משתנה סטאטוס המאמר ל"התקבלו כל הדוחות". מעת לעת עוברים חברי ועדת התכנית על מאמרים במערכת בסטאטוס "התקבלו כל הדוחות" (חלקם או כולם), קוראים את דוחות השיפוט ומחליטים אם לקבל או לדחות את המאמרים; לאור החלטתה משתנה סטאטוס המאמר ל"התקבל" או "נדחה" ונשלחת הודעה מתאימה הן למחבר המאמר (באמצעות איש הקשר) והן לשופטי המאמר – בצירוף דוחות השיפוט. (בדרישות של מערכת זו לא נכלל טיפול בתהליך אפשרי של הגשת תיקונים, בבעיות של אי הגשת דוחות שיפוט ועוד דברים שלא תוארו כאן.) לאחר תום תקופת השיפוט, מתכנסים חברי ועדת התכנית ועוברים על כל המאמרים שהתקבלו לכנס. על פי שמות המאמרים, התקצירים ומילות המפתח שלהם הם מחליטים ורושמים אילו מושבים יהיו בכנס ומועדיהם, ואילו מאמרים ייכללו בכל מושב, כולל סדר ההצגה. תהליך זה יכול להתבצע בבת אחת עבור כל המאמרים או במספר סבבים, כאשר בכל פעם יש לאפשר לבצע שינויים בתכנית שיבוץ המושבים והמאמרים. בתום כל התהליך יציינו חברי הועדה במערכת שהתכנית "נסגרה" והמערכת לא תאפשר לבצע עוד שינויים של מושבים ושיבוצי מאמרים.

פתרון דוגמא 3 – תרשים UC

פתרון דוגמא 3 – תיאור UC1 UC1: הגש מאמר לכנס תיאור: מחבר המאמר מגיש מאמר לכנס. שחקנים: ועדת התוכנית. תנאי קדם: אין. תנאי סיום: פרטי המאמר נשמרו במערכת בסטאטוס = "הוגש", פרטי המחברים נשמרו במערכת. תסריט הצלחה עיקרי: מחבר מאמר מבקש להגיש מאמר לכנס. חבר ועדת התוכנית מזין את הפרטים הבאים למערכת: מספר מזהה, שם המאמר, מילות מפתח, תקציר מאמר, פרטי איש קשר. חבר ועדת התוכנית מזין את פרטי המחברים של מאמר למערכת. המערכת שומרת את פרטי המחברים במערכת . המערכת קובעת למאמר סטאטוס "הוגש", ושומרת את פרטיו. הרחבות: 4א. מחבר מאמר קיים כבר במערכת, המערכת לא שומרת את פרטיו שוב. 5א. המאמר כבר הוגש למערכת, המערכת מציגה הודעת שגיאה והמאמר לא נשמר.

פתרון דוגמא 3 – תיאור UC2 UC2: שבץ שופטים למאמר תיאור: חברי ועדת התוכנית בוחרים שופטים לשיפוט מאמרים שהוגשו לכנס. שחקנים: ועדת התוכנית, מערכת דואר אלקטרוני. תנאי קדם: הוגש לפחות מאמר אחד לכנס אשר טרם שובצו לו שופטים. תנאי סיום: שובצו שופטים למאמר, המאמר נשלח לשופטים ונקבע לו סטאטוס "נשלח לשיפוט". תסריט הצלחה עיקרי: חבר ועדת התוכנית מבקש לשבץ שופטים למאמר. המערכת מציגה את רשימת המאמרים שהוגשו ולא שובצו (בסטאטוס "הוגש") לחבר ועדת התוכנית. חבר ועדת התוכנית בוחר מאמר שברצונו לשבץ לו שופטים. המערכת מציגה את פרטי המאמר ופרטי שופטים. חבר ועדת התוכנית בוחר שניים עד ארבעה שופטים מתאימים לפי כישוריהם ותחומי העניין שלהם, מבין רשימת השופטים שהציגה המערכת. חבר ועדת התוכנית מאשר את שיבוץ השופטים. באמצעות מערכת הדואר האלקטרוני נשלחים לכל אחד מהשופטים שנבחרו לשפוט מאמר זה פרטי המאמר והמערכת רושמת לכל אחד מהם את התאריך האחרון להגשת תוצאות השיפוט. המערכת משנה את סטאטוס המאמר ל- "נשלח לשיפוט". הרחבות: אין הערה: ניתן גם לבנות לולאה שמתבצעת עבור כל מאמר שחבר ועדת התוכנית בוחר לשבץ.

פתרון דוגמא 3 – תיאור UC3 UC3: שלח תזכורת לשופטים מאחרים תיאור: שליחת תזכורת לשופטים אשר לא העבירו את דוח השיפוט עד למועד שנקבע להם בכל יום א' בבוקר. שחקנים: המערכת עבור חבר ועדת התוכנית, מערכת דואר אלקטרוני. תנאי קדם: קיימים מאמרים שהוגשו לכנס, שובצו לשופטים ועדיין לא התקבלו דוחות השיפוט שלהם. תנאי סיום: נשלחו תזכורות לשופטים מאחרים ועודכן סטאטוס מאמרים שעבורם הוגשו כל הדוחות. תסריט הצלחה עיקרי: המערכת עוברת על רשימת המאמרים שהוגשו לכנס, שובצו לשופטים וטרם התקבלו דוחות השיפוט שלהם. עבור כל מאמר שעבר התאריך האחרון להגשת דוח השיפוט שלו, המערכת שולחת תזכורת לשופט המאחר. המערכת עוברת על רשימת המאמרים שהוגשו לכנס ושובצו לשופטים. עבור כל מאמר שלו הוגשו כל הדוחות, המערכת מעדכנת את סטאטוס המאמר="התקבלו כל הדוחות". הרחבות: אין

פתרון דוגמא 3 – תיאור UC4 UC4: החלט על קבלת מאמר תיאור: חבר ועדת התוכנית מזין את החלטתו לגבי קבלת או דחיית מאמר לאחר קבלת דוחות השיפוט שחקנים: חבר ועדת התוכנית, מערכת דואר אלקטרוני. תנאי קדם: קיים מאמר שעבורו סטאטוס="התקבלו כל הדוחות". תנאי סיום: הוזנה החלטה על קבלת המאמר במערכת. תסריט הצלחה עיקרי: חבר ועדת התוכנית מבקש להחליט על קבלה/דחייה של מאמר. המערכת מציגה את רשימת המאמרים שעבורם התקבלו כל תוצאות השיפוט שלהם. חבר ועדת התוכנית בוחר מאמר מהרשימה. המערכת מציגה את פרטי המאמר ודוחות השיפוט שלו. חבר ועדת התוכנית מזין שהחליט לקבל את המאמר. המערכת משנה את סטאטוס המאמר ל- "התקבל". מערכת הדואר האלקטרוני שולחת הודעות קבלה עם דוחות השיפוט למחברי המאמר ולשופטי המאמר. הרחבות: 5א. חבר ועדת התוכנית מזין שהחליט לדחות את המאמר. 5א1. המערכת משנה את סטאטוס המאמר ל- "נדחה". 5א2. מערכת הדואר האלקטרוני שולחת הודעות דחייה עם דוחות השיפוט למחברי המאמר ולשופטי המאמר . 5א3. סיום ה-UC.

פתרון דוגמא 3 – תיאור UC5 UC5: קבע מושבים לכנס ושבץ מאמרים למושבים תיאור: חבר ועדת התוכנית מבקש לקבוע את מושבי הכנס ולשבץ לכל מושב מאמרים שהתקבלו לכנס שחקנים: חבר ועדת התוכנית. תנאי קדם: לכל המאמרים שהוגשו לכנס סטאטוס="התקבל"/"נדחה" (כלומר, הוחלט על קבלה/דחייה של כל המאמרים שהוגשו לכנס). תנאי סיום: מושבי הכנס שנקבעו והמאמרים ששובצו להם שמורים במערכת, תוכנית הכנס סגורה. תסריט הצלחה עיקרי: חברי ועדת התוכנית מבקשים לקבוע את מושבי הכנס. כל עוד התוכנית אינה סגורה ומתקבל קלט מחברי ועדת התוכנית לגבי המושבים והשיבוצים, בצע: המערכת מציגה את פרטי המאמרים שהתקבלו לכנס לחברי ועדת התוכנית. חברי ועדת התוכנית עוברים על מאמרים אלו ומחליטים על מושבי הכנס. המערכת שומרת את פרטי המושבים שנקבעו לכנס. חברי ועדת התוכנית מזינים למערכת את השיבוץ של מאמר למושב. המערכת שומרת את שיבוצי המאמרים למושבים. חברי ועדת התוכנית מזינים למערכת כי התוכנית סגורה. הרחבות: אין.