Detail Mata kuliah

Rekayasa Perangkat Lunak

SIF121112
Home Mata Kuliah Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak

Deskripsi Mata Kuliah

Mata kuliah ini memberikan pemahaman dan keterampilan dasar dalam pengembangan perangkat lunak secara sistematis sesuai prinsip-prinsip rekayasa. Materi mencakup seluruh siklus hidup pengembangan perangkat lunak mulai dari analisis kebutuhan, desain, implementasi, pengujian, hingga pemeliharaan, serta pendekatan manajemen proyek perangkat lunak. Mahasiswa akan memahami praktik terbaik dan standar industri berdasarkan SWEBOK, serta mengembangkan kemampuan kolaboratif melalui proyek tim. Mata kuliah ini bertujuan membentuk mahasiswa yang mampu mengembangkan perangkat lunak yang handal, maintainable, dan memenuhi kebutuhan pengguna secara profesional.

Pokok Bahasan

  • Konsep Dasar Rekayasa Perangkat Lunak
    Meliputi pengertian, ruang lingkup, prinsip rekayasa, dan peran dalam pengembangan sistem informasi.

  • Model Proses Perangkat Lunak
    Studi berbagai model siklus hidup perangkat lunak seperti Waterfall, Iteratif, Agile, dan DevOps.

  • Rekayasa Kebutuhan Perangkat Lunak
    Teknik elicitation, analisis, validasi, dan dokumentasi kebutuhan pengguna (Software Requirements Specification).

  • Desain Perangkat Lunak
    Mencakup desain arsitektur, desain modular, desain antarmuka, dan notasi desain menggunakan UML.

  • Implementasi dan Standar Kode
    Praktik penulisan kode yang efisien, maintainable, dan sesuai standar industri serta penggunaan version control.

  • Pengujian Perangkat Lunak
    Unit testing, integration testing, sistem testing, serta pendekatan white-box dan black-box.

  • Manajemen Proyek Perangkat Lunak
    Penjadwalan, estimasi biaya dan waktu, pengelolaan tim, serta penggunaan tools seperti Trello atau Jira.

  • Pemeliharaan dan Evolusi Perangkat Lunak
    Jenis pemeliharaan, refactoring, dan perubahan terhadap kebutuhan pengguna.

  • Dokumentasi dan Konfigurasi
    Dokumentasi teknis, dokumentasi pengguna, serta pengelolaan konfigurasi dan versioning dengan Git.

  • Metodologi Modern: Agile & DevOps
    Prinsip Scrum, CI/CD, dan praktik pengembangan modern berbasis kolaborasi dan otomatisasi.

Pustaka

  1. IEEE Computer Society. (2014). SWEBOK: Guide to the Software Engineering Body of Knowledge (Version 3.0). IEEE Press.

  2. Sommerville, Ian. (2016). Software Engineering (10th ed.). Pearson Education.

  3. Pressman, Roger S. & Maxim, Bruce R. (2014). Software Engineering: A Practitioner’s Approach (8th ed.). McGraw-Hill.

  4. Hughes, Bob & Cotterell, Mike. (2015). Software Project Management (5th ed.). McGraw-Hill Education.

  5. McConnell, Steve. (2004). Code Complete (2nd ed.). Microsoft Press.

  6. IEEE. (1998). IEEE Std 830-1998: IEEE Recommended Practice for Software Requirements Specifications. IEEE Standards.

  7. Chacon, Scott & Straub, Ben. (2014). Pro Git (2nd ed.). Apress.

  8. Rubin, Kenneth S. (2012). Essential Scrum: A Practical Guide to the Most Popular Agile Process. Addison-Wesley.

Media Pembelajaran

Laptop/PC Digunakan untuk coding, desain, dan dokumentasi
Proyektor Presentasi materi dan demo sistem
Git & GitHubVersion control & kolaborasi proyek
Visual Studio Code / IntelliJ / Eclipse/ tools lainnya untuk Pengembangan perangkat lunak
Trello / Jira Manajemen proyek perangkat lunak
Figma / Draw.io Desain antarmuka & diagram
Google Classroom / LMS Distribusi materi, tugas, dan penilaian

Level Mata Kuliah:

Koordinator Mata Kuliah:

-

Jumlah SKS:

3

Prasyarat Mata Kuliah:

-

Metode Pembelajaran:

Metode Penilaian:

Mata Kuliah MBKM:

Mata kuliah ini tidak termasuk program MBKM.