SWEBOX - Design Construction

41
SOFTWARE CONSTRUCTION KELOMPOK 3: AZI SUDARMADI | MARDIANA | RIVA FARIDHA SEFTA TRI WAHYUNI

Transcript of SWEBOX - Design Construction

Page 1: SWEBOX - Design Construction

SOFTWARE CONSTRUCTION

KELOMPOK 3:

AZI SUDARMADI | MARDIANA | RIVA FARIDHA

SEFTA TRI WAHYUNI

Page 2: SWEBOX - Design Construction

SOFTWARE CONSTRUCTION

Istilah software construction didasarkan pada rincian pengerjaannya, yang berarti software melalui kombinasi dari koding, verifikasi, unit testing, testing terintregasi dan debugging. Pengetahuan software construction terhubung dengan dengan pengetahuan yang lain, yaitu:

Software Design

Software TestingSoftware Engineering

Software Project

Software Quality

NEXTBACK

Page 3: SWEBOX - Design Construction

SOFTWARE CONSTRUCTION 1. SOFTWARE CONSTRUCTION

FUNDAMENTALS2. MANAGING CONSTRUCTION

3. PRACTICAL CONSIDERATIONS

5. SOFTWARE CONSTRUCTION TOOLS

4. CONSTRUCTION TECHNOLOGIES

Page 4: SWEBOX - Design Construction

1.1 Minimizing Complexity1.2 Anticipating Change 1.3 Constructing for Verification

1.4 Standards in Construction

1. SOFTWARE CONSTRUCTION FUNDAMENTALS

digunakan untuk mendesain

seperti juga untukConstruction.

menjabarkan konsep dan mendeskripsikanbagaimana ketiganya

digunakan dalam pembangunan.

SOFTWARE CONSTRUCTION

Page 5: SWEBOX - Design Construction

Faktor kendala utama menggunakan komputer

adalah kemampuan terbatas. Hal ini

mendorong pembuatan ke sebuah driver yang

paling handal dalam Software Constraction,

yaitu: mengurangi kompleksitas.

MINIMIZING COMPLEXITY

SOFTWARE CONSTRUCTION FUNDAMENTALS

Page 6: SWEBOX - Design Construction

Software merupakan bagian yang tidak

mungkin terhindar dari sebuah perubahan

lingkungan luar. Dan perubahan dari

lingkungan luar tersebut akan mempengaruhi

software dalam banyak hal.

ANTICIPATING CHANGE (ANTISIPASI TERHADAP PERUBAHAN)

SOFTWARE CONSTRUCTION FUNDAMENTALS

Page 7: SWEBOX - Design Construction

Teknik-teknik yang spesifik mendukung dalam perancangan untuk verifikasi, termasuk diantaranya yaitu :• Standar pembuatan kode untuk mendukung

referensi dari kode dan unit testing.• Pengaturan kode untuk mendukung testing secara

otomatis.• Menghindari penggunaan struktur bahasa yang

kompleks dan sulit dimengerti orang lain.

CONSTRUCTING FOR VERIFICATION

SOFTWARE CONSTRUCTION FUNDAMENTALS

Page 8: SWEBOX - Design Construction

Standar - standar yang mempengaruhi

perancangan, meliputi :

• Bahasa Pemrograman

• Metode Komunikasi

• Platform

• Tool

STANDARDS IN CONSTRUCTION (STANDAR DALAM PERANCANGAN)

SOFTWARE CONSTRUCTION FUNDAMENTALS

Page 9: SWEBOX - Design Construction

2.1 Construction Models

2.2 Construction Planning

2.3 Construction Measurement

2. MANAGING CONSTRUCTION

SOFTWARE CONSTRUCTION

Page 10: SWEBOX - Design Construction

Berbagai macam model yang telah dibuat

untuk membangun software, beberapa

diantaranya lebih menekankan pada

perancangan daripada (model) yang lainnya.

CONSTRUCTION MODELS

MANAGING CONSTRUCTION

Page 11: SWEBOX - Design Construction

Pemilihan dari metode construction adalah sebuah

aspek terpenting dalam aktivitas construction

planning.

Pendekatan construction mempengaruhi kemampuan

proyek untuk mengurangi kerumitan, mengantisipasi

perubahan, dan untuk verifikasi.

CONSTRUCTION PLANNING

MANAGING CONSTRUCTION

Page 12: SWEBOX - Design Construction

Banyak aktivitas construction yang dapat ditentukan

atau dipilih, termasuk pengembangan code, pengubahan

code, penggunaan kembali code, penghapusan code,

kerumitan code, statistika pemeriksaan code, dan lainnya.

Measurement berguna untuk tujuan pengontrolan

construction, menjamin kualitas selama construction

memperbaiki proses construction.

CONSTRUCTION MEASUREMENT

MANAGING CONSTRUCTION

Page 13: SWEBOX - Design Construction

3.1 Construction Design3.2 Construction Languages

3.3 Coding3.4 Construction Testing

3.5 ReuseSOFTWARE CONSTRUCTION

3. PRACTICAL CONSIDERATIONS

Page 14: SWEBOX - Design Construction

Dalam membangun struktur fisik harus

beradaptasi dengan membuat modifikasi small-scale

sebagai laporan untuk rencana pembangunan.

Pekerja construction software harus membuat

modifikasi dalam skala yang lebih besar atau skala yang

lebih kecil untuk detail desain software selama

construction.

CONSTRUCTION DESIGN

PRACTICAL CONSIDERATIONS

Page 15: SWEBOX - Design Construction

Linguistic notations dibedakan dalam hal penggunaan

kata atau string dari text untuk menjelaskan software

construction yang komplek, dan gabungan kata / string ke

dalam pola – pola yang mempunyai sintax kalimat.

CONSTRUCTION LANGUAGES

PRACTICAL CONSIDERATIONS

Page 16: SWEBOX - Design Construction

Beberapa pertimbangan yang dipergunakan pada proses penyusunan pengkodingan software :

CODING

Pembuatan source code yang dapat dipahami.

Menggunakan struktur control.Penanganan kondisi error.Pencegahan pelanggaran

sekuriti level kode (Sebagai contoh : buffer yang melebihi indek sebuah array).

Penggunaan sebuah resource melalui penggunaan mekanisme pengeluaran dan tata cara pengaksesan penggunaan resourse yang dapat dipergunakan kembali (termasuk peng-lock-an thread atau database).

Pengorganisasian source code

PRACTICAL CONSIDERATIONS

Page 17: SWEBOX - Design Construction

Proses penyusunan memiliki dua bentuk untuk

pengetesan, dimana sering dipergunakan oleh

software engineer yang membuat kode tersebut :

• Unit testing.

• Integration testing.

CONSTRUCTION TESTING

PRACTICAL CONSIDERATIONS

Page 18: SWEBOX - Design Construction

REUSE

Tugas-tugas yang terkait dalam penggunan kembali penyusunan konstruksi sebelum pengkodingan dan

pengetesan adalah:

Seleksi unit, database, atau tes data reusability,

Evaluasi kode atau tes reusability,

Laporan informasi yang dipergunakan dalam kode baru, test prosedur atau test data.

PRACTICAL CONSIDERATIONS

Page 19: SWEBOX - Design Construction

4.1 API Design4.2 Object-Oriented Runtime Issues

4.3 Parameterisasi dan Generik4.4. Pernyataan, Desain Kontrak, dan

Defensivepemrograman

4.5. Penanganan Kesalahan, Exception Handling, dan Toleransi kesalahan4.6 State-Based and Table-Driven

Construction Techniques4.7. Konfigurasi Runtime dan

Internasionalisasi4.8. Grammar-Based Input Processing

4. CONSTRUCTIONS TECHNOLOGIES

SOFTWARE CONSTRUCTION NEXT

Page 20: SWEBOX - Design Construction

4.9. Primitif Concurrency4.10 Middleware

4.11 Construction Methods for DistributedSoftware

4.12 Membangun Heterogen Sistem4.13 Analisis Kinerja

4.14 Standar Platform4.15 Test-Pertama Programming

4. CONSTRUCTIONS TECHNOLOGIES

BACK NEXT

Page 21: SWEBOX - Design Construction

API DESIGN

API dilaksanakan oleh aplikasi, perpustakaan dan sistem operasi untuk menentukan

bagaimana perangkat lunak lain dapat membuat panggilan ke atau layanan permintaan dari

mereka. Sebuah API menentukan kosa kata dan konvensi memanggil para pemrogram harus

mempekerjakan untuk menggunakan layanan Ini mungkin termasuk spesifikasi untuk rutinitas, struktur data, kelas objek, dan protokol yang

digunakan untuk berkomunikasi antara konsumen dan pelaksana API.

CONSTRUCTION TECHNOLOGIES

BACK NEXT

Page 22: SWEBOX - Design Construction

Objek oriented Bahasa mendukung serangkaian

mekanisme runtime termasuk polimorfisme dan refleksi.

Mekanisme runtime meningkatkan fleksibilitas dan

adaptasi dari objectoriented program. Polimorfisme

adalah kemampuan bahasa untuk mendukung operasi

umum tanpa mengetahui sampai runtime jenis objek

yang kongkrit yang mencangkup perangkat lunak.

OBJECT-ORIENTED RUNTIME ISSUES

CONSTRUCTION TECHNOLOGIES

BACK NEXT

riva faridha
Runtime adalah ketika sebuah program sedang berjalan (atau menjadi executable). Artinya, ketika Anda memulai program berjalan di komputer, itu adalah runtime untuk program tersebut.
Page 23: SWEBOX - Design Construction

PARAMETERISASI DAN GENERIK

Jenis parameter, juga dikenal sebagai generik (Eiffel)

dan template (C ++), memungkinkan definisi jenis

atau kelas tanpa menentukan semua jenis lain.

CONSTRUCTION TECHNOLOGIES

BACK NEXT

Page 24: SWEBOX - Design Construction

PERNYATAAN, DESAIN KONTRAK, DAN DEFENSIVEPEMROGRAMAN

Sebuah pernyataan yang tegas (assertion) adalah predikat executable yang ditempatkan dalam program-biasanya rutin atau makro-yang

memungkinkan pemeriksaan runtime program. Desain kontrak adalah pendekatan pembangunan yang prasyarat dan

postconditions disertakan untuk setiap aktifitas sehari-hari. Pemrograman defensif berarti untuk melindungi rutin dari kebobolan oleh

input yang tidak valid. pemrograman defensif berarti untuk melindungi

rutin dari kebobolan oleh input yang tidak valid.cara umum untuk menangani input tidak valid mencakup

memeriksa nilai-nilai semua parameter masukandan memutuskan bagaimana menangani input buruk.

penegasansering digunakan dalam pemrograman defensif untuk

memeriksa nilai input

CONSTRUCTION TECHNOLOGIES

BACK NEXT

Page 25: SWEBOX - Design Construction

PENANGANAN KESALAHAN, EXCEPTION HANDLING, DAN TOLERANSI KESALAHAN

Penanganan kesalahan mempengaruhi kemampuan

software untuk memenuhi persyaratan yang terkait

dengan kebenaran, ketahanan, dan atribut

nonfungsional lainnya. Assertion kadang-kadang

digunakan untuk memeriksa kesalahan.

CONSTRUCTION TECHNOLOGIES

BACK NEXT

Page 26: SWEBOX - Design Construction

Pemrograman berbasis keadaan, atau pemrograman

berbasis automata, adalah teknologi pemrograman

menggunakan mesin keadaan yang terbatas untuk

menggambarkan perilaku Program.

STATE-BASED AND TABLE-DRIVEN CONSTRUCTION TECHNIQUES

CONSTRUCTION TECHNOLOGIES

BACK NEXT

Page 27: SWEBOX - Design Construction

KONFIGURASI RUNTIME DAN INTERNASIONALISASI

Konfigurasi runtime adalah teknik

yang mengikat nilai-nilai variabel dan

pengaturan program saat program

sedang berjalan, biasanya dengan

memperbarui dan membaca file-file

konfigurasi dalam mode just-in-time.

CONSTRUCTION TECHNOLOGIES

BACK NEXT

Page 28: SWEBOX - Design Construction

Pemrosesan input berbasis tata bahasa melibatkan analisis sintaks, atau

parsing, dari input aliran tanda. Ini melibatkan penciptaan struktur data

(disebut pohon parsing atau pohon sintaks) mewakili input data

GRAMMAR-BASED INPUT PROCESSING

CONSTRUCTION TECHNOLOGIES

BACK NEXT

Page 29: SWEBOX - Design Construction

PRIMITIF CONCURRENCY

Sebuah sinkronisasi primitif adalah abstraksi

pemrograman yang disediakan oleh bahasa

pemrograman atau sistem operasi yang

memfasilitasi concurrency dan sinkronisasi.

CONSTRUCTION TECHNOLOGIES

BACK NEXT

Page 30: SWEBOX - Design Construction

Middleware adalah klasifikasi luas untuk software yang menyediakan layanan di atas lapisan sistem operasi belum di bawah lapisan program aplikasi.

lapisan perangkat lunak yang terletak di antara sistem operasi dan aplikasi pada setiap sisi jaringan komputer terdistribusi. Biasanya, mendukung kompleks, aplikasi bisnis perangkat lunak yang didistribusikan.

MIDDLEWARE

CONSTRUCTION TECHNOLOGIES

BACK NEXT

Page 31: SWEBOX - Design Construction

CONSTRUCTION METHODS FOR DISTRIBUTEDSOFTWARE

Sebuah sistem terdistribusi merupakan kumpulan yang

terpisah secara fisik. Pembangunan perangkat lunak yang

didistribusikan dibedakan dari konstruksi perangkat lunak

tradisional oleh isu-isu seperti paralelisme, komunikasi, dan

toleransi kesalahan.

CONSTRUCTION TECHNOLOGIES

BACK NEXT

Page 32: SWEBOX - Design Construction

Sistem heterogen terdiri dari berbagai unit komputasi

khusus dari berbagai jenis, seperti Digital Signal

Processor (DSP), mikrokontroler,

dan prosesor perifer. Unit-unit komputasi dikendalikan

secara independen dan berkomunikasi dengan satu

sama lain.

MEMBANGUN HETEROGEN SISTEM

CONSTRUCTION TECHNOLOGIES

BACK NEXT

Page 33: SWEBOX - Design Construction

ANALISIS KINERJA

Analisis kinerja adalah penyelidikan informasi

perilaku menggunakan program dikumpulkan

sebagai program dijalankan, dengan tujuan

mengidentifikasi kemungkinan hot spot dalam

program yang akan ditingkatkan.

CONSTRUCTION TECHNOLOGIES

BACK NEXT

Page 34: SWEBOX - Design Construction

Standar platform yang memungkinkan programmer

untuk mengembangkan aplikasi portabel yang dapat

dijalankan dalam lingkungan yang kompatibel tanpa

perubahan.

STANDAR PLATFORM

CONSTRUCTION TECHNOLOGIES

BACK NEXT

Page 35: SWEBOX - Design Construction

TEST-PERTAMA PROGRAMMING

Uji-pertama pemrograman (juga dikenal sebagai

Test- Driven Development-TDD) adalah gaya

pengembangan yang populer di mana uji kasus yang

ditulis sebelum menulis kode apapun.

CONSTRUCTION TECHNOLOGIES

BACK NEXT

Page 36: SWEBOX - Design Construction

5.1. Lingkungan Pengembangan

5.2. GUI Builders

5.3. Pengujian Unit Alat

5.4. Profiling, Analisis Kinerja, dan Mengiris Alat

5. SOFTWARE CONSTRUCTIONS TOOLS

Page 37: SWEBOX - Design Construction

LINGKUNGAN PENGEMBANGAN

Sebuah lingkungan pengembangan, menyediakan

fasilitas yang komprehensif untuk programmer

dalam pembangunan perangkat lunak dengan

mengintegrasikan seperangkat alat pengembangan.

SOFTWARE CONSTRUCTION TOOLS

Page 38: SWEBOX - Design Construction

Sebuah GUI (Graphical User Interface) builder adalah

alat pengembangan perangkat lunak yang

memungkinkan pengembang untuk menciptakan dan

memelihara GUI di WYSIWYG mode (apa yang Anda

lihat adalah apa yang Anda dapatkan).

GUI BUILDERS

SOFTWARE CONSTRUCTION TOOLS

Page 39: SWEBOX - Design Construction

PENGUJIAN UNIT ALAT

Unit pengujian memverifikasi fungsi modul software

di isolasi dari unsur perangkat lunak lain yang

terpisah diuji (misalnya, kelas, rutinitas, komponen).

SOFTWARE CONSTRUCTION TOOLS

Page 40: SWEBOX - Design Construction

Alat analisis kinerja biasanya digunakan untuk

mendukung kode tuning. Alat analisis kinerja

yang paling umum adalah profil alat.

PROFILING, ANALISIS KINERJA, DAN MENGIRIS ALAT

SOFTWARE CONSTRUCTION TOOLS

Page 41: SWEBOX - Design Construction

TERIMA KASIH ATAS PERHATIANNYA