Post on 30-Dec-2015
description
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