Pengantar Rekayasa Perangkat Lunak
Semester: Genap 2016/2017
Kelas: C, D
Jadwal: Senin
Bobot: 3 SKS
PERTEMUAN 1 Tanggal: 7 September 2015 Topik: Pengantar Software Engineering Learning Outcomes:
- Memahami definisi dan hakikat Software & Software Engineering
- Mampu membuat software skala menengah
Sumber Belajar:
- Video How Software is Made
- Sejarah Microsoft Windows, Visicalc [1]
- Slide Kuliah
- Log book monitoring pengembangan proyek software (diprint dan diisi setiap minggu)
=====//Batas semester lampau//========
PERTEMUAN 2 Topik: Planning – SDLC dan Development Methodology Learning Outcomes:
- Memahami konsep inti software process dan SDLC
- Memahami lima development methodology yang tersedia (Waterfall, V-Model, RAD, Agile, Spiral)
- Menganalisis dan memilih metode yang tepat sesuai dengan kondisi yang ada
Sumber Belajar:
- Slide kuliah [Slide 5-29]
- Referensi [6] halaman 51-59
Skenario Belajar:
- Pra
- Mahasiswa diminta membaca Referensi [6] halaman 51-59.
- Catat poin penting terutama pada pembahasan tentang SDLC dan Development methodology
- Untuk memudahkan, berikan masing-masing anggota kelompok tugas untuk membaca berdasarkan halaman tertentu.
- Pendahuluan
- Dosen mengulangi kembali definisi Software Engineering menurut definisi IEEE dan Pressman.
- Dosen menjelaskan lapisan (layerd) dalam software engineering: Tools-Methods-Process-Quality.
- Dosen menjelaskan definisi software process dengan menganalogikan sebuah proyek yang memiliki awal dan akhir.
- menjelaskan tentang software process: Communication-Planning-Modeling-Construction-Deployment, SDLC: Planning-Analysis-Design-Implementation.
- Dosen menjelaskan metodologi pengembangan/model proses yang berlaku selama ini:
- Model Terstruktur: Waterfall, Paralel
- RAD: Prototyping, Phased, Throw-Away Prototyping
- Agile: XP, Lean, Scrum
- Dosen memberikan contoh kasus Mobile PoS dan dikaji dari sisi development methodology
- Kegiatan Inti
- Mahasiswa berdasarkan kelompoknya berdiskusi dan menganalisis topik proyek yang diambil
- Mahasiswa menyimpulkan jenis dev methodology yang akan diterapkan
- Penutup
- Dosen menjelaskan secara singkat peranan dev methodology dengan proses pengerjaan Skripsi di bidang pengembangan perangkat lunak
Evaluasi
Pertemuan # Topik: Planning – Feasibility Analysis, Work Plan, Time Frame Learning Outcomes:
- Memahami fase Planning dalam SDLC
- Mampu membuat dokumen System Request
- Mampu menganalis kelayakan sistem (Feasibility Analysis) yang terdiri dari: Technical Feasibility, Economic Feasibility, Organizational Feasibility.
- Mampu membuat dokumen ringkasan eksekutif sebagai produk akhir yang dihasilkan dari fase Planning.
Sumber Belajar:
- Slide kuliah
- Pengertian ROI (Return on Investment) dan video
- Pengertian Break Event Point/Titik Impas (BEP) dan video1, video2
- Referensi no [6] baca hlm. 5 s/d 38.
Skenario Belajar
PERTEMUAN 3 & 4 Tanggal: 21 September 2015 Topik: Analysis/Communication – Requirements Engineering Learning Outcomes:
- Memahami definisi requirements
- Menganalisis dan menulis business requirements
- Menganalisis dan menulis user requirements
- Menganalisis dan menulis functional requirements
- Menganalisis dan menulis non-functional requirements
- Menerapkan salah satu teknik requirement elicitation yaitu Interview, JAD Sessions, Questionnaires, Document Analysis dan Observation
- Menentukan teknik requirement elicatition dengan tepat
Sumber Belajar:
- Slide kuliah
- Referensi
- [6] halaman 104-129, 148-171.
- [2] halaman 121-144, 136,
- Contoh dokumen requirements
Skenario Belajar: Pembukaan
- Dosen mengulang penjelasan terkait software process
- Dosen menekankan hubungan antara fase Communication dengan Requirement Gathering yang mana RG merupakan bagian dari fase Communication (Pressman) atau Analysis (SDLC).
Kegiatan Inti
- Dosen menjelaskan definisi Requirements dan Requirement Engineering sebagai tugas awal dan penting dalam fase pengembangan PL (perangkat lunak) yang terdiri dari 7 aktivitas inti yaitu Inception, Elicitation, Elaboration, Negotiation, Specification, Validation, Requirement Managemen.
- Dosen menjelaskan beberapa teknik berkomunikasi untuk menggali kebutuhan dari Customer yang terdiri dari Interview, JAD Sessions, Questionnaires, Document Analysis dan Observation
- Dosen menjelaskan tentang Business Requirements, User Requirements, Software Requrirements (Functional & Non Functional Requirements) serta perbedaan antara semua requirements tersebut.
- Dosen mengenalkan tentang dokumen Software Requirements Specification (SRS)
- Dosen menjelaskan tentang Requirement Elicitation
- Dosen menjelaskan tentang bagaimana membuat Use Case.
Penutup
- Dosen meresume pertemuan ke-3
- Dosen menjelaskan tugas 1 untuk dilaporkan pada pertemuan ke-4
PERTEMUAN 5 Topik: Analysis – Uses Cases Learning Outcomes:
- Memahami kaitan User Requirement dengan Uses Case
- Membuat pemodelan hasil analisis dalam diagram Use Case
- Membuat dokumen skenario Use Case
Sumber Belajar:
- Referensi [4] halaman 74 – 88, [6] halaman 148 – 177
Skenario Belajar: Pembukaan
- Dosen menjelaskan tentang konsep Use Case (Aktor-Use Case-Relasi dalam use case-Include-Extend)
- Dosen menjelaskan hubungan antara User Requirements dan pemodelannya menggunakan Use Case.
- Dosen menjelaskan tentang struktur penulisan Use Case Skenario standar
Kegiatan Inti
- Dosen mengkondisikan kelompok mahasiswa untuk menyiapkan User Requirements yang sudah ditulis
- Dosen meminta mahasiswa/kelompok mulai menuliskan aktor dalam use case
- Dosen meminta mahasiswa/kelompok memodelkan use case yang digunakan
- Dosen meminta mahasiswa/kelompok menuliskan Use Case Skenario berdasarkan setiap Use Case
- Dosen memanggil perwakilan kelompok untuk mempresentasikan/menjelaskan diagram use case dan skenarionya
Penutup
- Dosen meresume pertemuan ke-5
- Dosen menutup pertemuan kuliah ke-5
PERTEMUAN 6 Topik: Design – Architectural Design Learning Outcomes:
- Memahami konsep dan definisi arsitektur perangkat lunak
- Memahami Architectural Style and Patterns
- Memahami Architectural View
- Membedakan antara Layer dan Tier
- Memahami Layered Application: Presentation-Business-Data
- Memahami cara kerja load balancing (https://www.youtube.com/watch?v=n-xa8tPikag)
Sumber Belajar:
- Slide Kuliah
- Referensi [4] halaman 193 – 197
- Referensi [2] halaman 148 – 173, 501 – 505
- Referensi [1] halaman 242 – 273
- Referensi [8]
- Multitier Architecture (https://en.wikipedia.org/wiki/Multitier_architecture), Web Application
- Model-View-Controller (MVC) (https://www.youtube.com/watch?v=eTdVkgF_Slo),
Skenario Belajar:
- Pembukaan
- Dosen menjelaskan konsep dasar Software Architecture
- Dosen menjelaskan tentang Architectural Style & Patterns
- Kegiatan Inti
- Dosen membuat sebuah kasus pengembangan perangkat lunak
- Setiap kelompok membuat desain arsitektur sesuai kasus yang disediakan
- Satu kelompok perwakilan akan mempresentasikan hasil desain arsitektur yang telah dibuat
- Dosen akan membahas dan mengkritisi hasil desain yang dibuat mahasiswa/tim
- Penutup
- Dosen meresume perkuliahan Software Architecture
- Dosen menjelaskan yang harus dilakukan kelompok dengan proyek software yang mereka buat terkait Software Architecture
PERTEMUAN 7 Topik: Analysis – Business Rules dalam Requirement Learning Outcomes:
- Memahami konsep dan definisi aturan bisnis
- Menyebutkan taksonomi/klasifikasi aturan bisnis
- Memahami pengertian setiap taksonomi aturan bisnis
- Menulis dokumentasi aturan-aturan bisnis dengan tepat sesuai taksonominya
Sumber Belajar:
- Referensi [9] halaman 167 – 176
- http://ardiansyah.tif.uad.ac.id/aturan-bisnis-dalam-kebutuhan-fungsional-perangkat-lunak-2/
- http://ardiansyah.tif.uad.ac.id/mendokumentasikan-aturan-bisnis/#more-351
Skenario Belajar:
- Persiapan:
- Tim/mahasiswa menyiapkan semua informasi/data terkait hasil requirement gathering yang telah dilakukan
- Informasi/data tersebut ditulis dengan rapi dalam dokumen Word/Excel untuk ditunjukkan di kelas
- Pembukaan
- Dosen menjelaskan konsep dasar aturan bisnis
- Dosen menjelaskan taksonomi aturan bisnis dan memberikan contohnya
- Dosen memberikan contoh penulisan dokumentasi aturan bisnis
- Kegiatan Inti
- Dosen secara acak akan meminta perwakilan kelompok menampilkan data terkait kebutuhan yang telah dikumpulkan
- Dosen akan menjelaskan bagaimana mengetahui dari data/informasi kebutuhan tersebut yang termasuk dalam aturan bisnis beserta klasifikasinya.
- Selanjutnya dosen akan meminta secara bergantian mengidentifikasi aturan-aturan bisnis lainnya.
- Penutup
- Dosen meresume perkuliahan Aturan Bisnis, Taksonomi dan dokumentasinya
- Dosen menjelaskan kisi-kisi dan persiapan UTS.
U J I A N T E N G A H S E M E S T E R
PERTEMUAN 8 Senin, 9 Nopember 2015 Topik: Software Estimation, Effort & Sizing Learning Outcomes:
- Memahami project performance trade-off
- Memahami estimasi proyek software: Size, Effort, Time
- Menghitung proyek software dengan metode Simply method, Function Point, Use Case Point
Sumber Belajar:
- Slide kuliah
- Referensi [2] hlm. 619-623, [6] hlm. 89-94, 637-647, [3] hlm 24.
- Video Function Point
Skenario Belajar:
PERTEMUAN 9 Senin, 23 Nopember 2015 Topik: Software Project Management Learning Outcomes: Sumber Belajar: Slide kuliah Referensi [10], [11] Skenario Belajar:
PERTEMUAN 10 Senin, 30 Nopember 2015 Topik: Project Scheduling Learning Outcomes: Sumber Belajar:
Skenario Belajar:
PERTEMUAN 11 Kamis, 3 Desember 2015 Topik: Software Quality Learning Outcomes: Sumber Belajar:
- Slide Kuliah
- Referensi [12]
Skenario Belajar:
PERTEMUAN 12 Senin, 7 Desember 2015 Topik: Software Quality – Testing Learning Outcomes: Sumber Belajar:
- Slide Kuliah
- Paper Black Box Testing
- Contoh Tugas Black Box Test di Universitas Gunadarma
- Black Box Testing
- Black Box Testing – PPT
- White Box Testing
- White Box Testing – PPT
- Acceptance Criteria for User Stories
- Referensi [13]
Skenario Belajar: Pendahuluan
- Mahasiswa telah melakukan eksperimen pengujian perangkat lunak di level unit testing dan integration testing.
Persiapan
- Mahasiswa wajib membaca terlebih dahulu sumber-sumber bacaan yang telah disediakan, terutama Paper Black Box Testing untuk mengetahui bagaimana cara melakukan pengujian black box
- Mahasiswa wajib membawa program kalkulator sederhana beserta laporan hasil eksperimen ke kelas
Kegiatan Inti
- Dosen menginstruksikan mahasiswa untuk mencari partner/pasangan untuk saling bertukar program kalkulator sederhana
- Antarmahasiswa duduk saling berhadapan
- Selama 15-25 menit mahasiswa melakukan pengujian program kalkulator partnernya dengan tujuan menemukan error sebanyak mungkin
- Mahasiswa wajib menggunakan template test plan/test case berikut
- Isilah dahulu test case yang hendak dilakukan
- Setiap pengujian harus diisi dan dituliskan hasilnya sesuai test case. (Baca: Paper Black Box Testing)
- Setelah selesai mahasiswa mengembalikan kembali laptop/program kalkulator ke pemiliknya.
- Mahasiswa diberi waktu 15 menit untuk menuliskan refleksi/kesan terhadap apa yang barusan dikerjakan
Penutup
- Dosen menjelaskan tentang apa yang sudah dikerjakan oleh mahasiswa
- Dosen secara acak akan memanggil mahasiswa untuk menjelaskan apa hasil refleksi/kesan yang didapatkan.
- Dosen menjelaskan singkat terkait pertemuan ke-13 dan menutup kuliah
PERTEMUAN 13
Senin, 14 Desember 2015
Topik: Software Delivery & Implementation (Usage)
Learning Outcomes: Sumber Belajar:
- Slide kuliah
- Referensi [10] hlm. 519-531
- Dokumentasi
Skenario Belajar: Pendahuluan
- Mahasiswa telah melakukan eksperimen Training & Dokumentasi Perangkat Lunak
Kegiatan Inti
- Dosen menginstruksikan mahasiswa untuk mencari partner/pasangan untuk saling bertukar dokumentasi penggunaan aplikasi
- Antarmahasiswa duduk saling berhadapan
- Selama 15-25 menit mahasiswa secara bergantian saling memberikan pelatihan/training dengan dokumentasi tersebut sebagai panduan/petunjuknya.
- Mahasiswa diberi waktu 15 menit untuk menuliskan refleksi/kesan/penilaian atas dokumentasi yang telah dibuat oleh partnernya.
Penutup
- Dosen menjelaskan tentang apa yang sudah dikerjakan oleh mahasiswa
- Dosen secara acak akan memanggil mahasiswa untuk menjelaskan apa hasil refleksi/kesan yang didapatkan.
- Dosen menjelaskan singkat terkait pertemuan ke-14 dan menutup kuliah
PERTEMUAN 14
Senin, 21 Desember 2015
Topik: Software Maintenance & Reengineering
Learning Outcomes: Sumber & Bahan Belajar:
- Slide Kuliah
- Software Maintenance Overview
- Windows Lifecycle Fact Sheet
- Agile Process for Maintenance Cycle
- Can Support and Maintenance Become Agile?
- Introducing an Agile Process in a Software Maintenance and Evolution Organization
- Agile Methods and Software Maintenance
- Reverse Engineer
- Referensi [2] halaman: 761-780
Skenario Belajar:
U J I A N A K H I R S E M E S T E R
REFERENSI
[1] Sommerville, I. (2011). Software Engineering. (M. Horton, M. Hirsch, M. Goldstein, & J. Holcomb, Eds.). United States: Pearson Education Limited.
[2] Pressman, R. S. (2010). Software Engineering: A Practitioner’s Approach. McGraw Hill.
[3] Jones, C. (2008). Applied Software Measurement. McGraw Hill.
[4] Gomaa, H. (2011). Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures. Cambridge University Press.
[5] Morgan, P., Hambling, B., Samaroo, A., Thompson, G., & Williams, P. (2010). Software Testing: An Istqb-Iseb Foundation Guide. BCS The Chartered Institut.
[6] Dennis, A., Wixom, B. H., & Roth, R. M. (2012). Systems Analysis & Design. John Wiley & Sons.
[7] Endres, A., & Rombach, D. (2003). A Handbook of Software and Systems Engineering. (D. Rombach, Ed.). Essex: Pearson Education Limited.
[8] Microsoft Patterns & Practices Team. (2009). Microsoft Application Architecture Guide (2nd ed.). Microsoft Press. Retrieved from http://www.microsoft.com/en-us/download/details.aspx?id=16236
[9] Wiegers, K. E., & Beatty, J. (2013). Software Requirements (3rd ed.). USA: Microsoft Press.
[10] Pfleeger, S. L., & Atlee, J. M. (2010). Software Engineering Theory and Practice (4th ed.). Pearson Education Limited.
[11] Luckey, T., & Philips, J. (2006). Software project management for dummies. Wiley Publishing.
[12] Galin, D. (2004). Software Quality Assurance – From theory to implementation. England: Pearson Education Limited.
[13] Perry, W. E. (2006). Effective Methods for Software Testing (3rd ed.). Wiley Publishing.