Monday, February 14, 2011

Software Engineering

Software Engineering (SE) adalah profesi yang didedikasikan untuk merancang, melaksanakan, dan mengubah perangkat lunak sehingga kualitas lebih tinggi, lebih terjangkau, dipelihara, dan lebih cepat untuk membangun.  Ini adalah "pendekatan sistematis untuk analisis desain,, penilaian, implementasi, pemeliharaan pengujian dan rekayasa perangkat lunak, yaitu penerapan rekayasa perangkat lunak." Rekayasa perangkat lunak Istilah pertama kali muncul dalam NATO 1968 Rekayasa Perangkat Lunak konferensi, dan dimaksudkan untuk memprovokasi berpikir tentang "dianggap krisis perangkat lunak "pada saat itu.  Rekayasa Perangkat Lunak Tubuh Pengetahuan mendefinisikan "rekayasa perangkat lunak" sebagai penerapan sistematis dan berdisiplin, dihitung pendekatan operasi, pengembangan, dan pemeliharaan perangkat lunak , dan studi tentang pendekatan-pendekatan, yaitu penerapan rekayasa perangkat lunak. untuk ini adalah aplikasi Teknik untuk software karena mengintegrasikan matematika signifikan, ilmu komputer dan praktek-praktek yang asal usulnya Teknik.
 
Pengembangan perangkat lunak , yang digunakan dan banyak lagi istilah yang lebih generik, tidak selalu menggolongkan paradigma rekayasa. Meskipun dipertanyakan apa dampaknya ini terhadap pengembangan perangkat lunak yang sebenarnya selama beberapa tahun terakhir lebih dari 40, ladang masa depan terlihat cerah menurut Money Magazine dan Salary.com , yang dinilai " software engineer "sebagai yang terbaik pekerjaan di Amerika Serikat pada 2006. 

Sejarah

Ketika pertama digital modern komputer muncul di awal 1940-an, petunjuk untuk membuat mereka beroperasi adalah kabel 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 pertama antara "perangkat keras" dan "perangkat lunak" memulai dengan abstraksi yang digunakan untuk menangani kompleksitas komputasi.
 
Bahasa pemrograman mulai muncul di tahun 1950-an dan ini juga satu langkah besar dalam abstraksi. Bahasa utama seperti Fortran , ALGOL dan COBOL dirilis pada akhir 1950-an untuk berurusan dengan ilmiah, algoritma, dan masalah-masalah bisnis masing-masing. EW Dijkstra menulis makalah nya, "Go To Pernyataan Dianggap Berbahaya", pada tahun 1968 dan David Parnas memperkenalkan konsep kunci dari modularitas dan menyembunyikan informasi pada tahun 1972 untuk membantu mengatasi programmer dengan meningkatnya kompleksitas yang pernah sistem perangkat lunak . Sebuah sistem perangkat lunak untuk mengelola perangkat keras yang disebut sebuah sistem operasi juga diperkenalkan, terutama oleh Unix pada tahun 1969. In 1967, the Simula language introduced the object-oriented programming paradigm. Pada tahun 1967, Simula memperkenalkan bahasa pemrograman berorientasi obyek paradigma.
 
Ini kemajuan dalam perangkat lunak adalah bertemu dengan kemajuan lebih dalam perangkat keras komputer. Pada pertengahan 1970-an, yang 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) dan Microsoft Windows .   Software Development Life Cycle atau SDLC juga mulai muncul sebagai konsensus untuk pembangunan perangkat lunak terpusat pada pertengahan 1980. Akhir 1970-an dan awal 1980-an melihat pengenalan beberapa baru-terinspirasi bahasa pemrograman berorientasi obyek-Simula, termasuk Smalltalk , Objective-C , dan C + + .
 
Open-source software mulai muncul pada awal tahun 90-an dalam bentuk Linux dan perangkat lunak lain memperkenalkan bazar "atau desentralisasi gaya" membangun perangkat lunak.  Kemudian World Wide Web dan popularisasi the internet hit di pertengahan tahun 90an , mengubah rekayasa perangkat lunak sekali lagi. sistem terdistribusi mendapatkan goyangan sebagai cara untuk merancang sistem, dan Java bahasa pemrograman diperkenalkan dengan sendiri mesin virtual sebagai langkah lain dalam abstraksi . Pemrogram berkolaborasi dan menulis Agile Manifesto , yang disukai lebih ringan proses untuk membuat perangkat lunak lebih murah dan lebih tepat waktu.
 
Definisi rekayasa perangkat lunak saat ini masih diperdebatkan oleh praktisi hari ini mereka berjuang untuk datang dengan cara-cara untuk menghasilkan perangkat lunak yang "lebih murah, lebih baik, lebih cepat". pengurangan biaya telah menjadi fokus utama industri TI sejak tahun 1990-an. Jumlah biaya kepemilikan merupakan biaya lebih dari sekedar akuisisi. It includes things like productivity impediments, upkeep efforts, and resources needed to support infrastructure. 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 Engineer (P. Eng) penunjukan dan / atau Sistem Informasi Profesional (ISP) sebutan, namun tidak ada persyaratan hukum untuk memiliki kualifikasi ini. Dalam Israel seseorang dengan gelar teknik yang sesuai memiliki hak untuk dicatatkan di Israel Registry of Engineers dan Arsitek, dan hukum rekayasa Israel mengatakan bahwa seseorang menamakan diri insinyur tanpa lisensi yang tepat / pendaftaran bisa dihukum untuk sampai dengan 6 bulan penjara.
 
IEEE Computer Society dan ACM , dua organisasi profesi utama rekayasa perangkat lunak, menerbitkan panduan profesi rekayasa perangkat lunak. IEEE's Guide ke Rekayasa Perangkat Lunak Tubuh Pengetahuan - 2004 Versi, atau SWEBOK , mendefinisikan lapangan dan menggambarkan pengetahuan IEEE mengharapkan berlatih software engineer untuk memiliki. 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 AS , dalam periode waktu yang sama ada sekitar 1,4 juta praktisi yang bekerja di Amerika Serikat pada semua disiplin ilmu teknik lainnya gabungan. Karena kebaruan relatif sebagai bidang studi, pendidikan formal dalam rekayasa perangkat lunak sering diajarkan sebagai bagian dari kurikulum ilmu komputer, dan insinyur perangkat lunak yang memegang gelar ilmu komputer. 
 
Banyak insinyur perangkat lunak bekerja sebagai karyawan atau kontraktor. Insinyur Perangkat Lunak bekerja sama dengan perusahaan, lembaga pemerintah (sipil atau militer), dan organisasi nirlaba.  Beberapa perangkat lunak insinyur bekerja untuk diri mereka sebagai freelance . Beberapa organisasi memiliki spesialis masing-masing untuk melakukan tugas-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 mungkin mengkhususkan diri dalam satu peran. In small projects, people may fill several or all roles at the same time. Dalam proyek-proyek kecil, orang dapat mengisi beberapa peran atau semua pada waktu yang sama.  Spesialisasi termasuk: dalam industri ( analis , arsitek , developer , tester , dukungan teknis , analis middleware , manajer ) dan di akademisi ( pendidik , peneliti ).
 
Kebanyakan perangkat lunak insinyur dan programer bekerja 40 jam seminggu, namun sekitar 15 persen dari insinyur perangkat lunak dan 11 persen programmer bekerja lebih dari 50 jam per minggu pada tahun 2008.  Cedera dalam pekerjaan ini jarang terjadi. Namun, seperti pekerja lain yang menghabiskan waktu lama di depan terminal komputer mengetik di keyboard, insinyur dan programmer rentan terhadap kelelahan mata, punggung nyaman, dan tangan dan pergelangan tangan masalah seperti carpal tunnel syndrome. 

 

Sertifikasi


Rekayasa Perangkat Lunak Institut menawarkan sertifikasi pada topik tertentu seperti Keamanan, Proses perbaikan dan Arsitektur software Apple , IBM , Microsoft dan perusahaan lainnya juga mensponsori sertifikasi pemeriksaan mereka sendiri. Banyak IT sertifikasi program yang berorientasi pada teknologi tertentu, dan dikelola oleh vendor teknologi tersebut. Program-program sertifikasi disesuaikan dengan lembaga yang akan mempekerjakan orang yang menggunakan teknologi tersebut.
 
Sertifikasi lebih luas dari keterampilan rekayasa perangkat lunak umum tersedia melalui berbagai organisasi profesional. Pada tahun 2006 , para IEEE telah disertifikasi lebih dari 575 perangkat lunak profesional sebagai Certified Pengembangan Perangkat Lunak Profesional (CSDP). Pada tahun 2008 mereka menambahkan tingkat sertifikasi entry dikenal sebagai Certified Software Development Associate (CSDA). [23 ] Di Inggris British Computer Society telah mengembangkan sertifikasi profesional yang diakui secara hukum disebut Chartered Profesional IT (CITP), tersedia untuk sepenuhnya Anggota memenuhi syarat (MBCS).  Di Kanada yang Informasi Pengolahan Masyarakat Kanada telah mengembangkan sertifikasi profesional yang diakui secara hukum disebut Sistem Informasi Profesional (ISP).   ACM memiliki program sertifikasi profesional di awal 1980-an, yang dihentikan karena kurangnya minat. ACM memeriksa kemungkinan sertifikasi profesional insinyur perangkat lunak di akhir 1990-an, tetapi akhirnya memutuskan bahwa sertifikasi seperti itu tidak pantas untuk praktek industri profesional rekayasa perangkat lunak.
 

Dampak globalisasi

Dampak awal outsourcing, dan biaya yang relatif lebih rendah sumber daya manusia internasional di negara-negara berkembang dunia ketiga menyebabkan dot com gelembung tahun 1990-an. Hal ini memiliki dampak negatif pada banyak aspek profesi rekayasa perangkat lunak. Sebagai contoh, beberapa siswa di negara maju menghindari pendidikan yang berkaitan dengan rekayasa perangkat lunak karena takut lepas pantai outsourcing (mengimpor produk perangkat lunak atau jasa dari negara lain) dan menjadi pengungsi oleh visa pekerja asing . Walaupun statistik saat ini belum menunjukkan ancaman untuk rekayasa perangkat lunak itu sendiri, sebuah karier yang terkait, pemrograman komputer tampaknya telah terpengaruh. tidak  Namun demikian, kemampuan untuk cerdas leverage dan lepas pantai-pantai di dekat sumber daya dengan cara yang efisien telah meningkatkan kemampuan operasional keseluruhan banyak organisasi.  Ketika Amerika Utara meninggalkan pekerjaan, orang Asia hanya tiba untuk bekerja. Asia Kapan meninggalkan pekerjaan, Eropa tiba untuk bekerja. Ini memberikan kemampuan terus menerus untuk memiliki pengawasan manusia pada proses bisnis penting 24 jam per hari, tanpa membayar kompensasi lembur atau mengganggu pola tidur utama sumber daya manusia.
 

Pendidikan

Sebuah pengetahuan tentang pemrograman merupakan prasyarat untuk menjadi seorang insinyur perangkat lunak. Pada tahun 2004 IEEE Computer Society menghasilkan SWEBOK , yang telah diterbitkan sebagai ISO IEC Teknis / Laporan 19759:2004, menggambarkan tubuh pengetahuan yang mereka percaya harus dikuasai oleh seorang insinyur perangkat lunak lulus dengan empat tahun pengalaman. Banyak insinyur perangkat lunak memasuki profesi dengan mendapatkan gelar universitas atau pelatihan di sekolah kejuruan.  the United States. Satu kurikulum standar internasional untuk derajat rekayasa perangkat lunak sarjana didefinisikan oleh CCSE , dan diperbaharui pada tahun 2004. Sejumlah perguruan tinggi program gelar Software Engineering, seperti tahun 2010 , ada 244 Kampus program, 70 program Online, 230 Master-tingkat program, 41 Doktor-tingkat program, dan 69 Sertifikat tingkat program di Amerika Serikat.
 
Selain pendidikan universitas, banyak perusahaan sponsor magang bagi siswa yang ingin mengejar karir di bidang teknologi informasi. Magang ini dapat memperkenalkan mahasiswa untuk tugas-tugas dunia nyata menarik yang insinyur perangkat lunak khas menghadapi setiap hari. Pengalaman serupa dapat diperoleh melalui dinas militer dalam rekayasa perangkat lunak.
 

Sub-disiplin

Rekayasa perangkat lunak dapat dibagi menjadi sepuluh subdisiplin. Mereka adalah: 

Disiplin Terkait

Software engineering adalah subfield langsung dari ilmu komputer dan memiliki beberapa hubungan dengan ilmu manajemen . Hal ini juga dianggap sebagai bagian dari keseluruhan sistem rekayasa .

Sistem rekayasa

Sistem insinyur berurusan terutama dengan desain sistem secara keseluruhan, khususnya menangani lebih dengan aspek fisik yang meliputi desain hardware. Mereka yang memilih untuk berspesialisasi dalam teknik komputer perangkat keras mungkin memiliki beberapa pelatihan dalam rekayasa perangkat lunak.
 

Komputer Software Engineers

Komputer Software Engineers biasanya sistem tingkat (rekayasa perangkat lunak, sistem informasi) ilmu komputer atau lulusan tingkat rekayasa perangkat lunak komputer. Istilah ini juga mencakup lulusan ilmu komputer umum dengan beberapa tahun praktis mengenai pengalaman kerja yang melibatkan rekayasa perangkat lunak.

Sumber : http://en.wikipedia.org/wiki/

No comments: