Apa
Apa
Apa
Perangkat Lunak adalah seluruh perintah yang digunakan untuk memproses informasi.
Perangkat Lunak dapat berupa program atau prosedur.
Program adalah kumpulan perintah yang dimengerti oleh komputer, sedangkan Prosedur
adalah perintah yang dibutuhkan oleh pengguna dalam memproses informasi.
Rekayasa Perangkat Lunak adalah ilmu yang membahas semua aspek produksi Perangkat
Lunak, dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari
kebutuhan pengguna, desain, pengkodean, pengujian sampai pemeliharaan sistem setelah
digunakan.
Tujuan dari pembelajaran Rekayasa Perangkat Lunak adalah dimana kita bisa menekan Biaya
(baik pembuatan dan perawatan) seminim dan serendah mungkin dan memanfaatkan Waktu yang
diberikan secara efektif dan efisien sehingga menghasilkan Kinerja yang tinggi, andal
dan tepat waktu.
berupa perangkat keras (hardware), perangkat lunak (software), yang dalam hal ini
berupa program dan perangkat akal (brainware) atau orang yang berperan terhadap operasi
komputer maupun pengembangan perangkat lunak. Dengan kata lain, program merupakan salah
satu bagian penting pada komputer, yang mengatur komputer agar melakukan tindakan yang
sesuai dengan yang dikehendaki oleh pembuatnya.
Jadi secara umum, program adalah Adalah suatu produk atau hasil dari proses
pemrograman. Untuk dapat membuat suatu program, maka kita memerlukan compiler (alat
untuk menuliskan script-script pemograman).
Menurut Roger S. Pressman (1997) Komponen metodologi pengembangan perangkat lunak dapat
dibagi dalam tiga unit, yaitu :Metode, Alat bantu (Tools), dan Prosedur,
Prosedur merupakan salah satu komponen metodologi pengembangan perangkat lunak yang
dipergunakan untuk mendefinisikan urut-urutan pekerjaan (daur) dari metode dan alat
bantu tersebut.
Rekayasa perangkat lunak Menurut Stephen R. Schach
Rekayasa perangkat lunak adalah sebuah disiplin dimana dalam menghasilkan perangkat
lunak bebas dari kesalahan dan dalam pengiriman anggaran tepat waktu serta memuaskan
keinginan pemakai.
Rekayasa perangkat lunak Menurut Fritz Bauer
Rekayasa perangkat lunak adalah penetapan dan penggunaan prinsip rekayasa dalam rangka
memperoleh perangkat lunak yang dapat dipercaya dan dapat bekerja secara efisien pada
mesin nyata.
Rekayasa perangkat lunak Menurut IEEE
Rekayasa perangkat lunak adalah sebuah studi pendekatan dan aplikasi secara
sistematis, disiplin pengembangan operasi dan pemeliharaan perangkat lunak yang
kesemuanya itu merupakan aplikasi rekayasa yang berkaitan dengan perangkat lunak.
Jadi dapat disimpulkan bahwa rekayasa perangkat lunak adalah disiplin ilmu yang
menangani perancangan, pembuatan dan pmeliharaan suatu perangkat lunak dengan memakai
sistem atau pinsip aturan tertentu yang sistematis untuk menghasilkan sebuah perangkat
lunak yang sesuai dengan kebutuhan nyata pemakai dengan tingkat fungsi dan efisiensi
yang maksimal.
4. Apa tujuan dari pembelajaran Rekayasa Perangkat Lunak?
Adapun tujuan dari rekayasa perangkat lunak antara lain:
1. Untuk membangun software yang benar dan benar sebuah software
2. Untuk membangun software yang tepat. Dalam arti menghasilkan perangkat lunak yang
kinerjanya tinggi, andal dan tepat waktu, dapat bekerja pada berbagai jenis platform
3. Dikelola dengan baik untuk pemeliharaan kebenarannya.
4. Memperoleh biaya produksi perangkat lunak yang rendah.
5. Menghasilkan perangkat lunak yang biaya perawatannya rendah
Jelaskan apa yang saudara ketahui tentang proses perangkat lunak!
Jelaskan metode pengembangan perangkat lunak dan apa kelebihan dan kekurangan dari
setiap metode/model
Proses dalam perangkat lunak meliputi:
o Spesifikasi mendefinisikan apa yang harus sistem lakukan;
o Desain dan implementasi mendefinisikan organisasi dari sistem dan implementasi
sistem;
o Validasi memeriksa apakah sudah sesuai dengan keinginan pengguna;
o Evolusi mengubah sistem sebagai tanggapan dari berubahnya kebutuhan pengguna.
Jelaskan apa yang saudara ketahui tentang proses perangkat lunak!
Proses perangkat lunak adalah beberapa kegiatan yang menghasilkan perangkat lunak yang
benar benar perangkat lunak dalam artian memenuhi kebutuhan pemakai sehingga ketika
perangkat lunak siap digunakan tidak ada masalah / kendala yang terjadi nantinya saat
pemakaian perangkat lunak oleh user itu sendiri, sebagian besar hal ini dilakukan juga
oleh perekayasa perangkat lunak.
Dimana sebuah proses akan kembali ke state sebelumnya agar tidak ada perubahan setelah
proses menuju state di bawahnya sebab sangat sulit.
Kelebihan Waterfall Model :
1.Mudah diterapkan dan diaplikasikan.
2.Sesuai apabila digunakan untuk perangkat lunak yang kebutuhannya jelas dan dapat
diperhitungkan di awal pembuatan, sehingga kesalahan dapat dihindari.
3.Memberikan template tentang cara menganalisis, desain, pengkodean, pengujian, dan
pemeliharaan.
Kekurangan Waterfall model :
1.Bersifat kaku sehingga sulit untuk diubah pada sistem perangkat lunaknya.
2.Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen
harus dilakukan pada tahap awal proses.
3.Karena dilalukan setahap demi setahap, maka memakan waktu yang lebih lama.
4.Pembuatan dilakukan oleh sekelompok team sehingga apabila berhenti di tengah jalan
akan membingungkan anggota yang lain.
5.Apabila salah satu team belum selesai, harus ditunggu team yang lain sehingga waktu
terbuang untuk menunggu team tersebut.
2. Prototyping model
Metode prototyping adalah sistem informasi yang menggambarkan hal-hal penting dari
sistem informasi yang akan datang. Prototipe sistem informasi bukanlah merupakan
sesuatu yang lengkap, tetapi sesuatu yang harus dimodifikasi kembali, dikembangkan,
ditambahkan atau digabungkan dengan sistem informasi yang lain bila perlu.
Kelebihan Prototyping model :
1.Komunikasi antara pengembang dan pelanggan menjadi lebih baik.
2.Menghemat waktu pengembangan.
3.Pengembang dapat menentukan kebutuhan pelanggan sehingga dia dapat bekerja dengan
baik.
4.Pemakai mengetahui apa yang diharapkannya sehingga penerapan menjadi lebih mudah.
5.User dapat berpartisipasi aktif dalam pengembangan sistem.
6.Dapat menangkap syarat/keperluan secara nyata.
7.Dapat mendukung secara standalone.
Kekurangan Prototyping model :
1.Apabila data yang dikumpulkan hanya sebagian maka banyak kebutuhan yang tidak
ditampilkan.
2.Bentuk prototype banyak yang tidak sesuai.
3.Proses analisis dan perancangan sangat singkat.
4.Versi perbaikan dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang.
5.Mengesampingkan alternatif pemecahan masalah.
6.Bisanya kurang fleksible dalam mengahadapi perubahan.
7.Prototype yang dihasilkan tidak selamanya mudah dirubah
8.Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum
mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan
kemampuan pemeliharaan untuk jangja waktu lama.
9.Pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan algoritma
dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih cepat selesai
tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakan cetak biru sistem.
10.Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik
perancangan yang baik.
11.Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem
operasi yang tidak relevan dan algoritma yang tidak efisien.
12.Prototype yang di setujui oleh client harus dikembangkan oleh developer tanpa ada
data tambahan dari client dan software dari prototype harus memiliki fungsi yang
lengkap.
3. Model RAD
Rapid Aplication Model (RAD) adalah sebuah proses perkembangan perangkat lunak
sekuensial linier yang menekankan siklus perkembangan yang sangat pendek. Model RAD ini
merupakan sebuah adaptasi kecepatan tinggi dari model sekuensial linier dimana
perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen.
Jika kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan
menciptakan sistem fungsional yang utuh dalam periode waktu yang sangat pendek (kirakira 60 sampai 90 hari).
Kelebihan Model RAD :
1.Cocok untuk proyek yang memerlukan waktu yang singkat
2.Lebih efektif dan pendekatan waterfall/sequential linear dalam menghasilakn sistem
yang memenuhi kebutuhan langsung dari pelanggan.
Kekurangan model RAD :
1.Butuh orang banyak untuk menyelesaikan sebuah proyek berskala besar.
2.Pengembang dan customer harus punya komitmen yang kuat untuk menyelesaikan sebuah
software.
3.RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.
4.Jika sistem tidak dibangun dengan benar maka RAD akan bermasalah.
5.Jika ada peubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru antara
pengembang dan customer.
4. Incremental Model
Model Incremental dalam rekayasa perangkat lunak, menerapkan rekayasa perangkat lunak
perbagian, hingga menghasilkan perangkat lunak yang lengkap. Proses membangun berhenti
jika produk telah mencapai seluruh fungsi yang diharapkan.
Adapun beberapa tahapan yang ada pada model incremental dimana tahapan-tahapan tersebut
dilakukan secara berurutan. Setiap bagian yang sudah selesai dilakukan testing,
dikirim ke pemakai untuk langsung dapat digunakan.
Kelebihan incremental model :
1.Dikerjakan secara urut dan sistematis.
sebagai berikut :
- Persyaratan User
Laporan dalam bahasa natural plus diagram layanan yang tersedia dan batasan
operasional. Ditulis oleh konsumen.
- Persyaratan Sistem
Dokumen terstruktur yang berisi deskripsi detail dari fungsi sistem, layanan dan
batasan
operasional. Mendefinisikan apa yang harus dilaksanakan sehingga dapat menjadi bagian
dari kontrak antara konsumen dan developer.
Persyaratan Fungsional dan Non Fungsional
Persyaratan Fungsional adalah 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. Merupakan
penjelasan tentang layanan yang perlu disediakan oleh system, bagaimana system menerima
dan mengolah masukan, dan bagaimana system mengatasi situasi situasi tertentu.
Selain itu kadang kadang juga secara jelas menentukan apa yang tidak
dikerjakan oleh system. Functional Requirement menggambarkan system requirement
secara detail seperti input, output dan pengecualian yang berlaku
Contoh Persyaratan fungsional:
* User dapat mencari semua atau satu set awal database atau memilih subset darinya.
* System akan menyediakan viewer yang sesuai bagi user untuk membaca dokumen pada
penyimpanan (store) dokumen.
* Semua pemesanan diberi identifier yang unik (ORDER_ID) yang dapat di copy user ke
area penyimpanan permanent untuk account tersebut.
Persyaratan Fungsional dan Non Fungsional
Persyaratan Non Fungsional adalah pernyataan tentang batasan layanan dan fungsi yang
diberikan sistem. Karena berkaitan dengan kebutuhan system secara keseluruhan, maka
kegagalan memenuhi kebutuhan jenis ini berakibat pada system secara keseluruhan.Contoh
kebutuhan jenis ini adalah kecepatan akses, keamanan data, besarnya kapasitas
penyimpanan yang diperlukan, privasi masing masing profil/account, bahasa
pemrograman yang digunakan, system operasi yang digunakan.
Persyaratan non-fungsional terdiri dari:
* 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 factor eksteral terhadap system
dan proses pengembangannya.
Ukuran persyaratan non-fungsional
* Kecepatan: transaksi yang diproses perdetik, waktu tanggal user per event atau waktu
refres layar.
* Ukuran: KB atau jumlah Chip RAM.
* Kemudahan Penggunaan: waktu pelatihan atau jumlah frame help.
* Kehandalan: waktu rata-rata kegagalan, probabilitas ketidaksediaan, kecepatan
terjadinya kegagalan atau ketersediaan.
* Ketahanan: waktu start ulang setelah kegagalan, prosentase event yang gagal atau
probabilitas korupsi data.
* Portabilitas: prosentase peryataan tergantung target atau jumlah system target.
Dokumen Persyaratan Perangkat Lunak
Dokumen persyaratan perangkat lunak (SRS/Software Requirements Specification) merupakan
persyaratan resmi mengenai apa yang dituntut dari pengembang sistem. Dokumen berisi
persyaratan user untuk sistem dan spesifikasi secara rinci dari persyaratan sistem.
Berikut ilustrasi contoh dokumen persyaratan perangkat lunak dan bagaimana
pemanfaatannya
Pelanggan Sistem
Manajer
Perekayasa sistem
Perekayasa pengujian
Menggunakan persyaratan untuk mengembangkan pengujian validasi bagi sistem
sistem
Perekayasa
Menggunakan persyaratan untuk membantu memahami sistem dan hubungan antara
pemeliharaan sistem bagian bagiannya
Ian Sommerville dalam bukunya Software Engineering mengusulkan bahwa ada enam
persyaratan yang harus dipenuhi oleh dokumen persyaratan perangkat lunak yaitu:
- Menspesifikasi perilaku sistem eksternal.
- Menspesifikasi batasan batasan implementasi.
- Mudah diubah
- Berfungsi sebagai alat bantu referensi bagi pemelihara sistem.
Lembaga IEEE telah membuat standar untuk dokumen persyaratan perangkat lunak (IEEE/ANSI
830-1993). Berikut outline yang disarankan oleh IEEE untuk dokumen persyaratan
perangkat lunak:
1. Pendahuluan
1.1 Tujuan dokumen persyaratan
1.2 Cakupan produk
1.3 Definisi, akronim, dan singkatan
1.4 Referensi
1.5 Tinjauan bagian dokumen berikutnya
2. Deskripsi umum
2.1 Perspektif produk
2.2 Fungsi produk
2.3 Karakteristik user
2.4 Batasan-batasan umum
2.5 Asumsi dan ketergantungan
3. Persyaratan khusus
4. Lampiran
5. Indeks
Persyaratan khusus mencakup persyaratan fungsional, non-fungsional dan interface yang
merupakan bagian penting dari dokumen persyaratan perangkat lunak. Standar dari IEEE
memberikan saran apa saja yang perlu ditulis di dokumen persyaratan perangkat lunak,
tetapi pemanfaatannya tergantung dari kebutuhan pengembang dan pengguna perangkat lunak
tersebut.
Spesifikasi persyaratan user
Persyaratan User
Mendeskprisikan persyaratan fungsional dan non-fungsional sehingga dapat dipahami oleh
user yang tidak memiliki pengetahuan teknik. Persyaratan user harus ditulis memakai
bahasa natural formal dan diagaram intuitif yang sederhana. Persyaratan user tidak
boleh didefinisikan memakai model implementasi.
Masalah yang sering muncul:
- Tidak ada kejelasan
- Kesimpang-siuran persyaratan
- Penggabungan persyaratan
Spesifikasi
* User harus diberi fasilitas untuk mendefinisikan jenis file eksternal.
* Setiap file eksternal bisa memiliki alat bantu relevan yang bisa diterapkan pada file
tersebut.
* Setiap file eksternal bisa direpresentasikan sebagai ikon yang spesifik pada display
user.
* Fasilitas harus disediakan untuk ikon yang merepresentasikan suatu jenis file
eksternal yang akan didefinisikan oleh user.
* Ketika user memilih suatu ikon yang merepresentasikan file eksternal, efek pemilihan
adalah penerapan alat bantu yang berhubungan dengan jenis file eksternal ke file yang
direpresentasikan oleh ikon yang dipilih.
1. Jelaskan apa yang anda ketahui mengenai wawancara, skenario dan etnografi.
2. Jelaskan apa yang dipersiapkan dalam Pengesahan persyaratan.
3. Jelaskan fungsi Manajemen persyaratan.
1. Jelaskan apa yang anda ketahui mengenai wawancara, skenario dan etnografi.
Wawancara
Metode ini merupakan teknik pengumpulan requirement yang paling umum di lakukan. Teknis
dilapangan nya, sang pengembang atau develop menanyakan hal hal yang berkaitan dengan
masalah yang diangkat kepada responden yang memiliki kriteria yang cocok pada masalah
yang ditanyakan. Berikut langkah melakukan interview :
Memilih target interview
Mendesain pertanyan interview
Persiapan
Interview
Follow up
Wawancara secara Formal atau informal dengan pemegang taruhan menjadi bagian dari
paling tentang proses. Untuk menjadi pewawancaraan efektif, jadilah berpandangan
terbuka, menghindari pra ide terbenihkan sekitar persyaratan dan akan untuk
mendengarkan pemegang taruhan, Bisikkan orang sedang diwawancarai untuk memperoleh
pergi bahasan mempergunakan satu pertanyaan papan loncatan, satu usulan persyaratan,
atau dengan mengerjakan bersama-sama pada satu sistem contoh asli.
Skenario
Skenario adalah contoh kehidupan nyata dari bagaimana satu sistem dapat dipergunakan.
Skenario harus termasuk
- Satu uraian tentang keadaan awal;
- Satu uraian tentang aliran normal dari peristiwa;
- Satu uraian tentang apa yang dapat seleweng;
- Keterangan sekitar aktivitas berbarengan yang lain;
- Satu uraian tentang status ketika selesai skenario.
Etnografi
Etnografi berasal dari bahasa yunani, ethnes artinya rakyat sedangkan grapho
menulis. Jadi ethnography merupakan strategi atau metode penelitian ilmiah yang
sering digunakan dalam bidang ilmu sosial, khususnya dalam antropologi dan dalam
beberapa cabang sosiologi lainnya. Nilai etnografi membantu menemukan persyaratan
sistem yang implisit yang merefleksikan proses sebenarnya, bukan proses formal, dimana
orang orang terlibat.
Teknik teknik ethnography :
a) Penelitian Kuantitatif
b) Penelitian Kebijakan Publik
c) Jurnalisme
Menurut Denzim, ada 8 prinsip dalam metodologi ethnography, yaitu :
1) Kelompok kelompok harus menggabungkan makna simbolik dengan pola interaksi
2) Amati dunia / permasalahan dari sudut pandang subject
3) Merekam semua perilaku subject
4) Metodologi ini harus meliputi tahapan proses, perubahan dan stabilitas
5) Bertindak dengan interaksi simbolis sejenis
6) Melihat makna subject dengan hubungan sosial
7) Menggunakan konsep yang terperinci untuk menghindari penjelasan yang sulit.
8) Tetap menjaga perbedaan antara persepsi dan realitas.
Jelaskan apa yang dipersiapkan dalam Pengesahan persyaratan.
Yang dipersiapkan dalam Pengesahan persyaratan
Kebenaran. Apakah sistem menyediakan fungsi yang mana dukungan terbaik persyaratannya
pelanggan?
Konsistensi. Ada di sana apapun konflik persyaratan?
Kelengkapan. Adalah semua fungsi diperlukan oleh pelanggan termasuk?
Realisme. Dapat persyaratan menjadi tertentu yang penerapan anggaran keuangan
tersedia dan teknologi
Diagram
Aktivity Diagram
Activity diagram menyediakan analis dengan kemampuan untuk memodelkan proses dalam
suatu sistem informasi. Activity diagram dapat digunakan untuk alur kerja model, use
case individual, atau logika keputusan yang terkandung dalam metode individual.
Activity diagram juga menyediakan pendekatan untuk proses pemodelan paralel.
Contoh/bentuk diagram Aktivity
Diagram Kolaborasi
Diagram kolaborasi diagram yang fungsinya sama dengan diagram interaksi (sekuen
diagram). tetapi terdapat hal yang membedakan antara diagram kolaborasi dengan diagram
interaksi yaitu penyusunannya, diagram kolaborasi lebih menekankan kepada struktur
aliran dari objek objek yang mengirim dan menerima pesan.
Contoh/bentuk diagram Kolaborasi
Component Diagram
Diagram ini bila dikombinasikan dengan diagram penyebaran dapat digunakan untuk
menggambarkan distribusi fisik dari modul perangkat lunak melalui jaringan. Misalnya,
ketika merancang sistem client-server, hal ini berguna untuk menunjukkan mana kelas
atau paket kelas akan berada pada node klien dan mana yang akan berada di server.
Contoh/bentuk diagram Komponen
Kelas merupakan sebuah objek dimana dalam kelas diagram, kelas diwakilkan dengan kota
yang berisi tiga bagian diantaranya yaitu :
1.
Nama Kelas
2.
Atribut Kelas, merupakan informasi mengenai objek atau kelas
yang disimpan atau setidaknya dipertahankan sementara.
3.
Methode, merupakan hal hal atau operasi yang dapat dilakukan oleh suatu objek
atau kelas
4.
Visibilitas, merupakan visibility dari tiap atribut atau operator pada suatu
kelas. Berikut ini adalah visibilitas yang dapat digunakan
Jelaskan mengenai Model Konteks, Model Interaksi, Model Struktural, Model Tingkah Laku,
Model-driven Rekayasa,
Model Konteks
Model konteks biasanya digunakan untuk mengilustrasikan keadaan (konteks) operasional
dari sistem hal ini memperlihatkan apa saja yang ada di luar batas sistem.
Perhatian masyarakat dan organisasi mungkin mempengaruhi keputusan pada memposisikan
batasan-batasan sistem.
Model arsitektur (Architectural models) memperlihatkan sistem dan hubungannya dengan
sistem lain.
Model Interaksi
Pemodelan interaksi pengguna adalah sangat penting karena membantu identifikasi
persyaratan (kebutuhan) pengguna.
Pemodelan interaksi sistem ke sistem menyoroti masalah komunikasi yang mungkin
timbul.
Pemodelan interaksi komponen membantu kita memahami jika struktur sistem yang
diusulkan sesuai dengan pemenuhan kebutuhan kinerja sistem dan ketergantungannya.
Use case diagrams and sequence diagrams mungkin digunakan untuk pemodelan interaksi.
Model struktural
Model struktural dari perangkat lunak menampilkan organisasi dari sistem dalam
kaitannnya dengan komponen-komponen pembentuk sistem dan hubungan-hubungannya.
Model struktural mungkin model statis, yang memperlihatkan struktur dari desain
sistem, atau model dinamis, yang memperlihatkan organisasi dari sistem ketika sedang
dijalankan.
Anda membuat model struktural dari sistem ketika Anda kamu sedang mendiskusikan dan
mendisain arsitektur sistem.
Model tingkah laku
memodelkan perilaku dinamis dari sistem dan bagaimana merespon ke tindakan (events).
Model driven Rekayasa
Dalam proses rekayasa model-driven, memungkinkan untuk menghasilkan implementasi
sistem lengkap atau parsial dari pemodelan sistem tersebut.
Diskusikan mengenai Alat-alat bantu perancangan terstruktur yang digunakan oleh sistem
analis sbb:
- Document Flowchart
- System Flowchart
- ICAM
- DFD
- DOCUMENT FLOWCHART
DOCUMENT FLOWCHART
Document Flowchart menelusuri alur dari data yang ditulis melalui sistem. Document
Flowchart sering disebut juga dengan Flowchart Dokumen.
Kegunaan utamanya adalah untuk menelusuri alur form dan laporan sistem dari satu bagian
ke bagian lain baik bagaimana alur form dan laporan diproses, dicatat dan disimpan.
Contoh :
suatu contoh flowchart ini mengenai alur pembuatan kartu anggota untuk suatu
perpustakaan.
Keterangan:
# : proses pengisian data
P : tanda tangan dan validasi data
System Flowchart / FLowchart System
Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang
dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedurprosedur yang ada di dalam sistem. Dengan kata lain, flowchart ini merupakan deskripsi
secara grafik dari urutan prosedur-prosedur yang terkombinasi yang membentuk suatu
sistem.
Flowchart Sistem terdiri dari data yang mengalir melalui sistem dan proses yang
mentransformasikan data itu. Data dan proses dalam flowchart sistem dapat digambarkan
secara online (dihubungkan langsung dengan komputer) atau offline (tidak dihubungkan
langsung dengan komputer, misalnya mesin tik, cash register atau kalkulator).
Diagram Alir Data (DAD) atau Data Flow Diagram (DFD) adalah suatu diagram yang
menggunakan notasi-notasi untuk menggambarkan arus dari data sistem, yang penggunaannya
sangat membantu untuk memahami sistem secara logika, tersruktur dan jelas. DFD
merupakan alat bantu dalam menggambarkan atau menjelaskan DFD ini sering disebut juga
dengan nama Bubble chart, Bubble diagram, model proses, diagram alur kerja, atau model
fungsi.
Tujuan DFD adalah :
1. Memberikan indikasi mengenai bagaimana data ditransformasi pada saat data bergerak
melalui sistem
2. Menggambarkan fungsi-fungsi(dan sub fungsi) yang mentransformasi aliran data
Manfaat DFD adalah :
Data Flow Diagram (DFD) adalah alat pembuatan model yang memungkinkan profesional
sistem untuk menggambarkan sistem sebagai suatu jaringan proses fungsional yang
dihubungkan satu sama lain dengan alur data, baik secara manual maupun komputerisasi.
DFD ini adalah salah satu alat pembuatan model yang sering digunakan,khususnya bila
fungsi-fungsi sistem merupakan bagian yang lebih penting dan kompleks dari pada data
yang dimanipulasi oleh sistem.Dengan kata lain, DFD adalah alat pembuatan model yang
memberikan penekanan hanya pada fungsi sistem.
DFD ini merupakan alat perancangan sistem yang berorientasi pada alur data dengan
konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan sistem
yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat
program.
Contoh DFD Pemesanan Baju Online :
-ICAM
IDEF, merupakan istilah akronim majemuk (ICAM Definition Function Modeling, dan
'ICAM' sendiri adalah singkatan dari Integrated Computer Aided Manufacturing). IDEF
adalah metodologi fungsi pemodelan untuk menggambarkan fungsi manufaktur, yang
menawarkan bahasa pemodelan fungsional untuk analisis, pengembangan, rekayasa ulang,
dan integrasi sistem informasi; proses bisnis, atau analisis rekayasa perangkat lunak.
IDEF0 merupakan bagian dari keluarga bahasa pemodelan IDEF di bidang rekayasa
perangkat lunak, dan dibangun pada pemodelan fungsional bahasa Analisis Terstruktur dan
Teknik Desain. Pemodelan aktivitas IDEF (Integration Definition for Function) cocok
untuk pendokumentasian proses bisnis yang menyediakan sudut pandang konteks tingkat
tinggi, dan juga sudut pandang yang didetailkan pada setiap langkah dalam aktivitas
dalam format yang dapat didekomposisi lebih lanjut dan dihubungkan dengan proses
lainnya untuk menunjukkan kaitannya. Tipe diagram ini berguna untuk menunjukkan
hubungan antara langkah langkah dan pengaruh internal/eksternal, tetapi tidak
mengindikasikan urutan waktu.
Analisa sistem dilakukan untuk membuat keputusan perancangan arsitektural yang memiliki
efek sangat besar mengenai kinerja, keandalan, dan kemampuan dapat dipelihara.
Pemakaian ulang berskala besar.
Arsitektur dapat ditransfer melintasi sistem dengan persyaratan yang sama dan dengan
demikian dapat mendukung pemakaian ulang perangkat lunak berskala besar. Pendidikan
Teknik Informatika dan Komputer Universitas Negeri Makassar
Metode Analisis Software Architecture
Metode Analisis Arsitektur Software adalah metode yang digunakan dalam arsitektur
perangkat lunak untuk mengevaluasi arsitektur sistem. Atau metodologi yang digunakan
untuk menentukan bagaimana kualitas atribut aplikasi spesifik yang dicapai dan
bagaimana kemungkinan perubahan di masa depan akan mempengaruhi kualitas atribut
berdasarkan kasus studi hipotesis. Atribut kualitas umum yang dapat dimanfaatkan oleh
metodologi ini termasuk kemampuan modifikasi, ketahanan, portabilitas, dan jangka
panjang.
1.
2.
3.
4.
dari
dari
dari
dari
dari
Dalam ilmu komputer dan teori kontrol rekayasa seperti untuk konverter energi
elektromekanis, prinsip Pareto dapat diterapkan untuk upaya optimasi. Sebagai contoh,
Microsoft mencatat bahwa dengan menetapkan atas 20% paling melaporkan bug, 80% dari
kesalahan dan crash akan dihilangkan.
Prinsip Pareto berlaku untuk pengujian perangkat lunak, maksudnya dari 80% kesalahan
yang ditemukan selama pengujian dapat ditelusuri sampai 20% dari semua modul program.
Dalam pengembangan perangkat lunak proses yang khas adalah bahwa pengumpulan
persyaratan, persyaratan review, desain, desain review, coding, kode review, pengujian
komponen, pengujian integrasi, rilis, dan pemeliharaan. Singkatnya, proyek mulai dengan
satu set persyaratan, dan kemudian pergi melalui serangkaian perbaikan dimana
spesifikasi asli dibandingkan dengan produk akhir untuk kelengkapan dan kebenaran dan
terhadap penggunaan dunia nyata untuk perbaikan tambahan. Selama revisi, jika
persyaratan dari proses pembangunan mengikuti distribusi Pareto, maka beberapa isu
kunci akan menampakkan diri dan perlu ditangani pada setiap revisi baru. Persyaratan
lama akan memudar , dan yang baru akan muncul dengan konteks mereka sendiri .
Praktis pengalaman memberitahu kita bahwa pada awal proyek perangkat lunak masalah
tersebut mencakup isu-isu tersebut pada platform pilihan, bahasa implementasi, database
model data, modus akses dan fungsi utama dari aplikasi. Seiring waktu, penyempurnaan
lanjutan dapat memperkenalkan persyaratan yang membahas bagaimana aplikasi bekerja
untuk kelompok tertentu pengguna, atau dalam konsep dengan aplikasi eksternal lainnya.
Menurut saya yang paling baik digunakan adalah Metode White Box karena White Box adalah
meramalkan cara kerja perangkat lunak secara rinci, karenanya logikal path (jalur
logika) perangkat lunak akan ditest dengan menyediakan test case yang akan mengerjakan
kumpulan kondisi dan atau pengulangan secara spesifik. Secara sekilas dapat diambil
kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar
secara 100%.
1.
2.
3.
4.
Sistem tekhnikal sosial (sociotechnical system) merupakan faktor atau aspek sosial
yang berkaitan dengan implementasi teknologi (teknis) dalam pengembangan suatu sistem.
Sebuah produk perangkat lunak tidak hanya berkutat dengan masalah yang berhubungan
dengan teknologi (teknis), bahkan sering sebuah produk perangkat lunak hanya dibuat
atau dikembangkan berdasarkan sudut pandang pengembang perangkat lunak yang memiliki
kecenderungan berpola pikir teknik
LAPISAN
Perangkat (Equipment)
Alat perangkat keras, beberapa yang iantaranya mungkin komputer. Kebanyakan peralatan
termasuk sistem yang melekat (embdded systems) atau semacamnya.
Sistem operasi
Menyediakan seperangkat fasilitas umum dengan bahasa tingkat tinggi (higher level)
dalam sistemnya.
Manajemen komunikasi dan data
`Middleware` yang menyediakan akses ke sistem remote dan basis data.
Sistem aplikasi
Fungsional spesifik yang memenuhi kebutuhan-kebutuhan organisasi.
Proses bisnis
Seperangkat proses yang melibatkan orang dan sistem komputer yang mendukung
aktivitas bisnis.
Organisasi
Aktifitas-aktifitas bisnis strategis tingkat tinggi yang mempengaruhi operasi dari
sistem.
Masyarakat (Society)
Hukum, peraturan dan budaya yang mempengaruhi operasi dari siste
Prinsip-prinsip dalam desain STS
Kompatibilitas (compatibility)
Spesifikasi Kritis (Critical Specification)
Kriteria Sosio-Teknis (The Socio-Technical Criterion)
Men-support Harmonisasi (Support Congruence)
Disain dan Nilai Kemanusiaan (Design and Human Values)
Tujuan Perancangan Sistem Holistic adalah Untuk dapat diandalkan (dependability),
karena perspektif sistem adalah penting
Dampak kegagalan seperti yang dilaporkan Standish Report tersebut berakibat pada
pemborosan SDM dan peralatan, hilangnya dana klien, kerugian instalasi, bahkan
hilangnya sebuah kehidupan. Dan ketika diproses di lembaga hukum, aduannya banyak
dimentahkan oleh pihak pengadilan. Padahal biaya peradilannya sendiri seringkali lebih
besar dari pada coding cost yang dipermasalahkan itu. Dan sekalipun telah lebih dari 12
tahun berselang, seperti dalam laporan terbaru Standish Report (2006), bahwa proyek
perangkat lunak yang dibuat mulai 2006 yang berkatagori sukses baru beranjak ke level
35% (dari 16,2 % di tahun 1994). Ini berarti baru 35% dari proyek perangkat lunak yang
bisa selesai tepat waktu, tepat biaya dan memenuhi kebutuhan user. Lebih lanjut
dilaporkan bahwa proyek yang sama sekali gagal turun menjadi 19% (dari 31,1% ditahun
1994), sedangkan proyek yang termasuk dalam kelompok challenged turun menjadi 46% (dari
kisaran 52,7% di tahun 1994).
2. Mengapa Proyek Perangkat Lunak Gagal?
Berdasarkan Versi OXPORD University
Sebuah kajian yang lain dilakukan oleh laboratorium komputer OXPORD University, yang
menyebutkan bahwa ketidakberhasilan sebuah proyek perangkat lunak banyak disebabkan
karena :
1. Kegagalan mengkomunikasikan permintaan klien dengan anggota team desain inti.
2. Kurangnya metode yang dapat menjamin requirement statement yang konsisten, akurat
dan lengkap.
3. Ketidakmampuan mengatasi perubahan (evolusi) permintaan klien (user).
Penelitian tersebut juga berhasil menyimpulkan bahwa biang kegagalan sebuah proyek
perangkat lunak yang paling umum adalah ketidakberhasilan dalam mendefinisikan
permintaan klien secara akurat. Dan kesalahan yang sering terjadi selama ini bukan
karena suatu faktor yang misterius, melainkan kesalahan yang baru diketahui di
kemudian hari setelah proses pengembangan perangkat lunak telah berubah cukup jauh.
Solusi mengatasi resiko perangkat lunak.
Kita harus memanajemen resiko, seperti mengidentifikasi dan menganalisa resiko
Penanganan resiko:
a. High probability, high impact: resiko jenis ini umumnya dihindari ataupun
ditransfer.
b. Low probability, high impact: respon paling tepat untuk tipe resiko ini adalah
dihindari. Dan jika masih terjadi, maka lakukan mitigasi resiko serta kembangkan
contingency plan.
c. High probability, low impact: mitigasi resiko dan kembangkan contingency plan.
d. Low probability, low impact: efek dari resiko ini dapat dikurangi, namun biayanya
dapat saja melebihi dampak yang dihasilkan. Dalam kasus ini mungkin lebih baik untuk
menerima efek dari resiko tersebut.
1.
2.
3.
4.
Service-oriented systems
software product lines
COTS product reuse
ERP systems
Configuable vertical applications
Program libraries
1. Manajemen Konfigurasi.
Dalam rekayasa perangkat lunak , manajemen konfigurasi perangkat lunak (SCM) adalah
tugas pelacakan dan mengendalikan perubahan dalam perangkat lunak. Praktek manajemen
Konfigurasi termasuk kontrol revisi dan pembentukan garis .
SCM keprihatinan sendiri dengan menjawab pertanyaan Seseorang melakukan sesuatu,
bagaimana seseorang dapat mereproduksi itu? Seringkali masalah melibatkan tidak
berkembang biak itu identik, tetapi dengan dikontrol, perubahan bertahap. Menjawab
pertanyaan itu dengan demikian menjadi masalah yang berbeda dan membandingkan hasil
analisis perbedaan mereka. Manajemen konfigurasi tradisional biasanya berfokus pada
penciptaan dikontrol produk relatif sederhana. Sekarang, pelaksana SCM menghadapi
tantangan yang berkaitan dengan peningkatan relatif kecil di bawah kendali mereka
sendiri, dalam konteks sistem yang kompleks dikembangkan.
Tujuan dari SCM umumnya :
- Kontrol versi mengkombinasikan prosedur dan tool untuk mengatur versi yang berbeda
dari konfigurasi objek yang dibuat selama proses rekayasa perangkat lunak.
- Manajemen konfigurasi meminta pengguna untuk menspesifikasi konfigurasi alternatif
dari sistem perangkat lunak pada saat seleksi versi yang tepat.
4. Manajemen Release
Manajemen pelepasan (release)
Mempersiapkan perangkat lunak untuk pelepasan keluar dan menjejaki versi sistem yang
telah dilepaskan untuk penggunaan pelanggan.
1.
2.
3.
4.