Software Engineering - Defined

dokumen-dokumen yang mirip
Teknik Informatika S1

THE SOFTWARE PROCESS

Rekayasa Perangkat Lunak DEPARTEMEN PENDIDIKAN NASIONAL UNIVERSITAS PENDIDIKAN INDONESIA 2008

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

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

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

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

REKAYASA PERANGKAT LUNAK I

3. The Software Process

SOFTWARE PROCESS & METHOD

Teknik Informatika S1

System Development Life Cycle (SDLC)

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

Testing dan Implementasi Sistem

Review Rekayasa Perangkat Lunak. Nisa ul Hafidhoh

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

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

SOFTWARE PROCESS MODEL

Teknik Informatika S1

A Layered Technology

PROSES DESAIN. 1. Metodologi Pengembangan Sistem

What is Behind the Names???

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

PENGEMBANGAN PERANGKAT LUNAK

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

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

Metode-Metode Pengembangan Desain Aplikasi


PERTEMUAN 2 METODE PENGEMBANGAN SISTEM

Software Development Life Cycle (SDLC)

PERTEMUAN 2 METODE PENGEMBANGAN SISTEM

BAB III DASAR TEORI 3.1 Manajemen Risiko

Pengembangan Sistem Informasi

SDLC Concepts. Muhammad Yusuf D3 Manajemen Informatika Universitas Trunojoyo

STMIK AMIKOM YOGYAKARTA

Jenis Metode Pengembangan Perangkat Lunak

BAB 2 LANDASAN TEORI

DASAR-DASAR PERANCANGAN PERANGKAT LUNAK

REKAYASA PERANGKAT LUNAK

MODUL 4 Unified Software Development Process (USDP)

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

SIKLUS REKAYASA PERANGKAT LUNAK (SDLC)

STMIK AMIKOM YOGYAKARTA

Pengembangan Sistem Informasi

Systems Development Life Cycle (SDLC)

Metodologi Pengembangan Sistem Informasi

PENGUKURAN TINGKAT KEMATANGAN SISTEM OTOMASI PADA PERPUSTAKAAN UNIVERSITAS KRISTEN PETRA DENGAN MENGGUNAKAN CMMI

Pertemuan 2 SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

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

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

Manajemen Proyek. Bima Cahya Putra, M.Kom

BAB II KONSEP PEMBANGUNAN SISTEM DARI PERSPEKTIF SOFTWARE ENGINEERING

Apakah yang dimaksud Tangguh?

MODEL RAD. Pengertian

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

METODOLOGI SCRUM. Introduksi

SIKLUS HIDUP PERANGKAT LUNAK

Perbedaan Pengembangan Software Dan Pengembangan Sistem Informasi

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

BAB III LANDASAN TEORI

PENGANTAR RUP & UML. Pertemuan 2

BAB I PENDAHULUAN.

SOFTWARE PROCESS MODEL I

Extreme Programming Melakukan Pengembangan Perangkat Lunak dengan Lebih Sederhana

BAB I PENDAHULUAN 1.1 Latar Belakang

MINGGU 6. Proses Perancangan. Suzan Agustri

PENGANTAR MANAJEMEN PROYEK PERANGKAT LUNAK MATA KULIAH MANAJEMEN PROYEK PERANGKAT LUNAK

PENDAHULUAN PENGEMBANGAN SISTEM INFORMASI

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

REKAYASA PERANGKAT LUNAK

Sistem Pakar. Tahap-tahap Pengembangan Sistem Pakar. Kelas A & B. Jonh Fredrik Ulysses

BAB I PENDAHULUAN. 1.1 Latar Belakang

APLIKASI PERANGKAT LUNAK

Unified Process Model & Agile Development Process Model

Pertemuan 3 Metodologi Pengembangan Sistem Informasi

Manajemen Proyek. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

SDLC SYSTEM DEVELOPMENT LIFE CYCLE. Materi ke-2. Pengembangan Sistem Informasi 5KA28 // 4KA14

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

ANALISA & PERANCANGAN SISTEM

MANAJEMEN PROYEK DALAM PRAKTEK

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

Tren Terbaru Pengembangan Software (Software Development Life Cycle)

MATERI PEMODELAN PERANGKAT LUNAK KELAS XI RPL

SOFTWARE ENGINEERING (REKAYASA PERANGKAT LUNAK)

Pertemuan 2 SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) POKOK BAHASAN

Teknik Informatika S1

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

Hanif Fakhrurroja, MT

BAB II LANDASAN TEORI

1. MODEL WATERFALL KOMUNIKASI PERENCANAAN PEMODELAN PENYERAHAN KE PELANGGAN / PENGGUNA KONSTRUKSI. Permulaan proyek. Analisis perancangan

Pengelolaan Proyek PPSI. Part 1 Part 2 Part 3

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Software Process. Tim RPL. Program Studi Teknik Informatika

BAB I PENDAHULUAN. Pembangunan ekonomi sangat penting dalam menunjang pembangunan

LANGKAH-LANGKAH MEMBUAT SOFTWARE MENURUT RUP

Produk perangkat lunak tersebut:

Rapid Application Development

Rekayasa Perangkat Lunak (Software Engineering)

Transkripsi:

Pertemuan 2,3

Software Engineering - Defined (1969) Software engineering adalah pembentukan dan penggunaan prinsip-prinsip rekayasa untuk memperoleh perangkat lunak secara ekonomis yang handal dan bekerja secara efisien pada mesin nyata (IEEE) Penerapan sistematis, disiplin, pendekatan kuantitatif untuk pengembangan, operasi, dan pemeliharaan perangkat lunak, yaitu untuk penerapan rekayasa perangkat lunak

Software Engineering is a Layered Technology Tools Methods Processes Quality Focus 3

Process, Methods, and Tools Process Menyediakan perekat yang menyatukan lapisan bersama-sama, memungkinkan pengembangan rasional dan tepat waktu; menyediakan kerangka kerja untuk pengiriman teknologi yang efektif, membentuk dasar bagi manajemen, memberikan konteks untuk metode teknis, produk kerja, pencapaian, ukuran kualitas, dan manajemen perubahan Methods Menyediakan teknis "bagaimana" untuk membangun perangkat lunak, mengandalkan pada seperangkat prinsip dasar, meliputi pilihan yang luas akan tugas, meliputi kegiatan modeling Tools Memberikan dukungan otomatis atau semi-otomatis untuk proses dan metode (yaitu, alat CASE)

Software Process Roadmap untuk membangun produk-produk perangkat lunak berkualitas tinggi. Disesuaikan untuk memenuhi kebutuhan software engineers dan manajer. Menyediakan kerangka kerja untuk mengelola kegiatan. Berbagai jenis proyek memerlukan proses software yang berbeda. Produk kerja yang dihasilkan oleh proses software. Indikator terbaik dari seberapa baik proses perangkat lunak telah bekerja adalah kualitas, ketepatan waktu, dan kelangsungan hidup jangka panjang dari produk software yang dihasilkan

Common Process Framework Communication Melibatkan komunikasi antara pelanggan dan pemegang kepemilikan lainnya; meliputi pengumpulan persyaratan Planning Menetapkan rencana kerja rekayasa perangkat lunak, menangani tugastugas teknis, sumber daya, produk kerja, dan jadwal kerja Modeling Meliputi pembuatan model untuk lebih memahami kebutuhan dan desain Construction Menggabungkan pembuatan kode dan pengujian untuk mengungkap kesalahan Deployment Melibatkan penerapan perangkat lunak untuk pelanggan serta dan umpan balik evaluasi

SE Umbrella Activities Adalah Fase yang dijelaskan dalam pandangan umum dari rekayasa perangkat lunak dilengkapi dengan sejumlah payung/naungan kegiatan. kegiatan tipikal termasuk: Software project tracking and control - Memungkinkan tim software untuk menilai kemajuan terhadap rencana proyek dan mengambil tindakan yang diperlukan untuk mempertahankan jadwal Risk management - Menilai risiko yang mungkin mempengaruhi hasil produk atau kualitas produk. Software quality assurance - Mendefinisikan dan melakukan kegiatan yang diperlukan untuk memastikan kualitas perangkat lunak Formal technical reviews - Menilai produk kerja rekayasa perangkat lunak dalam upaya untuk mengungkap dan menghapus kesalahan sebelum mereka disebarkan ke tindakan berikutnya atau kegiatan Measurement - process, project, product Software configuration management - mengelola dampak perubahan seluruh proses perangkat lunak Reusability management - mendefinisikan kriteria untuk digunakan kembali produk kerja dan menetapkan mekanisme untuk mencapai komponen dapat digunakan kembali. Work product preparation and production - meliputi kegiatan yang diperlukan untuk membuat produk kerja seperti model, dokumen, log, bentuk, dan daftar.

Software Engineering Institute (SEI) Capability Maturity Model Integration (CMMI) Level 5: Optimized Level 4: Quantitatively Managed Level 3: Defined Level 2: Managed Level 1: Performed Level 0: Incomplete * SEPA 6 th ed, Roger S. Pressman

SEI CMMI www.sei.cmu.edu/cmmi Level 0: Incomplete Proses ini tidak dilakukan atau tidak mencapai semua tujuan yang ditetapkan untuk level 1. Level 1: Performed Tugas pekerjaan yang diperlukan dibutuhkan sedang dilakukan. untuk menghasilkan produk kerja yang Level 2: Managed Orang yang melakukan pekerjaan memiliki akses ke sumber daya yang memadai untuk mendapatkan pekerjaan yang dilakukan, stakeholder terlibat aktif, tugas pekerjaan dan produk yang dipantau, Ulasan, dan dievaluasi untuk kesesuaian untuk proses deskripsi. Level 3: Defined Proses manajemen dan rekayasa didokumentasikan, standar, dan diintegrasikan ke dalam proses perangkat lunak di seluruh organisasi Level 4: Quantitatively Managed Proses perangkat lunak dan produk menggunakan langkah-langkah rinci. kuantitatif dipahami dan dikendalikan Level 5: Optimizing perbaikan proses yang berkesinambungan diaktifkan oleh umpan balik kuantitatif dari proses dan pengujian ide-ide inovatif

SEI - CMMI Level Optimizing Quantitatively Managed Defined Focus Continous process improvement Quantitative management Process standardization Managed Performed Basic project management

Process Assessment Penilaian adalah upaya untuk memahami keadaan saat proses software dengan maksud meningkatkan SPICE (ISO/IE15504) mendefinisikan satu set persyaratan untuk penilaian proses: Memeriksa proses yang digunakan oleh organisasi untuk menentukan apakah mereka efektif dalam mencapai tujuan mereka. Menyediakan model referensi yang meneliti maksud dan tujuan yang terukur dari proses (dimensi proses) dan set atribut proses yang harus ada (dimensi kemampuan). Assessment model SPICE (Software Process Improvement & Capability Determination) adalah evaluasi terstruktur dari model proses (kegiatan, tugas, produk kerja, dll)

Process Assessment (2) ISO 9001: 2000 untuk Software mendefinisikan persyaratan untuk sistem manajemen mutu yang akan menghasilkan produk berkualitas tinggi dan meningkatkan kepuasan pelanggan. Menekankan pentingnya bagi organisasi untuk mengidentifikasi, melaksanakan, mengelola, dan terusmenerus memperbaiki proses efektivitas diperlukan untuk sistem manajemen mutu dan untuk mengelola interaksi proses untuk mencapai tujuan organisasi. Efektivitas proses dan efisiensi dinilai melalui kajian internal atau eksternal dari proses menggunakan skala kematangan. Hasil dapat didokumentasikan dan dimonitor dari waktu ke waktu untuk mencapai tujuan perbaikan menggunakan plan-do-check-act " siklus

Prescriptive Models Process Model The Waterfall Model Incremental Models Evolutionary Process Models Specialized Process Models The Unified Process

Prescriptive Models Disebut "preskriptif" karena: Menetapkan satu set elemen proses (kegiatan, tindakan, tugas, produk kerja, jaminan kualitas dll untuk setiap proyek) Masing-masing model proses juga mengatur alur kerja Mereka membawa untuk software rekayasa dan memberikan pedoman yang wajar untuk tim software.

Waterfall Model The Waterfall Model Kuno tapi layak melakukan pendekatan yang lama ketika persyaratan dipahami dengan baik.

The Waterfall Model Permasalahan : kesulitan untuk mengakomodasi perubahan ketika proses berjalan, fase harus diselesaikan satu persatu.

The Waterfall Model Problem Pembagian yang tidak fleksibel dari sebuah project ke beberapa tahap, membuat kita sulit untuk mengakomodasi perubahan kebutuhan customer Model ini hanya cocok ketika sebuah requirement sudah dimengerti dengan baik dan perubahan hanya terjadi sesekali selama proses desain Cocok untuk sistem dengan business yang kecil dan memiliki requirement yang stabil Model waterfall sering digunakan untuk project rekayasa sistem dimana sistem tersebut dikembangkan di lokasi yang berbeda.

Incremental Models Incremental Model Memberikan software dalam potongan-potongan kecil tapi dapat digunakan, masing-masing bagian dibangun di atas potongan sudah disampaikan.

Incremental development Customer mengidentifikasi secara garis besar layanan (services) yang akan disediakan oleh sistem.mereka mengidentifikasi layanan mana yang paling penting dan mana yang paling tidak penting Layanan dengan prioritas tertinggi akan dikirimkan kepada Customer. Pada saat pengembangan, analisis persyaratan selanjutnya untuk Incremental lainnya dapat dilakukan, tetapi perubahan persyaratan untuk inkremen yang sedang dikerjakan tidak dapat diterima

Keuntungan penggunaan incremental Customer mendapatkan setiap inkremen, sehingga fungsionalitas sistem dapat digunakan didapatkan diawal Customer dapat memakai inkrement yang pertama sebagai bentuk prototipe dan mendapatkan pengalaman yang dapat menginformasikan pada pengembangan inkrement selanjutnya Resiko kecil dari kegagalan project secara total

Incremental Model System/information engineering increment 1 analysis design code test delivery of 1st increment increment 2 analysis design code test delivery of 2nd increment increment 3 analysis design code test delivery of 3rd increment increment 4 analysis design code test delivery of 4th increment calendar time

Rapid Application and Development (RAD) Model RAD Model adalah merupakan proses pebangunan perangkat lunak yang incremental. Model ini merupakan model yang mengadopsi proses model Linear Sequential yang memungkinkan software yang dibangun, dibangun desain dan dibangun dalam waktu yang cepat

RAD Model team #1 team #2 business modeling team #3 business modeling data modeling business modeling data modeling process modeling application generation data modeling process modeling testing & turnover process modeling application generation testing & turnover application generation testing & turnover 60-90 days

Business Modelling Tahap ini adalah tahap dimana informasi dikelola oleh developer yang diuraikannya di dalam bentuk pertanyaan-pertanyaan sebagai kebutuhan sistem. Data Modelling Di dalam tahap ini berisi informasi-informasi yang sengaja disusun menjadi sekumpulan objek sebagai hasil analisa developer terhadap kebutuhan sistem. Process Modelling Objek-objek data yang sudah didefinisikan digunakan sebagai landasan untuk mengimplementasikan setiap fungsi-fungsi pengoperasian software yang akan dibangun (adding, modifying, deleting, retrieving a data object). Application Generation RAD mengijinkan digunakannya kembali komponen-komponen program yang sudah ada ketimbang harus membuatnya dari awal. Testing and Turnover Program yang dibangun dengan RAD Model adalah program-program yang sengaja dibangun untuk bisa dipergunakan kembali dan secara otomatis program-program tersebut sudah melewati tahap uji coba sebelumnya.

Evolutionary Process Models adalah proses model yang mengandung proses-proses perulangan. Proses ini menghasilkan produk yang secara berkala terus dilakukan pembaharuan berdasarkan batasan-batasan waktu yang sudah ditentukan. Prototyping Model Langkah pertama yang baik bila pelanggan memiliki kebutuhan yang sah, tapi kurang informasi tentang rincian, pengembang perlu menolak tekanan untuk memperpanjang prototipe kasar menjadi produk produksi. Spiral Model Pasangan sifat iteratif dari prototipe dengan aspek dikendalikan dan sistematis dari model sekuensial linier Concurrent DeveloMirip pment Model dengan model spiral sering digunakan dalam pengembangan aplikasi client / server.

Prototyping Model Prototyping model dimulai dengan pengumpulan informasi-informasi berupa requirements oleh developer kepada pengguna tetapi requirements yang dikumpulkan oleh developer tidak serinci mungkin. Developer dan customer bertemu dan mendefinisikan tujuan yang akan dicapai secara keseluruhan mengenai software yang akan dibangun, mengidentifikasi secara keseluruhan apa yang dibutuhkan untuk dipenuhi dalam pembuatannya dan membuat perencanaan-perencanaan cepat (dadakan) komputer untuk mengerti sistematika setiap requirements yang diharapkan untuk yang akan dilakukan oleh developer dalam mana ia melakukan pembangunan softwarenya nanti.

Prototyping Model listen to customer build/revise mock-up customer test-drives mock-up

Spiral Model Spiral model ini adalah proses model evelusioner yang didasari atas dua proses model yang digabungkan menjadi satu proses model, yaitu Prototyping Model dengan konsep perulangannya dan Linear Sequential Model dengan pengontrolannya. Perulangan-perulangan yang dilakukan pada proses model ini adalah merupakan perulangan-perulangan setiap tahapan proses yang dilakukan developer sebagai perbaikan-perbaikan terdadap software yang akan dibangun untuk mendapakan hasil yang lebih baik Sedangkan Waterfall dengan pengontrolannya adalah merupakan suatu dasar pemodelan pada Model Spiral untuk melakukan pengembangan atau pembuatan software berdasarkan alur proses yang tepat.

Spiral Model Pla nning Risk Analysis Customer Communic a tion Engineering Customer Evalua tion Construc tion & Release

Langkah tahapan yang dilakukan pada proses model Spiral 1. Customer Communication Komunkasi adalah langkah awal suatu perencanaan dalam membangun sebuah software. Langkah dimana terjadinya pertemuann antar developer dan pengguna/customer untuk menemukan ruang lingkup tujuan pembuatan software secara umum yang didasarkan atas kebutuhan-kebutuhan dan requirements pengguna. 2. Planning Tahap ini adalah tahap bagi developer untuk menyusun suatu sistematika perencanaanperencanaan untuk melakukan penyelesaian software yang akan dibangun. 3. Risk Analysis Mengidentifikasi setiap resiko-resiko yang diperoleh pada setiap proses tahapan pengembangan sebuah software. 4. Engineering Engineering adalah tahap pembangunan sampel-sampel pemodelan software yang akan dibangun sebagai rancangan sementara bagaimana software tersebut akan bangun nantinya. 5. Constructon and Release Tahapan ini meliputi tahapan untuk melakukan pembangunan software, pengetesan software, penginstalan software dan pembuatan manual dari software yang dibangun. 6. Customer Evaluation Pada tahap ini adalah tahap bagi developer untuk mendapatkan berdasarkan hasil bangunan software yang ia bangun. feedback dari pengguna

Concurrent Development Model Juga disebut concurrent engineering Merupakan serangkaian kegiatan framework, software Tindakan rekayasa, tugas dan kondisi terkait Semua kegiatan yang ada secara bersamaan namun berada di berbeda kondisi Berlaku untuk semua jenis pengembangan perangkat lunak Event yang dihasilkan pada satu titik dalam memicu proses transisi antara kondisi

Concurrent Development Model none Under development Analysis activity Awaiting changes Under revision Under review Baselined Done

Discussion Incremental Model Applicability? RAD Model Applicability? Prototyping Model Applicability? Spiral Model Applicability? Concurrent Development Applicability?

Specialized Process Models Component-Based Development Variasi model spiral dimana aplikasi dibangun dari komponen software dikemas disebut kelas Formal Methods Model notasi matematika yang ketat yang digunakan untuk menentukan, desain, dan memverifikasi sistem berbasis komputer Aspect-Oriented Programming menyediakan sebuah proses untuk mendefinisikan, menentukan, merancang, dan membangun aspek perangkat lunak seperti antarmuka pengguna, keamanan, dan manajemen memori yang mempengaruhi banyak bagian dari sistem yang dikemban

An Agile View of Process Merupakan kompromi yang wajar antara rekayasa perangkat lunak konvensional untuk kelas tertentu dari perangkat lunak dan beberapa jenis proyek perangkat lunak. Dapat memberikan sistem sukses cepat. Menekankan komunikasi terus menerus dan kolaborasi antara pengembang dan pelanggan Menganut filosofi yang mendorong : kepuasan pelanggan, pengiriman perangkat lunak tambahan, tim proyek kecil (terdiri dari insinyur perangkat lunak dan pemangku kepentingan), metode informal dan software minimal produk kerja rekayasa Stres pada waktu pengiriman dari kenaikan software operasional lebih dari analisis dan desain.

What is Agility? respon yang efektif terhadap perubahan komunikasi yang efektif di antara semua pemangku kepentingan Menggambar pelanggan ke tim; menghilangkan "kita dan mereka" sikap Mengorganisir tim sehingga mengendalikan pekerjaan yang dilakukan Cepat, pengiriman tambahan dari software

The Manifesto for Agile Software Development "Kami mengungkap cara yang lebih baik dari perangkat lunak berkembang dengan melakukan hal itu dan membantu orang lain melakukannya. Melalui karya ini kita telah datang ke nilai: Individu dan interaksi selama proses dan alat-alat software bekerja atas dokumentasi yang komprehensif Kolaborasi pelanggan melalui negosiasi kontrak Menanggapi berubah selama mengikuti rencana Artinya, sementara ada nilai dalam item di sebelah kanan, kami nilai item di sebelah kiri lebih. "

Agile Process Models Extreme Programming (XP) Adaptive Software Development (ASD) Dynamic Systems Development Method (DSDM) Scrum Crystal Feature Driven Development (FDD) Agile Modeling (AM)