Skip to content

Instantly share code, notes, and snippets.

@fannyhasbi
Created October 4, 2018 04:34
Show Gist options
  • Save fannyhasbi/9f7ebf95e819d932137c931c1b09de30 to your computer and use it in GitHub Desktop.
Save fannyhasbi/9f7ebf95e819d932137c931c1b09de30 to your computer and use it in GitHub Desktop.
Persiapan UTS Rekayasa Perangkat Lunak 2018

Persiapan UTS Rekayasa Perangkat Lunak 2018

Introduction

Definisi

Rekaya perangkat lunak adalah bidang rekayasa yang berkaitan dengan semua aspek produksi perangkat lunak dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah itu telah mulai digunakan.

Kebutuhan

  • Menggerakkan pengambilan keputusan bisnis
  • Dasar penyelidikan ilmiah modern
  • Rekayasa pemecah masalah

Jenis

Berdasarkan fungsi

  • Perangkat lunak sistem (OS, Compiler, Interpreter)
  • Perangkat lunakn aplikasi (DBMS, Spreadsheet)

Berdasarkan pemakai

  • Generik : digunakan secara umum
  • Spesifik: dibuat berdasarkan pesanan

Peranan

  • Menggantikan tugas manusia
  • Memperkuat peran manusia
  • Restrukturisasi peran manusia
  • Hiburan dan permainan

Atribut perangkat lunak

  • Kinerja sesuai funsgi yang dibutuhkan
  • Mempunyai daya guna yang tinggi
  • Reliable
  • Maintainable
  • Efficient
  • Antarmuka menarik
  • Tahan lama

Perbedaan RPL dengan Rekayasa Sistem

  • Rekayasa sistem berkaitan dengan semua aspek dalam pembangunan sistem berbasis komputer termasuk hardware, rekayasa PL dan proses
  • RPL adalah bagian dari rekayasa sistem yang meliputi pembangunan PL, infrastruktur, kontrol, aplikasi dan database pada sistem

Fakta pengembang software

  • Kebanyakan software tidak dapat digunakan
  • Kebanyakan software tidak stabil dan tidak aman
  • Kebanyakan software tidak dapat diandalkan
  • PADAHAL, 'dunia' dijalankan oleh software

Yang terlibat dalam RPL

  • Manager (Project manager, QA manager)
  • Software Developer (Analyst, Designer, Programmer)
  • Support (Administration, CS)

CASE (Computer-Aided Software Engineering)

Perangkat lunak sistem untuk memberikan dukungan otomatis untuk kegiatan proses perangkat lunak.

Penggunaan CASE tools:

  • Graphical editors
  • Data dictionaries
  • GUI builders
  • Debugger
  • Debugger

Tantangan

  • Heteroeneity
  • Deivery
  • Trust

Software Process

Pengembangan perangkat lunak adalah sebuah proses pembelajaran iteratif dan produk yang dihasilkan merupakan perwujudan dari pengetahuan yang dikumpulkan, disaring, dan ditata selama proses berlangsung

Pihak yang terlibat

  • Client (pihak yang meminta)
  • Developer (pihak yang membuat)
  • User (pihak pemakai)

Lapisan RPL

  1. Fokus kualitas : maintainability, dependability, usability, efficiency
  2. Proses : pengembangan secara sistematis
  3. Metode : metode yang digunakan
  4. Tools : perangkat yang mendukung tiap tahap pengembangan

Model Proses PL

Suatu representasi proses perangkat lunakn yang disederhanakan, dipresentasikan dari perspektif khusus.

Fungsi:

  • menentukan tahap yang diperlukan
  • menentukan urutan pelaksanaan
  • menentukan kriteria

Contoh metode pengembangan

  • Waterfall
  • V model
  • Spiral
  • Rapid prototyping
  • Prototyping

Metode Pengembangan Agile (Cepat)

  • Spesifikasi, desain dan implementasi saling berdaun
  • Sistem dikembangkan sebagai rangkaian versi dengan pemangku kepentingan yang terlibat
  • Antarmuka pengguna yang sering idkembangkan IDE

Model-model

  • Extreme Programming (XP)
  • Adaptive Software Development (ASD)
  • Scrum Methodology
  • Kanban
  • Dynamic Systems Development Method (DSDM)
  • Crystal
  • Feature Driven Development (FDD)
  • Agile Modeling (AM)
  • Rational Unified Process

Rekayasa Kebutuhan

Proses menetapkan layanan yang dibutuhkan konsumen terhadap sistem dan batasan operasi dan pengembangan

Latar belakang:

  • Client tahu apa yang dibutuhkan
  • Client dapat mengungkapkan apa yang diinginkannya
  • Client memiliki pemahaman yang baik mengenai funsgi dan fitur yang akan dirancang

Tahapan rekayasa kebutuhan

  1. Inception

Mendefinisikan ruang lingkup masalah

  1. Elicitation

Membantu pelanggan mendefinisikan apa yang dibutuhkan

  1. Elaboration

Memurnikan dan mengubah kebutuhan dasar

  1. Negotiation

Perbaikan konflik antara pihak yang bersangkutan

  1. Specification
  2. Validation

Memastikan semua kebutuhan telah dicantumkan

  1. Management

Teknik analisa kebutuhan

  • Kuesioner
  • Form
  • Dokumen
  • Benchmarking (melihat sistem lain yang memiliki permasalahan yang sama)
  • Pengamatan lapangan
  • Skenario

Kebutuhan fungsional

Menggambarkan fungsionalitas atau layanan sistem.

Contoh:

  • User dapat mencari semua kumpulan database inisial atau memilih subset dari database tersebut
  • Sistem menyediakan tampilan yang tepat untuk user
  • Setiap pesanan dapat dialokasikan sebagai identifier yang unik untuk meng-copy daerah penyimpan account permanen

Kebutuhan non-fungsional

Batasan layanan atau fungsi yang ditawarkan sistem seperti batasan, waktu, batasan pengembangan proses, standarisasi, dll.

Contoh:

  • Sistem seharusnya tidak tertutup untuk segala informasi personal tentang konsumen

Kebutuhan domain

Datang dari domain aplikasi dari sistem dan yang menyatakan karakteristik dari domain tersebut.

Contoh:

  • Terdapat antarmuka standar untuk semua database

Pemodelan Analisis

Memodelkan kebutuhan sistem

Tujuan:

  • Mendeskripsikan keinginan pelanggan
  • Mengembangkan dasar atau perancangan PL
  • Membuat serangkaian kebutuhan yang bisa divalidasi saat selesai

Pemodelan fungsi

  • Identifikasi fungsi-fungsi yang mentransformasikan objek data
  • Identifikasi bagaimana aliran data yang terdapat pada sistem
  • Identifikasi entitas yang memproduksi data

Pemodelan domain

  • definisi objek data
  • deskripsi atribut data
  • definisi keterhubungan data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment