Powerpoint Templates Fakultas Ilmu Komputer Universitas Putra Indonesia YPTK Padang Software Engineering FAQ Mengenai Rekayasa Perangkat Lunak
Manajemen Proyek
Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak
• Apakah Perangkat Lunak itu ? • Apakah Rekayasa Perangkat Lunak itu ? • Apa yang Dimaksud dengan Proses Perangkat Lunak ? • Apa yang Dimaksud dengan Model Proses Perangkat Lunak • Berapa Biaya Rekayasa Perangkat Lunak • Apa Saja Atribut-atribut Perangkat Lunak ? • Apakah Tantangan Kunci yang • Apakah Perangkat Lunak itu ? Software (Perangkat lunak) Adalah program komputer yang berfungsi sebagai sarana interaksi antara pengguna dan hardware (perangkat keras). Software (Perangkat lunak) Dapat juga dikatakan sebagai 'penterjemah' perintah-perintah yang dijalankan pengguna komputer untuk diteruskan ke atau diproses oleh hardware (perangkat keras). Software (Perangkat lunak) Program komputer yang terasosiasi dengan dokumentasi perangkat lunak seperti dokumentasi kebutuhan, model desain, dan cara penggunaan. Software (Perangkat lunak) Tidak hanya mencakup program, tetapi juga semua dokumentasi dan konfigurasi data yang berhubungan, yang diperlukan untuk membuat agar program dapat beroperasi dengan benar. Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak Karakter Perangkat Lunak adalah : • Perangkat lunak dibangun dengan rekayasa (Software Engineering) bukan diproduksi secara manufaktur atau pabrikan • Perangkat lunak tidak pernah usang, karna kecacatan dalam perangkat lunak dapat diperbaiki • Barang produksi pabrikan biasanya komponen barunya akan terus diproduksi, sedangkan perangkat lunak biasanya terus diperbaiki seiring bertambahnya kebutuhan
Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak
Aplikasi dari Perangkat Lunak adalah : • Perangkat Lunak Sistem Suatu jenis perangkat lunak komputer yang mengatur dan mengontrol perangkat keras sehingga perangkat lunak aplikasi dapat melakukan tugasnya. • Perangkat Lunak Watu Nyata Perangkat lunak yang memonitor, menganalisis, mengontrol sesuatu secara waktu nyata. • Perangkat Lunak Bisnis Perangkat lunak pengelola informasi bisnis (akuntansi, penjualan, pembayaran dan penyimpanan) • Perangkat Lunak Berbasis Web Merupakan perangkat lunak yang dapat diakses dengan menggunakan browser.
Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak
• Perangkat Lunak Rekayasa dan Keilmuan Perangkat lunak yang mengimplementasikan algoritma yang terkait dengan keilmuan ataupun perangkat lunak yang membantu keilmuan. • Perangkat Lunak Komputer Personal Perangkat lunak untuk PC misalnya perangkat lunak pemproses teks, DBMS, banyak dgunakan pada aplikasi yang bersifat perorangan. • Perangkat Lunak Iinteligensia Buatan Perangkat Lunak yang dibuat dengan teknik algoritma non numerik untuk memecahkan masalah yang kompleks yang digunakan dalam bidang aplikasi kecerdasan buatan.
Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak
• Apakah Rekayasa Perangkat • Lunak Rekayasaitu ? perangkat lunak Merupakan Pembangunan dengan menggunakan prinsip atau konsep rekayasa dengan tujuan menghasilkan perangkat lunak yang bernilai ekonomi yang dipercaya dan bekerja secara efisien menggunakan mesin. • Rekayasa perangkat lunak Lebih fokus pada praktek pengembangan perangkat lunak dan mengirimkan perangkat lunak yang bermanfaat kepada pelanggan • Rekayasa Perangkat Lunak Adalah Disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan. • Rekayasa Perangkat Lunak Adalah Teknologi yang harus digunakan oleh setiap orang yang akan membangun software, dengan Terimelalui serangkaian Ade Putra, proses, S. Kom, M. Kom – menggunakan sekumpulan Rekayasa Perangkat Lunak metode dan alat bantu (tools Rekayasa perangkat lunak lebih fokus kepada kriteria sebagai berikut : • Dapat terus dipelihara setelah perangkat lunak selesai dibuat seiring dengan perkembangan teknologi (Maintainability) • Dapat diandalkan dengan proses bisnis yang dijalankan dan perubahan yang terjadi (Dependability dan Robush) • Efisien dari segi sumber daya dan penggunaan. • Kemampuan untuk dipakai sesuai dengan kebutuhan (Usability)
Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak
Jadi perangkat lunak yang baik itu adalah perangkat lunak yang memenuhi kebutuhan pelanggan atau user atau beroriensasi pada pelanggan atau pemakai perangkat lunak, bukan berorientasi pada pembuat atau pengembang perangkat lunak.
Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak
• Apa yang Dimaksud dengan Proses Perangkat Lunak Proses perangkat lunak adalah serangkaian kegiatan dan hasil-hasil relevannya yang menghasilkan perangkat lunak. Ada 4 kegiatan proses dasar yang umum bagi seluruh kegiatan proses perangkat lunak : 1. SpesifikasiPerangkat Lunak Fungsionalitas perangkat lunak dan batasan kemampuan operasinya harus didefinisikan 2. Pengembangan Perangkat Lunak Perangkat lunak yang memenuhi spesifikasi tersebut harus diproduksi 3. Validasi Perangkat Lunak Perangkat lunak harus divalidasi untuk menjamin bahwa perangkat lunak melakukan apa yang diinginkan oleh pelanggan 4. Evolusi Perangkat Lunak Perangkatlunak harus berkembang sesuai dengan kebutuhan pelanggan Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak • Apa yang Dimaksud dengan Model Perangkat Lunak ?
Model proses perangkat lunak merupakan deskripsi
yang disederhanakan dari proses perangkat lunak yang direpresentaskan dengan sudut pandang tertentu Model , sesuai dengan sifatnya yaitu penyederhanaan yaitu mencakup kegiatan yang merupakan bagian dari proses perangkat lunak, produk perangkat lunak, dan peran orang yang terlibat pada rekayasa perangkat lunak, beberapa contoh dari model proses perangkat lunak yang dapat dihasilkan adalah : • Model Aliran Kerja (Work Flow) • Model Peran/Aksi
Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak
1. Model Aliran Kerja Urutan kegiatan pada proses Input-Output- KetergantungannyaModel ini adalah representasi pekerjaan manusia. 2. Model Peran/Aksi Melibatkan peran orang yang terlibat pada proses perangkat lunak
Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak
Mahasiswa baru membeli formulir di bagian penmaru Setelah calon mahasiswa mengisi formulir dengan lengkap dengan persyaratan yang sudah ditentukan Petugas penmaru membuat nomer tes Petugas penmaru menentukan ruangan tes Petugas memberikan nomer tes peserta kepada calon mahasiswa Pelaksanaan tes Mengumumkan hasil test di dalam website stikom atau dapat dillihat dipapan pengumuman stikom Lalu melakukan registerasi kepada bagian penmaru Dosen memberitahukan atau mengkonfirmasi kepada AAK tentang mata kuliah dan kelas yang akan digantikan Dosen dan petugas AAK melakukan pengecekan dengan aplikasi apakah ada mata kuliah yang kres atau tidak. Maka dilakukan penjadwalan mata kuliah Penjadwalan yang sudah diganti akan berubah status Dosen Ijin = sudah memberitahukan sebelumnya Dosen Alpa = tidak masuk apabila tidak ada konfirmasi kedatangan selama 24 jam dari mata kuliah Mata kuliah pengganti akan muncul di SIIS. Mahasiswa baru membeli formulir di bagian penmaru Setelah calon mahasiswa mengisi formulir dengan lengkap dengan persyaratan yang sudah ditentukan Petugas penmaru membuat nomer tes Petugas penmaru menentukan ruangan tes Petugas memberikan nomer tes peserta kepada calon mahasiswa Pelaksanaan tes Mengumumkan hasil test di dalam website stikom atau dapat dillihat dipapan pengumuman stikom Lalu melakukan registerasi kepada bagian penmaru Ada sejumlah model atau paradigma umum pada pengembangan perangkat lunak : 1. Pendekatan Air Terjun (Waterfall) 2. Pengembangan Evolusioner 3. Transformasi Formal 4. Perakitan (Asembling) Sistem dari komponen- komponen yang dapat dipakai ulang.
Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak
Suatu proses model adalah suatu representasi abstrak suatu model. Proses model menampilkan suatu deskripsi suatu proses dari beberapa perspektif tertentu, 1. Spesifikasi – apa yang dilakukan sistem dan batasan pembangunan 2. Pembangunan – Produksi dari Sistem perangkat lunak 3. Validasi – Pemeriksaan apakah PL sesuai dengan pemesanan 4. Evolusi – Pengubahan PL sesuai dengan perubahan permintaan dan kebutuhab zaman. Proses PL merupakan aktifitas yang saling terkait (koheren) untuk menspesifikasikan, merancang, implementasi dan pengujian sistem perangkat lunak Model ini adalah model klasik yang bersifat sistematis, berurutan dalam membangun software. Model Air terjun (Water fall) ◦ Memisahkan dan membedakan antara spesifikasi dan pengembangan Pengembangan yang berevolusi ◦ Spesifikasi dan pengembangan saling bergantian Pengembangan sistem Formal ◦ Menggunakan suatu model sistem matematika yang ditransformasikan ke implementasi, Pengembangan berbasis Re-use (penggunaan ulang) Sistem dibangun dari komponen yang sudah ada. Menurut R Pressman Menurut I Soumenville 1. Incremental 2. Spiral Pengembangan sistem berdasarkan model sistem yang dipecah sehingga model pengembangannya secara increament/bertahap Kebutuhan pengguna diprioritaskan dan priritas tertinggi dimasukkan dalam awal increment Setelah pengembangan suatu increment dimulai, kebutuhan dibekukan dulu hingga increment berikutnya dimulai Nilai penggunan dapat ditentukan pada setiap increament sehingga fungsionalitas sistem disediakan lebih awal, Increment awal berupa prototype untuk membantu memahami kebutuhan pada increment berikutnya, Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem, Prioritas tertinggi pd pelayanan sistem adalah yang paling diuji. Keuntungan Proses direpresentasikan sebagai model spiral (bukan berupa barisan aktfitas yang dapat ditrack mundur) Setiap loop dalam model spiral menyatakan fase proses, Tidak terdapat fase tertentu seperti spesifikasi atau perancangan, tetapi loop dalam spiral ditentukan pada apa yang dibutuhkan Determine objectives Evaluate alternatives alternatives and identify, resolve risks constraints Risk analysis Risk analysis Risk analysis Opera- Prototype 3 tional Prototype 2 protoype Risk REVIEW analysis Proto- type 1 Requirements plan Simulations, models, benchmarks Life-cycle plan Concept of Operation S/W requirements Product design Detailed Requirement design Development plan validation Code Design Unit test Integration and test plan V&V Integr ation Plan next phase test Acceptance Service test Develop, verify next-level product Loop paling dalam berfokus pada kelayakan dari sistem, Loop selanjutnya tentang definisi dari kebutuhan, loop berikutnya berkaitan dengan desain sistem dan seterusnya. Setiap Loop dibagi menjadi beberapa sektor Pada model spiral, resiko sangat dipertimbangkan. Resiko adalah sesuatu yang mungkin mengakibatkan kesalahan. Model spiral merupakan pendekatan yang realistik untuk PL berskala besar. Pengguna dan pembangun bisa memahami dengan baik software yang dibangun karena setiap kemajuan yang dicapai selama proses dapat diamati dengan baik. Namun demikian, waktu yang cukup panjang mungkin bukan pilihan bagi pengguna, karena waktu yang lama sama dengan biaya yang lebih besar. RAD adalah model proses pembangunan PL yang incremental. RAD menekankan pada siklus pembangunan yang pendek/singkat. RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat dicapai dengan menerapkan component based construction. Waktu yang singkat adalah batasan yang penting untuk model ini. Jika kebutuhan lengkap dan jelas maka waktu yang dibutuhkan untuk menyelesaikan secara komplit software yang dibuat adalah misalnya 60 sampai 90 hari. 1. tidak cocok untuk proyek skala besar 2. proyek bisa gagal karena waktu yang disepakati tidak dipenuhi 3. sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini 4. resiko teknis yang tinggi juga kurang cocok untuk model ini Sistem dibagi-bagi menjadi beberapa modul dan dikerjakan dalam waktu yang hampir bersamaan dalam batasan waktu yang sudah ditentukan. 1. Business modelling : menjawab pertanyaan-pertanyaan: informasi apa yang mengendalikan proses bisnis? Informasi apa yang dihasilkan? Siapa yang menghasilkan informasi? Kemana informasi itu diberikan? Siapa yang mengolah informasi? kebutuhan dari sistem 2. Data modelling: aliran informasi yang sudah didefinisikan, disusun menjadi sekumpulan objek data. Ditentukan karakteristik/atribut dan hubungan antar objek-objek tersebut analisis kebutuhan dan data 3. Process Modelling : objek data yang sudah didefinisikan diubah menjadi aliran informasi yang diperlukan untukmenjalankan fungsi- fungsi bisnis. 4. Application Generation: RAD menggunakan component program yang sudah ada atau membuat component yang bisa digunakan lagi, selama diperlukan. 5. Testing and Turnover: karena menggunakan component yang sudah ada, maka kebanyakan component sudah melalui uji atau testing. Namun component baru dan interface harus tetap diuji. Dari model-model di atas dan model-model yang akan dibahas kemudian, tidak ada satupun model yang cocok untuk semua jenis proyek pembuatan software. Penggunaan lebih dari satu model sangatlah dimungkinkan. Misalnya dalam model spiral dan model incremental dalam fase tertentu menggunakan model lain untuk mendapatkan hasil yang baik. 1. Apakah Perangkat Lunak dan Rekayasa Perangkat Lunak? 2. Apa yang Dimaksud dengan Proses Perangkat Lunak ? 3. Jelaskanlah Apa itu Waterfall Model dan Evolutionary Software Model! 4. Apa Saja Atribut-atribut Perangkat Lunak ? 5. Apakah Tantangan Kunci yang Dihadapi Rekayasa Perangkat Lunak ? 6. Jelaskan apa yang saudara ketahui tentang Activity Diagram dan buatkan simbol-simbol apa saja yang digunakan dalam Activity Diagram tersebut!
Pendekatan sederhana untuk SEO: Bagaimana memahami dasar-dasar optimasi mesin pencari dengan cara yang sederhana dan praktis melalui jalur penemuan non-spesialis untuk semua orang