Tuesday, April 3, 2012

Software, Teknologi dan Bahasa Komunikasi Agent

Karakteristik Software
Penting untuk memeriksa karakteristik software, yang membedakannya dari hal lainnya yang dapat dibangun/dibuat oleh manusia. Software merupakan elemen sistem yang bersifat logikal, karakteristik software diantaranya :
Software dibangun/direncanakan, bukan barang pabrikan dalam artian umum Walaupun sepertinya ada kesamaan antara Pengembangan software (software development ) dan pembuatan hardware (hardware manufacture ), tetapi kedua aktivitas ini secara mendasar sangat berbeda. Dalam kedua aktifitas, kualitas yang baik didapat melalui perancangan yang baik, dan melakukan konstruksi untuk produk tetapi dengan pendekatan yang berbeda. 

 Software tidak lekang oleh waktu hardware dapat habis dimakan waktu (wear out), dan ketika terjadi kerusakan atau kesalahan pada hardware, yang dapat dilakukan adalah dengan mengganti bagian yang rusak dengan yang baru, tetapi hal tersebut tidak berlaku dalam software. Jika terjadi kerusakan atau kesalahan pada software maka kesalahan tersebut dapat mengindikasikan kesalahan pada saat perancangan
Kebanyakan software merupakan `custom-builts` dari pada dibuat untuk suatu kepentingan tertentu Jika dalam perancangan suatu hardware seorang perancang cukup menggambarkan rancangannya, kemudian membangun/membuat hardware yang dimaksud, tetapi tidak demikian dengan software, tidak ada gambar yang dapat mendeskripsikan komponen software.

Aplikasi-aplikasi software
System Software
merupakan kumpulan program-program yang dibuat untuk menjalankan program lainnya. Beberapa contoh system software diantaranya : compiler, editor, dan file management utilities, jenis lainnya adalah OS, component, drivers dan telecommunications processors. Dari kesemuanya, area sistem software dapat ditandai dengan interaksi yang kuat dengan hardware komputer, penggunaan yang banyak oleh banyak user, operasi konkuren yang memerlukan penjadwalan, penggunaan bersama sumberdaya yang ada, manajemen proses yang baik, struktur data yang rumit, dan interface eksternal yang banyak


Real time software
adalah software yang mengawasi/menganalisa/ mengatur kejadian nyata. Elemen dari real-time software termasuk komponen pengumpulan data yang mengumpulkan dan memformat informasi dari lingkungan luar, komponen analisis merubah informasi yang dibutuhkan oleh aplikasi, komponen input/output yang memberikan respon pada lingkungan luar dan komponen pengawasan yang mengkoordinasikan seluruh komponen sehingga respon real-time (dengan kisaran waktu 1 milidetik s/d 1 menit) dapat dilaksanakan.


Business software
pemrosesan informasi bisnis merupakan area aplikasi software terbesar. Sistem terbatas (seperti program penggajian, program inventory dsb) mengalami perubahan menjadi sistem informasi manajemen (MIS) yang mengakses satu atau lebih database yang berisikan informasi bisnis. Aplikasi dalam area ini merestrukturisasi data yang telah ada dengan suatu cara yang bertujuan untuk menfasilitasi operasi bisnis dan pembuat keputusan manajemen.

Engineering and scientific software
karakteristik engineering dan scientific software adalah dengan digunakannya sejumlah algoritma yang rumit. Lingkup aplikasi mulai dari astronomi hingga vulkanologi, dari biologi molekuler hingga pabrikan otomatis. Aplikasi barunya berupa sistem simulasi dan sistem interaksi lainnya yang bersifat real-time.

Embedded software
produk-produk pintar mulai menguasai konsumen, embedded software digunakan untuk mengatur produk dan sistem untuk konsumen dan pasar industri, misalnya fungsi-fungsi digital pada kendaraan seperti alat ukur tangki bensin, tampilan dashboard, sistem rem dan lain-lain.

Personal Computer software
meliputi word processing, spreadsheet, computer graphic, entertainment, database management, aplikasi bisnis keuangan dsb. PC software merepresentasikan rancangan interface manusia-komputer yang paling inovatif.

Artificial intelligence software
menggunakan algoritma nonnumerik untuk mengatasi masalah yang rumit, contohnya adalah expert system. Juga dikenal dengan istilah knowledge based system. Area aplikasi lainnya adalah pattern recognitions (gambar dan suara), pembuktian teorema dan permainan.



Software Engineering
Software engineering adalah bidang disiplin ilmu rekayasa yang terkait dengan aktifitas produksi software. Perekayasa software semestinya mengadopsi pendekatan yang sistematik dan terorganisir dalam menyelesaikan pekerjaannya dengan memanfaatkan tools dan teknik yang tepat bergantung pada permasalahan yang akan dipecahkan, batasan pengembangan dan sumberdaya yang tersedia. Software process adalah sekumpulan aktifitas yang terstruktur yang dibutuhkan untuk pengembangan atau evolusi software. Aktifitas umum dalam software process diantaranya :
1. Specification – Apa yang harus dikerjakan sistem dan batasan pengembangannya
2. Development – Produksi dari sistem software
3. Validation – Pemeriksaan apakah software memenuhi kebutuhan customer
4. Evolution – Perubahan software terhadap perubahan kebutuhan


Software process model adalah representasi sederhana dari software process, yang dipresentasikan dari sudut pandang tertentu. Contoh dari sudut pandang proses diantaranya :
1. Workflow perspective - sequence of activities
2. Data-flow perspective - information flow
3. Role/action perspective - who does what
Model proses secara umum :
1.  The waterfall model, memisahkan dan membedakan tahapan-tahapan spesifikasi dan pengembangan.
2.  Evolutionary development, specifikasi dan pengembangan saling berselakan
3. Formal systems development, model sistem matematika yang secara formal diubah untuk di implementasikan
4. Reuse-based development, sistem dibangun dengan menggunakan komponen-komponen yang sudah ada



No comments:

Post a Comment