Senin, 26 September 2011

SOFTWARE THE PROCESS AND ITS MANAGEMENT




Rekayasa Perangkat Lunak

SOFTWARE THE PROCESS AND ITS MANAGEMENT.



Oleh :


Akbar Hidayat
(10215410880)
Christy Yunita
(10215410
Sanggi Arto Prabowo
(10215410




 



Faculty of Engineering
Technical Information
Bogor Ibn Khaldun University
Bogor
2011-2012




KATA PENGANTAR


            Puji syukur yang sebesar – besarnya selalu kami panjatkan ke hadirat Tuhan Yang Maha Esa yang telah melimpahkan rahmat-Nya. Rasa terima kasih juga kami sampaikan kepada Bapa dan Ibu yang telah membantu dan membimbing dalam penyusunan makalah ini hingga bisa tersusun dengan baik.
.
            Selaras dengan perkembangan dan kemajuan Ilmu Pengetahuan dan Teknologi, serta berdasarkan saran – saran dari para pembimbing kami, maka makalah ini kami sajikan dengan singkat dan padat namun relevan  dengan tujuan pembelajaran  SOFTWARE THE PROCESS AND ITS MANAGEMENT.

            Makalah ini kami susun dengan harapan dapat menambah ilmu dan wawasan, sehingga dapat meningkatkan kualitas ilmu pendidikan.

            Kami percaya bahwa penyusunan makalah ini masih banyak kekurangannya. Untuk itu saran dan keritik dari pembaca demi perbaikan dan penyempurnaan isinya akan kami terima dengan senang hati dan lapang dada.





Bogor,   24 – 09 – 2011

                  
                                                     Penulis

















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 industr i, 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,  orang- orang  sudah  mulai  mempertaruhkan  peker jaan,  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.     Per intah  (program  komputer)  yang  bila  dieksekusi memberikan  fungsi  dan  untuk  kerja seperti yang diinginkan.
2.     Struktur data yang memungkinkan program memanipulasi informasi secar a 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 (analisis, desain, konstruksi, pengujian) diterjemahkan ke dalam bentuk fisik. Jika kita membuat komputer  baru,  sketsa  dasar,  penggambar an  desain  formal,  dan  prototype bread  boarder berkembang ke dalam suatu produk fisik (VLSI chip, papan rangkaian, catu daya, dll).


Perangkat lunak lebih mer upakan elemen logika dan bukan merupakan elemen system 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 berar ti  proyek  perangkat  lunak  tidak  dapat  diatur  seperti  pengatur an  proyek pemanufakturan.

  1. 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 diper baiki dan diharapkan tidak lagi ditemukan kesalahan yang lain.

Aspek lain dar i 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 dimana  rancangan  diter jemahkan  ke  dalam  kode  mesin  yang  dapat  dieksekusi. Demikianlah,  pemeliharaan  perangkat  lunak  menjadi  lebih  kompleks  dari pada pemeliharaan perangkat keras.











.

  1. 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  per ancang  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  pemr ograman  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  procedural 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.




Bahasa tingkat menengah memungkinkan pengembang perangkat lunak serta program tidak ter gantung pada mesin. Ketika digunakan penerjemah  yang lebih canggih, maka kosakata, tata bahsa, syntax dan semantik dari bahasa tingkat menengah dapat menjadi lebih canggih dari bahasa  tingkat  mesin.  Pada  kenyataannya,  bahasa  tingkat  menengah mengcompaile dengan menginterpretasi hasil bahasa tingkat mesin sebagai keluaran.

Meskipun  sekarang  ini  dipakai  ratusan  bahasa  pemr ograman,  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 pemr ograman 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 control 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  non- prosedural  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 ber bagai  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) infor masi dam deter minasi mer upakan faktor penting  dalam menentukan sifat aplikasi perangkat lunak. Content mengarah pada arti dan bentuk dar i infor masi 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. 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  kategor i  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 -pr ogram 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 real-time mencakup  komponen  pengumpul  data  yang  mengumpulkan  dan  memformat infor masi  dari  lingkungan  eksternal,  sebuah  komponen  analisis  yang  mentransformasi infor masi  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-timenya (khususnya  untuk jangkauan dar i 1 milidetik sampai 1 menit) dapat terjaga. Perlu diingat bahwa real-time berbeda  dengan interaksi atau timesharing. System real-time harus  merespon di  dalam suatu rentang waktu yang tetap. Waktu respon sebuah sistem interaktif (atau timesharing) secar a normal dapat diperpanjang tanpa memberikan risiko kerusakan pada hasil.

c.                 Perangkat Lunak Bisnis
Pemrosesan infor masi bisnis  merupakan area  aplikasi perangkat lunak yang paling luas. Sistem  diskrit  telah  mengembangkan  perangkat  lunak  sistem  informasi  management (MIS)   yang  mengakses  satu  atau  lebih  database  besar  yang  ber isi  infor masi  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 (missal 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 dar i astronomi sampai vulkanologi,  dari  analisis  otomotif  sampai  dinamika  or bit  pesawat  ruang  angkasa,  dan dar i biologi molekuler dampai pabrik yang sudah diotomatisasi. Tetapi aplikasi yang baru di dalam area teknik dan ilmu pengetahuan sedang bergerak menjauhi algoritma number is yang konvensional. Computer-aided design , simulasi sistem dan aplikasi  interaktif  yang lain, sudah mulai memakai ciri-ciri per angkat 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 ( missal key pad control untuk microwave)  atau  member ikan  kemampuan  kontrol  dan  fungsi yang  penting ( contohnya fungsi  digital  dalam  sebuah  automobil  seperti  kontrol  bahan  bakar,  penampilan dash board , 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  kecer dasar  buatan   (Artificial  Intelligent)  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, disebut  juga  sistem  berbasis  ilmu  pengetahuan.  Tetapi  area  aplikasi  lainnya  untuk perangkat lunak kecerdasan buatan adalah pengakuan pola (image dan voice), pembuktian teorema  dan  per mainan  game.  Di  tahun-tahun  terakhir ,  cabang  perangkat  lunak kecerdasan  buatan  yang  baru,  yang  disebut artificial  neural  network (jar ingan  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  pengalaman- pengalaman 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 pr oses. 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  control 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 per angkat  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  pr insip  dasar  yang  mengatur 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,  ser ta  pengujian)  untuk  menciptakan  lingkungan  rekayasa per angkat  lunak  yang analog dengan CAD/CAE (computer- aided design/engineering) untuk per angkat keras.







III. 1. Pandangan Umum tent ang Rekayasa Perangkat Lunak

Untuk  mengembangkan  per angkat  lunak  secara  memadai,  proses  pengembangan per angkat  lunak  har us  didefinisikan  terlebih  dahulu.  Usaha  yang  berhubungan  dengan rekayasa  perangkat  lunak  dapat  dikategorikan  ke  dalam  tiga  fase  umum  dengan  tanpa mempedulikan area aplikasi, ukur an proyek atau kompleksitasnya.

  1. Fase Definisi (Definition Phase)
Fase  ini  ber fokus  pada  “apa”  (What) di  mana  pada  definisi  ini  pengembang  perangkat lunak  harus  mengidentifikasi  informasi  apa  yang  akan  diproses,  fungsi  dan  unjuk  ker ja 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 par adigma)  yang  diaplikasikan.  Ada  tiga  tugas  utama  yang  berada  dalam  bentuk  yang
sama yaitu:

*                  Sistem atau rekayasa informasi
*                  Perencanaan proyek perangkat lunak
*                  Analisis kebutuhan

  1. Fase Pengembangan (Development Phase)
Fase ini ber fokus pada how (bagaimana); di mana selama masa pengembangan perangkat lunak, teknisi  harus mendefinisikan  bagaimana data dikonstruksikan,  bagaimana  fungsi- fungsi  diimplementasikan  sebagai  sebuah  arsitektur  perangkat  lunak,  bagaimana  detail prosedur  akan  diimplementasikan,  bagaimana interface ditandai  (dikar akterisasi), bagaimana  rancangan  akan  diter jemahkan  ke  dalam  bahasa  pemr ograman  (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










  1. Fase Pemeliharaan (Maintenace Phase)
Fase ini berfokus pada perubahan (change), yang dihubungkan dengan koreksi kesalahan, penyesuaian  yang  dibutuhkan  ketika  lingkungan  perangkat  lunak  berkembang,  serta per ubahan  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 r usak.

*                  Adaptasi
Dari  waktu  ke  waktu,  lingkungan  original  (contohnya  CPU,  sistem  oper asi,  aturan- aturan 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.

*                  Perkembangan (Enhancement)
Ketika  perangkat  lunak  dipakai,  pemakai/pelanggan  akan  mengenali  fungsi-fungsi tambahan  yang  member i  mereka  keuntungan Perfective  maintenance memper luas per angkat 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 per angkat  lunak),  harus  dilakukan  untuk  memungkinkan  perangkat  lunak  melayani kebutuhan  para  pemakainya.  Pada  dasarnya  preventive  maintenance  melakuakan per ubahan  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 selur uh proses perangkat lunak.

III.2. Paradigma Rekayasa Perangkat Lunak
Untuk  menyelesaikan  msalah  aktual  di  dalam  sebuah  setting  industr i,  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  berdasar kan  sifat  aplikasi  dan  proyeknya, 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 ber langsung,  mengorganisasikan  tugas-tugas  kerja,  mengontro  dan  memonitor  kemajuan serta mengatur kualitas teknis.

Alat  bantu  teknologi  proses  memper bolehkan  or ganisasi  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  ter sebut  untuk mengembangkan checklist dar i tugas-tugas ker ja 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
KESIMPULAN

  1. Perangkat  lunak  dapat  menjadi  elemen  kunci  bagi  evolusi  sistem  dan  produk  yang berbasis  komputer.  Perangkat  lunak  dirancang  dari  program-pr ogram,  data,  dan dokumen.  Masing-masing  dari  item-item  tersebut  terdir i  dar i  sebuah  konfigurasi  yang diciptakan sebagai bagian dari proses pengembangan perangkat lunak
  2. Rekayasa per angkat lunak adalah sebuah  disiplin  yang  mengintegralkan pr oses,  metode dan alat-alat bantu bagi pegembangan proses perangkat lunak komputer.

  1. Dan alat-alat bantu bagi pegembangan proses perangkat lunak komputer. membangun per angkat lunak dengan kualitas yang lebih tinggi.








































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 Lunak,  Pendekatan  Praktisi  (Buku  Satu) Penerbit Andi Yogyakarta.






































































































































































































Tidak ada komentar:

Posting Komentar