About Us

Kemajuan Teknologi Perangkat Lunak, Pemrograman perangkat lunak telah berkembang jauh sejak Ada Lovelace menulis program komputer pertama di dunia – kira-kira satu abad sebelum penemuan komputer modern.

Sementara teknologi komputasi akan selalu memiliki jalan panjang, ada banyak kemajuan signifikan yang dibuat sejak Colossus, komputer modern pertama, membantu Sekutu memenangkan Perang Dunia II dengan memecahkan kode pesan Hitler.

Kemajuan Teknologi Perangkat Lunak

Pengujian Unit

Sepotong perangkat lunak berfungsi secara keseluruhan, dan semua orang tahu bahwa ketika satu bagian dari aplikasi gagal, seluruh program sering kali tidak dapat berfungsi. Namun, pengujian unit memungkinkan penyaringan individu secara otomatis untuk pengoperasian bagian kode yang benar.

Ketika bagian tertentu dari perangkat lunak tidak berfungsi, pengujian unit memfasilitasi menemukan dengan tepat apa yang gagal, di mana kode memiliki masalah dan kemudian apa yang dapat dilakukan untuk memperbaiki masalah tersebut. Hal ini memungkinkan pengkodean yang lebih cepat serta waktu pengembangan yang jauh lebih cepat, karena masing-masing bagian dapat dicoba sendiri.

Pembuatan Otomatis

Sebelum kemampuan untuk memeriksa build, seluruh proses harus dilakukan secara manual. Ini benar-benar bisa berarti menjelajahi ratusan atau bahkan ribuan baris kode, yang akan menakutkan bagi siapa pun. Kemudian Anda pergi untuk mengkompilasi, dan kesalahan lain terjadi.

Sebelum alat pembuatan otomatis seperti alat “Make” bahasa C yang keluar pada tahun 1985, prosesnya bisa jadi sulit bahkan untuk pengembangan yang relatif sederhana. Sejak itu, alat pembangunan modern telah memfasilitasi pemrograman yang jauh lebih kompleks daripada yang dapat dilakukan tanpa alat ini.

Lingkungan Pengembangan Terintegrasi

Ada saat ketika Anda bisa mengumpulkan kumpulan makro Anda, tetapi kemudian harus menutup aplikasi itu untuk memeriksa dokumentasi Anda. Selanjutnya, Anda mungkin harus menulis dalam kode mesin atau hanya berpindah dari satu aplikasi ke aplikasi lain berulang kali. Ini memakan waktu dan bisa merusak konsentrasi kebanyakan orang.

Sejak lingkungan pengembangan terintegrasi atau IDE muncul, sekarang Anda dapat menggunakan satu dasbor digital untuk seluruh rangkaian alat. Waktu yang dapat dihemat ini sangat luar biasa, belum lagi frustrasi yang dihematnya saat Anda melupakan fungsi atau detail lain yang perlu Anda tinjau.

Kontrol Versi

Juga dikenal sebagai kontrol sumber dan kontrol revisi, kontrol versi memungkinkan gambaran yang jauh lebih jelas tentang seberapa banyak yang telah dilakukan pada perangkat lunak, situs web besar, atau kumpulan data penting lainnya.

Sebagai aturan umum, perubahan didokumentasikan melalui huruf atau angka yang memungkinkan Anda untuk melihat berapa banyak pengeditan yang telah dilakukan programmer dari waktu ke waktu.

Dalam kasus seluruh sistem operasi dan program yang sangat besar yang dapat diedit oleh banyak individu berbeda, kontrol versi sangat penting untuk menjaga agar perubahan dipahami oleh semua orang yang terlibat dalam proses.

Berbagi Kode

Saat pengkodean, masalah terjadi dan solusinya tidak selalu jelas. Ada suatu masa ketika hanya jaringan sesama pemrogram yang diharapkan mengalami masalah serupa atau dokumentasi vendor dapat membantu Anda.

Bisa memakan waktu berbulan-bulan bagi seorang programmer untuk menemukan solusi yang efektif untuk masalah yang diberikan. Namun, dengan berbagi kode secara online dan kemampuan untuk mencari kode tertentu dan cara kerjanya, ini menjadi jauh lebih mudah untuk dilakukan.

Masalah yang sebelumnya membutuhkan waktu berbulan-bulan untuk dikalahkan, sekarang mungkin membutuhkan waktu beberapa menit untuk diselesaikan.

Garis Besar Kode

Komunitas pemrograman terkadang terpecah pada apakah penjabaran kode merupakan kemajuan yang cukup besar, tetapi beberapa programmer bersumpah dengan utilitasnya. Kemampuan untuk menciutkan banyak halaman kode menjadi satu halaman dan mengedit bagian individual yang disejajarkan dengan hierarki secara dramatis mengurangi kerumitan bagian individual yang mungkin ingin diedit.

Ini mengurangi ketegangan visual dari suatu bagian serta sejumlah besar pengguliran dan klik yang tidak perlu. Cukup dengan memasukkan tag XML, Anda dapat mengambil sebagian besar dokumen yang luar biasa dan membuatnya dapat dikelola secara individual.

Kode Terkelola

Kebocoran memori dan bug kecil adalah andalan C++ untuk waktu yang lama, tetapi kode yang dikelola telah mengubahnya. Salah satu keuntungan utama C# dan beberapa bahasa pemrograman terkelola lainnya adalah ketika seseorang menulis kodenya, itu berfungsi dengan baik.

Logikanya masih perlu bekerja, seperti halnya proses, tetapi efek samping dan perilaku bahasa pemrograman tidak lagi menjadi masalah utama yang perlu ditangani oleh seorang programmer. Ini semakin mempercepat proses, membuat pengkodean jauh lebih efisien dan membiarkan pemrogram fokus pada apa yang ingin mereka capai dengan lebih sedikit penekanan pada bagaimana mencapainya.

Perubahan Teknologi

Tantangan terbesar yang dihadapi oleh komunitas perangkat lunak penerbangan adalah spektrum kemajuan teknologi yang muncul dalam rekayasa perangkat lunak. DO-178C akan mendefinisikan banyak tentang rekayasa perangkat lunak ruang angkasa selama setidaknya satu dekade, dan dengan demikian memeriksa kemajuan yang telah terjadi sejak tahun 1992 dan dampak teknisnya sangat penting.

Pada bagian ini, saya hanya menjelaskan beberapa kemajuan. Jelas ada terlalu banyak untuk mengizinkan masing-masing dibahas di sini. Apa yang telah saya lakukan menyajikan di bagian ini beberapa kemajuan besar. Mereka harus dianggap memotivasi diskusi tentang bagaimana komunitas dapat mengakomodasi seluruh rangkaian kemajuan dalam teknologi rekayasa perangkat lunak.

Perubahan paling signifikan yang telah terjadi dalam pengembangan perangkat lunak adalah sifat dari bentuk kesalahan perangkat lunak yang paling dominan yang harus dihadapi oleh para insinyur. Pada tahun 1992, kesulitan terbesar adalah mendapatkan implementasi yang sesuai dengan spesifikasi. Masalah itu, meskipun tidak terpecahkan, telah dikurangi secara substansial oleh kemajuan teknologi.

Hasilnya adalah, secara umum, masalah terbesar yang dihadapi oleh insinyur perangkat lunak di arena kritis keselamatan adalah cacat dalam persyaratan dan spesifikasi. Bukan dalam implementasi. Perhatikan baik-baik, bahwa saya hanya mengacu pada kelayakan implementasi bangunan yang sangat cocok dengan spesifikasi. Teknologi yang tersedia tidak selalu diterapkan dan tidak selalu berhasil. Dan akibatnya beberapa kegiatan pengembangan menghadapi tingkat kesalahan implementasi yang tidak perlu.

Penggunaan kembali perangkat lunak

Pada tahun 1992, tesis penggunaan kembali perangkat lunak adalah bahwa hal itu akan membantu mengurangi biaya. Yang kurang terlihat adalah manfaat yang diperoleh dari segi kualitas dengan menggunakan kembali sesuatu. Ini sebenarnya adalah keuntungan besar yang telah membantu mencapai perubahan jenis kesalahan perangkat lunak yang mendominasi.

Penggunaan kembali perangkat lunak kurang dipahami pada tahun 1992. Konsep perpustakaan penggunaan kembali, analisis domain, bahasa khusus domain, dan generator aplikasi diketahui pada tahun 1992. Meskipun konsep ini diketahui, tingkat penggunaan kembali perangkat lunak praktis sangat minim.

Banyak upaya untuk membangun perpustakaan penggunaan kembali gagal ketika aset yang dapat digunakan kembali ternyata tidak fleksibel dan efisien atau fleksibel dan tidak efisien. Selain itu, tujuan membangun perpustakaan penggunaan kembali yang berlaku umum yang melayani domain luas tidak tercapai pada saat itu. Pustaka penggunaan kembali yang berhasil berukuran kecil dan ditujukan untuk domain yang sangat sempit (misalnya, struktur data sederhana). Generator aplikasi ditemukan sangat sulit untuk dibangun kecuali untuk domain yang sangat sempit. Dan bahkan dalam kasus tersebut mereka menghasilkan perangkat lunak yang sangat tidak efisien.
barang