swebox - design construction
TRANSCRIPT
SOFTWARE CONSTRUCTION
KELOMPOK 3:
AZI SUDARMADI | MARDIANA | RIVA FARIDHA
SEFTA TRI WAHYUNI
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
SOFTWARE CONSTRUCTION 1. SOFTWARE CONSTRUCTION
FUNDAMENTALS2. MANAGING CONSTRUCTION
3. PRACTICAL CONSIDERATIONS
5. SOFTWARE CONSTRUCTION TOOLS
4. CONSTRUCTION TECHNOLOGIES
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
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
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
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
Standar - standar yang mempengaruhi
perancangan, meliputi :
• Bahasa Pemrograman
• Metode Komunikasi
• Platform
• Tool
STANDARDS IN CONSTRUCTION (STANDAR DALAM PERANCANGAN)
SOFTWARE CONSTRUCTION FUNDAMENTALS
2.1 Construction Models
2.2 Construction Planning
2.3 Construction Measurement
2. MANAGING CONSTRUCTION
SOFTWARE CONSTRUCTION
Berbagai macam model yang telah dibuat
untuk membangun software, beberapa
diantaranya lebih menekankan pada
perancangan daripada (model) yang lainnya.
CONSTRUCTION MODELS
MANAGING 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
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
3.1 Construction Design3.2 Construction Languages
3.3 Coding3.4 Construction Testing
3.5 ReuseSOFTWARE CONSTRUCTION
3. PRACTICAL CONSIDERATIONS
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Standar platform yang memungkinkan programmer
untuk mengembangkan aplikasi portabel yang dapat
dijalankan dalam lingkungan yang kompatibel tanpa
perubahan.
STANDAR PLATFORM
CONSTRUCTION TECHNOLOGIES
BACK NEXT
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
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
LINGKUNGAN PENGEMBANGAN
Sebuah lingkungan pengembangan, menyediakan
fasilitas yang komprehensif untuk programmer
dalam pembangunan perangkat lunak dengan
mengintegrasikan seperangkat alat pengembangan.
SOFTWARE CONSTRUCTION TOOLS
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
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
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
TERIMA KASIH ATAS PERHATIANNYA