
Deskripsi
Mata kuliah Advanced Software Engineering ini dirancang untuk membekali mahasiswa magister dengan pemahaman mendalam mengenai tantangan kontemporer dan praktik terdepan dalam rekayasa perangkat lunak. Pembahasan akan dimulai dari evolusi historis rekayasa perangkat lunak dan dinamika evolusi perangkat lunak yang tak terhindarkan, mencakup proses pemeliharaan, re-engineering, dan manajemen legacy system. Mata kuliah ini menekankan bahwa pengembangan perangkat lunak modern merupakan aktivitas sosial dan kolaboratif, dengan mengkaji Social Software Engineering (SSE) , pentingnya code review untuk transfer pengetahuan dan jaminan kualitas, serta peran vital berbagai kanal komunikasi dan dokumentasi, mulai dari spesifikasi kebutuhan hingga README files. Mahasiswa akan diperkenalkan dengan metodologi penelitian modern melalui Empirical Software Engineering (ESE), mempelajari metode seperti studi kasus dan survei untuk validasi, serta praktik Mining Software Repositories (MSR) untuk menggali wawasan dari data historis pengembangan yang tersimpan dalam version control systems seperti Git. Terakhir, mata kuliah ini akan mengeksplorasi penerapan teknologi terapan seperti Machine Learning (ML) untuk menyelesaikan berbagai tantangan dalam siklus hidup rekayasa perangkat lunak, mulai dari manajemen bug dan defect hingga mengatasi tantangan riset dalam dokumentasi perangkat lunak.
Capaian Pembelajaran
- Mahasiswa mampu menyatakan kembali dan mempertahankan konsep rekayasa perangkat lunak serta menyebutkan tantangan dan strategi pengembangan perangkat lunak
- Mahasiswa mampu menyatakan kembali dan menyiapkan riset dalam bidang software engineering dengan memanfaatkan berbagai data dari berbagai repository dan dokumen perangkat lunak
- Mahasiswa mampu menyatakan kembali, mengidentifikasi, dan menganalisis berbagai kecacatan produk perangkat lunak
- Mahasiswa mampu menyatakan kembali dan menganalisis aspek-aspek sosial dalam riset bidang software engineering
- Mahasiswa mampu mengembangkan dan menerapkan teknologi machine learning dalam riset software engineering
Yang Kamu Pelajari
Materi yang akan dipelajari dalam mata kuliah Advanced Software Engineering:
- Pengenalan Advanced Software Engineering
- Evolusi Perangkat Lunak
- Riset dalam Rekayasa Perangkat Lunak
- Pengantar Empirical Software Engineering (ESE)
- Repositori Perangkat Lunak dan Mining dalam Rekayasa Perangkat Lunak
- Tantangan Riset pada Dokumentasi Perangkat Lunak
- Dokumentasi Perangkat Lunak dan Kanal Komunikasi
- Bug, Defect, dan Kerentanan (Vulnerability) Perangkat Lunak
- Praktik Terbaik dalam Peer Code Review
- Aktivitas Sosial dalam Rekayasa Perangkat Lunak
- Teknologi Terapan dalam Rekayasa Perangkat Lunak
Item Penilaian
- Tugas
- UTS
- UAS


