Senin, 13 Desember 2010

tugas 4 TK RPL (Topik khusus rekayasa perangkat lunak)


Metodologi Pengembangan Aplikasi Web
 
            Teknologi Web telah mengubah cara organisasidalam menjalankan bisnis dan komunikasi. Untuk pengembangan aplikasi, teknologi Web telah menyajikan dunia baru dari rekayasa perangkat lunak (software engineering) dengan teknik-teknik baru, tool baru, lingkungan perencanaan, dan penyebaran yang baru. Teknologi ini juga memungkinkan organisasi untuk menyampaikan aplikasi Web dengan lebih mudah dan lebih cepay serta menyediakan metode yang lebih efisien untuk melakukan pemeliharaan. Sebagai hasilnya, organisasi lebih tanggap terhadap kebutuhan pengguna dan lebih cepat untuk menyesuaikan aplikasi kepada pengguna yang lebih spesifik.

a.) APLIKASI WEB
            penggunaan aplikasi Web menggunakan browser Web pada computer client untuk menjalankan program pada sisi server. Seluruh pemrosesan yang dikerjakan pada server akan akan sama seperti yang dikerjakan pada mesin local pengguna. Ada tiga jenis aplikasi Web, yaitu:
·         Dokumen Web statis : aplikasi Web statis tudak berinteraksi atau mempertukarkan informasinya dengan penggunjungnya.
·         Aplikasi Web interaksi sederhana : mengijinkan penggunjung situs untuk dapat bertukar informasi dengan pemilik Web (Web owner).
·         System basis data berbasis Web yang kompleks : dapat menangani transaksi bisnis online yangn modern. Seperti perbankan online, pedagangan saham dan query basis data interaktif.
Aplikasi Web juga berdasarkan pada halaman Web perorangan, baik itu aplikasi statis ataupun dinamis. Hal ini memungkinkan aplikasi untukbisa dibagi kedalam bagian yang dianggap jelas, dan mengijinkan atau menolak akses yang dibutuhkan. Sebagai contoh : divisi sumber daya manusia perusahaan mungkin mengizinkan akses ke bagian aplikasi tertentu ketika mereka mengerjakan tugasnya atau saat bagian penjualan mungkin ingin melihat bagian persediaan dari aplikasi saat menempatkan pesanan pelanggan.

b.)KOMPONEN APLIKASI WEB
            aplikasi basis dat Web perusahaan yang kuat mempunyai lima komponen utama, sebagain besar server aplikasi akan melakukan pemrosesan logika dan menekankan aturan-aturan bisnis. Server aplikasi juga bertanggung jawab untuk memelihar daerah manajemen dan sesi logika kontrtol yang dibutuhkan untuk system transaksi online. Server basis dat mencakup DatabaseMnagement System (DBMS). Yang menyediakan akses data dan kemampuan manajemen. Biasanya, sesi server Web akan memproses permintaan client dan mengirimkannya kembali ke halama HTML kepada client. Ketika dibutuhkan server Web berhubungan dengan server aplikasi untuk memproses logika bisnis (seperti : otorisasi kredi dan pemeriksaan status persediaan).
Server basis data akan melakukan basis data query dan mengirimkam hasilnya kembali ke server Web seperti arsitektur multilapisan yang menyediakan skalabilitas system yang sangat tinggi. Ketika permintaan system meningkat, beban kerja dapat didistribusiakan pada aplikasi tambahan atau server basis data. Meskipun negitu, tata letak ini tidak bermaksud menyimpulkan bahwa server aplikasi untuk aplikasi Web harus ada dan secara tidak langsung menyimpulkan bahwa server Web, dan server aplikasi atau server basis data tidak dapat ditempatkan pada mesin yang sama. Keputusan terhadap komponen arsitektur akan berdampak pada kebutuhan aplikasi, strategi, bisnis, dan infrastruktur teknologi yang akan datang.
1.) PENGOLAHAN SISI CLIENT
            Pengolahan sisi client telah berkembang menjadi sangat terkenal pada tahun-tahun terakhir ini karena meningkatnya respons aplikasi secara keseluruhan dan munculnya keinginan untuk membebaskan beberapa sumber daya server Web untuk tugas-tugas lain. Java appletsdan komponen .NET Framework adalah dua teknologi utama yang mengijinkan pengembang untuk menciptakan dan memelihara kode yang berjalan pada workstation client. Komponen .NET Framework dan lode java yang berjalan pada server akan dikirimkan ke client sesuai keinginan.
Java applets dan komponen .NET mempunyai persamaan dalam hal pengeksekusian. Kedua teknologi ini berjalan pada mesin waktu eksekusi (runtime engine) di mesin client. Runtime adalah program yang berbeda di dalam mesin (resident) yang menyediakan layanan untuk program lain selama pengeksekusiannya. Runtime .NET dikenal sebagai Common Language Runtime (CLR). Komponen .Net mengompilasikan kode Intermediate Language (IL). Ketika IL sampai pada mesin client, kode tersebut akan ditenjemahkan kedalam kode mesin asli dengan kompilator Just-In-Time didalam CLR. Java applets dikompilasi Java Bytecode dan membutuhkan Java Virtual Machine (JVM) yang diinstal pada mesin client.

2.) PENGOLAHAN SISI SERVER
            Beberapa  aplikasi Web dapat berjalan sekurang-kurangnya untuk pengolahan pada sisi server. Aplikasi yang menggunakan pengolahan sisi server mengerjakan semua pengolahan aplikasi pada server dan hanya mengirimkan HTML kembali kepada client. Padea kasus aplikasi basis data Web, browser Web akan mengirimkan permintaan basis data ke server Web menyampaikan permintaan tersebut dengan menggunakan Common Gateway Interface (CGI) atau Internet Server Aplication Programming Interface (ISAPI) kepada server aplikasi dengan meiddleware basis data Web yang dapat dialokasi.
Server aplikasi menerima hasil query dan menciptakan halaman dalam format HTML dan mengirinkannya kembali ke server Web, menggunakan CGI atau standar tranmisi ISAPI. Selantnya, server Web mengirimkan halaman ke browser. Opsi pemrograman sisi sever mencakup Java. ActiveServer Pages(ASP), ASP.NET, Java Active Pages (JSP), PHP, dan CGI-script (Perl, C dan C++).

c.) TANTANGAN-TANTANGAN PENGEMBANGAN APLIKASI WEB
            tantangan utama mencakup desain usabilitas, pemeliharaan aplikasi Web yang kaya konten, keamanan, integrasi dengan system warisan, dan penyebaran aplikasi dengan cepat. Untuk aplikasi berbasis Internet, ada dua tantangan tambahan, yaitu skalabilitas dan keseimbangan pemuatan (Load Balancing).
·         Desain Usabilitas
·         Aplikasi yang Kaya Konten
·         Skalabilitas
·         Keseimbangan Pemuatan
·         Keamanan
Yang mencakup : privasi , integritas, autentikasi, control akses, system tak terbantahkan.
·         Syatem Warisan Terintegrasi
·         Pengembangan Yang Cepat


d.) METODOLOGI PENGEMBANGAN WEB
            Metodologi pengembangan sistam tradisional, yaitu model air terjun dan metode prototype, masih efektif untuk digunakan, namun perlu diadaptasi dan diperkaya di dalam lingkungan pengembangan yang baru untuk memenuhi tantangan-tantangan aplikasi Web.
Model ini mempunyai langkah-langkah yang sama dengan model air terjun, yaitu :
·         Definisi masalah
·         Analisi kebutuhan
·         Merancang prototype
·         Implementasi
·         Integrasi/pengujian, dan
·         Rilis/pemeliharaan

e.) PERAN-PERAN PENGEMBANGAN
·         Arsitek data akan berfokus pada bagian kebutukan aplikasi yang berhubungan dengan data dan menghasilkan model data konseptual.
·         Arsitek aplikasi akan berfokus pada bagian kebutuhan aplikasi yang berhubungan dengan layanan untuk dikirimkan dan merancang hiperteks aplikasi dengan penetapan Site Views Built di atas data skema yang dihasilkan oleh arsitek data.
·         Desainer grafis akan memahami gaya penyajian halaman berdasarkan pada kebutuhan bisnis yang berhubungan dengan standar komunikasi dan identitas visual organisasi

f.) SIKLUS HIDUP PENGEMBANGAN
Pengembangan aplikasi mengalami beberapa siklus penemuan masalah/perbaiakn  desain/implementasi, dan setiap integrasi menghasilkan suatu prototype atau versi parsial dari system. Padea setiap versi, versi terbaru dari system diuji dan dievaluasi, dan kemudian diperluas dan dimodifikasi.

g.) CONTOH PENDEKATAN PENGEMBANGAN WEB
            Menurut Saurer dan Lau (1997). Ada beberapa metodologi yang sesuai dengan pengembangan aplikasi Web karena kebanyakan metodologi pengembangan system informasi secara tradisional berpusat pada isu teknis dan internal daripada kebtuhan bisnis dan organisasi. Pendekatan menyajikan suatu tipe pendekatan pengembangan dan masing-masing memberikan beberapa pandangan yang berbeda dari system.
Analisis objektif dibagi menjadi enam tugas yaitu :
·         Analisis Teknologi
·         Analisis Informasi
·         Analisis Keahlian
·         Analisi Pengguna
·         Analisis Biaya, dan
·         Analisis Risiko

h.) PROSES PENGEMBANGAN WEB
            Pengembangan karakteristik aplikasi Web biasanya sangat sulit dan memilki tantangan yang unik. Tantangan dalam pengembangan tersebut meliputi interaksi waktu nyata (real-time), kompleksitas, kemampuan berubah, dan keinginan untuk menyediakan informasi personal, sebagai tambahan, usaha dan waktu sangat diperlukan untuk mendesain dan mengembangkan aplikasi Web.
Masukan yang paling penting adalah sekumpulan kebutuhan bisnis (business requitments) untuk pengembangan aplikasi. Kebanyakan kebutuhan ini berupa kebutuhan nonteknis yang menyatakan tujuan jangka panjang dari pengembangan aplikasi dengan mengemukakan nilai bahwa aplikasi tertentu diharap dapat menghasilkan sesuatu bagi pengguna dan organisasi pengembangannya.
Masukan yang kedua adalah sekumpulan batasan lingkungan yang memengaruhi kontruksi aplikasi tersebut. Berikut adalah uraian singkat mengenai keluaran dari proses pengembangan:
·         Penyebaran arsitektur adalah perangkatkeras, perngkat lunak, dan infrastuktur jaringan yang memastikan kebutuhan tingkat layanan dan respek berasal dari batasan-batasan teknis proyek.
·         Modul-modul aplikasi adalah potongan-potongan perangkat lunak yang dikembangkan dan mencakup penyimpanan data, templete halaman dinamis, dan komponen bisnis.
·         Dokumentasi sistem adalah sekumpulan produk nonperangkat lunak yang dikembangkan selama siklis hidup aplikasi yang menetapkan aneka pilihan desain yang penting didalam pengembangan aplikasi potongan dari dokumentasi yang dihasilkan adalah Spesifikasi kebutuhan dan Spesifikasi Desain.

i.) PENGETAHUAN DAN KEAHLIAN UNTUK PENGEMBANGAN WEB
            Pengembangan dan keahlian sangat diperlukan untuk pengembangan aplikasi Web yang kompleks. Selain itu, sebuah disiplin yang berbeda juga diperlukan. Pengetahuan dan keahlian tersebut dapat digolongkan sebagai berikut :
1)      Pendukung teknologi yang memudahkan aplikasi Web
2)      Metode desain yang meliputi : desain untuk usabilitas yaitu desain atar muka, desain untuk pemahaman desain untuk kinerja yaitu kemampuan reaksi. desain untuk keamanan dan integritas. desain untuk evaluasi, pertumbuhan, dan pemeliharaan. Desain untuk pengujian. Grafis dan desain multimedia,dan pengembangan halaman Web.
3)      Arsitektur sistem.
4)      Proses dan metode pengembangan Web.
5)      Manajemen proyek Web
6)      Tool pengembangan
7)      Manajemen konten, dan
8)      Standar Web dan kebutuhan regulatif

j.) PENGEMBANGAN APLIKASI WEB
            Pada beberapa kasus, penetapan apakah situs web harus atau akan berisi awal proses pengembangan tidak mungkin secara penuh ditetapkan karena fungsionalitas dan strukturnya akan meningkat dari waktu ke waktu. Untuk lebih lanjut, informasi yang berisi didalam dan yang disajikan oleh Web juga akan berubah. Lebih lanjut, kemampuan untuk merawat informasi dan skala strutur situs Web (dan fungsi yang disediakan) adalah dua faktor utama yang harus dipertimbangkan ketika mengembangkan situs Web. Faktor-faktor ini membuat pengembangan aplikasi Web berbeda dengan pengembangan perangkat lunak tradisional.



k.) KARAKTERISTIK PENGEMBANGAN APLIKASI WEB
            Aplikasi Web adalah sistem perangkat lunak yang berdasarkan pada teknologi dan standar Word Wide Consortium (W3C). mereka menyediakan sumberdaya Web spesifik, seperti konten dan layanan melalui sebuah antarmuka pengguna dan browser Web.Dengan definisi aplikasi Web ini, kita mencoba untuk menyelidiki karakteristik dari pengembangan aplikasi Web.

1.) KARAKTERISTIK TERKAIT DENGAN APLIKASI
            Berikut adalah uraian singkat mengenai karakteristik aplikasi :
·         Konten : pada awalnya, web berperan sebagai media informasi. Di samping kemampuan yang diperlukan, aplikasi Web juga merupakan aplikasi yang digerakkan konten.
·         Hiperteks : Aplikasi Web mendukung paradigma hiperteks sebagai paradigma dasar untuk struktur informasi. Elemen dasar dari notasi hiperteks Web adalah node, tautan, dan anchor.
·         Presentasi : sistem perangkat lunak konvensional “look and feel” sering diperluas dan ditentukan oleh panduan style dan elemen-elemen antarmuka pengguna yang distandarisasi. Presentasi adalah faktor kualitas sentral untuk aplikasi Web, paling tidak untuk tekanan kompetitif pada Web dengan tampilan visual yang meliputi subjek untuk (perubahan yang terus-menerus) pertujukan, tren dan fitur-fitur teknis baru.

2.) KARAKTERISTIK TERKAIT DENGAN PEMAKAIN
Pengembangan sering tidak bisa meramalkan semua pengaturan potensial. Beriktu adalah uraian singkat mengenai karakteristik yang terkait dengan pemakain.
·         Konteks alami : meliputi aspek-aspek dari lokasi dan waktu akses, menawarkan kesempatan jenis baru dari layanan berbasis konteks, tidak sedikit berkaitan dengan komputasi bergerak (mobile).
·         Infrastruktur Teknik yang Tidak Dapat Diramalkan
·         Perbedaan dan Magnitude Berdasarkan Pengguna

3.) KARAKTERISTIK TERKAIT DENGAN PENGEMBANGAN
            Pengembangan aplikasi Web haris berhadapan dengan kondisi-kondisi risilo, dan ketikpastian yang tidak selalu ada pada proyek perngkat lunak tradisional, seperti pada uraian berikut :
·         Tim Pengembangan
·         Lingkungan Pengembangan
·         Integrasi Warisan
·         Proses

4.) KARAKTERISTIK TERKAIT DENGAN EVOLUSI
            Aplikasi Web merupakan subjek pada perubahan dan evolusi yang permane. Pengembangan digerakkan oleh perubahan teknologi yang sangat cepat dan perubahan dari pengguna Web yang membawanya ke arah situasi kompetitif yang sangat tinggi sehingga kehadiran Web dan waktu yang bergerak cepat pada pasar merupakan sebuah pertimbanagn yang sangat penting.

L.) PENDEKATAN STANDAR UNTUK TEKNIS KINERJA
            Untuk aplikasi bisnis yang kompleks, aktivitas teknik kinerja untuk perencanaan yang saksama harus dilakukan. Pada masing-masing tahapan di dalam siklus hidup pengembangan aplikasi meliputi :
·         Model
·         Tes
·         Validasi asumsi dan skenario
·         Penyesuaian kembali
·         Melakukan analisis kerja

m.) METODE PROTOTIPE YANG DIMODIFIKASI
            Metode prototipe secara formal telah diperkenalkan pada komunitas sistem informasi pada awal tahun1980-an.pengembangan menunjukkan model pekerjaan kepada pengguna dan kemudian melanjutkannya dengan pengembangan prototipe berdasarkan pada umpan balik yang diterima selama pengembangan dan pengguna setuju bahwa prototypenya “cukup baik” .

n.) ANALISIS DAN PERANCANGAN SISTEM
            Dasar analisis dan perancangan sistem melibatkan kebutuhan pengguna. Model data dasar, antarmuka pengguna dan kebutuhan arsitektur. Pemahaman keburuhan pengguna harus benar-benar memahami kebutuhan pada dua hal, yaitu konten Web dan perilaku sistem. Konten Web mengacu pada informasi dan pengorganisasiannya pada situs Web.
1)      KEPUTUSAN ARSITEKTUR
·         Thin Client : adalah browser Web standar. Kebanyakan model ini digunakan untuk aplikasi berbasis internet dan beberapa aplikasi berbasis Ekstranet karena kontrol konfigurasi client berkurang.
·         Fat Client
·         Distribusited dan Component-Based
2)      MEMBANGUN DAN PENYEBARAN VERSI AWAL
Barangkali versi awal hanya akan menyediakan kumpulan formulir dan laporan halaman yang mengijinkan pengguna untuk query, membarui, dan melaporkan informasi alamat pelanggan. Pengembangan mungkin hanya perlu membangun sedikit halaman HTML dan sedikit laporan untuk dapat mengijinkan pengguna menjadi sadar pada aplikasi dan dapat digunakan untuk fungsi-fungsi dasar yang disediakan.

o.) DILUAR METODOLOGI
            E-business menyajikan sebuah pendekatan yang sangat berbeda dalam kaitannya dengan bagaimana bisnis harus dilakukan. Organisasi mengadopsi sebuah strategi e-businees yang dianjurkan untuk mengambil suatu pendekatan holistik pada pengembangan sistemnya. Pembangunan beberapa aplikasi Web tidak akan perlu untuk membuat suatu organisasi yang lebih kompetitif kecuali jika organisasi telah merumuskan suatu strategi e-businees yang jelas dan mempunyai proses bisnis yang dapat direkayasa kembali.

p.) KEUNTUNGAN DAN KERUGIAN
·         KEUNTUNGAN
Ø  Pengontrolan melalui aplikasi
Ø  Kemampuan lintas platform
Ø  Pengontrolan versi
Ø  Masukan pengguna
·         KERUGIAN
Ø  Kehilangan kecepatan
Ø  Batas penyajian data
Ø  Ancaman pada keamanan

q.) SEPULUH LANGKAH KUNCI KESUKSESAN PENGEMBANGAN
            Berikut adalah sepuluh langkah kunci untuk kesuksesan penyebaran dan pengembangan Web yaitu :
·         Pemahaman fungsi keseluruhan sistem dan lingkungan operasional yang mencakup kebutuhan dan sasaran bisnis.
·         Pengidentifikasian yang jelas tentang stakeholder, yaitu pengguna utama sistem, organisasi yang membutuhkan sistem, dan yang membiayai pengembangan sistem.
·         Penetapan kebutuhan teknis dan nonteknis dari stakeholder dan keseluruhan sistem
·         Pengembangan arsitektur koputer sistem berbasis Web yang memenuhi kebutuhan teknis dan nonteknis.

Tidak ada komentar:

Posting Komentar