SOFTWARE CONSTRUCTION

Slides:



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

Pengembangan Sistem Informasi
Rekayasa Perangkat Lunak dan Proses Software
Software Requirement Specification
Pertemuan 8 Proyek Sistem Informasi Viska Armalina, ST., M.Eng
BAB 2 METODE REKAYASA PERANGKAT LUNAK
PENGANTAR REKAYASA PERANGKAT LUNAK I
Pertemuan 9 Proyek Sistem Informasi Viska Armalina, ST., M.Eng
BAB I DASAR – DASAR TEKNIK PERANGKAT LUNAK
MANAJEMEN KONFIGURASI SOFTWARE
SE2423 REKAYASA PERANGKAT LUNAK
Kelompok 1 Mochammad. Nasir Mochammad. Nasir Isommuddin Isommuddin T. Yusak D
REKAYASA PERANGKAT LUNAK
Methods for Software Engineering CHAPTER 5 Software Project Planning Software engineering: a practitioner’s approach / Roger S. Pressman.—5th ed.
Metodologi Rekayasa Sistem Informasi
Rekayasa Perangkat Lunak (Lanjut)
MODEL PROSES REKAYASA PERANGKAT LUNAK
Rekayasa Perangkat Lunak
Metodologi Pengembangan Perangkat Lunak
REKAYASA PERANGKAT LUNAK
PEMAHAMAN REKAYASA PERANGKAT LUNAK
Systems Development Life Cycle
Pertemuan 12 Perancangan dan Pengembangan Sistem Multimedia Interaktif
REKAYASA PERANGKAT LUNAK
PROCESS MODELS.
Siklus Hidup Pengembangan Sistem
Pengelolaan Proyek Sistem Informasi
PENGEMBANGAN APLIKASI
Pengenalan Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
Implementasi.
FASE PENGEMBANGAN (bag 2)
Membuat data flow diagram.
ANALISA DAN PERANCANGAN SISTEM INFORMASI
Pemeliharaan Perangkat Lunak
RPL.
REKAYASA PERANGKAT LUNAK
Persiapan Implementasi
Strategi Pengujian Perangkat Lunak & Sistem
Testing dan Implementasi
Materi Habis Uts IMK Prototyping
Analisa dan Perancangan Sistem
RPL.
Prescriptive Process Models
Software Development Life Cycle (SDLC) Concept
Pengantar Teknologi Informasi (Teori)
Oleh : Sri Herawati, S.Kom
BAB VII Implementasi dan Testing
TESTING DAN IMPLEMENTASI SISTEM
PERTEMUAN 2 Proses Pengembangan Perangkat Lunak
Teknik Informatika – Universitas Trunojoyo
ANALISA DAN PERANCANGAN SISTEM INFORMASI
REKAYASA PERANGKAT LUNAK
Testing dan Implementasi SI220A
Metode Rekayasa Perangkat Lunak
Kontrak Kuliah Pengenalan Sistem Informasi
REKAYASA PERANGKAT LUNAK
Pengembangan Perangkat Lunak
PENGANTAR REKAYASA PERANGKAT LUNAK
Validasi dan Verifikasi Software
Software Konfigurasi Management oleh USMAN P
REKAYASA PERANGKAT LUNAK
Pengembangan Sistem Informasi
Pengembangan Sistem Informasi
SOFTWARE ENGGINERING Software LIFE CYCLE
ANALISA & PERANCANGAN PERANGKAT LUNAK
Impelementasi Sistem 11/22/2018.
Pengujian Perangkat Lunak
Kelompok 2 : Maria Bestarina Laili: Ida Megawati: Sakim: Erman Al Hakim: Kunthi Widyati: Ilham.
Fathiah, S.T.,M.Eng Universitas Ubudiyah Indonesia
Transcript presentasi:

SOFTWARE CONSTRUCTION MUHAMMAD YUSUF Teknik Informatika – Universitas Trunojoyo Http://yusufxyz.wordpres.com Email : yusufxyz@gmail.com

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: - Software Design - Software Testing - Software Engineering - Software Project - Software Quality

Alasan SC terhubung dengan software lain Proses Software Construction melibatkan desain software yang signifikan dan aktivitas testing software.Software Consntruction juga menggunakan output design dan menghasilkan salah satu input untuk testing,baik dalam aktivitas desain dan testing. batasan antara desain,konstruksi dan testing akan bervariasi tergantung dalam proses software life cycle yang di gunakan dalam proyek.

Software Construction Fundamentals 1.1 Minimizing Complexity 1.2 Anticipating Change 1.3 Constructing for Verification 1.4 Standards in Construction digunakan untuk mendesain seperti juga untuk construction menjabarkan konsep dan mendeskripsikan bagaimana ketiganya digunakan dlm pembangunan.

Minimizing Complexity Faktor kendala utama menggunakan komputer adalah kemampuan terbatas. Hal ini mendorong pembuatan ke sebuah driver yang paling handal dalam SC, yaitu: mengurangi kompleksitas. Dalam SC pengurangan kompleksitasnya pada proses verifikasi dan testing (pembuatan kode yang simple dan mudah dibaca) Akan dibahas lebih detail pada standart in construction,coding dan construction quality

Anticipating Change (Antisipasi terhadap perubahan) Software merupakan bagian yang tidak mungkin terhindar dari sebuah perubahan lingkungan luar. (4–2 © IEEE 2004 Version) dan perubahan dari lingkungan luar akan mempengaruhi software dalam banyak hal. Mengantisipasi perubahan didukung oleh berbagai macam teknik yang diringkas dalam topic Coding.

Constructing for Verification Perancangan dalam rangka verifikasi berarti membangun software dengan mencari suatu kesalahan (error) yang dapat terbaca dengan mudah oleh Software Engineer yang menulis (kode) dari software TEknik2 yang spesifik yang mendukung dalam perancangan untuk verifikasi, termasuk diantaranya yaitu : - standar pembuatan kode untuk mendukung referensi dari kode, unit testing, - pengaturan kode untuk mendukung testing secara otomatis, - menghindari penggunaan struktur bahasa yang kompleks dan sulit dimengerti orang lain.

Standards in Construction (Standar dalam perancangan) Standar2 yang mempengaruhi perancangan meliputi : 1. Bahasa Pemrogaman 2. Metode Komunikasi 3. Platform 4. Tool

Macam-macam Standart Standart external (merancangan bahasa, perancangan tools, teknik antarmuka dan interaksi antara Software Construction dan bidang pengetahuan lainnya ) di dapat dari berbagai sumber termasuk spesifikasi antar muka hardware and software. Standart internal(dari suatu organisasi dalam suatu level perusahaan/ badan atau untuk penggunaan proyek yang spesifik ), Standar ini mendukung koordinasi dari aktivitas suatu kelompok, mengurangi kompleksitas, mengantisipasi perubahan dan merancang untuk melakukan verifikasi.

2. Managing Construction: 2.1 Construction Models 2.2 Construktion Planning 2.3 Construction measurement

2.1 Construction Models Berbagai macam model yang telah dibuat untuk membangun software, beberapa diantaranya lebih menekankan pada perancangan daripada (model) yang lainnya

2.2 Construction Planning Pemilihan dari metode construction adalah sebuah aspek terpenting (key aspect) dalam aktivitas construction planning. Pendekatan construction mempengaruhi kemampuan proyek untuk mengurangi kerumitan, mengantisipasi perubahan, dan untuk verifikasi. Construction planning juga menjelaskan susunan komponen yang dibuat dan digabungkan, kualitas manajemen proses dari software, alokasi dari pengerjaan tugas pada software teknik yang spesifik, dan tugas lainnya, termasuk pada metode yang dipilih.

2.3. Construction measurement Banyak aktivitas construction dan buatan manusia (artifact) dapat ditentukan/dipilih, termasuk pengembangan code, pengubahan code, penggunaan kembali code (code reuse), penghapusan code, kerumitan code, statistika pemeriksaan code, perbandingan fault-fix dan fault-find, usaha, dan penjadwalan. Measurement dapat menjadi sangat berguna untuk tujuan pengontrolan construction, menjamin kualitas selama construction, memperbaiki proses construction

3. Practical considerations 3.1 Construction Design 3.2 Construction Languages 3.3 Coding 3.4. Construction Testing 3.5 Reuse

3.1 Construction Design Beberapa proyek mengalokasikan lebih banyak pada aktivitas desain daripada construction; Sebagai pekerja construction, membangun struktur fisik harus beradaptasi dengan membuat modifikasi small-scale sebagai laporan untuk rencana pembangunan (builder’s plan) , pekerja construction software harus membuat modifikasi dalam skala yang lebih besar atau skala yang lebih kecil untuk detail desain software selama construction.

3.2. Construction Languages 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 Visual notation mengandalkan banyak kekurangan pada text oriented notation dari kedua bahasa dan penyusun formal, dan mengandalkan secara langsung interprestasi visual dan penempatan dari entitas visual yang merepresentasikan pokok software.

3.2. Construction Languages Penyusunan secara visual cenderung agak terbatas karena hanya menggunakan pergerakan dari entitas visual pada sebuah display.

3.3 Coding Beberapa pertimbangan yang dipergunakan pada proses penyusunan pengkodingan software : Teknik untuk pembuatan source code yang dapat dipahami, termasuk penamaan dan susunan source code. Mempergunakan pengkelasan, enumerated types, variable, penamaan konstanta dan yang lain entitas yang mirip. Mempergunakan 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 ( menjadi statement-statement, fungsi-fungsi, kelas-kelasm paket-paket atau struktur yang lainnya). Dokumentasi kode. Perbaikan kode.

3.4 Penyusunan Proses Percobaan Proses penyusunan memiliki dua bentuk untuk pengetesan, dimana sering dipergunakan oleh software engineer yang membuat kode tersebut : Unit testing, Integration testing.

Tujuan penyusunan proses pengetesan ini untuk mengurangi batasan diantara waktu adanya kesalahan pada code dan waktu kesalahan dideteksi. Dalam banyak kasus, proses pengetesan ini dicoba setelah proses penulisan kode selesai. Dalam kasus yang lain, pengetesan dibuat sebelum kode ditulis.

Sebagai contoh, penyusunan testing biasanya termasuk : pengetesan system, alpha testing, beta testing, stress testing, configuration testing, usability testing, atau yang lain, pengetesan yang lebih spesifik.

3.5 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.

3.6 Construction Quality Unit testing and Integration testing Beberapa Teknik yang ada untuk memastikan qualitas dari kode yang disusun adalah: Unit testing and Integration testing Test-first development Urutan code, Menggunakan pernyataan yang tegas, Debugging, Technical reviews

3.7 Integration Sebuah kunci aktivitas sebelum penyusunan diintegrasikan dalam penyusunan fungsi-fungsi, kelas-kelas, component-componen dan subsitem yang terpisah. sebuah software system yang khusus mungkin membutuhkan untuk diintegerasikan dengan software yang lain atau hardware system.

Isi Buku Software Engineering Roger S Pressman 1 – The Product 2 – The Process 3 - Project Management Concept 4 – Software Process and Project Metrics 5 – Software Project Planning

6- Risk Management 7- Project Scheduling & Tracking 8- Software Quality Assurance 9- Software Configuration Management 10- System Engineering 11- Analysis Concept and Principles

12 – Analysis Modelling 13 – Design Concept and Principles 14 – Design Methods 15 – Design for Real Time Systems 16 – Software Testing Methods 17 – Software Testing Strategies 18 – Technical Metrics for Software 19 – Object Oriented Concept and Principles

20 - Object-oriented Analysis 21- Object Oriented Design 22 – Object Oriented Testing 23 – Technical Metrics for Object Oriented System 24 – Formal Methods 25 – Cleanroom Software Engineering 26 – Software Reuse

27 - Reegineering 28 – Client/Server Software Engineering 29 – Computer Aided Software Engineering 30 – The Road Ahead