SISTEM EMBEDDED
Dibuat Oleh:
Komponen perangkat lunak standar yang dapat digunakan kembali meliputi: sistem
operasi tertanam (OS), basis data yang real-time, dan bentuk middleware lainnya.
Adanya komponen berbentuk middleware lainnya ini menunjukkan software yang
menyediakan lapisan perantara antara OS dan software aplikasi (termasuk,
misalnya, libraries untuk komunikasi). Pemanggilan ke komponen software standar
mungkin sudah harus dimasukkan dalam spesifikasi. Oleh karena itu, informasi
tentang interface pemrograman aplikasi (API) dari komponen standar ini mungkin
diperlukan untuk menyelesaikan spesifikasi yang dapat dieksekusi.
Ini merupakan karakteristik dari sistem embedded yang harus dipertimbangkan baik
untuk hardware maupun software. Karena itu, jenis desain ini juga disebut
hardware/software codesign. Tujuan keseluruhannya adalah untuk menemukan
kombinasi yang tepat antara hardware dan software yang menghasilkan produk
yang paling efisien dan memenuhi spesifikasi. Oleh karena itu, sistem embedded
tidak dapat dirancang oleh proses sintesis dengan hanya mempertimbangkan
spesifikasi perilaku. Sebaliknya, harus memperhitungkan komponen yang tersedia.
Ada juga penyebab lainnya untuk kendala ini adalah untuk mengatasi
meningkatnya kompleksitas sistem embedded dan persyaratan time-to-market yang
ketat, sistem reuse pada dasarnya tidak dapat dihindari. Ini mengarah pada istilah
desain berbasis platform yaitu “Platform adalah keluarga dari arsitektur yang
memenuhi serangkaian kendala yang diberlakukan untuk memungkinkan sistem
reuse pada komponen hardware dan software. Namun, platform hardware saja tidak
cukup. Desain derivatif yang cepat dan andal, memerlukan penggunaan interface
pemrograman aplikasi platform (API) untuk memperluas platform menuju software
aplikasi. Secara umum, platform adalah lapisan abstraksi yang mencakup banyak
kemungkinan penyempurnaan ke level yang lebih rendah. Desain berbasis platform
melakukan pendekatan meet-in-the-middle yaitu dalam aliran desain top-down,
desainer memetakan turunan dari platform atas ke turunan yang lebih rendah, dan
menyebarkan kendala pada desain” [Sangiovanni-Vincentelli, 2002].
Pemetaan adalah proses berulang di mana alat evaluasi kinerja memandu tugas
berikutnya. Gambar 2 [Herrera et al., 2003a] memvisualisasikan pendekatan ini.
Ada perbedaan yang jelas antara persyaratan dan spesifikasi. Persyaratan adalah
kondisi yang dibutuhkan oleh pengguna untuk memecahkan masalah atau mencapai
tujuan. Spesifikasi adalah dokumen yang terspesifikasi, lengkap, tepat, dapat
diverifikasi, terdapat persyaratan, memiliki desain, memiliki perilaku atau
karakteristik lain dari suatu sistem, dan seringkali, terdapat prosedur untuk
menentukan apakah ketentuan ini telah dipenuhi. Spesifikasi untuk persyaratan ini
akan mencakup informasi teknis tentang aspek desain tertentu. Istilah lain yang
umum dilihat dalam buku dan makalah adalah spesifikasi kebutuhan yang
merupakan dokumen yang menentukan persyaratan untuk suatu sistem atau
komponen. Ini mencakup persyaratan fungsional, persyaratan kinerja, persyaratan
interface, persyaratan desain, dan standar pengembangan.
Spesifikasi adalah deskripsi tepat dari sistem yang memenuhi persyaratan yang
dinyatakan. Dokumen sebuah spesifikasi harus:
a) Lengkap
b) Konsisten
c) Dapat dipahami
d) Dapat ditelusuri ke persyaratan
e) Jelas
f) Dapat dimodifikasi
g) Mampu ditulis
3.3 Functional Design
Proses desain fungsional memetakan "apa yang harus dilakukan" dari Spesifikasi
Persyaratan ke dalam "bagaimana melakukannya" dari spesifikasi desain. Selama
tahap ini, keseluruhan struktur produk ditentukan dari sudut pandang fungsional.
Desain fungsional menggambarkan aliran sistem logis, organisasi data, input dan
output sistem, aturan pemrosesan, dan karakteristik operasional produk dari sudut
pandang pengguna. Desain fungsional tidak berkaitan dengan perangkat lunak atau
perangkat keras yang akan mendukung operasi produk atau organisasi fisik data
atau program yang akan menerima input data, melaksanakan aturan pemrosesan,
dan menghasilkan output yang diperlukan.
Prototipe adalah sampel awal atau model yang dibangun untuk menguji konsep atau
proses atau untuk bertindak sebagai hal yang akan ditiru atau dipelajari. Ini adalah
istilah yang digunakan dalam berbagai konteks, termasuk semantik, desain,
elektronik, dan pemrograman software. Prototipe dirancang untuk menguji dan
menguji coba desain baru untuk meningkatkan presisi oleh analis dan pengguna
sistem. Prototyping berfungsi untuk memberikan spesifikasi untuk sistem kerja
yang nyata dan bukan teoretis.
Di banyak bidang, ada ketidakpastian besar apakah desain baru benar-benar akan
melakukan apa yang diinginkan. Desain baru seringkali memiliki masalah yang
tidak terduga. Sebuah prototipe sering digunakan sebagai bagian dari proses desain
produk untuk memungkinkan kemampuan teknisi dan kemampuan desainer untuk
mengeksplorasi alternatif desain, menguji teori dan mengkonfirmasi kinerja
sebelum memulai produksi produk baru. Teknisi menggunakan pengalaman mereka
untuk menyesuaikan prototipe sesuai dengan yang tidak diketahui spesifik masih
ada dalam desain yang dimaksud. Sebagai contoh, beberapa prototipe digunakan
untuk mengkonfirmasi dan memverifikasi minat konsumen dalam desain yang
diusulkan sedangkan prototipe lain akan berusaha untuk memverifikasi kinerja atau
kesesuaian pendekatan desain tertentu.
Secara umum, serangkaian prototipe berulang akan dirancang, dibangun, dan diuji
ketika desain akhir muncul dan disiapkan untuk produksi. Dengan pengecualian
yang jarang, beberapa iterasi prototipe digunakan untuk secara progresif
memperbaiki desain. Strategi umum adalah merancang, menguji, mengevaluasi,
dan kemudian memodifikasi desain berdasarkan analisis prototipe.
Terdapat beberapa jenis dalam desain proses model yang digunakan dalam dunia
industri, yaitu model Waterfall, V, Incremental, dan Spiral.
Model air terjun (Waterfall Model) adalah pendekatan klasik dalam pengembangan
perangkat lunak yang menggambarkan metode pengembangan linier dan berurutan.
Ini terdiri dari lima hingga tujuh fase, setiap fase didefinisikan oleh tugas dan tujuan
yang berbeda, di mana keseluruhan fase menggambarkan siklus hidup perangkat
lunak hingga pengirimannya. Setelah fase selesai, langkah pengembangan
selanjutnya mengikuti dan hasil dari fase sebelumnya mengalir ke fase berikutnya.
Model air terjun (Waterfall Model) adalah metode pertama yang banyak digunakan
dalam industri perangkat lunak. model ini merupakan pendekatan tradisional, dan
jauh kurang fleksibel daripada metodologi gesit dengan pengembangan dipecah
menjadi sprint tunggal, tetapi dapat dilengkapi dengan loop umpan balik dan
loopback. Saat ini masih digunakan dalam berbagai versi jika persyaratan dan
karakteristik suatu perangkat lunak dapat didefinisikan dengan jelas selama fase
konseptual.
Gambar 5. Model Waterfall.
Model air terjun Waterfall Model pada dasarnya terdiri dari tujuh fase berturut-
turut:
3.7.2 Model V
Model V biasa disebut Model Verifikasi dan Validasi. Setiap proses untuk menguji
sebuah perangkat lunak harus mengikuti berbagai tahap dan Model V adalah salah
satu metode pengembangan yang sangat tepat untuk digunakan dalam pengujian
sebuah piranti lunak. Didalam metode ini ada beberapa tahap yang spesifik dimana
harus diikuti saat menguji performa sebuah piranti lunak. Setelah sebuah tahap telah
selesai dilaksanakan, maka akan berlanjut ke tahap berikutnya sampai tahap yang
ada berakhir. Rangkaian uji ini berbentuk seperti huruf V. Dalam sikus
pengembangan piranti lunak, pengujian dengan Model V dimulai dari awal proyek
dilaksanakan dimana syarat dan kebutuhan telah ditentukan.
Gambar 6. Model V.
Fase verifikasi lebih mengacu pada usaha penyesuaian spesifikasi piranti lunak
dengan kebutuhan pengguna, tahapan ini meliputi :
Model Spiral (spiral model) adalah salah satu bentuk dari Metode Pengembangan
Perangkat Lunak atau yang disebut SDLC (Software Development Life Cycle),
yang sangat populer digunakan dalam bidang teknologi informasi. Model Spiral
adalah gabungan dari Model Prototyping dan Model Waterfall dengan penekanan
yang tinggi pada analisis risiko tiap tahapannya.
Bentuk ini bersifat iteratif atau berulang dengan mengontrol aspek yang teratur dari
sekuensial linier. Fungsi Model Spiral ini adalah untuk melakukan perubahan,
penambahan dan pengembangan suatu software dengan deretan pertambahan
menjadi lebih baik secara cepat dan tepat berdasarkan keinginan dan kebutuhan
penggunanya.
a) Tahap Liason
e) Tahap Evaluasi
Peran pelanggan sangat diperlukan pada tahap ini. Mereka dapat memberikan
masukan dan tanggapan, mengevaluasi produk kerja dan memastikan bahwa
produk yang dibutuhkan sesuai dengan semua ketentuan. Jika terdapat
perubahan, semua tahapan akan diperbaiki sesuai dengan kepuasan pelanggan.
Namun, mengidentifkasi dan memantau risiko yang terjadi juga diperlukan,
seperti cost overrun.
Menurut Boehm, terdapat enam karakteristik di dalam Model Spiral :
Dalam pemrograman, sebuah ‘artefak’ adalah setiap hal yang dihasilkan oleh
orang-orang yang terlibat dalam proses pengembangan perangkat lunak. Model
ini menunjukkan bahwa semua artefak dalam siklus hidup suatu proyek harus
didefinisikan sepenuhnya dari awal.
Menurut Boehm, setiap siklus model spiral terdiri dari empat tugas berikut :
Pada Modal Spiral terdapat tiga “The Anchor Point Milestones” adalah :
Melihat pentingnya sistem secara keseluruhan dan urusan jangka panjang yang
mencakup seluruh siklus hidup.