Download presentation
Presentation is loading. Please wait.
Published byCora Hall Modified over 9 years ago
1
1 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Design Patterns למנתחי מערכות
2
2 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ תוכן מבוא ל- UML ה- Use Case Modeling ב- UML תוצרי ה- Conceptual Model קישור בין ה- Use Cases ל- Entity Classes ה- MVC – Pattern עקרונות ה- Coupling וה- Cohesion ה- Facade – Design Pattern ה – Adapter Design Pattern
3
3 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ UML מהו UML מטרות Models/Diagrams מחזור החיים בפיתוח ו- UML UML Diagrams כלים התומכים ב- UML
4
4 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ מהו UML Unified Modeling Language משמשת לעיצוב, הגדרה, בניה, תיעוד תוצרים The UML is a language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and othe non-software systems. The UML represents a collection of best engineering practices that have proven successful in the modeling of large and complex systems.
5
5 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ מטרות ניתוח ועיצוב מערכות על פי מתודולוגיית ה- OO שפה משותפת בין משתמש/מנתח מערכות/מעצב מערכות/מתכנת קל לתחזוקה פשטות
6
6 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Models and Diagrams Use Case Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams Collaboration Diagrams State Diagrams State Diagrams Component Diagrams Component Diagrams Component Diagrams Deployment Diagrams State Diagrams State Diagrams Object Diagrams Scenario Diagrams Scenario Diagrams Statechart Diagrams Use Case Diagrams Use Case Diagrams Sequence Diagrams State Diagrams State Diagrams Class Diagrams Activity Diagrams A model is a complete description of a system from a particular perspective Models
7
7 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ מחזור החיים בפיתוח ו- UML Requirements Design Implementation Test Analysis Use Case Model Design Model Depl. Model Impl. Model Analysis Model Test Model UML diagrams provide views into each model Each workflow is associated with one or more models.
8
8 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Use Case Driven Req.tsImpl.Test Use Cases Model Analysis Design
9
9 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ כלים התומכים ב- UML Rational Rose Select Objecteering Together Visio
10
10 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Use Case Modeling מבוא Actors Use Cases Use Case Diagram תיעוד ה- Use Case מערכת ספריה
11
11 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ מבוא ל- Use Case Modeling נבנה בשלב הגדרת הדרישות מורכב מ- Uses Cases, Actors וקשרים ביניהם מטרות מתאים גם למערכת שאינה Object Oriented
12
12 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ מטרות ה- Use Case Modeling דרך סיסטמטית ואינטואיטיבית להגדרת דרישות קשר בין המשתמש למפתח תאור ברור וממצה של מה אמורה לבצע המערכת מנקודת המבט של המשתמש שפה ברורה בין כל בעלי התפקידים בניית Test Cases תאור פונקצינלי של המערכת מנקודת ראות המשתמש
13
13 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Actors כל מי או מה שיוזם פעילות ישירה במערכת ו/או מקבל תוצר ישיר מהמערכת
14
14 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Use Cases תהליך פונקציונלי אחד ושלם מנקודת ראות המשתמש בצע השאלה עדכן רישום בצע הקצאת מקום הוסף ספר עדכן או מחק קורא Add Item Make Reservation
15
15 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ תעוד ה- Use Case תאור של מה לבצע ולא איך לבצע שפה דומה לטרמינולוגיה בשימוש ה- Actors הלקוח חייב לאשר את התאור ולכן… תבנית דוגמה לתעוד Use Case ניתן לתאר גם ע”י Activity Diagram
16
16 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ תבנית דוגמה לתעוד Use Case שם: מטרה: משתמשים: מסלול עיקרי: מסלולים חליפיים תנאי התחלה: תנאי סיום: יוצאים מהכלל: דרישות פונקציונליות דרישות לא פונקציונליות Name: Goal: Actors: Primary Flow: Alternate Flow Pre-Conditions: Post-Conditions: Exceptions: Functional Requirements Non Functional Requirements
17
17 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Primary/Alternate Flow כדאי לבנות את סעיף ה- Primary/Alternate Flow בצורה של טבלה פעילות ה- Actorsתגובת המערכת
18
18 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ תרגיל - ספריה הספרייה משאילה ספרים לקוראים פרטי הספרים והקוראים רשומים במערכת הספרייה רוכשת מידי פעם ספרים חדשים. המערכת אמורה לתמוך בניהול הספרים אבל לא בתהליך הרכישה. חלק מהספרים קיימים במספר עותקים עותקים של ספרים ישנים מוצאים מהספרייה אם הם במצב גרוע (בתחילת כל חודש הספרן מפיק דו”ח מצב) הספרן עובד מול הקוראים ומתחזק את המערכת כל קורא יכול לקבל מספר ספרים בו זמנית
19
19 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ תרגיל - ספריה -המשך כשקורא מבקש ספר שלא נמצא בספריה או נמצא אצל קורא אחר הספרן מחליט אם להכניס את הקורא לתור ממתינים. ניתן לבטל קורא מרשימת הממתינים בצורה יזומה. ברגע שספר נרכש או מוחזר לספריה ויש עבורו תור ממתינים הקורא הראשון ברשימה מקבל הודעה מתאימה. הספרן יכול להוסיף, לבטל, לעדכן נתונים של הקוראים, הספרים והעותקים במערכת. ההיסטוריה של ההשאלות, ההחזרות ותור הממתינים נשמרת במערכת
20
20 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ מערכת ספריה – Use Case Diagram
21
21 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Conceptual Model בשלב זה יש לאתר את ה- Entity Classes במערכת עבור כל Class יש לאתר את ה- Attributes העיקריים אין צורך להוסיף בשלב זה את ה- Operations ואת הקשרים בין ה- Classes עבור ה- Attributes יש לקבוע את השמות והטיפוסי הכללייים בלבד
22
22 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Conceptual Model – מערכת ספריה Reader : id, firstName, lastName Title : isbn, name, author Copy : copyId, status Loan : loanDate, returnDate Reservation : reservationDate
23
23 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Conceptual Model – מערכת ספריה
24
24 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Sequence Diagram מבוא גרסה ראשונה של ה- Sequence Diagram דוגמה של Sequence Diagram
25
25 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ מבוא ל- Sequence Diagram מתאר את הפעילויות בתוך Use Case ניתן לתאר באמצעותו גם Operations מורכבים מדגיש את גורם הזמן מציג את האינטראקציה בין האובייקטים מציג את האינטראקציה בין ה- Actors למערכת שלבים בבניית ה- Sequence Diagram
26
26 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ גרסה ראשונה של ה- Sequence Diagram
27
27 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Model-View-Controller Architecture Separation between the "GUI", the data and the business logic The model layer –Corresponds to the "real world". –Represents the Conceptual Model –Does not have any user interface element The view layer –Visible to the end user –Typically there is one view class for each dialog/window in the GUI The control layer –Controls the interaction between the model and the view
28
28 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Entity Classes Hold Information Eventually may be mapped to tables in the Detailed Design Phase Usually business entities that have meaning to the end user Usually found in the previous step (Conceptual Model) Corresponds to the MODEL layer of the MVC Architecture
29
29 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Boundary Classes Lays on the boundary between the system and the outside world Added to show the interaction with the user or another system Usually mapped to forms and windows of the application and interfaces to other applications In this phase, the purpose is to capture and document the interface requirements, not to show how the interface is implemented The implementation is dependent upon the application framework that is chosen later in the detailed design phase Corresponds to the VIEW layer of the MVC Architecture
30
30 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Control Classes Typically, one control class for a use case Manages the flow of events Manages the entity classes Middle layer between the boundary classes and the entity classes Corresponds to the CONTROLLER layer of the MVC Architecture
31
31 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ בצע השאלה – כולל MVC
32
32 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ עקרונות ה- Cohesion –A class is responsible for many things in different areas –A class is responsible for a too complex task in the same area
33
33 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Low Cohesion Problems Hard to comprehend Hard to reuse Hard to maintain Delicate: constantly effected by change
34
34 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ High Cohesion Assign a responsibility so that cohesion remains high Cohesion is a measure of how strongly related and focused the responsibilities of a class are A class with low cohesion does many unrelated things or does too much work
35
35 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Low Cohesion
36
36 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ כלים לפתרון בעיות ה- Cohesion Inheritance Aggregation Divide and Conquer
37
37 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ עקרונות ה- Coupling Coupling is a measure of how strongly one class is connected to, has knowledge of, or relies upon other classes
38
38 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ High Coupling Problems Harder to understand in isolation Harder to reuse because its use requires the additional presence of the classes it is dependent upon
39
39 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ High Coupling
40
40 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Assign a responsibility so that its placement does not increase the coupling Consider GOF Design Patterns כלים לפתרון בעיות ה- Coupling
41
41 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ בעיה
42
42 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ First Improvement
43
43 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Second Improvement - Adapter
44
44 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Adapter Converts the interface of a class into another interface clients expect. Adapter lets classes work together that could not otherwise because of incompatible interfaces (GoF)
45
45 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Object Adapter – General Solution Return adaptee.specificRequest()
46
46 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Object Adapter - Advantages The adapted object conforms exactly to the expected interface The Adaptee object is encapsulated and hidden from the client
47
47 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Class Adapter – General Solution
48
48 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ בעיה מסוג אחר
49
49 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ פתרון - Facade
50
50 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Facade Provides a unified interface to a set of interfaces in a subsystem Defines a higher-level interface that makes the subsystem easier to use
51
51 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Façade - General Solution
52
52 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Façade - Advantages The client is shielded from the subsystem components. This makes the system easier to use There is weak coupling between clients and subsystems Clients can still communicate directly with susbsystems if necessary
53
53 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Pattern Category Creational Structural Behavioral
54
54 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Creational Patterns Handle the instanciation process (how, when, and what objects are created) Handle the configuration of classes and objects Allows a system to work with "product" objects that vary in structure and functionality Abstract Factory Builder Factory Method Prototype Singleton
55
55 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Structural Patterns Handle the way classes and objects are used in larger structures, and separate interfaces from instanciation Adapter Bridge Composite Decorator Façade Flyweight Proxy
56
56 8/2001כל הזכויות שמורות לד. מימון ייעוץ והדרכה במחשבים בע"מ Behavioral Patterns Handle algorithms and the division of responsibility between objects, and dynamic interaction between classes and objects. Handle the communication between objects, not only structure –Chain of Responsibility –Command –Interpreter –Iterator –Mediator –Memento –Observer –State –Strategy –Template Method –Visitor
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.