SOFTWARE ENGINEERING Astrina DF ( ) Bagus Ilyas R ( )

Slides:



Advertisements
Presentasi serupa
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Advertisements

Pertemuan 4.
REKAYASA PERANGKAT LUNAK
Proses-proses Perangkat Lunak
Rekayasa Perangkat Lunak dan Proses Software
DASAR-DASAR PENGUJIAN PERANGKAT LUNAK
Bab 6 PERANCANGAN PERANGKAT LUNAK
Sasaran Menjelaskan apa yang dimaksud model proses
Pengujian Sofware – strategi
REKAYASA PERANGKAT LUNAK (Software Engineering) Eka Ismantohadi
Pengembangan PL Ahmat Adil.
TUGAS PERSENTASI RATIONAL UNIFIED PROCESS (R.U.P)
PERENCANAAN PROSES PERANGKAT LUNAK
PERANCANGAN PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK REQUIREMENTS ANALYSIS FUNDAMENTALS
BAB I DASAR – DASAR TEKNIK PERANGKAT LUNAK
Konsep & Prinsip Analisis
Testing dan Implementasi Sistem
Prototyping Aplikasi Teknologi Informasi
Perancangan Perangkat Lunak
ANALISIS SISTEM 1.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.1.
PROSES Perangkat Lunak
Nama : Shadrach Jabonir / Matthew Marcelinus / Leonardus Handoko / Hendry Sunardi / Carles/ OVERVIEW OF SOFTWARE PROCESS MODEL.
Metodologi Rekayasa Sistem Informasi
TEKNIK TESTING DAN STRATEGI TESTING
Metode rpl BY: Y. PALOPAK S.Si., MT..
KONSEP DAN PRINSIP ANALISIS
PROCESS MODELS.
Pengantar UML.
METODOLOGI MANAJEMEN PROYEK
PriNciples That Guide Practice
Impact Analysis.
MK Manajemen Proyek S1-Kesmas
Rekayasa Perangkat Lunak Model Proses PL
REKAYASA PERANGKAT LUNAK
Dokumentasi & Pengelolaan Kebutuhan
Apakah “Praktek”? Praktek adalah sejumlah konsep, prinsip, metode dan tools that yang harus dimiliki ketika software direncanakan dan dikembangkan. Dia.
Pengenalan Rekayasa Perangkat Lunak
PERANCANGAN PERANGKAT LUNAK ( PL )
REKAYASA PERANGKAT LUNAK
RPL.
12. KONSEP DAN PRINSIP ANALISIS
REKAYASA PERANGKAT LUNAK
KEBUTUHAN & SPESIFIKASI SOFTWARE
Jaminan Mutu dalam Kebutuhan Rekayasa
R.S. Pressman & Associates, Inc
REKAYASA PERANGKAT LUNAK
Materi Habis Uts IMK Prototyping
RPL.
Prescriptive Process Models
Pelaksanaan Solusi Bisnis & Pengelolaan Perubahan
METODE PENGEMBANGAN PERANGKAT LUNAK
PERTEMUAN 2 Proses Pengembangan Perangkat Lunak
Materi Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak (Software Engineering)
KEBUTUHAN & SPESIFIKASI SOFTWARE
Rekayasa Kebutuhan.
Pertemuan 8 Rekayasa Kebutuhan
ANALISA KEBUTUHAN PERANGKAT LUNAK
KELOMPOK 6 Modeling Adnin Devit C F
PRAKTEK RPL.
Paradigma Rekayasa Perangkat Lunak
Proses Rekayasa Kebutuhan
Rekayasa Perangkat Lunak (Software Engineering)
KEBUTUHAN & SPESIFIKASI SOFTWARE
12. KONSEP DAN PRINSIP ANALISIS
KONSEP DAN PRINSIP ANALISIS
Fathiah, S.T.,M.Eng Universitas Ubudiyah Indonesia
Transcript presentasi:

SOFTWARE ENGINEERING Astrina DF (201583102) Bagus Ilyas R (201583110) Meltasari Br G (201583108) Romi Syahrizal (201583112)

Praktek Rekayasa Perangkat Lunak Praktik komunikasi Praktek perencanaan Praktik analisis pemodelan Praktik desain pemodelan Praktek konstruksi Praktik penerapan

Praktek Rekayasa Perangkat Lunak Terdiri dari kumpulan konsep, prinsip, metode, dan alat yang disebut oleh seorang software engineer dalam kesehariannya Melengkapi manajer untuk mengelola proyek perangkat lunak dan software engineer untuk membangun program komputer Menyediakan teknis dan manajemen yang diperlukan bagaimana cara menyelesaikan pekerjaan Mengubah pendekatan menjadi sesuatu yang lebih terorganisir, lebih efektif, dan lebih baik untuk meraih kesuksesan

Esensi Pemecahan Masalah Memahami masalah (komunikasi dan analisa) Siapa yang memiliki andil dalam pemecahan masalah? Apa yang tidak diketahui (data, fungsi, perilaku)? Bisakah masalahnya dikompartemenisasikan? Bisakah masalah diwakili secara grafis? Rencanakan solusi (perencanaan, pemodelan dan perancangan perangkat lunak) Pernahkah Anda melihat masalah serupa seperti ini sebelumnya? Apakah masalah yang sama telah dipecahkan dan apakah solusinya dapat digunakan kembali? Dapatkah subproblems didefinisikan dan solusi tersedia untuk subproblems?

Esensi Pemecahan Masalah 3. Melaksanakan rencana (konstruksi, pembuatan kode) Apakah solusinya sesuai dengan rencana? Apakah kode sumber dapat ditrace kembali ke design? Apakah setiap komponen solusi benar? Apakah desain dan kode telah diulas? 4. Periksa hasil untuk akurasi (testing dan quality assurance) Mungkinkah menguji setiap komponen solusinya? Apakah solusinya menghasilkan hasil yang sesuai dengan data, fungsi, dan perilaku yang dibutuhkan?

Tujuh Prinsip Inti Rekayasa Perangkat Lunak 1. Ingat alasan mengapa perangkat lunak itu ada Perangkat lunak harus memberikan nilai bagi penggunanya dan memenuhi persyaratan 2. Keep it simple, stupid(KISS) Semua desain dan implementasinya semudah mungkin 3. Pertahankan visi proyek Visi yang jelas sangat penting bagi keberhasilan proyek 4. Orang lain akan mengkonsumsi apa yang Anda hasilkan Selalu tentukan, desain, dan implementasikan mengetahui bahwa orang lain nantinya harus mengerti dan memodifikasi apa yang Anda lakukan

Tujuh Prinsip Inti Rekayasa Perangkat Lunak 5. Terbuka untuk masa depan Jangan pernah mendesain diri Anda ke sudut; membangun perangkat lunak yang bisa dengan mudah diubah dan disesuaikan 6. Rencanakan ke depan untuk penggunaan kembali perangkat lunak Penggunaan kembali perangkat lunak mengurangi biaya jangka panjang dan meningkatkan nilai program dan komponen yang dapat digunakan kembali 7. Pikirkan, lalu bertindaklah Menempatkan pikiran yang jernih dan lengkap sebelum tindakan hampir selalu menghasilkan hasil yang lebih baik

Communication Practices (Requirements Elicitation) Project initiation Requirements gathering Planning Estimating Scheduling Tracking Modeling Analysis Design Construction Code Test Deployment Delivery Support Feedback 8

Prinsip Komunikasi Dengarkan pembicara dan berkonsentrasilah pada apa yang sedang dikatakan Persiapkan sebelum Anda bertemu dengan meneliti dan memahami masalahnya Seseorang harus memfasilitasi pertemuan dan memiliki agenda Komunikasi tatap muka adalah yang terbaik, namun harus tetap memiliki dokumen atau presentasi untuk memfokuskan diskusi Buat catatan dan keputusan dokumen Upayakan untuk kolaborasi dan konsensus Tetap fokus pada sebuah topik; modularize diskusi anda

Prinsip Komunikasi 8. Jika ada sesuatu yang tidak jelas, gambarlah 9. Pindah ke topik berikutnya a) setelah Anda menyetujui sesuatu, b) jika Anda tidak dapat menyetujui sesuatu, atau c) jika fitur atau fungsi tidak jelas dan tidak dapat diklarifikasi pada saat ini 10. Negosiasi bukanlah sebuah kontes atau permainan; Ini bekerja paling baik saat kedua belah pihak menang

Planning Practices (Defining a Road Map) Communication Project initiation Requirements gathering Planning Estimating Scheduling Tracking Modeling Analysis Design Construction Code Test Deployment Delivery Support Feedback

Prinsip Perencanaan Memahami lingkup proyek Libatkan pelanggan dalam kegiatan perencanaan Kenali perencanaan yang berulang; hal akan berubah Perkirakan hanya didasarkan pada apa yang Anda ketahui Pertimbangkan risiko sebagai Anda menentukan rencana Jadilah realistis tentang berapa banyak yang dapat dilakukan setiap hari oleh setiap orang dan seberapa baik Sesuaikan rincian Anda menentukan rencana Tentukan bagaimana Anda berniat untuk memastikan kualitas Jelaskan bagaimana Anda berniat untuk mengakomodasi perubahan Sering mengecek rencana dan membuat penyesuaian jika diperlukan

Prinsip W5HH Barry Boehm Mengapa sistem dikembangkan? Apa yang akan dilakukan? Kapan hal itu akan dicapai? Siapa yang bertanggung jawab untuk setiap fungsi? Dimana mereka berada secara organisasi? Bagaimana pekerjaan dilakukan secara teknis dan manajerial? Berapa banyak dari setiap sumber daya yang dibutuhkan? Jawaban atas pertanyaan-pertanyaan ini mengarah pada definisi kunci karakteristik proyek dan rencana proyek yang dihasilkan

Modeling Practices (Analysis and Design) Communication Project initiation Requirements gathering Planning Estimating Scheduling Tracking Modeling Analysis Design Construction Code Test Deployment Delivery Support Feedback 14

Pemodelan Analisis Prinsip Informasi domain dari masalah (data yang mengalir masuk dan keluar dari sistem) harus diwakili dan dipahami Fungsi yang dikerjakan perangkat lunak harus didefinisikan Perilaku perangkat lunak (sebagai konsekuensi dari peristiwa eksternal) harus diwakili Model yang menggambarkan informasi, fungsi, dan perilaku harus dipartisi dengan cara mengungkapkan detail yang berlapis ( atau hirarkis) Tugas analisis harus bergerak dari informasi penting ke arah detail implementasi

Prinsip desain Pemodelan Desain harus dapat dilacak dari model analisis Selalu mempertimbangkan arsitektur perangkat lunak dari sistem yang akan dibangun Desain data sama pentingnya dengan desain fungsi pengolahan Antarmuka (baik internal dan eksternal) harus dirancang dengan hati-hati Pengguna harus disetel untuk kebutuhan dari pengguna akhir dan harus menekankan kemudahanpenggunaan desain Komponen-level harus fungsional independen (kohesi tinggi) Komponen harus longgar digabungkan satu sama lain dan dengan lingkungan eksternal Representasi Desain (model) harus mudah dimengerti

Prinsip desain Pemodelan 9. Desain harus dikembangkan secara iteratif; dengan masing-masing iterasi, desainer harus berusaha untuk kesederhanaan lebih besar faktor kualitas eksternal: properti-properti yang dapat mudah diamati faktor mutu internal: properti-properti yang mengarah ke desain berkualitas tinggi dari perspektif teknis

Construction Practices Communication Project initiation Requirements gathering Planning Estimating Scheduling Tracking Modeling Analysis Design Construction Code Test Deployment Delivery Support Feedback

Coding Prinsip (Persiapan sebelum coding) Memahami masalah yang coba anda selesaikan Memahami prinsip-prinsip desain dasar dan konsep-konsep Pilih bahasa pemrograman yang memenuhi kebutuhan perangkat lunak yang akan dibangun dan lingkungan di mana ia akan beroperasi Pilih lingkungan pemrograman yang menyediakan alat-alat yang akan membuat pekerjaan Anda lebih mudah Buat satu set unit test yang akan diterapkan setelah coding anda selesai

Prinsip coding (Ketika Anda mulai coding) Batasi algoritma anda dengan mengikuti praktek pemrograman terstruktur Pilih struktur data yang akan memenuhi kebutuhan desain Memahami arsitektur perangkat lunak dan membuat antarmuka yang konsisten dengan itu Jauhkan logika kondisional sesederhana mungkin Buat loop bersarang dengan cara yang membuat mereka mudah diuji Pilih nama variabel yang bermakna, dan ikuti standar kode lokal lainnya

Prinsip coding (Ketika Anda mulai coding) 7. Tulis kode yang mendokumentasikan diri 8. Membuat tata letak visual (misalnya, lekukan dan kosong baris) yang membantu kode pemahaman

Prinsip Coding (Setelah menyelesaikan putaran pertama dari kode) 1. Melakukan kode walkthrough 2. Lakukan tes unit (kotak hitam dan putih-kotak) dan memperbaiki kesalahan yang telah Anda menemukan 3. Refactor kode

Prinsip Pengujian Semua tes harus dapat dilacak pada persyaratan perangkat lunak Pengujian harus direncanakan jauh sebelum pengujian dilakukan Prinsip Pareto berlaku untuk pengujian perangkat lunak - 80% kesalahan yang tidak ditemukan berada pada 20% kode 4. Pengujian harus dimulai “kecil” dan kemajuan menuju pengujian “besar” - Pengujian unit -> pengujian integrasi -> pengujian validasi -> pengujian sistem 5. Pengujian keseluruhan tidak mungkin bisa dilakukan

Tes Objektif Pengujian adalah proses mengeksekusi sebuah program dengan tujuan untuk menemukan kesalahan Kasus uji baik adalah kasus yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum ditemukan Tes yang berhasil adalah tes yang mengungkapkan kesalahan yang belum ditemukan

Requirements gathering Deployment Practices Communication Project initiation Requirements gathering Planning Estimating Scheduling Tracking Modeling Analysis Design Construction Code Test Deployment Delivery Support Feedback 25

Deployment Principles Harapan pelanggan terhadap perangkat lunak yaitu pengelolaan - jangan banyak memberi janji dan tidak menyesatkan pelanggan 2. Paket pengiriman lengkap harus dirakit dan diuji terlebih dahulu 3. Kelompok Pendukung harus dibentuk sebelum perangkat lunak dikirimkan 4. Panduan yang sesuai harus diberikan kepada pengguna akhir 5. Masalah dalam perangkat lunak harus diselesaikan terlebih dahulu, baru dikirimkan