Yang akan dipelajari Pengenalan UML Sejarah Singkat UML

Slides:



Advertisements
Presentasi serupa
KEBUTUHAN & SPESIFIKASI SOFTWARE
Advertisements

ANALISIS DAN PEMODELAN BERORIENTASI OBJEK DENGAN UML
U M L Unified Modeling Language
UNIFIED MODELLING LANGUAGE
Catur Iswahyudi + Edhy Sutanta
BPR – Tahap 1 (Persiapan)
Unified Modelling Language (UML)
13 KOMPONEN DIAGRAM UML & PROSES MODEL WATERFALL
UML (Unified Modelling Language)
Architecture dan design
Yang akan dipelajari Pengenalan UML Sejarah Singkat UML
SE3414 RPL: Teknik Berorientasi Objek
Pertemuan 1 Konsep Dasar OOAD
Rekayasa Perangkat Lunak Proses Rekayasa Perangkat Lunak
Pemrograman Berorientasi Obyek1 Sejarah C – Martin Richard -> Bahasa Pemrograman BCPL 1970 – Ken Thomson (Bell Lab) -> Bahasa B yang membuat Unix.
Pengantar uml Pertemuan 4. Pengenalan UML UML adalah sebuah bahasa yang memberikan vocabulary dan tatanan penulisan kata-kata dalam ‘MS Word’ untuk kegunaan.
Sistem berorientasi Objek & Unified Modelling Language
ANALISIS DAN PEMODELAN BERORIENTASI OBJEK DENGAN UML
UML (Unified Modelling Language)
OBJECTORIENTED ANALYSIS
Oleh : Veri Julianto, M.Si
KONSEP DASAR PENDEKATAN OBJEK
Unified Modeling Language [UML]
CLASS DIAGRAM.
Rekayasa Perangkat Lunak UML (Unified Modelling Language)
Analisa dan Perancangan Berbasis Objek
Visual Modelling Teguh Sutanto, S.Kom.,M.Kom.
Notasi Object Oriented System
Object oriented analyst and design
Pengantar Object Oriented Analysis and Design
PEMODELAN SISTEM INFORMASI BERORIENTASI OBYEK
Object-Oriented Analysis (OOA)
SE3414 RPL: Teknik Berorientasi Objek
Pemodelan objek.
QUIZ PSBO Total : 35 PG.
PERANCANGAN SISTEM BERORIENTASI OBJEK DENGAN UML
Object oriented analyst and design
KEBUTUHAN & SPESIFIKASI SOFTWARE
Pertemuan #3 Data Modeling Using the Entity-Relationship Model
UML mendukung pengembangan aplikasi
PEMODELAN SYSTEM BERORIENTASI OBYEK (UML)
PEMODELAN PROYEK (UML)
Overview Component-Oriented Programming
SOAL PERTEMUAN 1-6 PSBO 4 SKS
PENGANTAR UML Citra N., S.Si, MT UNIKOM.
Oleh : Sri Herawati, S.Kom
PEMODELAN OBJECT ORIENTED
Soal PSBO Pert.1-6.
Use Case Diagram.
KEBUTUHAN & SPESIFIKASI SOFTWARE
Perancangan Perangkat Lunak – Part 1
Pengantar Analisa dan Design Berbasis Objek
ANALISIS & DESAIN SISTEM
Unified Modelling Languange (UML)
UML- UNIFIED MODELING LANGUAGE
Unified Modeling Language (UML)
Pertemuan 4 CLASS DIAGRAM.
Iconix Process Doug Rosenberg.
Perancangan Sistem Berorientasi Objek Dengan UML
PEMODELAN ANALISIS RPL – PERTEMUAN 5&6.
Unified Modeling Language
Mata Praktikum Sistem Informasi Pertemuan-2
Pertemuan 8 RPL Oleh : Syukriya al-Asyik S.Kom
Pertemuan 6 Unified Modeling Language (UML)
KEBUTUHAN & SPESIFIKASI SOFTWARE
Analisa Desain Berorientasi Objek
RPL untuk Pemrograman Berorientasi Obyek
TIM RPL Program Studi Teknik Informatika
Object oriented analyst and design
PERANCANGAN SISTEM BERORIENTASI OBJEK DENGAN UML
Transcript presentasi:

Perancangan Sistem Berorientasi Objek Dengan UML (Unified Modelling Language)

Yang akan dipelajari Pengenalan UML Sejarah Singkat UML Bagian-bagian UML. View. Diagram Langkah-langkah Pembuatan UML.

1. Pengenalan UML Apa yang dimaksud dengan UML Tujuan UML Mengapa melakukan Modelling Apa yang dimaksud dengan Visual Modelling

A. Apa itu UML? It is a notation; that is a set of diagrams and diagram elements that may be arranged to describe the design of a software system. UML is not a process, nor is it a method comprising a notation and a process. The OMG specification states: The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system. The UML offers a standard way to write a system's blueprints, including conceptual things such as business processes and system functions as well as concrete things such as programming language statements, database schemas, and reusable software components."

B. Tujuan UML Provide users with a ready-to-use, expressive visual modeling language so they can develop and exchange meaningful models. Provide extensibility and specialization mechanisms to extend the core concepts. Be independent of particular programming languages and development processes. Provide a formal basis for understanding the modeling language. Encourage the growth of the OO tools market. Support higher-level development concepts such as collaborations, frameworks, patterns and components. Integrate best practices.

C. Mengapa melakukan Modelling To easily communicate information between different stakeholders in an unambiguous way To specify target-language-independent designs To provide structure for problem solving To provide mechanisms(abstractions, views, filtering, structure) to manage complexity To be able to easily experiment to explore multiple solutions 2017-04-10 Software Process Improvement Center

D. Apa yang dimaksud dengan Visual Modeling? Business Process Order Item Ship via “Modeling captures essential parts of the system.” Dr. James Rumbaugh Computer System Visual Modeling is modeling using standard graphical notations Core Message: Modeling captures essential parts of the system Key Point 1: Computer system basically automate business processes. However, it’s not easy to build software systems on time and within budget. Key Point 2: Building a complex software system requires blueprint. You don’t construct a building without a blueprint. Visual modeling is the blueprint for software systems. Conclusion: VM is a key to successful software development Copyright © 1997 by Rational Software Corporation 3

Visual Modeling Captures Business Process Use Case Analysis is a technique to capture business process from user’s perspective Core Message: VM captures business process Key Point 1: Understanding business process is hard. If an architect and developers don’t understand the business process, which is the requirement for the system, you can’t build the proper system. Key Point 2: Use case is a technique to capture business process from user’s perspective. Use case is easy to understand because business process is defined in textual format, not in computer lingo. Example: Use the previous slide to describe use case. The system may handle order entry, inventory, and payroll processes. This particular use case only looks at order entry process. Conclusion: VM captures business process Copyright © 1997 by Rational Software Corporation 4

Visual Modeling is a Communication Tool Use visual modeling to capture business objects and logic Core Message: VM is a communication tool. Key Point 1: Business analyst and domain experts define requirements. Software architects and developers build systems based on requirements. Typically, they have communication problems due to different use of terminology and different definition of concepts. Key Point 2: Take a look at the Rose development team. The team is distributed in three cities around the world; Sweden, Milwaukee, and Philadelphia. There is a common language - visual modeling. Key Point 3: With VM, there is a smooth transition between business domain and computer domain. Also, you can establish traceability from business domain to computer domain. Conclusion: VM is a communication tool. Use visual modeling to analyze and design your application Copyright © 1997 by Rational Software Corporation 5

Visual Modeling Manages Complexity Core Message: VM manages complexity Key Point 1: This is a model of typical system. Sale has information about purchase order, sales person, and customer. In a system, you may get hundreds or thousands of these things (or objects). Key Point 2: Human mind can only handle 7 plus or minus things at once. VM allows you to raise your level of abstraction. There are constructs to group things into more manageable number of things. Example: One new developer joins the group. How do you describe your software system? Conclusion: VM manages complexity Copyright © 1997 by Rational Software Corporation 6

Visual Modeling Defines Software Architecture User Interface (Visual Basic, Java) Business Logic (C++, Java) Database Server (C++ & SQL) Core Message: VM defines software architecture Key Point 1:Model of a system is essentially a software architecture. You can then map it to the physical architecture. For example, this is a three tier architecture - mapping logical to physical. Key Point 2: Model your system independent of the implementation language. Technology change too much too fast. A few years ago, C++ was the language of the future but today it’s Java. How do you plan to change your system from PowerBuilder to Visual Basic? Reuse models. Conclusion: VM defines software architecture Model your system independent of implementation language Copyright © 1997 by Rational Software Corporation 7

Visual Modeling Promotes Reuse Multiple Systems Reusable Components Core Message: VM promotes reuse. Key Point 1:On previous slide, we talked about reusing a model. Key Point 2:There is a higher leverage of reuse. Reusing parts of the system or an application. For example, a component is an application in a binary format, whether the component is made of objects or not. VM can be used as a component browser and it can also be used to model component assembly. Conclusion: VM promotes reuse. Copyright © 1997 by Rational Software Corporation 8

2. SEJARAH UML In 1965 the first object-oriented (OO) programming language, Simula I, was introduced. Almost immediately interest in OO design began to rapidly grow. This led to the emergence of numerous competing OO design methods.

From the primordial ooze… With all these design methods came numerous modeling languages. By the early 90’s there were 50+ distinct OO modeling languages. Darwinian forces in the marketplace led to three dominate methods, each having its own modeling language.

The Big Three Object-oriented Analysis & Design (OOAD) – Grady Booch The Object Modeling Technique (OMT) – Jim Rumbaugh The Object-oriented Software Engineering method (OOSE) – Ivar Jacobson Each one had its strengths and weaknesses.

Booch (OOAD) Very complex The modeling language contained a formidable number of diagrams and resulting symbols Allowed for effective low-level design and its fine grain detail was even useful for documenting code. Good at OO design, weak at OO analysis

Rumbaugh (OMT) OMT had a simpler modeling language It was better at higher-level designs than Booch Method. Good at OO analysis, weak at OO design

OO Analysis vs. OO Design Analysis refers to understanding the problem. Design refers to coming up with the solution. Don’t confuse with broader use of word “design” Text replaces “design” with “resolution”

Jacobson (OOSE) Major feature was “use classes” Use classes model how a system interacts with users (which might be other systems or end users) Viewing things from the user’s perspective drove the design process This made it good at very high-level design.

In Summary Booch (OOAD) good at low-level design Jacobson (OOSE) good at high-level design Rumbaugh (OMT) good at the middle ground

Coming Together Booch’s and Rumbaugh’s methods seemed to be evolving in a similar direction In 1994 they joined forces in effort to merge their two methods They both wanted to include use cases, so soon Jacobson joined them

The ‘U’ in UML It became too difficult to successfully merge all three methods. At same time, the software engineering community wanted an effective and standardized modeling language The three then focused their efforts on unifying their three modeling languages

UML Was Born In 1996 the Unified Modeling Language was introduced as UML 0.9 and then 0.91 Input was obtained from many, including TI, IBM, Microsoft, Oracle, and HP. This led to UML 1.0 in 1997 Eventually, the semantics and flexibility was improved resulting in UML 2.0 in 2003

Copyright © 1997 by Rational Software Corporation Sejarah Singkat UML Nov ‘97 UML approved by the OMG Walk the audience through the timeline. Point out that the UML is the natural successor to the notations. 1. Late ‘80s and early ‘90 - there are many (50+) OO methodologies 2. Among the first generation methodologies, Booch and OMT stood out 3. Around 1993, second generation methodologies came out - Booch ‘93 and OMT-II. Methodologist borrowed good concepts from each others so many concepts were the same across the methodologies, but different notations. 4. Oct. 1994 - Dr. James Rumbaugh joined Rational to unify Booch & OMT. 5. At OOPSLA ‘95, Grady and Jim announced Unified Method 0.8. 6. Use Case technique developed by Dr. Ivar Jacobson was adapted by all methodologies by then. 7. Rational acquires Objectory in fall of ‘95 - Dr. Ivar Jaconson joins Rational. 8. Jun of ‘96 - Rational submits UML 0.9 to OMG. 9. UML gains industry support from HP, Microsoft, Oracle + 16 others 10. UML is the defacto standard for OO and component technologies 11. The final submission goes in Sep. ‘97 - expect the announcement in Dec. Copyright © 1997 by Rational Software Corporation 10

Bangunan Dasar UML Sesuatu (Things) Relasi (Relationship) Diagram

Things Ada 4 Macam Things dalam UML : Structural Things Behavioral Things Grouping Things Annotational Things

A. Structural Things Merupakan Bagian yang bersifat statis dalam model UML Dapat berupa elemen-elemen yang bersifat fisik maupun konseptual Ada 7 macam structural things, yaitu Kelas, Antarmuka, Kolaborasi, Use Case, Kelas Aktif, Komponen dan Simpul

7 macam structural things (1) Kelas - Himpunan dari objek-objek yang berbagi atribut serta operasi yang sama - Digambarkan dengan empat-persegi-panjang yang memuat nama, atribut, serta operasi yang dimilikinya

7 macam structural things (2) Antarmuka (Interfaces) - Kumpulan dari operasi-operasi yang menspesifikasi layanan (service) suatu kelas atau komponen/objek - Mendeskripsikan perilaku yang tampak dari luar dari suatu elemen - Jarang berdiri sendiri. - Biasanya dilampirkan pada kelas atau komponen yang merealisasikan antarmuka - secara grafis digambarkan dengan lingkaran kecil dengan namanya didahului dengan garis tegak (|)

7 macam structural things (3) Kolaborasi (Collaboration) - Mendefinisikan interaksi aturan-aturan dan elemen lain yang bekerjasama untuk menyediakan perilaku yang lebih besar dari jumlah dari elemen-elemennya (sinergi) - Merepresentasikan pola implementasi yang memperbaiki sistem - secara grafis digambarkan dengan elipsi bergaris putus-putus yang memuat nama kolaborasi itu.

7 macam structural things (4) Use Case - Deskripsi dari urutan aksi-aksi yang ditampilkan sistem yang menghasilkan suatu hasil yang terukur bagi suatu actor - Digunakan untuk menstrukturkan perilaku pada suatu model - Digambarkan dengan elips tegas yang berisi namanya

7 macam structural things (5) Kelas Aktif (Active Class) - Kelas dimana Objek-objek yang dimilikinya memiliki satu atau lebih proses dan lebih jauh menginisialisasi suatu objek kendali. - Merupakan kelas biasa namun objek-objek yang dimilikinya menampilkan elemen-elemen yang memiliki perilaku konkuren. - secara grafis digambarkan seperti kelas biasa tetapi dengan batas yang lebih tebal, yang memuat nama, atribut, serta operasi yang dimilikinya.

7 macam structural things (6) Komponen (Component) -Bagian fisik dan bagian yang dapat digantikan pada suatu sistem. - Secara grafis digambarkan dengan empat-persegi-panjang seperti kelas tetapi ditambahi tab.

7 macam structural things (7) Simpul (Node) - Elemen fisik yang eksis saat aplikasi dijalankan dan mencerminkan suatu sumber daya komputasi. - Kumpulan komponen mungkin hadir dalam simpul dan mungkin juga berpindah-pindah dari suatu simpul ke simpul yang lain. - secara grafis digambarkan sebagai kubus yang berisi namanya.

B. Behavioral Things Merupakan bagian yang dinamis pada model UML Mencerminkan perilaku sepanjang ruang dan waktu. Ada 2 macam behavioral things : 1. Interaksi 2. State

Behavioral Things Interaksi Suatu perilaku yang mencakup himpunan pesan-pesan yang diperlukan untuk menyelesaikan suatu fungsi tertentu Terdiri dari pesan-pesan, urutan aksi (perilaku yang dihasilkan oleh sebuah pesan), link (hubungan antar objek-objek) Secara grafis, pesan digambarkan dengan tanda panah tegas yang sering memuat nama operasinya

Behavioral Things State - Perilaku yang menspesifikasi unsur kedudukan suatu objek atau interaksi-interaksi sepanjang waktu dalam menanggapi event-event yang terjadi. Penggambaran suatu state memuat beberapa unsur yaitu state itu sendiri, transisi (perubahan dari suatu state ke state lainnya), event (suatu keadaan yang memicu sebuah transisi, serta aktivitas (tanggapan terhadap transisi) Digambarkan sebagai empat-persegi-panjang yang sudut-sudutnya melengkung, yang memuat namanya (serta substate didalamnya, jika ada)

C. Grouping Things Bagian pengorganisasi dalam UML Dalam penggambaran model UML yang rumit kadang diperlukan penggambaran paket yang menyederhanakan model Paket berguna bagi pengelompokkan sesuatu, misalnya model-model serta subsistem-subsistem.

D. Annotational Things Bagian yang memperjelas model UML Dapat berupa komentar yang memperjelas fungsi serta ciri-ciri tiap elemen dalam model UML

RELATIONSHIP Hubungan-hubungan yang terjadi antarelemen dalam UML Ada 4 macam relationship dalam UML, yaitu Dependency, Asosiasi, Generalisasi, Realisasi

Dependency (Kebergantungan) Hubungan dimana perubahan yang terjadi pada suatu elemen independen (mandiri) akan mempengaruhi elemen yang bergantung padanya (elemen yang tidak mandiri – independen). Secara grafis digambarkan dengan tanda panah putus-putus.

Asosiasi Menghubungkan antara objek satu dengan objek yang lainnya; bagaimana hubungan suatu objek dengan objek lainnya. Suatu bentuk asosiasi adalah agregasi yang menampilkan hubungan suatu objek dengan bagian-bagiannya. Secara grafis digambarkan dengan garis tegas tanpa tanda panah.

Generalisasi Hubungan dimana objek anak (descendent) berbagi perilaku dan struktur data dari objek yang ada diatasnya (objek induk – ancestor). Arah dari atas ke bawah (dari objek induk ke objek anak disebut spesialisasi) Arah dari bawah ke atas disebut generalisasi Secara grafis digambarkan sebagai garis yang ujungnya berkepala panah (atau bentuk segitiga) yang kosong, yang mengarah ke objek induk.

Realisasi Operasi yang benar-benar dilakukan oleh suatu objek Secara grafis digambarkan dengan tanda panah bergaris putus-putus dengan kepala panah kosong.

Diagram Ada 9 jenis diagram, yaitu : Diagram Kelas Diagram Objek Use Case Diagram Sequence Diagram Collaboration Diagram Statechart Diagram Activity Diagram Component Diagram Deployment Diagram

Diagram Kelas Bersifat Statis Memperlihatkan himpunan kelas-kelas, antarmuka-antarmuka, kolaborasi-kolaborasi, serta relasi-relasi

Diagram Objek Bersifat statis Memperlihatkan objek-objek serta relasi-relasi antarobjek. Memperlihatkan instantiasi statis dari segala sesuatu yang dijumpai pada diagram kelas

Use-Case Diagram Bersifat statis Memperlihatkan himpunan use case dan aktor-aktor (suatu jenis khusus dari kelas). Berfungsi mengorganisasi dan memodelkan perilaku dari suatu sistem yang dibutuhkan dan diharapkan pengguna.

Sequence Diagram Bersifat dinamis Diagram yang menekankan pada pengiriman pesan dalam suatu waktu tertentu

Collaboration Diagram Bersifat dinamis Diagram interaksi yang menekankan organisasi struktural dari objek-objek yang menerima serta mengirim pesan

Statechart Diagram Bersifat dinamis Memperlihatkan state-state pada sistem; memuat state, transisi, event, serta aktivitas. Memperlihatkan sifat dinamis dari antarmuka, kelas, kolaborasi dan terutama penting pada pemodelan sistem-sistem yang reaktif

Activity Diagram Bersifat dinamis Memperlihatkan aliran dari suatu aktivitas ke aktivitas lainnya dalam suatu sistem. Memodelkan fungsi-fungsi dalam suatu sistem dan memberi tekanan pada aliran kendali antarobjek.

Component Diagram Bersifat statis Memperlihatkan organisasi serta kebergantungan pada komponen-komponen yang telah ada sebelumnya Berhubungan dengan diagram kelas.

Deployment Diagram Bersifat statis Memperlihatkan konfigurasi saat aplikasi dijalankan (saat runtime). Memuat node beserta komponen-komponen yang ada didalamnya Berhubungan dengan diagram komponen dimana deployment diagram memuat satu atau lebih komponen-komponen

View Pada UML The system architecture is “the organizational structure of the system, including its decomposition into parts, their connectivity, interaction, mechanisms and the guiding principles that inform the design of a system.” [Rumbaugh 1998] There is a typical “4+1 views” architecture of a system defined by UML: Logical view, captures the vocabulary of the problem domain using classes and objects Process view, depicts the threads and processes of the system as active classes Implementation view, shows the physical code base of the system in terms of components Deployment view, models the physical deployment of components onto computational nodes Use case view, captures the requirements of the system using a set of use cases. This is the view “+1” to which all other views connect.

Langkah-langkah Penggunaan UML (1) Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul. Petakan use case untuk tiap business process untuk mendefinisikan dengan tepat fungsionalitas yang harus disediakan oleh sistem. Kemudian perhalus use case diagram dan lengkapi dengan requirement, constraints dan catatan-catatan lain. Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem. Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem. Berdasarkan use case diagram, mulailah membuat activity diagram.

Langkah-langkah Penggunaan UML (2) Definisikan objek-objek level atas (package atau domain) dan buatlah sequence dan/atau collaboration diagram untuk tiap alir pekerjaan. Jika sebuah use case memiliki kemungkinan alir normal dan error, buatlah satu diagram untuk masing-masing alir. Buarlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case. Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package atau domain dipecah menjadi hirarki class lengkap dengan atribut dan metodanya. Akan lebih baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain. Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokan class menjadi komponen-komponen. Karena itu buatlah component diagram pada tahap ini. Juga, definisikan tes integrasi untuk setiap komponen meyakinkan ia berinteraksi dengan baik.

Langkah-langkah Penggunaan UML (3) Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node. Mulailah membangun sistem. Ada dua pendekatan yang dapat digunakan - Pendekatan use case, dengan meng-assign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit code yang lengkap dengan tes. - Pendekatan komponen, yaitu meng-assign setiap komponen kepada tim pengembang tertentu. Lakukan uji modul dan uji integrasi serta perbaiki model berserta codenya. Model harus selalu sesuai dengan code yang aktual Piranti lunak siap dirilis.