de_DEen_USes_ESfa_IRfr_FRhi_INid_ID

Panduan Lengkap tentang Pemodelan Kebutuhan: Kasus Penggunaan, Cerita Pengguna, dan Diagram Kebutuhan

šŸ”Ā Pendahuluan: Mengapa Pemodelan Kebutuhan Penting

Kebutuhan mendefinisikanĀ apaĀ sistem harus lakukan. Kebutuhan yang tidak jelas atau ambigu mengarah pada:

  • Perluasan cakupan

  • Fitur yang ditolak

  • Melebihi anggaran

  • Pengiriman terlambat

  • Kepuasan pengguna yang rendah

Pemodelan kebutuhan yang efektif menjamin:
āœ… Kejelasan
āœ… Uji coba
āœ… Kemampuan Lacak
āœ… Kolaborasi
āœ… Kepatuhan (terutama di domain yang diatur)

šŸŽÆĀ Tujuan:Ā Mengubah kebutuhan pemangku kepentingan menjadi masukan yang terstruktur, dapat diambil tindakan, dan dapat diverifikasi untuk desain dan pengembangan.


šŸ“ŒĀ Konsep Inti di Seluruh Tiga Teknik

Konsep Peran
Pemangku Kepentingan Orang atau sistem yang terdampak atau berinteraksi dengan sistem (misalnya, Pelanggan, Bank, ATM).
Kebutuhan Fungsional Apa yang dilakukan sistemĀ dilakukanĀ (misalnya, ā€œmenyalurkan uang tunaiā€).
Persyaratan Non-Fungsional Seberapa baik sistem berkinerja (misalnya, ā€œmenanggapi dalam waktu <2 detikā€, ā€œaman terhadap penipuanā€).
Kemampuan Pelacakan Menghubungkan persyaratan dengan desain, pengujian, dan implementasi untuk memastikan kelengkapan dan verifikasi.
Verifikasi vs. Validasi Verifikasi:Ā Apakah kita membangun produk dengan benar?Ā Validasi:Ā Apakah kita membangun produk yang tepat?

šŸ’”Ā Catatan:Ā Meskipun ketiga teknik ini mendukung konsep-konsep ini, mereka berbeda dalamĀ caraĀ mereka menyatakannya.


āœ…Ā 1. Kasus Penggunaan (UML – Bahasa Pemodelan Terpadu)

ā€œJelaskan apa yang dilakukan sistem dari sudut pandang pengguna.ā€

šŸŽÆĀ Fokus Utama

  • Perilaku sistemĀ danĀ interaksiĀ antara aktor dan sistem.

  • Penekanan padaĀ alur kerja langkah demi langkahĀ danĀ kasus-kasus tepi.

šŸ› Ā Cara Kerjanya

  1. Mulai dengan Diagram Kasus Penggunaan – Gambaran visual tentang aktor dan tujuan.

  2. Tulis spesifikasi teks yang rinciĀ untuk setiap kasus penggunaan (keberhasilan utama, alternatif, pengecualian).

  3. Gunakan dalamĀ analisis kebutuhan,Ā desain, danĀ pengujian.

🧩 Konsep Kunci

Istilah Deskripsi
Aktor Entitas eksternal yang berinteraksi dengan sistem (misalnya, Pelanggan, Server Bank).
Kasus Penggunaan Interaksi berorientasi tujuan (misalnya, ā€œTarik Uangā€) yang direpresentasikan sebagai bentuk oval.
Hubungan «include» (wajib), «extend» (opsi), generalisasi (pewarisan).
Skenario Jalur konkret melalui kasus penggunaan (alur utama, alur alternatif, alur pengecualian).
Prasyarat Apa yang harus benar sebelum kasus penggunaan dimulai.
Pasca kondisi Apa yang harus benar setelah penyelesaian.
Pemicu Kejadian yang memulai kasus penggunaan (misalnya, kartu dimasukkan, login berhasil).

šŸ“šĀ Contoh: Sistem ATM – ā€œTarik Tunaiā€

Diagram Kasus Penggunaan (Gambaran Visual)

Panah menunjukkan interaksi.Ā«perluasĀ»dapat terhubung ke ā€œCek Saldoā€ atau ā€œPermintaan Kwitansiā€.

Spesifikasi Teks: ā€œTarik Tunaiā€

  • Aktor:Ā Pelanggan

  • Prasyarat:Ā Pelanggan telah diautentikasi (kartu valid + PIN benar).

  • Skenario Sukses Utama:

    1. Pelanggan memilih ā€œTarik Tunaiā€.

    2. Sistem meminta: ā€œMasukkan jumlah (kelipatan $20).ā€

    3. Pelanggan memasukkan $100.

    4. Sistem memeriksa saldo: ≄ $100 → mencairkan uang tunai.

    5. Mencetak kwitansi, mengeluarkan kartu.

  • Alur Alternatif (Saldo Tidak Cukup):

    • Langkah 4: Saldo < jumlah yang diminta → tampilkan kesalahan: ā€œSaldo tidak mencukupi.ā€

    • Kembali ke menu utama.

  • Alur Pengecualian (PIN salah setelah 3 kali percobaan):

    • Setelah 3 percobaan gagal → kartu disimpan.

    • Sistem mencatat insiden dan memberi peringatan ke bank.

  • Pasca kondisi:Ā Saldo rekening berkurang sebesar jumlah; uang tunai dicairkan; kwitansi dicetak.

āœ…Ā Kelebihan

  • Sangat baik untukĀ perilaku yang kompleksĀ danĀ kasus-kasus tepi.

  • KuatĀ kemampuan pelacakan terhadap desain dan pengujian.

  • Ideal untukĀ kepatuhan terhadap regulasiĀ danĀ verifikasi formal.

  • MendukungĀ desain modularĀ melaluiĀ Ā«include» danĀ Ā«extendĀ».

āŒĀ Kelemahan

  • Dapat menjadiĀ sangat panjang dan rinciĀ dan sulit dikelola dalam skala besar.

  • Kurang fleksibel dalamĀ lingkungan AgileĀ di mana perubahan terus-menerus terjadi.

  • Fokus padaĀ bagaimanadapat mengaburkanmengapa.

šŸ”„Ā Terbaik untuk:Proyek Waterfall, industri yang diatur (perbankan, kesehatan), sistem perusahaan besar.


šŸ“Ā 2. Cerita Pengguna (Agile/Scrum)

ā€œKecil, bernilai tinggi, dan berpusat pada pengguna — dikirim dengan cepat.ā€

šŸŽÆĀ Fokus Utama

  • Nilai pengguna,Ā kolaborasi, danpengiriman iteratif.

  • Penekanan padaapa yang diinginkan penggunadanmengapa.

šŸ› Ā Cara Kerjanya

  • Ditulis padakertas indeks, alat digital (Jira, Trello), atau item dalam daftar tunggu.

  • Ditempatkan didaftar tunggu produk.

  • Disempurnakan selamaĀ pemeliharaan daftar tugasĀ denganĀ kriteria penerimaan.

  • Dikembangkan melaluiĀ percakapanĀ (ā€œ3 Cā€: Kartu, Percakapan, Konfirmasi).

  • Diperkirakan dalamĀ poin cerita, dibagi menjadi tugas selama perencanaan sprint.

🧩 Konsep Kunci

Konsep Deskripsi
Format ā€œSebagai [peran], saya ingin [tujuan] agar [manfaat].ā€
Kriteria INVEST Bebas, Dapat Dinegosiasikan, Berharga, Dapat Diperkirakan, Kecil, Dapat Diuji.
Kriteria Penerimaan Kondisi yang harus dipenuhi agar cerita diterima. Sering ditulis dalamĀ GherkinĀ (Diberikan,Ā Ketika,Ā Maka).
Epik & Tema Cerita besar yang dibagi menjadi cerita-cerita kecil yang lebih mudah dikelola.
Dorongan Percakapan Rincian muncul melalui diskusi tim, bukan dokumentasi di awal.

šŸ“šĀ Contoh: Sistem ATM – Penarikan Uang Tunai

Kartu Cerita Pengguna

Sebagai seorangĀ pelanggan bank,
Saya inginĀ menarik uang tunai dari ATM,
agarĀ saya dapat mengakses uang saya dengan cepat tanpa harus mengunjungi cabang.

Kriteria Penerimaan (Gaya Gherkin)

Diberikan akun saya memiliki dana cukup dan kartu saya sah
Ketika saya memasukkan jumlah yang valid (kelipatan $20)
Maka uang tunai harus dikeluarkan, struk dicetak, dan saldo saya diperbarui

Diberikan akun saya memiliki dana tidak mencukupi
Ketika saya meminta penarikan
Maka pesan kesalahan harus muncul dan tidak ada uang yang dikeluarkan

Aturan: Jumlah penarikan maksimum per transaksi adalah $500

āœ…Ā Kelebihan

  • MendorongĀ kolaborasiĀ danĀ pemahaman bersama.

  • MemrioritaskanĀ nilai penggunaĀ danĀ umpan balik cepat.

  • Sangat cocok denganĀ Agile/Scrum/Kanban.

  • Ringan dan mudah dikelola dalam daftar tunggu.

āŒĀ Kelemahan

  • Tidak memiliki detail bawaanĀ untuk alur yang kompleks atau persyaratan non-fungsional.

  • Kemampuan pelacakanĀ bersifat manual kecuali terhubung melalui alat.

  • RisikoĀ kriteria penerimaan yang tidak lengkapĀ yang menyebabkan bug.

šŸ”„Ā Terbaik untuk:Ā tim Agile, startup, proyek yang bergerak cepat, MVP.


🧱 3. Diagram Kebutuhan (SysML – Bahasa Pemodelan Sistem)

ā€œModelkan kebutuhan itu sendiri — bukan hanya perilakunya, tetapi juga struktur dan kemampuan pelacakannya.ā€

šŸŽÆĀ Fokus Utama

  • Pemodelan terstruktur kebutuhanĀ dengan kemampuan pelacakan penuhĀ kemampuan pelacakan,Ā verifikasi, danĀ kepuasanĀ hubungan.

  • Digunakan diĀ Rekayasa Sistem Berbasis Model (MBSE).

šŸ› Ā Cara Kerjanya

  • Persyaratan adalahĀ elemen kelas pertamaĀ direpresentasikan sebagaiĀ persegi panjangĀ dengan:

    • ID (contoh: REQ-001)

    • Teks

    • Jenis (Fungsional, Kinerja, Kendala Desain, dll.)

    • Prioritas (Tinggi, Sedang, Rendah)

  • Terhubung melaluiĀ hubunganĀ ke elemen lain:

    • Ā«memenuhi» → elemen desain (contoh: blok atau komponen)

    • Ā«verifikasi» → kasus uji

    • Ā«turunkanPersyaratan» → diturunkan dari persyaratan lain

    • Ā«lacak» /Ā Ā«haluskan» /Ā Ā«salinĀ»

🧩 Konsep Kunci

Istilah Deskripsi
«persyaratan» Stereotip untuk elemen persyaratan.
Hierarki Induk → anak (refinemen) melaluiĀ Ā«refinemenĀ».
Penguraian Ā«deriveReqt» menunjukkan derivasi logis (misalnya, ā€œBatas penarikanā€ diuraikan dari persyaratan ā€œKeamananā€).
Kepuasan «puaskan» menghubungkan persyaratan ke elemen desain (misalnya, modul ATM memenuhi aturan penarikan).
Verifikasi «verifikasi» menghubungkan persyaratan ke kasus uji.
Dukungan Non-Fungsional Secara eksplisit memodelkan kinerja, keselamatan, keamanan, kenyamanan, dll.

šŸ“šĀ Contoh: Sistem ATM – Persyaratan Keamanan & Penarikan

Diagram Persyaratan (Konseptual)

[Req1: Masuk] ────«puaskan»───> [Blok Sistem Masuk]rn                     └───«verifikasi»───> [Kasus Uji: Masuk Valid]rn                     └───«lacak»────> [Pemangku Kepentingan: Pelanggan]rnrn[Req2: Batas Penarikan] ──«deriveReqt»───> [Req1]rn                             └───«puaskan»───> [Modul Perangkat Lunak ATM]rn                             └───«verifikasi»────> [Kasus Uji: Maks $500]rnrn[Req3: Cek Saldo] ────«puaskan»───> [Modul Permintaan Saldo]rn                           └───«verifikasi»────> [Kasus Uji: Pembaruan Saldo

Semua persyaratan adalahĀ secara eksplisit terhubungĀ ke artefak desain dan uji.

āœ…Ā Kelebihan

  • Pelacakan yang unggulĀ di seluruh tahapan siklus hidup.

  • Sangat baik untukĀ persyaratan non-fungsionalĀ (keamanan, kinerja, keandalan).

  • MemungkinkanĀ pemeriksaan kepatuhan otomatisĀ danĀ ketersediaan audit.

  • Ideal untukĀ sistem besar yang kritis terhadap keselamatanĀ (contoh: dirgantara, otomotif, perangkat medis).

āŒĀ Kelemahan

  • Kurva pembelajaran yang curamĀ dan membutuhkanĀ alat SysMLĀ (contoh: MagicDraw, Cameo, Sparx EA).

  • Berlebihan untuk aplikasi sederhana atau tim Agile kecil.

  • Kurang intuitif bagi pemangku kepentingan non-teknis.

šŸ”„Ā Terbaik untuk:Ā rekayasa sistem kompleks, industri yang diatur, praktik MBSE, sistem perusahaan berskala besar.


šŸ”Ā Tabel Perbandingan Sampingan

Aspek Kasus Penggunaan (UML) Cerita Pengguna (Agile) Diagram Kebutuhan (SysML)
Fokus Utama Perilaku sistem & interaksi (ā€œbagaimanaā€) Nilai pengguna & tujuan (ā€œapa & mengapaā€) Struktur kebutuhan & pelacakan
Format Diagram + teks rinci (skenario) Kartu pendek + kriteria penerimaan Diagram visual dengan kotak dan panah
Tingkat Detail Tinggi (alur langkah demi langkah) Rendah ke menengah (dorongan percakapan) Bervariasi (dapat rinci)
Visualisasi Diagram Kasus Penggunaan (aktor + elips) Biasanya tidak ada (kartu atau daftar tunggu) Kotak kebutuhan dengan panah berlabel
Kesesuaian Metodologi Air terjun, terstruktur, tradisional Agile/Scrum/Kanban Rekayasa Sistem Berbasis Model (MBSE)
Terbaik untuk Alur kompleks, pengujian, kepatuhan Iterasi cepat, fokus pengguna, MVP Pelacakan, kebutuhan non-fungsional, sistem yang diatur
Menangani Kebutuhan Non-Fungsional? Ya (dalam teks) Terbatas (dalam kriteria penerimaan) Sangat BaikĀ (tipe khusus)
Pelacakan Sedang (untuk desain/uji coba) Rendah (manual) TinggiĀ (hubungan yang dibangun)
Alat Bantu Alat UML (StarUML, Enterprise Architect) Jira, Trello, Azure DevOps Alat-alat SysML (MagicDraw, Cameo)
Kemudahan Penggunaan Sedang Tinggi RendahĀ (untuk non-insinyur)

šŸ”„Ā Memilih Teknik yang Tepat (atau Menggabungkannya)

šŸŽÆĀ Tidak ada satu teknik pun yang cocok untuk semua kebutuhan. Kuncinya adalah menggunakan mereka secara strategis — seringkali bersamaan.

āœ…Ā Pendekatan Hibrida yang Direkomendasikan (Praktik Terbaik)

@startuml
skinparam ActivityBackgroundColor #ECEBFF
skinparam ActivityBorderColor #A18EE3
skinparam ActivityFontSize 14
skinparam ArrowColor #666666
skinparam DiamondBackgroundColor #ECEBFF
skinparam DiamondBorderColor #A18EE3

start

:Kebutuhan Tingkat Tinggi;
:Kisah Pengguna;

if (Kompleks atau Kritis?) then (Ya)
:Haluskan menjadi Kasus Penggunaan;
else (Tidak)
:Lanjutkan dengan Kriteria Penerimaan;
endif

:Model dalam Diagram Kebutuhan;
:Hubungkan ke Desain, Uji Coba, dannValidasi;

berhenti
@enduml

🧩 Strategi Integrasi Langkah demi Langkah

  1. Mulai dengan Cerita Pengguna

    • Tangkap kebutuhan pengguna dalam bahasa yang sederhana dan berbasis nilai.

    • Prioritaskan dalam daftar backlog produk.

  2. Sempurnakan Cerita Kompleks menjadi Kasus Penggunaan

    • Untuk cerita yang melibatkan logika kompleks (misalnya, penarikan dengan batas, otentikasi multi-langkah).

    • Gunakan kasus penggunaan untuk mendokumentasikan seluruhĀ skenario,Ā penanganan pengecualian, danĀ pemicu.

  3. Model Semua dalam Diagram Kebutuhan (SysML)

    • Ubah semua cerita pengguna dan kasus penggunaan menjadi formalĀ kebutuhan.

    • Tetapkan ID, jenis (fungsional/kinerja), dan prioritas.

    • Hubungkan ke:

      • Blok desain (melaluiĀ Ā«memenuhiĀ»)

      • Kasus uji (melaluiĀ Ā«verifikasiĀ»)

      • Pihak terkait (melaluiĀ Ā«lacakĀ»)

      • Persyaratan lainnya (melaluiĀ Ā«turunkanReqtĀ»,Ā Ā«haluskanĀ»)

  4. Jaga Matriks Jejak (RTM)

    • Gunakan diagram untuk menghasilkanĀ Matriks Jejak Persyaratan (RTM).

    • Pastikan setiap persyaratan adalahĀ diverifikasiĀ danĀ divalidasi.


šŸĀ Pikiran Akhir: Memilih Pendekatan Anda

Jenis Proyek Teknik yang Direkomendasikan Mengapa
Startup Agile / MVP Cerita PenggunaĀ + Kriteria Penerimaan Pengiriman cepat, kolaborasi, biaya minimal
Aplikasi Perbankan Enterprise Cerita Pengguna → Kasus Penggunaan → Diagram Persyaratan Menyeimbangkan agilitas dengan pelacakan dan kepatuhan
Perangkat Medis / Dirgantara Diagram Kebutuhan (SysML) Kepatuhan regulasi, kritis terhadap keselamatan, pelacakan penuh
Sistem Pemerintah / Pertahanan Diagram Kebutuhan (SysML)Ā + Kasus Penggunaan Verifikasi formal, siap audit
Tim Kecil, Prototipe Cepat Cerita PenggunaĀ dengan kriteria penerimaan ringan Kecepatan dan kesederhanaan

šŸ“ŒĀ Ringkasan: Gambaran Besar

Teknik Kelebihan Kelemahan Ideal Untuk
Kasus Penggunaan Perilaku rinci, penanganan kasus tepi, dapat diuji Berbelit-belit, kurang ramah agil Sistem kompleks, pengujian, dokumentasi
Cerita Pengguna Agil, kolaboratif, berfokus pada pengguna Kurang rincian, pelacakan buruk Iterasi cepat, MVP, tim Scrum
Diagram Kebutuhan Pelacakan penuh, mendukung non-fungsional, siap MBSE Kurva pembelajaran curam, diperlukan alat bantu Dikendalikan, skala besar, sistem kritis terhadap keselamatan

āœ…Ā Kiat Pro:Ā GunakanĀ Cerita PenggunaĀ untuk memulai,Ā Kasus PenggunaanĀ untuk memperdalam kompleksitas, danĀ Diagram KebutuhanĀ untuk memastikan kepatuhan, pelacakan, dan verifikasi.


šŸ“šĀ Bacaan Lebih Lanjut & Sumber Daya

  • Buku:

    • Cerita Pengguna yang Diterapkan – Mike Cohn

    • Pemodelan Kasus Penggunaan: Pendekatan Praktis – Paul C. J. H. M. van der Aalst

    • Menerapkan UML dan Pola – Craig Larman

    • Rekayasa Sistem dengan SysML – John A. McDermott

  • Alat:

  • Standar:

    • ISO/IEC/IEEE 29148:2018 – Rekayasa sistem dan perangkat lunak — Proses siklus hidup

    • IEEE 830 – Standar untuk Spesifikasi Kebutuhan Perangkat Lunak

    • DO-178C (Penerbangan), IEC 61508 (Keselamatan Fungsional)


šŸŽÆĀ Kesimpulan

Pemodelan kebutuhan bukan tentang memilih satu metode — tetapi tentang memilih alat yang tepat untuk pekerjaan tersebut.

  • Kasus PenggunaanĀ mengajarkan kitaĀ bagaimanaĀ sistem berperilaku.

  • Cerita PenggunaĀ mengingatkan kitaĀ mengapaĀ kita membangunnya.

  • Diagram Kebutuhan (SysML)Ā memastikan kitaĀ tidak melewatkan apa pun — dan dapat membuktikannya.

Dengan menggabungkan teknik-teknik ini secara bijak, tim dapat:

  • Mengurangi ambiguitas

  • Meningkatkan kolaborasi

  • Meningkatkan kemampuan pengujian

  • Memastikan kepatuhan

  • Menghadirkan perangkat lunak yang benar-benar memenuhi kebutuhan pengguna

šŸ”„Ā Ingat:Ā Persyaratan terbaik adalahĀ jelas, dapat diuji, dapat dilacak, dan bernilai — terlepas dari teknik yang digunakan.


āœ…Ā Poin Utama Akhir:

Mulailah dengan Cerita Pengguna. Perdalam dengan Kasus Penggunaan. Validasi dengan Diagram Kebutuhan.
Bersama-sama, mereka membentuk kerangka kerja yang kuat dan utuh untukĀ membangun hal yang tepat, benar.


šŸ“˜Ā Panduan ini dirancang untuk insinyur perangkat lunak, analis sistem, pemilik produk, tim QA, dan manajer proyek. Sesuaikan dengan ukuran, bidang, dan metodologi proyek Anda.

  1. Visual Paradigm – Panduan Diagram Kebutuhan: Ini adalahĀ panduan komprehensifĀ untuk membuat dan mengelola diagram kebutuhan, mencakup dasar-dasar dan praktik terbaik untukĀ pemodelan kebutuhan perangkat lunak dan sistem.

  2. Apa Itu Cerita Pengguna? Panduan Lengkap tentang Kebutuhan Agile: Panduan ini menjelaskan intiĀ konsep dan strukturĀ cerita pengguna dalam pengembangan Agile dan peran krusial mereka dalamĀ menangkap kebutuhan pengguna secara efektif.

  3. Apa Itu Diagram Kasus Pengguna? – Panduan Lengkap tentang Pemodelan UML: Penjelasan mendalam tentang diagram kasus pengguna dalam UML, menjelaskan tujuan, komponen, dan praktik terbaik merekaĀ tujuan, komponen, dan praktik terbaikĀ untuk analisis kebutuhan.

  4. Cara Menggambar Diagram Kebutuhan di Visual Paradigm: Tutorial ini menyediakanĀ petunjuk langkah demi langkahĀ tentang cara menentukan, menghubungkan, dan mengelola kebutuhan dalam format visual yang terstrukturĀ format visual yang terstruktur.

  5. Cara Menulis Cerita Pengguna yang Efektif: Praktik Terbaik dan Templat: Bagian panduan pengguna ini menyediakan templat dan petunjuk untuk menulisĀ cerita yang dapat diambil tindakan dan berfokus pada penggunaĀ untuk manajemen produk.

  6. Tutorial Diagram Kasus Pengguna Langkah Demi Langkah – Dari Pemula hingga Ahli: Tutorial komprehensif yang memandu pengguna dalam membuatĀ diagram kasus penggunaan yang efektif, mulai dariĀ konsep dasar hingga teknik lanjutan.

  7. Editor 3Cs Cerita Pengguna Berbasis AI: Tingkatkan Kejelasan dan Kelengkapan: Sumber ini menyoroti sebuahĀ alat yang didorong oleh AIĀ yang membantu tim Agile menerapkanĀ kerangka kerja 3CsĀ (Kartu, Percakapan, dan Konfirmasi) terhadap persyaratan mereka.

  8. Alat Diagram Persyaratan SysML – Visual Paradigm Online: Gambaran umum tentang alat yang dirancang untuk pemodelanĀ persyaratan sistem yang kompleksĀ dengan kepatuhan penuh terhadapĀ standar SysML.

  9. Menulis Cerita Pengguna yang Efektif: Panduan Praktis untuk Tim Agile: Panduan praktis yang menggunakanĀ contoh dunia nyataĀ untuk membimbing tim melalui proses menyusunĀ cerita pengguna berkualitas tinggiĀ untuk kolaborasi yang lebih baik.

  10. Memvisualisasikan Cerita Pengguna pada Diagram dengan Visual Paradigm: Panduan ini menunjukkan bagaimanaĀ mengintegrasikan cerita pengguna langsung ke dalam diagram, seperti peta kasus penggunaan, untuk meningkatkanĀ pemahaman dan pelacakan.

This post is also available in Deutsch, English, Español, فارسی, Français and English.