Monday, 3 August 2015

SI-208 KONSEP DAN PERANGKAT LUNAK SEBAGAI PROSES (Pertemuan Ke 2)

Rekayasa Perangkat Lunak
KONSEP DAN   PERANGKAT LUNAK SEBAGAI PROSES (Pertemuan Ke 2)

Tujuan
-         Untuk mengenalkan model-model proses perangkat lunak.
-         Untuk menjelaskan 3 model proses generik perangkat lunak dan kapan menggunakannya.
-         Untuk menjelaskan garis beras model-model untuk rekayasa kebutuhan, pengembangan perangkat lunak, testing , dan evolusi.

Proses Perangkat Lunak
-         Sekumpulan aktivitas terstruktur yang dibutuhkan untuk membangun sistem perangkat lunak
-         Spesifikasi (Specification);
-         Desain (Design);
-         Validasi (Validation);
-         Evolusi (Evolution).
-         Proses perangkat lunak merupakan suatu representasi abstrak daris suatu proses. Yaitu suatu penjelasan dari suatu proses dari prespektif tertentu.

3 Model Generik Perangkat Lunak
-         Model waterfall
o   Fase-fase spesifikasi dan pengembangan berbeda dan terpisah.
-         Evolutionary development
o   Spesifikasi, pengembangan, dan validasi interleaved.
-         Component-based software engineering
o   Sistem dirancang dari komponen-komponen yang ada.

Waterfall model



Fase pada Model Waterfall

-         Analisis dan definisi kebutuhan  (Requirements analysis and definition)
-         Desain sistem dan perangkat lunak (System and software design)
-         Implementasi dan pengujian unit (Implementation and unit testing)
-         Integrasi dan pengujian sistem (Integration and system testing)
-         Operasi dan pemeliharaan (Operation and maintenance)
-         Kekurangan dari model waterfall adalah sulit mengakomodasi perubahan setelah proses yang sedang berlangsung. Satu fase harus lengkap (selesai) sebelum bergerak ke fase berikutnya.

Masalah pada Model Waterfall
-         Ketidakfleksibelan tahapannya membuat sulit untuk merespon perubahan kebutuhan customer.
-         Bagaimanapun, model ini hanya sesuai ketika kebutuhan mudah dipahami dan kemungkinan perubahannya jelas selama proses desain.
-         Sedikit sistem bisnis yang mempunyai kebutuhan yang stabil.
-         Model waterfall paling sering digunakan untuk proyek rekayasa sistem yang besar dimana sistem dibangun pada tempat yang berbeda.

Evolutionary development
-         Exploratory development
       Sasarannya adalah untuk bekerja dengan customer dan untuk mengembangkan final sistem dari  garis besar spesifikasi awal. Seharusnya dimulai dari kebutuhan yang jelas dan menambah fitur baru sebagaimana yang diberikan oleh customer.
       Rapid Application Development (RAD)
-         Throw-away prototyping
       Sasarannya adalah untuk memahami kebutuhan sistem. Seharusnya dimulai dengan kebutuhan yang kurang jelas ke kebutuhan yang sudah jelas.

Evolutionary development


Evolutionary development

-         Problems
       Lack of process visibility
       Systems are often poorly structured
       Special skills (e.g. in languages for rapid prototyping) may be required
-         Applicability
       For small or medium-size interactive systems
       For parts of large systems (e.g. the user interface)
       For short-lifetime systems


Component-based software engineering
-         Didasarkan pada penggunaan kembali yang sistematis dimana sistem diintegrasikan dari komponen yang ada atau sistem COTS (Commercial-off-the-shelf).
-         Tingkatan process
       Analisis komponen (Component analysis);
       Modifikasi kebutuhan (Requirements modification);
       Desain sistem dengan reuse (System design with reuse);
       Pengembangan dan Integrasi (Development and integration).

Reuse-oriented development



Aktivitas Proses
-         Spesifikasi Perangkat Lunak
-         Desain dan Implementasi
-         Validasi Perangkat Lunak
-         Evolusi Perangkat Lunak

Spesifikasi Perangkat Lunak
-         Proses pembuatan layanan yang dibutuhkan dan batasan-batasan pada operasi dan pengembangan sistem.
-         Proses rekayasa kebutuhan
       Studi kelayakan (Feasibility study);
       Analisis dan mendata kebutuhan (Requirements elicitation and analysis);
       Spesifikasi kebutuhan (Requirements specification);
       Validasi kebutuhan (Requirements validation).

The requirements engineering process



Desain dan Implementasi Perangkat Lunak
-         Proses konversi spesifikasi sistem ke sistem yang siap dijalankan.
-         Desain perangkat lunak
       Desain struktur perangkat lunak yang sesuai dengan spesifikasinya;
-         Implementasi
       Menterjemahkan strukturnya dalam suatu program yang executable;
-         The activities of design and implementation are closely related and may be inter-leaved

Aktivitas Proses Desain
-         Desain arsitektur (architectural design)
-         Rangkuman spesifikasi (Abstract specification)
-         Desain antarmuka (Interface design)
-         Desain komponen (Component design)
-         Desain struktur data (Data structure design)
-         Desain algoritma (Algorithm design)

The software design process


Metode Terstruktur
-         Pendekatan sistematis untuk membangun suatu desain perangkat lunak.
-         Desain biasanya didokumentasikan sebagai kumpulan model grafis.
-         Model-model yang ada:
       Object model;
       Sequence model;
       State transition model;
       Structural model;
       Data-flow model.

Programming dan debugging
-         Penterjemahan suatu desain ke suatu program dan penghilangan error dari program.
-         Programming merupakan aktivitas personal – tidak terdapat proses pemrograman generik.
-         Programmer menggunakan pengujian program untuk menemukan kesalahan dalam program dan menghilangkan kesalahan tersebut dalam proses debugging.

The debugging process

Validasi Perangkat Lunak
-         Verifikasi dan validasi (V & V) dimaksudkan untuk menunjukkan bahwa sistem sesuai dengan spesifikasinya dan sesuai dengan kebutuhan customer sistem.
-         Meliputi proses pengecekan dan pemeriksaan dan pengujian sistem.
-         System testing involves executing the system with test cases that are derived from the specification of the real data to be processed by the system

The testing process




Tingkatan Pengujian
-         Component or unit testing
       Komponen secara individual diuji secara terpisah;
       Component is may be functions or objects or coherent groupings of these entities.
-         System testing
       Testing of the system as a whole. Testing of emergent properties is particularly important.
-         Acceptance testing
       Testing with customer data to check that the system meets the customer’s needs.

Testing phases



Software evolution
-         Software is inherently flexible and can change.
-         As requirements change through changing business circumstances, the software that supports the business must also evolve and change.
-         Although there has been a demarcation between development and evolution (maintenance) this is increasingly irrelevant as fewer and fewer systems are completely new.

System evolution



Key points
-         Proses perangkat lunak merupakan aktivitas yang meliputi memproduksi dan mengembangkan suatu sistem perangkat lunak. They are represented in a software process model
-         Aktivitas umumnya adalah spesifikasi, desain dan implementasi, validasi dan evolusi.
-         Model proses generik menjelaskan organisasi proses perangkat lunak. Contoh model waterfall, evolutionary development dan component-based software engineering.

Key points
-         Rekayasa kebutuhan merupakan proses pengembangan spesifikasi perangkat lunak.
-         Proses implementasi dan desain menterjemahkan spesifikasi tersebut ke suatu program yang executable.
-         Validasi meliputi pengecekan apakah sistem telah sesuai dengan spesifikasinya dan kebutuhan user.
-         Evolusi fokus pada pemodifikasian sistem setelah digunakan.








No comments:

Post a Comment