Jumat, 13 Desember 2013

Rekayasa Perangkat Lunak


Rekayasa Perangkat Lunak adalah aplikasi yang sistematis, disiplin, pendekatan kuantitatif dengan desain, pengembangan, pengoperasian, dan pemeliharaan perangkat lunak , dan studi pendekatan ini, yaitu penerapan rekayasa perangkat lunak. Referensi pertama untuk istilah ini 1968 NATO Software Engineering Conference dan dimaksudkan untuk memprovokasi pemikiran mengenai dirasakan " krisis perangkat lunak "pada saat itu. Pengembangan perangkat lunak , yang jauh digunakan dan lebih generik istilah, tidak selalu menggolongkan paradigma rekayasa. Konsep yang berlaku umum dari Software Engineering sebagai disiplin rekayasa telah ditetapkan dalam Guide to the Rekayasa Perangkat Lunak Tubuh Pengetahuan (SWEBOK). 

SWEBOK ini telah menjadi diterima secara internasional standar ISO / IEC 19759:2005 TR. Bagi mereka yang ingin menjadi diakui sebagai insinyur perangkat lunak profesional, IEEE menawarkan dua sertifikasi ( Bersertifikat Software Development Asosiasi dan Pengembangan Perangkat Lunak Certified Professional ). The IEEE sertifikasi tidak menggunakan istilah Insinyur dalam judul mereka untuk alasan kompatibilitas. Di beberapa bagian Amerika Serikat seperti Texas, penggunaan istilah Insinyur diatur hanya untuk mereka yang memiliki Insinyur Profesional lisensi. Lebih lanjut, di Amerika Serikat mulai dari 2013, NCEES Insinyur Profesional ujian akan tersedia untuk Rekayasa Perangkat Lunak


Sejarah
Ketika digital pertama komputer muncul di awal 1940-an, petunjuk untuk membuat mereka beroperasi yang ditransfer ke dalam mesin. Praktisi cepat menyadari bahwa desain ini tidak fleksibel dan datang dengan "arsitektur program yang tersimpan" atau arsitektur von Neumann . Dengan demikian pembagian antara "hardware" dan "software" dimulai dengan abstraksi yang digunakan untuk menangani kompleksitas komputasi.

Bahasa pemrograman mulai muncul pada 1950-an dan ini juga langkah utama dalam abstraksi. Bahasa utama seperti Fortran , ALGOL , dan COBOL yang dirilis pada akhir 1950-an untuk berurusan dengan ilmiah, algoritma, dan masalah bisnis masing-masing. EW Dijkstra menulis makalahnya mani, "Go To Pernyataan Dianggap Berbahaya",  pada tahun 1968 dan David Parnas memperkenalkan konsep kunci dari modularitas dan menyembunyikan informasi pada tahun 1972 untuk membantu programmer berurusan dengan kompleksitas yang semakin meningkat dari sistem perangkat lunak . Sebuah sistem perangkat lunak untuk mengelola hardware disebut sistem operasi juga diperkenalkan, terutama oleh Unix pada tahun 1969. Pada tahun 1967, Simula memperkenalkan bahasa pemrograman berorientasi objek paradigma.

Ini kemajuan software bertemu dengan kemajuan lebih dalam hardware komputer . Pada pertengahan 1970-an, komputer mikro diperkenalkan, sehingga ekonomis bagi penggemar untuk mendapatkan komputer dan menulis perangkat lunak untuk itu. Hal ini pada gilirannya menyebabkan sekarang terkenal Personal Computer (PC). The Software Development Life Cycle atau SDLC juga mulai muncul sebagai konsensus untuk pembangunan terpusat dari software di pertengahan 1980-an. Akhir 1970-an dan awal 1980-an melihat pengenalan beberapa bahasa pemrograman berorientasi objek Simula-terinspirasi baru, termasuk Smalltalk , Objective-C , dan C + + .

Open-source software mulai muncul di awal 90-an dalam bentuk Linux dan perangkat lunak lain memperkenalkan "bazaar" atau gaya desentralisasi membangun perangkat lunak. Kemudian World Wide Web dan popularisasi dari Internet hit di pertengahan tahun 90an , mengubah rekayasa perangkat lunak sekali lagi. sistem terdistribusi diperoleh bergoyang sebagai cara untuk merancang sistem, dan Java bahasa pemrograman diperkenalkan dengan sendiri mesin virtual sebagai langkah lain dalam abstraksi . Programmer berkolaborasi dan menulis Agile Manifesto , yang disukai lebih ringan proses untuk membuat perangkat lunak yang lebih murah dan lebih tepat waktu.

Definisi saat ini rekayasa perangkat lunak masih diperdebatkan oleh praktisi hari ini karena mereka berjuang untuk menemukan cara-cara untuk menghasilkan perangkat lunak yang "lebih murah, lebih baik, lebih cepat". Pengurangan biaya telah menjadi fokus utama dari industri TI sejak tahun 1990-an. Total biaya kepemilikan merupakan biaya lebih dari sekedar akuisisi. Ini mencakup hal-hal seperti hambatan produktivitas, upaya pemeliharaan, dan sumber daya yang dibutuhkan untuk mendukung infrastruktur.

Profesi
Persyaratan hukum untuk lisensi atau sertifikasi insinyur perangkat lunak profesional bervariasi di seluruh dunia. Di Inggris, British Computer Society lisensi perangkat lunak insinyur dan anggota masyarakat juga bisa menjadi Chartered Engineers (Ceng), sedangkan di beberapa daerah di Kanada, seperti Alberta, Ontario  dan Quebec, insinyur perangkat lunak dapat terus Profesional Insinyur (P. Eng) penunjukan dan / atau Sistem Informasi Profesional (ISP) penunjukan. Di Kanada, ada persyaratan hukum untuk memiliki P. Eng ketika seseorang ingin menggunakan judul "engineer" atau praktek "rekayasa perangkat lunak". Di Amerika Serikat, mulai tahun 2013, jalur untuk lisensi insinyur perangkat lunak akan menjadi kenyataan. Seperti dengan disiplin ilmu teknik lainnya, persyaratan terdiri dari mendapatkan gelar sarjana ABET terakreditasi di Rekayasa Perangkat Lunak (atau gelar non-ABET dan evaluasi kredensial NCEES), melewati Dasar Teknik Ujian, memiliki setidaknya empat tahun pengalaman terbukti relevan, dan melewati Rekayasa Perangkat Lunak PE Ujian. Di beberapa negara, seperti Florida, Texas, Washington, dan lainnya, pengembang perangkat lunak tidak dapat menggunakan judul "Professional Engineer" kecuali mereka berlisensi insinyur profesional yang telah lulus PE Ujian dan memiliki lisensi yang valid untuk berlatih. Ini lisensi harus diperbaharui secara berkala, yang dikenal sebagai pendidikan berkelanjutan, untuk memastikan insinyur yang terus up to date dengan teknik terbaru dan praktik paling aman.

The IEEE Computer Society dan ACM , dua yang berbasis organisasi profesi utama rekayasa perangkat lunak, menerbitkan panduan untuk profesi rekayasa perangkat lunak. The IEEE Panduan untuk Badan Rekayasa Perangkat Lunak Pengetahuan - 2004 Version, atau SWEBOK , mendefinisikan lapangan dan menggambarkan pengetahuan IEEE mengharapkan seorang insinyur perangkat lunak berlatih untuk memiliki. Saat ini, v3 SWEBOK yang diproduksi dan kemungkinan akan dirilis pada pertengahan 2013. [16] The IEEE juga Mengumumkan sebuah "Rekayasa Perangkat Lunak Kode Etik". 

Pekerjaan
Pada tahun 2004, Biro Statistik Tenaga Kerja AS sebanyak 760.840 insinyur perangkat lunak memegang pekerjaan di Amerika Serikat , dalam periode waktu yang sama ada beberapa 1,4 juta praktisi yang bekerja di Amerika Serikat pada semua disiplin ilmu teknik lainnya digabungkan. Karena kebaruan relatif sebagai bidang studi, pendidikan formal dalam rekayasa perangkat lunak sering diajarkan sebagai bagian dari kurikulum ilmu komputer, dan perangkat lunak insinyur banyak memegang gelar ilmu komputer.

Banyak insinyur perangkat lunak bekerja sebagai karyawan atau kontraktor. Insinyur Perangkat Lunak bekerja dengan bisnis, organisasi instansi pemerintah (sipil atau militer), dan non-profit. Beberapa insinyur perangkat lunak bekerja untuk diri mereka sebagai freelancer . Beberapa organisasi memiliki spesialis untuk melakukan setiap tugas dalam proses pengembangan perangkat lunak . Organisasi-organisasi lain memerlukan insinyur perangkat lunak untuk melakukan banyak atau semua dari mereka. Dalam proyek-proyek besar, orang dapat mengkhususkan diri hanya dalam satu peran. Dalam proyek-proyek kecil, orang dapat mengisi beberapa atau semua peran pada waktu yang sama. Spesialisasi meliputi: industri ( analis , arsitek , pengembang , penguji , dukungan teknis , analis middleware , manajer ) dan akademisi ( pendidik , peneliti ).

Kebanyakan insinyur perangkat lunak dan programer bekerja 40 jam seminggu, namun sekitar 15 persen dari insinyur perangkat lunak dan 11 persen programmer bekerja lebih dari 50 jam seminggu pada tahun 2008. Cedera di pekerjaan ini jarang terjadi. Namun, seperti pekerja lain yang menghabiskan waktu yang lama di depan mengetik terminal komputer di keyboard, insinyur dan programmer rentan terhadap kelelahan mata, kembali ketidaknyamanan, dan tangan dan pergelangan tangan masalah seperti carpal tunnel syndrome.

Masa depan lapangan terlihat cerah menurut Majalah Uang dan Salary.com , yang dinilai Software Engineer sebagai pekerjaan terbaik di Amerika Serikat pada tahun 2006. Pada tahun 2012, rekayasa perangkat lunak sekali lagi peringkat sebagai pekerjaan terbaik di Amerika Serikat, ini waktu CareerCast.com.

Sertifikasi
The Software Engineering Institute menawarkan sertifikasi pada topik tertentu seperti Security, Proses perbaikan dan arsitektur Software . Apple , IBM , Microsoft dan perusahaan lain juga mensponsori ujian sertifikasi mereka sendiri. Banyak IT sertifikasi program berorientasi pada teknologi tertentu, dan dikelola oleh vendor teknologi tersebut. Program sertifikasi ini disesuaikan dengan lembaga yang akan mempekerjakan orang-orang yang menggunakan teknologi ini.

Sertifikasi yang lebih luas dari perangkat lunak umum keterampilan rekayasa tersedia melalui berbagai masyarakat profesional. Seperti tahun 2006 , yang IEEE telah disertifikasi lebih 575 perangkat lunak profesional sebagai Bersertifikat Software Development Professional (CSDP). Pada tahun 2008 mereka menambahkan sertifikasi entry-level yang dikenal sebagai Certified Software Development Pengganti (CSDA). [26 ] The ACM memiliki program sertifikasi profesional pada awal tahun 1980, yang dihentikan karena kurangnya minat. The ACM meneliti kemungkinan sertifikasi profesional insinyur software di akhir 1990-an, namun akhirnya memutuskan bahwa sertifikasi tersebut tidak cocok untuk praktik industri profesional rekayasa perangkat lunak.

Di Inggris British Computer Society telah mengembangkan sertifikasi profesi yang diakui secara hukum disebut Chartered Profesional IT (CITP), tersedia untuk anggota yang memenuhi syarat (MBCS). Software insinyur mungkin memenuhi persyaratan untuk keanggotaan Lembaga Teknik dan Teknologi dan sebagainya memenuhi syarat untuk status Chartered Engineer. Di Kanada Informasi Canadian Pengolahan Masyarakat telah mengembangkan sertifikasi profesi yang diakui secara hukum disebut Sistem Informasi Profesional (ISP). Di Ontario, Kanada, Software Engineers yang lulus dari Badan Akreditasi Rekayasa Kanada (CEAB) terakreditasi program, berhasil menyelesaikan PEO ( Professional Engineers Ontario) Profesional Praktek Ujian (PPE) dan memiliki setidaknya 48 bulan pengalaman rekayasa diterima berhak untuk dilisensikan melalui Professional Engineers Ontario dan dapat menjadi Professional Engineers P. Eng.  The PEO tidak mengakui secara online atau pendidikan jarak jauh namun, dan tidak mempertimbangkan program Ilmu Komputer setara dengan program rekayasa perangkat lunak meskipun tumpang tindih yang besar antara keduanya. Hal ini telah memicu kontroversi dan perang sertifikasi. Hal ini juga telah memegang jumlah pemegang P. Eng untuk profesi sangat rendah. Sebagian besar profesional yang bekerja di lapangan memegang gelar di CS, bukan SE. Mengingat jalur sertifikasi sulit bagi pemegang non-SE derajat, paling tidak pernah repot-repot untuk mengejar lisensi.

Dampak globalisasi
Dampak awal outsourcing, dan biaya yang relatif lebih rendah dari sumber daya manusia internasional dalam mengembangkan negara-negara dunia ketiga menyebabkan migrasi besar-besaran dari kegiatan pengembangan perangkat lunak dari perusahaan di Amerika Utara dan Eropa ke India dan kemudian: Cina, Rusia, dan negara-negara berkembang lainnya. Pendekatan ini memiliki beberapa kelemahan, terutama perbedaan jarak / zona yang mencegah interaksi manusia antara klien dan pengembang dan transfer pekerjaan besar. Ini memiliki dampak negatif pada banyak aspek dari profesi rekayasa perangkat lunak. Sebagai contoh, beberapa siswa di negara maju menghindari pendidikan yang berhubungan dengan rekayasa perangkat lunak karena takut lepas pantai outsourcing (impor produk perangkat lunak atau jasa dari negara lain) dan digantikan oleh pekerja visa asing . Meskipun statistik tidak menunjukkan saat ini ancaman bagi rekayasa perangkat lunak itu sendiri, karir terkait, pemrograman komputer . tidak tampaknya telah terpengaruh, namun demikian, kemampuan untuk cerdas memanfaatkan lepas pantai dan dekat pantai sumber daya melalui follow-the-sun alur kerja telah meningkatkan kemampuan operasional secara keseluruhan banyak organisasi. Ketika Amerika Utara meninggalkan pekerjaan, orang Asia hanya datang untuk bekerja. Ketika orang-orang Asia yang meninggalkan pekerjaan, orang Eropa tiba untuk bekerja. Hal ini memberikan kemampuan terus-menerus untuk memiliki pengawasan manusia pada proses bisnis penting 24 jam per hari, tanpa membayar kompensasi lembur atau mengganggu sumber daya manusia yang penting, pola tidur.

Sementara outsourcing global memiliki beberapa keunggulan, global - dan umumnya didistribusikan - pembangunan dapat mengalami kesulitan yang serius yang dihasilkan dari jarak antara pengembang. Hal ini disebabkan elemen kunci dari jenis jarak yang telah diidentifikasi sebagai Geografis, Temporal, Budaya dan Komunikasi (yang meliputi penggunaan bahasa yang berbeda dan dialek dari bahasa Inggris di lokasi yang berbeda). Penelitian telah dilakukan di bidang pengembangan perangkat lunak global selama 15 tahun terakhir dan tubuh ekstensif kerja yang relevan yang diterbitkan yang menyoroti manfaat dan masalah yang terkait dengan kegiatan yang kompleks. Seperti aspek lain dari Software Engineering penelitian yang sedang berjalan dalam hal ini dan bidang terkait.

Pendidikan
Pengetahuan tentang pemrograman komputer adalah pra-syarat untuk menjadi seorang insinyur perangkat lunak. Pada tahun 2004 IEEE Computer Society menghasilkan SWEBOK , yang telah diterbitkan sebagai ISO / IEC 1979:2004 Laporan Teknis, menggambarkan tubuh pengetahuan yang mereka yakini harus dikuasai oleh seorang insinyur perangkat lunak lulus dengan empat tahun pengalaman. Banyak insinyur perangkat lunak memasuki profesi dengan mendapatkan gelar sarjana atau pelatihan di sekolah kejuruan. Salah satu kurikulum internasional standar untuk sarjana derajat rekayasa perangkat lunak didefinisikan oleh CCSE , dan diperbarui pada tahun 2004. Sejumlah universitas memiliki program gelar Rekayasa Perangkat Lunak, seperti tahun 2010 , ada 244 program Campus, 70 program online, program 230 Master-tingkat, 41 program Doktor-tingkat, dan 69 program sertifikat tingkat di Amerika Serikat.

Selain pendidikan universitas, banyak perusahaan mensponsori magang bagi siswa yang ingin mengejar karir di bidang teknologi informasi. Magang ini dapat memperkenalkan siswa untuk menarik tugas dunia nyata yang insinyur perangkat lunak khas temui setiap hari. Pengalaman serupa dapat diperoleh melalui dinas militer dalam rekayasa perangkat lunak.

3 komentar: