Pemodelan Perangkat Lunak

Post on 30-Dec-2015

155 views 34 download

Tags:

description

Pemodelan Perangkat Lunak. VI045102. By : Rizky Yuniar Hakun. Referensi. Ian Somerville, Software Engineering , 6 th Edition, Addison Wesley, 2001 Roger R. Pressman, Software Engineering , 6 th Edition McGraw-Hill , 200 5 - PowerPoint PPT Presentation

Transcript of Pemodelan Perangkat Lunak

VI045102

By : Rizky Yuniar Hakun

Ian Somerville, Software Engineering, 6th Edition, Addison Wesley, 2001

Roger R. Pressman, Software Engineering, 6th Edition McGraw-Hill, 2005

Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995

Tugas : 30%UTS : 30%UAS : 40%

Power Designer 6 / Power Designer 9Rational Rose 7 / IBM Rational Software

ArchitectJava Compiler (Netbeans, Gel, Eclipse)

Review RPLPemodelan PLPemodelan Data dan CASE ToolUML in Depth ( Kelas, Use Case, State, dll)Design Pattern

Day 1

By : Rizky Yuniar Hakun

Perangkat LunakReview Rekayasa Perangkat LunakPemodelan Perangkat Lunak

Perangkat Lunak adalah suatu aplikasi program komputer yang di dalamnya terdapat:program itu sendiri, konfigurasi yang digunakan, dokumentasi yang menjelaskan struktur sistem, dokumentasi yang menjelaskan bagaimana

menggunakan sistem,dan informasi tentang versi terbaru

Produk Perangkat Lunak dikembangkan sesuai dengan siapa pemakai perangkat lunak tersebut.

Produk Perangkat lunak dibagi menjadi:Produk Generik, yang dijual pada pasar terbukaProduk Spesifik, yang dibuat dan dijual sesuai

pesanan dari pemakai.

Software is developed or engineered, not manufactured

Software doesn’t “wear out”Most software are custom built, not

assembled from existing component

Tidak memiliki waktu yang cukup dalam mengumpulkan data pada proses pembuatan perangkat lunak.

Ketidakpuasan user pada S/W yang dibuatKualitas S/W terkadang meragukan.Sulit dalam memaintenance S/W sekarang

Perangkat Lunak Berdasarkan PemakaiGenerik: Perangkat lunak yang bisa digunakan

secara umumSpesifik: Perangkat lunak yang dibuat

berdasarkan pesananPerangkat Lunak Berdasarkan Fungsional

InterfacingOperating SystemPerangkat Lunak AplikasiCASE Tools

Generik: Perangkat lunak yang digunakan secara umum. Sebagai contoh: Operating System, seperti Microsoft Windows, Word Processing, seperti Microsoft Word, WordPad Spreadsheet, seperti Microsoft Excell Beberapa aplikasi khusus bisa dibuat menjadi generik

dengan membuatnya general dan mudah digunakan siapa saja seperti aplikasi akuntansi, aplikasi sekolah, dan lain-lain

Spesifik: Perangkat lunak yang dibuat berdasarkan pesanan. Banyak Software House yang menghasilkan perangkat lunak ini berdasarkan proyek/pesanan tertentu. Sebagai contoh: Aplikasi Rumah Sakit, Aplikasi Pendidikan, Aplikasi Kesehatan, dan lain-lain

INTERFACING: Perangkat lunak ini menghubungkan suatu perangkat keras tertentu, seperti hardware driver, interfaces dengan perangkat keras lain. Misal: Driver untuk Kamera, Handphone atau

perangkat keras lainnyaProgram interface seperti Sensor Suhu dengan

LM555, PPI 8255, Komunikasi Serial RS232.

OPERATING SYSTEM: Perangkat lunak yang menjalankan sistem komputer dan merupakan interface dari sistem komputer dan program aplikasi yang berjalan diatasnya.

Beberapa OS yang dikenal secara luas:Microsoft WindowsLinux dan varians-nya, seperti Redhat, SuSE,

Mandrake, Debian, dsb.UnixFreeBSDMacintosh (Apple)

PROGRAM APLIKASI: program ini digunakan untuk keperluan tertentu, yang tujuannya membantu pekerjaan manusia menjadi lebih mudah. Program ini yang banyak dibahas dalam pembuatan perangkat lunak.

Program Aplikasi ini tergantung pada kebutuhan dari program itu sendiri, seperti:Program OfficeProgram Graphics DesignProgram Multimediadan lain-lain

Perangkat lunak harus memberikan bantuan dalam merepresentasikan dan mengakses file-file eksternal yang dibuat dengan alat bantu lain.

Persyaratan Fungsional dan Non-FungsionalPersyaratan UserPersyaratan SistemDokumentasi Persyaratan Perangkat Lunak

Persyaratan Fungsional: Pernyataan layanan tentang bagaimana sistem harus bereaksi terhadap input, sistem harus berlaku pada situasi-situasi tertentu. Secara khusus menyatakan apa yang tidak boleh dilakukan sistem.

Persyaratan Non Fungsional: Pernyataan tentang batasan layanan dan fungsi yang diberikan sistem.

Persyaratan Domain: Persyaratan yang datang dari domain aplikasi sistem dan merefleksikan karakteristik domain tersebut

Persyaratan Produk: persyaratan yang diambil dari spesifikasi produk, seperti persyaratan hardware untuk mendukung kinerja.

Persyaratan Organisasi: persyaratan yang berasal dari kebijakan dan prosedur pada organisasi.

Persyaratan Eksternal: Persyaratan yang berasal dari faktor eksternal terhadap sistem dan proses pengembangannya.

Kecepatan dalam: Transaksi yang diproses/detik, waktu tanggal user/event atau waktu refresh layar

Ukuran dalam: KB atau jumlah Chip RAMKemudahan penggunaan dalam: waktu

pelatihan atau jumlah frame helpKehandalan dalam: waktu rata-rata

kegagalan, probabilitas ketidaksediaan, kecepatan terjadinya kegagalan, atau ketersediaan

Ketahanan dalam: waktu start ulang setelah kegagalan, prosentase event yang gagal, atau probabilitas korupsi data

Portabilitas dalam: prosentase pernyataan tergantung target, atau jumlah sistem target

Mendeskripsikan persyaratan fungsional dan non-fungsional sehingga dapat dipahami oleh user yang tidak memiliki pengetahuan teknik.

Persyaratan user harus ditulis memakai bahasa natural, formal dan diagram intuitif yang sederhana. Persyaratan user tidak boleh didefinisikan memakai model implementasi.

Masalah yang sering muncul:Tidak Adanya KejelasanKesimpang-siuran PersyaratanPenggabungan Persyaratan

Persyaratan sistem ini lebih rinci dari persyaratan user, dan berfungsi sebagai dasar kontrak untuk implementasi sistem.

Persyaratan sistem ini digunakan sebagai titik awal perancangan sistem.

Bahasa natural banyak digunakan dalam mendefinisikan persyaratan sistem

Rekayasa Perangkat Lunak adalah disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan.

Perekayasa Perangkat Lunak memakai pendekatan yang sistematis dan terorganisir untuk menghasilkan perangkat lunak berkualitas tinggi.

Meningkatkan keakuratan, performance & efficiency produk secara keseluruhan dalam pengembangan

Menerapkan metodologi yang terdefinisi dengan baik untuk resolusi software

Ilmu Komputer berhubungan dengan teori dan metode yang mendasari sistem komputer dan perangkat lunak. Teori ini merupakan suatu model fisik dan analitik untuk menyelesaikan kasus yang spesifik.

Rekayasa Perangkat Lunak berhubungan dengan masalah-masalah praktis untuk menghasilkan suatu perangkat lunak. Pendekatan dilakukan dengan model bisnis dan strategi bisnis suatu perangkat lunak.

Rekayasa Sistem berhubungan dengan semua aspek pengembangan sistem berbasis komputer, termasuk perangkat keras, perangkat lunak dan rekayasa proses.

Rekayasa Perangkat Lunak adalah bagian dari Rekayasa Sistem

Proses perangkat lunak adalah serangkaian kegiatan yang tujuannya untuk mengembangkan atau evolusi perangkat lunak.

Kegiatan-kegiatan tersebut adalah:Spesifikasi perangkat lunak,Pengembangan perangkat lunak,Validasi perangkat lunak,Evolusi perangkat lunak

Ir. Hasanuddin Sirait, MT

Pertemuan 514/11/2013

Model proses perangkat lunak adalah representasi yang disederhanakan dari proses perangkat lunak yang dipresentasikan dari sudut pandang tertentu

Paradigma pengembangan model sistem : Waterfall Development Model Evolutionary Development Model Spiral Development Model Incremental Development Model

Development activities are performed in sequential order, with possibly minor overlap, and minimal or no iteration between activities.

User needs are determined, requirements are defined, and the full system is designed, built, and tested for ultimate delivery at one point in time. Some people refer to this as a stage-wise model.

Pengembangan Eksplorasi: Sistem berubah dengan adanya fitur-fitur

tambahan dari user.Prototype yang dapat dibuang (Throw-Away): Memahami persyaratan user untuk

mendapatkan definisi persyaratan yang lebih baik.

Penjelasan Garis Besar

Penjelasan Garis Besar

Spesifikasi

Pengembangan

Validasi

Versi AwalVersi Awal

Versi MenengahVersi Menengah

Versi AkhirVersi Akhir

Masalah-masalah dalam Pengembangan EvolusionerProses tidak dapat dilihatSistem seringkali mempunyai struktur yang

tidak baikMungkin diperlukan alat bantu khusus

Model pengembangan evolusioner ini cocok untuk aplikasi yang kecil dan life-cycle yang pendek.

Spiral Model DescriptionThe development spiral consists of four

quadrantsQuadrant 1: Determine objectives,

alternatives, and constraints.Quadrant 2: Evaluate alternatives, identify,

resolve risks.Quadrant 3: Develop, verify, next-level

product.Quadrant 4: Plan next phases.

Proses perangkat lunak dibagi menjadi serangkaian increment yang dikembangkan secara bergantian.

Keuntungan Pengembangan IncrementalUser tidak perlu menunggu seluruh sistem dikirimkan,

karena increment pertama mempunyai persyaratan kritis dan perangkat lunak segera dapat digunakan.

User dapat memakai increment pertama sebagai prototypeResiko kegagalan proyek secara keseluruhan lebih rendahPengujian paling ketat diberlakukan pada increment

pertama.

Studi KelayakanElisitasi dan Analisis PersyaratanSpesifikasi PersyaratanValidasi Persyaratan

StudiKelayakan

StudiKelayakan

Elisitasi danAnalisis

Persyaratan

Elisitasi danAnalisis

Persyaratan

SpesifikasiPersyaratan

SpesifikasiPersyaratan

ValidasiPersyaratan

ValidasiPersyaratanLaporan

Kelayakan

LaporanKelayakan Model SistemModel Sistem

PersyaratanUser dan Sistem

PersyaratanUser dan Sistem

DokumenPersyaratan

DokumenPersyaratan

Perancangan ArsitekturalSpesifikasi AbstrakPerancangan InterfacePerancangan KomponenPerancangan Struktur DataPerancangan Algoritma

SpesifikasiPersyaratan

PerancanganArsitektural

SpesifikasiAbstrak

PerancanganInterface

PerancanganKomponen

PerancanganStruktur Data

PerancanganAlgoritma

ArsitekturSistem

ArsitekturSistem

SpesifikasiPerangkat Lunak

SpesifikasiPerangkat Lunak

SpesifikasiInterface

SpesifikasiInterface

SpesifikasiKomponen

SpesifikasiKomponen

SpesifikasiStruktur data

SpesifikasiStruktur data

SpesifikasiAlgoritma

SpesifikasiAlgoritma

PengujianUnit

PengujianUnit

PengujianModul

PengujianModul

PengujianSub Sistem

PengujianSub Sistem

PengujianSistem 1

PengujianSistem 1

PengujianSistem 2

PengujianSistem 2

PengujianKomponen Pengujian Integrasi Pengujian User

DefinisiPersyaratan

Sistem

DefinisiPersyaratan

Sistem

Nilai SistemYang Ada

Nilai SistemYang Ada

PengajuanPerubahan

Sistem

PengajuanPerubahan

Sistem

ModifikasiSistem

ModifikasiSistem

SistemYang Ada

SistemYang Ada

SistemBaru

SistemBaru

Pemodelan dan analisa dapat dianggap sebagai akar konsep dari semua displin teknik karena keutamaannya dalam mendokumentasikan dan mengevaluasi alternatif serta pilihan desain.

Pemodelan dilakukan pada awal analisa, spesifikasi dan validasi persyaratan.

Persyaratan yang dimaksud adalah semua kebutuhan pengguna, kustomer dan stakeholder yang harus dipenuhi oleh sistem.

Dalam pembuatan persyaratan melibatkan : Analisa studi kelayakan dari sistem yang akan dibuat, Memperoleh dan menganalisa kebutuhan dari stakeholder Pembuatan gambaran yang akurat terhadap sistem tentang

apa yang harus dilakukan sistem dan apa yang tidak. Validasi terhadap dokumen atau spesifikasi oleh stakeholder