software architecture reconstruction

21
SOFTWARE ARCHITECTURE RECONSTRUCTION: A PROCESS- ORIENTED TAXONOMY Nama : Akhmad Rizal F Npm : 06.2010.1.05523

Upload: ijal-ferdi

Post on 25-Nov-2015

31 views

Category:

Documents


0 download

TRANSCRIPT

Software Architecture Reconstruction: A Process-Oriented Taxonomy

Software Architecture Reconstruction: A Process-Oriented Taxonomy

Nama : Akhmad Rizal FNpm: 06.2010.1.05523TaxonomyTaxonomies berasal dari bahasa Yunani. Terdiri dari 2 kata, yaitu taxis dan nomos. Taxis berarti mengatur atau menyusun sesuatu sedangkan nomos berarti kebiasaan atau aturan. Jadi Taxonomies bisa diartikan sebagai aturan untuk menyusun atau mengatur.Salah satu bentuk Taxonomy adalah klasifikasi atau pengkategorian. Klasifikasi atau pengkategorian diperuntukan untuk sesuatu yang berkelompok dan memiliki keterkaitan satu dengan yang lain.

Software Architecture ReconstructionArchitecture Reconstruction :adalah seperti membangun" arsitektur yang diimplementasikan pada sistem yang telah ada.Hal ini dilakukan melalui "analisis rinci" dari sistem, menggunakan dukungan alat.Jika alat yang digunakan sukses, hasil akhirnya adalah representasi arsitekturfungsi SARMenurut Garlan, arsitektur perangkat lunak memainkan peran penting dalam setidaknya enam aspek pengembangan perangkat lunak yakni :Understanding untuk memahami desain sistem secara keseluruhan dan membuat keputusan memperhitungkan kendala desain, kualitas atribut, dllReuseArsitektur sangat menekankan untuk digunakan kembali seperti komponen, kerangka kerja, dan pola.Construction memungkinkan pengembang untuk memusatkan perhatian mereka pada pelaksanaan komponen utama dan untuk memperbaiki secara iterasi

Evolutionmencari kekurangan dari sistem dan memikirkan bagaimana aplikasi perangkat lunak akan bisa berkembang nantinya.Analysis Untuk menganalisis seperti bentuk kesesuaian, kualitas attributnya, dan juga ketergantungan analisa.ManagementSemakin jelas pandangan perangkat lunak sistem, semakin akan menjadi sukses tugas pembangunanThe lifetime flow of software architecture reconstruction, upon which we base this taxonomy.

Tujuan: SAR dianggap oleh masyarakat sebagai pendekatan proaktif untuk menjawab tujuan bisnis para stakeholder. Arsitektur rekonstruksi adalah dasar untuk redocumentation, reuse investigation, and migration to product lines, atau coevolution of implementation and architectureProses: Dibedakan menjadi 3macam proses SAR berdasarkan alirannya untuk mengidentifikasi arsitektur antara lain: bottom-up, top-down, atau hybrid.Input: Sebagian besar pendekatan SAR didasarkan pada sumber kode informasi dan keahlian manusia. Namun, beberapa memanfaatkan informasi arsitektural atau nonarchitectural lainnya seperti informasi dinamis atau informasi sejarah. Selain itu, tidak semua pendekatan menggunakan arsitektural style dan viewpoints meskipun ini adalah yang terpenting dari arsitektur.

Teknik: Komunitas riset telah mengeksplorasi berbagai teknik rekonstruksi arsitektur yang mengklasifikasikan sesuai dengan tingkat otomatisasi.Output: Meskipun semua pendekatan SAR bermaksud untuk memberikan pandangan arsitektural, beberapa diantaranyamenghasilkan hasil berharga lainnya seperti informasi tentang kesesuaian arsitektur dan implementasi.

A process-oriented taxonomy for SARSalah satu bagian dari A process-oriented taxonomy for SAR yakni Techniques yang mengklasifikasikan menjadi tiga tingkatan otomatisasi antara lain:Kuasi-manualSemi-otomatisKuasi-otomatis

Quasi-ManualKuasi-manual, adalah secara manual mengidentifikasi elemen arsitektur menggunakan alat untuk membantu sehingga mempermudah mengerti adanya temuan.Dikelompokkan menjadi 2, yaitu :Construction-Based TechniquesTeknik ini merekonstruksi arsitektur perangkat lunak dengan pengetahuan abstrak tingkat rendah secara manual.

Quasi-ManualExploration-Based TechniquesTeknik ini memberikan engineer suatu pandangan arsitektural dari sistem dengan mengarahkannya melalui level tertinggi untuk implementasinya, seperti di Softwarenaut

SEMIAUOTOMATICSemi-otomatis, adalah secara manual menginstruksikan alat bagaimana untuk secara otomatis menemukan perbaikan atau memulihkan abstraksi.Dikelompokkan menjadi 2, yaitu :Abstraction-Based Techniques :Teknik ini bertujuan untuk memetakan konsep tingkat rendah dengan konsep tingkat tinggi.

SEMIAUOTOMATICInvestigation-Based TechniquesTeknik ini memetakan konsep tingkat tinggi dengan konsep tingkat rendah. Konsep-konsep tingkat tinggi dianggap mencakup area yang luas dari deskripsi arsitektur dan style untuk merancang pola dan fitur.

QUASI-AUTOMATICQuasi-otomatis,sebuah alat yang memiliki kontrol dan engineer mengarahkan proses pemulihan iteratif.Dikelompokkan menjadi 4, yaitu :Conceptsanalisis konsep formal adalah cabang dari teori kisi yang digunakan untuk mengidentifikasi pola desain, fitur atau modul.Clustering AlgorithmsAlgoritma clustering mengidentifikasi kelompok-kelompok objek yang anggotanya mirip dalam beberapa hal. Mereka telah digunakan untuk menghasilkan tampilan perangkat lunak.

QUASI-AUTOMATICDominanceDalam perawatan perangkat lunak, analisa dominasi mengidentifikasi bagian dalam suatu aplikasi. Dalam konteks ekstraksi arsitektur perangkat lunak, berdasarkan tesis Koschkes, Trifu menyatukan teknik cluster dan analisis dominasi untuk membangun arsitektur komponen pada turunan sistem berorientasi obyek.

QUASI-AUTOMATICLayers and MatrixSebuah pendekatan untuk mengidentifikasi siklus dan lapisan dalam aplikasi besar adalah Dependency Structure Matrix (DSM).Dependency Structure Matrix diadaptasi dari domain manajemen proses untuk menganalisis arsitektur dalam perangkat lunak.

KesimpulanKarena sistem berhasil dibuat untuk terus berevolusi dan tumbuh, pendekatan SAR harus mendukung mekanisme coevolusi untuk menyimpan semua yang telah diperbaiki yang disinkronisasi dengan source code.

KesimpulanPendekatan yang paling fokus biasanya pada identifikasi dan penyajian arsitektur perangkat lunak, beberapa menyediakan tambahan informasi yang berharga, misalnya kesesuaian arsitektur dan performanya. Arsitektur perangkat lunak dapat menjadi topik penting karena merupakan abstraksi kunci untuk pemahaman besar tentang aplikasi industri dan evolusi arsitektur perangkat lunak.

TERIMA KASIH.................