77d1f metodologi manajemen proyek fpenge
METODOLOGI MANAJEMEN PROYEK
PROSES PELAKSANAAN /
EXECUTING PROJECT
OLEH :
W ED A A D I S T I A N A Y A D E W A , S . K O M . , M M S I
Referensi
“MANAJEMEN
PROYEK SISTEM INFORMASI”
OLEH RUDY TANTRA, PENERBIT ANDI
YOGYAKARTA
“MANAJEMEN PROYEK BERBASIS TI” OLEH
IMAM HERIANTO DAN TOTOK TRIWIBOWA,
PENERBIT INFORMATIKA BANDUNG
Pendahuluan
Merupakan tindak lanjut dari apa yang telah dituangkan
dalam perencanaan manajemen proyek.
Pelaksanaan pekerjaan pengembangan ini pada dasarnya
adalah membangun sistem informasi dengan deliverables
berupa software dan bagian-bagian pendukungnya seperti
dokumentasi sistem, dokumentasi pengembangan sampai
kepada dokumen penuntun pengguna.
Diperlukan prosedur kerja yang terorganisir dengan baik,
yaitu WBS yang telah disusun pada fase perencanaan.
Karena yang dibangun adalah sistem informasi, biasanya
mengikuti sebuah metode.
4 Dimensi proyek
People
Product
Process
technology
Tujuan Project Execution
Merealisasikan perencanaan proyek yang tertuang
dalam perencanaan manajemen proyek.
Mengkoordinasikan kinerja tim proyek dan juga
mengoptimalkannya serta pemanfaatan sumberdaya
non personil.
Merealisasikan perubahan perencanaan proyek yang
telah disetujui.
Mekanisme Project Execution
Manajer proyek dan tim proyek membentuk kerja
sama tim selama proyek berlangsung
Manajer proyek dan tim proyek melaksanakan
semua tugas yang sudah tertuang di dalam
perencanaan manajemen proyek.
Membuat laporan pelaksanaan proyek.
Mendapatkan persetujuan untuk setiap fase
pekerjaan
Requirement
Desain sistem dan Software
Pembangunan Software
Quality Assurance (QA)
Dokumentasi
1. Requirements
Setelah
memiliki dokumen System Requirements
Specification (SRS) dan Project Scope document (PSD)
sebagai penunjang langkah berikutnya yaitu desain sistem
dan software.
2. Desain Sistem dan Software
1.
2.
3.
4.
5.
6.
7.
8.
Spesifikasi fungsional dan teknis.
Risiko dan Mitigasi.
Desain Sistem.
Pemodelan (Modelling).
Desain Software.
Unified Modelling Language (UML).
Desain antarmuka pengguna.
Desain Database.
Spesifikasi Fungsional dan Teknis
Spesifikasi
teknis
dideskripsikan
melalui
Funcional
Spesification Document (FSD).
Dokumen ini menggambarkan bagaimana nantinya software
akan berfungsi dan fungsi-fungsi apa yang harus dimilikinya
agar dapat memenuhi requirements.
Selain fungsional juga terdapat spesifikasi teknis yang
dituangkan dalam dokumen software technical spesification
(STS).
STS mendeskripsikan tentang aspek teknis dari software yang
hendak didesain seperti bahasa pemrogragaman, platform
yang dipakai, database dan struktur data, koneksi software
database, arsitektur software, topologi jaringan dan
sebagainya.
Risiko dan Mitigasi
Risiko kegagalan proyek akan semakin tinggi jika proses
desain ini tidak dilakukan dengan tepat.
Desain yang tidak dilakukan dengan baik akan berpotensi
terhadap kegagalan deliverables yang merupakan hasil akhir
dari proyek itu sendiri.
Hambatan untuk mewujudkan desain menjadi sebuah
software :
1. Terlalu kompleks.
2. Fungsi yang dibutuhkan tidak didukung oleh bahasa
pemrograman yang digunakan.
3. Menyulitkan pengguna akhir karena tampilan yang terlalu
banyak.
Desain Sistem
Dalam konteks manajemen proyek, desain sistem adalah
bagian dari fase pengembangan yang menjadi dasar bagi
kontruksi sistem yang akan dibangn.
Desain sistem adalah proses untuk mendefinisikan
arsitektur, komponen, modul, antarmuka dan data untuk
memenuhi requirements.
Desain Sistem (Lanjutan)
Ada beberapa metode untuk melakukan desain sistem, sistem
terstruktur yaitu Yourdon System method (YSM).
Metode
ini menggunakan
context diagram
yang
menggambarkan hasil analisis dalam bentuk sumber data,
aliran dan batasan-batasan sistem.
Kemudian desain sistem lebih diperinci dengan teknik-teknik
tradisional seperti entity relationship diagram (ERD), data
flow diagram (DFD), normalisasi, state transition diagram
(STD) dsb.
Metode analisis dan desain sistem yang berorientasi obyek
(object oriented system and analysis and design method),
alat bantu yang digunakan adalah unified modelling language
(UML)
Desain Sistem (Lanjutan)
Ada dua jenis desain yaitu logikal dan fisikal.
Desain logikal adalah melakukan representasi abstrak
sistem dengan diagram, gambar bagan sehingga bagaimana
aliran data, input, output dari sistem dapat dipahami oleh
developer.
Desain fisikal adalah desain yang berkaitan dengan
bagaimana proses input dan outpit sebenarnya dalam
sistem.
Misalnya bagaimana data di input dalam sistem,
bagaimana melakukan verifikasi, bagaimana data diproses
dan seperti apa penyajian output yang dihasilkannya.
Pemodelan (Modelling)
Model adalah representasi abstrak dari sistem yang akan
dibangun.
Tujuan melakukan pemodelan bagi developer :
1. Memahami bagaimana suatu proses bekerja dan asumsiasumsi yang menjadi dasar bagaimana proses kerja
tersebut.
2. Menelusuri desain kembali sampai kepada requirements
untuk memastikan bahwa mereka membangun sistem
yang sesuai.
3. Menentukan representasi dari keterhubungan antara
komponen-komponen sistem sehingga lebih memudahkan
dalam memahami sistem secara keseluruhan.
Pemodelan (Modelling) lanjutan...
Faktor penghambat yang perlu diperhatikan dalam membentuk
model sistem :
1. Asumsi – mengurangi dugaan-dugaan dari berbagai
kemungkinan untuk hal-hal yang belum diketahui.
2. Simplifikasi – agar tidak terjebak dalam menyusun model
yang terlalu kompleks.
3. Batasan – yang melingkupi sistem sehingga model menjadi
lebih terfokus dan tidak melebar kepada hal-hal yang tidak
diperlukan.
4. Hambatan – untuk menentukan sumberdaya dan dukungan
dalam mewujudkan sistem yang sebenarnya.
5. Pilihan – menentukan arsitektur yang akan digunakan seperti
data, fungsi maupun teknologi.
Desain Software
Aktivitas desain sofware adalah dengan menyusun bentuk
representasi dari software yang akan digunakan, baik desain
arsitektural maupun desain detail.
Biasanya dalam melakukan pemodelan menggunakan
flowchart atau UML.
Konsep dasar dalam desain software adalah
1. Abstraksi
2. Coupling
3. Cohesion
4. Dekomposisi dan modularisasi
5. Encapsulation
6. Pemisahan antarmuka dan implementasi
Desain Software (lanjutan)
Langkah-langkah dan standar agar desain dapat dilakukan
dengan baik :
1. Benar-benar memahami jangka pendek maupun panjang
dari proyek.
2. Tinjau desain dari berbagai sudut pandang.
3. Berhati-hatilah dengan jalan pintas.
4. Pastikan desain bersih dan sederhana.
Unified Modelling Language (UML)
UML
adalah bahasa
spesifikasi
standar
untuk
mendokumentasikan, menspesifikasikan dan membangun
sistem software.
UML adalah hasil pengembangan dari bahasa pemodelan
berbasis objek.
Unified Modelling Language (UML) lanj...
Ada sembilan diagram dalam UML
1.
2.
3.
4.
5.
6.
7.
8.
9.
Diagram use case.
Diagram class.
Diagram sequences.
Diagram state chart.
Diagram aktivitas.
Diagram objek.
Diagram kolaborasi.
Diagram komponen.
Diagram Deployment.
Unified Modelling Language (UML) lanj...
Ada jenis benda dalam UML
Class
Interface
Collaboration
Actor.
Use Case
Activity Class.
Component.
Node.
Interaction.
State machine.
Packages.
Note.
Unified Modelling Language (UML) lanj...
Jenis relasi dalam UML
Depedency
Association
Generalization
Realitation
Desain antarmuka pengguna
Antarmuka adalah bagian dari produk software, tetapi di
mata pengguna, antarmuka adalah produk software itu
sendiri.
Yang diharapkan pengguna adalah antarmuka yang efisien
untuk menyelesaikan pekerjaannya saat menggunakan
software tersebut.
Desain antarmuka pengguna Lanjutan...
Keuntungan menerapkan desain antarmuka
Menghasilkan software yang lebih baik.
Meningkatkan kepuasan klien.
Lebih fleksibel dalam memberikan respon terhadap umpan
balik klien.
Mempersingkat waktu siklus pengembangan software.
Konsisten.
Tentukan standar tampilan antarmuka.
Ikuti standar industri.
Berikan penjelasan aturan pemakaiannya.
Desain antarmuka pengguna Lanjutan...
Dukungan baik pengguna awam maupun mahir.
Tampilan objek.
Navigasi yang mudah.
Tentukan warna, kontras dan jenis huruf.
Perataan tampilan.
Tampilan hurf dan angka.
Efisien.
Tips.
Bantuan.
Desain database
Suatu sistem informasi bisnis pasti memerlukan database
untuk menampung data yang dimasukkan oleh pengguna,
kemudian mengolahnya dan memberikan informasi dalam
bentuk laporan, grafik, analisa dsb.
Selain untuk mengelola data, database yang digunakan juga
harus memperhatikan kemampuan untuk melakukan
koneksi, backup dan restore serta keamanan yang baik.
Desain database adalah proses untuk menghasilkan model
data dari database.
Desain database Lanjutan...
Desain database baik akan :
1. Membagi informasi menjadi tabel-tabel yang berdasarkan
subyk untuk mengurangi redudansi data.
2. Memiliki kemampuan untuk melakukan pemrosesan data
dan keperluan laporan.
Desain database Lanjutan...
RDBMS
adalah suatu pemodelan database dengan
menggunakan prinsip relasi antara satu informasi dengan
informasi lainnya.
Proses desain dengan RDBMS :
Tentukan tujuan penggunaan database
Temukan dan atur informasi yang diperlukan
Bagikan informasi dalam bentuk tabel-tabel
Ubah satuan informasi dalam bentuk kolom-kolom
Tentukan kolom kunci utama
Aplikasikan aturan normalisasi
Pengaturan relasi antar tabel-tabel
3. Pembangunan Software
Setelah
seluruh desain selesai dilakukan, langkah
selanjutnya yang merupakan langkah paling penting
mewujudkan produk yang berhubungan langsung dengan
klien yaitu membangun software.
Pemrograman
Aktivitas
pemrograman
utamanya
melibatkan
programmer yang menerima deliverables dari proses
desain untuk diwujudkan dalam bentuk software.
Aktivitas pembangunan proyek sistem informasi :
1. Pemrograman
2. Integrasi sistem
1. Pemrograman
a. Paradigma Pemrograman
b. Kolaborasi
c. Penyimpanan dan dokumentasi
a. Paradigma Pemrograman
Pada era 80-an sistem operasi masih berbasis teks, maka
pemrograman juga menggunakan alat bantu dan
memeberikan hasil yang berbasis teks.
Kemudian sistem operasi berbasis grafik, maka alat bantu
dan teknik pemrograman mengalami perkembangan yang
signifikan.
Structured Programming
Prosedur yang banyak digunakan dari era 80-an adalah
pemrograman terstruktur yaitu teknik pemrograman
secara terstruktur dan top down tau bersusun secara
hirarkis dari atas ke bawah, seperti terlihat dalam
flowchart .
Pemrograman terstruktur biasanya menerapkan 3 bentuk
logika :
1. Sekuens
2. Seleksi
3. Iterasi
Procedural Programming
Untuk mengatasi skala pengembangan software yang
semakin
besar
maka
pemrograman
terstruktur
manggunakan teknik yang membagi-bagikan suatu
program
dalam
prosedur-prosedur
yang
disebut
pemrograman procedural.
Event driven Programming
Dalam
pemrograman event-driven, alur program
ditentukan oleh event atau suatu peristiwayang terjadi
karena adanya interaksi baik dari pengguna maupun
program lain.
Object Oriented Programming
Dalam pemrograman berorientasi objek, fitur-fitur yang
digunakan adalah :
Data abstraction
Encapsulation
Messaging
Modularity
Polymorphism
Inheritance
Object Oriented Programming Lanjutan...
Perbedaan Pemrograman prosedural dan berorientasi
objek :
Prosedural
Berorientasi objek
Prosedur
Method
Modul
Objek
Pemanggilan Prosedur
Message
Variabel
Atribut
Extreme Programming
Extreme Programming adalah suatu metodologi yang
bertujuan untuk meningkatkan kualitas software dan
kemampuan untuk merespon perubahan-perubahan pada
requirements.
b. Kolaborasi
Jika proyek yang dibangun adalah sistem manufaktur dan
bukan hanya software produksi saja, atau membangun
sistem ERP bukan hanya sistem penjualan saja, maka
memerlukan satu tim programmer yang harus saling
berbagi pekerjaan.
c. Penyimpanan dan dokumentasi
Tujuannya agar :
Setiap
perkembangan
dan
perubahan
dapat
terdokumentasi dengan baik
Manajer proyek dapat memantau perkembangan dalam
pembangunan software dan melakukan tindakan yang
diperlukan jika terjadi penyimpangan baik dalam jadwal
maupun memenuhi requirements.
Pengamanan source code agar tidak disalah gunakan oleh
pihak-pihak yang tidak berkepentingan.
2. Integrasi Sistem
Sebagai manajer proyek harus memastikan bahwa integrasi
sistem sudah terbentuk sehingga semua requirements
dalam desain telah diimplementasikan dengan lengkap.
Integrasi sistem juga berarti bahwa modul utama dari
software dapat memanggil modul-modul lainnya dalam
sistem secara transparan serta setiap modul mengakses
database yang sama atau setidaknya saling berelasi sebagai
sistem.
Debugging
Bug adalah kesalahan dalam program baik yang secara
logika maupun teknis.
Beberapa hal yang bisa menyebabkan kesalahan teknis :
a. Programer menggunakan command yang salah atau
tidak sesuai dengan konteksnya.
b. Programer menggunakan command yang sudah tidak
didukung oleh versi bahasa program yang digunakannya.
c. Programer menggunakan tipe data yang tidak sesuai
sehingga data yang diproses menjadi tidak valid.
Programmer
Programmer harus mampu menerjemahkan requirements
yang telah dituangkan dalam desain menjadi kode-kode
program yang jika dikompilasi akan menjadi software yang
merupakan inti dari sistem informasi, di mana software
tersebut harus dapat digunakan secara efisien dengan fitur
yang sesuai dengan fungsi yang diharapkan, tidak lebih dan
tidak kurang.
4. Quality Assurance (QA)
Dalam QA akan dilakukan pengujian sebelum masuk dalam
fase delivery di mana software sudah diyakini sudah
memenuhi user requirements.
Kualitas yang harus menjadi perhatian :
1. Kualitas deliverables yaitu kualitas dari sistem informasi
yang dihasilkan oleh pelaksanaan proyek.
2. Kualitas proyek yaitu kualitas yang berhubungan dengan
pelaksanaan pekerjaan dalam proyek.
Quality Assurance (QA) Lanjutan...
Rencana Kualitas
Testing
Metodologi Testing
Strategi Testing
Rencana Test
Rencana Kualitas
Langkah-langkah untuk menyusun rencana kualitas :
1.
2.
3.
Menentukan sasaran.
Menentukan ukuran dari apa yang dibangun.
Pelaksanaan aktivitas untuk mengurangi kesalahan dalam
software.
Rencana kualitas harus meliputi elemen-elemen berikut ini :
hal-hal apa saja yang harus melalui pemeriksaan kualitas.
Cara apa yang terbaik untuk melakukan pemeriksaan kualitas.
Kapan waktu untuk melaksanakan pemeriksaan kualitas.
Siapa saja yang terlibat.
Material apa saja yang akan digunakan.
Testing
Hasil yang diharapkan adalah software bugs yang sudah
diminimalisir dan memenuhi semua kriteria dalam
requirements.
Untuk melakukan testing, organisasi proyek harus memiliki
tim yang melakukan tugas ini dan bekerja secara
independen, sehingga hasil testing tidak akan dipengaruhi
oleh pihak manapun.
Metodologi Testing
Buat strategi testing.
Buat rencana atau strategi testing.
Lakukan testing.
Strategi Testing
Strategi testing dibuat untuk semua tingkatan test.
Tim testing akan melakukan analisa requirements,
menyusun strategi testing dan membahas rencana dengan
tim proyek.
Untuk menyusun strategi testing dibutuhkan deskripsi
hardware dan software termasuk juga alat bantu test,
penjelasan tentang peran dan tanggung jawab dari semua
yang terlibat dalam melakukan testing.
Rencana Test
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Testing Unit
Testing integrasi sistem
Testing Fungsional
Testing kasus
Testing Pararel/audit
Testing usability.
Testing end-to-end
Testing regresi
Testing Kinerja
Testing beban
Rencana Test Lanjutan...
11. Testing instalasi
12. Testing keamanan
13. Testing recovery/error
14. Testing Kompatibilitas
15. Testing perbandingan
16. Testing Penerimaan
17. Testing Alpha
18. Testing Beta
Dokumentasi
Dokumentasi memiliki arti penting untuk fungsi-fungsi
berikut :
Media komunikasi antara anggota tim proyek maupun
dengan stakeholder lainnya.
Tempat penyimpanan informasi yang diperlukan oleh tim
yang akan melakukan pemeliharaan sistem.
Memberikan informasi penggunaan dan administrasi
sistem.
Dokumentasi Lanjutan...
Dokumentasi Proses
Dokumentasi Produk
Kualitas Dokumen
Standar Operating Procedure
Disaster Recovery Plan
TERIMA KASIH
PROSES PELAKSANAAN /
EXECUTING PROJECT
OLEH :
W ED A A D I S T I A N A Y A D E W A , S . K O M . , M M S I
Referensi
“MANAJEMEN
PROYEK SISTEM INFORMASI”
OLEH RUDY TANTRA, PENERBIT ANDI
YOGYAKARTA
“MANAJEMEN PROYEK BERBASIS TI” OLEH
IMAM HERIANTO DAN TOTOK TRIWIBOWA,
PENERBIT INFORMATIKA BANDUNG
Pendahuluan
Merupakan tindak lanjut dari apa yang telah dituangkan
dalam perencanaan manajemen proyek.
Pelaksanaan pekerjaan pengembangan ini pada dasarnya
adalah membangun sistem informasi dengan deliverables
berupa software dan bagian-bagian pendukungnya seperti
dokumentasi sistem, dokumentasi pengembangan sampai
kepada dokumen penuntun pengguna.
Diperlukan prosedur kerja yang terorganisir dengan baik,
yaitu WBS yang telah disusun pada fase perencanaan.
Karena yang dibangun adalah sistem informasi, biasanya
mengikuti sebuah metode.
4 Dimensi proyek
People
Product
Process
technology
Tujuan Project Execution
Merealisasikan perencanaan proyek yang tertuang
dalam perencanaan manajemen proyek.
Mengkoordinasikan kinerja tim proyek dan juga
mengoptimalkannya serta pemanfaatan sumberdaya
non personil.
Merealisasikan perubahan perencanaan proyek yang
telah disetujui.
Mekanisme Project Execution
Manajer proyek dan tim proyek membentuk kerja
sama tim selama proyek berlangsung
Manajer proyek dan tim proyek melaksanakan
semua tugas yang sudah tertuang di dalam
perencanaan manajemen proyek.
Membuat laporan pelaksanaan proyek.
Mendapatkan persetujuan untuk setiap fase
pekerjaan
Requirement
Desain sistem dan Software
Pembangunan Software
Quality Assurance (QA)
Dokumentasi
1. Requirements
Setelah
memiliki dokumen System Requirements
Specification (SRS) dan Project Scope document (PSD)
sebagai penunjang langkah berikutnya yaitu desain sistem
dan software.
2. Desain Sistem dan Software
1.
2.
3.
4.
5.
6.
7.
8.
Spesifikasi fungsional dan teknis.
Risiko dan Mitigasi.
Desain Sistem.
Pemodelan (Modelling).
Desain Software.
Unified Modelling Language (UML).
Desain antarmuka pengguna.
Desain Database.
Spesifikasi Fungsional dan Teknis
Spesifikasi
teknis
dideskripsikan
melalui
Funcional
Spesification Document (FSD).
Dokumen ini menggambarkan bagaimana nantinya software
akan berfungsi dan fungsi-fungsi apa yang harus dimilikinya
agar dapat memenuhi requirements.
Selain fungsional juga terdapat spesifikasi teknis yang
dituangkan dalam dokumen software technical spesification
(STS).
STS mendeskripsikan tentang aspek teknis dari software yang
hendak didesain seperti bahasa pemrogragaman, platform
yang dipakai, database dan struktur data, koneksi software
database, arsitektur software, topologi jaringan dan
sebagainya.
Risiko dan Mitigasi
Risiko kegagalan proyek akan semakin tinggi jika proses
desain ini tidak dilakukan dengan tepat.
Desain yang tidak dilakukan dengan baik akan berpotensi
terhadap kegagalan deliverables yang merupakan hasil akhir
dari proyek itu sendiri.
Hambatan untuk mewujudkan desain menjadi sebuah
software :
1. Terlalu kompleks.
2. Fungsi yang dibutuhkan tidak didukung oleh bahasa
pemrograman yang digunakan.
3. Menyulitkan pengguna akhir karena tampilan yang terlalu
banyak.
Desain Sistem
Dalam konteks manajemen proyek, desain sistem adalah
bagian dari fase pengembangan yang menjadi dasar bagi
kontruksi sistem yang akan dibangn.
Desain sistem adalah proses untuk mendefinisikan
arsitektur, komponen, modul, antarmuka dan data untuk
memenuhi requirements.
Desain Sistem (Lanjutan)
Ada beberapa metode untuk melakukan desain sistem, sistem
terstruktur yaitu Yourdon System method (YSM).
Metode
ini menggunakan
context diagram
yang
menggambarkan hasil analisis dalam bentuk sumber data,
aliran dan batasan-batasan sistem.
Kemudian desain sistem lebih diperinci dengan teknik-teknik
tradisional seperti entity relationship diagram (ERD), data
flow diagram (DFD), normalisasi, state transition diagram
(STD) dsb.
Metode analisis dan desain sistem yang berorientasi obyek
(object oriented system and analysis and design method),
alat bantu yang digunakan adalah unified modelling language
(UML)
Desain Sistem (Lanjutan)
Ada dua jenis desain yaitu logikal dan fisikal.
Desain logikal adalah melakukan representasi abstrak
sistem dengan diagram, gambar bagan sehingga bagaimana
aliran data, input, output dari sistem dapat dipahami oleh
developer.
Desain fisikal adalah desain yang berkaitan dengan
bagaimana proses input dan outpit sebenarnya dalam
sistem.
Misalnya bagaimana data di input dalam sistem,
bagaimana melakukan verifikasi, bagaimana data diproses
dan seperti apa penyajian output yang dihasilkannya.
Pemodelan (Modelling)
Model adalah representasi abstrak dari sistem yang akan
dibangun.
Tujuan melakukan pemodelan bagi developer :
1. Memahami bagaimana suatu proses bekerja dan asumsiasumsi yang menjadi dasar bagaimana proses kerja
tersebut.
2. Menelusuri desain kembali sampai kepada requirements
untuk memastikan bahwa mereka membangun sistem
yang sesuai.
3. Menentukan representasi dari keterhubungan antara
komponen-komponen sistem sehingga lebih memudahkan
dalam memahami sistem secara keseluruhan.
Pemodelan (Modelling) lanjutan...
Faktor penghambat yang perlu diperhatikan dalam membentuk
model sistem :
1. Asumsi – mengurangi dugaan-dugaan dari berbagai
kemungkinan untuk hal-hal yang belum diketahui.
2. Simplifikasi – agar tidak terjebak dalam menyusun model
yang terlalu kompleks.
3. Batasan – yang melingkupi sistem sehingga model menjadi
lebih terfokus dan tidak melebar kepada hal-hal yang tidak
diperlukan.
4. Hambatan – untuk menentukan sumberdaya dan dukungan
dalam mewujudkan sistem yang sebenarnya.
5. Pilihan – menentukan arsitektur yang akan digunakan seperti
data, fungsi maupun teknologi.
Desain Software
Aktivitas desain sofware adalah dengan menyusun bentuk
representasi dari software yang akan digunakan, baik desain
arsitektural maupun desain detail.
Biasanya dalam melakukan pemodelan menggunakan
flowchart atau UML.
Konsep dasar dalam desain software adalah
1. Abstraksi
2. Coupling
3. Cohesion
4. Dekomposisi dan modularisasi
5. Encapsulation
6. Pemisahan antarmuka dan implementasi
Desain Software (lanjutan)
Langkah-langkah dan standar agar desain dapat dilakukan
dengan baik :
1. Benar-benar memahami jangka pendek maupun panjang
dari proyek.
2. Tinjau desain dari berbagai sudut pandang.
3. Berhati-hatilah dengan jalan pintas.
4. Pastikan desain bersih dan sederhana.
Unified Modelling Language (UML)
UML
adalah bahasa
spesifikasi
standar
untuk
mendokumentasikan, menspesifikasikan dan membangun
sistem software.
UML adalah hasil pengembangan dari bahasa pemodelan
berbasis objek.
Unified Modelling Language (UML) lanj...
Ada sembilan diagram dalam UML
1.
2.
3.
4.
5.
6.
7.
8.
9.
Diagram use case.
Diagram class.
Diagram sequences.
Diagram state chart.
Diagram aktivitas.
Diagram objek.
Diagram kolaborasi.
Diagram komponen.
Diagram Deployment.
Unified Modelling Language (UML) lanj...
Ada jenis benda dalam UML
Class
Interface
Collaboration
Actor.
Use Case
Activity Class.
Component.
Node.
Interaction.
State machine.
Packages.
Note.
Unified Modelling Language (UML) lanj...
Jenis relasi dalam UML
Depedency
Association
Generalization
Realitation
Desain antarmuka pengguna
Antarmuka adalah bagian dari produk software, tetapi di
mata pengguna, antarmuka adalah produk software itu
sendiri.
Yang diharapkan pengguna adalah antarmuka yang efisien
untuk menyelesaikan pekerjaannya saat menggunakan
software tersebut.
Desain antarmuka pengguna Lanjutan...
Keuntungan menerapkan desain antarmuka
Menghasilkan software yang lebih baik.
Meningkatkan kepuasan klien.
Lebih fleksibel dalam memberikan respon terhadap umpan
balik klien.
Mempersingkat waktu siklus pengembangan software.
Konsisten.
Tentukan standar tampilan antarmuka.
Ikuti standar industri.
Berikan penjelasan aturan pemakaiannya.
Desain antarmuka pengguna Lanjutan...
Dukungan baik pengguna awam maupun mahir.
Tampilan objek.
Navigasi yang mudah.
Tentukan warna, kontras dan jenis huruf.
Perataan tampilan.
Tampilan hurf dan angka.
Efisien.
Tips.
Bantuan.
Desain database
Suatu sistem informasi bisnis pasti memerlukan database
untuk menampung data yang dimasukkan oleh pengguna,
kemudian mengolahnya dan memberikan informasi dalam
bentuk laporan, grafik, analisa dsb.
Selain untuk mengelola data, database yang digunakan juga
harus memperhatikan kemampuan untuk melakukan
koneksi, backup dan restore serta keamanan yang baik.
Desain database adalah proses untuk menghasilkan model
data dari database.
Desain database Lanjutan...
Desain database baik akan :
1. Membagi informasi menjadi tabel-tabel yang berdasarkan
subyk untuk mengurangi redudansi data.
2. Memiliki kemampuan untuk melakukan pemrosesan data
dan keperluan laporan.
Desain database Lanjutan...
RDBMS
adalah suatu pemodelan database dengan
menggunakan prinsip relasi antara satu informasi dengan
informasi lainnya.
Proses desain dengan RDBMS :
Tentukan tujuan penggunaan database
Temukan dan atur informasi yang diperlukan
Bagikan informasi dalam bentuk tabel-tabel
Ubah satuan informasi dalam bentuk kolom-kolom
Tentukan kolom kunci utama
Aplikasikan aturan normalisasi
Pengaturan relasi antar tabel-tabel
3. Pembangunan Software
Setelah
seluruh desain selesai dilakukan, langkah
selanjutnya yang merupakan langkah paling penting
mewujudkan produk yang berhubungan langsung dengan
klien yaitu membangun software.
Pemrograman
Aktivitas
pemrograman
utamanya
melibatkan
programmer yang menerima deliverables dari proses
desain untuk diwujudkan dalam bentuk software.
Aktivitas pembangunan proyek sistem informasi :
1. Pemrograman
2. Integrasi sistem
1. Pemrograman
a. Paradigma Pemrograman
b. Kolaborasi
c. Penyimpanan dan dokumentasi
a. Paradigma Pemrograman
Pada era 80-an sistem operasi masih berbasis teks, maka
pemrograman juga menggunakan alat bantu dan
memeberikan hasil yang berbasis teks.
Kemudian sistem operasi berbasis grafik, maka alat bantu
dan teknik pemrograman mengalami perkembangan yang
signifikan.
Structured Programming
Prosedur yang banyak digunakan dari era 80-an adalah
pemrograman terstruktur yaitu teknik pemrograman
secara terstruktur dan top down tau bersusun secara
hirarkis dari atas ke bawah, seperti terlihat dalam
flowchart .
Pemrograman terstruktur biasanya menerapkan 3 bentuk
logika :
1. Sekuens
2. Seleksi
3. Iterasi
Procedural Programming
Untuk mengatasi skala pengembangan software yang
semakin
besar
maka
pemrograman
terstruktur
manggunakan teknik yang membagi-bagikan suatu
program
dalam
prosedur-prosedur
yang
disebut
pemrograman procedural.
Event driven Programming
Dalam
pemrograman event-driven, alur program
ditentukan oleh event atau suatu peristiwayang terjadi
karena adanya interaksi baik dari pengguna maupun
program lain.
Object Oriented Programming
Dalam pemrograman berorientasi objek, fitur-fitur yang
digunakan adalah :
Data abstraction
Encapsulation
Messaging
Modularity
Polymorphism
Inheritance
Object Oriented Programming Lanjutan...
Perbedaan Pemrograman prosedural dan berorientasi
objek :
Prosedural
Berorientasi objek
Prosedur
Method
Modul
Objek
Pemanggilan Prosedur
Message
Variabel
Atribut
Extreme Programming
Extreme Programming adalah suatu metodologi yang
bertujuan untuk meningkatkan kualitas software dan
kemampuan untuk merespon perubahan-perubahan pada
requirements.
b. Kolaborasi
Jika proyek yang dibangun adalah sistem manufaktur dan
bukan hanya software produksi saja, atau membangun
sistem ERP bukan hanya sistem penjualan saja, maka
memerlukan satu tim programmer yang harus saling
berbagi pekerjaan.
c. Penyimpanan dan dokumentasi
Tujuannya agar :
Setiap
perkembangan
dan
perubahan
dapat
terdokumentasi dengan baik
Manajer proyek dapat memantau perkembangan dalam
pembangunan software dan melakukan tindakan yang
diperlukan jika terjadi penyimpangan baik dalam jadwal
maupun memenuhi requirements.
Pengamanan source code agar tidak disalah gunakan oleh
pihak-pihak yang tidak berkepentingan.
2. Integrasi Sistem
Sebagai manajer proyek harus memastikan bahwa integrasi
sistem sudah terbentuk sehingga semua requirements
dalam desain telah diimplementasikan dengan lengkap.
Integrasi sistem juga berarti bahwa modul utama dari
software dapat memanggil modul-modul lainnya dalam
sistem secara transparan serta setiap modul mengakses
database yang sama atau setidaknya saling berelasi sebagai
sistem.
Debugging
Bug adalah kesalahan dalam program baik yang secara
logika maupun teknis.
Beberapa hal yang bisa menyebabkan kesalahan teknis :
a. Programer menggunakan command yang salah atau
tidak sesuai dengan konteksnya.
b. Programer menggunakan command yang sudah tidak
didukung oleh versi bahasa program yang digunakannya.
c. Programer menggunakan tipe data yang tidak sesuai
sehingga data yang diproses menjadi tidak valid.
Programmer
Programmer harus mampu menerjemahkan requirements
yang telah dituangkan dalam desain menjadi kode-kode
program yang jika dikompilasi akan menjadi software yang
merupakan inti dari sistem informasi, di mana software
tersebut harus dapat digunakan secara efisien dengan fitur
yang sesuai dengan fungsi yang diharapkan, tidak lebih dan
tidak kurang.
4. Quality Assurance (QA)
Dalam QA akan dilakukan pengujian sebelum masuk dalam
fase delivery di mana software sudah diyakini sudah
memenuhi user requirements.
Kualitas yang harus menjadi perhatian :
1. Kualitas deliverables yaitu kualitas dari sistem informasi
yang dihasilkan oleh pelaksanaan proyek.
2. Kualitas proyek yaitu kualitas yang berhubungan dengan
pelaksanaan pekerjaan dalam proyek.
Quality Assurance (QA) Lanjutan...
Rencana Kualitas
Testing
Metodologi Testing
Strategi Testing
Rencana Test
Rencana Kualitas
Langkah-langkah untuk menyusun rencana kualitas :
1.
2.
3.
Menentukan sasaran.
Menentukan ukuran dari apa yang dibangun.
Pelaksanaan aktivitas untuk mengurangi kesalahan dalam
software.
Rencana kualitas harus meliputi elemen-elemen berikut ini :
hal-hal apa saja yang harus melalui pemeriksaan kualitas.
Cara apa yang terbaik untuk melakukan pemeriksaan kualitas.
Kapan waktu untuk melaksanakan pemeriksaan kualitas.
Siapa saja yang terlibat.
Material apa saja yang akan digunakan.
Testing
Hasil yang diharapkan adalah software bugs yang sudah
diminimalisir dan memenuhi semua kriteria dalam
requirements.
Untuk melakukan testing, organisasi proyek harus memiliki
tim yang melakukan tugas ini dan bekerja secara
independen, sehingga hasil testing tidak akan dipengaruhi
oleh pihak manapun.
Metodologi Testing
Buat strategi testing.
Buat rencana atau strategi testing.
Lakukan testing.
Strategi Testing
Strategi testing dibuat untuk semua tingkatan test.
Tim testing akan melakukan analisa requirements,
menyusun strategi testing dan membahas rencana dengan
tim proyek.
Untuk menyusun strategi testing dibutuhkan deskripsi
hardware dan software termasuk juga alat bantu test,
penjelasan tentang peran dan tanggung jawab dari semua
yang terlibat dalam melakukan testing.
Rencana Test
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Testing Unit
Testing integrasi sistem
Testing Fungsional
Testing kasus
Testing Pararel/audit
Testing usability.
Testing end-to-end
Testing regresi
Testing Kinerja
Testing beban
Rencana Test Lanjutan...
11. Testing instalasi
12. Testing keamanan
13. Testing recovery/error
14. Testing Kompatibilitas
15. Testing perbandingan
16. Testing Penerimaan
17. Testing Alpha
18. Testing Beta
Dokumentasi
Dokumentasi memiliki arti penting untuk fungsi-fungsi
berikut :
Media komunikasi antara anggota tim proyek maupun
dengan stakeholder lainnya.
Tempat penyimpanan informasi yang diperlukan oleh tim
yang akan melakukan pemeliharaan sistem.
Memberikan informasi penggunaan dan administrasi
sistem.
Dokumentasi Lanjutan...
Dokumentasi Proses
Dokumentasi Produk
Kualitas Dokumen
Standar Operating Procedure
Disaster Recovery Plan
TERIMA KASIH