Software Engineering

SE : adalaah cara untuk menerapkan prinsip prinsip rekayasa yang disiplin dan sistematis untuk menghasilkan p/l yang berkualitas tinggi yaitu andal dan efisensi dengan biaya yang ekonomis.

4 Layer SE :: Tools, Methods, Process, A Quality Focus Methodnya mendekatkan OOP, berdasarkan UML.

Framework Umum SP? ?

  1. Communication, System Analyst vs User, System Analyst vs Programmer
  2. Planning, Cost, Time, Human Resouce,etc
  3. Modeling, Structural, OO Approach
  4. Construction, Coding and Testing
  5. Deployment, Software Delivery to Customer

Aktifitas harian

  1. SP tracking control
  2. Risk management
  3. SW QA
  4. Techincal Reviews
  5. meadurement
  6. SW COnfiguration managemen
  7. Reusability maagemnt

Inti dari penerapan SE Practice? ?

  1. Understand The Problem dari Communication and Analyst
  2. Plan a solution dari Planning dan Modeling
  3. Carry out a probleme dari Construction
  4. Examine the result for accuracy dari Testing dan QA

SDLC

?

  1. Prescriptive Models: Waterfall , V-Model , Incremental. (Lebih baik daripada agile karena dokumentasinya)
  2. Evolutionary Models: Spiral Model (sangat cocok untuk proyek besar dengan risiko tinggi) , Concurrent Models.
  3. Unified Process (UP): Model yang use-case driven dan architecture-centric, dasar dari UML.
  4. Specialized Models: Component-Based Development (merakit aplikasi dari komponen paket), Formal Methods (spesifikasi matematis untuk sistem kritis), dan Aspect-Oriented .

Agile

Agile SD Methodology :: iterative and incremental dev Benefit of Agile?

  1. Valuable
  2. Faster
  3. Flexible (Responsive setelah sprint selesai)
  4. Better Quality
  5. Fulfilling

One of agile method :: Scrum

Scrum

Framework Scrums :: Roles and Siklus

Karakteristik Scrum? ? 2. One of Agile Process 3. Self Orginized Teams 4. Sprints 5. Butuh Product Backlog 6. No spesific ngineering Practice 7. Uses generative rules to create an agile enviroment for delivering projects

Roles scrum? ?

  1. Product Owner (Asisten, Dosen, Dari luar, kadang bisa kita disini) :: Menentukan fitur, prioritas ROI, dan menerima/menolak hasil kerja .
  2. Scrum Master :: Memastikan tim produktif, menghilangkan hambatan, dan melindungi tim dari gangguan luar
  3. Team :: Self-organizing (mengatur diri sendiri), lintas fungsi (programer, QA, UI), biasanya 5-10 orang.

Cara Kerja Scrum? ?

  1. Product Backlog
  2. Sprint Backlog
  3. Sprints 2-4 weeks
  4. Daily Scrum meeting 1x24 jam di awal
  5. Output

Sprints? ?

  1. Scrum is series of Sprints
  2. Target Durasi 1 Bulan
  3. Product Designed, coded, and tested during sprint
  4. Di tengah sprint tidak ada perubahan atau tambahan

Aktifitas Rutin? ?

  1. SPRINT PLANNING MEETING :: Memilih goal, bikin sprint bakclog (khusus product backlog di sprint 1 atau sebelum) berdasarkan kapasitas team
  2. SPRINT
  3. DAILY SCRUM :: Pertemuan tiap hari, ada pertanyaannya
  4. SPRINT REVIEW MEETING :: Demo/ Review ke PO
  5. SPRINT RETROSPECTIVE :: evaluasi internal tim (scrum master dan scrum team)

Artifactnya ?

  1. Product backlog
  2. Sprint Backlog (turunan dari product backlog)
  3. Burndown Chart (isinya dari jawaban tiap hari alias daily scrum)
  4. Kanban ()