Minggu, 28 April 2013

Requirements Engineering


Pengertian requirement engineering

Requirement engineering adalah sebuah proses menetapkan layanan yang dibutuhkan oleh costumer dari suatu sistem dan adanya suatu batasan-batasan dari operasi yang dikembangkan.

Tipe requirement

1.       Kebutuhan user

Pernyataan dengan menggunakan bahasa yang alami serta diagram dari layanan sistem yang disediakan dan batasan-batasan operasional.

2.       Kebutuhan system

Sebuah struktur dokumen yang detail, deskripsi-deskripsi sistem dan batasan operasi-operasi meruapakan bagian dari kontrak.

Kebutuhan user siapa saja yang terlibat:
1.       Client managers
2.       System end-users
3.        Client engineering
4.       Constractor managers
5.       System architect

Kebutuhan system:
1.       System End-Users,
2.       Client Engineers
3.       System Architects
4.        Software Developers.

Functional requirements dan non functional requirement

1.       Non functional requirements

Merupakan batasan dari layanan yang dikirim melalui sebuah sistem.

2.       Functional requirement

Pernyataan dari layanan yang harus disediakan sistem tergantung dari jenis software yang diharapkan user dan jenis 

3.        Domain Requirements                        

Menjadi kebutuhan functional yang baru.Harus melihat batasan/ranahnya. Bisa menjadi fungsi yang baru.

4.        Agile-method and Requirements        

Metode ini menggunakan increment model. Menurut metode ini membuat dokumen itu membuang waktu karena dokumen biasanya kadaluarsa.


Selasa, 02 April 2013

Tugas RPL - Kelebihan dan Kekurangan Proses Model


Berikut ini merupakan jenis – jenis serta kelebihan dan kekurangan proses model dalam rekayasa perangkat lunak.

1.      The waterfall model

The waterfall model merupakan paradigma yang tertua.  The waterfall model biasanya disebut dengan classic life cycle.
Berikut ini merupakan beberapa kekurangan atau masalah-masalah yang akan ditemui jika menggunakan model waterfall.
·         Pada pengerjaan suatu projek bila menginginkan adanya suatu perubahan maka akan membuat team work yang mengerjakan projek tersebut  menjadi bingung
·         Dalam model waterfall ini setiap tahapan harus dikerjakan secara urut, apabila tahap pertama belum selesai maka tidak bisa melanjutkan ketahap selanjutnya jadi harus diselesaikan terlebih dahulu. Hal tersebut membuat costumer harus bersabar untuk menunggu produk pesanannya selesai dikerjakan.
·         The waterfall model ini semua kebutuhan harus didesripsikan sejak awal sebelum model dibuat. Apabila kostumer menginginkan adanya  perubahan kebutuhan yang maka akan sulit dilakukan
·         Para developer harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya sehingga akan membuat para developer  mempunyai waktu yang banyak untuk menganggur.
·         Waterfall pada umumnya digunakan untuk rekayasa sistem perangkat lunak berkapasitas besar dimana proyek dikerjakan di beberapa tempat berlainan, dan terbagi menjadi beberapa bagian sub-proyek
Ada beberapa kelebihan dari model waterfall ini. Berikut adalah kelebihan dari model waterfall ini.
·         Model ini akan memudahkan para pengembang perangkat lunak untuk menetapkan tanggung jawab, memonitor penjadwalan proyek serta akuntabilitas peran personal dalam proyek perangkat lunak.
·         Mudah untuk diaplikasikan
·         Model waterfall ini sangat cocok untuk diterapakan jika semua kebutuhan sudah terpenuhi  jauh sebelum model dibuat.
·         Memberikan template tentang metode anaisis, pegkodean, pengujian, design, serta  pemeliharan.


2.      V model

v model merupakan variasi dari model waterfall.
          Kelebihan V model:
·         V model sangat fleksibel. V model ini bisa digunakan untuk project tailoring serta penambahan pengurangan method dan tool secara dinamik.
·         V model dikembangkan dan di maintain oleh publik. User dari V model berpartisipasi dalam change board yang memproses semua change request terhadap V model.
Kekuranagn V model
·         V model hanya bisa digunakan sekali dalam suatu proyek hal tersebut disebabkan kerena V model merupakan model yang project oriented.
·         V model bersifat terlalu fleksibel sehingga mengakibatkan beberapa aktivitas-aktivitas yang digambarkan dalam V model menjadi terlalu abstrak. Hal tersebut mengakibatkan tidak bisa diketahui dengan jelas apa yang termasuk dalam activity tersebut dan apa yang tidak.

3.      The Incremental model

          Kekurangan model increment
·         Model jenis ini hanya cocok untuk proyek dengan skala kecil
·         Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut
·         Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh

Kelebihan dari The incremental Model:
·         Dengan model incremental ini mampu mengakomodasi perubahan kebutuhan customer
·         The incremental model Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat

4.       Evolutionary Process Model

Evolutionary model mempunyai dua jenis yaitu prototype model dan spiral model.

a.       Prototype model

Prototype model ini digunakan ketika user atau costumer telah mendefinisikan kebutuhan umumm namun belum bisa menyertakan fungsi dan fitur-fitur secara detail. Atau model ini dapat digunakan saat pengembang tidak yakin dengan efisiensi dari algoritma yang dibentuk.
Kelebihan prototype model
·         Jika menggunakan model ini maka dapat menghemat waktu pengembangan
·         Akan terjalin komunikasi yang baik antara kostumer dan pengembang
·         Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
·         User mnegetahui apa yang diharapkan sehingga penerapan menjadi lebih mudah.
·         Dalam pengembangan sistem user bisa berpartisipasi secara aktif.
Kekurangan prototype model
·         Proses analisa dan perancangan dalam prototype model terlalu singkat
·         Biasanya kurang fleksible dalam mengahadapi perubahan
·         Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang
·         Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien

b.      Spiral model

Spiral model merupakan gabungan antara prototype model dan waterfall model. Spiral model didefinisikan dalam aktivitas kerangka kerja oleh team software engineering.
Kelebihan model Spiral :
·         Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
·         Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses
Kekurangan model Spiral :
·         Pada saat situasi kontrak akan sulit untuk meyakinkan costumer bahwa penggunaan pendekatan ini akan dapat dikendalikan
·         Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses
·         Model spiral ini merupakan model yang masih baru sehingga belum terbukri apakah model ini efisien atau tidak.

Minggu, 24 Maret 2013

Tugas Resume RPL kedua


Sebuah kumpulan dari tahapan-tahapan yang sudah diprediksi yang akan membantu membuat secara tepat waktu dan menghasilkan kualitas yang tinggi disebut dengan proses model

Proses model sangat penting dan memang harus digunakan karena proses model akan menyediakan kestabilitasan, mengontrol dan mengorganisasi aktivitas yang jika dibiarkan dan tidak terkontrol maka akan menjadi kacau.

Hasil kerja dari proses model adalah program, dokumen dan data. Proses yang diadopsi tergantung pada software yang dibuat. Suatu proses mungkin bisa baik digunakan untuk sistem A namun belum tentu baik untuk sistem B.

Sejumlah mekasnisme penilaian proses perangkat lunak yang memungkinkan kita menentukan kematangan software proses tersebut.

Pengertian software proses

Software proses adalah kerangka kerja untuk aktivitas-aktivitas, kegiatan-kegiatan yang dibutuhkan untuk membuat software dengan kualitas tinggi.

1.       Linier Proses Flow

Pada linier proses flow yaitu melaksanakan atau mengeksekusi setiap tahapan secara urut.

2.       Iterative process flow

Berbeda dengan linier proses flow, jika interative process flow ini mengulang satu atau lebih proses sebelum melanjutkan ketahapan selanjutnya.


3.       Evolutionary process flow

Mengeksekusi setiap tahapan secara melingkar kearah yang lebih lengkap, jadi bukan merupakan pengulangan.

4.       Paralel Process Flow

Seperti namanya Paralel process flow ini mengeksekusi setiap aktivitas secara paralel.


Identifying a Task Set
1.       Membuat daftar yang akan dicapai
2.       Membuat daftar dari produk kerja yang harus diselesaikan
3.       Membuat daftar kualitas jaminan yang akan digunakan



Proses pattern

1.       Menjelaskan masalah yang terkait dengan proses yang ditemui selama bekerja
2.       Mengidentifikasi lingkungannya dimana masalah itu harus dihadapi atau menunjukan satu atau lebih bukti dan solusi.

Process Patterns
Process petterns merupakan mekasnisme yang efektif untuk menggambarkan beberapa software process.
Penggambaran process pattern
1.       Pattern name: memberikan arti nama yang menggambarkan  fungsinya dalam software process.
2.       Type: terdiri dari tiga jenis yaitu: task pattern, stage patterns, dan phase patterns.
3.       Initial context : menggambarkan pattern yang diguanakn.
4.       Problem: masalah diselesaikan dengan pattern yang telah digambarkan sebelumnya.
5.       Solutions: pengimplementasian dari pattern yang telah digambarkan sebelumnya.
6.       Resulting context : suatu kondisi yang akan memberikan hasil jika pattern sudah berhasil diimplementasikan.
7.       Related patterns: suatu daftar dari semua process patterns yang secara langsung terkait dengan syarat.


Jenis –jenis Proses pattern

1.       Stage pattern : mendefinisikan sebuah masalah yang berhubungan dengan aktivitas kerangka kerja untuk proses tersebut.
2.       Task pattern : mendefinisikan masalah yang berhungan dengan aksi software engineering
3.       Phare pattern :

Senin, 18 Maret 2013

Tugas Resume RPL Pertama


Software process adalah sebuah kerangka kerja untuk  tugas-tugas  yang dibutuhkan untuk membangun software dengan kualitas yang tinggi. Software process dan software engineering bisa dikatakan sama dan bisa pula dikatakan tidak sama.

Software Engineering-A layered Technology
Pengertian software engineering menurut Fritz Bauer adalah  pembentukan dan penggunaan dari prinsip-prinsip engineering untuk mendapatkan software secara ekonomis yang dapat dipercaya serta dapat bekerja secara efisien pada mesin-mesin yang nyata.

Software engineering layer


Software engineering merupakan lapisan dari teknologi. Yang menjadi lapisan paling bawah dari software engineering adalah a quality focus. Sedangkan process meruapakan sebuah pondasi untuk software engineering. Process didefinisikan sebagai kerangka yang sudah mapan untuk keefektifan pengiriman teknologi software eengineering.
Software engineering metods menyediakan  tentang “bagaimana untuk” membuat  suatu software. Software engineering metods bergantung pada prinsip-prinsip dasar yang diperintahkan setiap area dari teknologi dan termasuk aktifitas membuat model, dan diskriptif teknik yang lain.
Software engineering tools menyediakan bantuan untuk mengotomatisasi atau semiautomatisasi untuk process dan methods.

A Process Framework
A Process Framework membentuk pondasi untuk melengkapi software process dengan mengidentifikasi beberapa aktivitas framework yang dapat dipakai untuk untuk semua projek software tanpa memperhatikan ukuran atau kerumitan mereka.
Berikut ini merupakan generic process framework yang dapat digunakan untuk sebagian besar software projects:
1.       Comunication: kegiatan komunikasi dan kolaborasi dengan kostumer dan kegiatan lainnya yang sejenis.
2.       Planning: segala aktivitas yang berhubungan dengan perencaan software engineering agar bekerja sesuai dengan apa yang direncanakan.
3.       Modeling: meliputi kegiatan untuk memmbuat model-model yang mengijinkan pengembang dan kostumer untuk memehami secara lebih baik ketentuan software dan membuat design sesuai dengan ketentuan.
4.       Constraction: mengkombinasikan code generation dan mengetes agar bila terjadi error dapat code dapat segera diperbaiki.
5.       Deployment: software dikirim kepada kostumer.

Aktifitas software engineering
1.       Pelacakan dan pengontrolan software : tim melakukan penilaian kemajuan dan melakukan koreksi untuk memmaintain schedule.
2.       Pengelolaan resiko yang mungkin terjadi
3.       Jaminan kualitas software : aktivitas untuk memaintain kualitas software.
4.       Meninjau teknik – teknik yang digunakan
5.       Pengukuran: mendefinisikan dan mengumpulkan proses, projek dan produk yang akan ditampilkan pada konsumen.
6.       Mengelola konfigurasi software
7.       Reusability menagement
8.       Work product preparation and production  : aktivitas untuk membuat model, dokumen, dan lain-lain.

Essence of practice
1.       Memahami setiap masalah dengan cara komunikasi dan analisis
2.       Merencanakan solusi (software design)
3.       Melakukan atau mengerjakan rencana (code generation)
4.       Menjelaskan hasil untuk menguji akurasi (testing and quality assurane)

Memahami Masalah
Untuk memahamai masalah kita perlu memperhatikan beberapa hal. Berikut ini merupakan beberapa hal yang perlu diperhatikan untuk memahami masalah:
1.       Siapa yang menggunakan atau siapa saja yang terlibat
2.       Fungsi-fungi apa dan fitur-fitur apa yang dibutuhkan untuk mengerjakan masalah
3.       Apakah mungkin memperkecil masalah untuk bisa lebih mudah dipahami?
4.       Dapatkah model analisis grafik dibuat?

 The capability Maturity Model Integration (CMMi)
CMMI adalah proses meta model  yang meliputi banyak hal yang menggambarkan tujuan-tujuan secara spesifik, praktek, dan kemampuan serta harus dihadirkan dalam mature software process.
Berikut ini merupakan capability levels:
1.       Level 0 (incomplete) : pada level ini berarti process area tidak dapat bekerja dengan baik dan tidak dapat mencapai tujuan yang telah ditetapkan sebelumnya.
2.       Level 1(performed): semua tujuan pada process area telah terpenuhi.
3.       Level 2(managed):  level 1 sudah terpenuhi dan semua pekerjaan serta work product dimonitor, dikontrol, direview dan dievaluasi apakah sesuai dengan process description atau tidak.
4.       Level 3(defined): level 2 sudah terpenuhi dan dikhususkan dari set organisasi standart process menurut organisasi tailoring guidelines.
5.       Level 4(quantitatively managed): level ke 3 sudah terpenuhi dan process area dikontrol serta diperbaiki menggunakan pengukuran dan penaksiran kwantitatip.
6.       Level 5(optimized) : level 4 sudah terpenuhi dan process area diadaptasi serta dioptimasikan dengan mengguankan kwantitatip( statistical).




Process Patterns
Process petterns merupakan mekasnisme yang efektif untuk menggambarkan beberapa software process.
Penggambaran process pattern
1.       Pattern name: memberikan arti nama yang menggambarkan  fungsinya dalam software process.
2.       Type: terdiri dari tiga jenis yaitu: task pattern, stage patterns, dan phase patterns.
3.       Initial context : menggambarkan pattern yang diguanakn.
4.       Problem: masalah diselesaikan dengan pattern yang telah digambarkan sebelumnya.
5.       Solutions: pengimplementasian dari pattern yang telah digambarkan sebelumnya.
6.       Resulting context : suatu kondisi yang akan memberikan hasil jika pattern sudah berhasil diimplementasikan.
7.       Related patterns: suatu daftar dari semua process patterns yang secara langsung terkait dengan syarat.

Personal and Team Process Models
1.       Personal software Process (PSP)
Dalam PSP terdapat 5 aktivitas framework  diantaranya sebagai berikut:
·         Planning
·         High level design
·         High level design review
·         Development
·         Postmortem
2.       Team Software Process (TSP)
Tujuan dari TSP adalah membangun “self-directed” project team yang diorganisasikan sendiri untuk memproduksi software dengan kualitas yang tinggi.
Aktivitas kerangka kerja TSP yaitu sebagai berikut:
·         Launch
·         High-level design
·         Implementation
·         Integration and test
·         Postmortem.

Process Technology
Alat-alat (tools) Proses technology mengatur sebuah software untuk membuat model yang optimal dari proses kerangka kerja pada umumnya, task set, aktiviitas yang memayungi kerangka kerja. Model biasanya direpresentasikan sebagai network kemudian dianalisis untuk menentukan workflownya dan memeriksa   alternatif struktur proses yang mungkin bisa mengurangi waktu dan uang pengembangan.

Selasa, 05 Juni 2012

tugas resume konsep teknologi





ANDROID DAN JENIS-JENISNYA

Android adalah sistem operasi untuk smartphone dan juga tablet PC  yang berbasis linux.  Saat ini android merupakan OS yang cukup populer didunia.  Bahkan menurut beberapa sumber android sudah menguasai lebih dari 33% dari seluruh pasar ponsel baru. Mungkin hal tersebut dikarenakan android mempunyai berbagai kelebihan yang tidak dimiliki oleh smartphone yang lainnya.
Berikut ini adalah kelebihan- kelebihan yang dimiliki oleh android:
1.    Android mempunyai kemampuan multi tasking . yang dimaksud multi tasking disini adalah pengguna dapat menjalankan beberapa aplikasi sekaligus. Misalnya saja saat pengguna sedang mendengarkan musik pengguna juga bisa menjalankan internet.
2. Android selalu rutin update untuk melakukan perubahan. Dan setiap versi yang dirilis akan   meningkatkan performa dari OS itu sendiri.
3.     Android juga mendapat dukungan dari produsen ponsel kelas atas seperti samsung, htc, motorola,dan sony ericsson. Android mendapat dukungan dari produsen ponsel kelas atas karene android itu free, dan para produsen ponsel tentu mencari OS yang berkualitas dan dengan harga seminimal mungkin tentu merupakan hal bodoh jika para produsen ponsel menolak android.
4.     Android mempunyai aplikasi yang sangat beragam. Di market (sekarang bernama google play) kita bisa mendownload ribuan aplikasi baik yang gratis maupun yang berbayar.
5.    Seperti yang sudah saya katakan tadi android itu gratis sehingga android bisa dimanfaatkan secara gratis juga baik bagi para developer maupun para produsen ponsel.


Nah berikutnya saya akan sedikit menjelaskan  mengenai jenis jenis android berserta keunggulan dari tiap jenisnya.

1.      Android versi 1.1
Android versi ini dirilis pada tanggal 9 maret 2009 dengan pembaruan estetis pada aplikasi, jam alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email.

2.      Android versi 1.5 (cupcake)
Android versi ini merupakan pengembangan dari android versi sebelumnya yaitu android versi 1.1. Android versi 1.5 ini menggunakan software development kit dengan versi 1.5(cupcake) dan dirilis pada pertengahan bulan mei 2009. Dalam versi ada beberapa pembaharuan dan penambahan fitur, diantaranya adalah
·      Keyboard pada layar dapat dapat disesuaikan dengan sistem
·        Bluetooth A2DP
·   Memiliki kemampuan dapat terhubung secara otomatis keheadset bluetooth
·        Animasi layar
·  Dapat menonton mengunggah vidio ke youtube dan mengunggah gambar ke picasa secara langsung dari ponsel
·         Perpindahan layar secara otomatis
·         Merekam dan dan menonton vidio  dengan modus kamera

3.      Android versi 1.6 (donut)
Berikut ini merupakan kelebihan – kelebihan yang dimiliki oleh android versi 1.6:
·         Untuk proses pencarian android versi ini lebih ditingkatkan dari versi sebelumnya
·         Mendukung resolusi layar WVGA
·         peningkatan pada android market
·         pada aplikasi galeri pengguna dapat memilih banyak fot untuk dihapus.
·         Text-to-speech engine
·         Kamera, camcoder dan galeri yang dapat diintegrasikan
·         teknologi text to change speech yang di tingkatkan
·         kemampuan dial kontak
·         pada aplikasi search kita bisa mencari bookmarks, history,kontak dan web dari layar home


4.      Android versi 2.0/2.1 (Enclair)

Android versi ini diluncurkan pada 3 desember 2009.peningkatan  Kemampuan dari android vesi ini adalah:
·         Optimalisasi kecepatan hardware
·         Peningkatan aplikasi google maps 3.1.2
·   Sudah didukung flash pada kamera 3,2 MP, digital  zoom dan bluetooth 2.1
·         UI baru pada browser dan dukungan html 5.
·   Peningkatan aplikasi virtual keyboard dan live wallpaper
·         Daftar kontak yang baru



5.      Android versi 2.2 (froyo: frozen yoghurt)

Android versi 2.3 ini diluncurkan pada 6 desember 2010. peningkatan  Kemampuan dari android vesi ini adalah:
·       Peningkatan kecepatan kinerja dan aplikasi menjadi 2 sampai 5 kali lebih cepat.
·         Adobe flash 10.1
·         Wifi hostpot portable
·         Integrasi V8 javascript engine
· Peningkatan dukungan microsoft exchange
·         Pada android market terdapat fitur update otomatis
·  Quick switching between multiple keyboard languages and their dictionaries
·    Voice dialing dan berbagai kontak melalui bluetooth


6.      Android versi 2.3 (gingerbread)
Diluncurkan pada tanggal 6 desember 2010. peningkatan  Kemampuan dari android vesi ini adalah:
1.      Input teks lebih cepat
Keyboard Android Gingerbread dijanjikan akan lebih baik, dengan beberapa perubahan lokasi dan bentuk. Selain itu ada kemampuan memperbaiki salah ketik lewat kamus bawaan.
2. Peningkatan fungsi copy paste, peningkatan gaming
3.      Layar antar muka di desain ulang
4. Dukungan kemampuan NFC (near field communication)
5.      Kamera lebih dari satu
6.      Handphone virtualization, efek audio baru
7.      Tampilan yang lebih rapi dan mudah untuk dipelajari
8.     Terdapat aplikasi Manage applications, disini pengguna dapat mengetahui berapa memori yang terserap untuk setiap aplikasi yang sedang dijalankan.

7.      Android versi 3.0 (honeycomb)
Android versi ini dioptimalkan untuk tablet. Salah satu tablet yang telah menggunakan OS ini adalah Motorola Xoom. Karena android versi ini dikhususkan untuk tablet maka tampilan layarnya pun juga lebih besar. Selin itu android versi ini telah didukung dengan multi proseccor dan akselerasi hardware untuk grafis. Perubahan perubahan yang dilakukan pada versi ini antara lain pada system bar, action bar , costumize home screens, recent apps, keyboard, text selection,opsi conectivity yang baru, browser, camera, gallery, contact dan email.

8.      Android versi 4.0 (ice cream sandwich)

Berbeda dari honeycomb versi ice cream sandwich ini bisa dipakai untuk tablet maupun untuk ponsel. Android versi ini membawa fitur dari honeycomb untuk smartphone dengan menambahkan fitur- fitur yang lebih canggih.
Berikut ini adalah fitur – fitur yang ditambahkan:
·         Dapat berbagi informasi dengan menggunakan NFC
·         Mencari email secara offline
·         Terdapat perangkan tambahan fotografi
·         Face unlock
·      voice control yang memungkinkan kita untuk mendikte teks yang ingin kita ketik
·         penigkatan kemampuan copypaste


9.      Android versi 5.0 (jelly bean)

Android versi ini di khususkan untuk komputer tablet dan memungkinkan untuk digunakn sebagai sistem operasi pada pc. Rencananya android versi ini akan diluncurkan pada tahun 2012 ini.