Mata Kuliah Testing & Implementasi Sistem Program Studi Sistem Informasi 2014/2015 STMIK Dumai -- Pertemuan 2 --

dokumen-dokumen yang mirip
REKAYASA PERANGKAT LUNAK I

REKAYASA PERANGKAT LUNAK I ALIF FINANDHITA, M.T. - TEKNIK INFORMATIKA UNIKOM 1

Teknik Informatika S1

Review of Process Model. SE 3773 Manajemen Proyek Teknologi Informasi *Imelda Atastina*

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University


RPL. (Rekayasa Perangkat Lunak) SOFTWARE PROSES TP - AKN BOJONEGORO

SOFTWARE PROCESS MODEL I Disiapkan oleh: Umi Proboyekti, S.Kom, MLIS

Garis-garis Besar Program Pembelajaran (GBPP)

SOFTWARE PROCESS MODEL

The Process. A Layered Technology. Software Engineering. By: U. Abd. Rohim, MT. U. Abd. Rohim Rekayasa Perangkat Lunak The Process RPL

MODUL 4 Unified Software Development Process (USDP)

Rekayasa Perangkat Lunak

PROSES DESAIN. 1. Metodologi Pengembangan Sistem

Teknik Informatika S1

Teknik Informatika S1

THE SOFTWARE PROCESS

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

PERTEMUAN 2 METODE PENGEMBANGAN SISTEM

REKAYASA PERANGKAT LUNAK I ALIF FINANDHITA, M.T. - TEKNIK INFORMATIKA UNIKOM 1

Pengembangan Sistem Informasi

PERTEMUAN 2 METODE PENGEMBANGAN SISTEM

Hanif Fakhrurroja, MT

SDLC Concepts. Muhammad Yusuf D3 Manajemen Informatika Universitas Trunojoyo

System Development Life Cycle (SDLC)

PENGENALAN. Perancangan Perangkat Lunak. (Software Engineering) Bertalya Program Pascasarjana Univesitas Gunadarma

Software Proses. Model Proses Perangkat Lunak. Pengembangan Perangkat Lunak. Framework activities 3/20/2018. System Development Life Cycle (SDLC)

Review Rekayasa Perangkat Lunak. Nisa ul Hafidhoh

Mata Kuliah Testing & Implementasi Sistem Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Pertemuan 5 --

Produk perangkat lunak tersebut:

Jenis Metode Pengembangan Perangkat Lunak

Pertemuan 2 SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

Systems Development Life Cycle (SDLC)

Hanif Fakhrurroja, MT

Aplikasi yang pendekatannya sistematis, disiplin, bisa terukur untuk pengembangan operasional dan pembuatan software. Tools. Methods.

A Layered Technology

Pendahuluan Rekayasa Perangkat Lunak

3. The Software Process

Tugas Softskill. Universitas Gundarma. : Sistem Informasi Manajemen. : Waldhi Supriono NPM : Kelas : 2 DB 12

Spesifikasi Use Case. Mata KuliahTesting & Implementasi Sistem Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Pertemuan 6 --

Proses Pengembangan 1

Metode-Metode Pengembangan Desain Aplikasi

INTRODUCTION TO SOFTWARE ENGINEERING

SOFTWARE PROCESS & METHOD

STMIK AMIKOM YOGYAKARTA

Bahan Ajar Rekayasa Perangkat Lunak Agile Software Development Disiapkan oleh Umi Proboyekti

Software Engineering - Defined

SIKLUS HIDUP PERANGKAT LUNAK

Pengembangan Sistem Informasi

Metodologi pengembangan sistem METODOLOGI PENGEMBANGAN SISTEM INFORMASI DIAN PALUPI RINI, M.KOM 1

Nilai Partisipasi Rata-rata (NPR) adalah rata-rata dari NPI dalam satu kelompok. Rumusan NIPK adalah sebagai berikut:

PENGEMBANGAN PERANGKAT LUNAK

LANGKAH-LANGKAH MEMBUAT SOFTWARE MENURUT RUP

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA SILABUS REKAYASA PERANGKAT LUNAK

STMIK AMIKOM YOGYAKARTA

Tujuan Perkuliahan. PENGANTAR RPL (Pert. 2 chapter 1 Pressman) Agenda. Definisi Software (Perangkat Lunak) Lunak) 23/09/2010

PENGANTAR RUP & UML. Pertemuan 2

Pemodelan Berorientasi Objek

METODE DAN TEKNIK PENGEMBANGAN SISTEM INFORMASI

Unified Process Model & Agile Development Process Model

BAB II KONSEP PEMBANGUNAN SISTEM DARI PERSPEKTIF SOFTWARE ENGINEERING

Meeting 3_ADS. System Development Life Cycle (SDLC)

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) Siklus Hidup Perangkat Lunak (SWDLC/Software Development Life Cycle)

REKAYASA PERANGKAT LUNAK

BAB I PENDAHULUAN. hal proses pengolahan data, baik itu data siswa, guru, administrasi sekolah maupun data

Pengembangan Sistem Informasi

Rekayasa Perangkat Lunak (Software Engineering)

SIKLUS REKAYASA PERANGKAT LUNAK (SDLC)

Software Development Life Cycle (SDLC)

3.1 PENGERTIAN PROTOTYPING MODEL

Pertemuan 3 Metodologi Pengembangan Sistem Informasi

Siklus Pengembangan Perangkat Lunak

Rekayasa Perangkat Lunak DEPARTEMEN PENDIDIKAN NASIONAL UNIVERSITAS PENDIDIKAN INDONESIA 2008

MAKALAH REKAYASA PERANGKAT LUNAK ( SIKLUS HIDUP PERANGKAT LUNAK )

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

BAB II LANDASAN TEORI

PEMODELAN ANALISIS PL

IMPLEMENTASI METODE FUNCTION POINT UNTUK PREDIKSI BIAYA DEVELOPMENT PERANGKAT LUNAK

SATUAN ACARA PERKULIAHAN MATA KULIAH REKAYASA PERANGKAT LUNAK KODE/SKS : TI11. C342 / 2 SKS

Analisis Pemilihan Penerapan Proyek Metodologi Pengembangan Rekayasa Perangkat Lunak

REKAYASA BERKOMPONEN

BAB II LANDASAN TEORI

User Interface Design

BAB II LANDASAN TEORI. Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling

PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK

Pertemuan 2 SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) POKOK BAHASAN

SATUAN ACARA PERKULIAHAN ~ 1 ~

Proyek Pengembangan Sistem Informasi

SOFTWARE ENGINEERING (REKAYASA PERANGKAT LUNAK)

5. Aktivitas generic dalam semua proses perangkat lunak antara lain adalah : a. Spesifikasi dan pengembangan b. Validasi dan evolusi c.

METODOLOGI PENGEMBANGAN SOFTWARE

Rational Unified Process (RUP)

SATUAN ACARA PERKULIAHAN (SAP)

REKAYASA PERANGKAT LUNAK

FASE PENGEMBANGAN. MPSI sesi 7 & 8

PENDAHULUAN PENGEMBANGAN SISTEM INFORMASI

Analisis dan Pemodelan Perangkat Lunak. Week 1 Setyo Ariane Ibnusantosa

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

REKAYASA PERANGKAT LUNAK 1

BAB I PENDAHULUAN.

Transkripsi:

Mata Kuliah Testing & Implementasi Sistem Program Studi Sistem Informasi 2014/2015 STMIK Dumai -- Pertemuan 2 -- This presentation is revised by @hazlindaaziz, STMIK, 2014

Acknowledgement Main materials: [Pressman, 2010] Pressman, Roger S. Software Engineering: A Practitioner s Approach. New York:McGraw-Hill Higher Education, 2010. Print Supplements: [Yud, 2012] Yudhoatmojo, Satrio Baskoro. Software & Software Engineering IKI30202 - Rekayasa Perangkat Lunak Term 1-2011/2012. Faculty of Computer Science University of Indonesia. 2012. Print [Sommerville, 2007] Sommerville, Ian, Software Engineering, 8 th Edition, Pearson Addison Wesley, England, 2007. [Dennis, 2010] Dennis, Alan, et al, System Analysis and Design, 4th Edition, John Wiley & Sons, New Jersey, 2010. 2

Mengapa Perlu PROSES MODEL? Banyak sistem gagal yang akhirnya ditinggalkan karena para analis mencoba membangun sebuah sistem yang hebat tanpa mengerti bagaimana sistem yang seharusnya sesuai dengan tujuan perusahaan Tujuan utama dari sistem informasi adalah untuk membuat sistem yang bernilai untuk perusahaan (dalam artian memberi keuntungan bagi perusahaan) 3

4

Prolog Membangun perangkat lunak komputer merupakan suatu proses pembelajaran yang mengandung unsur sosial (iterative social learning process) dan menghasilkan sebuah kumpulan pengetahuan (knowledge) yang terorganisir sebagai proses. Today, we focus on SOFTWARE PROCESS. 5

Apa itu PROSES? Proses merupakan kumpulan dari: aktivitas-aktivitas aksi-aksi, dan tugas-tugas yang dilakukan pada saat suatu produk akan dibuat. 6

Setelah mengerti arti PROSES Apakah yang dimaksud dengan SOFTWARE PROCESS (Proses Perangkat Lunak)??? 7

Software Process Software process adalah kerangka untuk aktivitas, aksi, dan tugas yang dibutuhkan untuk membangun perangkat lunak yang high-quality [Pressman, 2010]. Suatu struktur dari kumpulan aktivitas yang dibutuhkan untuk membangun sebuah sistem perangkat lunak [Sommerville, 2007]: Specification Design & Implementation Validation Evolution 8

Karakteristik Software Process Menurut [Sommerville, 2007]: Menentukan aktivitas-aktivitas secara mayor Memanfaatkan sumber (resources), untuk mengoptimalkan jadwal, dalam mencapai hasil perangkat lunak Membatasi dan mengatur aktivitas, sumber, dan produk membatasi aktivitas: waktu, biaya, peralatan (tools) mengatur aktivitas: manajemen konfigurasi, laporan 9

Software Process - Aktivitas Suatu aktivitas yang diusahakan untuk mendapatkan tujuan besar (contoh: berkomunikasi dengan stakeholders) dan menentukan: tipe aplikasi/perangkat lunak yang akan dibuat ukuran proyek tingkat kompleksitas usaha yang dikeluarkan, atau tipe pengambangan perangkat lunak apa yang akan digunakan 10

Software Process - Aksi Suatu aksi (contoh: membuat disain arsitektur) yang meliputi kumpulan tugas-tugas untuk menghasilkan sebuah produk kerja secara mayor (contoh: model disain arsitektur) 11

Software Process - Tugas Suatu tugas yang berfokus ke tugas berskala kecil, namun tujuannya dapat dipahami (contoh: merancang unit test) dan menghasilkan produk yang nyata. 12

Software Process Di dalam software engineering, suatu proses bukan hanya merupakan persepsi baku tentang bagaimana membangun perangkat lunak komputer. Ia adalah bentuk pendekatan yang dapat disesuaikan untuk menentukan aksi-aksi dan tugas-tugas yang tepat. Tujuan akhirnya adalah untuk menghasilkan perangkat lunak dengan tepat waktu dan dengan kualitas yang memuaskan pihak yang akan menggunakan perangkat lunak tersebut. 13

A Generic Process Model 14

Masih Ingat 5 Kerangka Aktifitas??? Disebut juga 5 Generic Framework Aktivities Apa-apa saja??? - Communication - Planning - Modeling - Construction - Deployment 15

Process Flow Mendeskripsikan bagaimana aktivitas, aksi-aksi, dan tugas-tugas yang muncul di tiap kerangka aktivitas terorganisir secara waktu dan urutannya (sequence) Ada 4 jenis Process Flow, menurut [Pressman, 2010], diilustrasikan pada slide berikutnya. 16

1 - Linear Process Flow 17

2 - Iterative Process Flow 18

3 - Evolutionary Process Flow 19

4 - Parallel Process Flow 20

Process Model secara Umum [Sommerville, 2007] Sebuah Software Process Model adalah representasi abstrak dari sebuah proses, yang menyajikan deskripsi proses dari beberapa perspektif. Proses itu harus: Visible: Aktivitas harus menyajikan indikasi progres dengan jelas (deadlines/milestones) Understandable: Aktivitas dan eksekusinya harus dapat dimengerti dengan baik Supportable: Adanya dukungan otomatis untuk tiap aktivitas Usable: Proses dapat diterima dan digunakan oleh customer 21

Proses Model Preskriptif What? Mendefinisikan aturan yang jelas tentang aktivitas, aksi-aksi, tugas, milestone, dan hasil kerja (work product) yang diperlukan untuk mengembangkan software berkualitas tinggi Who does it? Software Engineer dan managernya Client yang memesan software Why is it important? Menjamin stabilitas, kontrol dan organisasi terhadap kegiatan pengembangan software 22

Proses Model Preskriptif (2) What are the steps? Proses ini menuntun tim developer dalam melaksanakan framework activities yang diorganisasi menjadi process flow yang mungkin linier, incremental atau evolutionary What is work product? Program Dokumen Data 23

Contoh Proses Model Preskriptif 1. Waterfall Model 2. Incremental Process Models 3. Evolutionary Process Models Prototyping The Spiral Model The Concurrent Model 4. Specialized Process Models Component-Based Development The Formal Methods Model Aspect-Oriented Software Development 5. The Unified Process 24

The Waterfall Model Alias: Classic life cycle Menyarankan pendekatan yang sistematis dan sequential dalam pengembangan software Merupakan paradigma tertua dalam software engineering Efektif dalam situasi: Permasalahan sudah terdefinisi dengan baik Alur kerja (work flow) mulai dari komunikasi hingga deployment mempunyai kecendrungan linier 25

The Waterfall Model 26

Kekurangan Waterfall Model The problems [Sommerville, 2007]: Tidak fleksibel, sulit untuk dilakukan perubahan requirement oleh kustomer. Requirements harus sudah terdefinisi secara detil di awal proyek. Pada kenyataannya, sedikit sekali fungsi bisnis yang stabil di awal proses requirement. Kebanyakan digunakan di proyek perangkat lunak yang sudah ada sebelumnya, jadi hanya untuk pengembangan saja. 27

The Waterfall Model [Dennis, 2010] Dengan metode pengembangan model Waterfall, para analis dan pengguna terus melalui satu fase ke fase lainnya secara berurutan. 28

The Incremental Model Incremental: dibangun per-bagian/potongan/modul secara fungsional Kebutuhan (requirement) perangkat lunak di tiap modul terdefinisi dengan baik [Sommerville, 2007] 29

The Incremental Model 30

The Incremental Model Baik digunakan pada saat: kita ingin menyajikan sejumlah fungsionalitas perangkat lunak untuk user dengan cepat untuk kemudian dikembangkangkan hingga pada saat perangkat lunak tersebut diluncurkan (release). Merupakan kombinasi dari alur proses (process flow) yang linear dan paralel. Tiap alur linear menghasilkan tambahan fungsi dari perangkat lunak. Disebut juga sebagai increments of the software. 31

The Incremental Model Karakteristik lain Tidak membangun sistem langsung menjadi satu sistem besar yang utuh, namun memcahnya menjadi beberapa increment sistem, dimana tiap increment-nya menyajikan bagian kebutuhan fungsionalitas yang diminta. Kebutuhan fungsional yang dibangun terlebih dahulu adalah kebutuhan yang tingkat prioritasnya paling tinggi. Increment sistem yang pertama biasa disebut sebagai core product. Tiap pengembangan dari satu increment dimulai, semua kebutuhan fungsional yang sudah ada dibekukan. Jika ada kebutuhan fungsional baru, maka itu akan menjadi kebutuhan fungsional untuk increment selanjutnya. 32

Keuntungan Incremental Model The advantages [Sommerville, 2007] Apa yang diinginkan kustomer di tiap increment dapat tercapai sehingga fungsionalitas sistem dapat tersedia lebih cepat. Increment sistem yang sudah jadi dapat berperan sebagai prototipe untuk mengklarifikasi kebutuhan pada increment berikutnya. Rendahnya resiko kegagalan proyek secara keseluruhan. Fungsi sistem yang memiliki prioritas tinggi dapat dites lebih awal, dan dapat lebih sering dites. 33

Evolutionary Process Models Bersifat iteratif (adanya pengulangan aktivitas) Proses model evolutionary ini memungkinkan para pengembang untuk meningkatkan kompleksitas perangkat lunak ke versi yang lebih tinggi. Masih ingat 3 contoh proses model evolutionary??? Prototyping The Spiral Model Concurrent 34

Contoh Kasus (Prototyping) Customer seringkali hanya mendeskripsikan kebutuhan tentang software yang akan dibangun secara umum, tidak detail menjelaskan input, proses atau output yang diinginkan Di lain pihak, developer masih ragu akan efisiensi algoritma, adaptabilitas OS, atau format sistem interaksi yang akan digunakan Dalam hal ini, pendekatan prototyping merupakan pilihan yang tepat 35

Prototyping 36

Prototyping Membantu analis dan stakeholders lain untuk mengerti lebih baik sistem seperti apa yang akan dibangun pada saat kebutuhannya masih belum jelas. Kustomer akan dapat gambaran tentang sistem yang akan dibangun (get a feel for the actual system) dan para developer dapat segera memulai membangun sistemnya. 37

Prototyping Prosesnya: quick design, build prototype, evaluate, refine prototype, engineer product Bentuk prototipe yang dibangun tergantung dari analisis yang dilakukan, yang ditulis di forms of analysis Paper spec from functional analysis or requirements gathering through FAST (Facilitated Application Specification Techniques) Koding prototipe (tidak full functional!!) Persiapan user manual Story boards 38

Prototyping Problems... Prototyping can be problematic: Stakeholders hanya melihat apa yang dilakukan oleh prototipe sistem, tidak melihat kemungkinan maslaah yang terjadi pada saat sistem dibuat secara utuh fungsinya. Para developer membuat implementasi sistem secara kompromi untuk membuat dengan cepat prototipe sistem agar bekerja. 39

Prototyping Problems [Sommerville, 2007] Proses fungsi sistem secara keseluruhan tidak terlihat Sistem biasanya kurang terstruktur. Diperlukan skill yang baik (dalam hal koding untuk membuat prototipe dengan cepat). Kustomer sudah melihat prototipe, kemudian ingin sistem secara keseluruhan bisa cepat diselesaikan. Implementasi sering kali dibuat benar-benar hanya untuk prototipe, namun tidak dipertimbangkan untuk menjadi bagian dari sistem sesungghnya. 40

Prototyping Walaupun dengan masalah yang mungkin terjadi, namun model Prototipe tetap bisa menjadi model paradigma yang efektif. Kuncinya adalah to define the rules of the game at the beginning Semua stakeholders menyetujui bentuk sistem yang akan dibangun selanjutnya. 41

Prototyping Menurut [Sommerville, 2007], model Prototipe dapat diaplikasikan : Untuk sistem berukuran kecil-menengah Untuk bagian dari sistem besar (contoh: user interface) Untuk sistem yang tidak digunakan dalam jangka waktu lama 42

The Spiral Model The Spiral Model [Sommerville, 2007] Proses direpresentasikan seperti bentuk spiral Tiap putaran dalam spiral merepresentasikan sebuah fase dalam proses Semua resiko didapatkan dan diselesaikan dalam tiap proses. 43

The Spiral Model 44

The Spiral Model Model evolutionary ini melakukan pengulangan proses secara teratur dan sistematik dari proses waterfall model. Berpotensi untuk dapat dilakukan pengembangan yang lebih cepat, untuk kemudian di-upgrade ke versi sistem yang lebih baik. Pendekatan yang lebih realistis untuk sistem perangkat lunak berskala besar. 45

The Spiral Model Problems Sulit untuk meyakinkan kustomer (dalam hal kontrak) bahwa proses evaluasi sistem akan terus berjalan secara teratur sepanjang masa pembuatan perangkat lunak Kebutuhan sistem (dan resiko yang mungkin terjadi) harus benar-benar dilihat dari awal, dan ini membutuhkan keahlian/pengalaman proyek perangkat lunak 46

Concurrent Models 47

Evolutionary Process Model Secara Keseluruhan Dapat diadaptasi untuk diaplikasikan ke pembangunan perangkat lunak bahkan yang berskala besar sekalipun. Tim pengembang perangkat lunak dapat merepresentasikan tiap elemen dari proses model yang sudah didefinisikan sebelumnya. 48

Other Process Models Component based development model pengembangan dengan sistem reuse dari komponen yang sudah ada Formal methods menekankan pada konsep matematika untuk membuat spesifikasi requirement AOSD (Aspect Oriented Software Development) Pendekatan pada aspek pendefinsian, spesifikasi, disain, dan konstruksi Unified Process - a use-case driven, architecture-centric, iterative and incremental software process closely aligned with the Unified Modeling Language (UML) 49

Pertanyaan??? 50

Up Coming Next Unified Process Agile Development PR Individual 51

Terima Kasih 52