TOGAF 9 Fundamental: 6. UML Introduction

Slides:



Advertisements
Presentasi serupa
Developing Knowledge Management dalam perusahaan Week 10 – Pert 19 & 20 (Off Class Session)
Advertisements

Systems Analysis and Design: System Analysis
Pengujian Hipotesis untuk Satu dan Dua Varians Populasi
Research Methodology 7. Metode Eksperimen
Mata Kuliah : ALGORITMA dan STRUKTUR DATA 1.
PEMOGRAMAN BERBASIS JARINGAN
Modeling Data in the Organization
Introduction to Lego Mindstrom Education EV3
Hypertext & Hypermedia
TRIP GENERATION.
Program Keahlian I – SI By Antonius Rachmat C, S.Kom
Materi Analisa Perancangan System.
Peta Kontrol (Untuk Data Variabel)
Documentation Techniques
1 Pertemuan > Desain fisik basis data Matakuliah: >/ > Tahun: > Versi: >
IT SEBAGAI ALAT UNTUK MENCIPTAKAN KEUNGGULAN KOMPETISI
IT Project Management Based on PMBOK
1.1 VISUAL STUDIO 2008 / VISUAL BASIC.NET By Wan hendra M
PERULANGANPERULANGAN. 2 Flow of Control Flow of Control refers to the order that the computer processes the statements in a program. –Sequentially; baris.
Tugas-Tugas.
Slide 3-1 Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Revised by IB & SAM, Fasilkom UI, 2005 Exercises Apa saja komponen utama.
PENGANTAR URBAN DESAIN
Review IS & Software System Concept Diah Priharsari PTIIK – Universitas Brawijaya Source: 1.Obrien & Marakas, Management Information.
Introduction to The Design & Analysis of Algorithms
IF-ITB/SAS/25Aug2003 IF7074 – Bagian Pertama Page 1 IF 7047 Kewirausahaan Teknologi Informasi Bagian Pertama: 1.1. Entrepreneurship, entrepreneur, dan.
Artificial Intelligence
PROSES PADA WINDOWS Pratikum SO. Introduksi Proses 1.Program yang sedang dalam keadaan dieksekusi. 2.Unit kerja terkecil yang secara individu memiliki.
1. Objek dalam kalimat aktif menjadi subjek dalam kalimat pasif
KIMIA ORGANIK II ELFI SUSANTI VH.
Jeff Howbert Introduction to Machine Learning Winter Classification Nearest Neighbor.
Pengantar/pengenalan (Introduction)
INTEGRITY CONSTRAINTS Database System Concepts, Second Edition, Chapter 5, page 149.
Risk Management.
2-Metode Penelitian Dalam Psikologi Klinis
Implementing an REA Model in a Relational Database
MEMORY Bhakti Yudho Suprapto,MT. berfungsi untuk memuat program dan juga sebagai tempat untuk menampung hasil proses bersifat volatile yang berarti bahwa.
Basisdata Pertanian. After completing this lesson, you should be able to do the following Identify the available group functions Describe the use of group.
1 Magister Teknik Perencanaan Universitas Tarumanagara General View On Graduate Program Urban & Real Estate Development (February 2009) Dr.-Ing. Jo Santoso.
2nd MEETING Assignment 4A “Exploring Grids” Assignment 4 B “Redesign Grids” Create several alternatives grid sysytem using the provided elements: (min.
BENTUK ING VERB + ING. Bentuk ING juga biasa disebut dengan ING form Meskipun pembentukannya sangat se- derhana tetapi penggunaannya mem- punyai aturan.
Slide 1 QUIS Langkah pertama caranya Buat di slide pertama judul Slide kedua soal Slide ketiga waktu habis Slide keempat jawaban yang benar Slide kelima.
10 - Innovation Matakuliah: G0622/Bahasa Inggris 1 Tahun: 2005 Versi: 1.01.
LOGO Manajemen Data Berdasarkan Komputer dengan Sistem Database.
PEMROGRAMAN PPBD (UAS) SEBELUM MELANGKAH KE TAHAP SELANJUTNYA BERDOA DULU BIAR LANCAR DAN GA EROR
Definisi VLAN Pemisahan jaringan secara logis yang dilakukan pada switch Pada tradisional switch, dalam satu switch menunjukkan satu segmentasi LAN.
MODELS OF PR SYIFA SA. Grunig's Four models of Public Relations Model Name Type of Communica tion Model Characteristics Press agentry/ publicity model.
Metodologi Penelitian dalam Bidang Informatika
SMPN 2 DEMAK GRADE 7 SEMESTER 2
THE EFFICIENT MARKETS HYPOTHESIS AND CAPITAL ASSET PRICING MODEL
Situasi Terkini tentang Penelitian dan Pelaksanaan Test danTreat di 28 Oktober 2014 Lecture Series Pusat Penelitian HIV dan AIDS.
1. 2 Work is defined to be the product of the magnitude of the displacement times the component of the force parallel to the displacement W = F ║ d F.
© 2009 Fakultas Teknologi Informasi Universitas Budi Luhur Jl. Ciledug Raya Petukangan Utara Jakarta Selatan Website:
Via Octaria Malau Transfer (Internal Transfers) Transfer (Transfers Internal) Select the account from which funds are to be transferred FROM and then select.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Pengalamatan Jaringan – IPv4 Dosen Pengampu: Resi Utami Putri, S.Kom.,
TCP, THREE-WAY HANDSHAKE, WINDOW
Mengapa Strategi Gagal Diterapkan?
Web Teknologi I (MKB511C) Minggu 12 Page 1 MINGGU 12 Web Teknologi I (MKB511C) Pokok Bahasan: – Text processing perl-compatible regular expression/PCRE.
Lecture 2 Introduction to C# - Object Oriented Sandy Ardianto & Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
Slide 1 Chapter 1: Introduction to Systems Analysis and Design Alan Dennis, Barbara Wixom, and David Tegarden John Wiley & Sons, Inc.
Activity Diagram Shinta P.. For Bussiness Modeling, Activity diagrams describe the activities of a class. It is used for the following purposes: (Bennet.
Object oriented analyst and design
OOAD – TI S1 Defri Kurniawan UDINUS
ANALISIS & DESAIN SISTEM
UML- UNIFIED MODELING LANGUAGE
Peer-to-Peer Information Systems Week 3: Assignment #2
User Interface Design and Development Shneiderman, Ch. 2 (loosely)
Object oriented analyst and design
Warm UP Write the definition of a triangle as a conditional.
What is Kerberos? Network Security.
Xuan Huo and Ming Li and Zhi-Hua Zhou
Transcript presentasi:

TOGAF 9 Fundamental: 6. UML Introduction Romi Satria Wahono romi@romisatriawahono.net http://romisatriawahono.net

Romi Satria Wahono 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 (1994-2004) Research Interests: Software Engineering and Intelligent Systems Founder IlmuKomputer.Com LIPI Researcher (2004-2007) Founder and CEO PT Brainmatics Cipta Informatika

Course Outline Introduction Basic Concepts Core Concepts Key Terminology ADM Introduction UML Introduction TOGAF Case Study

6. UML Introduction

The Nature of Software Development

romi@romisatriawahono.net Object-Oriented Programming http://romisatriawahono.net

Is it Possible? romi@romisatriawahono.net Object-Oriented Programming http://romisatriawahono.net

Systems Analysis and Design with UML

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

1. Business Process Identification: Use Case Diagram

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

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 <<includes>> <<extends>>

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

System Boundary 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

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

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

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

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

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

Use Case Diagram for Appointment System

Use Case Diagram with Specialized Actor

Extend and Include Relationships

Studi Kasus: ATM System

ATM System

ATM System Layar Kotak Uang Kotak Kartu Kotak Kuitansi romi@romisatriawahono.net Object-Oriented Programming ATM System Layar Kotak Uang Kotak Kartu Kotak Kuitansi http://romisatriawahono.net

Masukkan PIN: Kotak Uang Kotak Kartu Kotak Kuitansi romi@romisatriawahono.net Object-Oriented Programming Masukkan PIN: Kotak Uang Kotak Kartu Kotak Kuitansi http://romisatriawahono.net

Menu Utama Melihat Saldo Mentransfer Uang Mengambil Uang Logout romi@romisatriawahono.net Object-Oriented Programming Menu Utama Melihat Saldo Mentransfer Uang Mengambil Uang Logout Kotak Uang Kotak Kartu Kotak Kuitansi http://romisatriawahono.net

Saldo anda adalah …. Menu Melihat Saldo Kotak Uang Kotak Kartu romi@romisatriawahono.net Object-Oriented Programming Menu Melihat Saldo Saldo anda adalah …. Kotak Uang Kotak Kartu Kotak Kuitansi http://romisatriawahono.net

No Account Penerima: Menu Mentransfer Uang Kotak Uang Kotak Kartu romi@romisatriawahono.net Object-Oriented Programming Menu Mentransfer Uang No Account Penerima: Kotak Uang Kotak Kartu Kotak Kuitansi http://romisatriawahono.net

Jumlah uang yang dikirim: romi@romisatriawahono.net Object-Oriented Programming Menu Mentransfer Uang Jumlah uang yang dikirim: Kotak Uang Kotak Kartu Kotak Kuitansi http://romisatriawahono.net

Uang berhasil terkirim romi@romisatriawahono.net Object-Oriented Programming Menu Mentransfer Uang Uang berhasil terkirim Kotak Uang Kotak Kartu Kotak Kuitansi http://romisatriawahono.net

Jumlah uang yang diambil: romi@romisatriawahono.net Object-Oriented Programming Menu Mengambil Uang Jumlah uang yang diambil: Kotak Uang Kotak Kartu Kotak Kuitansi http://romisatriawahono.net

Uang berhasil diambil Menu Mengambil Uang Kotak Uang Kotak Kartu romi@romisatriawahono.net Object-Oriented Programming Menu Mengambil Uang Uang berhasil diambil Kotak Uang Kotak Kartu Kotak Kuitansi http://romisatriawahono.net

Use Case Diagram

Use Case Diagram (Alternatif)

2. Business Process Modeling

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

2.1 Business Process Modeling: Activity Diagram

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

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

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

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

Control Nodes Initial – Only one, at top left Final Activity – Stop the process Final Flow – Stop this flow only Decision – Guarded test conditions Merge – Following decisions Fork – Split parallel execution Join – Join parallel execution

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

Activity Diagram Example

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

2.2 Business Process Modeling: Business Process Modeling Notation

Credit Application

Purchase Request

Shipment Process of a Hardware Retailer

The Pizza Collaboration

Order Fulfillment and Procurement

Studi Kasus: ATM System

Activity Diagram: Memasukkan Kartu

Activity Diagram: Memasukkan PIN

Activity Diagram: Mengecek Saldo

Activity Diagram: Mentransfer Uang

Activity Diagram: Mengambil Uang

Activity Diagram: Melakukan Logout

3. Business Process Realization: Sequence Diagram

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

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

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

Sequence Diagram Susun Sequence Diagram untuk setiap Use Case yang dibuat 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

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

Studi Kasus: ATM System

Sequence Diagram: Memasukkan Kartu

Sequence Diagram: Memasukkan PIN

Sequence Diagram: Mengecek Saldo

Sequence Diagram: Mentransfer Uang

Sequence Diagram: Mengambil Uang

Sequence Diagram: Melakukan Logout

Estimating Project Size with Use Case Points

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

Actor and Use Case Weighting Tables Unadjusted Actor Weighting (UAW) Actor Type Description Weighting Factor Simple External System with well-defined API 1 Average External System using a protocol-based interface, e.g., HTTP, TCT/IP, SQL 2 Complex Human 3 Unadjusted Use Case Weighting (UUCW) Use-Case Type Description Weighting Factor Simple 1-3 transactions 5 Average 4-7 transactions 10 Complex More than 7 transactions 15 Unadjusted Use Case Points (UUCP) = UAW + UUCW

Technical Complexity Factors Factor Number Description Weight T1 Distributed system 2.0 T2 Response time or throughput performance objectives 1.0 T3 End-user online efficiency T4 Complex internal processing T5 Reusability of code T6 Easy to install 0.5 T7 Ease of use T8 Portability T9 Ease of change Technical Complexity Factor (TCF) = 0.6 + (0.01 * TFactor)

Environmental Complexity Factors Factor Number Description Weight E1 Familiarity with system development process in use 1.5 E2 Application experience 0.5 E3 Object-oriented experience 1.0 E4 Lead analyst capability E5 Motivation E6 Requirements stability 2.0 E7 Part time staff -1.0 E8 Difficulty of programming language Environmental Factor (EF) = 1.4 + (-0.03 * EFactor)

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

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

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

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

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

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

Time

Use Case Points in EA

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

Budget (Custom Software) Pekerjaan Man-Month Month Budget Total Planning 1 5000.000 10.000.000 Analysis 2 20.000.000 Design 4000.000 32.000.000 Implementation 4 3000.000 24.000.000 Training 8000.000 94.000.000

Budget (Generic Software) Product Total LMS 10.000.000 Teleconference 2.000.000 Chatting 4.000.000 eLibrary 20.000.000

4. Class Diagram

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

Class Diagram Elements Classes Attributes Operations Relationships

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

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.)

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

Relationships Generalization Aggregation “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

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

Example Class Diagram

More on Attributes Derived attributes Visibility of 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

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

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

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

Class Diagram: Internet Order Project

Class Diagram: Sistem ATM

5. Deployment Diagram

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

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

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

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

Node with Deployment Artifact Deployment Diagram Node Artifact Node with Deployment Artifact Communication Path

Deployment Diagram Examples

Deployment Diagram (2 Tier)

6. Data Model

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

Data Model

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