Rabu, 22 April 2015

Pengelolaan Pengembangan Software

PENGELOLAAN PENGEMBANGAN SOFTWARE
BEBERAPA HAL YANG PERLU DIPERHATIKAN
  • Penggunaan perencanaan dengan bar-chart dan status matriks.
  • Penyerahan dokumentasi harus memenuhi syarat a.l :
  • Kepada siapa diserahkan.
  • Apa isi dokumentasi
  • Kapan harus dilaksanakan yang tercantum dalam dokumentasi.
  • Apakah perlu alat penunjang elektronis.
  • Komponen penyerahan dokumentasi dilengkapi
  • Users manual
  • The software maintenance manual.
  • The operators manual
  • Pengaturan untuk perubahan berkaitan dengan
  • Perubahan spesifikasi.
  • Perubahan program pengendalian versi dan pengelolaan konfigurasi.
  • Kesalahan umum dalam estimasi awal berkaitan dengan
  • estimasi anggaran tahap I
  • ketidakjelasan dalam mengestimasikan ketentuan nilai usaha dan skala waktu
Contoh Pembangunan Manajemen Proyek
Contoh Pembangunan Manajemen Proyek


HUBUNGAN ANTARA ESTIMASI KESALAHAN SEBAGAI FUNGSI TAHAPAN SIKLUS HIDUP
VERIFICATION DAN TESTING
1. UMUM
Verification & testing è bagian kegiatan dari sistem daur hidup (life cycle) pengembangan “SE” sebelum dilakukan tahapan implementasi.
Tahapan daur hidup :

  • Requirement analysis.
  • Design.
  • Module specification
  • Module coding
  • Module unit test.
  • System test
  • Maintenance
                                          

  • TESTING
    • Metode testing.
      • Input data & check “bug” (metode I).
      • Gunakan semua input & check hasilnya (metode II).
      • Test program dengan mengenal structure internal atau lebih dikenal dengan metode “white box” (metode III).
    • Cara terbaik testing SE è seleksi test data yang sanggup.

      • Dicoba pada seluruh jalur program.
      • Aksi test yang digunakan pada kasus khusus.
b.1. Staff yang cukup.
b.2. Fasilitas penunjang yang cukup
b.3. Waktu tersedia yang cukup

Perancangan Software dan Sumberdayanya

Dalam pembangunan proyek, kita harus mengerti :
  • Ruang lingkup pekerjaan yang akan dilakukan
  • Sumber daya ayang akan dibutuhkan
  • Tugas yang akan dilakukan
  • Milestone yang akan ditelusuri
  • Usaha (coast) yang akan dikeluarkan
  • Jadwal yang akan diikuti
Siklus Perancangan Perangkat Lunak
Siklus Perancangan Perangkat Lunak


I. TUJUAN PERENCANAAN PROYEK
  • Estimasi kuantitatif vs tidak adanya solid information
  • Memberikan suatu kerangka kerja (framework) yang memungkinkan manajer membuat estimasi yang beralasan terhadap sumber daya, biaya dan jadwal
  • Didapatkannya informasi akan membantu estimasi yang beralasan
II. RUANG LINGKUP SOFTWARE
  • Fungsi dan unjuk kerja (kinerja) dari software
  • Pernyataan software scoope (harus menjelaskan)
      • Data kuantitatif : jumlah pemakai simulatan. Waktu respon yang diperbolehkan
      • Constraints an/ or Limitations (cost)
      • Mitigating factors (alogaritma yag diinginkan)
      • Interface
      • Keandalan

III. SUMBER DAYA MANUSIA
  • Personil
  • Posisi organisasi
  • Spesialisasi
  • Tugas
  • IV. SUMBER DAYA HARDWARE
    Sebuah alat untuk pengembangan software
     V. KATEGORI HARDWARE
    • Development system
    • Target mechine
    • Elemet hardware yang lain
    VI. SUMBER DAYA SOFTWARE
    Menggunakan sftware (lain) untuk membantu dalam pembuatan software yang baru


Penjelasan Mengenai Rekayasa Perangkat Lunak

II. DEFINISI

  • Suatu proses evolusi dan pemanfaatan alat dan teknik untuk pengembangan software.
  • Penetapan dan penggunaan prinsip – prinsip rekayasa dalam rangka mendapatkan software yang ekonomis yaitu software yang terpercaya dan bekerja efisien pada mesin ( komputer )
  • Terkandung komponen nilai dari SE yang berbentuk program dengan tugas - tugas :
    • Membuat suatu desain aplikasi yang ada dilingkungan tugas atau pekerjaan.
    • Buat deadline : pendahuluan, perumusan masalah, analisis, desain, dan  kesimpulan.
Tanda Kecintaan Terhadap Rekayasa Perangkat Lunak
Tanda Kecintaan Terhadap Rekayasa Perangkat Lunak

II. DASAR-DASAR PENGERTIAN SOFTWARE

  • Perilaku dinamis dari program komputer
  • Program adalah ekspresi intelektual dalam
  • Program terdiri dari alogaritma
  • Bahasa yang digunakan adalah tingkatan ultra rendah (Binary)
  • Program diterjemahkan (kompilasi, interprestasi, Assembly) untuk menjalankan.
  • Transformasi atas dasar angka suatu pernyataan program lebih mudah.
  • Sistem elemen software bersifat logika bukan fisik.
  • Penggunaan komputer untuk tingkat yang lebih tinggi (Aplikasi Program)
III. KARAKTERISTIK SOFTWARE
  • Sistem elemen software bersifat logika bukan fisik.
  • Software dikembangkan atau rekayasa.
  • Software tidak rusak.
IV. TUJUAN SOFTWARE ENGINEERING
  • Biaya produksi rendah
  • Kinerja yang tinggi
  • Biaya perawatan yang rendah
  • Keandalan yang tinggi
  • Penyerahan tepat waktu

Tujuan Perancangan Database dan Fase Proses Perancangan Database

TUJUAN PERANGANCAN DATABASE:
  • Untuk memenuhi informasi yang berisikan kebutuhan – kebutuhan user secara   khusus dan aplikasinya.
  • Memudahkan pengertian struktur informasi
  • Mendukung kebutuhan – kebutuhan pemrosesan dan beberapa objek penampilan (respone time, processing time dan strorage space)
APLIKASI DATABASE DALAM LIFE CYCLE
  • System definition
  • Design
  • Implementation
  • Loading atau data convertion
  • Aplication conversion
  • Testing dan Validation
  • Operation
  • Monitoring dan Maintenance
ADA 6  FASE PROSES PERANCANGAN DATABASE
  • Pengumpulan dan analis
  • Perancangan database secara konseptual
  • Pemeliharaan DBMS
  • Perancangan database secara logik (data model mapping)
  • Perangcangan database secara fisik
  • Implementasi sistem database
Fase Awal dan Fase Akhir
Fase Awal dan Fase Akhir


PHASE PENGUMPULAN DATA DAN  ANALIS AKTIFITAS-AKTIFITAS PENGUMPULAN DATA DAN ANALISA :
    • Menentukan kelompok pemakai dan bidang-bidang aplikasinya
    • Peninjauan dokumentasi yang ada
    • Analisa lingkungan operasi dan pemrosesan data
    • Daftar pertanyaan dan wawancara
  • PHASE PERANCANGAN DATABASE SECARA KONSEPTUAL
  • Tujuan dari fase ini adalah menghasilkan conseptual schema untuk database yang tergantung pada sebuah DBMS yang spesifk.
    DUA AKTIFITAS PERAREL :
    • Perancangan skema konseptual
    • Perancangan transaksi
  • PHASE PEMELIHARAAN DBMS
  •             FAKTOR-FAKTOR YANG MEMPENGARUHI :
      • Faktor teknis
      • Faktor Ekonomi dan Politik organisasi
      • PHASE PERANCANGAN DATABASE SECARA
      • ]LOGIKA (PEMETAAN MODEL DATA)
        Terbagi menjadi 2 tingkatan :
        • Pemetaan system independent
        • Penyesuaian skema ke DBMS yang spesifik
      • PHASE PERANCANGAN DATABASE SECARA FISIK
      •             Beberapa petunjuk dalam pemilihan perancangan secara fisik :
        • Response time
        • Space utility
        • Transaction Throughput
      • PHASE IMPLEMENTASI SISTEM DATASE

Database Terdistribusi Serta Keuntungan dan Kerugiannya

Dalam sebuah database terdistribusi, database disimpan pada beberapa komputer. Komputer-komputer dalam sebuah sistem terdistribusi berhubungan satu sama lain melalui bermacam-macam media komunikasi seperti high speed buses atau telepon line

Contoh Database Terdistribusi
Contoh Database Terdistribusi


KEUNTUNGAN DAN  KERUGIAN  DATABASE TERDISTRIBUSI
KEUNTUNGAN :
  1. Pengawasan distribusi dan pengambilan data
  2. Reability dan availability   
  3. Kecepatan pemrosesan query
  4. Otonomi lokal   
  5. Efisien dan fleksibel
KERUGIAN :
  1. Harga software mahal
  2. Kemungkinan kesalahan besar
  3. Biaya pemrosesan tinggi
FRAGMENTASI DATA
Adalah Relasi dipartisikan ke dalam beberapa bagian,setiap bagian disimpan pada lokasi yang berbeda

BEBERAPA PERATURAN YANG HARUS DIDEFINISIKAN KETIKA MENDEFINISIKAN FRAGMENT :
    1. Kondisi lengkap
    2. Kondisi penyusunan kembali
    3. Kondisi disjoin.
TIGA JENIS  FRAGMENTASI :
1.   Fragmentasi horisontal   
2.   Fragementasi vertikal   
3.   Fragmentasi campuran

      Cara yang sederhana untuk membangun fragmentasi campuran sbb :
    1. Menggunakan fragmentasi horisontal pada fragmentasi vertikal
    2. Menggunakan fragmentasi vertical pada fragmentasi horisontal

Entity Relationship dan Entity Set Pada Sistem Basis Data

Entity relationship Adalah jaringan yang menggunakan susunan data yang disimpan dari sistem secara abstrak.
Entity-relationship dari model terdiri dari unsur-unsur entity dan relationship antara entity-entitiy tersebut.

Contoh Entity Relationship Diagram
Contoh Entity Relationship Diagram


KOMPONEN ENTITY RELATIONSHIP
  1. Entitas, suatu kumpulan object atau sesuatu yang dapat dibedakan atau dapat diidentifikasikan secara unik. Kumpulan entitas yang sejenis disebut entity set.
  2. Relationship, hubungan yang terjadi antara satu entitas atau lebih.
  3. Atribut, kumpulan elemen data yang membentuk suatu entitas.
  4. Indicator tipe , terbagi 2 :
    1. Indecator tipe asosiatif object
    2. Indicator tipe super tipe
MAPPING CARDINALITY
Banyaknya entity yang bersesuaian dengan entity yang lain
melalui relationship

JENIS-JENIS MAPPING :
  1. One to one
  2. Many to One atau One to many
  3. Many to many

REPRESENTASI DARI ENTITY SET
Entity set direpresentasikan dalam bentuk tabel dan nama yang unique. Setiap tabel terdiri dari sejumlah kolom, dimana masing-masing kolom diberi nama yang unique pula.
Participation Constraint
Menjelaskan apakah keberadaan suatu entity tergantung pada hubungannya dengan entity lain.
Terdapat dua macam participation constrain yaitu:
1.   Total participation constrain yaitu:
Keberadaan suatu entity tergantung pada hubungannya dengan entity lain. Didalam diagram ER digambarkan dengan dua garis penghubung antar entity dan relationship.
2.   Partial participation, yaitu
Keberadaan suatu entity tidak tergantung pada hubungan dengan entity lain. Didalam diagram ER digambarkan dengan satu garis penghubung.

ENTITY SET TERBAGI ATAS :
  1. Strong entity set, entity set yang satu atau lebih atributnya digunakan oleh entity set lain sebagai key. Digambarkan dengan empat persegi panjang.
  2.             Misal :
    E adalah sebuah entity set dengan atribute-atribute a1, a2,..,an, maka entity set tersebut direpresentasikan dalam bentuk tabel E yang terdiri dari n kolom, dimana setiap kolom berkaitan dengan atribute-atributenya.
  3. Weak Entity set, Entity set yang dependent terhadap strong entity set. Digambarkan dengan empat persegi panjang bertumpuk.
  4.       Misal :
    A adalah weak entity set dari atribute-atribute a1, a2, .., ar dan B adalah strong entity set dengan atribute-atribute b1, b2,..,bs, dimana b1 adalah atribute primary key, maka weak entity set direpresentasikan berupa table A, dengan atribute-atribute {b1} u {a1,a2,.., ar}

Fungsi dan Komponen DBMS

DBMS (Database Management Systems)
DBMS adalah  perangkat lunak yang menangani semua pengaksesan database. Mempunyai fasilitas membuat, mengakses, memanipulasi dan memelihara basis data

Database Management Systems
Database Manajemen Sistem

BAHASA dalam DBMS
A.  Data Definision Language (DDL)
Hasil kompilasi dari   perintah DDL adalah satu set dari table yang disimpan dalam file khusus disebut data dictionary/directory.

B.  Data Manipulation Language (DML)
Bahasa yang memperbolehkan pemakai untuk akses atau memanipulasi data sebagai yang telah diorganisasikan sebelumnya dalam model data yang tepat
Secara dasar ada dua tipe DML :
      1. Prosedural, yang membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan dan bagaimana untuk mendapatkannya contoh dbase III, foxbase
      2. Non prosedural, yang membutuhkan pemakai untuk menspesikasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana untuk mendapatkannya. Contoh  SQL, QBE.
FUNGSI DBMS
  1. Data Definition, DBMS harus dapat mengolah pendefinisian data
  2. Data Manipulation, DBMS harus dapat menangani permintaan dari pemakai untuk mengakses data
  1. Data Security & Integrity, DBMS harus dapat memeriksa security dan integrity data yang didefinisikan oleh DBA
  2. Data Recovery & Concurency, DBMS harus dapat menangani kegagalan – kegagalan pengaksesan database yang dapat disebabkan oleh sesalahan sistem, kerusakan disk, dsb
  3. Data Dictionary, DBMS harus menyediakan data dictionary.
  4. Performance, DBMS harus menangani      unjuk kerja dari semua fungsi seefisien          mungkin

KOMPONEN DBMS
  1. Query Prosesor, komponen yang mengubah bentuk query kedalam instruksi kedalam database manager
  2. Database Manager, menerima query & menguji eksternal & konceptual untuk menentukan apakah record – record tersebut dibutuhkan untuk memenuhi permintaan kemudian database manager memanggil file manager untuk menyelesaikan permintaan
  3. File manager, memanipulasi penyimpanan file dan mengatur alokasi ruang penyimpanan disk
  4. DML Prosessor, modul yang mengubah perintah DML yang ditempelkan kedalam program aplikasi dalam bentuk fungsi-fungsi
  5. DDL compiler, merubah statement DDL menjadi kumpulan table atau file yang berisi data dictionary / meta data
  6. Dictionary manajer, mengatur akses dan memelihara data dictionary
PERBEDAAN TRADITIONAL FILE MANAGEMENT (FMS) DENGAN DATABASE  MANAGEMENT SISTEM (DBMS)

TRADITIONAL FILE MANAGEMENT
  1. Bersifat program oriented
  2. Bersifat kaku
  3. Terjadi kerangkapan data dan tidak terjaminnya keselarasan data ( data inkonsistensi)
DATABASE FILE MANAGEMENT (DBMS)
  1. Bersifat data oriented
  2. Bersifat luwes/fleksible
  3. Kerangkapan data serta keselarasan data dapat terkontrol
Keterangan :
Program oriented “ Susunan data  di dalam file , distribusi data pada peralatan strorage, dan organisasi filenya dipilih sedemikian rupa, sehingga program aplikasi dapat menggunakan secara optimal “
Data oriented “ Susunan data, organisasi file pada database dapat dirubah, begitu pula strategi aksesnya tanpa mengganggu program aplikasi yang sudah ada “.

ARSITEKTUR SISTEM DATABASE
Terbagi menjadi 3 tingkatan :
  1. Internal level : “ Menerangkan struktur penyimpanan basisdata secara fisik dan organisasi file yang digunakan “
  2. konseptual level “ Menerangkan secara menyeluruh dari basisdata dengan menyembunyikan penyimpanan data secara fisik “
  3. Ekternal level : “ Menerangkan View basisdata dari sekelompok pemakai

DATA INDEPENDENCE
Merupakan salah satu kelebihan system database dimana DBA dapat merubah struktur storage & stategi akses dakam pengembangan system database tanpa mengganggu program-program aplikasi yang sudah ada.
2  TINGKAT DATA INDEPENDENCE
  1. Physical data independence, yaitu “perubahan internal schema dapat dilakukan tanpa menggangu conceptual schema”.
  2. Logical data independence, yaitu” Conceptual schema dapat dirubah tanpa mempengaruhi ekternal schema”.
ALASAN  PERLUNYA  PRINSIP  DATA INDEPENDENCE  DITERAPKAN  PADA PENGELOLAAN  SISTEM  DATABASE
  1. Database Administrator dapat merubah isi, lokasi dan organisasi database tanpa mengganggu program aplikasi yang ada
  2. Vendor hardware & software pengelolaan data bisa memperkenalkan produk - produk baru tanpa mengganggu program - program aplikasi yang telah ada
  3. Untuk memudahkan perkembangan program aplikasi
  4. Memberikan fasilitas pengontrolan terpusat oleh DBA demi security dan integritas data, dengan memperhatikan perubahan - perubahan kebutuhan user.