Pengantar Rekayasa Perangkat Lunak

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:

 

=====//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:

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
    1. Dosen mengulangi kembali definisi Software Engineering menurut definisi IEEE dan Pressman.
    2. Dosen menjelaskan lapisan (layerd) dalam software engineering: Tools-Methods-Process-Quality.
    3. Dosen menjelaskan definisi software process dengan menganalogikan sebuah proyek yang memiliki awal dan akhir.
    4. menjelaskan tentang software process: Communication-Planning-Modeling-Construction-Deployment, SDLC: Planning-Analysis-Design-Implementation.
    5. Dosen menjelaskan metodologi pengembangan/model proses yang berlaku selama ini:
      1. Model Terstruktur: Waterfall, Paralel
      2. RAD: Prototyping, Phased, Throw-Away Prototyping
      3. Agile: XP, Lean, Scrum
    6. Dosen memberikan contoh kasus Mobile PoS dan dikaji dari sisi development methodology
  • Kegiatan Inti
    1. Mahasiswa berdasarkan kelompoknya berdiskusi dan menganalisis topik proyek yang diambil
    2. Mahasiswa menyimpulkan jenis dev methodology yang akan diterapkan
  • Penutup
    1. 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:

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

  1. Dosen mengulang penjelasan terkait software process
  2. Dosen menekankan hubungan antara fase Communication dengan Requirement Gathering yang mana RG merupakan bagian dari fase Communication (Pressman) atau Analysis (SDLC).

Kegiatan Inti

  1. 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.
  2. Dosen menjelaskan beberapa teknik berkomunikasi untuk menggali kebutuhan dari Customer yang terdiri dari Interview, JAD Sessions, Questionnaires, Document Analysis dan Observation
  3. Dosen menjelaskan tentang Business Requirements, User Requirements, Software Requrirements (Functional & Non Functional Requirements) serta perbedaan antara semua requirements tersebut.
  4. Dosen mengenalkan tentang dokumen Software Requirements Specification (SRS)
  5. Dosen menjelaskan tentang Requirement Elicitation
  6. Dosen menjelaskan tentang bagaimana membuat Use Case.

Penutup

  1. Dosen meresume pertemuan ke-3
  2. 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

  1. Dosen menjelaskan tentang konsep Use Case (Aktor-Use Case-Relasi dalam use case-Include-Extend)
  2. Dosen menjelaskan hubungan antara User Requirements dan pemodelannya menggunakan Use Case.
  3. Dosen menjelaskan tentang struktur penulisan Use Case Skenario standar

Kegiatan Inti

  1. Dosen mengkondisikan kelompok mahasiswa untuk menyiapkan User Requirements yang sudah ditulis
  2. Dosen meminta mahasiswa/kelompok mulai menuliskan aktor dalam use case
  3. Dosen meminta mahasiswa/kelompok memodelkan use case yang digunakan
  4. Dosen meminta mahasiswa/kelompok menuliskan Use Case Skenario berdasarkan setiap Use Case
  5. Dosen memanggil perwakilan kelompok untuk mempresentasikan/menjelaskan diagram use case dan skenarionya

Penutup

  1. Dosen meresume pertemuan ke-5
  2. 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:

Skenario Belajar:

  1. Pembukaan
    • Dosen menjelaskan konsep dasar Software Architecture
    • Dosen menjelaskan tentang Architectural Style & Patterns
  2. 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
  3. 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:

Skenario Belajar:

  1. 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
  2. Pembukaan
    • Dosen menjelaskan konsep dasar aturan bisnis
    • Dosen menjelaskan taksonomi aturan bisnis dan memberikan contohnya
    • Dosen memberikan contoh penulisan dokumentasi aturan bisnis
  3. 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.
  4. 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:

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:

Skenario Belajar:


PERTEMUAN 12 Senin, 7 Desember 2015 Topik: Software Quality – Testing Learning Outcomes: Sumber Belajar:

Skenario Belajar: Pendahuluan

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:

Skenario Belajar: Pendahuluan

Kegiatan Inti

  1. Dosen menginstruksikan mahasiswa untuk mencari partner/pasangan untuk saling bertukar dokumentasi penggunaan aplikasi
  2. Antarmahasiswa duduk saling berhadapan
  3. Selama 15-25 menit mahasiswa secara bergantian saling memberikan pelatihan/training dengan dokumentasi tersebut sebagai panduan/petunjuknya.
  4. 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:

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.