3. The Software Process.

Slides:



Advertisements
Presentasi serupa
Software Development Life Cycle (SDLC) Concept
Advertisements

REKAYASA PERANGKAT LUNAK
PENGEMBANGAN PERANGKAT LUNAK
Pengenalan Analisis & Perancangan Sistem
Pengembangan Sistem Informasi
Muhammad Taufik Syastra 2 Pengujian dan Implementasi Sistem Informasi Proses.
Proses Perangkat Lunak
MODEL PROSES PERANGKAT LUNAK SPIRAL MODEL & COMPONENT ASSEMBLY
Software Process Model
PROSES-PROSES PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK (Software Engineering) Eka Ismantohadi
Model Proses PL.
PERENCANAAN PROSES PERANGKAT LUNAK
BAB I DASAR – DASAR TEKNIK PERANGKAT LUNAK
MANAJEMEN KONFIGURASI SOFTWARE
Methods for Software Engineering
Kelompok 1 Mochammad. Nasir Mochammad. Nasir Isommuddin Isommuddin T. Yusak D
Metodologi Rekayasa Sistem Informasi
 Communication  Planning  Modeling  Contruction  Deployment.
Metodologi Pengembangan Sistem Informasi
Rekayasa Perangkat Lunak (Lanjut)
DEDED RAMAD KAMDA, S. KOM. Untuk menyelesaikan masalah aktual didalam sebuah setting industri, rekayasa perangkat lunak atau tim perekayasa harus menggabungkan.
Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
Metodologi Pengembangan Perangkat Lunak
Metode rpl BY: Y. PALOPAK S.Si., MT..
PEMODELAN PERANGKAT LUNAK
PROSES-PROSES PERANGKAT LUNAK
PENGEMBANGAN PERANGKAT LUNAK.
PENGEMBANGAN APLIKASI
proses PERANGKAT LUNAK
Rekayasa Perangkat Lunak Model Proses PL
System Development Life Cycle (SDLC)
Rekayasa perangkat lunak (rpl)
Model Proses PL.
3. The Software Process.
Teknik Informatika S1 Rekayasa Perangkat Lunak Software Process (2)
Pengenalan Rekayasa Perangkat Lunak
Anna dara andriana., M.kom
RPL.
Metode Rekayasa Perangkat Lunak
Manajemen Proyek Sistem Informasi
REKAYASA PERANGKAT LUNAK
Siklus Hidup Perangkat Lunak
PROSES REKAYASA PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK
Materi Habis Uts IMK Prototyping
RPL.
Software Process and Models
Prescriptive Process Models
Software Development Life Cycle (SDLC) Concept
Pengantar Teknologi Informasi (Teori)
METODE PENGEMBANGAN PERANGKAT LUNAK
PERTEMUAN 2 Proses Pengembangan Perangkat Lunak
KELOMPOK FARHATULLAILA ( )
Kelompok V FERDY WIDJAJA YOUNGKY DWI P
REKAYASA PERANGKAT LUNAK
“Strategi Pengembangan Manajemen Sistem Informasi Publik”
PENGEMBANGAN PERANGKAT LUNAK
Rekayasa Perangkat Lunak
MODEL PROSES PERANGKAT LUNAK
Proyek Sistem Informasi
Pengembangan Sistem Informasi
SOFTWARE ENGGINERING Model Model Siklus Rekayasa Perangkat Lunak
Pengembangan Sistem Informasi
Paradigma Rekayasa Perangkat Lunak
MODEL PROSES PERANGKAT LUNAK
Software PROCESS & Method
Software Development Life Cycle (SDLC)
System Development Life Cycle
Transcript presentasi:

3. The Software Process

3.1 Software Engineering Layers Tools Methods Process Quality

3.2 A Generic View of Software Engineering Engineering meliputi kegiatan analisis, desain, konstruksi, verifikasi, dan manajemen kesatuan teknik atau sosial. Pertanyaan-pertanyaan yang harus dimunculkan dan dijawab: Apa masalah yang akan dipecahkan? Karakteristik entitas yang manakah yang dipakai untuk menyelesaikan masalah tersebut? Bagaimanakah entitas (dan pemecahan) tersebut diadakan? Bagaimanakah entitas tersebut dibangun? Pendekatan apakah yang akan dipakai untuk menemukan kesalahan-kesalahan yang dibuat dalam desain dan kontruksi dari entitas tersebut? Bagaimanakah entitas tersebut ditopang selama proses adaptasi yang lama, pada saat koreksi, serta ketika perbaikan dibutuhkan oleh para pemakai entitas tersebut?

3.3 General Phase to Software Engineering Definition phase  berfokus pada ‘apa’ (what): informasi yang akan diproses fungsi dan perfomance yang dibutuhkan tingkah laku sistem yang diharapkan interface yang akan dibangun batasan sistem yang sukses Development phase  berfokus pada ‘bagaimana’ (how): data dikonstruksikan fungsi-fungsi diimplementasikan detail prosedur akan diimplementasikan interface dikarakterisasi rancangan akan diterjemahkan ke dalam pemrograman pengujian dilakukan Maintenance phase  berfokus pada ‘perubahan’ (change): dihubungkan dengan koreksi kesalahan ketika lingkungan perangkat lunak berkembang sehubungan dengan perubahan kebutuhan pelanggan

3.4 Changes in Phase Development Correction (Koreksi) membetulkan cacat atau kerusakan Adaptation (Adaptasi) modifikasi perangkat lunak karena perubahan kebutuhan fungsional original (CPU, OS, aturan bisnis, karakteristik produk eksternal, dll) Enhancement (Perkembangan) memperluas perangkat lunak sehingga melampaui kebutuhan fungsi originalnya Prevention (Pencegahan) pencegahan sebagai antisipasi perubahan karena usia perangkat lunak

3.5 Umbrella Activities Software project tracking and control Formal technical reviews Software quality assurance Software configuration management Document preparation and production Reusability management Measurement Risk management

3.6 Software Development Stages Requirements Analysis & Specification Conceptual/System Design Detailed/Program Design Implementation/Coding Unit & Integration Testing System Testing System Delivery Maintenance

3.7. The Software Process Common Process Framework Framework Activities Task Sets Umbrella Activities Tasks Milestones, deliveriables SQA points

3.7.1 Five Process Maturity Levels (SEI=Software Engineering Institute) Level 1: Initial Software process yang ditandai seperti ad hoc dan chaotic (kesemrawutan). Level 2: Repeatable Tracking / penelusuran masalah biaya, jadwal, dan fungsionalitas proyek-proyek terdahulu. Level 3: Defined Pendokumentasian, standarisasi, dan pengintegrasian software proses pada perangkat lunak organisasi besar. Level 4: Managed Pengukuan detail dan kualitas produksi perangkat lunak. Level 5: Optimizing Penambahan proses melalui umpan balik kuantitatif, gagasan inovatif pengujian, dan teknologi.

3.8. Software Process Models Linier Sequential Model Waterfall Model V Model RAD Model Prototyping Model Evolutionary Model Incremental Model Spiral Model Component Assembly Model Concurrent Development Model Formal Model Fourth Generation Techniques

3.8.1. Linier Sequential Model System/Information Engineering Analysis Design Code Test

3.8.1.1 Waterfall Model Sebuah pendekatan pengembangan perangkat lunak yang sistematik dan sekuensial. Disebut juga ‘Classic Life Cycle’. Paradigma yang sudah lama sekali, tetapi masih banyak yang memakai karena dianggap masih sesuai dengan keadaan sekarang.

Waterfall Model Diagram

Modified Waterfall Model (M.Kochanski) Sashimi Waterfall with Spiral Introduction Waterfall with Subprojects

3.8.1.2 V Model

3.8.1.3 RAD Model RAD = Rapid Application Development Adaptasi dari waterfall model yang: menekankan siklus pengembangan perangkat lunak yang sangat pendek; menggunakan pendekatan konstruksi berbasis komponen. Menciptakan sistem fungsional yang utuh dalam waktu 60-90 hari.

RAD Model Diagram

RAD Model Phases Business Modelling Memodelkan fungsi-fungsi bisnis untuk menjawab pertanyaan-pertanyaan: Informasi apa yang mengendalikan proses bisnis ? Informasi apa yang dimunculkan? Ke mana infomasi itu pergi? Siapa yang memprosesnya? Data Modelling Aliran informasi yang didefinisikan pada fase business modelling ditransformasikan ke dalam serangkaian obyek data. Process Modelling Mentransformasikan obyek data pada suatu fungsi yang menghasilkan aliran informasi yang dibutuhkan. Application Generation Mengkonstruksi perangkat lunak dengan memakai komponen yang ada (bila memungkinkan) atau menciptakan komponen yang dapat dipakai lagi. Testing and Turnover Menguji komponen baru.

3.8.2 Prototyping Model Dipakai jika: Sistem mempunyai resiko tinggi tidak jelas permasalahannya Lebih fokus pada perancangan dialog user - komputer bagaimana membuat dialog yang baik, ramah, mudah ? Sistem diminati oleh banyak pemakai mencari kesepakatan (dasar untuk menyamakan persepsi) User ingin cepat selesai user tidak sabar menunggu prototipe segera memperlihatkan bentuk kerja sistem Masa pakai singkat sistem hanya dipakai beberapa kali saja Ingin menunjukkan inovasi pengembang dapat menunjukkan kecanggihan Kebutuhan berubah-ubah user sulit menjelaskan kebutuhan

Types of Prototyping Evolutionary prototyping Dimulai dari model, kemudian dikembangkan dan akhirnya dipakai. Throw-away prototyping Hanya dikembangkan sebagai model untuk mencari blue-print.

Evolutionary Prototyping Prototype Requirements Prototype Programming Reviews Validates? Release

Throw-away prototyping Prototype Requirements System Programming System Testing Prototype Programming Reviews Validates? Reviews Validates? Release

Prototyping Speciality Frekuensi komunikasi user – developer meningkat pengembang akan selalu meminta pendapat user Membantu analis dalam menentukan kebutuhan user yang sebenarnya meminimalkan salah persepsi Peran user meningkat evaluasi oleh user berkali-kali user bisa memberikan masukan setiap saat Pengembangan lebih cepat program bisa langsung dibuat user melihat perkembangan tahap demi tahap Implementasi mudah user sudah mengenal perangkat lunak yang dikembangkan user tidak akan merasa asing sejak awal user sudah merasa memiliki

Prototyping Weakness User sibuk User sulit melakukan evaluasi user & pengembang harus sama-sama memiliki komitmen menyediakan waktu untuk bertemu. User sulit melakukan evaluasi bentuk prototipe sering berubah, disesuaikan dengan kebutuhan user. User ingin cepat selesai bentuk program sudah terlihat sejak awal. user merasa tidak akan lama lagi selesai. pengembang sering mengabaikan dokumentasi. User berharap terlalu banyak keseringan evaluasi & komunikasi membuat user menjadi berubah keinginan dan tidak pasti dengan kebutuhan. Prototipe bekerja tidak efisien lebih mementingkan keberhasilan.

3.8.3 Evolutionary Model 3.8.3.1 Incremental Model Incremental Model merupakan gabungan antara model linier sekuensial dan prototyping. Setiap linier sekuen menghasilkan produk yang deliveriables. Increment pertama merupakan produk inti (core), yang mengandung persyaratan/kebutuhan dasar. Penambahan dilakukan pada increment-increment berikutnya.

Incremental Model Diagram

3.8.3.2 Spiral Model Evolutionary process (pengembangan bertingkat) Menggabungkan keunggulan prototyping dan waterfall Memungkinkan dikembangkannya perangkat lunak secara bertahap (incremental) dan cepat. Terbagi atas 6 tahapan customer communication planning risk analysis engineering construction & release customer evaluation

Spiral Model Diagram Planning analisa resiko berdasarkan evaluasi user Risk Analysis Integration and test plan development plan analisa resiko berdasarkan kebutuhan awal menentukan tujuan, alternatif, batasan sistem dan budget development plan Requirements Customer Communication prototipe awal Engineering prototipe tingkat berikutnya Project Entry Point produk-jadi Customer Evaluation Construction & Release

3.8.3.3 Component Assembly Model identify candidate components look up components construct n- th in library iteration of system put new extract components components in if available library build components if unavailable engineering Engineering, contruction & release customer evaluation entry point Customer communication risk analysis planning

3.8.3.4 Concurrent Development Model none Analysis activity Under development A waiting changes Under review Under revision baselined done

Konkurensi Tercapai dengan Cara: aktivitas sistem dan komponen yang berlangsung secara simultan dan dapat dimodelkan dengan menggunakan pendekatan orientasi keadaan; aplikasi klien/server khusus yang diimplementasikan dengan banyak komponen yang masing-masing bisa dirancang dan direalisasikan secara konkuren.

3.8.4 Formal Model mencakup sekumpulan aktivitas yang membawa kepada spesifikasi matematis perangkat lunak komputer; memungkinkan software engineer untuk mengkhususkan, mengembangkan, dan mem-verifikasi sistem berbasis komputer dengan menggunakan notasi matematis yang tepat; Variasi dari pendekatan ini disebut clean-room software engineering. Formal method akan dibahas pada bab tersendiri

3.8.5 Fourth Generation Techniques (4GT) Terkait dengan penggunaan tools. Pengembang software mendefinisikan karakteristik software secara 'high level'; tool secara otomatis akan membangkitkan kode. 4GT mempercepat proses pengembangan perangkat lunak. Proses perancangan dan dokumentasi baik. Masih dipertanyakan beberapa pihak: efisiensi kode yang dihasilkan, kemudahan (relatif).

4GT Techniques *** requirements gathering design strategy implementation using 4GL testing ***