Pertemuan 2 KPPL (E) - 04/09/2024

Tools, Methods, Process, Quality apa saja yang digunakan dalam software engineering?

1. Tools 
Beberapa contoh tools atau alat yang sering digunakan dalam software engineering antara lain:

1) IDE (Integrated Development Environments) : merupakan software yang menyediakan lingkungan komprehensif untuk pengembangan perangkat lunak. Biasanya, IDE mencakup source code editordebugger, dan otomation build . IDE yang paling populer belakangan ini yakni Visual Studio* *Code, IntelliJ IDEA, dan Eclipse.
2) VCS (Visual Control System) : merupakan software untuk mengelola dan melacak perubahan pada kode seiring waktu. Sistem kontrol versi seperti Git, SVN, dan Mercurial yang menyediakan branching, dan merging. Fitur ini memungkinkan rekayasa perangkat lunak untuk berkolaborasi pada proyek dengan lebih efektif dan melacak perubahan dengan cara yang lebih terorganisir dan efisien.
3)  CI/CD (Continuous Integration, Continuous Delivery, dan Continuous Deployment) : digunakan untuk mengotomatisasi proses membangun, menguji, dan mendistribusikan perangkat lunak. Alat yang sering digunakan oleh mahasiswa software engineering ITTS seperti Jenkins, Travis CI, dan CircleCI mengotomatisasi proses pembangunan dan pengujian kode, yang memudahkan developer untuk menemukan bug dan kesalahan lebih awal dalam proses pengembangan. Hal ini dapat menghemat waktu dan sumber daya yang berharga serta meningkatkan kualitas perangkat lunak.
4) Debugging tools : sangat penting bagi software engineer untuk mengidentifikasi dan memperbaiki masalah pada kode mereka. termasuk GDB, WinDbg, dan Visual Studio Debugger. Alat-alat ini menyediakan fitur seperti breakpoint, watchpoint, dan penelusuran stack, yang membantu insinyur perangkat lunak untuk menemukan akar penyebab masalah dan memperbaikinya dengan lebih efisien. 

2. Methods
1) Metode Waterfall : merupakan metode pengembangan tradisional. Metode waterfall memiliki lima tahapan proses, diantaranya menganalisa persyaratan, membuat desain, menerapkan, pengujian, menggunakan pada proyek, dan pemeliharaan.
2) Metode Agile : dirancang untuk memperbarui metode waterfall yang kurang fleksibel. Meskipun sudah mengadopsi cara baru, tetapi alur kerja masih menggunakan pola tradisional. Proyek yang menggunakan metode agile biasanya berlangsung pendek dan bertahap. Hal ini karena metode ini dilakukan secara kolaboratif, terstruktur, dan terorganisir.
3) Metode Scrum : Metode scrum adalah metode turunan dari agile. Singkatnya, scrum berasal dari agile. Metode ini digunakan untuk memecahkan masalah dan menghasilkan kerja tim yang lebih efektif.
Cara kerja dalam metode scrum adalah dengan membagi pengembangan menjadi tujuan yang lebih kecil. Beberapa tujuan kecil perlu diselesaikan dengan cepat untuk bisa menyelesaikan tujuan akhir yang besar.
4) Metode DevOps : DevOps adalah prosedur metode yang menggabungkan proses pengembangan dan operasi. Oleh karena itu, metode ini merupakan cara untuk mempelajari pengembangan secara konseptual dan menerapkan software ke dalam infrastruktur dengan menggunakan pendekatan kolaboratif dan terintegrasi. Metode ini berfokus pada perubahan dan penguatan kolaborasi antar departemen dengan segmen yang berbeda dalam pengembangan siklus hidup organisasi.
5) Metode Prototype : Metode prototype adalah metode membangun suatu program secara cepat dan bertahap dengan menggunakan suatu pendekatan agar pemakai dapat mengevaluasinya. Perubahan yang dibuat oleh pengembang dibuat atas permintaan pengguna. Jika pengguna menyetujui pola yang ditentukan, pengembang baru akan membuat produk asli sebagai hasil akhir.

3. Process
1) Software Development Life Cycle (SDLC): Rangkaian tahapan yang sistematis dalam pengembangan perangkat lunak, seperti perencanaan, analisis, desain, implementasi, pengujian, dan pemeliharaan
2) Scrum: Kerangka kerja dalam Agile yang menggunakan iterasi pendek, atau "sprint", untuk memberikan bagian kecil dari produk yang dapat dihadirkan.
3) Kanban: Proses visualisasi pekerjaan untuk mengelola proyek secara bertahap dan terus-menerus meningkatkan proses.
4) Continuous Integration/Continuous Deployment (CI/CD): Proses otomatisasi pengujian dan penerapan kode, memastikan integrasi kode yang sering dan pengiriman perangkat lunak yang cepat.
5) Code Review: Proses dimana kode ditinjau oleh rekan kerja untuk mendeteksi bug, memastikan kualitas kode, dan mengoptimalkan performa.

4. Quality
1) Maintainability : software harus dapat dikembangkan untuk memenuhi kebutuhan yang terus berubah. 
2) Efficiency : software tidak boleh menggunakan perangkat komputasi yang boros, seperti memori dan processor cycle.
3) Correctness :  produk software harus memenuhi persyaratan yang sudah ditentukan di dokumen software requirements specification (SRS) dan diimplementasikan dengan benar.
4) Reusability :  software memiliki reusability yang baik jika modul produk bisa digunakan kembali untuk mengembangkan produk baru.
5) Testability : software bisa digunakan untuk menetapkan kriteria pengujian dan mengevaluasi perangkat lunak sesuai dengan kriteria yang sudah ditetapkan.
6) Reliability : berkaitan dengan sejauh mana suatu program bisa melakukan fungsi sesuai keinginan dalam periode waktu yang berubah-ubah.
7) Portability : software dapat ditransfer dari satu sistem komputer ke lainnya.
8) Adaptability : software memungkinkan untuk menjalankan sistem sesuai kebutuhan pengguna.
9) Interoperability :  kemampuan dua atau lebih functional unit untuk memproses data secara bersamaan.

Comments

Popular posts from this blog

Pertemuan 4-5 PPB (B) - 11/03/2026

Pertemuan 1 PPB (B) - 25/02/2026

Evaluasi Tengah Semester (ETS) PPB (B)