Pages

Senin, 23 Desember 2013

tugas 3 ,STMIK eresha Tentang sofware engginering didalam perkantoran

selamat malam
lagi lagi tugas kuliah RPL (rekasa perangkat lunak)
kali ini membahas bagimana sofware engginering di implementasikan kedalam lingkup perkantoran
ok,,,, langsung saja

software engginering (rekayasa perangkat lunak) adalah sebuah disiplin rekayasa yang berkaitan dengan semua aspek produksi perangkat lunak.kita ambil contoh dalam kegiatan di kantor saya, para deplovment atau bahasa awamnya IT (tehnikal) sedang membuat sofware ringtone, sms gateway atau di satu divisi di kantor saya yang bernama TechM selalu memaintance service Axis ( yang sekarang berubah nama menjadi AMSIONG), para IT di divisi vas aplikasi sedang membuat tentang aplikasi  sebuah alert untuk memberitahukan kepada pengguna (consumen) secara otomatis tentang promo yang sedang/akan diadakan.

tujuan dari pembuatan aplikasi alert atau sms gateway ini tidak lain dan tidak bukan agar para pelanggan mendapatkan update tentang kabar dari Axis tentang promo2 yang akan atau sedang dijalankan.
saya rasa semua provider di indonesia khususnya para divisi VAs Aplikasi dituntut harus mendeploy program alert atau sms gateway. (kalo salah mohon dimaklumi masih newbie di bidang IT )

ini saya izin copas dari blog tetangga.
Menurut Pressman, Teknologi software engineering dibagi kedalam 4 layer pokok. Yang pertama adalah layer Tools (diidentifikasi alat-alat(Tools) apa saja yang harus digunakan dalam pemodelan system). Layer kedua adalah layer Methods (ditentukan metode-metode yang dipakai dalam melakukan pemodelan, pengembangan dan pendekatan yang dilakukan). Yang berikutnya adalah layer Process (identifikasi pembuatan sebuah softwere berdasarkan kebutuhan dari user). Layer yang terakhir adalah layer For Quality Focus (layer ini bergantung pada identifikasi-identifikasi sebelumnya di layer Tools, Methods maupun Process). Tujuan utama dari perancangan-perancangan sebelumnya ada di layer ini yaitu “High Quality Software”. Disinilah pentingnya Software Engineering.
Software Process
SW Process adalah framework untuk task atau pekejaan yang dibutuhkan untuk membangun sebuah “High Quality Software”. Proses framework sendiri dibagi menjadi dua aktivitas yaitu Framework Activities dan Umbrela Activities. Framework activities merupakan tahapan pokok dalam pembuatan sebuah software yang meliputi work task, work product, milestone (scheduling) & deliverable, serta Quality Checkpoint. Framework Activities sendiri terbagi dalam beberapa tahap yang harus diperhatikan. Tahapan itu adalah Communication & Planning, Modeling, dan Constructor & Deployment.
Tahap komunikasi adalah tahap untuk melakukan komunikasi dan kolaborasi dengan customer dengan tujuan mengumpulkan  informasi mengenai kebutuhan customer tehadap software yang diinginkan. Tahap Perencanaan mendeskripsikan task-task secara teknis , resiko yang akan dihadapi, hingga penjadwalan proses pengembangan software berdasarkan kebutuhan. Tahap pemodelan dilakukan kreasi model bagi pengembang sehingga customer bisa mendapatkan gambaran mengenai software. Secara detail, aktivitas pemodelan terbagi menjadi dua tahap yaitu menganalisa kebutuhan (Analisys Requirement) dan proses desain. Tahap Constructor & Deployment lebih cenderung pada pembangunan software menggunakan Tools-Tools tertentu.
Umbrella Activities merupakan kegiatan yang menaungi atau dengan kata lain “memayungi”  dari pengembangan software agar dapat menghasilkan software yang sesuai dengan kriteria. Yang termasuk ke dalam Umbrela Activities adalah software project management,formal technical reviews, software quality assurance,software configuration management,reusability management,  measurement, document preparation and production, risk management.
Fundamental Activities
Banyak jenis software proses yang berbeda-beda , namun secara umum Fundamental Activities disarikan ada 4 yaitu Software spesification(mendefinisikan software dan batasan-batasan constraint), Software design dan Implementation (untuk menemukan spesifikasi software untuk diproduksi), software validation (memvalidasi software yang telah dibuat) dan yang terakhir software evolution (tahap dimana software perlu di perbaiki maupun diperbarui untuk mengikuti perkembangan jaman, oleh karena itu pemilihan platform untuk pengembangan software sangat penting).
Pada Software specification, terdapat 4 fase penting yaitu Feasibility Study (studi kelayakan sebuah software dan Tools), Requirements Elicitation and analisys (untuk membantu memahami system secara spesifik) dan Requirement validation (memvalidasi requirements dari customer). Pada software desain and implementation dilakukan proses konversi dari spesifikasi sistem ke sistem yang benar-benar dapat di eksekusi. Mungkin juga dapat dilakukan penghalusan atau perbaikan spesifikasi pada tahap ini. Pada software validation termasuk didalamnya proses verifikasi, proses validasi dan proses testing (unit testing, modul testing, subsystem testing, system testing hingga acceptance testing yang dilakukan pada user). Sedangkan pada tahap proses evolution terdapat proses-proses tambahan dimana suatu software dapat berubah selama atau setelah system dikembangkan.


sumber
 http://natrisnaniar.wordpress.com/category/dari-bangku-kuliah/
atau bisa di download untuk bahan tugas
di http://library.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00350-IF%20Bab2001.pdf

Sabtu, 07 Desember 2013

Pengertian.
Proses Software merupakan Sekumpulan aktifitas yang saling terkait untuk spesifikasi, desain, implementasi dan testing sistem software.
Proses Software terdiri dari :
1. Spesifikasi
2. Desain
3. Validasi
4. Evolusi

Model Proses Software 
Model proses software adalah representasi abstrak dari proses. Merupakan gambaran dari proses dari beberapa perspektif tertentu
Model Proses Software Generik antara lain :
1. Model waterfall
Membagi dan membedakan fase spesifikasi dan pengembangan.
Langkah-langkah pada model ini adalah :
- Analisa dan definisi kebutuhan
- Desain sistem dan software
- Implementasi dan unit testing
- Integrasi dan testing sistem
- Operasi dan maintenance
Kekurangan dari model waterfall adalah kesulitan untuk mengakomodasi perubahan setelah proses berjalan.
Masalah yang sering dihadapi pada model ini, antara lain :
1. Tidak fleksibel dalam pembagian proyek ke dalam tingkat yang berbeda
2. Sulit untuk merespon perubahan kebutuhan konsumen, sehingga model ini hanya cocok jika kebutuhan sudah dimengerti dengan baik

2. Pengembangan Evolusioner
Spesifikasi dan pengembangan yang terpisah
ada 2 methode dalam 
Pengembangan Evolusioner, yaitu :* Pengembangan Exploratory
bekerja dengan konsumen dan melibatkan sistem akhir dari spesifikasi skema inisial. Dimulai dengan kebutuhan yang dimengerti dengan baik
* Throw-away prototyping
Berkonsentrasi pada eksperiment serta mengerti kebutuhan sistem. Dimulai dengan kebutuhan yang tidak dimengerti dengan baik
Permasalahan
Tidak ada visibilitas proses
- Sistem biasanya tidak terstruktur dengan baik
- Kemampuan khusus (misalnya bahasa untuk prototipe cepat) kemungkinan diperlukan
Aplikasi
- Untuk sistem interaktif berukuran kecil atau tingkat medium.
- Untuk bagian dari sistem besar (misalnya user interface).
- Untuk sistem dengan daur hidup pendek.

3. Pengembangan sistem Formal
Model sistem matematis yang secara formal diterjemahkan ke dalam implementasi.
Pengembangan Sistem Formal Berbasis transformasi dari spesifikasi matematis melalui representasi yang berbeda untuk program yg dapat dieksekusi. Sedangkan transformasi merupakan ‘pemelihara kebenaran’ sehingga dapat menunjukkan program sesuai spesifikasinya.

Permasalahan
- Perlu kemampuan dan training khusus untuk mengaplikasikan teknik ini
- Secara formal sulit untuk menentukan beberapa aspek dari sistem seperti antarmuka user
Aplikasi
- Sistem kritis terutama dimana keselamatan dan keamanan harus dibuat sebelum sistem beroperasi

4. Pengembangan Reuse-based
Penembangan sistem ini Berbasis systematic reuse dimana sistem diintegrasikan dalam komponen yang sudah ada atau sistem COTS (Commercial-off-theshelf).
Tingkatan/ Level Proses pada pengembangan Reuse-based antara lain :
- Analisakomponen
- Modifikasi kebutuhan
- Desain sistem dengan reuse
- Pengembangan dan integrasi
Kebutuhan sistem selalu berkembang selama proyek berlangsung, sehingga iterasi proses dimana level sebelumnya dilakukan rework merupakan bagian dari proses untuk sistem yang besar.
pada proses ini ada 2 pendekatan yang dapat dilakukan, yaitu :
1. Pengembangan Incremental
Pelepasan sistem tidak dalam bentuk pelepasan tunggal, tetapi pengembangan dan pelepasan dibagi ke dalam ‘increment’ dimana setiap ‘increment’ melepaskan bagian dari fungsional yang
dibutuhkan. Kebutuhan user diprioritaskan dan kebutuhan prioritas tertinggi akan dimasukkan dalam ‘increment’ awal. Jika pengembangan ‘increment’ dimulai, kebutuhan dibekukan terlebih dahulu dan setelah itu kebutuhan untuk ‘increment’ selanjutnya dapat dilanjutkan.

Keuntungan Pengembangan Incremental:- Nilai konsumen dapat diserahkan pada setiap ‘increment’ sehingga fungsional sistem tersedia lebih dahulu.
- ‘increment’ awal berfungsi sebagai prototype untuk membantu memperoleh kebutuhan ‘increment’ selanjutnya.
- Resiko lebih rendah dari keseluruhan kegagalan proyek.
- Layanan sistem prioritas tertinggi cenderung menerima testing terbanyak

2. Pengembangan Spiral
Proses direpresentasikan sebagai spiral bukan sebagai urutan aktivitas dengan melihat sistem sebelumnya (backtracking). Setiap loop dalam spiral merepresentasikan fase dalam proses. Tidak ada fase yang tetap seperti spesifikasi atau desain- loop , dalam spiral dipilih tergantung pada apa yang dibutuhkan. Resiko ditaksir secara eksplisit dan penyelesaian sepanjang proses.

Tiap loop dalam Spiral terdiri dari beberapa Sektor, yaitu :
1. Setting Obyektif
yaitu : menentukan tujuan dari Fase yan telah ditentukan.
Batasan-batasan pada proses dan produk serta resiko telah diketahui. Alternatif strategi telah disiapkan berdasarkan resiko-resiko yang telah diketahui dan sudah direncanakan.
2. Penaksiran dan pengurangan resiko
Resiko ditaksir secara detail dan aktifitas didigunakan untuk mengurangi resiko.
3. Pengembangan dan Validasi
Model pengembangan untuk sistem dipilih yang berupa model generik.
4. Perencanaan
Proyek direview dan fase berikutnya dari spiral direncanakan.

Spesifikasi SoftwareDari proses yang sudah berjalan ditentukan layanan apa yang dibutuhkan dan batasan operasi dan pengembangan sistem.
Proses rekayasa kebutuhan terdiri dari :
- Studi kelayakan
- Perolehan dan analisa kebutuhan
- Spesifikasi kebutuhan
- Validasi kebutuhan
Implementasi dan Desain Software
Proses ini mengubah spesifikasi sistem menjadi sistem yang dijalankan.
pengertian Desain software yaitu : Mendesain struktur software yang didapatkan dari spesifikasi.Sedangkan Implementasi yaitu : Mengubah struktur software ke dalam program yang dieksekusi.
Aktifitas desain dan implementasi saling berhubungan dan mungkin terpisah
Aktifitas Proses Desain antara lain :
1. Desain arsitektur
2. Spesifikasi abstrak
3. Desain antar muka
4. Desain komponen
5. Desain struktur data.
6. Desain algoritma.

Metode Desain
Metode Desain merupakan Pendekatan sistematis untuk pengembangan desain software
Desain biasanya terdokumentasi sebagai kumpulan model grafis. Beberapan jenis model Desain yang biasa digunakan antara lain :
  • Model data-flow
  • Model entity-relation-attribute
  • Model struktural
  • Model obyek
Pemrograman dan Debugging
yaitu proses untuk Mengubah desain ke dalam program dan menghilangkan error dari program.
Pemrograman adalah aktifitas personal – tidak ada proses pemrograman generik. Seorang Programmer membawa beberapa program testing untuk menemukan kegagalan dalam program dan menghilangkan kegagalan dalam proses debugging.
Prosses dalam Debuging adalah sebagai berikut :
Mencari error ---> Desain perbaikan error ---->Perbaikan error --->Re-test program.

Validasi Software
Verifikasi dan validasi bertujuan untuk menunjukkan bahwa sistem sesuai spesifikasinya dan sesuai kebutuhan konsumen. Validasi Software melibatkan pengecekan dan review proses dan testing sistem. Sedangkan testing sistem melibatkan eksekusi sistem dengan test case yang diambil dari spesifikasi data riil untuk diproses oleh sistem
Tingkat Testing
1. Testing Unit : Dilakukan tes pada komponen individu
2. Testing Modul : Dilakukan tes pada kumpulan komponan yang berhubungan
3.Testing sub-system : Modul diintegrasikan ke dalam sub sistem dan dilakukan tes. Fokus pada testing antar muka
4. Testing sistem : Testing pada keseluruhan sistem. Tertingi terhadap properti penting.
5. Testing Penerimaan : Testing dengan data konsumen untuk memeriksa apakah dapat diterima.

Evolusi Software
Software bersifat fleksibel dan dapat berubah. Perubahan kebutuhan karena perubahan lingkungan bisnis, software yang mendukung bisnis juga harus terlibat dan berubah, Meskipun terdapat batas antara pengembangan
dan evolusi (pemeliharaan), peningkatan yang tidak berhubungan menyebabkan sistem sedikit demi sedikit menjadi sebuah sistem baru.


by suprono