sesi 2 understanding application characteristics from functionality to performance
Post on 31-Jul-2015
33 Views
Preview:
DESCRIPTION
TRANSCRIPT
Sesi 2 Understanding Application Characteristics:
From Functionality to Performance
Understanding Application Characteristics : From Functionality to Performance 2 of 32
Karakteristik Aplikasi
“Hal yang sangat penting untuk dievaluasi secara obyektif dalam menentukan perlu tidaknya migrasi adalah apakah aplikasi memiliki
karakteristik (functional dan non functional) yang masih
dalam batas yang diterima bisnis atau tidak ?”
Understanding Application Characteristics : From Functionality to Performance 3 of 32
Core vs Non-Core
“Pastikan fungsi yang diinginkan pada Core Application betul-betul fungsi Core.“
“Faktor non-fungsional pada Core Application yang berpengaruh pada cost (development dan operasional)
menyebabkan tidak ekonomis untuk memasukkan fungsi
Non-Core dalam Core Application.”
Understanding Application Characteristics : From Functionality to Performance 4 of 32
Karakteristik Aplikasi
Fungsional
Non-Fungsional
Reliability
Speed
Availability
Extensibility
Maintainability
Fungsi Utama
Fungsi Pendukung
Performance
Security
User Friendliness
Manageability
Optimal Usage of Resources
Scalability
Karakteristik Aplikasi
Understanding Application Characteristics : From Functionality to Performance 5 of 32
Apa yang dapat pengguna lakukan pada aplikasi?
Bagaimana perilaku (behavior) aplikasi pada saat terjadi hal tertentu?
Proses otomatis apa yang dapat dilakukan aplikasi?
Laporan seperti apa yang dapat diolah aplikasi dari data yang ada?
Apa yang dapat dilakukan aplikasi untuk mengefisienkan proses bisnis?
Bagaimana pengguna dapat menggunakan aplikasi?
Fungsional
Sumber: Sharing VisionTM, 2012
Fungsional aplikasi apa yang bisa dilakukan oleh aplikasi untuk memenuhi kebutuhan bisnis atau peran aplikasi dalam
mendukung atau memungkinkan proses bisnis dilaksanakan.
Understanding Application Characteristics : From Functionality to Performance 6 of 32
Fungsi utama adalah fungsi aplikasi dalam menyokong fungsi bisnis utama perusahaan. Dalam kasus ekstrimnya,
bisnis utama tidak dapat berjalan tanpa adanya fungsi-
fungsi utama dalam aplikasi.
Fungsi pendukung adalah fungsi yang harus ada untuk
mendukung fungsi utama aplikasi
Fungsional: Fungsi Utama dan Fungsi Pendukung
Understanding Application Characteristics : From Functionality to Performance 7 of 32
Fungsional: Cara Mengevaluasi Fungsionalitas
Dinilai dari hal yang bisa dipenuhi dari kebutuhan fungsi aplikasi yang
kita butuhkan. Kebutuhan fungsi bisa dilihat dari kebutuhan para user bisnis (berdasarkan dokumen atau interview) dan best practices untuk perusahaan serupa, maupun kebutuhan strategic dari
top managemen.
Contoh parameter: Pemenuhan fungsionalitas opsional (yang mandatory biasanya menjadi go
atau no-go filter).
Understanding Application Characteristics : From Functionality to Performance 8 of 32
Kode
Menu Nama Menu
Kesesuaian Catatan Ketidaksesuaian
Sesuai Tidak
AB018 Laporan Transaksi Pinjaman x -
M_02D Pemelihataan Data Kredit x -
M_01A Pemeliharaan Data Debet x -
ST085 Setoran Tunai x Tidak ada data
TE097 Penyerahan Ke Teller x Belum ada kebijakan tertulis transaksi teller ke teller.
TE098 Penerimaan Dari Teller x Belum ada kebijakan tertulis transaksi teller ke teller.
KO053 Laporan Transaksi x Masih bisa digunakan
Fungsional: Contoh Checklist Fungsional Aplikasi
Sumber: Sharing Vision Experiences, 2011
Understanding Application Characteristics : From Functionality to Performance 9 of 32
Non-Fungsional
Sumber: Sharing Vision Experience
Karakteristik non-fungsional meliputi:
Performance
Security (CIA)
User Friendliness
Manageability
Understanding Application Characteristics : From Functionality to Performance 10 of 32
Performance meliputi:
Reliability
Speed
Optimal Use of Resource
Scalability
Availability
Non Fungsional (1): Performance
Understanding Application Characteristics : From Functionality to Performance 11 of 32
Performance (1): Reliability
Reliability adalah kemampuan dari aplikasi untuk selalu bekerja dengan baik dan tepat setiap kali aplikasi
digunakan oleh user
Reliability terkait erat dengan bug dan defect dalam aplikasi. Suatu
aplikasi core yang baik harus dipastikan memiliki karakteristik
zero-bug (atau paling tidak mendekati zero-bug), sehingga dapat
dikatakan sangat Reliable
Understanding Application Characteristics : From Functionality to Performance 12 of 32
Performance (1): Contoh Kasus Reliability
Sumber: Mark Minasi, “Software Conspiracy”
Vernon Kidd meninggal akibat over-dosis radiasi sinar X. Hasil penyidikan menemukan indikasi bahwa: hal ini terjadi karena adanya kesalahan pada software yang menyebabkan mesin tidak merespon kalibrasi data.
Puluhan tentara Amerika meninggal dikarenakan
software kendali rudal Patriot berhenti bekerja dengan baik setelah digunakan selama 14 jam.
European Ariane 5 meledak 40 detik setelah take-0ff karena
kesalahan pada software
Understanding Application Characteristics : From Functionality to Performance 13 of 32
Performance (1): Contoh Kasus Reliability
Sharing Vision Experience
Sebuah perusahaan di Indonesia tidak bisa mendeteksi
beberapa nomor kuitansi yang loncat karena
kesalahan manajemen pengadaan software.
Bunga untuk nasabah sebuah bank di Indonesia
pernah berubah nilainya menjadi lebih besar untuk beberapa bulan.
Understanding Application Characteristics : From Functionality to Performance 14 of 32
Performance (2): Speed
Speed: kecepatan aplikasi melakukan operasi/proses
• Berapa transaksi yang dapat didukung oleh aplikasi pada setiap detik (transaction per second)?
• Berapa lama proses batch dilaksanakan oleh aplikasi?
Kecepatan dari aplikasi juga tergantung pada kemampuan hardware
Understanding Application Characteristics : From Functionality to Performance 15 of 32
Kasus 1: Waktu EOD (End of Day):
Salah satu bank di indonesia pernah mengalami End of Day (EOD)
sekitar 12 jam, dibandingkan dengan EOD normal sekitar 4-6 jam.
Sehingga menyebabkan keterlambatan pembukaan bank.
Kasus 2: Respon Time:
Pernah terjadi sebuah perusahaan, waktu respon cetak laporan sekitar 30 menit per-satu kali cetak.
Performance (2): Contoh Kasus Speed
Understanding Application Characteristics : From Functionality to Performance 16 of 32
Performance (3): Optimal Use of Resource
Kemampuan aplikasi dalam menggunakan resource (CPU,
Memory, Network, Disk) secara optimal untuk memaksimalkan
kemampuan resource
• Dukungan aplikasi terhadap arsitektur CPU multi-core
• Aplikasi menerapkan buffering / caching untuk mengurangi waktu pengambilan data dari disk/network
• Memberikan petunjuk/manual bagi operator dalam mendukung optimalisasi penggunaan resource aplikasi
Understanding Application Characteristics : From Functionality to Performance 17 of 32
Performance (4): Scalability
Aplikasi dinyatakan memiliki scalability baik jika tambahan beban selalu dapat diatasi dengan penambahan hardware/resource
Aplikasi yang tidak memiliki scalability baik dapat mengalami penurunan performance jika beban bertambah (misalnya menjadi tidak Reliable, ataupun Speed berkurang)
Scalability: Kemampuan aplikasi untuk dapat bekerja dengan baik dan cepat dengan tambahan
beban (volume data maupun akses secara bersamaan / concurrent
access)
Understanding Application Characteristics : From Functionality to Performance 18 of 32
Availability yaitu memastikan user aplikasi dapat mengakses aplikasi
“pada setiap saat aplikasi dibutuhkan”.
Performance (5): Availability
Contoh:
Sistem billing telco dengan availability minimal 99.99% dalam 30
hari maksimal mengalami unavailable selama :
(1 – 99,99%) x 30 hari x 24 jam/hari x 60 menit/jam = 4.32 menit
Sumber: Sharing VisionTM
Understanding Application Characteristics : From Functionality to Performance 19 of 32
Performance (5): Konsep Availability
Availability (A) = A1 x A2 x A3 x A4 x A5 ... An
Software Hardware Human Process
Availability aplikasi terdiri dari rangkaian komponen pendukung sistem
aplikasi yang mempengaruhi satu sama lain. Availability total
akan lebih kecil dari availability terkecil dari “komponen
pembentuk sistem dan proses secara keseluruhan”
Interface
Sumber: Sharing VisionTM
Understanding Application Characteristics : From Functionality to Performance 20 of 32
Tentukan Performance Requirement
Uji atau evaluasi performance terhadap requirement
Hasil uji atau evaluasi
Bagaimana Mengukur Performance?
Kenyataannya pengujian atau evaluasi performance tidak sederhana. Ada banyak pendekatan
yang bisa dilakukan. Misalnya :
Jika kita bisa menemukan satu kondisi dimana requirement performance tidak terpenuhi, maka berarti aplikasi tersebut tidak memenuhi kriteria minimal yang
dibutuhkan perusahaan
Understanding Application Characteristics : From Functionality to Performance 21 of 32
Keamanan dari aplikasi untuk memastikan bahwa seluruh proses yang dilakukan di dalam aplikasi
aman
Non-Fungsional (2): Security
Sumber: Sharing VisionTM, 2012
Hanya user yang mempunyai hak yang dapat mengakses informasi
Informasi terjaga, yaitu tidak dapat berubah secara tidak benar (misalnya: diubah oleh pihak yang tidak berwenang)
Security menjaga dari ancaman terhadap ketersediaan sistem bagi user
Confidentiality
Integrity
Availability
Understanding Application Characteristics : From Functionality to Performance 22 of 32
Ada setidaknya dua cara yang bisa dilakukan untuk menilai Application Security : 1) Meminta vendor untuk menjelaskan aspek-aspek application securitynya,
dari sisi proses design nya, arsitektur maupun solusi-solusi security yang digunakan, dan apa yang telah dilakukannya untuk menghindari major software security vulnerabilities sesuai best practices
2) Adanya pihak auditor independen yang terpercaya yang telah mengaudit Application Security dari aplikasi tersebut
Cara yang kedua relatif lebih kuat dan untuk Bank, hal
tersebut adalah mandatory (berdasar PBI MRTI
09/15/2007)
Security: Penilaian Security
Understanding Application Characteristics : From Functionality to Performance 23 of 32
Security: Contoh Kasus (1)
“Kebobolan lewat aplikasi ATM”
Di suatu bank di Indonesia aplikasi ATM telah dibobol sehingga seorang nasabah yang tidak memiliki ATM, uangnya terkuras habis melewati ATM orang lain.
Sumber: Sharing VisionTM
Understanding Application Characteristics : From Functionality to Performance 24 of 32
Security: Contoh Kasus (2)
Banyak kasus voucher telekomunikasi bisa diisi ulang oleh orang yang tidak berwenang
“Isi ulang ilegal voucher telekomunikasi”
Sumber: Sharing VisionTM
Understanding Application Characteristics : From Functionality to Performance 25 of 32
Non-Fungsional (3): User Friendliness
Sumber: Organizational Requirements Engineering
User Friendliness artinya aplikasi dapat digunakan oleh user dengan mudah dan nyaman.
Biasanya dinilai dari : • jenis user interface (preferensi: web) • perintah bisa diakses bukan hanya dengan mouse namun
juga dengan shortcut-shortcut • auto-completion • konsistensi tampilan • Mudah dibaca • Simpel
Understanding Application Characteristics : From Functionality to Performance 26 of 32
User Friendliness: Contoh Kasus
Perubahan antarmuka aplikasi TUI (Textual User Interface) ke GUI (Graphical User Interface) dan dari GUI ke:
• GUI + touch • GUI + touch + voice • GUI + touch + voice + gesture
Understanding Application Characteristics : From Functionality to Performance 27 of 32
Manageability meliputi:
• Extensibility
• Maintainability
Non Fungsional (4): Manageability
Manageability (1): Extensibility
http://en.wikipedia.org/wiki/Extensibility
Contoh:
• Aplikasi menggunakan arsitektur SOA, menyediakan Web Service untuk semua fungsi utama
aplikasi, sehingga dapat dengan mudah diintegrasikan dengan aplikasi eksternal
untuk otomatisasi proses bisnis
• Aplikasi menyediakan kapabilitas custom reporting, sehingga setiap report dapat dengan
mudah disesuaikan dengan perubahan kebutuhan
• Aplikasi dirancang dengan arsitektur yang sangat modular dan dengan base module/framework yang baik, sehingga penambahan fungsi dapat dilakukan dengan mudah, tanpa mengubah source code yang ada
Extensibility adalah kapabilitas dan kemudahan aplikasi untuk disesuaikan dengan perubahan atau penambahan kebutuhan bisnis terhadap
aplikasi atau dengan kata lain kapabilitas dan kemudahan untuk
mengubah/menambah aspek fungsional dari aplikasi
Understanding Application Characteristics : From Functionality to Performance 29 of 32
Adanya tools atau cara untuk :
• Menambah fungsi
• Merubah fungsi
• Mengintegrasikan dengan sistem lain
• Menginterkoneksikan dengan sistem lain
Manageability (1): Cara Mengevaluasi Extensibility
Understanding Application Characteristics : From Functionality to Performance 30 of 32
Manageability (2): Maintainability
Sumber: Wikipedia
Dalam operasional suatu aplikasi, akan selalu
terdapat permasalahan menyangkut
aplikasi, baik bersumber dari aplikasi, infrastruktur (jaringan, server, dsb) dan kesalahan user. Maintainability aplikasi terkait dengan kemudahan: 1. Memonitor komponen aplikasi 2. Mencari dan mengisolasi akar masalah 3. Memperbaiki akar masalah pada aplikasi
Understanding Application Characteristics : From Functionality to Performance 31 of 32
Ketersediaan tools atau cara untuk :
• Memonitor komponen aplikasi
• Mencari dan mengisolasi akar masalah
• Memperbaiki akar masalah pada aplikasi
Manageability (2): Cara Mengevaluasi Maintainability
Understanding Application Characteristics : From Functionality to Performance 32 of 32
Aplikasi dapat ditinjau karakteristiknya dari dua sisi utama yaitu fungsional dan non-fungsional.
Untuk penentuan kebutuhan migrasi atau tidak, bisa dilakukan uji karakteristik aplikasi.
Karakteristik aplikasi juga diperlukan untuk memilih solusi core application yang paling tepat bagi perusahaan bila telah diputuskan bahwa migrasi core application feasible. Hal ini akan dibahas lebih lanjut pada sesi berikutnya.
Penutup
Understanding Application Characteristics : From Functionality to Performance 33 of 32
Merci bien
Arigatoo
Matur Nuwun
Hatur Nuhun
Matur se Kelangkong
Syukron
Kheili Mamnun
Danke
Terima Kasih
top related