Trend Software engineering & Teknik Komputer


TREN SOFTWARE ENGINEERING

Perangkat lunak komputer (Software) adalah satu dari hanya beberapa teknologi kunci yang akan berpengaruh penting pada hampir setiap aspek masyarakat modern selama tahun 1990-an. Software merupakan suatu mekanisme untuk mengotomatisasi bisnis, industri, dan pemerintahan. Software sangat penting bagi hampir setiap aspek bisnis. Tetapi, dalam banyak hal, software juga merupakan suatu teknologi yang tersembunyi karena tanpa kita sadari dalam setiap kegiatan kita sering menggunakan software misalnya dalam bebelanja di supermarket, menabung di bank, melakukan hubungan telepon dan lainnya.

Karakteristik Software antara lain :

Software bersifat kompleks yaitu didalam pembuatan suatu software harus didukung oleh banyak hal antara lain sistem kerja, hardware, dan lainnya. Software bersifat tidak sama meskipun pada kasus yang sama software yang telah dibuat belum tentu cocok di tempat lain. Misalnya pembuatan software supermarket, belum tentu satu supermarket dengan supermarket yang lain sistemnya sama. Software bersifat tidak dapat digunakan diluar dari tujuan yang telah ditetapkan. Software seperti pabrik yang menghasilkan nilai-nilai tertentu dan sangat membantu segala kegiatan manusia. Software dibangun dan dikembangkan, tidak dibuat dalam bentuk yang klasik. Sebagian besar perangkat lunak dibuat secara custom-built, serta tidak dapat dirakit dari komponen yang sudah ada. Software bersifat pervasif, dan banyak orang di dalam posisi tanggung jawab, kurang atau tidak memahami apa sebenarnya software itu, bagaimana dia dibangun, atau apa yang dimaksudkannya dengan bagian yang dikontrol. Karena sifat pervasif pada software tersebut maka software harus ditangani dengan hati-hati.


Perkembangan Software

Software Engineering adalah suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal requirement capturing (analisa kebutuhan pengguna), specification (menentukan spesifikasi dari kebutuhan pengguna), design, coding, testing sampai pemeliharaan sistem setelah digunakan.

Software mengalami perkembangan yang pesat dan usang setelah periode tertentu, Software memerlukan review secara berkala untuk mengetahui perubahan yang dinamis terhadap kebutuhan pasar. Sejak pertama kali software diperkenalkan sekitar tahun 60-an telah mengalami perkembangan yang cukup pesat, dan total berbeda disemua spesifikasi seperti struktur program, arsitektur dan Line Of Code (LoC) kini lebih pendek, mudah dan tampilan grafis yang menarik sehingga lebih efisien dibandingkan dengan versi lamanya.

Secara terminologi software engginering pertama kali di gunakan pada sebuah international conference tentang software pada tahun 1968. Pada conference ini dibahas tentang krisis software. Krisis software merupakan akibat dari lahirnya komputer generasi ke 3 yang canggih. Dari hasil conference itu software yang dihasilkan menjadi beberapa kali lebih besar dan kompleks. Seiring dengan itu pendekatan informasi tidak cukup efektif dalam pengembangan software. Dengan perkembangan hardware dan software yang begitu pesat sehingga mengakibatkan biaya perangkat lunak naik lebih cepat dibandingkan dengan software.

Tren software enginering saat ini mengarah pada biaya yang murah, platform bersifat multiuser, dapat digunakan oleh umum, pengembangannya bersifat open source dan cara aksesnya adalah online. Perubahan-perubahan yang akan mempengaruhi software selama dekade selanjutnya akan dipengaruhi oleh beberapa hal yang simultan yaitu :
1. Manusia yang melakukan pekerjaan tersebut
2. Proses yang mereka aplikasikan
3. Sifat Informasi
4. Teknologi komputer yang mendasar


Semua kegiatan yang telah dilakukan baik pengukuran, disiplin, dan fokus pada kualitas akan menghasilkan perangkat lunak yang bisa dipelihara, perangkat lunak yang lebih baik. Hal tersebut tidak pernah menjanjikan bahwa software yang kita hasilkan tersebut adalah software yang paling manjur, karena selagi kita berjalan menuju abad yang baru, maka perangkat lunak dan sistem teknik tetap menjadi tantangan bagi setiap profesional perangkat lunak dan setiap perusahaan yang membangun sistem berbasis komputer. Perusahaan harus berusaha lebih keras dalam menguasai teknologi hanya untuk bertahan hidup karena perubahan teknologi informasi menjadi begitu cepat dan tidak pernah bisa mengampuni, dan akibat dari ketinggalan tersebut tidak dapat dikembalikan lagi.


Karakteristik Software

Agar lebih memahami tentang software engineering maka perlu juga kita meneliti tentang karakteristik perangkat lunak yang membuat perangkat lunak berbeda dari hal-hal yang dibangun oleh manusia. Perangkat lunak memiliki ciri-ciri yang berbeda dari perangkat keras karena perangkat lunak lebih merupakan elemen logika. Adapun karakteristiknya antara lain:

1. Perangkat Lunak dibangun dan dikembangkan, tidak dibuat dalam bentuk yang klasik
2. Perangkat lunak tidak pernah usang
3. Sebagian besar perangkat lunak dibuat secara custom-built, serta tidak dapat dirakit dari komponen yang sudah ada.
Dibawah ini menunjukkan bahwa area ilmu pengetahuan software engineering meliputi :
a. Software Requirement
b. Software Design
c. Software Construction
d. Software Testing
e. Software Maintenance
f. Software Engineering Management
h. Software Engineering Process
i. Software Engineering Tools and Method
j. Software Quality
k. Knowledge Areas of the Related Diciplines


A. SOFTWARE REQUIREMENTS

Knowledge area ini berisi mengenai hal apa saja yang dipelajari pada software requirements. Pada Software requirements materi pokok yang dipelajari meliputi software Requirements Fundamentals, Requirements Process, Requirements Elicitation, Requirements Analysis, Requirements Specifications, Requirements Validation, Requirements considerations.

B. SOFTWARE DESIGN

Knowledge area ini berisi mengenai hal apa saja yang dipelajari pada software Design. Pada Software Design materi pokok yang dipelajari meliputi software Design Fundamentals, Key Issues in Software Design, Software Stucture and Architecture, software Design Quality Analysis and Evaluations, software Design Notation and software Design Strategic and methods.

C. SOFTWARE CONSTRUCTION

Knowledge area ini berisi mengenai hal apa saja yang dipelajari pada Software Construction. Pada Software Construction materi pokok yang dipelajari meliputi software Construction Fundamentals, Managing Construction dan Practical Considerations.

D. SOFTWARE TESTING
Knowledge area ini berisi mengenai hal apa saja yang dipelajari pada Software Testing. Pada Software Testing materi pokok yang dipelajari meliputi software Testing Fundamentals, Test Levels, Test Techniques, Test Related Measures dan test Process.

E. SOFTWARE MAINTENANCE

Knowledge area ini berisi mengenai hal apa saja yang dipelajari pada Software maintenance. Pada Software Testing materi pokok yang dipelajari meliputi software Maintenance Fundamentals, Key Issues in Software Maintenane, Maintenance Process dan Techniques for Maintenance.

F. SOFTWARE CONFIGURATIONS MANAGEMENT
Knowledge area ini berisi mengenai hal apa saja yang dipelajari pada Software Configurations Management. Pada Software Configurations Management materi pokok yang dipelajari meliputi Management Of The SCM Process, Software Configuration Identification, Software Configuration Control, Software Configuration Status Accounting, Software Configuration Auditing, Software Release Management and Delivery.

G. SOFTWARE ENGINEERING MANAGEMENT
Knowledge area ini berisi mengenai hal apa saja yang dipelajari pada Software Engineering Management. Pada Software Engineering Management materi pokok yang dipelajari meliputi Initiation dan Scope Definition, Software Project Planning, Software Project Enactment, Reviem and Evaluation, Closure dan SW Engineering Measurment.

H. SOFTWARE ENGINEERING PROCESS
Knowledge area ini berisi mengenai hal apa saja yang dipelajari pada Software Engineering Process. Pada Software Engineering Process materi pokok yang dipelajari meliputi Process Implementation and Change, Process Definition, Process Assessment, dan Process and Product Measurement.

I. SOFTWARE ENGINEERING TOOLS AND METHOD
Knowledge area ini berisi mengenai hal apa saja yang dipelajari pada Software Engineering Tools and Method. Pada Software Engineering Tools and Method materi pokok yang dipelajari meliputi Software Engineering Tools dan Software Engineering methods.

J. SOFTWARE QUALITY

Knowledge area ini berisi mengenai hal apa saja yang dipelajari pada Software Quality. Pada Software Quality materi pokok yang dipelajari meliputi Software Quality Fundamentals, Software Quality Processes dan Practical Considerations.

K. RELATED DICIPLINES OF SOFTWARE ENGINEERING

Knowledge area ini berisi mengenai hal apa saja yang dipelajari pada Related Diciplines of Software Engineering. Pada Related Diciplines of Software Engineering materi pokok yang dipelajari meliputi Komputer Engineering, Komputer Science, Management, Mathematics, Project management, Quality Management, Software Ergonomics, dan System Engineering.

Berikut ini prinsip-prinsip yang bisa kita jadikan acuan mengenai perbedaan software engineering dengan disiplin ilmu lainnya dalam rangka pengembangan kurikulum software engineering :
1. Komputasi adalah suatu bidang ilmu pendidikan yang luas yang dibatasi oleh disiplin ilmu komputasi. Sedangkan, software engineering berkonsentrasi pada ilmu pengetahuan yang berhubungan dengan rekayasa perangkat lunak. Sehingga akan tumpang tindih jika software engineering hanya dijadikan suatu mata kuliah tertentu pada kurikulum komputer.
2. Rekayasa perangkat lunak ada dasarnya adalah suatu disiplin ilmu yang luas. Studi mahasiswa yang mempelajari software engineering selama ini bersandar pada ilmu pengetahuan komputer yang bersifat konseptual dan teoritis, sedangkan mahasiswa seringkali menggunakan konsep disiplin ilmu seperti matematik, rekayasa, manajemen proyek dan beberapa aplikasi. Semua perangkat lunak yang dikembangkan oleh mahasiswa seharusnya dapat mengintegrasikan teori dan praktek sehingga diperlukan disiplin ilmu software engineering yang lebih spesifik.
3. Evolusi yang cepat dan alami pada sotware engineering memerlukan tinjauan ulang yang berkelanjuatan sesuai dengan kurikulum. Asosiasi profesi seperti APTIKOM dan Alumni Sarjana Komputer seharusnya memberikan tinjauan untuk rekomendasi kurikulum yang berlaku saat ini pada perguruan tinggi di Indonesia.
4. Pengembangn suatu kurikulum software engineering harus sensitive pada perubahan teknologi, praktek, aplikasi, dan pengembangan baru serta pentingnya penyesuaian terhadap pengembangan teknologi. Institusi bidang pendidikan harus mampu mengadopsi dan bereaksi terhadap perubahan yang strategis dalam menghadapi perkembangan tekologi informasi yang semakin maju
5. Model kurikulum software engineering harus mendukung identifikasi pengetahuan dan keterampilan yang pokok yang harus dikuasai oleh lulusan sarjana software engineering.
6. Bimbingan pada perancangan kurikulum software engineering harus didasarkan pada definisi software engineering sebagai ilmu pengetahuan rekayasa sehingga standarnya harus bisa ditentukan untuk semua sarjana yang akan lulus.
7. Tim perumus kurikulum software engineering harus bekerja keras untuk menjadi disiplin ilmu lingkup internasional. Fakta menunjukkan bahwa kebutuhan kurikulum suatu Negara berbeda dengan Negara lainnya.
8. Pengembangan kurikulum software engineering harus mengikut sertakan perwakilan dari dosen perangkat lunak, industri, perdagangan, pemerintah, dan para professional.
9. Pengembangan software engineering harus meliputi praktikum yang profesional sebagai suatu komponen yang integral dalam kurikulum S1.
10.Pengembangan kurikulum software engineering harus meliputi diskusi strategis dan taktis untuk implementasi di perguruan tinggi dan masing-masing institusi berhak menentukan isi dari kurikulumnya masing-masing.

Tidak ada komentar: