Overview
UP ( Unified Process ) merupakan sebuah metodologi pengembangan perangkat lunak yang dibangun dengan tujuan untuk memudahkan pengontrolan dan meningkatkan kualitas perangkat lunak yang dibangun.UP ini sendiri diperlukan dalam sebuah system agar dapat diimplementasi, diuji, dijalankan, dan dimanage
2.System operator : Adalah orang yang melakukan fungsi administrative dan pemeliharaan secara rutin untuk menjaga system operasi,aktivitasnya adalah
Input,process,output development order
Top-down and buttom-up development order
UP ( Unified Process ) merupakan sebuah metodologi pengembangan perangkat lunak yang dibangun dengan tujuan untuk memudahkan pengontrolan dan meningkatkan kualitas perangkat lunak yang dibangun.UP ini sendiri diperlukan dalam sebuah system agar dapat diimplementasi, diuji, dijalankan, dan dimanage
Implementation
Seluruh
aktifivitas yang terjadi dalam implementasi itu sendiri bersangkutan dengan komponen software dimana
dapat diperoleh atau dibangun berdasarkan pada projek tertentu.
Komponen itu
sendiri merupakan sebuah modul perangkat lunak yang sudah terpasang dengan
lengkap, siap untuk digunakan dan sudah diatur sedemikian rupa sebagai
interface untuk menghubungkan client atau bagian lain dalam sebuah system
Setiap
komponen dalam suatu system membutuhkan sebuah standart untuk dapat
mendeskripsikan bagaimana komponen dapat berinteraksi. Sayangnya, ada beberapa
standart interaksi komponen termasuk : Common Object Request Broker
Architecture (CORBA), Java 2 Enterprise Edition (J2EE), Common Object Model
(COM), dan Simple Object Access Protocol (SOAP)
Pada
dasarnya, membangun dan menjalankan software aplikasi modern adalah sebuah
proses untuk menentukan standart interaksi komponen, menerapkan class dari
sebuah object oriented design (OOD), mempaketkan class-class tersebut ke dalam
unit executable unit dengan standart yang telah ditentukan, dan menginstal
software aplikasi dengan bantuan hardware dan software infrastructure.
Testing
Testing
merupakan sebuah salah satu proses dalam
memeriksa dan mengidentifikasi masalah yang terdapat dalam produk. Untuk
dapat melakukan testing, sebelumnya developers sudah harus membangun atau
memiliki software dan memiliki standart untuk mengindentifikasi apa yang
menyebabkan terjadinya masalah.
Developers
dapat melakukan testing software dengan melakukan review pembuatan dengan
mendesign dan membangun software, kemudian melakukan ujicoba dan memeriksa
hasil dari ujicoba tersebut. Jika ditemukan adanya error, maka developers perlu
melakukan developers cycle dengan mendesign, membuat, mengeksekusi, dan
melakukan evaluasi sampai error tersebut dapat diatasi.
Berikut
adalah aktivitas yang dilakukan dalam testing :
-Menetapkan dan melakukan unit testing
-Menetapkan dan melakukan intefration testing
-Menetapkan dan melakukan usability testing
-Menetapkan dan melakukan user acceptance testing
-Menetapkan dan melakukan unit testing
-Menetapkan dan melakukan intefration testing
-Menetapkan dan melakukan usability testing
-Menetapkan dan melakukan user acceptance testing
Berikut ini
adalah type-type
dari jenis testing :
- Unit testing : mengidentifikasi masalah dalam komponen software yang tidak menjalankan fungsi yang seharusnya ketika ditesting secara terpisah
- Integration testing : mengindentifikasi masalah dalam komponen software yang tidak menjalan yang seharusnya ketika dioperasikan bersama dengan komponen lain
- Usability testing : mengidentifikasi masalah yang terjadi pada rendahnya tingkat kepuasan user dalam menggunakan software
- User Acceptance testing : mengindentifikasi seluruh jenis masalah yang terjadi
- Unit testing : mengidentifikasi masalah dalam komponen software yang tidak menjalankan fungsi yang seharusnya ketika ditesting secara terpisah
- Integration testing : mengindentifikasi masalah dalam komponen software yang tidak menjalan yang seharusnya ketika dioperasikan bersama dengan komponen lain
- Usability testing : mengidentifikasi masalah yang terjadi pada rendahnya tingkat kepuasan user dalam menggunakan software
- User Acceptance testing : mengindentifikasi seluruh jenis masalah yang terjadi
Bagian
penting dalam uji pengembangan (developing test) adalah dengan menspesifikasi
test case dan test data. Test case itu sendiri adalah sebuah deskripsi formal
dari keadaan awal, kemudian satu atau beberapa peristiwa dimana perlu untuk
direspon oleh software, sampai respon akhir dari software atau disebut juga
sebagai keadaan akhir.
Test data
merupakan himpunan dari keadaan awal dan events yang digunakan untuk melakukan
test pada sebuah module atau pada keseluruhan system.
Unit testing
merupakan proses pengujian metode individu, kelas, atau komponen, sebelum
mereka berintegrasi dengan perangkat lunak lain. Tujuan dari unit testing itu
sendiri itu adalah untuk mengindentifikasi dan memperbaiki banyak kesalahan
yang terjadi sebisa mungkin sebelum digabungkan dengan software unit yang lebih
besar.
Berikut
adalah dua metode untuk melakukan testing unit secara terpisah :
- Driver : sebuah method atau class , dikembangkan untuk pengujian unit yang digunakan untuk mensimulasikan perilaku dari sebuah method yang mengirim pesan ke method yang sedang diuji
- Stub : sebuah method atau class, dikembangkan untuk pengujian unit yang digunakan untuk mensimulasikan perilaku dari sebuah method yang belum ditulis
- Driver : sebuah method atau class , dikembangkan untuk pengujian unit yang digunakan untuk mensimulasikan perilaku dari sebuah method yang mengirim pesan ke method yang sedang diuji
- Stub : sebuah method atau class, dikembangkan untuk pengujian unit yang digunakan untuk mensimulasikan perilaku dari sebuah method yang belum ditulis
Integration
Testing merupakan proses pengujian evaluasi perilaku dari sebuah kumpulan
method atau class.
Usability
Testing merupakan proses pengujian untuk menentukan apakah method, class,
subsystem, atau system sinkron dengan user requirement :
- Performance test merupakan sebuah pengujian integrasi dan kegunaan untuk menentukan apakah system atau subsystem dapat sinkron dengan criteria dari time based performance
- Response time merupakan keinginan atau tunjangan maksimum yang memperbolehkan software untuk dapat meresponse pada query atau update.
- Troughput merupakan keinginan atau tunjangan minimum dari query dan transaksi yang perlu diproses per menit atau perjam.
- Performance test merupakan sebuah pengujian integrasi dan kegunaan untuk menentukan apakah system atau subsystem dapat sinkron dengan criteria dari time based performance
- Response time merupakan keinginan atau tunjangan maksimum yang memperbolehkan software untuk dapat meresponse pada query atau update.
- Troughput merupakan keinginan atau tunjangan minimum dari query dan transaksi yang perlu diproses per menit atau perjam.
User
Acceptance Testing merupakan sebuah system pengujian yang digunakan untuk
menentukan apakah system tersebut dapat memenuhi keinginan dan memuaskan user.
Acceptance testing merupakan prosedur formal yang perlu dilakukan dalam setiap
project.
Pihak-pihak yang terlibat dalam
Pengujian Software
Programmer :
berperan sebagai unit testing dalam source code system
User :
berperan sebagai pengguna system dimana system layak digunakan atau tidak
Personil
Jaminan Kualitas : berperan sebagai pengembang software dengan menentukan apa
yang perlu ditambahkan
Configuration and Change Management
Konfigurasi
dan manajemen digunakan ketika sedang dilakukannya aktivitas
support implementasi,
testing, dan deployment. Konfigurasi dan manajemen mencangkup berbagai
kegiatan yang membantu dalam pengontrolan komplektisitas yang terkait dengan
pengujian (testing) dan support sebuah system melalui beberapa pengembangan dan
operasional
Aktivitas dari konfigurasi dan manajemen itu sendiri
memiliki hubungan pada manajemen project, implementasi, testing, dan
deployment. Merubah prosedur pada system biasanya dikembangkan pada statement
awal sebelum pengembangan system software yang lebih lanjut dilakukan.
Versioning
Versioning itu sendiri digunakan untuk membantu
pengembangan, penginstalasi, dan maintain sistem yang kompleks dalam serangkaian versi
untuk menyederhanakan pengujian, deployment, dan support system.
Jenis-jenis Versioning :
· Alpha Version : Versi testing yang sudah cukup lengkap tetapi siap digunakan untuk beberapa tingkat integrasi dengan level yang ketat atau pengujian layak kegunaan.
· Beta : Versi testing yang cukup stabil untuk diuji oleh pengguna akhir untuk jangka waktu tertentu
· Production : Versi system yang secara resmi sudah bisa didistribusikan kepada pengguna atau dibuat secara operasional untuk tujuan penggunaan jangka panjang.
· Maintenance Release : System pembaharuan yang menyediakan perbaikan bug dan perubahan kecil untuk fitur yang ada pada system
· Alpha Version : Versi testing yang sudah cukup lengkap tetapi siap digunakan untuk beberapa tingkat integrasi dengan level yang ketat atau pengujian layak kegunaan.
· Beta : Versi testing yang cukup stabil untuk diuji oleh pengguna akhir untuk jangka waktu tertentu
· Production : Versi system yang secara resmi sudah bisa didistribusikan kepada pengguna atau dibuat secara operasional untuk tujuan penggunaan jangka panjang.
· Maintenance Release : System pembaharuan yang menyediakan perbaikan bug dan perubahan kecil untuk fitur yang ada pada system
Submiting Change Requet and Error Report
Untuk memanage
resiko yang terkait dengan perubahan sebagian besar organisasi menerapkan
prosedur pengendalian secara formal untuk seluruh system operasional.
Pengendalian formal ini di desain dengan tujuan memastikan bahwa ada
kemungkinan untuk terjadinya perubahan,dan tentunya akan dipertimbangkan dan
dierncakan sebelum benar-benera di implementasikan kedalam system. Prosedur
pengendaliannya berupa :
- request form untuk perubahan,
- review request utk melakukan permintaan perubahan,
- setelah itu baru melakukan perencanaan yang luas untuk melakukan desain dan pengimplementasian.
Implementing a Change
Setelah mendapat
form change review maka langkah selanjutnya adalah mengimplementasikan
perubahan tersebut kedalam system. Untuk
mengimplementasikan perubahan , disni mengikuti Up life cycle. Pada dasarnya
perubahannya akan dilakukan secara bertahap dan harus mengetahui persyaratn
teknikal secara jelas terlebih dahulu. Biasanya kegiatan ttg business
modeling,requirement discipline akan dilewatkan dan mengurangi kegiatan
design,namun lebih fokus pada aktivitas sebagai berikut:
1. Mengdentifikasi bagian mana dari system yang akan dilakukan perubahan
2. Mengamankan sumber daya untuk mengimplementasikan perubahan
3. Melakukan penjadwalan design dan mengimplementasikan aktivitasnya
4. Mengembangkan criteria test dan melakukan pengujian atas system yang sudah diganti
1. Mengdentifikasi bagian mana dari system yang akan dilakukan perubahan
2. Mengamankan sumber daya untuk mengimplementasikan perubahan
3. Melakukan penjadwalan design dan mengimplementasikan aktivitasnya
4. Mengembangkan criteria test dan melakukan pengujian atas system yang sudah diganti
Staff bagian
design,implemenatsi,dan testing akan melakukan reviw ttg dokumentasi system utk
mengetahui ruang lingkup perubahan . Melakukan criteria test dan pernecanaan
merupakan titik awal utk mengevaluasi system baru. Design system yang ada akan
dilakukan evaluasi dan dimodifikasi sesuai keperluan untuk menerapkan perubahan
yang diajukan. The production system
merupakan versi dari system yang digunakan sehari-hari. Test version ini
merupakann copy dari system produksi yang dimodifikasi untuk menguji perunahan
yang dilakukan.
Upgrading Computing Infrastructure
Hardware
computer,system software dan network harus di upgrade secara berkala dengan
alasan
1.Melakukan maintance software
2.Upgrade versi software
3.Adanya Penurunan kinerja system
1.Melakukan maintance software
2.Upgrade versi software
3.Adanya Penurunan kinerja system
Seperti pada
aplikasi software,system software seperti dbms dimana harus terus menerus di
ubah untuk memperbaiki kesalahan yang ada ataupun untuk menambahkan fungsi2
baru.Mungkin saja aplikasi software yang dapat bekerja dengan baik pada
software versi lama akan gagal ketika software itu diupdate.Oleh karena itu
harus di test terkebih dahulu sebelum di apply di system operasional nya.Input
dari user atau staff IS dapat mengindikasikan kebutuhan untuk pengingkatan
performance.Tapi keputusan akhir apakah upgrade itu dibutuhkan adalah dengan
melalui penyelelidikan atau research.
Deployment
Setelah sistem baru telah dikembangkan dan diuji, maka harus ditempatkan ke dalam operasi. Deployment discipline adalah serangkaian kegiatan yang dibutuhkan untuk
membuat sistem operasional yang baru. Kegiatan deployment nya
melibatkan banyak kendala yang bertentangan, termasuk biaya, kebutuhan untuk
mempertahankan hubungan pelanggan yang positif, kebutuhan untuk mendukung
karyawan, kompleksitas logistik, dan secara keseluruhan berisiko bagi organisasi.
Acquiring Hardware and System Hardware
Aplikasi perangkat lunak harus memiliki infrastruktur
pendukung . Jika
infrastruktur yang sama sekali baru harus diperoleh, maka developer akan bekerja dengan IS
staf untuk memilih dan memperolehnya. Cara memperolehnya adalah :
1.Perencanaan
2.Mengembangkan request for proposal
3.mengevaluasi hasil
4. Memilih satu atau lebih vendor
5. Instalasi dan configurating perangkat keras baru dan perangkat lunak sistem
2.Mengembangkan request for proposal
3.mengevaluasi hasil
4. Memilih satu atau lebih vendor
5. Instalasi dan configurating perangkat keras baru dan perangkat lunak sistem
Packaging and Installing Components
Komponen harus
di install secara fisik ke host server,kemudian baru ditambahkan,setelah itu masing
masing baru diberi tugas satu/lebih alamat jaringan untuk memungkinkan akses
client. Standar interaksi untuk komponen
baru diisi dengan format file XML untuk menyimpan registration dan akses
informasi. Developer biasanya akan menggunakan komponen untuk melakukan testing
atau production server seperti yang dikembangkan atau ditest. Developer
biasanya bisa membuatt package dan menginstall komponen dengan menggunakan
utilitas yang disediakan dengan software pengembangan apliaksi
Training Users
Training merupakan
bagian yang pentng dalam melakukan pengembangan system,karena user merupakan
bagian dari system oleh karena itu training sangt diperlukan.Tanpa adanya
training,user akan bekerja dengan cara mereka sendiri secara
lambat,memungkinkan tingkat kesalahan yang tinggi,. Dengan adanya training maka
akan memungkinkan user untuk menjadi lebih produktif.
Ada 2 jenisnys:
1.End user : Adalah orang yang menggunakan system dari hari ke hari dengan tujuan mencapao tujuan bisnis , aktivitas nya adalah
1.End user : Adalah orang yang menggunakan system dari hari ke hari dengan tujuan mencapao tujuan bisnis , aktivitas nya adalah
1. Membuat catatan atau transaksi yang terjadi
2. Melakukan modifikasi isi database
3. Menghasilkan laporan
4. Query database
5. Mengimpor atau ekspor data
2.System operator : Adalah orang yang melakukan fungsi administrative dan pemeliharaan secara rutin untuk menjaga system operasi,aktivitasnya adalah
1.Memulai atau menghentikan system
2.Melakukan query status siste,
3.Melakukan back up data untuk di arsip
4.Melakukan recovery data untuk di arsip
5
Menginstall atau upgrade software
Secara umum,end
user sering menggunakan system dalam
waktu yang lama,sedangkan system operator jarang berinteraksi dengan system dan biasanya hanya untuk jangka waktu yang
pendek.
End user
memecahkan masalah dengan menerapkan prosedur bisnis yang spesifik,dan
pelatihan end user lebih menekankan pada hands-on dimana aktivitas nya
dilakukan secara fisik pada penerapan system untuk proses bisnis yang spesifik
seperti mengentry pemesanan,melakukan control ketersediaan atau accounting.
Sedangkan sysem operator , training yang dilakukan tidak terlalu formal ketika
operator nya bukan end user. Dan secara
ideal di dunia,training tidak dimulai sampai interface diselesaikan dan versi
testing selesai diinstal namun pada akhirnya adalah project harus masuk pada
kesempurnaan .
Converting and Initializing Data
System
operasional memerlukan database yang diisi penuh dengan proses yang mendukung
masuknya sebuah system. Developers ahrus memastikan bahwa informasi yang
dibutuhkan harus ada pada databse sebagai subsistem yang akan menjadi
operasional. Yang mana data yang dibutuhkan pada startup system adalah dapat
diperoleh dari :
1.File atau databse dari system
2.Catatan manual
3.File atau databse dari system lain pda organisasi
4.Feedback user selama pengoperasiaon system normal
1.File atau databse dari system
2.Catatan manual
3.File atau databse dari system lain pda organisasi
4.Feedback user selama pengoperasiaon system normal
Reloading Databases
Database system
lama digunakan secara langsung oleh sisttem baru dengan sedikit/tidak ada
perubahan pada struktur database nya. Menggunakan kmbali database yang ada
cukup umum karena adanya kesulitan yang ditimbulkan dan masalah biaya untuk
menciptakan database yang baru dari awal,terutama ketika database single yang
mendukung beberapa system informasi seperti system ERP yang digunakan pada saat
ini.Perubahan yang lebih kompleks untuk struktur database mungkin memerlukan
memerlukan reload data setelah perubahan dilakukan. Dalam kasus pada gambar
ini,staff pelaksana harus mengembangkan program untuk mengubah database setelah
dilakukan modifikasi. Disini ada 2 kemungkinan pendekatan untuk melakukan
reload data.:
1.Menginisialisasi database baru dan mengcopy isi lama dari database Kemudian program akan akan menerjemahkan data yang tersimpan dalam struktur database pertama ke dalam struktur database yang baru dimodifikasi
2.Menggunakan program atau alat dbms untuk mengekstract dan menghapus data dari database yang sudah ada dan menyimpannya kedalam tempat penyimpanan data sementara. Struktur database tsb kemudian akan dimodifikasi dan program yang dgunakan untuk reload database akan dimodifikasi.
1.Menginisialisasi database baru dan mengcopy isi lama dari database Kemudian program akan akan menerjemahkan data yang tersimpan dalam struktur database pertama ke dalam struktur database yang baru dimodifikasi
2.Menggunakan program atau alat dbms untuk mengekstract dan menghapus data dari database yang sudah ada dan menyimpannya kedalam tempat penyimpanan data sementara. Struktur database tsb kemudian akan dimodifikasi dan program yang dgunakan untuk reload database akan dimodifikasi.
Planning and managing implementation,
testing, and deployment
Chapter 2 menggambarkan UP sebagai bentuk pengembangan adaptif di mana sebuah sistem bertahap dijelaskan, dibangun, dan diuji.
Dalam sesi ini, akan lebih berfokus pada hubungan timbal balik (interrelationship) dan menggambarkan bagaimana developer membuat iteration plan dan mengelola aktifitas dari semua UP disiplin
Chapter 2 menggambarkan UP sebagai bentuk pengembangan adaptif di mana sebuah sistem bertahap dijelaskan, dibangun, dan diuji.
Dalam sesi ini, akan lebih berfokus pada hubungan timbal balik (interrelationship) dan menggambarkan bagaimana developer membuat iteration plan dan mengelola aktifitas dari semua UP disiplin
Testing
Chapter lain telah mengenalkan bagaimana peran sebuah testing sebagai teknik validasi untuk model requirement dan desain. Dengan demikian, salah satu tujuan dari pengujian memvalidasi kebutuhan pengguna dan desain keputusan diwujudkan dalam perangkat lunak. Tujuan testing :
Chapter lain telah mengenalkan bagaimana peran sebuah testing sebagai teknik validasi untuk model requirement dan desain. Dengan demikian, salah satu tujuan dari pengujian memvalidasi kebutuhan pengguna dan desain keputusan diwujudkan dalam perangkat lunak. Tujuan testing :
o
Validasi Kegunaan sistem
o
Penerimaan user (Accetance user)
o
Validasi
kebutuhan pengguna
o
Discover
error (menemukan error)
Implementation
salah satu keputusan yang paling dasar yang harus dibuat tentang pembangunan perangkat lunak adalah urutan komponen perangkat lunak yang akan dikembangkan. memilih bagian mana dari sistem untuk melaksanakan di mana iterasi itu sulit, dan pengembang harus mempertimbangkan banyak faktor, salah satu dari beberapa yang timbul dari perangkat lunak itu sendiri. Kebutuhan yang mungkin :
salah satu keputusan yang paling dasar yang harus dibuat tentang pembangunan perangkat lunak adalah urutan komponen perangkat lunak yang akan dikembangkan. memilih bagian mana dari sistem untuk melaksanakan di mana iterasi itu sulit, dan pengembang harus mempertimbangkan banyak faktor, salah satu dari beberapa yang timbul dari perangkat lunak itu sendiri. Kebutuhan yang mungkin :
o
input,proses,output
o
top down
o
buttom up
setiap proyek harus beradaptasi satu atau kombinasi dari pendekatan ini untuk kebutuhan dan kendala proyek tertentu
setiap proyek harus beradaptasi satu atau kombinasi dari pendekatan ini untuk kebutuhan dan kendala proyek tertentu
Input,process,output development order
o
Input,process,output development order didasarkan pada aliran data melalui
sistem atau program
o
Masalah utama yaitu menganalisis ketergantungan, kelas
dan metode yang mana yang berfungsi untuk
menampung atau menghasilkan data yang dibutuhkan oleh kelas-kelas
dan metode lain
? Ketergantungan antar class ini sudah di dokumentasikan dalam package diagram
dan class diagram, Dengan demikian, salah satu atau kedua jenis diagram dapat memandu pelaksanaan
keputusan/pengembangan. Figure 13-19 menunjukan bahwa pelanggan dan katalog subsistem
pemeliharaan tidak tergantung satu sama
lain atau pada salah satu dari dua
subsistem lainnya
Top-down and buttom-up development order
o
Istilah top down
and buttom up
o
desain structed tradisional terurai software menjadi
serangkaian modul atau fungsi
yang hiererchically terkait satu
sama lain.
o
sebagai analogi visual, pertimbangkan sebuah
bagan organisasi khas dengan presiden atau ceo di
bagian atas
o
Top-down
development dimulai dengan ceo untuk menyediakan tingkat detail yang lebih baik
o
Bottom up development dimulai
dengan modul rinci
pada tingkat terendah dan bekerja untuk ceo
o
Implementasi Top-down , akan dijalankan view layer class
dan methodnya terlebih dahulu, kemudian domain layer class dan method
selanjutnya, dan yang terakhir data
access dan methodya
o
Sedangkan implementasi bottom up akan berjalan terbalik
dari implemetasi yang dilakukan top-down
o
Method dependency juga di dokumentasikan dalam sequence
diagram, method dependency teleh di dokumentasi dalam aliran pesan dari kiri ke
kanan
o
Keunggulan
utama dalam top-down development : ada program yang selalu berjalan dalam versi working. Contohnya :
Source Code Control System (SCCS) : Alat otomatis untuk melacak file kode sumber dan pengendalian perubahan ke file-file
Source Code Control System (SCCS) : Alat otomatis untuk melacak file kode sumber dan pengendalian perubahan ke file-file
o
Menyimpan
file dalam repositori
o
Mencegah
perubahan konsisten dan mengotomatisasi koordinasi
Pemrogram dapat memanipulasi file dalam tiga mode
Pemrogram dapat memanipulasi file dalam tiga mode
o
Check
out file dalam modus read-only : ketika dia ingin menguji tanpa mengubah kode
o
Check
out file dalam membaca / menulis modus : ketika programmer membutuhkan untuk
mengubah file
o
Check
in berkas yang telah diubah : mengecek apakah file telah terubah
Dalam SCCS, mencegah programmer beberapa programmer mengubah file yang sama dalam waktu yang sama, sehingga mencegah perubahan yang inkonsisten
SCCS adalah kebutuhan mutlak ketika program yang dikembangkan oleh beberapa programmer
Dalam SCCS, mencegah programmer beberapa programmer mengubah file yang sama dalam waktu yang sama, sehingga mencegah perubahan yang inkonsisten
SCCS adalah kebutuhan mutlak ketika program yang dikembangkan oleh beberapa programmer
repositori juga berfungsi sebagai fasilitas umum untuk backup dan
pemulihan operasional
Framework Development
Dalam menjalankan system OO, biasanya tidak membangun sebuah object framework (satu set foundation class) yang meliputi sebagian atau seluruh domain dan data access layer
Foundation classes adalah reuse
Disamping itu, jika terjadi perubahaan, kemungkinan besar akan mempengaruhi system sehingga diperlukan perubahan yang signifikan
Dalam menjalankan system OO, biasanya tidak membangun sebuah object framework (satu set foundation class) yang meliputi sebagian atau seluruh domain dan data access layer
Foundation classes adalah reuse
Disamping itu, jika terjadi perubahaan, kemungkinan besar akan mempengaruhi system sehingga diperlukan perubahan yang signifikan
Team-based software Development
Masalah masalah management yang mungkin ditemukan dalam Team based program :
· organisasi dari tim programming
· Tugas tugas untuk tim atau anggota tertentu
· komunikasi dan koordinasi anggota dan team
Cara / metode dalam implementasi organisasi :
Masalah masalah management yang mungkin ditemukan dalam Team based program :
· organisasi dari tim programming
· Tugas tugas untuk tim atau anggota tertentu
· komunikasi dan koordinasi anggota dan team
Cara / metode dalam implementasi organisasi :
Team Type
|
Team Characteristic
|
Task and Project type
|
Cooperating peer
|
- tingkat
kemampuan yang sama
- Tumpang
tindih (Saling Melengkapi)
|
- Experimen
- pemecahan
masalah yang kreatif
|
Chief Developer
|
- Seperti
militer dimana seorang pemimpin akan mengambil keputusan
|
- Tujuan
yang jelas
- cara
penyelesayan yang jelas
|
Collaborative specialist
|
- Kemampuan
dan pengalaman yang luas
- Tumpang
tindih yang minim
- Kesepakatan
dalam mengambil keputusan
|
- Dianogsan
dan experiment
- pemecahan
masalah yang kreatif dan terintegrasi
|
o
o
Mengeluarkan
dana dari operasional
o
mendeteksi
dan mengkoreksi error dalam sistem
o
hal
hal yang berpotensi mengganggu perusahaan dan operasi SI-nya
o
pelatihan
anggota dan membiasakan konsumen dengan prosedur yang baru
Pendekatan deployement :
Pendekatan deployement :
o
Direct
Deployment
o
parallel
deployment
o
Phased
deployment
Setiap pendekatan memiliki kekuatan dan kelemahannya tersendiri, dan tidak ada pendekatan yang paling bagus untuk semua sistem
Direct Deplloyement :
Setiap pendekatan memiliki kekuatan dan kelemahannya tersendiri, dan tidak ada pendekatan yang paling bagus untuk semua sistem
Direct Deplloyement :
o
System
baru telah diinstal dan operasional yang cepat dibuat, dan setiap sistem yang
tumpang tindih akan di matikan
o
Keunggulan
utama : simple (sederhana)
o
Kelemahan
: karena sistem lama tidak beroperasi lagi, maka kemungkinan sistem baru gagal
akibat tidak ada back up. Besarnya resiko terletak pada sifat sistem,biaya
kegagalan sistem dan biaya ketersediaan sistem
o
Biasanya
digunakan ketika :
§
Sistem
baru ini tidak mengganti / menimpa system lama
§
Waktu
penghentian dapat di tolerir
Parallel deployment
Parallel deployment
o
Menjalankan
dua sistem secara bersamaan dengan periode waktu
yang diperpanjang
o
Keunggulan utama : memiliki resiko kegagalan sistem
yang relative lebih kecil
o
Kelemahan : Biaya yang lebih untuk menjalankan 2 sistem
o
Biaya yang dimaksud adalah :
§ memperoleh ruang ekstra untuk peralatan komputer dan personil
§ mempekerjakan
personil sementara atau sementara menugaskan personil yang ada
§ meningkatnya kompleksitas manajerial dan logistik
o
Jika berjalan, system lama berperan sebagai cadangan
untuk sistem baru
o
Segala kegagalan yang dialami dalam sistem baru dapat
diatasi dengan mangandalkan sistem lama
Phased Deployment
Phased Deployment
o
Sistem di deploy dalam
serangkaian langkah-langkah atau fase
o
Setiap fase akan menambahkan komponen atau fungsi untuk sistem operasional
o
selama setiap fase, sistem ini diuji
untuk memastikan bahwa ia siap untuk
menuju
ke tahap berikutnya
o
penyebaran bertahap dapat dikombinasikan dengan penyebaran paralel, terutama
ketika sistem baru akan mengambil
alih dari
beberapa pengoperasian sistem yang ada
o
tidak ada metode tunggal untuk melakukan penyebaran bertahap
o
dibagi menjadi 3 bagian :
§ fase pertama adalah pengganti langsung dari salah
satu sistem yang
ada
§ fase ke dua dan
ketiga adalah bagian yang berbeda dari penyebaran paralel
dimana
pada fase ini akan menggantikan sistem lain yang ada
o
Keunggulan : mengurangi resiko
o
Resiko dikurangi karena kegagalan fase tunggal tidak mengakibatkan efek yang fatal daripada kegagalan seluruh
sistem
o
Kelemahan : meningkatnya kompleksitas
o
Membagi sistem menjadi fase fase membutuhkan
aktifitas yang lebih, sehingga membuat prosesnya menjadi lebih kompleks
o
Namun disetiap fase berisi satu set yang lebih kecil dan kegiatan
yang lebih mudah dikelola
o
Lebih berguna diguakan untuk sistem yang besar,
complex,
Personnel Issues
Personnel Issues
o
Biasanya
adanya tuntutan waktu,jadwal, pembelajaran yang harus cepat, adaptasi sehingga
menimbulkan stress yang tinggi
o
Planning
harus mengantisipasi masalah ini dan mengambil
tindakan yang tepat untuk mengurangi efeknya
cc : Andreas Hadi & Riky Angga
Our presentation in Anapersil's Class week 13
0 komentar :
Posting Komentar