software engineering (rekayasa perangkat lunak) - Tugas

419 downloads 2272 Views 221KB Size Report
Perangkat Lunak Teknik dan Ilmu Pengetahuan ....................................... 7 e. ... Pandangan Umum tentang Rekayasa Perangkat Lunak ................................. 9 a.
MAKALAH TUGAS MANAJEMEN PROYEK I

SOFTWARE ENGINEERING (REKAYASA PERANGKAT LUNAK)

OLEH : 1. DWI KURNIAWAN

I1A006019

2. RIDHO SEPTIAN

I1A006021

3. PARAMITA NILAM SARI

I1A006032

4. HENDRA ADIGUNA

I1A006038

5. MUTHIA HAKIM

I1A006039

6. RAFLI JANUAR A.K

I1A006044

7. UPIT WAHYU YULIANA

I1A006048

8. ADITYA NOVRIANSYAH

I1A006051

9. TRIYOGO LAKSONO

I1A006057

UNIVERSITAS JENDERAL SOEDIRMAN FAKULTAS SAINS DAN TEKNIK JURUSAN TEKNIK PROGRAM STUDI TEKNIK ELEKTRO PURWOKERTO 2009

DAFTAR ISI DAFTAR ISI ……………………………………………………………………………. 1 I.

PENDAHULUAN ................................................................................................. 2

II.

PERANGKAT LUNAK ........................................................................................ 2 II.1. Karakteristik Perangkat Lunak……………………………………… ............. 2 II.2. Komponen Perangkat Lunak .......................................................................... 4 II.3. Aplikasi Perangkat Lunak .............................................................................. 5 a. Perangkat Lunak Sistem ........................................................................... 6 b. Perangkat Lunak Real-Time...................................................................... 6 c. Perangkat Lunak Bisnis ............................................................................ 6 d. Perangkat Lunak Teknik dan Ilmu Pengetahuan ....................................... 7 e. Embedded Software .................................................................................. 7 f. Perangkat Lunak Komputer Personal ........................................................ 7 g. Perangkat Lunak Kecerdasan Buatan ........................................................ 7

III. REKAYASA PERANGKAT LUNAK (SOFTWARE ENGINEERING).................. 8 III. 1. Pandangan Umum tentang Rekayasa Perangkat Lunak ................................. 9 a. Fase Definisi (Definition Phase) ............................................................... 9 b. Fase Pengembangan (Development Phase) ............................................... 10 c. Fase Pemeliharaan (Maintenace Phase) .................................................... 10 III. 2. Paradigma Rekayasa Perangkat Lunak.......................................................... 11 IV. KESIMPULAN ...................................................................................................... 13 V.

DAFTAR PUSTAKA ............................................................................................ 14

1

SOFTWARE ENGINEERING (REKAYASA PERANGKAT LUNAK) I.

PENDAHULUAN Perangkat lunak (software) kini sudah menjadi kekuatan yang menentukan. Perangkat

lunak menjadi mesin yang mengendalikan pengambilan keputusan di dalam dunia bisnis, berfungsi sebagai dasar dari semua bentuk pelayanan serta penelitian keilmuan modern. Perangkat lunak dilekatkan dengan segala bentuk sistem : transportasi, medis, telekomunikasi, militer, proses industri, hiburan, produk-produk kantor dan lainnya. Perangkat lunak benar-benar tidak dapat lepas dari kehidupan modern. Semua itu mengubah pandangan masyarakat tentang perangkat lunak. Program-program perangkat lunak sudah tersebar luas, dan masyarakat memandangnya sebagai kejayaan teknologi dalam kehidupan. Dalam banyak contoh, orangorang sudah mulai mempertaruhkan pekerjaan, kenyamanan, keselamatan, hiburan, keputusan dan banyak segi dalam kehidupannya pada teknologi. Oleh karena itu dibutuhkan teknologi yang harus dipakai oleh orang-orang yang membangun perangkat lunak komputer dan kita juga harus dapat mengembangkannya dengan cara yang tepat. Teknologi meliputi sebuah proses, serangkaian metode dan sederetan alat yang disebut dengan software engineering. II. PERANGKAT LUNAK Menurut Pressman (2002), perangkat lunak dapat didefinisikan sebagai berikut : 1. Perintah (program komputer) yang bila dieksekusi memberikan fungsi dan unjuk kerja seperti yang diinginkan. 2. Struktur data yang memungkinkan program memanipulasi informasi secara proposional. 3. Dokumen yang menggambarkan informasi dan kegunaan program. II. 1. Karakteristik Perangkat Lunak Untuk memperoleh pemahaman tentang perangkat lunak (serta pemahaman tentang software engineering), penting juga untuk meneliti karakteristik perangkat lunak berbeda dari hal-hal lain yang dibangun oleh manusia. Ketika perangkat lunak dibuat, proses kreatif manusia 2

(analisis, desain, konstruksi, pengujian) diterjemahkan ke dalam bentuk fisik. Jika kita membuat komputer baru, sketsa dasar, penggambaran desain formal, dan prototipe bread boarder berkembang ke dalam suatu produk fisik (VLSI chip, papan rangkaian, catu daya, dll). Perangkat lunak lebih merupakan elemen logika dan bukan merupakan elemen sistem fisik. Dengan demikian, perangkat lunak memiliki ciri yang berbeda dari perangkat keras: 1. Perangkat lunak dibangun dan dikembangkan, tidak dibuat dalam bentuk yang klasik Meskipun banyak kesamaan di antar pabrik perangkat keras dan perangkat lunak, aktivitas keduanya secara mendasar sangat berbeda. Dalam keduanya tersebut, kualitas yang tinggi dicapai melalui perancangan yang baik, tetapi di dalam fase pembuatan perangkat keras, selalu saja ditemukan masalah kualitas yang tidak mudah untuk disesuaikan dengan perangkat lunak. Kedua aktivitas itu tergantung pada manusia, tetapi hubungan antara penerapan yang dilakukan manusia dengan usaha yang diperoleh sangat berbeda. Kedua aktivitas itu membutuhkan konstruksi sebuah “produk” tetapi pendekatan yang dipakai berbeda. Biaya untuk perangkat lunak dikonsentrasikan pada pengembangan. Hal ini berarti proyek perangkat lunak tidak dapat diatur seperti pengaturan proyek pemanufakturan. 2. Perangkat lunak tidak pernah usang Perangkat lunak tidak rentan terhadap pengaruh lingkungan yang merusak yang menyebabkan perangkat keras menjadi usang. Kesalahan-kesalahan yang tidak dapat ditemukan akan menyebabkan tingkat kegagalan menjadi sangat tinggi pada awal hidup program. Tetapi hal itu dapat diperbaiki dan diharapkan tidak lagi ditemukan kesalahan yang lain. Aspek lain dari keusangan menggambarkan perbedaan antara perangkat keras dan perangkat lunak. Bila komponen suatu perangkat telah usang, komponen dapat diganti dengan suku cadangnya. Namun tidak ada suku cadang bagi perangkat lunak. Setiap kegagalan perangkat lunak menggambarkan kesalahan dalam perancangan atau proses di mana rancangan diterjemahkan ke dalam kode mesin yang dapat dieksekusi. Demikianlah, pemeliharaan perangkat lunak menjadi lebih kompleks daripada pemeliharaan perangkat keras. 3

3. Sebagian besar perangkat lunak dibuat secara custom-built, serta tidak dapat dirakit dari komponen yang sudah ada. Saat perangkat keras untuk produk berbasis mikroprosesor dirancang dan dibuat, pengembang desain menggambar sebuah skema sederhana dari rangkaian digital, melakukan serangkaian analisis dasar untuk memastikan bahwa fungsi yang tepat discapai serta kemudian menyesuaikan ke katalog komponen digital. Setiap IC (chip) mempunyai nomor bagian tersendiri, sebuah fungsi yang sudah terdefinisi dan tervalidasi, interface yang didefinisikan dengan baik, serta rangkaian standar tuntutan terintegrasi. Setelah masing-masing komponen diseleksi, perangkat keras dapat dipesan secara terpisah. Sayangnya para perancang perangkat lunak tidak diberi fasilitas seperti yang diggambarkan di atas. Dengan sedikit pengecualian, tidak ada katalog komponen perangkat lunak. Memang memungkinkan untuk memesan perangkat lunak secara terpisah, tetapi tetap merupakan satu kesatuan yang lengkap, bukan sebagai komponen yang dapat dipasangkan ke dalam program-program yang baru. II. 2. Komponen Perangkat Lunak Komponen perangkat lunak dibangun dengan bahasa pemrograman yang memiliki kosakata yang terbatas, sebuah tata bahasa yang dibatasi secara eksplisit serta aturan-aturan syntax dan semantik yang dibentuk secara baik. Pada tingkat yang paling rendah, bahasa-bahasa itu mencerminkan serangkaian instruksi perangkat keras. Pada tingkat sedang, bahasa pemrograman seperti Ada 95, C, atau SmalTalk, dipakai untuk membuat deskripsi prosedural dari program. Pada tingkat yang paling tinggi, bahasa-bahasa tersebut menggunakan ikon grafik atau simbol lain untuk mewakili kebutuhan akan sebuah pemecahan. Instruksi-instruksi yang dapat dieksekusi dibuat secara otomatis. Bahasa tingkat mesin merupakan perwakilan simbolik dari serangkaian instruksi CPU. Ketika pengembang perangkat lunak yang baik memproduksi sebuah program yang didokumentasikan dengan baik dan juga dapat diperbaharui, maka bahasa tingkat mesin dapat secara ekstrim menggunakan memori dan kecepatan eksekusi program secara efisien. Bila program tidak dirancang dengan baik dan hanya memiliki sedikit dokumentasi, maka bahasa tingkat mesin tidak akan menghasilkan sesuatu yang diharapkan. 4

Bahasa tingkat menengah memungkinkan pengembang perangkat lunak serta program tidak tergantung pada mesin. Ketika digunakan penerjemah yang lebih canggih, maka kosakata, tata bahsa, syntax dan semantik dari bahasa tingkat menengah dapat menjadi lebih canggih dari pada bahasa tingkat mesin. Pada kenyataannya, bahasa tingkat menengah meng-compile dan menginterpretasi hasil bahasa tingkat mesin sebagai keluaran. Meskipun sekarang ini dipakai ratusan bahasa pemrograman, tetapi bahasa pemrograman tingkat menengah yang masih dipakai secara luas di dalam industri kurang dari 10. Bahasa seperti COBOL dan FORTRAN masih tetap dipakai secara luas lebih dari 30 tahun setelah masa pengenalannya. Banyak bahasa pemrograman seperti Ada 95, C, C++, Eiffel, Java dan SmallTalk mendapat sambutan yang cukup antusias. Kode mesin, bahasa assembly (tingkat mesin), bahasa pemrograman tingkat menengah, sering disebut tiga generasi bahasa komputer yang pertama, dengan bahasa-bahasa tersebut, pemrogram harus melihat dengan baik kekhususan struktur informaasi maupun kontrol pemrograman itu sendiri. Demikianlah bahasa di dalam tiga generasi yang pertama dimasukkan ke dalam jenis bahasa prosedural. Bahasa generasi keempat, disebut juga bahasa non-prosedural, menggerakkan pengembang perangkat lunak untuk mengkhususkan pada detail prosedural. Bahasa nonprosedural secara tidak langsung menyatakan sebuah program melalui spesifikasi hasil yang diharapkan. Dan tidak pada aksi yang dibutuhkan untuk mencapai hasil tersebut. Perangkat lunak penopang menerjemahkan spesifikasi hasil ke dalam sebuah program mesin yang dapat dieksekusi. II.3. Aplikasi Perangkat Lunak Perangkat lunak dapat diaplikasikan ke berbagai situasi di mana serangkaian langkah prosedural (seperti algoritma) telah didefinisikan (pengecualian yang di dapat pada aturan ini adalah sistem pakar dan perangkat lunak jaringan syaraf kecerdasan buatan). Kandungan (content) informasi dam determinasi merupakan faktor penting dalam menentukan sifat aplikasi perangkat lunak. Content mengarah pada arti dan bentuk dari informasi yang masuk dan keluar. Contohnya, banyak aplikasi bisnis memakai data input yang terstruktur secara tinggi (sebuah database) dan menghasilkan laporan yang sudah terformat. Perangkat lunak yang mongontrol 5

sebuah mesin otomatis (misal kontrol numerik) menerima bentuk-bentuk data diskrit dengan struktur yang terbatas dan menghasilkan perintah mesin individual dalam suksesi yang cepat. Memang cukup sulit untuk menentukan kategori umum untuk aplikasi perangkat lunak. Ketika kompleksitas perangkat lunak mulai muncul, maka penggolongan yang rapi menjadi hilang. Area perangkat lunak berikut ini menunjukkan luasnya aplikasi potensial: a. Perangkat Lunak Sistem Perangkat lunak sistem merupakan sekumpulan program yang ditulis untuk melayani program-program yang lain. Banyak perangkat lunak sistem (misal kompiker, editor, dan utilitas pengatur file) memproses struktur-struktur informasi yang lengkap namun tetap. Aplikasi-aplikasi sistem yang lain (komponen sistem operasi, driver, prosesor telekomunikasi) memproses secara luas data yang bersifat tetap. Di dalam setiap kasus tersebut, area perangkat lunak sistem ditandai dengan eratnya interaksi dengan perangkat keras komputer; penggunaan oleh banyak pemakai; operasi konkuren yang membutuhkan penjadwalan, tukar menukar sumber dan pengaturan proses yang canggih; struktur data yang kompleks, serta interface eksternal ganda. b. Perangkat Lunak Real-Time Program-program yang memonitor/menganalisis/mengontrol kejadian dunia nyata pada saat terjadinya disebut perangkat lunak real-time. Elemen-elemen perangkat lunak realtime mencakup komponen pengumpul data yang mengumpulkan dan memformat informasi dari lingkungan eksternal, sebuah komponen analisis yang mentransformasi informasi pada saat dibutuhkan oleh aplikasi, sebuah komponen kontrol/output yang memberikan respon kepada lingkungan eksternal, serta sebuah komponen monitor yang mengkoordinasi semua komponen lain agar respon real-time nya (khususnya untuk jangkauan dari 1 milidetik sampai 1 menit) dapat terjaga. Perlu diingat bahwa real time berbeda dengan interaksi atau timesharing. Sistem real-time harus merespon di dalam suatu rentang waktu yang tetap. Waktu respon sebuah sistem interaktif (atau timesharing) secara normal dapat diperpanjang tanpa memberikan risiko kerusakan pada hasil. c. Perangkat Lunak Bisnis Pemrosesan informasi bisnis merupakan area aplikasi perangkat lunak yang paling luas. Sistem diskrit telah mengembangkan perangkat lunak sistem informasi management 6

(MIS) yang mengakses satu atau lebih database besar yang berisi informasi bisnis. Aplikasi dalam area ini menyusun kembali struktur data yang ada dengan suatu cara tertentu untuk meperlancar operasi bisnis atau pengambilan keputusan manajemen. Sebagai tambahan ke dalam aplikasi pengolahan data konvensional, aplikasi perangkat lunak bisnis juga meliputi penghitungan klien/server serta penghitungan interaktif (misal pemrosesan transaksi point-of sale). d. Perangkat Lunak Teknik dan Ilmu Pengetahuan Perangkat lunak teknik dan ilmu pengetahuan ditandai dengan algoritma number crunching. Perangkat lunak ini memiliki jangkauan aplikasi mulai dari astronomi sampai vulkanologi, dari analisis otomotif sampai dinamika orbit pesawat ruang angkasa, dan dari biologi molekuler dampai pabrik yang sudah diotomatisasi. Tetapi aplikasi yang baru di dalam area teknik dan ilmu pengetahuan sedang bergerak menjauhi algoritma numeris yang konvensional. Computer-aided design, simulasi sistem dan aplikasi interaktif yang lain, sudah mulai memakai ciri-ciri perangkat lunak sistem genap dan real-time. e. Embedded Software Produk pintar telah menjadi bagian umum bagi hampir semua konsumen dan pasar industri. Embedded software ada dalam read-only memory dan dipakai untuk mengontrol hasil serta sistem untuk keperluan konsumen dan pasar industri. Embedded software dapat melakukan fungsi yang terbatas serta fungsi esoterik (misal key pad control untuk microwave) atau memberikan kemampuan kontrol dan fungsi yang penting (contohnya fungsi digital dalam sebuah automobil seperti kontrol bahan bakar, penampilan dashboard, sistem rem, dll) f. Perangkat Lunak Komputer Personal Pasar perangkat lunak komputer personal telah berkembang selama dekade terakhir. Pengolah kata, multimedia, hiburan, manajemen databbase, aplikasi keuangan bisnis personal, jaringan eksternal atau akses database hanya merupakan beberapa saja dari ratusan aplikasi yang ada. g. Perangkat Lunak Kecerdasan Buatan Perangkat lunak kecerdasar buatan (Artificial Intelligent_AI) menggunakan algoritma non-numeris untuk memecahkan masalah kompleks yang tidak sesuai untuk perhitungan atau analisis secara langsung. Area kecerdasan buatan yang aktif adalah sistem pakar, 7

disebut juga sistem berbasis ilmu pengetahuan. Tetapi area aplikasi lainnya untuk perangkat lunak kecerdasan buatan adalah pengakuan pola (image dan voice), pembuktia teorema dan permainan game. Di tahun-tahun terakhir, cabang perangkat lunak kecerdasan buatan yang baru, yang disebut artificial neural network (jaringan syaraf tiruan), telah berkembang. Jaringan syaraf mensimulasi struktur proses-proses otak (fungsi syaraf biologis) dan kemudian mebawanya kepada perangkat lunak kelas baru yang dapat mengenali pola-pola yang kompleks serta belajar dari pengalamanpengalaman masa lalu. III. REKAYASA PERANGKAT LUNAK (SOFTWARE ENGINEERING) Rekayasa perangkat lunak merupakan sebuah teknologi yang dibentangkan. Banyak pendekatan keteknikan (termasuk software engineering) yang harus berada pada sebuah komitmen dasar menuju kualitas. Manajemen kualitas total serta filosofinya mengangkat budaya pengembangan proses yang terus-menerus, dan budaya itu sendiri membawa kepada pengembangan pendekatan yang semakin matang terhadap rekayasa perangkat lunak. Landasan yang menopang rekayasa perangkat lunak merupakan fokus pada kualitas. Fondasi untuk rekayasa perangkat lunak merupakan bentangan proses. Proses-proses rekayasa perangkat lunak adalah perekat yang menjaga bentangan-bentangan teknologi secara besama-sama dan memungkinkan perkembangan perangkat lunak komputer yang tepat waktu dan rasional. Proses-proses tersebut membatasi kerangka kerja untuk serangkaian area proses kunci (key process key) yang harus dibangun demi keaktifan penyampaian teknologi pengembangan perangkat lunak. Area proses kunci ini membentuk dasar bagi kontrol manajemen proyek perangkat lunak serta membangun konteks di mana metode teknis diaplikasikan, produk usaha (model, dokumen, data, laporan, form dan lain-lain) dihasilkan, fondasi dibangun, kualitas dijamin, dan perubahan diatur secara rapi. Metode-metode rekayasa perangkat lunak memberikan teknik untuk membangun perangkat lunak. Metode-metode itu menyangkut serangkaian tugas yang luas yang menyangkut analisis kebutuhan, kontruksi program, desain, pengujian dan pemeliharaan. Rekayasa perangkat lunak mengandalkan pada serangkaian prinsip dasar yang mengatur

8

setiap area teknologi dan menyangkut aktifitas pemodelan serta teknik-teknik deskriptif yang lain. Alat-alat rekayasa perangkat lunak memberikan topangan yang otamits ataupun semi-otomatis pada proses-proses dan metode-metode yang ada. Ketika alat-alat tersebut diintegrasikan sehingga informasi yang diciptakan oleh satu alat bisa digunakan oleh yang lain, sistem untuk menopang perkembangan perangkat lunak yang disebut computer-aided software engineering (CASE). CASE menggabungkan perangkat lunak, perangkat keras dan database rekayasa perangkat lunak (repositori yang berisi informasi penting tentang analisis, desain, konstruksi program, serta pengujian) untuk menciptakan lingkungan rekayasa perangkat lunak yang analog dengan CAD/CAE (computer-aided design/engineering) untuk perangkat keras. III. 1. Pandangan Umum tentang Rekayasa Perangkat Lunak Untuk mengembangkan perangkat lunak secara memadai, proses pengembangan perangkat lunak harus didefinisikan terlebih dahulu. Usaha yang berhubungan dengan rekayasa perangkat lunak dapat dikategorikan ke dalam tiga fase umum dengan tanpa mempedulikan area aplikasi, ukuran proyek atau kompleksitasnya. d. Fase Definisi (Definition Phase) Fase ini berfokus pada “apa” (what); di mana pada definisi ini pengembang perangkat lunak harus mengidentifikasi informasi apa yang akan diproses, fungsi dan unjuk kerja apa yang dibutuhkan, tingkah laku sistem seperti apa yang diharapkan, interface apa yang akan dibangun, batasan desain apa yang ada, dan kriteria validasi apa yang dibutuhkan untuk mendefinisikan sistem yang sukses. Kebutuhan (requirement) adalah kunci dari sistem dan perangkat lunak yang didefinisikan. Metode yang diaplikasikan selama fase definisi berbeda, tergantung pada paradigma rekayasa perngakat lunak (atau kombinasi paradigma) yang diaplikasikan. Ada tiga tugas utama yang berada dalam bentuk yang sama yaitu: -

Sistem atau rekayasa informasi

-

Perencanaan proyek perangkat lunak

-

Analisis kebutuhan 9

e. Fase Pengembangan (Development Phase) Fase ini berfokus pada how (bagaimana); di mana selama masa pengembangan perangkat lunak, teknisi harus mendefinisikan bagaimana data dikonstruksikan, bagaimana fungsifungsi diimplementasikan sebagai sebuah arsitektur perangkat lunak, bagaimana detail prosedur akan diimplementasikan, bagaimana interface ditandai (dikarakterisasi), bagaimana rancangan akan diterjemahkan ke dalam bahasa pemrograman (atau bahasa non-prosedural), serta bagaimana pengujian akan dilakukan. Metode-metode yang diaplikasikan selama masa pengembangan program akan bervariasi, tetapi ada tiga tugas teknis yang khusus yang harus selalu ada, yaitu: -

Rancangan perangkat lunak

-

Pemunculan kode

-

Pengujian perangkat lunak

f. Fase Pemeliharaan (Maintenace Phase) Fase ini berfokus pada perubahan (change), yang dihubungkan dengan koreksi kesalahan, penyesuaian yang dibutuhkan ketika lingkungan perangkat lunak berkembang, serta perubahan sehubungan dengan pperkembangan yang disebabkan oleh perubahan kebutuhan pelanggan. Fase pemeliharaan mengaplikasikan lagi langkah-langkah pada fase definisi dan fase pengembangan, tetapi semuanya tetap tergantung pada konteks perangkat lunak yang ada. Ada empat tipe perubahan yang terjadi selama masa fase pengembangan yaitu: -

Koreksi Meskipun dengan jaminan kualitas yang terbaik, sepertinya pelanggan akan tetap menemukan cacat pada perangkat lunak. Pemeliharaan korektif (Corrective maintenance) mengubah perangkat lunak, membetulkan cacat atau rusak.

-

Adaptasi Dari waktu ke waktu, lingkungan original (contohnya CPU, sistem operasi, aturanaturan bisnis, karakterisasi produk eksternal) di mana perangkat lunak dikembangkan akan terus berubah. Pemeliharaan adaptif (Adaptif maintenance) menghasilkan modifikasi kepada perangkat lunak untuk mengakomodasi perubahan pada kebutuhan fungsional original.

10

-

Perkembangan (Enhancement) Ketika perangkat lunak dipakai, pemakai/pelanggan akan mengenali fungsi-fungsi tambahan yang memberi mereka keuntungan. Perfective maintenance memperluas perangkat lunak sehingga melampaui kebutuhan fungsi originalnya.

-

Pecegahan Keadaan perangkat lunak semakin memburuk sehubungan dengan waktu, dan karena itu, preventive maintenance yang sering juga disebut software engineering (rekayasa perangkat lunak), harus dilakukan untuk memungkinkan perangkat lunak melayani kebutuhan para pemakainya. Pada dasarnya preventive maintenance melakuakan perubahan pada program komputer sehingga bisa menjadi lebih mudah untuk dikoreksi, disesuaikan dan dikembangkan. Fase dan langkah-langkah yang berhubungan harus diimbangi dengan sejumlah

aktivitas pelindung (umbrella activities). Kegiatan-kegiatan khusus di dalam kategori ini menyangkut: -

Kontrol dan pelacakan proyek perangkat lunak

-

Review teknis formal

-

Jaminan kualitas perangkat lunak

-

Penghasilan dan penyiapan dokumen

-

Manajemen reusabilitas

-

Pengukuran

-

Manajemen resiko

Aktivitas pelindung diaplikasikan ke seluruh proses perangkat lunak. III. 2. Paradigma Rekayasa Perangkat Lunak Untuk menyelesaikan msalah aktual di dalam sebuah setting industri, rekayasa perangkat lunak atau tim perekayasa harus menggabungkan strategi pengembangan yang melingkupi lapisan proses, metode, dan alat-alat bantu serta fase-fase generik. Strategi ini sering diacukan sebagai model proses atau paradigma rekayasa perangkat lunak. Model proses untuk rekayasa perangkat lunak dipilih berdasarkan sifat aplikasi dan proyeknya,

11

metode dan alat-alat bantu yang akan dipakai, dan kontrol serta penyampaian yang dibutuhkan. Model proses tersebut harus disesuaikan dahulu sebelum digunakan oleh tim proyek perangkat lunak. Untuk melakukannya telah dikembangkan alat bantu teknologi proses untuk membantu organisasi perangkat lunak menganalisa proses mereka yang sedang berlangsung, mengorganisasikan tugas-tugas kerja, mengontro dan memonitor kemajuan serta mengatur kualitas teknis. Alat bantu teknologi proses memperbolehkan organisasi perangkat lunak untuk membangun sebuah model kerangka kerja proses umum otomatis, sejumlah tugas dan aktivitas pelindung. Model tersebut, yang biasanya diwakilkan sebagai sebuah jaringan, kemudian dapat dianalisis untuk menentukan aliran kerja khusus dan mengamati struktur proses alternatif yang menyebabkan pengurangan waktu dan biaya pengembangan. Sekali sebuah proses yang diterima diciptakan, alat-alat bantu teknologi proses yang lain dapat dipergunakan untuk mengalokasi, memonitor dan bahkan mengontrol semua tugas rekayasa perangkat lunak yang didefinisikan sebagai bagian dari model proses. Setiap anggotan tim proyek perangkat lunak bisa mempergunakan alat bantu tersebut untuk mengembangkan checklist dari tugas-tugas kerja yang dilakukan, hasil-hasil kerja yang akan diproduksi dan aktivitas penjaminan kulaitas yang akan dilakukan. Alat-alat bantu teknologi proses juga dapat dipergunakan untuk mengkoordinasi penggunaan alat-alat bantu perangkat lunak komputer bantuan yang sesuai untuk tugas-tugas kerja khusus.

12

KESIMPULAN

1. Perangkat lunak dapat menjadi elemen kunci bagi evolusi sistem dan produk yang berbasis komputer. Perangkat lunak dirancang dari program-program, data, dan dokumen. Masing-masing dari item-item tersebut terdiri dari sebuah konfigurasi yang diciptakan sebagai bagian dari proses pengembangan perangkat lunak 2. Rekayasa perangkat lunak adalah sebuah disiplin yang mengintegralkan proses, metode dan alat-alat bantu bagi pegembangan proses perangkat lunak komputer. 3. Tujuan rekayasa perangkat lunak adalah menyediakan sebuah kerangka kerja guna membangun perangkat lunak dengan kualitas yang lebih tinggi.

13

DAFTAR PUSTAKA

Keyes, J. 1993. Software Engineering Productivity Handbook. Mc Graw Hill, New York. Marchiniak, J.J. 1994. Encyclopedia of Software Engineering. John Willey and Sons, New York. Pressman, Roger S. 2002. Rekayasa Perangkat Lunak, Pendekatan Praktisi (Buku Satu). Penerbit Andi Yogyakarta.

14