סיכום השיעורים הקודמים

Post on 30-Dec-2015

76 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

ניתוח ועיצוב מערכות מידע תעשיה וניהול, שנה ב סמסטר אביב 2009 קורס 310211 הרצאה 4 : אפיון מערכות מוכוון עצמים ד"ר דיצה ביימל Email: dizzab@ruppin.ac.il. סיכום השיעורים הקודמים. שלב הניתוח כולל: שלב הייזום, איסוף נתונים וחקר מצב קיים, הגדרת דרישות וחקר ישימות. EPC - PowerPoint PPT Presentation

TRANSCRIPT

1Spring 2005Specification and Analysis of Information Systems

ניתוח ועיצוב מערכות מידע תעשיה וניהול, שנה בתעשיה וניהול, שנה ב

20092009סמסטר אביב סמסטר אביב 310211310211קורס קורס

: : 44 הרצאה הרצאה אפיון מערכות מוכוון עצמים אפיון מערכות מוכוון עצמים

ד"ר דיצה ביימלד"ר דיצה ביימלEmailEmail : :dizzab@ruppin.ac.il

2009ניתוח ואפיון מערכות מידע, 2

סיכום השיעורים הקודמיםסיכום השיעורים הקודמים

שלב הניתוח כולל: •

שלב הייזום,–

איסוף נתונים וחקר מצב קיים,–

הגדרת דרישות וחקר ישימות.–

•EPC

מודל המשמש לניתוח ותיעוד מצב –

קיים.

2009ניתוח ואפיון מערכות מידע, 3

סילבוס על פני ציר הזמןסילבוס על פני ציר הזמן

עקרונות

OOב שלב הניתוח

UML

1 2 3 4 5 6 7 8 9 10 12 13 1411

מבוא

OPM

2009ניתוח ואפיון מערכות מידע, 4

תוכן ההרצאהתוכן ההרצאה

UMLמבוא ל •

אפיון מונחה עצמים•

מושגים בסיסיים–

עקרונות בסיסיים–

קשרים–

סיכום•

2009ניתוח ואפיון מערכות מידע, 5

מוטיבציהמוטיבציה

– –20012001דוח מבקר המדינה לשנת דוח מבקר המדינה לשנת

מכלל פרויקטי התוכנה מסתיימים בהצלחה מכלל פרויקטי התוכנה מסתיימים בהצלחה13%13%

בעיות בפיתוח מערכות:אין מספיק שימוש חוזר בקוד•מציאת בגים•ריבוי שיטות סימון•המערכות גדלות ונעשות מורכבות•

2009ניתוח ואפיון מערכות מידע, 6

ניתוח מוכוון עצמיםניתוח מוכוון עצמים

גישת האובייקטים עוסקת ישירות בעולם האמיתי.•מהו אובייקט? •עולמו של הלקוח בנוי מאובייקטים•

חלקם פיזיים - כמו..–

חלקם לוגיים - כמו...–

לפי פיתוח מ"מ בגישה מונחית עצמים: זיהוי וארגון המחלקות •ולא לפי מושגי עולם המימושמושגי עולם הבעיה

. ++c הוכרזה שפת התכנות 1983בשנת • -UML יצאה הגרסה הראשונה של 1997בשנת •

Unified Modeling Language

לא עוד תהליכים!

אמור מעתה עצמים או אובייקטים

2009ניתוח ואפיון מערכות מידע, 7

UMLUML

UML היא שפת מודל שבאמצעותה נוכל לאפיין

ולעצב מערכות במתודולוגיה מוכוונת עצמים בצורה

.אחידה המקובלת בעולם היום

2009ניתוח ואפיון מערכות מידע, 8

UMLUMLמטרות מטרות

אחידות•

מסגרת•

פשוט ופרקטי•

מחזור חיי מערכת•

פרויקטים בסדר גודל ענק•

חוסר תלות בטכנולוגיה•

שפה המתאימה לכולם•

הפרדה בין שלבי פיתוח המערכת•

2009ניתוח ואפיון מערכות מידע, 9

UMLUMLמרכיבי מרכיבי

1. Use case diagram

2. Class diagram

3. Sequence Diagram

4. Collaboration diagram

5. State chart diagram

6. Activity diagram

7. Deployment diagram

8. Component diagram

9. Object diagram

TOTAL 9 DIAGRAMS

2009ניתוח ואפיון מערכות מידע, 10

תוכן ההרצאהתוכן ההרצאה

UMLמבוא ל •

OOAאפיון מונחה עצמים - •

מושגים בסיסיים–

עקרונות בסיסיים–

קשרים–

סיכום•

200911ניתוח ואפיון מערכות מידע, 11

(Object )עצם•

(Class )מחלקה•

(Instance )מופע•

(State )מצב(, Attribute )תכונה•

(, Method/Service )שיטה•

מושגים בסיסיים של מודל העצםמושגים בסיסיים של מודל העצם

200912ניתוח ואפיון מערכות מידע, 12

( – תבנית ממנה ניתן לייצר אובייקטים. Class) מחלקהמחלקה•

הוראות הכנה מחלקה אינה קיימת באמת. היא רק •לפעילות מסוימת.

קבוצת עצמים בעלי מאפיינים משותפים )תכונות, •פעולות, יחסים, התנהגות( שייכים לאותה מחלקה.

מחלקה היא הפשטה של אובייקט ממשי.•

.שם, תכונות, ושיטותלמחלקה יש •

מופעיםלמחלקה מוחשית יש •.האובייקטיםשהם

מחלקהמחלקה

200913ניתוח ואפיון מערכות מידע, 13

(Attribute/Property) תכונותתכונות•- אוסף נתונים )"שדות"(

המתארים את העצם. שיטותשיטות•

(Service/Operation/Method) - אוסף ה"פונקציות" של

המחלקה/העצם.

Student

NameDateofBirth

AddressPhoneGradesCourses

Student)name(Calc-average)(

Register-for )course(……..

Class Name

Attributes

Methods

תכונות ושיטותתכונות ושיטות

200914ניתוח ואפיון מערכות מידע, 14

( של מחלקה - עצם בודד של מחלקה.Instance) מופעמופע•

לכל עצם יש:•( - אוסף התכונות )השדות וערכיהם, קשר עם State )מצב–

עצמים אחרים( בנקודת זמן מסוימת.( - אוסף פעולותיו המייצגות כיצד Behavior )התנהגות–

העצם פועל ומגיב.( - ייחודיות. אין שני עצמים זהים.Identity )זהות–

מופע של מחלקה: אובייקטמופע של מחלקה: אובייקט

200915ניתוח ואפיון מערכות מידע, 15

)מופע של מחלקה( )מופע של מחלקה( אובייקטאובייקט מחלקה מחלקה

Student

Name:: moshe cohenDateofBirth: 1.1.79

Address: HaifaPhone:04-8888888

……….

Student)name(Calc-average)(

Register-for )course(

Student

NameDateofBirth

AddressPhoneGradesCourses

Student)name(Calc-average)(

Register-for )course(……..

200916ניתוח ואפיון מערכות מידע, 16

BicycleBicycle: : תרגיל כיתהתרגיל כיתה

נרצה לתאר מחלקה של אופניים.

לאופניים יש שלוש תכונות:• cadence, gear, speed

שיטות: 4לאופניים יש • setCadence, setGear, applyBrake, speedUp

2009ניתוח ואפיון מערכות מידע, 17

Bicycle ClassBicycle Class

Bicycle

cadencegear

Speed

setCadence )newValue)setGear )newValue)

applyBrakes )decrement) speedUp )increment)

2009ניתוח ואפיון מערכות מידע, 18

Bicycle CodeBicycle Code

class Bicycle{ //3 fields

int cadence = 0; int speed = 0; int gear = 1;

//4 methods void setCadence(int newValue) { cadence = newValue; } void setGear(int newValue) { gear = newValue; } void speedUp(int increment) { speed = speed + increment; } void applyBrakes(int decrement) { speed = speed - decrement; }}

2009ניתוח ואפיון מערכות מידע, 19

Create and use objectsCreate and use objects

class BicycleDemo { public static void main(String[] args) {

// Create two different Bicycle objects Bicycle bike1 = new Bicycle(); Bicycle bike2 = new Bicycle();

// change values and invoke methods on those objects bike1.speed = 20; bike2.gear = 2;

bike1.setCadence(20); bike1.speedUp(10); bike2.setGear(3); bike2.speedUp(12); }}

2009ניתוח ואפיון מערכות מידע, 20

תוכן ההרצאהתוכן ההרצאה

UMLמבוא ל •

אפיון ועיצוב מונחה עצמים•

מושגים בסיסיים–

עקרונות בסיסיים–

קשרים–

200921ניתוח ואפיון מערכות מידע, 21

(Data Abstraction)הפשטת נתונים 1.

(Information Hiding/Encapsulation)הכמסה 2.

(Interfaceממשק המחלקה )3.

(Modularity)מודולאריות 4.

(Inheritance/Hierarchy)היררכיה/ ירושה 5.

(Polymorphism )פולימורפיזם6.

(Reusability )שימוש חוזר7.

(Abstract classמחלקה מופשטת )8.

עקרונות בסיסיים של מודל העצםעקרונות בסיסיים של מודל העצם

200922ניתוח ואפיון מערכות מידע, 22

התפיסה לפיה מתרכזים במאפייניו הרלוונטיים של העצם.•

מאפיינים:•הצגת רק מה שחיוני למתבונן מבחוץ–ממשקים מוגדרים היטב לעצם–

דוגמאות:•בדוגמת האופניים בחרנו בשלושה מאפיינים והתעלמנו ממאפיינים –

אחרים כמו: צבע, משקל, ומחיר האופניים

Data AbstractionData Abstraction. הפשטת נתונים - . הפשטת נתונים - 11

BusyearOfProdction

Capacitycolor

200923ניתוח ואפיון מערכות מידע, 23

התפיסה לפיה אובייקט מאחד בתוכו את מבני הנתונים •המכילים את תכונותיו ואת השיטות שאותן הוא מפעיל.

הסתרת פרטי המימוש מהמשתמש באובייקט. •

הפרדה בין הממשק )= אוסף השירותים( ובין המימוש •)מנגנון פנימי(:

באובייקט מספיק להכיר כדי להשתמש–את הממשק שלו. אין צורך להכיר / להבין

מבנה ומנגנון פעולה פנימיים.

Encapsulation/Information HidingEncapsulation/Information Hiding. הכמסה - . הכמסה - 22

2009ניתוח ואפיון מערכות מידע, 25

בקוד בקוד דוגמאדוגמא

public class Bicycle {

// the Bicycle class has three fields

public int cadence;

protected int gear;

private int speed;

// the Bicycle class has four methods

public void setCadence(int newValue)

{ cadence = newValue; }

public void setGear(int newValue)

{ gear = newValue; }

protected void applyBrake(int decrement)

{ speed -= decrement; }

private void speedUp(int increment)

{ speed += increment; }

}

2009ניתוח ואפיון מערכות מידע, 26

Create and use objects: public/privateCreate and use objects: public/private

class BicycleDemo { public static void main(String[] args) {

// Create two different Bicycle objects Bicycle bike1 = new Bicycle(); Bicycle bike2 = new Bicycle();

// change values and invoke methods on those objects bike1.spead = 5; bike2.gear = 4; bike1.setCadence(50); bike1.speedUp(10); bike2.setGear(5); bike2.speedUp(10); }}

200927ניתוח ואפיון מערכות מידע, 27

"כפיית" מבניות.•

"חלק" הניתן להפרדה לוגית.- מודול •

מאפיינים:•כל עצם )מחלקה( עוסק בפונקציונאליות מוגדרת ושונה מהשאר–כל עצם )מחלקה( מעוצב ומיושם באופן עצמאי )עד כמה שניתן(– (Reusable)יש לשאוף שעצם )מחלקה( יהיה בר שימוש חוזר –

ModularityModularity. מודולאריות – . מודולאריות – 44

200928ניתוח ואפיון מערכות מידע, 28

קשר )מדרגי/רשתי( בין קבוצות המבטא “העתקת” מבנה •ו/או תכונות ו/או התנהגות מקבוצה אחת )קבוצת-על(

לקבוצה אחרת )תת-מחלקה(.

תת-מחלקה יורשת יכולה להוסיף מאפיינים המיוחדים •לה.

יתרונות:•חסכון בהגדרות ובקוד–תיקון ועדכון קלים יותר–

Inheritance/HierarchyInheritance/Hierarchy . היררכיה/ירושה -. היררכיה/ירושה -55

200929ניתוח ואפיון מערכות מידע, 29

מחלקה ב' יורשת את מחלקה א':•ב' מכילה את כל התכונות של א'–ב' מכילה את כל הפעולות של א'–ב' מכילה את כל הקשרים של א'–בנוסף, ב' מכילה תכונות ופעולות משל עצמה–

של א'(sub-class)ב' היא תת-מחלקה •: חץ חלול המסתיים במחלקת UMLסימון ב-•

העל.

א'

תכונות

פעולות

ב'

תכונות

פעולות

היררכיה/ירושה היררכיה/ירושה

200930ניתוח ואפיון מערכות מידע, 30

היררכיה/ירושה – דוגמא א'היררכיה/ירושה – דוגמא א'

Person

Faculty Member Administrator Student

200931ניתוח ואפיון מערכות מידע, 31

היררכיה/ירושה – דוגמא ב'היררכיה/ירושה – דוגמא ב'

חשבון בנק

הלוואה מט"ח עו"ש

עסקיפרטי

בוגריםצעירים חיילים

200932ניתוח ואפיון מערכות מידע, 32

המשך דוגמא: אופני הרים - סוג של אופנייםהמשך דוגמא: אופני הרים - סוג של אופניים

נרצה לתאר מחלקה של אופני הרים שיורשת ממחלקת אופניים.

לאופני הרים יש תכונה נוספת:• seatHeight

לאופני הרים יש שיטה נוספת: • setSeatHeight

2009ניתוח ואפיון מערכות מידע, 33

MountainBike ClassMountainBike Class

MountainBike seatHeight

setSeatHeight )newValue)

Bicycle .........

.........

2009ניתוח ואפיון מערכות מידע, 34

הורשה בקודהורשה בקוד

public class MountainBike extends Bicycle {

// the MountainBike subclass has one field public int seatHeight; 

// the MountainBike subclass has one method public void setHeight(int newValue) { seatHeight = newValue; } 

}

2009ניתוח ואפיון מערכות מידע, 35

protectedprotectedשימוש ב שימוש ב

public class A {

private int x;

protected int y;

private getY ()

{ return y;}

protected getX ()

{return x;}

}

public class B extends A{

public int z;

public int newY;

public int newX;

public int getZ () {

z = y;

z = getX();

A a= new A();

newY = a.y;

newX = a.getX();

return z;}

}

200936ניתוח ואפיון מערכות מידע, 36

מחלקה יורשת יכולה לרמוס שיטות שהוגדרו אצל האב.•רמיסה מלאה–רמיסה חלקית–

הרמיסה גורמת לריבוי צורות בעץ ההורשה עבור מימוש •של אותה שגרה.

PolymorphismPolymorphism. פולימורפיזם )רב-צורתיות( –. פולימורפיזם )רב-צורתיות( –66

Shape

ColorX1

Y1

draw)(Circle

Radius

draw)(

line

Length

200937ניתוח ואפיון מערכות מידע, 37

שילוב רכיבי תוכנה במערכת שנוצרו מחוץ למערכת.•סוגי רכיבים לשילוב:•

פותחו עבור מערכת אחרת–פותחו כרכיבים גנריים המיועדים מראש לשימוש חוזר–ציבוריים–

רכיבים מסחריים "מן המדף"•(Source Codeקוד פתוח )•

אופני שימוש חוזר:• – שימוש חוזר באותה רוטינת קוד(Sharing)שיתוף – – העתקת קטע קוד מתכנית אחרת(Copying/Cloning)שכפול – – שימוש באבטיפוס ושילוב רכיבים שהם (Adjusting)התאמה –

Reusable

ReuseReuse. שימוש חוזר - . שימוש חוזר - 77

2009ניתוח ואפיון מערכות מידע, 38

. מחלקה מופשטת. מחלקה מופשטת88

אינה מאפשרת ליצור ממנה מופעים.•

משרתת את המכניזם של ההורשה•

Animal<<abstract<<

CatDog

2009ניתוח ואפיון מערכות מידע, 39

תוכן ההרצאהתוכן ההרצאה

UMLמבוא ל •

אפיון ועיצוב מונחה עצמים•

מושגים בסיסיים–

עקרונות בסיסיים–

קשרים–

סיכום•

2009ניתוח ואפיון מערכות מידע, 40

קשריםקשרים

Association -קשר הקשר 1.

מחלקת קשר2.

קשר הכלה3.

קשר הכלה חזקה4.

קשר אסוציאטיבי עצמאי5.

2009ניתוח ואפיון מערכות מידע, 41

AssociationAssociation - -. קשר הקשר . קשר הקשר 11

הקשר הפשוט ביותר. •

מבטא יחס מסוים בין אובייקטים: הכרה, ידיעה, שימוש.•

מסומן ע"י קו בין מחלקות•כיוון–קרדינאליות–מידת ריבוי–שם–

Cat Food

2009ניתוח ואפיון מערכות מידע, 42

. מחלקת קשר. מחלקת קשר22

מחלקת קשר מתארת את הקשר עצמו.•

Reader Book

Borrow

2009ניתוח ואפיון מערכות מידע, 43

. קשר הכלה . קשר הכלה 33

הרחבה של קשר אסוציאטיבי. •

מבטא את העובדה שמחלקה אחת היא הכלה של •מחלקה אחרת

wheel Car1

*

2009ניתוח ואפיון מערכות מידע, 44

. קשר הכלה חזקה . קשר הכלה חזקה 44

wheel Car

מבטא את העובדה שמחלקה אחת היא הרכבה של •מחלקה אחרת

האובייקט החלש חי בזכות האובייקט החזק•

2009ניתוח ואפיון מערכות מידע, 45

. קשר אסוציאטיבי עצמאי . קשר אסוציאטיבי עצמאי 55

ניתן לתאר קשר של מחלקה אל עצמה, לצורך פישוט •התרשים

employee

manager

employee

1

*

2009ניתוח ואפיון מערכות מידע, 46

תוכן ההרצאהתוכן ההרצאה

UMLמבוא ל •

אפיון ועיצוב מונחה עצמים•

מושגים בסיסיים–

עקרונות בסיסיים–

קשרים–

סיכום•

2009ניתוח ואפיון מערכות מידע, 47

סיכוםסיכום

לא עוד תהליכים!אמור מעתה עצמים או אובייקטים

ונעבור ל:Use Case diagram

top related