1. Pengenalan Rekayasa Perangkat Lunak (Proses Perangkat Lunak)

Pendahuluan

•   Jalan untuk membangun produk softare berkualitas tinggi adalah melalui proses software.

•   Proses software diadaptasikan untuk memenuhi kebutuhan software engineer dan manager yang memegang peranan penting dalam membangun produk software.

•    Proses software menyediakan framework untuk mengelola aktivitas yang bisa dengan mudah di luar kontrol.

•    Proyek yang berbeda memerlukan proses software yang berbeda pula.

•    Hasil dari pekerjaan software engineer (program, dokumentasi, data) adalah produk dari aktivitas proses software.

•    Indikator terbaik untuk mengetahui seberapa baik kinerja proses software adalah kualitas, waktu, dan hasilnya (produk software).

Software Engineering

•Software engineering meliputi proses, teknik manajemen, metode teknis, dan penggunaan tools.

•Proses -> pondasi untuk membangun software yang tepat waktu dan rasional
•Proses ini pembentuk dasar bagi kontrol manajemen proyek Software serta membangun konteks dimana metode teknik diaplikasikan , produk usaha (model, dokumen, data, laporan, form, dan lain-lain) dihasilkan, fondasi dibangun, kualitas dijamin, perubahan diatur
•Metode-metode: teknik untuk membangun Software engineering (menyangkut serangkaian tugas yang luas seperti analisis kebutuhan, konstruksi program, desain, pengujian, dan pemeliharaan)
•Tool-tool Software engineering memberikan topangan pada proses-proses dan metode yang ada
•Ketika tool diintegrasikan sehingga informasi yang diciptakan oleh satu tool bisa digunakan oleh yang lain, sistem untuk menopang perkembangan Software engineering (CASE) terbangun.
Fase-fase Generic Software Engineering

Usaha yang berhubungan dengan Software engineering dapat dikategorikan ke dalam tiga fase umum dengan tanpa memperdulikan area aplikasi, ukuran proyek maupun kompleksitasnya.

•Definition Phase: fokus pada APA (information engineering, software project planning, requirement analysis)
•Development Phase: fokus pada BAGAIMANA (desain software, code generation, pengujian software)
•Maintenance/Support Phase: fokus pada PERUBAHAN (corrective maintenance, adaptive maintenance, perfective maintenance, preventative maintenance)

Ada 4 tipe perubahan yang terjadi selama masa fase pengembangan:

1.Koreksi: manajemen koreksi mengubah perangkat lunak dengan membetulkan kekurangan / kerusakannya
2.Adaptation: untuk memenuhi kebutuhan dari waktu ke waktu seperti CPU, OS, aturan-aturan bisnis, karakteristik produk eksternal dimana perangkat lunak dikembangkan dan akan terus berubah
3.Enhancement (perkembangan): ketika perangkat lunak dipakai, user akan mengenali fungsi-fungsi tambahan yang memberi mereka keuntungan. Perfective maintenance memperluas perangkat lunak sehingga melampaui kebutuhannya fungsi originalnya
4.Pencegahan: dilakukan karena keadaan software semakin memburuk sehubungan dengan waktu dan karena itu preventive maintenance harus dilakukan. Preventive maintenance melakukkan perubahan pada program komputer sehingga bisa menjadi lebih mudah untuk dikoreksi, disesuaikan dan dikembangkan.
Software Engineering Umbrella Activities
Fase dan langkah-langkah yang berhubungan, seperti yang digambarkan pada pandangan umum kita tentang Software engineering, harus diimbagi dengan sejumlah aktivitas pelindung
•Software project tracking and control
• Formal technical reviews
• Software quality assurance
• Software configuration management
• Document preparation and production
• Reusability management
• Measurement
• Risk management
Common Process Framework
• Software engineering work tasks
• Project milestones
• Work products
• Quality assurance points
Software Engineering Institute (SEI) and Capability Maturity Model (CMM)
•Level 1: Inisialisasi (ad hoc software processes)
•Level 2: Repeatable (bisa mengulang kesuksesan sebelumnya)
•Level 3: Definisi (manajemen dan dokumentasi proses rekayasa, standarisasi, dan integrasi ke proses software di seluruh organisasi)
•Level 4: Managed (proses dan produk software dapat dimengerti dan dikendalikan menggunakan perhitungan yang terinci)
•Level 5: optimasi (peningkatan proses yang berkelanjutan dilakukan dengan feedback dari proses dan testing)
Model-Model Proses Software
•Model Linear Sekuensial (model klasik tetapi pendekatan yang beralasan jika requirement yang ada dapat dipahami dengan baik)
•Model Prototyping (langkah awal yang baik ketika pemakai memiliki kebutuhan yang resmi tetapi belum memiliki petunjuk tentang detail)
•Model Rapid Application Development (RAD) (banyak menggunakan komponen software reusable dengan siklus pembangunan yang sangat singkat)
•Model Incremental ( deliver software in small but usable pieces, each piece builds on pieces already delivered)
•Model Spiral (melakukan prototyping secara iteratif dengan pengendalian dan aspek sistematis dari model linear sekuensial)
•Model Win-Win Spiral (mengurangi definisi requirement software melalui negosiasi antara pemakai dan developer dengan tetap menjaga keseimbangan constraint teknis dan bisnis)
•Model Concurrent Development (serupa dengan model spiral dan biasa digunakan pada pembangunan aplikasi client-server)
•Component-Based Development (variasi model spiral dimana aplikasi dibangun dari komponen software yang tersedia yang disebut class)
•Model Metode Formal (menggunakan notasi matematis untuk menspesifikasi, mendesain, dan memverivikasi sistem berbasis komputer)
•Fourth Generation (4GT) Techniques (tool software digunakan untuk menggenerate source code untuk sistem software dari representasi spesifikasi level tinggi)
Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s