(Source: Pressman, R. Software Engineering: A Practitioner s Approach. McGraw-Hill, 2010)

dokumen-dokumen yang mirip
Catatan Kuliah Rekayasa Perangkat Lunak (Software Engineering) Bagian 2

Praktik Rekayasa Perangkat Lunak

Testing dan Implementasi Sistem

BAB I PENDAHULUAN I-1

BAB I PENDAHULUAN.

2. BAB II LANDASAN TEORI. lanjut sehingga terbentuk suatu aplikasi yang sesuai dengan tujuan awal.

BAB II LANDASAN TEORI

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB II LANDASAN TEORI. dibuat untuk menolong manusia dalam melaksanakan tugas tertentu (Noviansyah, dirancang untuk menjalankan tugas tertentu.

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

BAB II LANDASAN TEORI. pengertian. Secara garis besar ada dua kelompok pendekatan, yaitu:

PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK

BAB I PENDAHULUAN. 1.1 Latar Belakang.

BAB II LANDASAN TEORI. yang digunakan dalam penyelesaian Tugas Akhir ini, yaitu System Development

BAB II LANDASAN TEORI. atau minimum suatu fungsi tujuan. Optimasi produksi diperlukan perusahaan dalam

BAB III METODOLOGI PENELITIAN. implementasi algoritma Blowfish pada audio steganografi berbasis MP3.

LANDASAN TEORI. perusahaan yang usaha utamanya membeli obat untuk dijual kembali dengan

BAB I PENDAHULUAN.

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

BAB II LANDASAN TEORI

REKAYASA PERANGKAT LUNAK LANJUT DESIGN ENGINEERING. Defri Kurniawan M.Kom

BAB III LANDASAN TEORI

BAB 3 ANALISIS DAN PERANCANGAN SISTEM. Ada beberapa masalah dalam pengenalan tulisan tangan matematika yang dapat

BAB II LANDASAN TEORI. landasan teori yang digunakan akan dijelaskan di bawah ini.

PENGEMBANGAN PERANGKAT LUNAK

BAB II LANDASAN TEORI. harapan akan memperoleh laba dari adanya transaksi-transaksi tersebut dan. atas barang atau jasa dari pihak penjual ke pembeli.

BAB II LANDASAN TEORI. teori yang digunakan dapat dilihat di bawah ini.

SISTEM PAKAR MENDIAGNOSA PENYAKIT UMUM YANG SERING DIDERITA BALITA BERBASIS WEB DI DINAS KESEHATAN KOTA BANDUNG

III. METODE KONVENS IONAL 11. REKAYASA SISTEM BERBASIS KOMPUTER

Review Rekayasa Perangkat Lunak. Nisa ul Hafidhoh

BAB II LANDASAN TEORI. sehingga komputer dapat memproses input menjadi output.

BAB I PENDAHULUAN 1.1. Latar Belakang

REKAYASA PERANGKAT LUNAK I

BAB I PENDAHULUAN. Dinas Pendidikan, Pemuda dan Olahraga Kota Tanjungpinang merupakan

IF2261 Software Analysis Part I

BAB III OBJEK DAN METODE PENELITIAN. penelitian. Objek penelitian dalam penelitian ini adalah Sistem Informasi

2. BAB II LANDASAN TEORI. mengetahui terlebih dahulu dasar-dasar teori yang digunakan. Dasar-dasar teori

BAB II LANDASAN TEORI. yang penting dalam perencanaan dan pengendalian kegiatan.

BAB 1 PENDAHULUAN. Faktanya, jalan-jalan besar kota Jakarta khususnya di wilayah Jakarta Barat

BAB II LANDASAN TEORI. terdapat dalam transportasi dan distribusi serta dalam industri. Sasaran utama proses penjadwalan:

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

BAB III OBJEK DAN METODE PENELITIAN. Dalam analisis sistem ini akan diuraikan sejarah singkat dari Apotek 55 yang

BAB II LANDASAN TEORI. terstruktur untuk membantu sebuah proses (Chaffey, 1996).

BAB II LANDASAN TEORI. dalam pembuatan laporan serta pengambilan keputusan pimpinan.

Tugas Rekayasa Perangkat Lunak

BAB 3 METODOLOGI PENELITIAN

Prinsip dan Konsep Desain Perangkat Lunak

Requirements Engineering. Materi 5

Rekayasa Perangkat Lunak

PENGANTAR RUP & UML. Pertemuan 2

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

1 BAB II LANDASAN TEORI

PROSES DESAIN FAKULTAS ILMU KOMPUTER - UNIVERSITAS BRAWIJAYA 3/14/2017

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

BAB II LANDASAN TEORI. Menurut Leman (1998:2), sistem terdiri dari komponen-komponen yang

BAB III OBJEK DAN METODE PENELITIAN. domain & Web Hosting. Untuk lebih jelas mengenai gambaran umum perusahaan,

SOFTWARE TESTING. Ratna Wardani

BAB II LANDASAN TEORI

Rekayasa Perangkat Lunak (Software Engineering)

A Layered Technology

Design Engineering. Tim RPL. Program Studi Teknik Informatika

BAB III METODOLOGI PENELITIAN

BAB 1 PENDAHULUAN. Excel dalam mencatat aliran data transaksi perusahaan. Penggunaan program

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

Bab 5 Pandangan Umum Praktek

BAB I PENDAHULUAN. 1.1 Latar Belakang

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMELIHARAAN PERANGKAT LUNAK. Kompetensi Lulusan 1. Pengertian Pemeliharaan OHT

REKAYASA PERANGKAT LUNAK MATERI TM 12

BAB III. Metode Penelitian

BAB III METODE PENELITIAN. a. Menentukan kebutuhan data yang dibutuhkan. b. Mengumpulkan semua data yang dibutuhkan.

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

BAB I PENDAHULUAN 1.1. Latar Belakang

PROSES DESAIN. 1. Metodologi Pengembangan Sistem

SOFTWARE PROCESS MODEL

1. PENDAHULUAN 1. PERANGKAT LUNAK DAN PERKEMBANGANNYA

BAB II LANDASAN TEORI

BAB I PENDAHULUAN. dalam suatu perusahaan, karena persediaan akan dijual secara terus menerus untuk

Pemrograman Web Berbasis Framework. Pertemuan 13 : Pengembangan Project (Bag. 1) Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

BAB II LANDASAN TEORI. asing yang ditujukan kepada mereka yang bukan native speaker (Rudman 2011).

BAB III METODOLOGI PENELITIAN

Nama : Rendi Setiawan Nim :

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

BAB I PENDAHULUAN. untuk bergerak secara dinamis untuk dapat memenangkan persaingan dan

Dasar-Dasar Pengujian Perangkat Lunak. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma

BAB II LANDASAN TEORI. pembelian dilakukan dengan mengubah bentuk barang. 2003). Menurut Soemarso S.R (1994) kegiatan pembelian dalam perusahaan

BAB I PENDAHULUAN I-1

Tujuan. Menghasilkan suatu model atau representasi dari entitas yang kemudian akan dibangun. Tim RPL 1 2

Minggu 6 Prinsip & Konsep Desain

BAB I PENDAHULUAN. khasanah budaya bangsa, serta memberikan berbagai layanan jasa lainnya.

BAB II LANDASAN TEORI. Bangun Sistem Pemesanan Makanan Berbasis J2ME Pujasera Online yang

pada masalah pengumpulan kebutuhan pengguna pada tingkatan sistem (system requirements) dengan mendefinisikan konsep sistem beserta interface yang

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Universitas Indonesia

Dibuat Oleh : 1. Andrey ( )

BAB II LANDASAN TEORI

Systems Development Life Cycle (SDLC)

Metrik Proses dan Proyek Perangkat Lunak KARMILASARI

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

BAB I PENDAHULUAN. 1.1 Latar Belakang

Jenis Metode Pengembangan Perangkat Lunak

Transkripsi:

- Software engineering practice - Communication practices - Planning practices - Analysis modeling practices - Design modeling practices - Construction practices - Deployment practices -Computer-Based System -System Engineering Hierarchy (Source: Pressman, R. Software Engineering: A Practitioner s Approach. McGraw-Hill, 2010)

Software Engineering Practice Terdiri dari kumpulan konsep, prinsip, metode, dan alatalat yang engineer software memantau setiap hari Melengkapi manajer untuk mengelola proyek perangkat lunak dan software engineer untuk membangun program komputer Memberikan diperlukan teknis dan manajemen bagaimana ini dalam mendapatkan pekerjaan yang dilakukan Mentransformasi pendekatan terfokus menjadi sesuatu yang lebih terorganisir, lebih efektif, dan lebih mungkin untuk mencapai keberhasilan 2

The Essence of Problem Solving 1) Memahami masalah (komunikasi dan analisis) Yang memiliki kepentingan dalam solusi untuk masalah ini? Apa yang tidak diketahui (data, fungsi, perilaku)? Bisakah masalah terkotak? Bisakah masalah diwakili grafis? 2) Rencanakan solusi (perencanaan, pemodelan dan software desain) Pernahkah Anda melihat masalah yang sama seperti ini sebelumnya? Telah masalah yang sama telah dipecahkan dan dapat digunakan kembali solusi? Dapat submasalah didefinisikan dan solusi yang tersedia untuk subproblem? 3

The Essence of Problem Solving (continued) 3) Melaksanakan rencana (pembangunan; kode generasi) Apakah solusinya sesuai dengan rencana? Adalah kode sumber dapat dilacak kembali ke desain? Adalah setiap komponen dari solusi yang benar? Telah desain dan kode diperiksa? 4) Memeriksa hasil untuk akurasi (pengujian dan jaminan kualitas) Apakah mungkin untuk menguji setiap komponen dari solusi? Apakah solusi menghasilkan hasil yang sesuai dengan data, fungsi, dan perilaku yang diperlukan? 4

Seven Core Principles for Software Engineering 1) Ingat alasan bahwa perangkat lunak yang ada Perangkat lunak ini harus memberikan nilai kepada pengguna dan memenuhi persyaratan 2) Keep it simple, stupid (KISS) Semua desain dan implementasi harus sesederhana mungkin 3) Mempertahankan visi proyek Sebuah visi yang jelas sangat penting untuk keberhasilan proyek 4) Orang lain akan mengkonsumsi apa yang Anda hasilkan Selalu menentukan, merancang, dan mengimplementasikan mengetahui bahwa orang lain nantinya akan harus memahami dan memodifikasi apa yang Anda lakukan 5) Jadilah terbuka untuk masa depan Tidak pernah merancang untuk; membangun perangkat lunak yang dapat dengan mudah diubah dan disesuaikan 6) Rencana ke depan untuk digunakan kembali perangkat lunak Penggunaan kembali perangkat lunak mengurangi biaya jangka panjang dan meningkatkan nilai program dan komponen dapat digunakan kembali 7) Pikirkan, kemudian bertindak Menempatkan jelas, pikiran yang lengkap sebelum tindakan akan hampir selalu menghasilkan hasil yang lebih baik 5

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

Communication Principles 1) Mendengarkan dikatakan pembicara dan berkonsentrasi pada apa yang 2) Siapkan sebelum Anda bertemu dengan meneliti dan memahami masalah 3) Seseorang harus fasilitas pertemuan dan memiliki agenda 4) Tatap muka komunikasi adalah yang terbaik, tetapi juga memiliki dokumen atau presentasi untuk fokus diskusi 5) Mencatat dan keputusan dokumen 6) Berusaha untuk kolaborasi dan konsensus 7) Tetap fokus pada topik; modularize diskusi 8) Jika sesuatu yang tidak jelas, menggambar 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 dijelaskan pada saat ini 10) Negosiasi bukanlah kontes atau permainan; ini bekerja lebih baik ketika kedua belah pihak menang 7

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 8

Planning Principles 1) Memahami ruang lingkup proyek 2) Libatkan pelanggan dalam kegiatan perencanaan 3) Mengakui bahwa perencanaan adalah iteratif; hal akan berubah 4) Memperkirakan hanya berdasarkan apa yang Anda ketahui 5) Pertimbangkan risiko yang Anda menentukan rencana 6) Jadilah realistis tentang berapa banyak yang dapat dilakukan setiap hari oleh setiap orang dan seberapa baik 7) Sesuaikan rincian Anda menentukan rencana 8) Tentukan bagaimana Anda berniat untuk memastikan kualitas 9) Jelaskan bagaimana Anda berniat untuk mengakomodasi perubahan 10) Melacak rencana sering dan membuat penyesuaian yang diperlukan 9

Barry Boehm s W 5 HH Principle Why - Mengapa sistem yang dikembangkan? What - Apa yang akan dilakukan software tersebut nantinya? When - Kapan akan dicapai? Who - Siapa yang bertanggung jawab untuk setiap pekerjaan? Where - Dimanakah peran pihak-pihak diluar tim? How - Bagaimana pekerjaan dilakukan secara teknis dan manajerial? How Much - Berapa banyak dari setiap sumber daya yang dibutuhkan? Jawaban atas pertanyaan-pertanyaan ini mengarah pada definisi kunci karakteristik proyek dan rencana proyek yang dihasilkan 10

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

Analysis Modeling Principles 1) Informasi domain dari masalah (data yang mengalir masuk dan keluar dari sistem) harus diwakili dan dipahami 2) Fungsi yang harus didefinisikan dikerjakan oleh software 3) Perilaku perangkat lunak (sebagai konsekuensi dari peristiwa eksternal) harus direpresentasikan 4) Model yang menggambarkan informasi, fungsi, dan perilaku harus dipartisi dengan cara yang mengungkapkan detail dalam berlapis (atau hirarkis) mode 5) Tugas analisis harus bergerak dari informasi penting menuju implementasi rinci 12

Design Modeling Principles 1) Desain harus dapat dilacak dari model analisis 2) Selalu mempertimbangkan arsitektur perangkat lunak dari sistem yang akan dibangun 3) Desain data adalah sama pentingnya dengan desain fungsi pengolahan 4) Antarmuka (baik internal dan eksternal) harus dirancang dengan hatihati 5) Desain antarmuka pengguna harus disetel untuk kebutuhan pengguna akhir dan harus menekankan kemudahan penggunaan 6) Desain level komponen harus fungsional independen (kohesi tinggi) 7) Komponen harus longgar digabungkan satu sama lain dan dengan lingkungan eksternal 8) Representasi desain (model) harus mudah dimengerti 9) Desain harus dikembangkan secara iteratif; dengan masing-masing iterasi, desainer harus berusaha untuk kesederhanaan yang lebih besar Faktor kualitas eksternal: properti-properti yang dapat mudah diamati? Faktor kualitas internal: properti-properti yang mengarah ke desain berkualitas tinggi dari perspektif teknis 13

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

Coding Principles (Preparation before coding) 1) Memahami masalah Anda mencoba untuk memecahkan 2) Memahami prinsip-prinsip desain dasar dan konsep 3) Memilih bahasa pemrograman yang memenuhi kebutuhan perangkat lunak yang akan dibangun dan lingkungan di mana ia akan beroperasi 4) Pilih lingkungan pemrograman yang menyediakan alat-alat yang akan membuat pekerjaan Anda lebih mudah 5) Membuat satu set unit test yang akan diterapkan setelah komponen kode Anda selesai 15

Coding Principles (As you begin coding) 1) Batasi algoritma anda dengan mengikuti praktek pemrograman terstruktur 2) Pilih struktur data yang akan memenuhi kebutuhan desain 3) Memahami arsitektur perangkat lunak dan membuat antarmuka yang konsisten dengan itu 4) Menjaga logika kondisional sesederhana mungkin 5) Buat loop bersarang dengan cara yang membuat mereka mudah diuji 6) Pilih nama variabel yang bermakna, dan ikuti standar lokal lainnya 7) Menulis kode yang mendokumentasikan diri 8) Membuat layout visual (misalnya, lekukan dan garis kosong) yang mempengaruhi kode pemahaman 16

Coding Principles (After completing the first round of code) 1) Melakukan panduan kode 2) Lakukan tes unit (black-box and white-box) dan memperbaiki kesalahan Anda telah menemukan 3) Refactor the code (Mengubah struktur program) 17

Testing Principles 1) Semua tes harus bisa dilacak dengan persyaratan lunak 2) Pengujian harus direncanakan lama sebelum pengujian dimulai 3) Prinsip Pareto berlaku untuk pengujian perangkat lunak 80% dari kesalahan terungkap dalam 20% dari kode 4) Pengujian harus mulai "dalam kecil" dan kemajuan ke arah pengujian "di besar" Unit testing -> pengujian integrasi -> pengujian validasi -> pengujian sistem 5) Pengujian mendalam tidak mungkin 18

Test Objectives 1) Pengujian adalah proses eksekusi program dengan maksud menemukan kesalahan 2) Sebuah kasus uji yang baik adalah yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum belum ditemukan 3) Sebuah tes yang sukses adalah salah satu yang mengungkap kesalahan yang belum belum ditemukan 19

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

Deployment Principles 1) Harapan pelanggan untuk perangkat lunak harus dikelola Hati-hati untuk tidak menjanjikan terlalu banyak atau untuk menyesatkan pengguna 2) Sebuah pengiriman paket (System Aplikasi) lengkap harus dirakit dan diuji 3) Suatu unit dukungan harus ditetapkan sebelum software tersebut diserahkan 4) Bahan ajar yang sesuai harus diberikan kepada pengguna akhir 5) Software Salah harus diperbaiki dulu, kemudian diserahkan 21

Computer-based System Defined: Sebuah set atau susunan elemen yang terorganisir untuk mencapai tujuan yang telah ditetapkan dengan memproses informasi Tujuannya mungkin untuk mendukung beberapa fungsi bisnis atau mengembangkan produk yang dapat dijual untuk menghasilkan pendapatan bisnis Sebuah sistem berbasis komputer yang menggunakan unsur-unsur sistem Elemen merupakan satu sistem dapat mewakili satu elemen makro dari sistem masih lebih besar Example Sebuah sistem otomatisasi pabrik dapat terdiri dari mesin kontrol numerik, robot, dan perangkat entri data; masing-masing dapat menjadi sistem sendiri Pada tingkat hirarki yang lebih rendah berikutnya, sel manufaktur adalah sistem berbasis komputer sendiri yang dapat mengintegrasikan unsur makro lainnya Peran sistem engineer adalah untuk menentukan unsur-unsur dari sistem berbasis komputer tertentu dalam konteks hirarki keseluruhan sistem 22

Computer-based System (continued) Sebuah sistem berbasis komputer yang menggunakan empat elemen sistem yang menggabungkan dalam berbagai cara untuk mengubah informasi Software: computer programs, data structures, and related work products that serve to effect the logical method, procedure, or control that is required Hardware: electronic devices that provide computing capability, interconnectivity devices that enable flow of data, and electromechanical devices that provide external functions People: Users and operators of hardware and software Database: A large, organized collection of information that is accessed via software and persists over time Penggunaan elemen ini dijelaskan berikut ini: Documentation: Informasi deskriptif yang menggambarkan penggunaan dan pengoperasian system Procedures: Langkah-langkah yang menentukan penggunaan khusus dari setiap elemen sistem atau konteks prosedural di mana sistem berada 23

System Engineering Process Proses sistem rekayasa diawali dengan dunia nyata; bisnis atau produk domain diperiksa untuk memastikan bahwa bisnis atau teknologi konteks yang tepat dapat dibentuk Pandangan nyata disempurnakan untuk fokus pada domain tertentu yang menarik Dalam domain tertentu, kebutuhan untuk elemen sistem target dianalisis Akhirnya, analisis, desain, dan konstruksi dari elemen sistem target diawali Pada tingkat pandangan nyata, konteks yang sangat luas dibentuk Di tingkat bawah, kegiatan teknis rinci dilakukan oleh disiplin teknik yang relevan (misalnya, rekayasa perangkat lunak) 24

System Engineering Hierarchy World View Domain View Element View Component View 25

Product Engineering Hierarchy Human Engineering Product Requirements Engineering Hardware Engineering Software Engineering Database Engineering System Component Engineering Function Data and Classes Behavior Analysis Modeling Data/Class Design Architectural Design Interface Design Component Design Design Modeling Construction 26

27