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.
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.
IEEE Computer Society. (2014). SWEBOK: Guide to the Software Engineering Body of Knowledge (Version 3.0). IEEE Press.
Sommerville, Ian. (2016). Software Engineering (10th ed.). Pearson Education.
Pressman, Roger S. & Maxim, Bruce R. (2014). Software Engineering: A Practitioner’s Approach (8th ed.). McGraw-Hill.
Hughes, Bob & Cotterell, Mike. (2015). Software Project Management (5th ed.). McGraw-Hill Education.
McConnell, Steve. (2004). Code Complete (2nd ed.). Microsoft Press.
IEEE. (1998). IEEE Std 830-1998: IEEE Recommended Practice for Software Requirements Specifications. IEEE Standards.
Chacon, Scott & Straub, Ben. (2014). Pro Git (2nd ed.). Apress.
Rubin, Kenneth S. (2012). Essential Scrum: A Practical Guide to the Most Popular Agile Process. Addison-Wesley.
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