Dalam lingkungan bisnis yang kompetitif saat ini, perusahaan sangat memperhatikan kualitas produk dan layanan mereka. Sebuah organisasi yang sukses harus meningkatkan kualitas di setiap bidang, termasuk sistem informasinya. Manajemen puncak harus memberikan kepemimpinan, dorongan, dan dukungan yang dibutuhkan untuk sumber daya TI berkualitas tinggi. Tidak peduli seberapa hati-hati sebuah sistem dirancang dan diimplementasikan, masalah dapat terjadi. Pengujian yang ketat dapat mendeteksi kesalahan selama implementasi, tetapi jauh lebih murah untuk memperbaiki kesalahan lebih awal dalam proses pengembangan. Tujuan utama darikualitas asuransi adalah untuk menghindari masalah atau mengidentifikasinya sesegera mungkin. Kualitas yang buruk dapat dihasilkan dari persyaratan yang tidak akurat, masalah desain, kesalahan pengkodean, dokumentasi yang salah, dan pengujian yang tidak efektif. Untuk meningkatkan produk jadi, pengembang sistem perangkat lunak harus mempertimbangkan rekayasa perangkat lunak dan standar kualitas yang diakui secara internasional. 1. Rekasaya Perangkat Lunak Rekayasa Perangkat Lunak adalah penerapan disiplin prinsip-prinsip rekayasa untuk menciptakan aplikasi yang kompleks dan berumur panjang. Ini adalah campuran dari orang, proses, dan teknologi. Rekayasa perangkat lunak lebih luas dari sekedar pengembangan. Ini mencakup lima bidang kegiatan teknis: persyaratan, desain, konstruksi, pengujian, dan pemeliharaan dan evolusi. Hal ini didukung oleh kegiatan non-teknis, seperti estimasi biaya dan usaha, manajemen proyek, danpeningkatan proses. Situs web Software Engineering Institute (SEI) di Carnegie Mellon University ditunjukkan pada Gambar 11-1. SEI adalah pemimpin dalam rekayasa perangkat lunak dan menyediakan standar kualitas dan prosedur yang disarankan untuk pengembang perangkat lunak dan analis sistem. Tujuan utama SEI adalah menemukan metode pengembangan perangkat lunak yang lebih baik, lebih cepat, dan lebih murah. Untuk mencapai tujuan itu, SEI merancang seperangkat standar pengembangan perangkat lunak yang disebutModel Kematangan Kemampuan (CMM), yang telah berhasil digunakan oleh ribuan organisasi di seluruh dunia. Tujuan dari model ini adalah untuk meningkatkan kualitas perangkat lunak, mengurangi waktu pengembangan, dan memotong biaya. Lima tingkat kematangan perangkat lunak CMM ditunjukkan pada Gambar 11-2. Setelah CMM perangkat lunak asli dirilis dan diperbarui, model kematangan kemampuan lainnya diperkenalkan. Akhirnya SEI membentuk model baru, yang disebut Integrasi Model Kematangan Kemampuan (CMMI), yang mengintegrasikan pengembangan perangkat lunak dan sistem ke dalam kerangka kerja yang jauh lebih besar. CMMI melacak proses organisasi, menggunakan lima tingkat kematangan, dari Level 1, yang disebut sebagai tidak dapat diprediksi, kurang terkontrol, dan reaktif, hingga Level 5, di mana hasil optimal adalah perbaikan proses.
B. Gambaran Umum Pengembangan Aplikasi
Pengembangan aplikasi adalah proses membangun program dan modul kode yang berfungsi sebagai blok bangunan sistem informasi. Pada Bab 1 dijelaskan bahwa analisis terstruktur, analisis berorientasi objek (OO), dan metode tangkas adalah tiga pilihan pengembangan yang populer. Terlepas dari metodenya, tujuannya adalah untuk menerjemahkan desain ke dalam program dan modul kode yang akan berfungsi dengan baik. Karena implementasi sistem biasanya sangat padat karya, pengembang sering menggunakan alat dan teknik manajemen proyek untuk mengontrol jadwal dan anggaran. 1) Tugas Pengembangan Aplikasi Jika metode terstruktur atau berorientasi objek (OO) tradisional digunakan selama desain sistem, proses menerjemahkan desain ke dalam aplikasi yang berfungsi dapat dimulai. Jika metode pengembangan tangkas dipilih, pengembangan dimulai dengan merencanakan proyek, diikuti dengan meletakkan dasar, merakit tim, dan bersiap untuk berinteraksi dengan pelanggan. METODE TRADISIONAL: Membangun sistem baru membutuhkan perencanaan yang matang. Setelah strategi keseluruhan ditetapkan, modul individu harus dirancang, dikodekan, diuji, dan didokumentasikan. Modul terdiri dari kode program terkait yang diorganisasikan ke dalam unit-unit kecil yang mudah dipahami dan dipelihara. Setelah modul dikembangkan dan diuji secara individual, lebih banyak pengujian dilakukan, bersama dengan dokumentasi menyeluruh dari seluruh sistem. Ketika modul program dibuat menggunakan metode terstruktur atau berorientasi objek, prosesnya dimulai dengan meninjau dokumentasi persyaratan dari fase SDLC sebelumnya dan membuat serangkaian desain program. Jika file dokumentasi dibuat di awal proses pengembangan dan diperbarui secara teratur, ada gudang informasi yang berharga. Pusat dokumentasi adalah spesifikasi desain sistem, disertai dengan diagram, dokumen sumber, tata letak layar, desain laporan, entri kamus data, dan komentar pengguna. Jika alat CASE digunakan selama proses analisis dan desain sistem, pekerjaan analis akan jauh lebih mudah. Pada titik ini, tugas pengkodean dan pengujian dimulai. Meskipun pemrogram biasanya melakukan pengkodean yang sebenarnya, manajer TI biasanya menugaskan analis sistem untuk bekerja dengan mereka sebagai sebuah tim. METODE CEPAT: Jika pendekatan tangkas diputuskan, komunikasi dan kolaborasi yang intens sekarang akan dimulai antara tim TI dan pengguna atau pelanggan. Tujuannya adalah untuk membuat sistem melalui proses iteratif dari perencanaan, perancangan, pengkodean, dan pengujian. Proyek tangkas menggunakan berbagai model iteratif dan inkremental, termasuk Extreme Programming (XP). 2) Alat Pengembangan Sistem Setiap pendekatan pengembangan sistem memiliki seperangkat alatnya sendiri yang telah bekerja dengan baik untuk metode tersebut. Misalnya, pengembangan terstruktur sangat bergantung pada DFD dan bagan struktur; metode berorientasi objek menggunakan berbagai diagram Unified Modeling Language (UML), termasuk diagram use case, class, sequence, dan transisi; dan metode tangkas cenderung menggunakan spiral atau model berulang lainnya. Pengembang sistem juga dapat menggunakan alat serbaguna untuk membantu mereka menerjemahkan logika sistem ke dalam modul program yang berfungsi dengan baik. Alat generik ini termasuk diagram hubungan entitas, diagram alur, pseudocode, tabel keputusan, dan pohon keputusan. DIAGRAM HUBUNGAN ENTITAS, menjelaskan penggunaan diagram hubungan entitas untuk menunjukkan interaksi antara entitas dan objek sistem. ERD adalah alat yang berguna terlepas dari metodologi yang digunakan karena berbagai hubungan (oneto- one, one-to-many, dan many-to-many) harus dipahami dan diimplementasikan dalam proses pengembangan aplikasi. Flowchart diagram alur dapat digunakan untuk mewakili logika program dan sangat berguna dalam memvisualisasikan desain modular. Flow chart mewakili aturan logis dan interaksi secara grafis, menggunakan serangkaian simbol yang dihubungkan oleh panah. Dengan menggunakan diagram alur, pemrogram dapat memecah sistem besar menjadi subsistem dan modul yang lebih mudah dipahami dan dikodekan. KODE PSEUD: Pseudocode adalah teknik untuk merepresentasikan logika program. Pseudocode mirip dengan bahasa Inggris terstruktur, yang dijelaskan dalam Bab 5. Pseudocode tidak spesifik bahasa, sehingga dapat digunakan untuk menggambarkan modul perangkat lunak dalam bahasa Inggris biasa tanpa memerlukan aturan sintaks yang ketat. Menggunakan pseudocode, seorang analis sistem atau programmer dapat menggambarkan tindakan program yang dapat diimplementasikan dalam bahasa pemrograman apa pun. Gambar 11-6 mengilustrasikan contoh pseudocode yang mendokumentasikan kebijakan promosi penjualan.