Jumat, 16 Maret 2018

Rekayasa Perangkat Lunak Generic Proses Framework

1. Model Waterfall
waterfall
  • ini adalah paradigma yang tertua. model ini bagus dipilih apabila semua kebutuhan sudah siap jauh sebelum sistemini dimulai.
  • Kelebihan:
    • mudah diaplikasikan
    • cocok untuk produk yang sudah jelas kebutuhannya diawal sehingga minim kesalahannya.
  • Kekurangan:
    • sulit untuk melakukan perubahan
    • tidak fleksibel
2. Model V
V-Model
  • Variasi dari waterfall model yang berhubungan dengan aksi aksi yang terasosiasi dengan communication, modelling, construction, activities.
  • awalnya team bergerak ke bawah, setelah itu kekanan.
  • Kelebihan:
    • sangat fleksibel
    • dikembangkan dan di-maintain oleh publik
  • Kekurangan:
    • hanya bisa digunakan sekali dalam suatu proyek
    • terlalu fleksibel dalam arti ada beberapa activity terlalu abstrak
3. Incremental Model
increment
  • melakukan 1 model apabila ditengah jalan mendapat ide baru maka ide tersebut menjadi versi lain, versi selanjutnya framework proses dimulai dari awal.
  • bila kebutuhan awal telah didefinisikan dengan baik tetapi secara keseluruhan perkembangan masih menghalangi proses linier.
  • biasanya increment pertama adalah inti produk dengan banyak tambahan (modifikasi user).
  • Kelebihan:
    • resiko lebih minim
    • hasil dapat lebih baik secara bertahap
  • Kekurangan:
    • ada penambahan staff apabila terjadi increment terus menerus.
    • bila ada perubahan harus dikerjakan sebagai produk baru.
4. Evolutionary Model
evol
  • software/sistem berubah dari waktuke waktu. biasanya produk inti sudah dipahami denganbaik tapi detil dan perluasannya belum didefinisikan.
  • Ada dua yaitu:
1. Prototyping
      • digunakan ketika user sudah bisa mendefinisikan kebutuhan umum tetapii, tidak bisa secara detil menyatakan kebutuhan fungsi, fitur. pengembang tidak yakin dengan efisiensi algoritmanya.
      • proyek 60-90 hari menggunakan prototype.
2. Spiral
      • prototype yang sudah dikontrol dan waterfall dengan aspek sistematisnya
      • semakin berputa semakin berkembang sistemnya,ada tahapan untuk menjamin kenyamanan dan kepuasan, ada analisa terhadap resiko.
      • untuk skala yang besar dimana tiap proses ada kemajuannya.
  • Kelebihan:
    • Kualitas software yang dihasilkan cenderung lebih baik dengan kompleksitas yang sangat tinggi
    • sesuai dengan proyek yang bersifat ‘dapat dikembangkan secara terus menerus’
  • Kekurangan:
    • tidak cocok untuk proyek skala besar
    • sistem yang tidak bisa di modularisasi tidak cocok untuk model ini

A.      Software Process
  • Kerangka aktivitas, aksi dan tugas yang diperlukan untuk membangun software berkualitas tinggi
  • Menentukan pendekatan yang diambil untuk software yang direkayasa
  • Diadaptasi secara kreatif, berpengetahuan sehingga rekayasa perangkat lunak layak dibuat dan sesuai permintaan pasar

B.      Process Flow
  • Mendeskripsikan bagaimana kelima aktivitas framework, aksi dan tugas terorganisir sepanjang waktu
  • Linear process flow melakukan setiap aktivitas framework secara urut diawali dengan komunikasi diakhiri dengan penyebaran
  • Parallel process flow meakukan satu dari aktivitas secara parallel dengan aktivitas lain

C.      Task Set
  • Setiap aksi rekayasa software terkait aktivitas framework dapat direpresentasi oleh task set yang berbeda
  • Projek kecil tidak memerlukan task sets yang sebesar dan sedetil sepeerti tim projek yang komplek
  • task sets diadaptasi untuk menentukan kebutuha spesifik dari software project karakteristik tim projek

D.      Process Patterns
  • Metode untuk menentukan solusi projek dalam konteks proses software
  • Tim software dapat menggabungkan pattern untuk merancang proses yang sesuai kebutuhan dari spesifik projek

E.       Process Pattern Template
  • nama pola yang berarti
  • kekuatan (forces)
  • tipe:
    • pola tingkatan
    • pola tugas
    • pola fase
  • konteks awal
  • solusi
  • konteks yang dihasilkan
  • polayang berkaitan
  • kegunaan/contoh

F.       Prescriptive Process Models
  • awalnya bertujuan menertibkan kekacauan perkembangan software
  • mereka membawa ke pekerjaan software engineering dan menyediakan panduan yang beralasan kepada tim software
  • mereka belum menyediakan jawaban pasti untuk masalah perkembangan software dalam lingkungan perubahan komputasi

G.     Software Process Models
  • Waterfall model (siklus)
  • Incremental model
  • Evolutionary model
-prototyping model
-spiral model
  • Concurrent development model

H.      Specialized Process Models
  • Component-based development
  • Formal method model
  • Aspect-oriented software development

I.        Unified Process
  • use-case driven, arsitektur sentris, perulangan dan incremental proses software
  • usaha menggambarkan fitur terbaik dari software proses tradisional model dan mengimplementasi fitur-fitur perkembangan software cerdas
  • fase:
-fase awal
-fase penjelasan
-fase konstruksi
-fase transisi
-fase produksi

J.        Personal Software Process (PSP)
  • Menekankan pengukuran personal dari produk kerja dan kualitas produk kerja
  • Menekankan kepentingan identifikasi eror lebih dini dan memahami tipe eror
  • Aktiviti framework :
-perencanaan
-desain high-level
-review desain high-level
pengembangan
postmortem

K.     Team Software Process
  • Objektif
-membuat tim self-directed yang merencanakan dan melacak kerja, menetapkan tujuan, dan memiliki proses dan perencanaan sendiri
-mempercepat peningkatan proses software dengan membuat CCM level 5
-menyediakan panduan peningkatan ke organisasi high-maturity
-memfasilitasi pengajaran universitas mengenai skill tim industry

  • skrip aktivitas projek
-mengadakan projek
-desain high-level
-implementasi
-integrasi dan system testing
-postmortem

 L.       Process Technology Tools
  • Digunakan untuk mengadaptasi model proses untuk digunakan oleh tim projek software
  • Memperbolehkan organisasi untuk membangun model otomatis dari proses framework yang lazim, task sets, dan umbrella activities.
  • Otomat model tersebut dapat digunakan untuk menentukan aliran kerja dan memeriksa struktur proses alternative
  • Tools dapat digunakan untuk mengalokasi, monitor dan mengontrol semua software engineering task sebagai bagian dari model proses

A.  Software
  • Software adalah sebuah produk dan sebuah kendaraan untuk pengiriman sebuah produk
  • Software adalah rekayasa, tidak diproduksi
B. Software Application Domain
  • Software system
  • Software aplikasi
  • Engineering atau scientific software
  • Product-line software
  • Web-applications
  • Software kecerdasan buatan
C. Tantangan Software Baru
  • Open-world computing
  • Netsourcing
  • Open source
D. Reasons for Legacy System Evolution
  • Software harus diadaptasi untuk memenuhi kebutuhan lingkungan new computing atau teknologi
  • Software harus ditingkatkan untuk mengimplementasi keperluan new business
  • Software harus diperluas supaya dapat diperbarui dengan komponen sistem modern
  • Software harus dirombak supaya viable dalam lingkungan network
E. Software Engineering Realities
  • Masalah harus dipahami sebelum softare solusi dikembangkan
  • Desain sangat penting
  • Software harus dapat dipelihara
F.  Software Engineering
  • Rekayasa Software meliputi proses, teknik manajemen, metode teknik, dan penggunaan tools.
G. Generic Software Process Framework
  • Komunikasi
  • Perencanaan
  • Pemodelan
  • Konstruksi
  • Penyebaran
H. Software Engineering Umbrella Activities
  • Software project tracking and control
  • Pengelolaan resiko
  • Jaminan kualitas software
  • Technical reviews
  • Pengukuran
  • Manajemen konfigurasi software
  • Manajemen reusability
  • Persiapan produk kerja dan produksi
I. Attributes for Comparing Process Models
  • Aliran keseluruhan dan tingkat saling ketergantungan antara tugas-tugas
  • Tingkat sampai mana tugas yang ditentukan dalam tiap framework activity
  • Tingkat sampai mana produk diidentifikasi dan diperlukan
  • Cara aktivitas jaminan kualitas yang mana yang diaplikasikan
  • Cara aktivitas projek tracking dan control yang mana yang diaplikasikan
  • Tingkat detil keseluruhan dan ketegasan deskripsi proses
  • Tingkat stakeholder yang terlibat dalam projek
  • Level otonomi yang diberikan ke tim projek
  • Tingkatan organisani tim dan peran yang diresepkan
J. Essence of Practice
  • Memahami masalah (komunikasi dan analisis)
  • Merencanakan solusi (software design)
  • Menjalankan rencana (coding)
  • Memeriksa keakuratan hasil (testing dan jaminan kualitas)
K. Understand the Problem
  • Siapakah stakeholder-nya?
  • Apa saja fungdi san fitur yang diperlukan untuk menyelesaikan masalah?
  • Apakah mungkin untuk membuat masalah yang lebih kecil menjadi lebih mudah dimengerti?
  • Dapatkah model grafik analisis dibuat?
L. Plan the Solution
  • Pernahkan melihat masalah yang sama sebelumnya?
  • Apakan masalah yang sama tersebut telah diselesaikan?
  • Dapatkah subproblem yang bisa diselesaikan dengan segera didefinisikan?
  • Dapatkah sebuah model desain diciptakan?
M. Carry Out the Plan
  • Apakah solusi sesuai dengan rencana?
  • Apakah setiap komponen solusi terbukti benar?
N. Examine the Result
  • Apakah mungkin untuk mengetes setiap bagian komponen dari solusi?
  • Apakah solusi memberikan hasil yang sesuai data, fungsi-fungsi, dan fitur yang dibutuhkan?
O. Software Practice Core Principles
  • Software ada untuk memberikan nilai untuk usernya
  • Keep it simple, Stupid (KISS)
  • Visi yang jelas sangat penting untuk keberhasilan setiap projek software
  • Selalu tentukan, desain, dan implementasikan, mengetahui orang lain akan mengerti apa yang telah anda lakukan untuk melaksanakan tugasnya.
  • Terbuka untuk untuk perubahan, jangan mengisolasi diri sendiri
  • Merencanakan penggunaan kembali, meminimalisir harga dan menaikkan nilai dari komponen yang dapat digunakan kembali dan system yang memerlukan itu.
  • Menempatkan pemikiran yang jelas dan menyeluruh sebelum melakukan action akan membuahkan hasil yang lebih baik.
P. Software Creation
  • Hampir setiap projek software diendapkan untuk kebutuhan bisnis, misalkan memperbaiki cacat system, adaptasi system untuk perubahan lingkungan, memperluas system yang telah ada, membuat sistem baru.
  • Seringkali upaya engineering hanya akan sukses, ‘bila’ software yang dibuat untuk projek yang bersangkutan sukses.
  • Pasar hanya akan menerima produk yang telah tertanam software di dalamnya sesuai dengan permintaan cutomers.

Tidak ada komentar:

Posting Komentar