CUBS: Multivariate Sequence Classification Using Bounded Z
Download
Report
Transcript CUBS: Multivariate Sequence Classification Using Bounded Z
ניתוח מערכות מידע א'
הרצאה 3
תכנון מונחה עצמים
תרשימי UML
1
UML
?UML מה זה
3
UML – Unified Modeling Language
פותחה בשנות ה 90-ע"י
Booch, Jacobson, Rumbaugh
UML היא שפה וויזואלית לניתוח מערכות.
מתאימה למידול מונחה עצמים
משתמשת בסימנים גרפים לתיאור המערכת
לשפה יש מספר סוגי מודלים המתארים:
4
עצמים -הנתונים הסטטים
האינטראקציה בין העצמים
מצבי המערכת
UML תרשימי
UML סוגים של תרשימי9 ישנם
Use case Diagram
Class Diagram
Object Diagram
State Diagram
Activity Diagram
Sequence Diagram (Communication Diagram)
Collaboration diagram
Component diagram
Deployment diagram
למפתחים וללקוחות, התרשימים מאפשרים למנתחים
צפיה בהיבטים שונים של המערכת
צפיה ברמות הפשטה שונות
5
UML סוגי תרשימי
מבט כללי על המערכת
use cases
מבנה המערכת
object diagrams, class diagrams
התנהגות המערכת
state-chart, activity, sequence and collaboration
diagrams
מימוש
component and deployment diagrams
6
תרשימי UMLלתיאור
פעילות כללית של המערכת
use cases
7
- Use Case Diagramהגדרה
תרשים המתאר את הפונקציונליות של המערכת המתקיימת בין הActors-
לבין הUse Case-
- Actor ישות בעלת תפקיד במערכת
למשל במערכת של בנק השחקנים יהיו הלקוח ,והפקיד.
לא בהכרח אדם ,יכול להיות מערכת
- Use Case פעילות בעלת משמשעות ל .Actor
למשל במערכת של בנק :הפקדה ומשיכה.
על מנת למצוא את הuse cases-
8
יש לנתח את הפעילויות שהשחקנים יכולים לבצע.
UseCase
Actor
דוגמא- Use Case Diagram
Actor
Deposit
Use Cases
get balance
Customer
Withdraw
9
– Use Case Diagramעוד הערות
קבוצת use casesבעלי אותו נושא מקובצים יחדיו ונקראים subject
(נושא).
Actor יכול להתיחס ל use caseבודד ,או ל.subject -
Use Case משמשים לתיאור הדרישות של המערכת
בהמשך יהוו בסיס להגדרת תרשימים אחרים
שני יחסים מיוחדים משמשים לקישו בין שני :use case
<<extend>>
10
הרחבה של use case
משתמשים כאשר ל use caseיש מספר הרחבות אפשריות
>> ,<<includeנקרא גם >><<uses
הכלה של use case
משתמשים כאשר יש פעילות שמשותפת להרבה use case
– דוגמא מורחבתUse Case Diagram
Deposit
«uses»
get balance
«uses»
Customer
Withdraw
«extends»
print withdrawal
11
-Use Caseתיעוד
חשוב לתעד את התרשים.
מקובל לתעד עבור כל use case
תיאור קצר
רשימת השחקנים ( )actorsהמעורבים
תנאים שיש לקיים לפני ביצוע הפעולה
תיאור מפורט של אופן ביצוע הפעולה
תיאור של מצב המערכת בסוף התהליך
התיעוד לא בהכרח יכתב כולו בתחילת תהליך התכנון אלא
יתפתח לאורך התכנון
12
-Use Caseתרגול
יש דוגמאות בספר של BENNETעמ 155ועמ 156
אפשר להשתמש ולממש
13
תכנון מונחה עצמים
על קצה המזלג...
14
מהו תכנון מונחה עצמים
העולם מיוצג ע"י עצמים (אוביקטים.)objects ,
לעצמים יש מצב )(attributes
מתואר ע"י תכונות שונות.
לעצמים יש התנהגויות )(methods
מה שאוביקט יכול לעשות
מה שאפשר לעשות עם אוביקט
תבנית המתארת את העצם נקראת מחלקה ()class
מימוש של עצם מסויים נרקא עצם או אוביקט ()object
15
דוגמא -מחקלה לניהול חשבון בנק
חשבון בנק – הגדרת המחלקה
תכונות )(attributes
פעולות )(methods
16
שם בעל החשבון
יתרה
משיכה
הפקדה
בירור יתרה
חשבון הבנק – מחלקה ואוביקט
שם
מחלקה
תכונות
פעולות
17
מחלקה
(הרעיון/תבנית)
שם
מחלקה
תכונות
+ערכים
אוביקטים
(המימוש)
שם
אוביקט
עקרונות בתכנון מונחה עצמים
תכנון מונחה עצמים תומך בעקרונות הבאים
הכמסה – encapsulation
נלמד עכשיו
ירושה – inheritance
נלמד בהמשך
פולימורפיזם polymorphism -
18
מהי הכמסה ()encapsulation
אפשר להסתכל על מחלקה בשני אופנים
פנימי
19
פנימי – הפרטים של המחלקה ,התכונות והפעולות שלה
חיצוני – השירותים שהמחלקה מספקת
חיצוני
הכמסה (המשך)
ראינו ששימוש במחלקה נעשה ע"י יצירת אוביקט.
בעזרת האוביקט ניתן להשתמש בשירותי המחלקה
בעת שימוש בשירותי המחלקה דרך האוביקט
אין צורך לדעת כיצד מבוצע השירות
שינויים לתכונות המחלקה יבוצעו רק ע"י מתודות המחלקה
רצוי שיהיה בלתי אפשרי לבצע שינוי חיצוני לתכונות
נחשוב על אוביקט כקופסא שחורה המנוהלת רק דרך מתודות
20
הכמסה (המשך)
מתודות
מחלקה
תכונות
21
לקוח
רמות גישה -להשגת הכמסה
Private
ניתן לגשת אך ורק מתוך המחלקה
מסומן בעזרת הסימן -
Public
ניתן לגשת מבל מקום (בחבילה)
גם מתוך המחלקה וגם מבחוץ
מסומן בעזרת הסימן +
Protected
ניתן לגשת מתוך המחלקה או במחלקות יורשות (נדבר בהמשך)
22
(מסומן בעזרת הסימן )#
private
public
- privateמאפשר גישה רק מתוך המחלקה
תכונות
בדרך כלל תכונות יוגדרו private
ניתן לגשת לתכונות רק מתוך המחלקה
מתודות המחלקה יכולות לגשת לתכונה
מתודות
23
מתאים להגדרת מתודות המחלקה שאינן מיועדות לשימוש חיצוני
מתודות המחלקה יכולות לגשת למתודה
מתודות שאינן של המחלקה לא יכולות לגשת למתודה
טוב למתודות "שרות" שהמתודות האחרות משתמשות בו.
- publicמאפשר גישה גם מחוץ למחלקה
תכונות
בדרך כלל תכונות לא יוגדרו public
מתודות
24
בדרך כלל יוגדרו publicשכן הן מיועדות לשימוש מחוץ
למחלקה
מאפשר גישה למתודות מחוץ למחלקה
מאפשר גישה מכל מתודות המחלקה
get, set
כיוון שאין גישה לתכונות המחלקה באופן ישיר ,מקובל להגדיר
מתודות גישה לתכונות
מתודות אלו נקראות בשמות
- getXמחזירה את ערך התכונה ( Xנקרא גם )accessor
- setXקובע את ערך התכונה ( Xנקרא גם )mutator
מתודות getו set -מאפשרות גישה מבוקרת לתכונות
המחלקה
25
ניתן להגביל טווח ערכים
ניתן לבדוק שהערכים תקינים
כאשר אין צורך לא נגדיר לתכונות מתודות getו set
לתיאורUML תרשימי
מבנה המערכת
object diagrams, class diagrams
26
- Class Diagramהגדרה
בתרשים Class Diagramמציגים את המצב הסטטי של
המערכת ושל פעולות המתבצעות בה
הרכיבים בתרשים:
מחלקות
תכונות ()attributes
פעולות (נקראות גם מתודות( ))methods or operations
יחסים בין המחלקות
association, aggregation, composition, generalization
לרב תרשים Classנוצר במקביל לתרשים Use Case
27
הגדרת מחלקות – כיצד?
נגדיר כמחלקה כל ישות במערכת
כל שחקן ( )actorיהווה מחלקה
לקוח ,פקיד
אוסף תהליכים עם קישור לוגי יהווה מחלקה
חשבון בנק
דוגמאות נוספות
28
ממשק למשתמש
ישות שמתקשרת עם גורמי מידע חיצוניים
ישות האחראית על משאבים
- Class Diagramדוגמא
נגדיר מחלקה עבור לקוח בבנק.
נקרא לו Customer
ללקוח יש מספר ת"ז ,שם וכו'
אלו התכונות ( )attributesשל המחלקה
נרצה לייצא את המידע על התכונות של הלקוח גם
למחלקות אחרות ,ולאפשר עידכון שלהם
לשם כך נגדיר מתודות כמו getName, setName
נראה איך המחלקה תיוצג ב .class diagram
29
תרשים של מחלקה
:Class Diagram כמו שיראה ב, מחלקה של לקוח
private -
public +
Customer
-name
-idNum
+getName()
+getIdNum()
+setName()
+setIdnum()
attributes
operations
(methods)
30
כדאי לדעת
רמות הגישה נקראות ב Access specifiers UML
ראינו כבר
private, public, protected
קיים גם package
פירושו שניתן לגשת מתוך חבילת ה UML
יסומן ב ~
הערות ב UMLמופיעות בתוך סימון של פתקית:
This is a comment, also called a note
31
מעבדה
עבודה עם UMLב ב VISIO
32