Software System
Pusat Pengembangan Internal Audit | Yayasan
Pendidikan
Pelatihan Internal
Audit Internal Audit
Tingkat Lanjutan
Sertifikasi Qualified Internal Auditor (QIA)
Agenda Application
Development
BAB I: Pendahuluan
2
BAB - I
Pendahuluan
Aplication Development
Application Development atau sering juga dikatakan
sebagai software development adalah istilah untuk
menyebut berbagai rangkaian kegiatan yang
dilakukan dalam usaha untuk mengembangkan
produk software atau program aplikasi.
Application Development Management (ADM)
adalah cara pengelolaan yang dilakukan terhadap
proses pengembangan aplikasi atau software.
Metodologi Pengembangan Software
System Development Life Cycles
Analysing
Maintenance
and bug fixing the
problem
Market
Deployment
research
Gathering
Testing
requirement
Devising
Implementation
(coding) plan or
design
Metodologi Pengembangan Software
Waterfall Extreme
• Terstruktur • Mengerjakan beberapa tahapan
• Mengerjakan tahapan secara tepat secara berulang
berurutan • Membutuhkan waktu lebih sedikit
• Banyak menghabiskan waktunya pada tahap perencanaan dan
pada tahapan identifikasi risiko dokumentasi
• Menyiapkan rencana terinci dari • Lebih menekankan waktunya pada
pengembangan software sebelum tahap pembuatan program
tahapan pekerjaan pemrograman (coding) dan pengujiannya
(coding) dimulai • Melakukan tahapan pengujian
• Menghindari perubahan desain secara terus menerus
yang signifikan • Selalu memperbaiki produknya
• Membuat ulang program pada dari bug sepanjang waktu, selama
tahapan selanjutnya masa pengembangan
Tujuan Application Development Management
(ADM)
Planning
Implementation Analysis
Design
Model Waterfall
Studi
Maintenance
Kelayakan
Pendefinisian
Acceptance,
Kebutuhan
Installation,
dan Analisa
Deployment
Sistem
Integration Pengadaan
and Testing Software
Sistem
Manajemen
Development Sumber Daya
terintegrasi
System
Design
SDLC – Manajemen Pengendalian
Pencapaian Studi Kelayakan
Kerangka waktu
Solusi komputerisasi
Produk Vendor
Perkiraan biaya
Komitmen
pelatihan
Komitmen
Keandalan dan
pelayanan
dokumentasi
produk
Cakupan Kontrak
Tidak memadainya
jejak audit
Pengendalian
password
Keamanan
aplikasi secara
keseluruhan
Elemen Desain Sistem
Diagram
hirarki
fungsional
Entity Diagram
Relationship layout
Diagram layar
Panduan
Tabel aturan
perintah
bisnis
program
Diagram
proses bisnis
Pemrograman Terintegrasi Workstations
Mengurangi
integritas
program dan
proses
Perubahan yang
Banyaknya versi valid berpotensi
program terhapus dan
diganti
Kelemahan
Bahasa Pemgrograman
menyediakan
membandingkan
memberitahu ‘tanda’ jika terjadi
antara hasil yang
programer ketidakkonsistenan
diharapkan dengan
kesalahan logika data atau nilai
hasil aktualnya
parameter
Test Data Generator
Bottom
up
Top
Down
Pengujian Ukuran & Kompleksitas
System testing
•Pengujian meyakinkan program yang Performance testing Function/Validity Testing
dimodifikasi berinteraksi dengan
komponen sistem lainnya •Membandingkan kinerja sistem dengan •Menguji fungsionalitas sistem sesuai
sistem lain dengan kebutuhannya secara detail
•Recovery testing, Security testing,
Stress/Volume testing
Mengembangkan Mengembangkan
rekomendasi untuk rencana untuk
mengatasi kekurangan mengimplementasikan
sistem rekomendasi tersebut
BAB - III
System Development Life Cycles
Pengertian Umum SDLC
Systems Development Life Cycle (SDLC) merupakan proses
pengembangan software dalam suatu rekayasa sistem
informasi. SDLC dalam hal ini melakukan proses pembuatan
dan atau penggantian suatu sistem informasi, serta model
dan metodologi yang digunakan untuk membangun sistem
tersebut. Dalam rekayasa software, konsep SDLC diterapkan
dengan menggunakan berbagai macam pilihan metodologi
pengembangan software.
Model & Metodologi SDLC
Waterfall
Synchronize
and stabilize Spiral
SDLC
Agile software
Incremental development
Rapid
prototyping
Model & Metodologi SDLC
Model Agile
• XP dan Scrum
• Proses yang sifatnya ringan dan sederhana
Model Interative/Berulang
• Rational United Process dan Dynamic Systems Development Method
• Ruang lingkup proyek yang terbatas
Model Lainnya
• Ditujukan untuk bentuk pengembangan software secara iterasi dan teradaptasi
• Ruang lingkup pengembangannya hanya pada fitur-fitur tertentu
Konsep SDLC
Risiko SDLC
Secara bertahap
Membangun model
membangun sistem
untuk membuat
sebenarnya yang akan
desain
berjalan di produksi
Permasalahan Metode Prototyping
Pengendalian
yang lemah
Menambah
fungsi ekstra
Meminimalisir risiko
Pemahaman yang baik bawaan proyek dengan
atas masalah cara memecahnya
mendasar dari bisnis menjadi bagian-bagian
yang lebih kecil
Metodologi prototype
diperbaiki terus Melibatkan pengguna
menerus hingga pada sepanjang proses
akhirnya menjadi pengembangan
produk final
Dikembangkan wujud
kecil sistem kemudian
disempurnakan secara
terus menerus
Kekuatan (Prototyping)
Pengguna bisa mengajukan Dapat digunakan secara
wujud tentatif (sementara) realistis memodelkan aspek
Meningkatkan partisipasi
bentuk eksperimental di penting dari sistem
komunikasi antar pihak
saat awal pengembangan sepanjang masa siklus
sistem pengembangannya
memanfaatkan
pengetahuan yang Membantu memudahkan
Bermanfaat khususnya
diperoleh pada iterasi awal mengidentifikasi fungsi
untuk menangani tujuan
untuk bisa dikembangkan yang sulit atau
yang belum jelas
pada iterasi-iterasi membingungkan
sesudahnya
Cepat melakukan
Menentukan spesifikasi dari Mendorong munculnya implementasi aplikasi yang
aplikasi produktif yang akan inovasi serta rancangan belum lengkap, namun
dihasilkan sistem yang luwes telah memiliki beberapa
fungsi yang sudah selesai
Kelemahan (Prototyping)
Sistem nampaknya
Rancangan tidak
Perancang sistem sering Terbentuknya sistem bagus dan memiliki user
flexible secara potensial
mengabaikan dengan rancangan yang interface yang cantik,
membuat keterbatasan
dokumentasi jelek namun tidak berfungsi
system
dengan semestinya
Sistem berbasis
mainframe atau
sistem batch
berorientasi transaksi
Susunan tim
Adanya kebutuhan
pengembang yang
yang tinggi
tidak tetap
BAB - V
Application Development Tools
Pengembangan Sistem Informasi
melakukan
Menuliskan
Menangkap analisa dan Pengujian Memperbaiki
perintah Implementasi
user membuat terhadap penulisan
program aplikasi
requirement desain program program
(code)
aplikasi
Computer Aided Software Engginering
(CASE)
CASE adalah software bantuan (tool) yang dapat membantu meringankan kerja dalam
proses pengembangan software, sehingga bisa membantu menghasilkan sistem
informasi yang lebih berkualitas.
Auditor SI bisa juga menjadi user dan Data Flow Diagram dapat
digunakan sebagai alternatif teknik flowcharting
Code Generator
Independen
Non Procedural Fasilitas perangkat Konsep work bench
terhadap lingkungan
Languages (Portability) lunak Programer
BAB I: Pendahuluan
Thick Thin
komputer workstation
Client (desktop atau laptop) yang
menjadi bagian dari sebuah
Client workstation pengguna yang
berisi sistem operasi yang
jaringan, yang berisi sistem
minimal dan atau tidak
operasi yang berfungsi
tersedia penyimpanan data.
penuh dan dengan berbagai
aplikasi program.
BAB - II
Database Overview
Database Management System -
DBMS
Perangkat lunak sistem yang membantu mengorganisasikan,
mengendalikan, dan menggunakan data yang diperlukan oleh
program aplikasi. DBMS menyediakan fasilitas untuk
membuat dan memelihara database yang terorganisasi
dengan baik. DBMS juga menyediakan fungsi untuk
normalisasi data yang dapat mengurangi duplikasi data,
mempercepat waktu akses dan membuat pengamanan dasar
terhadap data yang sensitif.
Tingkatan Akses Pengguna dalam DBMS
User dan
database
Transaksi
User dan
dan
transaksi
database
Program
dan field
data
Keuntungan DBMS
Independensi data
Konsistensi data
Memfasilitasi
pemrograman
dengan
Menyediakan Menstandarkan
Meningkatkan mengurangi
kriteria validasi metode
dokumentasi kebutuhan
yang umum pemrograman
untuk
mendefinisikan
data
BAB - III
Database Structure
Model Database
sulit untuk
mengekspresikan
data dapat terhubung
disusun dalam satu file hubungan ketika anak
data element dapat
atau satu lembar data memiliki hubungan
terhubung ke item lainnya
dengan lebih dari satu
induk
Keuntungan Model Database
Relasional
Kemudahan
Lebih mudah
bagi user untuk
dimodifikasi
mengerti dan
daripada
mengimplemen
bentuk hirarki
tasikan sistem
dan network
fisik database
Mudah
Lebih cepat
mengkonversi ke
dalam pencarian
struktur
data
database lainnya
Pengendalian
akses terhadap
data yang
sensitif lebih
mudah
Jenis Database
Kontrol Akses • database relasional memiliki kontrol akses tabel dan field data
• database ini dapat menentukan siapa yang dapat mengakses
(Access Control) tabel, bahkan siapa yang dapat mengakses field
virtual table • Pembuatan tabel virtual memungkinkan perubahan terhadap tabel view tidak
akan mempengaruhi terhadap database awalnya
Pengendalian untuk Meyakinkan
Integritas Database
Menetapkan dan
mengimplementasikan
Menetapkan standar definisi Menetapkan beberapa
prosedur backup dan
dan memonitor ketaatannya kontrol akses
recovery untuk meyakinkan
ketersediaan database
Menetapkan pengendalian
Menetapkan pengendalian Menggunakan database
untuk meyakinkan
untuk meyakinkan hanya checkpointuntuk memulai
keakuratan, kelengkapan,
pegawai yang berwenang proses kembali setelah
dan konsistensi elemen data
yang dapat mengubah sistem gagal pada point
dan relationship dalam
database tertentu
database
Mengikuti prosedur
Menggunakan program
Melakukan reorganisasi restrukturisasi database
monitor kinerja untuk
database untuk mengurangi ketika melakukan
memonitor dan memelihara
ruang hard disk perubahan logikal, fisikal
efisiensi database.
dan procedural
THANK YOU