Dari pemodelan proses hingga desain sistem otomatis (Bagian 1)

“Suatu hari dalam kehidupan seekor tupai” atau dari pemodelan proses hingga desain sistem akuntansi kekayaan otomatis “Belka-1.0” (Bagian 1)

Dari pemodelan proses hingga desain sistem otomatis (Bagian 1)
Sebuah ilustrasi digunakan untuk “The Tale of Tsar Saltan” oleh A. S. Pushkin, diterbitkan oleh Children's Literature, Moskow, 1949, Leningrad, gambar oleh K. Kuznetsov

Apa hubungannya “tupai” dengan itu?

Saya akan segera menjelaskan apa hubungannya "tupai" dengan itu. Menemukan proyek menyenangkan di Internet untuk mempelajari UML berdasarkan bidang studi yang dipinjam dari dongeng (misalnya, di sini [1]), Saya juga memutuskan untuk menyiapkan contoh serupa untuk siswa saya sehingga mereka dapat mempelajari hanya tiga jenis diagram untuk memulai: Diagram Aktivitas, Diagram Kasus Penggunaan, dan Diagram Kelas. Saya sengaja tidak menerjemahkan nama diagram tersebut ke dalam bahasa Rusia untuk menghindari perselisihan mengenai “kesulitan penerjemahan”. Saya akan menjelaskan kegunaannya nanti. Dalam contoh ini saya menggunakan framework Enterprise Architect dari perusahaan Australia Sistem Sparx [2] – alat yang bagus dengan harga yang wajar. Dan sebagai bagian dari sesi pelatihan saya, saya menggunakannya Modelio [3], alat desain berorientasi objek gratis yang mendukung standar UML2.0 dan BPMN, tanpa fitur visual yang tidak perlu, tetapi cukup memadai untuk mempelajari dasar-dasar bahasa.

Kami akan mengotomatiskan aktivitas akuntansi aset material yang timbul dalam proses ini.

...
Sebuah pulau terletak di laut, (E1, E2)
Ada hujan es di pulau (E3, E1)
Dengan gereja berkubah emas, (E4)
Dengan menara dan taman; (E5, E6)
Pohon cemara tumbuh di depan istana, (E7, E8)
Dan di bawahnya ada rumah kristal; (E9)
Seekor tupai jinak tinggal di sana, (A1)
Ya, sungguh sebuah petualangan! (A1)
Tupai menyanyikan lagu, (P1, A1)
Ya, dia terus menggigit kacang, (P2)
Tapi kacang itu tidak sederhana, (C1)
Semua cangkang berwarna emas, (C2)
Intinya adalah zamrud murni; (C3)
Pelayan menjaga tupai, (P3,A2)
Mereka melayaninya sebagai berbagai pelayan (P4)
Dan seorang juru tulis ditugaskan (A3)
Laporan ketat tentang orang gila adalah beritanya; (P5, C1)
Tentara memberi hormat padanya; (P6, A4)
Sebuah koin dituangkan dari cangkangnya, (P7, C2, C4)
Biarkan mereka berkeliling dunia; (P8)
Gadis menuangkan zamrud (P9, A5, C3)
Ke dalam gudang, dan berlindung; (E10, E11)
...
(A.S. Pushkin “Kisah Tsar Saltan, pahlawannya yang mulia dan perkasa Pangeran Guidon Saltanovich dan Putri Angsa yang cantik”, pengerjaan dongeng mungkin dimulai pada tahun 1822, dongeng tersebut pertama kali diterbitkan oleh Pushkin dalam koleksi "Puisi A. Pushkin" (Bagian III, 1832, hlm. 130-181) — Omong-omong, 10 tahun dari konsep hingga publikasi!)

Sedikit tentang kode-kode yang tertulis di sebelah kanan baris. “A” (dari “Aktor”) berarti baris tersebut berisi informasi tentang peserta dalam proses. “C” (dari “Kelas”) – informasi tentang objek kelas yang diproses selama pelaksanaan proses. “E” (dari “Lingkungan”) – informasi tentang objek kelas yang menjadi ciri lingkungan untuk menjalankan proses. “P” (dari “Proses”) – informasi tentang proses itu sendiri.

Omong-omong, definisi yang tepat dari suatu proses juga diklaim sebagai penyebab perselisihan metodologis, jika hanya karena fakta bahwa terdapat proses yang berbeda: bisnis, produksi, teknologi, dll. dan seterusnya. (Anda dapat mengetahui, misalnya, di sini [4] dan di sini [5]). Untuk menghindari kontroversi, mari kita sepakati hal itu Kami tertarik pada proses ini dari sudut pandang pengulangannya dari waktu ke waktu dan kebutuhan akan otomatisasi, yaitu. mentransfer pelaksanaan setiap bagian dari operasi proses ke sistem otomatis.

Catatan tentang penggunaan diagram Aktivitas

Mari kita mulai memodelkan proses kita dan menggunakan diagram Aktivitas untuk ini. Pertama, izinkan saya menjelaskan bagaimana kode di atas akan digunakan dalam model. Lebih mudah untuk menjelaskannya dengan contoh grafis, tetapi pada saat yang sama kita akan menganalisis beberapa (hampir semua yang kita perlukan) elemen diagram Aktivitas.
Mari kita analisa penggalan berikut:

...
Tupai menyanyikan lagu, (P1, A1)
Ya, dia terus menggigit kacang, (P2)
Tapi kacang itu tidak sederhana, (C1)
Semua cangkang berwarna emas, (C2)
Intinya adalah zamrud murni; (C3)
...

Kami memiliki dua langkah proses P1 dan P2, peserta A1, dan objek dari tiga kelas yang berbeda: objek kelas C1 dimasukkan ke langkah tersebut, objek kelas C2 dan C3 dikeluarkan sebagai hasil dari aktivitas langkah P2 kami proses. Untuk diagram kami menggunakan elemen pemodelan berikut.

Dari pemodelan proses hingga desain sistem otomatis (Bagian 1)

Sebuah bagian dari proses kami dapat direpresentasikan seperti ini (Gambar 1).

Dari pemodelan proses hingga desain sistem otomatis (Bagian 1)

Gambar 1. Fragmen diagram aktivitas

Untuk menata ruang dan menyusun diagram Aktivitas, kami akan menggunakan pendekatan non-standar, dari sudut pandang penggunaan notasi UML klasik. Namun ada beberapa alasan untuk hal ini. Pertama, sebelum memulai pemodelan kita akan mengkompilasi apa yang disebut perjanjian pemodelan, di mana kami mencatat semua fitur penggunaan notasi. Kedua, pendekatan ini berulang kali berhasil diterapkan pada tahap pemodelan bisnis dalam proyek nyata untuk membuat sistem perangkat lunak; hasilnya dicatat oleh tim kecil penulis kami di objek hak cipta yang sesuai [6], dan juga digunakan dalam manual pelatihan [ 7]. Untuk diagram Aktivitas, kami mendefinisikan bahwa bidang diagram disusun menggunakan “jalur berenang”. Nama track akan sesuai dengan jenis elemen bagan yang akan ditempatkan pada track tersebut.

"Artefak masukan dan keluaran": Track ini akan berisi elemen Objects – objek yang digunakan atau merupakan hasil dari mengeksekusi beberapa langkah proses.
"Langkah-langkah proses": Di sini kita akan menempatkan elemen Aktivitas - tindakan peserta dalam proses.
"Peserta": jalur untuk elemen yang akan menunjukkan peran pelaku tindakan dalam proses kita; untuk mereka kita akan menggunakan elemen pemodelan yang sama Object - sebuah objek, tetapi kita akan menambahkan stereotip "Aktor" ke dalamnya.
Lagu selanjutnya disebut "Peraturan bisnis" dan di jalur ini kita akan menempatkan dalam bentuk teks aturan untuk menjalankan langkah-langkah proses, dan untuk ini kita akan menggunakan elemen pemodelan Catatan - sebuah catatan.
Kami akan berhenti di sini, meskipun kami juga bisa menggunakan jalan setapak "Peralatan" untuk mengumpulkan informasi tentang tingkat otomatisasi proses. Sebuah jalan mungkin juga berguna "Posisi dan divisi peserta", ini dapat digunakan untuk menghubungkan peran ke posisi dan departemen peserta proses.

Segala sesuatu yang baru saja saya jelaskan adalah sebuah fragmen konvensi pemodelan, bagian dari perjanjian ini menyangkut aturan-aturan untuk mengatur satu diagram dan, oleh karena itu, aturan-aturan untuk menulis dan membacanya.

"Resep"

Sekarang mari kita pertimbangkan opsi untuk memodelkan sistem secara spesifik dari diagram Aktivitas. Ini hanyalah salah satu pilihan, saya perhatikan ini, tentu saja, bukan satu-satunya. Diagram Aktivitas akan menarik minat kita dari sudut pandang perannya dalam transisi dari pemodelan proses ke desain sistem otomatis. Untuk melakukan ini, kami akan mematuhi rekomendasi metodologis - semacam resep yang hanya terdiri dari lima tahap dan menyediakan pengembangan hanya tiga jenis diagram. Menggunakan resep ini akan membantu kita memperoleh gambaran formal tentang proses yang ingin kita otomatisasi dan mengumpulkan data untuk desain sistem. Dan bagi siswa di awal mempelajari UML, ini adalah semacam penyelamat yang tidak akan membiarkan mereka tenggelam dalam semua variasi sarana dan teknik visual yang terdapat dalam UML dan alat pemodelan modern.

Faktanya, inilah resepnya sendiri, dan kemudian ikuti diagram yang dibuat untuk area subjek "dongeng" kita.

Tahap 1. Kami menggambarkan proses dalam bentuk diagram Aktivitas. Untuk proses dengan lebih dari 10 langkah, masuk akal untuk menerapkan prinsip dekomposisi langkah proses untuk meningkatkan keterbacaan diagram.

Tahap 2. Pilih apa yang bisa diotomatisasi (langkah-langkahnya dapat disorot pada diagram, misalnya).

Tahap 3. Tahap otomasi harus dikaitkan dengan suatu fungsi atau fungsi sistem (hubungannya bisa banyak ke banyak), buatlah diagram Use-case. Ini adalah fungsi sistem kami.

Tahap 4. Mari kita gambarkan organisasi internal AS menggunakan diagram kelas - Kelas. Jalur renang “Objek Masukan dan Keluaran (Dokumen)” dalam diagram Aktivitas adalah dasar untuk membangun model objek dan model hubungan entitas.

Tahap 5. Mari kita menganalisis catatan pada jalur “Aturan Bisnis”., mereka memberikan berbagai macam batasan dan ketentuan, yang secara bertahap diubah menjadi persyaratan non-fungsional.
Kumpulan diagram yang dihasilkan (Aktivitas, Kasus Penggunaan, Kelas) memberi kita deskripsi formal dalam notasi yang cukup ketat, yaitu. memiliki pembacaan yang jelas. Sekarang Anda dapat mengembangkan spesifikasi teknis, memperjelas spesifikasi persyaratan, dll.

Mari kita mulai menjadi model.

Tahap 1. Jelaskan proses dalam bentuk diagram Aktivitas

Izinkan saya mengingatkan Anda bahwa kita menyusun bidang diagram menggunakan jalur "berenang"; setiap jalur berisi elemen dengan tipe yang sama (Gambar 2). Selain elemen diagram yang dijelaskan di atas, kita akan menggunakan elemen tambahan, mari kita jelaskan.

Dari pemodelan proses hingga desain sistem otomatis (Bagian 1)

Keputusan (Keputusan) menunjukkan titik percabangan proses kita dalam diagram, dan penggabungan benang (Merge) – titik penyatuan kembali mereka. Kondisi transisi ditulis dalam tanda kurung siku pada transisi.

Antara dua sinkronisasi (Fork) kami akan menunjukkan cabang proses paralel.
Proses kami hanya dapat memiliki satu permulaan - satu titik masuk (Awal). Tapi mungkin ada beberapa penyelesaian (Final), tapi tidak untuk diagram spesifik kita.

Ada cukup banyak anak panah, dengan jumlah elemen dan koneksi yang banyak, Anda dapat mengidentifikasi tahapan proses terlebih dahulu, lalu melakukan dekomposisi tahapan tersebut. Namun untuk kejelasan, saya ingin menunjukkan proses “dongeng” kita seluruhnya dalam satu diagram, sementara, tentu saja, kita perlu memastikan bahwa panah “tidak saling menempel”, kita dapat melacak secara akurat apa yang terhubung. Untuk apa.

Dari pemodelan proses hingga desain sistem otomatis (Bagian 1)

Gambar 2. Diagram aktivitas - gambaran umum proses

Karena pada baris-baris puisi, beberapa detail proses dihilangkan, harus dipulihkan, ditampilkan dengan elemen berlatar belakang putih. Detail ini mencakup langkah Transfer/Penerimaan untuk Penyimpanan dan Pemrosesan serta beberapa artefak input dan output. Perlu dicatat bahwa langkah ini juga tidak sepenuhnya mengungkapkan prosesnya, karena kita perlu menentukan langkah transmisi dan langkah penerimaan secara terpisah, dan bahkan menambahkan langkah terpisah untuk cangkang, dan juga berpikir bahwa pertama-tama semua nilai material ini harus disimpan sementara di suatu tempat, dll. dan seterusnya.
Perhatikan juga bahwa pertanyaan tentang asal usul kacang masih belum terjawab - dari mana asalnya dan bagaimana cara mendapatkannya sampai ke tupai? Dan pertanyaan ini (disorot dengan font merah di catatan - elemen Catatan) memerlukan studi terpisah! Beginilah cara seorang analis bekerja - mengumpulkan informasi sedikit demi sedikit, membuat asumsi dan menerima "oke" atau "tidak-oke" dari para ahli di bidangnya - orang-orang yang sangat penting dan tidak tergantikan pada tahap pemodelan bisnis saat membuat sistem.

Perhatikan juga bahwa langkah proses P5 terdiri dari dua bagian.

Dari pemodelan proses hingga desain sistem otomatis (Bagian 1)

Dan kami akan menguraikan setiap bagian dan mempertimbangkannya lebih detail (Gambar 3, Gambar 4), karena aktivitas yang dilakukan dalam langkah-langkah khusus ini akan diotomatisasi.

Dari pemodelan proses hingga desain sistem otomatis (Bagian 1)

Gambar 3. Diagram aktivitas - detailing (bagian 1)

Dari pemodelan proses hingga desain sistem otomatis (Bagian 1)

Gambar 4. Diagram aktivitas - detailing (bagian 2)

Tahap 2. Pilih apa yang bisa diotomatisasi

Langkah-langkah yang akan diotomatisasi ditandai dengan warna pada diagram (lihat Gambar 3, Gambar 4).
Dari pemodelan proses hingga desain sistem otomatis (Bagian 1)

Semuanya dilakukan oleh satu peserta dalam proses - Panitera:

  • Memasukkan informasi tentang berat mur ke dalam pernyataan;
  • Memasukkan informasi tentang transfer mur ke dalam pernyataan;
  • Mencatat fakta transformasi kacang menjadi cangkang dan inti;
  • Memasukkan informasi tentang inti kacang ke dalam pernyataan;
  • Memasukkan informasi tentang kulit kacang ke dalam daftar.

Analisis pekerjaan yang dilakukan. Apa berikutnya?

Jadi, kami telah melakukan banyak pekerjaan persiapan: kami telah mengumpulkan informasi tentang proses yang akan kami otomatisasi; mulai membentuk kesepakatan mengenai pemodelan (sejauh ini hanya dalam hal penggunaan diagram Aktivitas); melakukan simulasi proses dan bahkan menguraikan beberapa langkahnya; Kami mengidentifikasi langkah-langkah proses yang akan kami otomatisasi. Kami sekarang siap untuk melanjutkan ke langkah berikutnya dan mulai merancang fungsionalitas sistem dan organisasi internal.

Seperti yang Anda ketahui, teori tanpa praktik bukanlah apa-apa. Anda pasti harus mencoba "memodelkan" dengan tangan Anda sendiri, ini juga berguna untuk memahami pendekatan yang diusulkan. Misalnya, Anda bisa bekerja di lingkungan modeling Modelio [3]. Kami hanya menguraikan sebagian langkah dari keseluruhan diagram proses (lihat Gambar 2). Sebagai tugas praktis, Anda mungkin diminta mengulangi semua diagram di lingkungan Modelio dan melakukan dekomposisi langkah “Transfer/Penerimaan untuk Penyimpanan dan Pemrosesan”.
Kami belum mempertimbangkan untuk bekerja di lingkungan pemodelan tertentu, namun hal ini mungkin akan menjadi subjek artikel dan ulasan independen.

Pada bagian kedua artikel, kita akan menganalisis teknik pemodelan dan desain yang diperlukan pada tahap 3-5; kita akan menggunakan Use-case UML dan diagram Kelas. Bersambung.

Daftar sumber

  1. Situs web "UML2.ru". Forum Komunitas Analis. Bagian umum. Contoh. Contoh dongeng yang diformat diagram UML. [Sumber daya elektronik] Mode akses: Internet: http://www.uml2.ru/forum/index.php?topic=486.0
  2. Situs web Sistem Sparx. [Sumber daya elektronik] Mode akses: Internet: https://sparxsystems.com
  3. Situs web Modelio. [Sumber daya elektronik] Mode akses: Internet: https://www.modelio.org
  4. Kamus Ensiklopedis Besar. Proses (interpretasi). [Sumber daya elektronik] Mode akses: Internet: https://dic.academic.ru/dic.nsf/enc3p/246322
  5. Website "Organisasi Manajemen yang Efektif". Blog. Kategori "Manajemen Proses Bisnis". Definisi proses bisnis. [Sumber daya elektronik] Mode akses: Internet: https://rzbpm.ru/knowledge/pochemu-processy-stali-s-pristavkoj-biznes.html
  6. Sertifikat No. 18249 tentang pendaftaran dan penyimpanan suatu karya kegiatan intelektual. Alfimov R.V., Zolotukhina E.B., Krasnikova S.A. Naskah alat peraga berjudul “Pemodelan Mata Pelajaran Menggunakan Enterprise Architect” // 2011.
  7. Zolotukhina E.B., Vishnya A.S., Krasnikova S.A. Pemodelan proses bisnis. — M.: KURSUS, SIC INFRA-M, EBS Znanium.com. — 2017.

Sumber: www.habr.com

Tambah komentar