ניתוח מערכות מידע א' הרצאה 3

Slides:



Advertisements
Similar presentations
UML: The Unified Modeling Language Excertos do livro: The Unified Modelling Language User Guide by Grady Booch, James Rumbaugh and Ivar Jacobson.
Advertisements

Sucha Smanchat  Steps in OOAD using UML  Use Case Diagram  Sequence Diagram / Communication Diagram  Class Diagram  State.
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
Lecture 12: Chapter 22 Topics: UML (Contd.) –Relationship Structural Behavioral –Diagram Structural Behavioral.
UML – Class Diagrams.
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
Principles of Object-Oriented Software Development Unified Modeling Language.
7M822 UML Introduction 7 September 2010.
Unified Modeling Language(UML) BY
CS 2511 Fall UML Diagram Types  2 Main Types Structure Diagrams ○ Class Diagrams ○ Component Diagrams ○ Object Diagrams Behavior Diagrams ○
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
CH06: Considering Objects TECH Computer Science  Set, Class, Type  …of…  Objects, Actors, Agents  Data and Actions Object-Oriented Design and Development.
UML What Is the UML? The Unified Modeling Language (UML) is the successor to the wave of object- oriented analysis and design (OOA&D) methods.
IT 21103/41103 System Analysis & Design. Chapter 05 Object Modeling.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Design Jon Walker. More UML ● What is UML again?
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
CONTENT 1.Software Process 2.Object Technology 3.UML 4.UML For Java.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 UML 1 UML unified modeling language 1994 first attempts - largely theoretical 1997 UML.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
Object Oriented Programming Lecture 10: UML & CRC.
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
Rational Rose For System Design What is Rational Rose? Rational Rose is the visual modeling software solution that lets you create, analyze, design,
Technical Module C Object Modeling Objects Object – a valuable resource: Money (Account Receivable) Material (Product) Machines (Delivery Truck) Personnel.
Basic Characteristics of Object-Oriented Systems
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
UML (Unified Modeling Language)
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Use Cases -Use Case Diagram
UML(Unified Modeling Language)
Object-oriented and Structured System Models
Evolution of UML.
Introduction to UML.
Object-Oriented Analysis and Design
Object-Oriented Techniques
Systems Analysis and Design With UML 2
Introduction to Unified Modeling Language (UML)
Introduction to UML Tutorial 1.
Modelowanie i analiza systemów informacyjnych Model of a Real World to prepare information system requirements with Use Case Diagrams Marek Bazan Marzec.
Systems Analysis and Design With UML 2
James Miller, Julia John
University of Central Florida COP 3330 Object Oriented Programming
UML - Unified Modeling Language
A short introduction to UML Eivind J. Nordby Karlstad University
תכנות מכוון עצמים ושפת JAVA
A tool for presentation of Architecture
A tool for presentation of Architecture
The Basics of Class Diagrams for a single class
אפיון ועיצוב מערכות מוכוון עצמים
Software Engineering Lecture #11.
Introduction to UML.
Unified Modeling Language
Use Cases & Use Case Diagrams
Real-time (OO) Systems Design Using UML
Software Design Lecture : 14.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

ניתוח מערכות מידע א' הרצאה 3 תכנון מונחה עצמים תרשימי UML

UML מה זה UML?

UML – Unified Modeling Language פותחה בשנות ה-90 ע"י Booch, Jacobson, Rumbaugh UMLהיא שפה וויזואלית לניתוח מערכות. מתאימה למידול מונחה עצמים משתמשת בסימנים גרפים לתיאור המערכת לשפה יש מספר סוגי מודלים המתארים: עצמים - הנתונים הסטטים האינטראקציה בין העצמים מצבי המערכת

תרשימי UML ישנם 9 סוגים של תרשימי UML Use case Diagram Class Diagram Object Diagram State Diagram Activity Diagram Sequence Diagram (Communication Diagram) Collaboration diagram Component diagram Deployment diagram התרשימים מאפשרים למנתחים, למפתחים וללקוחות צפיה בהיבטים שונים של המערכת צפיה ברמות הפשטה שונות

סוגי תרשימי UML מבט כללי על המערכת מבנה המערכת התנהגות המערכת מימוש use cases מבנה המערכת class diagrams object diagrams, התנהגות המערכת state-chart, activity, sequence and collaboration diagrams מימוש component and deployment diagrams

תרשימי UML לתיאור פעילות כללית של המערכת use cases

Use Case Diagram - הגדרה תרשים המתאר את הפונקציונליות של המערכת המתקיימת בין ה-Actors לבין ה-Use Case Actor - ישות בעלת תפקיד במערכת למשל במערכת של בנק השחקנים יהיו הלקוח, והפקיד. לא בהכרח אדם, יכול להיות מערכת Use Case - פעילות בעלת משמשעות ל Actor. למשל במערכת של בנק: הפקדה ומשיכה. על מנת למצוא את הuse cases- יש לנתח את הפעילויות שהשחקנים יכולים לבצע.

Use Case Diagram - דוגמא Actor Use Cases

Use Case Diagram – עוד הערות קבוצת use cases בעלי אותו נושא מקובצים יחדיו ונקראים subject (נושא). Actor יכול להתיחס לuse case בודד, או ל- subject. Use Case משמשים לתיאור הדרישות של המערכת בהמשך יהוו בסיס להגדרת תרשימים אחרים שני יחסים מיוחדים משמשים לקישו בין שני use case: <<extend>> הרחבה של use case משתמשים כאשר לuse case יש מספר הרחבות אפשריות <<include>>, נקרא גם <<uses>> הכלה של use case משתמשים כאשר יש פעילות שמשותפת להרבה use case

Use Case Diagram – דוגמא מורחבת

Use Case - תיעוד חשוב לתעד את התרשים. מקובל לתעד עבור כל use case תיאור קצר רשימת השחקנים (actors) המעורבים תנאים שיש לקיים לפני ביצוע הפעולה תיאור מפורט של אופן ביצוע הפעולה תיאור של מצב המערכת בסוף התהליך התיעוד לא בהכרח יכתב כולו בתחילת תהליך התכנון אלא יתפתח לאורך התכנון

Use Case - תרגול יש דוגמאות בספר של BENNET עמ 155 ועמ 156 אפשר להשתמש ולממש

תכנון מונחה עצמים על קצה המזלג...

מהו תכנון מונחה עצמים העולם מיוצג ע"י עצמים (אוביקטים, objects). לעצמים יש מצב (attributes) מתואר ע"י תכונות שונות. לעצמים יש התנהגויות (methods) מה שאוביקט יכול לעשות מה שאפשר לעשות עם אוביקט תבנית המתארת את העצם נקראת מחלקה (class) מימוש של עצם מסויים נרקא עצם או אוביקט (object)

דוגמא - מחקלה לניהול חשבון בנק חשבון בנק – הגדרת המחלקה תכונות (attributes) שם בעל החשבון יתרה פעולות (methods) משיכה הפקדה בירור יתרה

חשבון הבנק – מחלקה ואוביקט אוביקטים (המימוש) מחלקה (הרעיון/תבנית) שם אוביקט שם מחלקה שם מחלקה תכונות + ערכים תכונות פעולות

עקרונות בתכנון מונחה עצמים תכנון מונחה עצמים תומך בעקרונות הבאים הכמסה – encapsulation ירושה – inheritance פולימורפיזם‎ - polymorphism נלמד עכשיו נלמד בהמשך

מהי הכמסה (encapsulation) אפשר להסתכל על מחלקה בשני אופנים פנימי – הפרטים של המחלקה, התכונות והפעולות שלה חיצוני – השירותים שהמחלקה מספקת פנימי חיצוני

הכמסה (המשך) ראינו ששימוש במחלקה נעשה ע"י יצירת אוביקט. בעזרת האוביקט ניתן להשתמש בשירותי המחלקה בעת שימוש בשירותי המחלקה דרך האוביקט אין צורך לדעת כיצד מבוצע השירות שינויים לתכונות המחלקה יבוצעו רק ע"י מתודות המחלקה רצוי שיהיה בלתי אפשרי לבצע שינוי חיצוני לתכונות נחשוב על אוביקט כקופסא שחורה המנוהלת רק דרך מתודות

הכמסה (המשך) מתודות לקוח מחלקה תכונות

רמות גישה - להשגת הכמסה Private ניתן לגשת אך ורק מתוך המחלקה מסומן בעזרת הסימן - Public ניתן לגשת מבל מקום (בחבילה) גם מתוך המחלקה וגם מבחוץ מסומן בעזרת הסימן + Protected ניתן לגשת מתוך המחלקה או במחלקות יורשות (נדבר בהמשך) (מסומן בעזרת הסימן #) private public

private - מאפשר גישה רק מתוך המחלקה תכונות בדרך כלל תכונות יוגדרו private ניתן לגשת לתכונות רק מתוך המחלקה מתודות המחלקה יכולות לגשת לתכונה מתודות מתאים להגדרת מתודות המחלקה שאינן מיועדות לשימוש חיצוני מתודות המחלקה יכולות לגשת למתודה מתודות שאינן של המחלקה לא יכולות לגשת למתודה טוב למתודות "שרות" שהמתודות האחרות משתמשות בו.

public - מאפשר גישה גם מחוץ למחלקה תכונות בדרך כלל תכונות לא יוגדרו public מתודות בדרך כלל יוגדרו public שכן הן מיועדות לשימוש מחוץ למחלקה מאפשר גישה למתודות מחוץ למחלקה מאפשר גישה מכל מתודות המחלקה

get, set כיוון שאין גישה לתכונות המחלקה באופן ישיר, מקובל להגדיר מתודות גישה לתכונות מתודות אלו נקראות בשמות getX - מחזירה את ערך התכונה X (נקרא גם accessor) setX - קובע את ערך התכונה X (נקרא גם mutator) מתודות get ו- set מאפשרות גישה מבוקרת לתכונות המחלקה ניתן להגביל טווח ערכים ניתן לבדוק שהערכים תקינים כאשר אין צורך לא נגדיר לתכונות מתודות get ו set

תרשימי UML לתיאור מבנה המערכת class diagrams object diagrams,

Class Diagram - הגדרה בתרשים Class Diagram מציגים את המצב הסטטי של המערכת ושל פעולות המתבצעות בה הרכיבים בתרשים: מחלקות תכונות (attributes) פעולות (נקראות גם מתודותmethods or operations) () יחסים בין המחלקות association, aggregation, composition, generalization לרב תרשים Class נוצר במקביל לתרשים Use Case

הגדרת מחלקות – כיצד? נגדיר כמחלקה כל ישות במערכת כל שחקן (actor) יהווה מחלקה לקוח, פקיד אוסף תהליכים עם קישור לוגי יהווה מחלקה חשבון בנק דוגמאות נוספות ממשק למשתמש ישות שמתקשרת עם גורמי מידע חיצוניים ישות האחראית על משאבים

Class Diagram - דוגמא נגדיר מחלקה עבור לקוח בבנק. נקרא לו Customer ללקוח יש מספר ת"ז, שם וכו' אלו התכונות (attributes) של המחלקה נרצה לייצא את המידע על התכונות של הלקוח גם למחלקות אחרות, ולאפשר עידכון שלהם לשם כך נגדיר מתודות כמו getName, setName נראה איך המחלקה תיוצג ב class diagram.

תרשים של מחלקה מחלקה של לקוח, כמו שיראה ב Class Diagram: private - attributes operations (methods) public +

כדאי לדעת רמות הגישה נקראות ב UML Access specifiers ראינו כבר private, public, protected קיים גם package פירושו שניתן לגשת מתוך חבילת ה UML יסומן ב ~ הערות בUML מופיעות בתוך סימון של פתקית:

מעבדה עבודה עם UML ב ב VISIO