Laman

Senin, 15 November 2010

Meningkatkan Open Source Software dengan UML Case Model Tools

pembangunan Terintegrasi dengan produktif (UML) Unified Modeling Language Komputer Aided Software Engineering (CASE) alat memperkuat perangkat lunak Open Source's mekanisme model dukungan dan bantuan dalam mendefinisikan solusi lengkap untuk masalah desain yang kompleks. Produktivitas meningkatkan level dicapai secara signifikan melalui seleksi KASUS alat UML produktif yang menyediakan perangkat lunak insinyur kemampuan untuk melakukan analisis rinci dan desain. Tulisan ini menyajikan manfaat yang terkait dengan penggunaan Open Source model perangkat lunak dan CASE tools UML selama proses rekayasa perangkat lunak. Model perangkat lunak dijelaskan dan dibandingkan dengan teknik tradisional perangkat lunak skala besar rekayasa. Ini juga menjelaskan tahap model-model pembangunan dan bagaimana intertwines pemeliharaan software dengan mendefinisikan solusi lengkap untuk basis pelanggan's Open Source. Makalah ini juga memperkenalkan perangkat lunak insinyur untuk CASE tools utama yang tersedia untuk pengembangan perangkat lunak Open Source.

Model Software Open Source

Open Source model perangkat lunak bukan sebuah teknik baru atau proses, itu hanya pandangan alternatif teknik rekayasa perangkat lunak digunakan untuk tradisional model pembangunan komersial (Godfrey & Tu, 2000, hal 2). proyek-proyek Open Source telah ada sejak 1960-an, tetapi cenderung mengalami popularitas yang baru ditemukan saat ini disebabkan oleh meningkatnya penggunaan internet sebagai media komunikasi dan informasi. Proses rekayasa perangkat lunak meliputi:

- Mendefinisikan Persyaratan

- System-Level Design

- Detail Desain

- Implementasi

- Integrasi

- Lapangan Pengujian, dan

- Dukungan

Sumber TheOpen model perangkat lunak mendukung semua aspek dari proses ini dan menyediakan insinyur dengan metodologi untuk mengikuti untuk menghasilkan produk berkualitas tinggi menerapkan persyaratan klien. Satu keuntungan pasti dari model Open Source adalah perpanjangan dan dekat relativitas "dengan model pengembangan ilmiah, dengan kode diperlakukan sebagai hasil penelitian, dan diterbitkan untuk peer review" (Bezroukov, 2001, hal.10). Dengan demikian, kekuatan model terletak pada fakta bahwa itu didukung melalui basis pengguna yang lebih luas daripada model-model rekayasa perangkat lunak tradisional. kesalahan utamanya adalah kenyataan bahwa "[t] ia model perangkat lunak Open Source yang terbaik untuk perangkat lunak yang sudah sukses. Ini hampir tidak ada untuk perangkat lunak yang tidak memiliki basis pengguna" (O'Brien, 2001, hal. 20).

proyek-proyek OpenSource cenderung memiliki seorang manajer tunggal, tim pengembangan, dan basis pengguna-tertarik. Masing-masing memiliki wawasan individu mereka sendiri ke dalam larutan persyaratan dan proses biasanya menyediakan tester basis yang lebih luas untuk masalah pemeliharaan sistem. Landasan metodologi adalah bahwa hal itu didasarkan pada model desentralisasi yang didukung dari sebuah komunitas besar pengembang peduli dengan menghasilkan kualitas, produk dewasa. Praktisi menikmati kesempatan untuk menulis kode, yang merupakan motivasi utama bagi hampir semua pengembangan perangkat lunak Open Source, dan dengan demikian terus-menerus memperbaiki proses rekayasa perangkat lunak.

Model ini memang memiliki pangsa masalah dan keterbatasan yang meskipun, dan mereka berkisar desentralisasi proses rekayasa perangkat lunak itu sendiri. porsi besar pengembang tidak co-terletak dengan rekan-kontributor dan pemeliharaan selama siklus hidup pengembangan perangkat lunak dilakukan melalui Internet. Fakta ini, bila dibarengi dengan sifat demokratis perangkat lunak Open Source cenderung memperlambat pengembangan produk (Bezroukov, hal.6). Semakin besar proyek semakin besar hambatan adalah untuk diatasi. Sumber Co-produk perangkat lunak Open terletak tidak menderita dari fenomena ini, karena mereka memiliki upaya terkonsentrasi untuk memastikan gerakan melalui siklus pengembangan. Proyek-proyek Linux Gnome, KDE, dan Eazel mendukung Terbuka ini mengkoordinasikan upaya rekayasa Sumber yang telah membawa model ke garis depan pembangunan saat ini.

model perangkat lunak OpenSource bisa didefinisikan sebagai penyempurnaan dari kekuatan yang berhubungan dengan model perangkat lunak yang ada rekayasa. Seperti model lain mencoba untuk mengumpulkan kekuatan dari model perangkat lunak saat ini digunakan teknik, sedangkan tidak termasuk kelemahan model-model. feat ini telah dicapai melalui komunikasi terbuka dan berbagi ide antara pengembang utama gerakan Open Source. Struktur model meningkatkan pada model prototipe incremental, build-dan-memperbaiki, dan cepat dengan menciptakan jalur komunikasi siklik antara maintainer proyek, tim pengembangan, dan pengguna atau debugger, lihat Gambar 1. Misalnya, Unified Modeling Language (UML) alat konsep dikembangkan dan terdaftar dengan Open Source Development Network SurgeForce (http://www.surgeforce.com), Internet repositori untuk proyek-proyek Open Source. Setelah proyek menarik tim pengembangan pengelola menyediakan mereka dengan rilis awal untuk penambahan pengujian dan fitur. Pengembang, pada gilirannya menginformasikan manajer proyek perangkat tambahan dan sekali mereka telah dikodekan ke dalam aplikasi basis pengguna diidentifikasi untuk pengujian produk. Basis pengguna juga memiliki kesempatan untuk menyarankan koreksi desain cacat dan mengusulkan fitur baru mereka akan seperti maintainer untuk dimasukkan ke dalam proyek. Ini produk yang ditingkatkan kemudian dikirimkan kembali ke tim pengembangan, dan siklus ini terus sampai proyek telah jatuh tempo menjadi produk releasable stabil.

Perbandingan Model

Sumber TheOpen model Software mempertahankan hubungan dengan model rekayasa perangkat lunak tradisional dengan memasukkan berbagai metodologi model masing-masing:

Sinkronisasi andStabilize Model: Kekuatan model ini terbukti dengan dominasi Microsoft Corporation dalam sistem operasi dan industri perangkat lunak. Model mensinkronisasikan apa pemrogram telah dikembangkan dan secara berkala menstabilkan produk selama berbagai bagian pada proses pembangunan bukan pada akhir proyek. Kontras model dengan model Open Source adalah bahwa model Microsoft berfokus pada konsumen bukan klien tunggal, atau domain masalah. Karena perbedaan ini, Open Source model perangkat lunak umumnya menderita dari persyaratan pemasaran tidak lengkap dan sistem tingkat-sedikit atau desain detail bersama dengan dokumentasi minimal. (Malik & Palencia, 1999). Kurangnya fokus telah menjadi kematian beberapa proyek, untungnya mereka yang mengikuti praktek rekayasa perangkat lunak didirikan, dan cenderung untuk memenuhi kebutuhan yang valid, berhasil lebih sering dengan produk mereka.

Waterfall Model: Model ini memberikan pengembangan spesifikasi sistem klasik yang dapat diadaptasi dalam setiap proses pengembangan perangkat lunak. Model ini memberikan latar belakang untuk semua model lain dan model Open Source yang tidak dikecualikan. Pengujian selesai pada setiap fase metode waterfall dan integral untuk keberhasilan proyek menggunakan model perangkat lunak Open Source. Hal ini membutuhkan checks and balances selama seluruh proses dan model Open Source memperluas ide ini dengan memungkinkan interaksi pengguna meningkat untuk perbaikan fungsi.

Membangun dan Fix Model: Schach (h. 64) menyatakan, "Ini adalah disayangkan bahwa banyak produk yang dikembangkan dengan menggunakan apa yang mungkin disebut sebagai model build-dan-fix." Sebagian besar proyek-proyek Open Source memulai hidup mereka di bawah pengembangan model ini karena mereka dirancang untuk memperbaiki beberapa masalah spesifik yang dialami oleh seorang programmer atau administrator sistem. Jika produk jatuh tempo, akhirnya berkembang dari model ini ke dalam memenuhi kebutuhan full-blown pengguna produk dan persyaratan desain memuaskan. Perencanaan dapat mengatasi keterbatasan perangkat lunak Open Source model, sebagai proyek akan menerapkan metodologi siklus hidup mapan dengan model itu sendiri. Proyek Apache dimulai dari webmaster berbagi patch untuk web server NCSA dan dikembangkan menjadi server yang paling populer terkoneksi ke internet hari ini (Behlendorf, 1999).

Rapid PrototypeModel: Model prototipe cepat adalah solusi khas untuk masalah desain sistem didefinisikan. Beberapa proyek Open Source dasar pengembangan usaha mereka pada model ini, karena menyediakan pengguna dengan produk yang sebagian dapat dikerjakan dan mendorong kolaborasi pengguna untuk perbaikan desain. proyek-proyek Open Source yang dimulai sebagai prototipe cepat selama rilis awal, biasanya gagal untuk melanjutkan kemajuan dalam model ini karena sebagai peningkatan rilis perkembangan, baik pengujian yang ekstensif dan analisis diperlukan atau proyek menderita kurangnya partisipasi pengembang.

Spiral Model: model Thespiral menyediakan analisis risiko luas di seluruh siklus hidup pengembangan perangkat lunak keseluruhan untuk aplikasi perangkat lunak skala besar. Beberapa prototipe sistem dikerahkan tergantung pada setiap rapat verifikasi dan kriteria analisis resiko sampai produk selesai siap untuk rilis operasional. Seperti model lain, Open Source model perangkat lunak biasanya digunakan dalam hubungannya dengan model spiral tergantung pada lingkup proyek dan jumlah pengguna yang terkena. Open Source database relasional telah memasukkan verifikasi dan risiko fungsionalitas analisis model spiral ke dalam tahap pembangunan mereka karena ada sejumlah besar peningkatan risiko yang terkait dengan kegagalan fungsi database bagi pengguna bisnis.

Fungsi pemeliharaan yang disediakan oleh model perangkat lunak Open Source adalah kebajikan yang terkuat, sebagai model ini bergantung pada produktivitas baik bertahan dan berkembang. Pengguna melakukan pemeliharaan produk perangkat lunak dan perangkat tambahan biasanya dikodekan ke dalam aplikasi untuk nanti submittal kepada para pengembang sendiri. Kode-dasar biasanya tetap dalam keadaan stabil konstan sebagai pengguna produk dan keterbatasan mengungkap lagi mengajukan perbaikan kepada para pengembang.

Open Sources titik terlemah berkaitan dengan pemasaran produk, penerimaan, dan kebutuhan bisnis mengungkap sebenarnya untuk organisasi mainstream. Sebagian besar proyek-proyek Open Source memulai dengan dana sedikit atau tidak ada sebagai solusi untuk sebuah masalah yang dialami dalam hubungannya dengan programmer "hari kerja". Bahasa pemrograman Perl adalah suatu produk yang telah jatuh tempo secara signifikan sejak Larry Wall pertama kali menulis bahasa pada tahun 1986 sebagai cara untuk menghasilkan halaman web pemrograman. "Jika perusahaan serius tentang mengejar model ini, perlu untuk melakukan penelitian dalam menentukan apa produk perlu untuk strategi open-source untuk sukses" (Behlendorf, ayat 38). Ini pemikiran yang memperkuat model perangkat lunak Open Source.

Open Source dan UML

proyek-proyek Open Source, seperti proyek-proyek proprietary, membutuhkan tingkat analisis persyaratan dan pemodelan untuk berhasil mengimplementasikan solusi. UML adalah pendekatan definitif untuk membangun model pembangunan berbasis proses yang menggabungkan suara dan arsitektur yang kuat. Spesifikasi ini memungkinkan pengembang kenyamanan menggunakan notasi standar untuk model komponen sistem, perilaku, dan pengguna. Objek Modeling Grup spesifikasi untuk menyatakan UML:

"TheUnified Modeling Language (UML) adalah bahasa grafis untuk memvisualisasikan, menentukan, membangun, dan mendokumentasikan artifak dari sistem perangkat lunak-intensif. The UML menawarkan cara standar untuk menulis cetak biru sistem, termasuk hal-hal konseptual seperti proses bisnis dan sistem fungsinya serta hal-hal konkret seperti laporan bahasa pemrograman, skema database, dan komponen perangkat lunak dapat digunakan kembali "(OMG, 2001).

titik utama The OMG's tentang UML adalah bahwa itu adalah "bahasa" untuk menentukan apa sistem yang seharusnya untuk mencapai dan bukan sebuah metode, atau prosedur untuk menyelesaikan tugas tertentu. Bahasa dapat digunakan untuk mendukung siklus hidup pengembangan perangkat lunak dalam berbagai cara, tetapi diciptakan untuk melayani sebagai cetak biru sistem. Persyaratan analisis dilakukan menyangkut masalah perangkat lunak atau sistem, kemudian dimodelkan melalui UML dan disajikan sebagai solusi konseptual. Spesifikasi UML tidak menentukan metodologi yang tepat atau proses yang harus digunakan untuk menyelesaikan masalah, tetapi menguraikan pemahaman analis masalah untuk terjemahan mudah oleh tim desain.

UML mendefinisikan notasi dan semantik untuk jenis berikut pemecahan masalah (Erriksson & Penker, 1998):

- User Interaksi atau Use Case Model - menggambarkan batas dan interaksi antara pengguna dan sistem.

- Interaksi atau Kolaborasi Model - menjelaskan bagaimana objek dalam sistem berinteraksi untuk menyelesaikan tugas.

- Dynamic Model - Negara grafik menggambarkan menyatakan bahwa kelas mengasumsikan dari waktu ke waktu. Kegiatan grafik menggambarkan alur kerja sistem akan capai.

- Logika atau Kelas Model - menjelaskan kelas dan objek sistem.

- Fisik Komponen Model - menjelaskan perangkat lunak, dan kadang-kadang perangkat keras, sistem.

- Fisik Deployment Model - menjelaskan sistem arsitektur fisik dan penyebaran komponen pada perangkat keras sistem.

UMLprovides perangkat lunak Open Source model dengan kemampuan untuk berkembang dari aplikasi solusi sederhana untuk penggunaan pribadi untuk aplikasi skala besar menyelesaikan persyaratan ukuran sistem industri. Pengembang disediakan elemen model, notasi, dan pedoman sesuai dengan standar internasional OMG. Ini adalah proses yang UML menyediakan pengembangan organisasi yang memungkinkan mereka untuk kembali fokus pengembangan usaha mereka terhadap pemahaman mudah masalah ini kompleks.

Thefact bahwa UML adalah "Nonproprietary dan terbuka untuk semua" (OMG, 1997, ayat 24) memungkinkan notasi standar untuk dimasukkan ke dalam berbagai perangkat dan bahasa yang ditujukan untuk pengembangan Open Source. UML telah berhasil mengaktifkan upaya pengembangan terbuka yang terkait dengan Grup Apache, http://www.apache.org, dan ObjectRequest Common Broker Architecture (CORBA), http://www.corba.org, memberikan spesifikasi vendor-netral untuk penggunaan oleh pengembang pada sistem multipleoperating.

Themajority Open Source Computer Aided Software Engineering (CASE) alat eksklusif dukungan UML, metodologi yang memiliki berbuah gabungan tiga methodologists terkemuka: Grady Booch, James Rumbaugh, dan Ivar Jacobson. Tidak seperti metodologi berorientasi objek lainnya, UML ini dimaksudkan untuk menjadi sebuah standar pemodelan terbuka yang gabungan kekuatan dari metodologi lain yang telah berkembang selama selama bertahun-tahun. Manytools dukungan UML versi 1.2 dan memungkinkan pengguna untuk beralih antara visualrepresentations dari Booch, OMT (Object-Oriented Modeling Language), dan inorder UML untuk membantu pengembang yang sudah digunakan untuk transisi ini metode yang lebih tua untuk UML.

Tidak ada komentar:

Posting Komentar