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? ?
- Communication, System Analyst vs User, System Analyst vs Programmer
- Planning, Cost, Time, Human Resouce,etc
- Modeling, Structural, OO Approach
- Construction, Coding and Testing
- Deployment, Software Delivery to Customer
Aktifitas harian
- SP tracking control
- Risk management
- SW QA
- Techincal Reviews
- meadurement
- SW COnfiguration managemen
- Reusability maagemnt
Inti dari penerapan SE Practice? ?
- Understand The Problem dari Communication and Analyst
- Plan a solution dari Planning dan Modeling
- Carry out a probleme dari Construction
- Examine the result for accuracy dari Testing dan QA
SDLC
?
- Prescriptive Models: Waterfall , V-Model , Incremental. (Lebih baik daripada agile karena dokumentasinya)
- Evolutionary Models: Spiral Model (sangat cocok untuk proyek besar dengan risiko tinggi) , Concurrent Models.
- Unified Process (UP): Model yang use-case driven dan architecture-centric, dasar dari UML.
- 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?
- Valuable
- Faster
- Flexible (Responsive setelah sprint selesai)
- Better Quality
- 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? ?
- Product Owner (Asisten, Dosen, Dari luar, kadang bisa kita disini) :: Menentukan fitur, prioritas ROI, dan menerima/menolak hasil kerja .
- Scrum Master :: Memastikan tim produktif, menghilangkan hambatan, dan melindungi tim dari gangguan luar
- Team :: Self-organizing (mengatur diri sendiri), lintas fungsi (programer, QA, UI), biasanya 5-10 orang.
Cara Kerja Scrum? ?
- Product Backlog
- Sprint Backlog
- Sprints 2-4 weeks
- Daily Scrum meeting 1x24 jam di awal
- Output
Sprints? ?
- Scrum is series of Sprints
- Target Durasi 1 Bulan
- Product Designed, coded, and tested during sprint
- Di tengah sprint tidak ada perubahan atau tambahan
Aktifitas Rutin? ?
- SPRINT PLANNING MEETING :: Memilih goal, bikin sprint bakclog (khusus product backlog di sprint 1 atau sebelum) berdasarkan kapasitas team
- SPRINT
- DAILY SCRUM :: Pertemuan tiap hari, ada pertanyaannya
- SPRINT REVIEW MEETING :: Demo/ Review ke PO
- SPRINT RETROSPECTIVE :: evaluasi internal tim (scrum master dan scrum team)
Artifactnya ?
- Product backlog
- Sprint Backlog (turunan dari product backlog)
- Burndown Chart (isinya dari jawaban tiap hari alias daily scrum)
- Kanban ()