Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

TOGAF 9 Fundamental: 6. UML Introduction Romi Satria Wahono

Presentasi serupa


Presentasi berjudul: "TOGAF 9 Fundamental: 6. UML Introduction Romi Satria Wahono"— Transcript presentasi:

1 TOGAF 9 Fundamental: 6. UML Introduction Romi Satria Wahono

2 Romi Satria Wahono 2 SD Sompok Semarang (1987) SMPN 8 Semarang (1990) SMA Taruna Nusantara Magelang (1993) B.Eng, M.Eng and Dr.Eng (on-leave) Department of Computer Science Saitama University, Japan ( ) Research Interests: Software Engineering and Intelligent Systems Founder IlmuKomputer.Com LIPI Researcher ( ) Founder and CEO PT Brainmatics Cipta Informatika

3 Course Outline 1.Introduction 2.Basic Concepts 3.Core Concepts 4.Key Terminology 5.ADM Introduction 6.UML Introduction 7.TOGAF Case Study 3

4 6. UML Introduction 4

5 The Nature of Software Development 5

6

7 Is it Possible?

8 Systems Analysis and Design with UML 8

9 System Analysis and Design with UML 1.System Analysis 1.Business Process Identification  Use Case Diagram 2.Business Process Modeling  Activity Diagram or Business Process Modeling Notation (BPMN) 3.Business Process Realization  Sequence Diagram (Buat untuk setiap use case dengan menggunakan pola Boundary-Control-Entity) 2.System Design 1.Program Design 1.Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun) 2.Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E) 3.Deployment Diagram (arsitektur software dari sistem yang dibangun) 2.User Interface Design (Buat UI design dari Boundary Class) 3.Entity-Relationship Model (Buat ER diagram dari Entity Class)

10 1. Business Process Identification: Use Case Diagram 10

11 Use Case Diagrams Summarized into a single picture All of the use cases for the part of the system being modeled Use case represents the discrete activities performed by the user Use Case Diagram tells what the system will do Good for communicating with users

12 Use Case Diagram Syntax Actor person or system that derives benefit from and is external to the subject Use Case Represents a major piece of system functionality Association Relationship Include Relationship Extend Relationship Generalization Relationship >

13 Use Case A major piece of system functionality Can extend other Use Cases Placed inside system boundary Labeled with descriptive verb - noun phrase Use Case

14 System Boundary Includes the name of the system inside or on top Represents the scope of the system Actors are outside the scope of the system Boundary

15 Actor A person or another system that interacts with the current system A role, not a specific user Provides input, receives output, or both  actor  Actor/Role

16 Association Relationship Links actor and the Use Case Shows two-way communication If one-way, arrows are used * is for "multiplicity of the Association" **

17 Extends Relationship Extends Use Case to include Optional behavior Arrow points from the extension Use Case to the base Use Case  extend  Make Appointment Make Payment Arrangement

18 Include Relationship Include one Use Case from within another Arrow points from base Use Case to the included Use Case  include  Create New Patient Make New Patient Appointment

19 Generalization Relationship A specialized Use Case to a more generalized Use Case Arrow points from specialized to general Use Case Make Appointment Make Old Appointment

20 Use Case Diagram for Appointment System

21 Use Case Diagram with Specialized Actor

22 Extend and Include Relationships

23 Studi Kasus: ATM System 23

24 ATM System

25 Layar Kotak Uang Kotak Kartu Kotak Kuitansi

26 Masukkan PIN: Kotak Uang Kotak Kartu Kotak Kuitansi

27 Menu Utama 1.Melihat Saldo 2.Mentransfer Uang 3.Mengambil Uang 4.Logout Kotak Uang Kotak Kartu Kotak Kuitansi

28 Menu Melihat Saldo 1.Saldo anda adalah …. Kotak Uang Kotak Kartu Kotak Kuitansi

29 Menu Mentransfer Uang 1.No Account Penerima: Kotak Uang Kotak Kartu Kotak Kuitansi

30 Menu Mentransfer Uang 1.Jumlah uang yang dikirim: Kotak Uang Kotak Kartu Kotak Kuitansi

31 Menu Mentransfer Uang 1.Uang berhasil terkirim Kotak Uang Kotak Kartu Kotak Kuitansi

32 Menu Mengambil Uang 1.Jumlah uang yang diambil: Kotak Uang Kotak Kartu Kotak Kuitansi

33 Menu Mengambil Uang Uang berhasil diambil Kotak Uang Kotak Kartu Kotak Kuitansi

34 Use Case Diagram

35 Use Case Diagram (Alternatif)

36 2. Business Process Modeling 36

37 System Analysis and Design with UML 1.System Analysis 1.Business Process Identification  Use Case Diagram 2.Business Process Modeling  Activity Diagram or Business Process Modeling Notation (BPMN) 3.Business Process Realization  Sequence Diagram (Buat untuk setiap use case dengan menggunakan pola Boundary-Control-Entity) 2.System Design 1.Program Design 1.Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun) 2.Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E) 3.Deployment Diagram (arsitektur software dari sistem yang dibangun) 2.User Interface Design (Buat UI design dari Boundary Class) 3.Entity-Relationship Model (Buat ER diagram dari Entity Class)

38 2.1 Business Process Modeling: Activity Diagram 38

39 BPM With Activity Diagrams A number of activities support a business process across several departments Activity diagrams model the behavior in a business process

40 Actions and Activities Performed for a specific business reason Names begin with a verb and end with a noun “Make Appointment” Each activity normally associated with a use case

41 Object Nodes Activity and Actions usually modify objects Object nodes model these objects Objects represent a flow of information from between activities or actions

42 Control & Object Flows Control Flows (solid line) Paths of execution through the business process Can only be attached to actions or activities Object Flows (dashed line) Model the flow of objects through a business process Show actual objects entering and exiting the system An object is on one end, an action or activity is on the other end

43 Control Nodes 1.Initial – Only one, at top left 2.Final Activity – Stop the process 3.Final Flow – Stop this flow only 4.Decision – Guarded test conditions 5.Merge – Following decisions 6.Fork – Split parallel execution 7.Join – Join parallel execution

44 Swimlanes The business process may be broken into persons of responsibility Identify this with swimlanes

45 Activity Diagram Example

46 Creating Activity Diagrams 1.Set the context or scope of the activity being modeled 2.Identify the activities and control/object flows between activities 3.Identify any decisions made 4.Look for opportunities for parallelism 5.Draw the diagram

47 2.2 Business Process Modeling: Business Process Modeling Notation 47

48

49

50

51

52 Credit Application

53 Purchase Request

54 Shipment Process of a Hardware Retailer

55 The Pizza Collaboration

56 Order Fulfillment and Procurement

57 Studi Kasus: ATM System 57

58 Activity Diagram: Memasukkan Kartu

59 Activity Diagram: Memasukkan PIN

60 Activity Diagram: Mengecek Saldo

61 Activity Diagram: Mentransfer Uang

62 Activity Diagram: Mengambil Uang

63 Activity Diagram: Melakukan Logout

64 3. Business Process Realization: Sequence Diagram 64

65 System Analysis and Design with UML 1.System Analysis 1.Business Process Identification  Use Case Diagram 2.Business Process Modeling  Activity Diagram or Business Process Modeling Notation (BPMN) 3.Business Process Realization  Sequence Diagram (Buat untuk setiap use case dengan menggunakan pola Boundary-Control-Entity) 2.System Design 1.Program Design 1.Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun) 2.Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E) 3.Deployment Diagram (arsitektur software dari sistem yang dibangun) 2.User Interface Design (Buat UI design dari Boundary Class) 3.Entity-Relationship Model (Buat ER diagram dari Entity Class)

66 Sequence Diagrams Illustrate the objects that participate in a use case Show the messages that pass between objects for a particular use-case over time

67 Sequence Diagram Syntax AN ACTOR AN OBJECT A LIFELINE A FOCUS OF CONTROL A MESSAGE OBJECT DESTRUCTION anObject:aClass aMessage() x

68 Sequence Diagram 1.Susun Sequence Diagram untuk setiap Use Case yang dibuat 2.Mulai dari menarik Actor yang ada di Use Case Diagram, lanjutkan dengan membuat sequence detail dari berjalannya Use Case Catatan: Objek dari Lifeline di Sequence Diagram akan menjadi kandidat Class

69 Jenis Class 1.Boundary Class: 1.Class yang berinteraksi dengan aktor langsung (user interface) 2.Form, input, UI ini masuk di sini 2.Control Class: 1.Class yang berhubungan dengan pemrosesan, penghitungan, kalkulasi, komputasi, query, dst 3.Entity Class: 1.Class yang berhubungan dengan data, penyimpanan data/file

70 Studi Kasus: ATM System 70

71 Sequence Diagram: Memasukkan Kartu

72 Sequence Diagram: Memasukkan PIN

73 Sequence Diagram: Mengecek Saldo

74 Sequence Diagram: Mentransfer Uang

75 Sequence Diagram: Mengambil Uang

76 Sequence Diagram: Melakukan Logout

77 Estimating Project Size with Use Case Points 77

78 Use Case Points Alternative to Function Point Approach Classify actors and use cases as: 1.Simple 2.Average 3.Complex (Gustav Karner, 1993)

79 Actor and Use Case Weighting Tables Actor TypeDescriptionWeighting Factor SimpleExternal System with well-defined API1 AverageExternal System using a protocol- based interface, e.g., HTTP, TCT/IP, SQL 2 ComplexHuman3 Use-Case TypeDescriptionWeighting Factor Simple1-3 transactions5 Average4-7 transactions10 ComplexMore than 7 transactions15 Unadjusted Use Case Points (UUCP) = UAW + UUCW Unadjusted Use Case Weighting (UUCW) Unadjusted Actor Weighting (UAW)

80 Technical Complexity Factors Factor Number DescriptionWeight T1Distributed system2.0 T2Response time or throughput performance objectives 1.0 T3End-user online efficiency1.0 T4Complex internal processing1.0 T5Reusability of code1.0 T6Easy to install0.5 T7Ease of use0.5 T8Portability2.0 T9Ease of change1.0 Technical Complexity Factor (TCF) = (0.01 * TFactor)

81 Environmental Complexity Factors Factor Number DescriptionWeight E1Familiarity with system development process in use 1.5 E2Application experience 0.5 E3Object-oriented experience 1.0 E4Lead analyst capability 0.5 E5Motivation 1.0 E6Requirements stability 2.0 E7Part time staff E8Difficulty of programming language Environmental Factor (EF) = (-0.03 * EFactor)

82 Computing Use Case Points Adjusted Use Case Points (UCP) = UUCP * TCF * ECF Effort in Person Hours = UCP * PHM

83 Person Hour Multiplier (PHM) If the sum of (number of Efactors E1 through E6 assigned value 3) ≤ 2 PHM = 20 Else If the sum of (number of Efactors E1 through E6 assigned value 3) = 3 or 4 PHM 28 Else Rethink project; it has too high of a risk for failure

84 Person Hour Multiplier (PHM) Now it’s time to compute effort Let F1 = Number of E1 to E6 that are < 3 Let F2 = Number of E7 and E8 that are > 3 If F1 + F2 <= 2 PHM = 20 Else if F1 + F2 = 3 or 4 PHM = 28 Else Scrap the project

85 Person Month UCP = 42 PH = 20 * UCP = 20*42 = 840 PM = 840/8/22 = 4.7 (5 P/M) 85

86 Effort Estimation from PM Defined PM = 840/8/22 = 4.7 P/M TIME = 3.0 * PM 1/3 TIME = 3.0 * 4.7 1/3 TIME = 3.0 * 1.68 TIME = 5 month

87 Effort Estimation from PM Defined PM = 840/12/28 = 2.5 P/M TIME = 3.0 * PM 1/3 TIME = 3.0 * 2.5 1/3 TIME = 3.0 * 1.3 TIME = 4 month

88 Time 88

89 Use Case Points in EA

90

91 Effort Estimation from PM Defined PM = 520/8/22 = 2.95 P/M TIME = 3.0 * PM 1/3 TIME = 3.0 * /3 TIME = 3.0 * 1.43 TIME = 4.3 month

92 Budget (Custom Software) PekerjaanMan-MonthMonthBudgetTotal Planning Analysis Design Implementation Training

93 Budget (Generic Software) ProductTotal LMS Teleconference Chatting eLibrary

94 4. Class Diagram 94

95 System Analysis and Design with UML 1.System Analysis 1.Business Process Identification  Use Case Diagram 2.Business Process Modeling  Activity Diagram or Business Process Modeling Notation (BPMN) 3.Business Process Realization  Sequence Diagram (Buat untuk setiap use case dengan menggunakan pola Boundary-Control-Entity) 2.System Design 1.Program Design 1.Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun) 2.Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E) 3.Deployment Diagram (arsitektur software dari sistem yang dibangun) 2.User Interface Design (Buat UI design dari Boundary Class) 3.Entity-Relationship Model (Buat ER diagram dari Entity Class)

96 Class Diagram Elements 1.Classes 2.Attributes 3.Operations 4.Relationships

97 Classes Templates for creating instances or objects All objects of a class have same structure and behavior, but contain different attributes 1.Concrete: used to create actual objects 2.Abstract: extended to create other classes

98 Attributes Units of information relevant to the description of the class Only attributes important to the task should be included Attributes should be primitive types (integers, strings, doubles, date, time, Boolean, etc.)

99 Operations (Methods) Defines the behavior of the class Action that instances/objects can take Focus on relevant problem-specific operations (at this point)

100 Relationships Generalization “Is-A” relationship Enables inheritance of attributes & oper's Subclasses and superclasses Principle of substitutability Subclass be substituted for superclass Aggregation “Has-A” relationship Relates parts to wholes Uses decomposition

101 Relationships Association Relationships that don't fit “Is-A” or “Has-A” Often a weaker form of “Has-A” Miscellaneous relationships between classes Example: Patient schedules an appointment So the appointment has a patient This is weak

102 Example Class Diagram

103 More on Attributes Derived attributes /age, for example can be calculated from birth date and current date Visibility of attributes +Public: not hidden from any object #Protected: hidden from all but immediate subclasses –Private: hidden from all other classes Default is private

104 More on Operations Constructor: creates object Query: see class state Update: change attribute values Operations can also be public, protected, or private Default for operations is public

105 More on Relationships A primary purpose of class diagrams is to show relationships, or associations, between classes Class can be related to itself (role) Use a "+" sign to show it's a role and not the name of a relationship

106 Relationship Multiplicity 106 Exactly one Zero or more One or more Zero or one Specified range Disjoint ranges Dept Employee Boss Employee Boss Child Employee Spouse Vacation Committee 1..3, * 0..* 1

107 Class Diagram: Internet Order Project

108 Class Diagram: Sistem ATM

109 5. Deployment Diagram 109

110 System Analysis and Design with UML 1.System Analysis 1.Business Process Identification  Use Case Diagram 2.Business Process Modeling  Activity Diagram or Business Process Modeling Notation (BPMN) 3.Business Process Realization  Sequence Diagram (Buat untuk setiap use case dengan menggunakan pola Boundary-Control-Entity) 2.System Design 1.Program Design 1.Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun) 2.Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E) 3.Deployment Diagram (arsitektur software dari sistem yang dibangun) 2.User Interface Design (Buat UI design dari Boundary Class) 3.Entity-Relationship Model (Buat ER diagram dari Entity Class)

111 System Architectures Components Servers Mainframes, Minis, Micros Clients Input/Output HW used by users Terminals, PCs, special purpose HW Network HW and SW to connect clients to servers

112 Deployment Diagram Components Nodes Any piece of hardware in the model A computational resource Labeled by its name Stereotype to label the type of node Artifacts Piece of the information system Such as software or a database table

113 Deployment Diagram Components Node with Deployed Artifact Shows artifact placed on a physical node Good for showing distribution data or software Communication paths Links between nodes of the network

114 Deployment Diagram NodeArtifact Node with Deployment Artifact Communication Path

115 Deployment Diagram Examples

116 Deployment Diagram (2 Tier)

117 6. Data Model 117

118 System Analysis and Design with UML 1.System Analysis 1.Business Process Identification  Use Case Diagram 2.Business Process Modeling  Activity Diagram or Business Process Modeling Notation (BPMN) 3.Business Process Realization  Sequence Diagram (Buat untuk setiap use case dengan menggunakan pola Boundary-Control-Entity) 2.System Design 1.Program Design 1.Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun) 2.Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E) 3.Deployment Diagram (arsitektur software dari sistem yang dibangun) 2.User Interface Design (Buat UI design dari Boundary Class) 3.Entity-Relationship Model (Buat ER diagram dari Entity Class)

119 Data Model

120 References 1.Rachel Harrison, Study Guide TOGAF® 9 Foundation 2 nd Edition, The Open Group, Rachel Harrison, Study Guide TOGAF® 9 Certified 2 nd Edition, The Open Group, Open Group Standard, TOGAF® Version 9.1 (G116), The Open Group, Open Group Standard, TOGAF® Version 9.1 – A Pocket Guide (G117), The Open Group, Daniel Minoli, Enterprise Architecture A to Z: Frameworks, Business Process Modeling, SOA, and Infrastructure Technology, Taylor & Francis, Jon Holt and Simon Perry, Modelling Enterprise Architectures, The Institution of Engineering and Technology, Alan Dennis et al, Systems Analysis and Design with UML 4th Edition, John Wiley and Sons,


Download ppt "TOGAF 9 Fundamental: 6. UML Introduction Romi Satria Wahono"

Presentasi serupa


Iklan oleh Google