Rekayasa Perangkat Lunak studi dengan pendekatan aplikasi yang bersifat sistematik, disipilin dengan
mendekati metode pengembangan, operasi, dan maintetenance dari perangkat lunak serta pendekatan
untuk
mendapatkan software yang bersifat ekonomis dan dapa t bekerja secara efisien pada real machines
i |S T M I K Royal
Kata Pengantar
Modul Rekayasa Perangkat Lunak
Dalam modul ini akan dibicarakan perlunya metodologi pengembangan perangkat lunak, modelmodel pengembangan perangkat lunak, prinsip dan pemodelan analisis perangkat lunak, konsep desain
perangkat lunak, desain struktur data, desain arsitektur, desain antarmuka, desain prosedur dan testing
perangkat lunak. Pengelolaan proyek pengembangan perangkat lunak akan dibicarakan secara singkat.
Setelah mempelajari modul ini mahasiswa akan mampu menganalisa sistem untuk menen tukan
kebutuhan perangkat lunak sistem, merancang perangkat lunak sistem dan mengimplementasikan
rancangan tersebut. Mahasiswa juga akan mempunyai pengetahuan yang diperlukan untuk mengelola
proyek pengembangan perangkat lunak sistem.
Materi Pengajaran :
Modul 01 : Pengantar Rekayasa Perangkat Lunak
Modul 02 : Model Dan Proses Perangkat Lunak
Modul 03 : Manajemen Proyek Perangkat Lunak
Modul 04 : Penjadwalan Proyek dan Tracking
Modul 05 : Jaminan Kualitas Perangkat Lunak
Modul 06 : Prinsip & Konsep Analisa Kebutuhan
Modul 07 : Pemodelan Analisa
Modul 08 : Konsep dan Prinsip Desain
Modul 09 : Software Architecture Design
Modul 10 : Metode Desain
Modul 11 : Interface Design
Modul 12 : Teknik Pengujian Software
Modul 13 : Lampiran soal latihan.
WASSALAM,
Zulfikar.S,kom
ii |S T M I K Royal
Daftar isi
Rekayasa Perangkat Lunak............................................................................................................................. i
Kata Pengantar.............................................................................................................................................. ii
Daftar isi ...................................................................................................................................................... iii
Modul-1 ........................................................................................................................................................ 1
Pengantar Rekayasa Perangkat Lunak ...................................................................................................... 1
Evolusi Perangkat Lunak ....................................................................................................................... 1
Karakteristik Perangkat Lunak .............................................................................................................. 1
Pengertian Rekayasa Perangkat Lunak ................................................................................................. 3
Objektif Dan Tujuan Utama Rekayasa Perangkat Lunak ....................................................................... 5
Modul-2 ........................................................................................................................................................ 6
Model Dan Proses Perangkat Lunak ......................................................................................................... 6
Model Proses Perangkat Lunak ................................................................................................................. 6
Model WaterFall ................................................................................................................................ 7
Model Prototyping ............................................................................................................................. 7
Model RAD ......................................................................................................................................... 8
Evolusi Model Proses Software ................................................................................................................. 8
Model Incremental ............................................................................................................................... 8
Model Spiral .......................................................................................................................................... 8
Model Komponen Rakitan .................................................................................................................... 9
Model Concurrent Develo pment ......................................................................................................... 9
Modul-3 ...................................................................................................................................................... 10
Manajemen Proyek Perangkat Lunak ..................................................................................................... 10
Management Spectrum ...................................................................................................................... 10
People (Manusia) .................................................................................................................................... 11
People Software Team .................................................................................................................... 11
People Coordination dan Communication Issues ........................................................................... 12
Problem Software Scope ..................................................................................................................... 13
Problem Decomposition ..................................................................................................................... 13
Process Decomposition ....................................................................................................................... 14
Modul-4 ...................................................................................................................................................... 14
iii |S T M I K Royal
vi |S T M I K Royal
Modul-1
Pengantar Rekayasa Perangkat Lunak
Evolusi Perangkat Lunak
Beberapa tahun lalu:
- Batch orientation
- Limited distribution
- Custom software
Era tahun ke -2:
- Multiuser
- Real-time
- Database
- Product software
Era tahun ke - 3:
- Distributed systems
- Embedded intelligence
- Low cost hardware
- Consumer impact
Era tahun ke - 4:
- Powerful desk-top systems
- Object-oriented technologies
- Expert systems
- Artificial neural networks
- Parallel computing
- Network computers
We already have a book thats full of standards and procedures for building software. Wont that
provide my people with everything they need to know?
My people do have state -of-the-art software development tools. After all, we but them the newest
computers.
If we get behind schedule, we can add more programmers and catch up.
Customers dari software mungkin berasal dari :
di luar perusahaan yang telah merequest software dibawah kontrak seseorang yang berasal dari dalam
(in house group) marketing atau sales group.
Customer Myths:
pernyataan umum adalah memulai dengan menulis program secukupnya kemudian kita dapat
memberikan penjelasan dengan detail
project requirement secara langsung berubah, tetapi perubahan dengan mudah dapat ditampung
karena software bersifat fleksibel
Pelaksana Software:
Planing group - System analysts, system architects
Development group - Software engineers
Verification group - Test engineers, quality assurance group
Support group - Customer supporters, technical supports
Marketing/sales - Marketing people and product sales
Practitioners Myths:
pertama kali kita menulis program dan kemudian mendapatkan pekerjaan, sehingga pekerjaan
kita selesai
sampai pada akhirnya program dapat di running, sampai benar- benar yakin bahwa program
tidak ada cara untuk meningkatkan quality
software dapat diserahkan apabila telah berhasil (telah sukses)
Major task dari pembuatan software adalah teknik penulisan program.
Schedule dan requirement merupakan hal yang penting ketika kita menulis program
3 |S T M I K Royal
Software methods:
Metode Software engineering menyediakan teknik how to untuk membangun software.
Metode --> meliputi bagaimana menyelesaikan task :
requirement analisis, design, coding, testing dan maintenance
Software process:
Proses Software engineering mendekatkan dengan :
teknologi bersama
memungkinkan secara rational dan pengenbangan secara bertahap dari software komputer
Proses Software engineering merupakan set framework dari area key process yang dibentuk dari
basis untuk :
project management, budget, dan schedule control
teknik metode aplikasi
kualitas produk control
Software tools:
Program menyediakan sistem otomatis atau semi otomatis untuk proses dan metode.
Program yang memberikan dukungan pada engineers untuk menyelesaikan
masing-masing task.
Pandangan Umum Rekayasa Perangkat Lunak
Engineering --> analysis, design, construction, verification, and management of technical (or social)
entities.
Tiga phase dalam production software
1. phase definition
2. phase development
3. phase maintenance
Phase definition : (dilakukan dalam tahap pendefinisian dan perencenaan dari software sistem)
Phase definition terfokus pada apa yang terjadi dalam software sistem.
informasi apa yang harus diproses pada sistem?
fungsi apa saja yang harus disediakan oleh sistem?
performance sistem dan kriteria yang diperlukan oleh sistem?
apa yang diperlukan pada sistem behavior?
dengan cara apa requirement akan direpresentasikan?
Tiga tugas utama pada phase definisi :
1. sistem atau informasi engineering
2. software project planning
3. requirement analisis
Phase Development : (terjadi selama proses pengembangan dari software sistem)
Phase development terfokus pada bagaimana.
bagaimana sistem menjadi terstruktur?
bagaimana data-data yang ada menjadi terstruktur?
bagaiman informasi dapat diproses?
bagaimana fungsi dapat diimplementasikan?
4 |S T M I K Royal
5 |S T M I K Royal
Modul-2
Model Dan Proses Perangkat Lunak
Proses Perangkat Lunak
Kerangka kerja proses common software :
Bisa digunakan untuk semua proyek software.
banyaknya kumpulan tugas, termasuk tugas, milestone, pengiriman dan SQO points.
Aktivitas Umbrella :
project tracking and control
technical reviews (formal or informal)
software quality assurance (SQA)
konfigurasi management
dokumentasi
Pengukuran
manajemen reuse dan resiko
6 |S T M I K Royal
Model WaterFall
The waterfall model - the linear sequential model , disebut juga classic life cycle
sistematika, pendekatan yang secara terurut untuk pembuatan software yang mulai dari level sistem
dan progres menuju analisa, design, coding, testing dan perawatan.
Model waterfall adalah yang paling lama dan banyak secara luas digunakan paradigma untuk rekayasa
software.
Keuntungan:sederhana,langkah-secara terurut,fokus,dan mudah diikuti.
Masalah Pada Model WaterFall :
Tidak flesible sebab proyek yang nyata jarang mengikuti aliran yang terurut untuk menyusun Model.
Sangat sulit untuk customer terhadap mengahadapi semua kebutuhan yang eksplisit.
Customer harus memiliki kesabaran untuk menunggu keabsahan produk software dalam fase
Yang terlambat.(sampai program dimplementasikan) Customer tercakup dalam awal proyek.
Pembuat sering ditunda secara tidak berhubungan diantara fase.
Model Prototyping
The waterfall model - the linear sequential model , disebut juga classic life cycle
step 1: Kebutuhan bersama
step 2: A design yang cepat -> folus pada fungsi yang nyata dan kebiasaan dari produk
step 3: konstruksi Prototype
step 4: evaluasi Customer dari prototype ulangi langkah 1.
Keuntungan:
Mudah dan cepat identifikasi kebutuhan customer
Customer mengecek protipe di awal tingkatan dan menyediakan input dan umpan baliknya.
Persetujuan yang baik dengan mengikuti kasus:
Customer tidak bisa menyediakn kebutuhan yang jelas.
Sangat rumit interaksi sistem dari pengguna
Menggunakan teknologi baru, hardware dan alg oritma
Membuat domain baru sistem aplikasi
Masalah:
Prototipe bisa melayani sebagai sistem pertama.Brooks merekomendasikan untuk membuangnya.
Developer biasa ikut membuat produk didasarkan pada prototipe.
Developer sering membuat perjanjian implement asi dalam memerintahkan untuk dapat prototipe
bekerja secara cepat.
Customer boleh terkejut bahwaa protipe adalah tidak sebuah produk, yang dibuat dengannya.
7 |S T M I K Royal
Model RAD
Rapid Application Development (RAD) adalah model proses pembuatan software yang teru rut secara
linear yang memberikan pembuatan daur hidup yang singkat.
Kecepatan tinggi adaptasi dari model terurut secara linear
Konstruksi component-based
Efektif ketika kebutuhan dimengerti secara baik dan lingkup proyek dibatasi.
Keuntungan:
Waktu pembuatan yang pendek
Pengurangan biaya supaya software digunakan kemabali dan konstruksi dasar komponen
Masalah:
Untuk yang besar, tetapi proyek yang berskala, RAD butuh sumber yang cukup.
RAD butuh developer dan pelanggan yang diijinkan untuk menyusun.
Pembuatan software adalah spesifik proyek, dan tidak boleh dimodulkan secara baik.
Kualitasnya tergantung pada kualitas dari komponen yang ada.
Proyek yang tidak akurat dengan resiko teknik yang tinggi dan teknologi baru.
Model Incremental
Incremental Model mengabungkan elemen dari model yang terurut secara linear dengan iterasi filosofi
dari prototipe. Peningkatan pertama adalah inti produk.
Proses incremental model:
Berulang secara alami, seperti prototipe
Fokus pada pengiriman dari operasional produk dengan setiap penambahan.
Kebiasaann penggunaan ketika staff tidak hadir untuk menyelesaikan implementasi oleh deadline
bisnis.
Model Spiral
spiral model (by Boehm[BOE88])
adalah sebuah evolusi model proses software
8 |S T M I K Royal
Level 1: Inisial - Proses Software --> ad hoc, dan biasa pada bagian yang sulit.
Level 2: Repeatable - Proses manajemen proyek dasar yang dibuat untuk menyiapkan biaya, jadwal
dan fungsional.
Level 3: Defined - Dalam proses software,kedua manajemen dan aktivitas rekayasa
didokumentasikan,standarisasi dan dimasukan kedalam sebuah proses software organisasi yang
luas.
Level 4: Managed - Penghitungan yang jelas dari proses software dan kualitas produk dikumpulkan.
Kedua proses dan produk software adalah jumlah yang dimengerti dan dikontrol mengunakan
penghitungan yang jelas.
Level 5: Optimizing - Pengembangan proses berlangsung ada oleh jumlah umpan balik dari proses
dan dari uji coba ide yang inovasi dan teknologi.
Modul-3
Manajemen Proyek Perangkat Lunak
Management Spectrum
Software project management yang efektif terfokus pada tiga P yaitu : (1) people, (2) problem, dan
(3) process People
Software engineering bekerja secara intensive Kemampuan management pada maturity model
(PM-CMM)
key practice areas for software people:
teknik praktis untuk software people : recruiting, selection, performance, m anagement,
training, compensation, career development, organization dan work design,dan
team/culture development
Kontributor yang paling penting agar software project berhasil memiliki orang yang pintar
dengan kemampuan yang baik
Organisasi dengan high levels maturity pada management people mengimplementasikan
effective software engineering Propblem/Masalah (berhubungan dengan project )
Sebelum memulai project, kita memerlukan untuk mengidentifikasi :
Objectives dan scope Alternative solutions
Technical dan management constraints
Faktor lain yang berhubungan:
delivery deadlines, budgetary restrictions, personnel availability
echnical interfaces, dan lainnya
Tanpa informasi ini , tidak mungkin untuk :
10 |S T M I K Royal
People (Manusia)
Pada software process, terdapat 5 tipe dari players:
Senior managers, yang mendefinisikan dari masalah bisnis (berpengaruh kuat terhadap project)
Practitioners, yang akan mengantar pada kemampuan teknik untuk engineering software
Project (technical) managers, s eseorang yang harus merencanakan, memotivasi, dan
mengorganisasikan
Customers, seseorang yang akan menspesifikasikan requirements dari software
End users, seseorang yang berinteraksi software yang akan direleased
Project management merupakan aktivitas dari orang-orang yang bersifat intensive
Bagaimana memilih team manager yang baik?
Model MOI yang disarankan oleh Jerry Weinberg [WEi86]:
Motivation kemampuan untuk mengumpulkan teknik dari perorangan
Organization kemampuan untuk menyediakan proses yang dianggap sebagai initial konsep yang
akan ditranslasikan menjadi final product
Ideas or innovation kemampuan untuk mengumpulkan kreatifitas perorangan
Software managers harus terkonsentrasi pada
pengertian masalah yang akan dipecahkan
pengaturan ide
membiarkan seseorang dalam team mengetahui jumlah kualitas
Empat kunci utama sebagai project management yang efektif
Problem solving
Managerial identity
Achievement
Influence dan team building
memiliki pemimpin -> koordinasi antara spesific task dan pemimpin kedua
pemimpin kedua harus memiliki tanggung jawab untuk masing- masing subtask
komunikasi horisontal terjadi diantara subgroups dan individual
komunikasi vertikal terjadi pada struktur kontrol
keputusan dibuat oleh pemimpin
a) Context:
Bagaimana software dibuat secara lengkap kedalam sistem yang luas, product atau bisnis?
Apa yang menjadi constraint dalam hasil konteks?
b) Information objectives:
Apakah customer sesuai dengan data objects yang dihasilkan sebagai output dari software?
Apakah data object dibutuhkan untuk input?
Problem Decomposition
Problem decomposition --> problem partitioning.
Problem decomposition --> dua area:
functionality dari delivery software system
process yang akan digunakan untuk mengantarkan system
Functional decomposition:
mengidentifikasi dan mendefinisikan cakupan fungsi dari sistem
mengaplikasikan metode dekomposisi pada masing-masing feature
Sebagai contoh pada function feature untuk word processing system :
spell checking
sentence grammar checking
reference checking untuk large documents
section dan chapter reference validation untuk large documents.
Melding Problem Dan Process
Masing-masing fungsi akan menjadi engneered dari team software melalui aktivitas framework :
13 |S T M I K Royal
Komunikasi customer tugas untuk membangun komunikasi yang efektif diantara customer
Planning tugas untuk mendefinisikan resource, timelines dsb
Analisis resiko tugas untuk menerima resiko teknik dan management
Engineering tugas untuk membangun sistem aplikasi
Construction dan release - installation, release control, dan customer support.
Customer evaluation tugas untuk mendapatkan feedback dari customer dan hasil evaluasi
Process Decomposition
Process decomposition:
Partition the software process based on the tasks and activities
memilih model software process untuk project
mendefinisikan preliminary project plan berdasarkan aktivitas proses framework.
common process framework (CPF)
Project yang kecil memerlukan beberapa tugas :
mendevelop list dari masalah yang telah diklarifikasi
bertemu dengan customer untuk mengklarifikasikan masalah
menggabungkan cakupan dari beberapa statement
mereview state dari scope
memodifikasikan cakupan statement yang diperlukan.
Project yang komplit memerlukan beberapa tugas :
Mereview permintaan customer
Merencanakan dan menjadwalkan secara formal, fasilitas pertemuan dengan customer
Mengharapkan penelitian untuk mendefinisikan solusi dan pendekatan yang ada
Menyiapkan dokumen pekerjaan dan agenda untuk pertemuan formal
Mengharapkan terjadinya pertemuan
Mengembangkan mini-spec untuk perbaikan, konsistensi, dan kelemahan pada ambiguitas
Memodifikasi cakupan dokumen yang diperlukan
Modul-4
14 |S T M I K Royal
Penjadwalan
Penjadwalan dari suatu software proyek tidak sangat berbeda dari penjadwalan tentang segala
multi tugas usaha rancang-bangun .
Metode penjadwalan dua proyek:
Evaluasi Program dan Tinjauan ulang Teknik
Analisa jalur kritis
Kedua metoda dikemudikan oleh informasi yang dikembangkan dalam kegiatan -kegiatan
perencanaan proyek lebih awal:
Perkiraan usaha
Suatu pembusukan fungsi produk
Pemilihan dari proses sesuai model
Pemilihan tugas dan jenis proyek yang ditetapkan
Kedua metoda mengijinkan suatu perencana untuk melakukan :
menentukan jalur kritis
penilaian waktu
mengkalkulasi batas untuk masing-masing tugas
Batas waktu:
waktu yang paling awal dan waktu terakhir untuk mulai suatu tugas
waktu yang paling awal dan waktu terakhir untuk melengkapi suatu tugas
waktu molor
Timeline Charts (Gantt charts)
16 |S T M I K Royal
Penjadwalan Tracking
Jadwal proyek menyediakan suatu peta jalan untuk suatu software manager proyek.
Itu menggambarkan tonggak mil dan tugas.
Beberapa jalan untuk menjejaki suatu jadwal proyek:
pelaksanaan status proyek berkala [yang] bertemu
mengevaluasi tinjauan ulang akibat proses software
menentukan jika tonggak mil proyek formal telah terpenuhi(Gambar 7.4)
bandingkan tanggal start nyata untuk merencanakan tanggal start untuk masing-masing tugas
pertemuan informal dengan praktisi
Manager proyek mengambil kendali dari jadwal di dalam aspek:
proyek susunan kepegawaian
merancang permasalahan
merancang sumber daya
tinjauan ulang
merancang anggaran
Rencana Proyek
Rencana Proyek adalah suatu dokumen yang ringkas yang menunjukkan suatu pendengar berbeda.
Itu harus berisi berikut:
lingkup komunikasi, sumber daya, susunan kepegawaian, dan pelanggan
menggambarkan manajemen resiko teknik dan resiko
menggambarkan harga dan membuat jadwal tinjauan ulang manajemen
menyediakan suatu keseluruhan pendekatan ke pengembangan software
menguraikan secara singkat bagaimana mutu akan dipastikan dan perubahan akan diatur.
Rencana berkonsentrasi pada suatu laporan umum dari apa dan sebuah statemen yang spesifik
seberapa banyak dan seberapa lama.
Tujuan suatu rencana proyek adalah:
membantu menetapkan kelangsungan hidup dari pengembangan software usaha.
Rencana proyek tidak perlu berupa suatu dokumen kompleks dan panjang.
Modul-5
Jaminan Kualitas Perangkat Lunak
Konsep Kualitas
Jaminan Kualitas Software menjadi pelindung aktivitas yang diaplikasikan melalui software process.
17 |S T M I K Royal
Kualitas kontrol
Apa yang dimaksud kualitas kontrol rangkaian dari in spections, review dan test yang digunakan
melalui phase development pada software product.
Kualitas kontrol termasuk dari feedback loop untuk proses.
Objective meminimalkan biaya produk, menambah kualitas produk
Pendekatan implementasi :
Fully automated
Entirely manual
kombinasi dari tools yang terotomatisasi dengan interaksi manusia.
Kunci utama konsep dari kualitas kontrol :
membandingkan spesifikasi produk dengan measurable standards
Jaminan Kualitas terdiri dari :
fungsi manajemen auditing dan reporting
Tujuannya --> menyediakan manajemen dengan data yang penting mengenai kualitas produk.
mendapatkan pengetahuan dan kenyamanan dari kualitas produk
2. appraisal cost:
in-process dan inter-process
equipment calibration dan maintenance
testing
3. failure cost:
internal failure cost:
rework, repair, dan failure mode analysis
4. external failure cost:
complaint resolution
product return dan replacement
help line support
warranty work
Mengembangkan preparation (tidak lebih dari 2 jam untuk masing -masing orang)
Selang waktu dari review meeting harus kurang dari 2 jam
Terfokus pada bagian yang lebih spesifik dari software produk
Orang-orang yang termasuk pada review meeting :
producer, review leader, 2 atau 3 reviewers (one of them is recorder)
Formal Technical Review Meeting
Preparation dari review meeting
meeting agenda dan schedule (oleh review leader)
review material dan distribution (oleh the producer)
review in advance (oleh reviewers)
Review meeting menghasilkan:
list review issues
report yang terdapat review yang simple
keputusan meeting :
menerima work product w/o further modification
menolak work produk bersamaan dengan error
menerima work berdasarkan kondisi (seperti perubahan dan review)
sign-off sheet
Review summary report (project historical record) menjawab pertanyaan-pertanyaan berikut :
apa saja yang telah direview?
siapa yang telah mereview?
apa saja yang telah ditemukan dan konklusinya?
List review issue memiliki dua tujuan :
untuk mengidentifikasi area masalah pada project
untuk memberikan pelayanan pada aksi-aksi item checklist
Review Guidelines (for FTR)
minimum set dari guidelines untuk FTR:
Review product, tidak pada producer
Set agenda dan maintain
Limit debate dan rebuttal
Enunciate problem areas, tetapi tidak untuk mencegah pencegahan setiap masalah yang telah
tercatat.
memberikan catatan yang telah tertulis
jumlah dari participant dan preparation yang telah diukembangkan
mengembangkan checklist untuk masing- masing produk yang telah direview
mengalokasikan resource dan waktu schedule untuk FTR
menginginkan training agi semua reviewer
- mereview kembali apa yang telah direview
21 |S T M I K Royal
Dasar items
tujuan dari perencanaan dan scope
management
struktur organisasi, tugas SQA, lokasi pada proses
aturan dan responsibilities yang berhubungan dengan kualitas prod uk.
dokumentasi
project documents, models, technical documents, user documents
standards, practices, dan conventions
reviews dan audits
test
test plan dan procedure
problem reporting, dan correction actions
tools
code control
media control
supplier control
records collection, maintenance, dan retention
training
risk managements.
Modul-6
Prinsip & Konsep Analisa Kebutuhan
Analisa Kebutuhan
Analisa kebutuhan Adalah Suatu proses penemuan, perbaikan, modeling, dan spesifikasi.
Sepanjang proses, kedua-duanya pelanggan dan pengembang mengambil suatu peran aktif.
23 |S T M I K Royal
24 |S T M I K Royal
Prinsip Analisa
Masing-masing metoda analisa mempunyai suatu segi pandangan unik.
Semua metoda analisa terkait oleh satu set prinsip operasional:
menghadirkan dan memahami daerah informasi- menggambarkan fungsi software
menghadirkan perilaku dari software menggunakan model untuk melukiskan informasi,
fungsi, dan perilaku--> membongkar detil di dalam suatu lapisan pertunjukan.
bergerak dari informasi penting ke arah yang lebih detil.
Satu set petunjuk untuk rancang-bangun kebutuhan:
memahami masalah sebelum permulaan untuk menciptakan model analisa
mengembangkan prototipe untuk membantu pemakai untuk memahami bagaimana interaksi
manusia dan mesin
merekam asal dan pertimbangan untuk tiap -tiap kebutuhan
menggunakan berbagai pandangan kebutuhan
memprioritaskan kebutuhan
bekerja untuk menghapuskan kerancuan
Daerah Informasi Software
Software dibangun untuk memproses data, untuk mengubah bentuk data dari yang satu dengan
yang lain.
Software juga memproses peristiwa.
Prinsip analisis operasi yang pertama perlu untuk menguji daerah informasi.
Daerah informasi berisi tiga pandangan yang berbeda menyangkut data dan kendali:
hubungan dan isi informasi:
26 |S T M I K Royal
isi informasi--> menghadirkan data individu dan object kendali ada hubungan berbeda antara
object dan data
- arus informasi:
menghadirkan cara di mana data dan kontrol berubah dari masing -masing gerak melalui suatu
sistem. Data dan control bergerak antara dua perubahan bentuk ( fungsi).
- struktur informasi:
menghadirkan organisasi yang internal dari berbagai data dan materi kendali- struktur pohon
data - data tebel ( n-dimensi)
Pemodelan
Selama modeling software kebutuhan analisa, kita menciptakan model menyangkut sistem untuk
dibangun.
Model terpusat pada :- apa yang sistem harus lakukan, bukan bagaimana sistem
mengerjakan itu.
Model pada umumnya mempunyai suatu notasi grafis untuk dihadirkan:
informasi, pengolahan, perilaku sistem, dan corak lain
Yang kedua dan ketiga analisis operasi prinsip memerlukan:
membangun model perilaku dan fungsi
Model Fungsional
Software Model fungsional mengubah bentuk informasi. Tiga fungsi umum: - masukan,
memproses, keluaran
Model Perilaku
Kebanyakan perilaku model software bereaksi terhadap peristiwa dari dunia luar. Suatu model
perilaku menciptakan suatu penyajian menyangkut status software dan peristiwa yang
menyebabkan perangkat lunak untuk berubah status
Peran penting model:
Model menopang analis di dalam pemahaman informasi, fungsi, dan perilaku dari suatu sistem.
Model menjadi titik -api untuk tinjauan ulang di dalam aspek kelengkapan, konsistensi, dan
ketelitian dari spesifikasi itu.
Model menjadi pondasi untuk disain, menyediakan perancang dengan suatu penyajian penting
dari software.
Penyekatan
Penyekatan menguraikan suatu masalah ke dalam bagian utamanya.
Menetapkan suatu penyajian informasi hirarkis ( atau fungsi):
pembongkaran terus meningkat detil dengan bergerak secara vertical di dalam hirarki
menguraikan masalah bergerak secara horisontal di dalam hirarki
Prototipe Software
Dalam beberapa hal adalah mungkin untuk menerapkan analisis operasi prinsip dan memperoleh
suatu model software dari suatu disain yang dapat dikembangkan.
Memilih pendekatan prototipe:
27 |S T M I K Royal
Spesifikasi Software
Prinsip Spesifikasi
Memisahkan kemampuan dari implementasi
Mengembangkan suatu model menyangkut perilaku yang diinginkan dari suatu system
Menetapkan konteks di mana software beroperasi
Menggambarkan lingkungan di mana sistem beroperasi
Menciptakan suatu model teori dibanding suatu implementasi atau disain model
Spesifikasi adalah suatu model abstrak dari suatu sistem riil
Menetapkan struktur dan isi dari suatu spesifikasi ( mudah untuk diubah)
Petunjuk untuk penyajian:
Isi dan Format penyajian harus relevan kepada masalah
Informasi yang dimasukkan di dalam spesifikasi harus sekumpulan
Diagram dan notasil format lain harus terbatas dalam jumlah dan digunakan secara konsisten.
Penyajian harus bisa berhadap-hadapan kembali
Standar spesifikasi kebuthan software:
IEEE ( standard No. 830-1984) dan U.S. Departemen Pertahanan
Dalam banyak kesempatan, suatu persiapan penggunaan manual harus disajikan untuk
menghadiahi perangkat lunak sebagai black-box.
Modul-7
Pemodelan Analisa
Analisa model (sekumpulan model) adalah langkah pertama memberikan gambaran teknis.
Dua tipe analisa model: analisa struktur, analisa berorientasi object.
Analisa struktur adalah metode pemodelan klasik.
28 |S T M I K Royal
Pemodelan Data
Pemodelan Data menjawab sekumpulan pertanyaan spesifik:
Apa obyek data utama yang akan diproses pada sistem?
Apa komposisi tiap obyek data?
Apa atribut yang menggambarkan obyek?
Relasi apa antara tiap obyek dan obyek lainnya?
29 |S T M I K Royal
DFD Level 0
suatu sistem pokok model (suatu konteks model)
merepresentasikan keseluruhan software sebagai satu proses dan input dan output -nya.
DFD Level 1
merepresentasikan aliran data dalam kaitan dengan partisi proses ..
Menggunakan CFD untuk menetapkan model con trol flow sistem.
Menggunakan CSPEC (seperti STD) untuk menetapkan perilaku state sistem.
Spesifikasi Control Flow
Spesifikasi control flow menggunkan sebuah control flow diagram (CFD) untuk menetapkan control
flow pada sistem.
sebuah state-transition diagram (STD) - suatu spesifikasi urutan perilaku.
Model Perilaku
Spesifikasi control (CSPEC) merepresentasikan perilaku sistem.
sebuah state-transition diagram (STD) suatu urutan spesifikasi perilaku.
Spesifikasi Proses
Spesifikasion proses (SPECS) digunakan untuk menggambarkan semua proses model aliran yang
muncul pada level akhir perbaikan.
Dua metode representasi:
teks narasi
sebuah bahasa desain pemrograman/program design language(PDL)
Kamus Data
Mengapa Kamus Data:
Untuk menyediakan deskribsi terorganisir untuk menggambarkan karakteristik tiap data obyek
dan item yang dikontrol.
Apa itu Kamus Data?
Kamus data adalah suatu daftar terorganisir dari semua elemen -elemen data yang berkait dengan
sistem, dengan definisi tepat, kaku sehingga analis sistem dan user akan mempunyai suatu
pemahaman umum input, output, dan komponen -komponen penyimpanan, dan bahan kalkulasi.
Format kamus data:
nama
alias
dimana-digunakan/bagaimana-menggunakan
deskripsi isi
informasi tambahan (tipe, batasan)
Data gabungan:
sebagai sebuah urutan item data
sebagai sebuah seleksi dari sekumpulan item data
sebagai sebuah pengulangan grup item data
31 |S T M I K Royal
Modul-8
Konsep dan Prinsip Desain
Desain Software dan Software Engineering
Desain -> Langkah pertama dalam fase pengembangan untuk prodengineer manapun.
Bertindak sebagai pondasi untuk semua software engineering dan pemeliharaan software dengan
langkah -langkah yang mengikutinya.
Tujuan seorang perancang adalah menghasilkan suatu model(atau penyajian) dari sebuah entitas
yang akan dibangun
- Input desain software : Model analisa kebutuhan dan dokumentasi spesifikasi
- Output desain software : Model desain dan dokumentasi spesifikasi desain
Desain - menerjemahkan kebutuhan ke model desain lengkap untuk sebuah produk software.
menyediakan representasi software yang dapat diduga untuk kualitas.
Desain Software
Sejumlah metode desain dapat digunakan untuk menghasilkan desain software:
Desain data: mentransformasi model domain informasi ke struktur data
Desain arsitektur: menggambarkan relasi antar elemen struktural utama program
Desain interface : mendeskripsikan bagaimana software berkomunikasi with user
Desain prosedur: mentransformasikan elemen structural arsitektur program ke sebuah
deskripsi prosedur dari komponen software.
Evolusi desain software:
Konstruksi program modular[DEN73] dan metode perbai kan top-down[WIR71].
Pemrograman terstruktur [DAH71, MIL72].
Perpindahan data flow/data structure ke sebuah defenisi desain[JAC75][WAR74].
Pendekatan berorientasi object[JAC92][GAM95].
Fitur umum metode desain software:
Sebuah mekanisme untuk perpindahan sebuah model analisa ke representasi desain
Sebuah notasi untuk merepresentasi komponen fungsional dan interface -nya.
Heuristic untuk perbaikan dan partisi
Panduan untuk assessment kualitas
Proses Desain
Desain software --> sebuah proses iteratif dimana kebutuhan diterjemahkan ke sebauh blueprint
untuk mengkonstruksi software.
Desain direpresentasikan pada level atas abstraction. Saat iterasi desain terjadi, perbaikan
subsequent membawa ke representasi desain pada level abstraksi yang lebih bawa h.
Kualitas desain sangat penting. Dua metode digunakan untuk mengecek kualitas:
Tinjauan ulang teknis formal, dan b) desain walkthrough
Tiga fitur umum sebuah desain yang baik dari McGlaughlins [McG91]:
32 |S T M I K Royal
Kualitas Desain
Untuk mengevaluasi sebuah desain software, sebauh criteris kualitas desain dapat digunakan.
Berikut panduan untuk sebuah desain yang baik:
Sebuah desain harus A design should exhibit a hierarchical organization about software
Sebuah desain harus modular berdasarkan pada partisi logical.
Sebuah desain terdiri dari data dan abstraksi prosedural.
Sebuah desain harus membawa ke modul dengan fitur fungsional yang independen.
Sebuah desain harus membawa interface yang sederhana antar modul.
Sebuah desain harus diturunkan menggunakan metode yang dapat berulang.
Proses desain software memacu desain yang baik dalam aplikasi dengan prinsip desain fundamental,
metodologi yang sistematik, dan melalui review(pengulangan).
Prinsip Desain
David [DAV95] memaparkan sekumpulan prinsip untuk desain software:
Proses desain seharusnya tidak bertahan dari tunnel vision.
Desain harus dapat di trace ke model analisa.
Desain seharusnya tidak menemukan/invent wheel.
Desain harus memperkecil jarak intellectual antara software dan masalah-masalah pada dunia
nyata.
Desain harus mengeluarkan uniformity dan integrasi.
Desain harus terstruktur untuk mengakomodasi perubahan.
Desain harus terstruktur untuk mendegradasi secara halus(degrade gently).
Desain bukan coding.
Desain harus di-assessed untuk kualitas.
Desain harus diulang untuk meminimalis kesalahan konsep.
Faktor kualitas eksternal: diobservasi oleh user.
Faktor kualitas internal: penting untuk engineer.
Konsep Desain
Abstraksi:
Tiap langkah pada proses software engineering adalah sebuah perbaikan pada tingkatan abstraksi
dari solusi software.
Abstraksi data: Sekumpulan data
Abstraksi prosedural:
Satu urutan instruksi pada sebuah fungsi spesifik
Abstraksi kontrol:
33 |S T M I K Royal
Arsitektur Software
Arsitektur software adalah struktue hirarki dari komponen program components dan interaksinya. Shaw
dan Garlan [SHA95a] menggambarkan sekumpulan properti desain arsitektur:
Properti structural :
Desain arsitektur mendefenisikan komponen sistem dan interaksinya.
Properti extra-functional :
Desain arsitektur harus meng -address bagaimana arsitektur desain menerima kebutuhan untuk
performance, kapasitas, ketersediaan(reliability), adaptability, keamanan.
Kumpulan sistem yang berhubungan:
desain arsitektur harus menggambar pola yang dapat diulang pada desain dengan sistem yang
sama.
34 |S T M I K Royal
Model structural: merepresentasikan arsitektur sebagai sebuah koleksi terorganisir dari komponen
Model framework: meningkatkan level desain abstraksi dengan mengidentifikasi secara berulang
framework desain arsitektur(pola-pola)
Model dinamis: meng-address aspek-aspek perilaku arsitektur program
Model prosess: fokus pada desain bisnis atau proses teknis
Model functional: dapat digunakan untuk merepresentasikan hierarki fungs ional sebuah sistem
Partisi Structural
Struktur program harus dipartisi secara horizontal dan vertikal.
Partisi horizontal menggambarkan cabang -cabang yang terbagi dari hierarki modular untuk tiap fungsi
program utama.
Cara termudah adalah mempartisi sebuah sistem menjadi:
input, transformasi data(pemrosesan), dan output
Keuntungan dari partisi horizontal:
mudah untuk diuji, di-maintain, dan extend
efek yang lebih kecil pada perubahan propagasi atau error propagasi
Kerugian: lebih banyak data dilewatkan melalui interface modul
menyulitkan kontrol keseluruhan dari aliran program
Partisi vertical memaparkan kontrol dan work harus terdistribusi top-down dalam struktur program.
Keuntungan: baik pada kesesuain untuk perubahan:
mudah untuk me-maintain perubahan
mengurangi pengaruh perubahan dan propagasi.
Desain Modular Efektif
Informasi yang disimpan:
Modul-modul seharusnya dispesifikasi dan didesain sehingga detail internal dari modul darus dapat
terlihat atau dapat diakses terhadap modul lainnya.
Keuntungan utama: mengurangi pengaruh perubahan pada testing(pengujian) dan
maintenance(perawatan).
Independen fungsional:
Mendesain modul-modul berdasarkan fitur fungsional independen.
Keuntungan utama: modularity efektif
Cohesion: sebuah ekstensi alami dari konsep informasi yang disimpan
sebuah modul dapat menampilkan sejumlah tusk
Sebuah modul cohesive menampilkan sebuha task tunggal dalam sebuah prosedur dengan interaksi
kecil dengan lainnya.
Goal: untuk mencapai cohesion yang tinggi untuk modul -modul pada sebuah sistem.
Tipe-tipe yang berbeda dari cohesion:
coincidentally cohesive: sekumpulan task yang berhubungan satu sama lain
secara bebas.
35 |S T M I K Royal
Modul-9
Software Architecture Design
Software Architectural Design
Sistem yang besar dapat dipecah dalam sub sistem yang memiliki beberapa kumpulan relasi service.
Desain arsitektur mengacu pada :
pembagian sistem dalam sebuah sub sistem logika dan modul -modul
mengidentifikasi interaksi dan relasinya
Penstrukturan sistem :
Sistem disusun dalam beberapa principal sub- sistem
Masing-masing adalah unit software yang bebas, dan berkomunikasi satu sama lain.
Permodelan kontrol:
membuat model umum relasi kontrol antara bagian sistem
Modular decomposition:
Membagi tiap sub sistem ke dalam modul- modul kecil Desainn arsitektur harus mengidentifikasi
modul-modul ini dan pengaruhnya.
Keuntungan : cara efisien untuk share d ata dalam jumlah yang besar
Kerugian : - Sub sistem harus di-share pada model data penyimpanan yang sama
Evolusi sistem sulit
Masalah toleransi kesalahan
Sub sistem yang berbeda kemungkinan mempunyai kebutuhan yang berbeda.
Software Architecture
Arsitektur perangkat lunak adalah struktur terurut dai komponen program dan interksinya.
Shaw and Garlan [SHA95a] mendeskripsikan properti desain arsitektur :
Properti Struktural:
Desain arsitektur mendefinisikan komponen sistem dan interksinya.
Properti ekstra-fungsional:
Desain arsitektur harus mengalamati dimana penyimpanan desain arsitekturnya requirements
untuk performance, capacity, reliability, adaptability, security.
Families of related systems:
desain arsitektur harus menggambarkan bentuk perulangan pada desain keluarga pada sistem yang
sama.
Metode desain arsitektur yang lain :
Structural models: merepresentasikan arsitektur sebagai sebuah kumpulan komponen yang sudah
tersusun.
Framework model menambah tingkat abstraksi desain dengan mengidentifikasi berulang-ulang.
architecture design frameworks (patterns)
Dynamic models: mengalamati aspek behavior pada arsitekutur program
Process models: fokus pada desain bisnis dan proses teknis
Functional models: biasanya dapat merepresentasikan susunan fungsional sistem
Structural Partitioning
Program terstruktur biasanya dibagi secara horisontal dan vertikal
(1) Pembagian horisontal mendefinisikan cabang terpisah pada hirarki modular untuk tiap
fungsi utama program.
Cara paling simpel adalah membagi sistem dalam:
input, data transformation (processing), dan output
Keuntungan pembagian horisontal:
mudah di tes, dikembangkan dan diperluas
berpengaruh lebih kecil sewaktu terjadi perubahan dan error
Kerugian: banyak data yang dilewati pada module interfaces compleks pada keseluruhan kontrol
aliran program
(2) Pembagian vertikal menekankan control dan kerja harus terdistribusi atas -bawah pada
37 |S T M I K Royal
struktur program.
Keuntungan : bagus pada hal yang behubungan dengan perubahan:
mudah untuk memaintain perubahan
mengurangi pengaruh dan penyebaran bila terjadi perubahan
Data Design
Panduan untuk desain data:
Tentukan analisa sistematis data
38 |S T M I K Royal
Modul-10
Metode Desain
Metode -metode Desain Software
Desain --> sebagai sebuah proses dengan beberapa tahap dimana kita mendesain:
a) struktur data
b) struktur program
c) karakteristik interface
d) detail prosedur berdasarkan pada informasi kebutuhan.
Perubahan bentuk memproses dari model analisa kebutuhan
menghasilkan spesifikasi desain
Desain data:
Focus utama adalah struktur data dan representasi logikanya untuk tiap komponen pada sebuah
sistem software.
Artinya: informasi yang disembunyikan dan abstrak data
Desain arsitektur dan desain struktural
Sasaran pokok adalah mengembangkan suatu struktur program modular dan merepresentasikan
hubungan kendali antar modul-modul.
Menyediakan suatu gambaran arsitektur tentang sistem software.
Desain Data
Panduan desain data :
Terapkan analisa yang sistematis terhadap data
obyek data, relasi, dan aliran data sebagai isi.
Identifikasi semua struktur data dan operasi yang berhubungan
Menetapkan suatu kamus data
obyek data dan relasinya sebagai batasan
Menunda keputusan desain yang low-level sampai di dalam proses desain
Gunakan informasi yang tersembunyi dalam desain struktur data
Suatu perpustakaan dari operasi dan struktur data yang bermanfaat
data obyek yang dapat digunakan kembali
template struktur data yang dapat digunakan kembali
Gunakan sebuah desain software dan bahasa pemrograman untuk mendukung spesifikasi data dan
abstraksi.
Desain Database
Evaluasi ERD untuk database.
obyek data
relasi
atribut data pada tiap obyek
Perbaikan ERD pada relasi, atribut data.
Memilih tipe target database:
database jaringan
database relasi
40 |S T M I K Royal
Desain Prosedur
Desain prodedur terjadi setelah desain data, arsite ktur, dan interface dibangun . Ini menggambarkan
detail algoritmic.
Kita dapat menspesifikasi desain detail dalam sejumlah cara:
A) Pemrograman struktur
menggunakan konstruksi, seperti sequence(urutan), condition(kondisi), dan
repetition(pengulangan) untuk menspesifikasi algoritma.
41 |S T M I K Royal
Modul-11
Interface Design
Interface Design
Desain interface berfokus pada tiga area:
desain interfaces antar modul software
desain interfaces antara software dan prosedur non manual yang lain dan informasi customer
desain interface antara manusia dan komputer
Desain internal and external interface:
desain interface program internal, ---> dinamakan desain intermodular interface -----> interfaces
antara proses fungsional internal dalam DFD.
memetakan transaksi dengan proses.
Desain external interface ---->
memeriksa external entities dalam DFD.
mendesain interface antara external entities dan proses internal.
mengerjakan sesuatu pada data externaldan kontrol eksternal
Model Interface
GUI interfaces dengan well-predefined format dan gaya GUI.
(X windows and Motif, Micro software Windows, .)
Termasuk elemen-elemen:
buttons, switches, menus, indicators, displays, sliders.
windows, panels, dialog boxes,
icons, tool bars, .
44 |S T M I K Royal
Keuntungan:
GUI sangat interaktif sesuai dengan GUI styles/ formats.
sangat mudah untuk dipelajari dan dioperasikan.
Masalah:
GUI styles and formats harus distandarisasi.
desain GUI rumit.
implementasinya kompleks dan luas.
Biasanya merupakan kombinasi dari:
menu-systems, command-line interfaces,
direct manipulation, ...
Information Representation
Ada beberapa cara untuk merepresentasikan informasi dalam user interface:
Text, data, tabel
gambar 2-D (or 3-D), diagram
Multi-media (gambar, animasi, suara, video, )
Representasinya dapat digunakan faktor berikut:
warna, ukuran, gerakan, resolusi,
layar (or window) layout, operational sequence
GUI hierarchical structure
Tipe representasi informasi:
Input data (data yang diketikan, data terpilih, default data)
Output data, tabel, report, diagram, or gambar
pesan kesalahan (Error messages) dan pesan peringatan(waning messages)
GUI elements:
windows (screens), panels
menus (pull-down, pop-up, nested-menu)
buttons, tool bars, icons
check list, selection list, choice box, radio box
text field, text area, label,
Information Representation - Display
Display Guidelines:
Tampilkan informasi yang relevan pada konteks saat ini.
Jangan menyembunyikan datadari user, gunakan format presentasi.
Gunakan label yang konsisten, singkatan yang standar, dan warna yang terlihat
Ijinkan user untuk mengembangkan konteks visual.
Hasilkan pesar error yang berarti.
Gunakan upper dan lower case, indention, dan text grouping untuk membantu pemehaaman
user.
Gunakan windows untuk menggolongkan informasi dengan tipe yang berbeda.
45 |S T M I K Royal
Gunakan tampilan analog untuk merepresentasikan informasi yang lebih mudah dipahami
dengan form representasi ini.
Perimbangkan ketersediaan tempat pada layar dan gunakan dengan efektif.
Information Representation - Input
Input Data Guidelines:
Minimalkan jumlah input yang dibutuhkan untuk action user.
(selective data, default data)
Pertahankan konsistensi antara informasi yang ditampilkan dengan input data.
(color, size, and placement)
Interaksi harus fleksibel tetapi juga sesuai dengan mode yang dipilih input user. (for example,
keyboard input, or mouse input)
Nonaktifkan perintah yang tidak bisa dilakukan pada konteks saat ini.
Biarkan user mengatur aliran interaktif.
Sediakan bantuan untuk membantu semua action input.
Hilangkan input mickey mouse (default values)
User Guidance
Tiga tipe petunjuk user:
- Pesan yang dihasilkan sistem dalam merespon tindakan user
- Sistem bantuan on-line
- Dokumentasi yang melengkapi sistem
User Documentation
User Interface Evaluation
Evaluation Guidelines:
Kuisioner yang mengumpulkan informasi dari user tentang interface:
Pembelajaran:
berapa lama yang dibutuhkan user baru untuk terbiasa dengan operasi sistem?
Kecepatan operasi:
seberapa bagus respon sistem cocok dengan praktek kerja user?
Kelemahan:
bagaimana toleransi sistem terhadap error yang dibuat oleh user?
Recoverability:
seberapa bagus sistem memulihkan error yang dibuat user?
Adaptability:
seberapa dekat ikatan sistem dengan sebuah model kerja?
Observasi user pada saat bekerja dengan sistem dan berpikir keras tentang bagaimana mereka
mencoba menggunakan sistem untuk menyelesaikan tugas;
Video snapshots of typical system use;
Memasukkan software untuk mengidentifikasi fasilitas yang sering dipakai dan error yang sering
46 |S T M I K Royal
dibuat.
Modul-12
Teknik Pengujian Software
Test Pokok Software
Test Software
adalah sebuah unsur kritis dari jaminan kualitas dan menghadirkan tinjauan ulang spesifikasi, desain
dan persandian.
Test Software menunjukkan bahwafungsi software tampak seperti bekerja menurut spesif ikasi dan
syarat tampilan
Tujuan Pengujian:
Myers [ MYE79] negara sebuah aturan yang dapat melayani baik seperti menguji sasaran hasil:
Pengujian
adalah suatu proses pelaksanaan suatu program dengan tujuan menemukan suatu kesalahan.
Suatu kasus test yang baik adalah apabila test tersebut mempunyai kemungkinan menemukan
sebuah kesalahan yang tidak terungkap.
Suatu test yang sukses adalah bila test tersebut membongkar suatu kesalahan tidak ditemukan
hingga kini.
Tujuan utama dari pengujian adalah untuk mendasain test yang secara sistematik membongkar jenis
kesalahan dengan usaha dan waktu minimum
Kompleksitas Cyclomatic
Kompleksitas Cyclomatic adalah suatu perangkat lunak metrik -> menyediakan suatu ukuran yang
kwantitatif menyangkut kompleksitas yang global dari suatu program.
Manakala metrik ini digunakan dalam konteks pengujian alur basis, nilai menghitung untuk
kompleksitas cyclomatic menggambarkan banyaknya alur mandiri di dalam basis satuan suatu
program.
Tiga jalan untuk menghitung kompleksitas cyclomatic:
Banyaknya daerah dari grafik arus sesuai dengan kompleksitas yang cyclomatic itu.
Kompleksitas Cyclomatic, V(G), untuk suatu grafik arus G digambarkan sebagai V(G)= E- N + 2 di
mana E adalah banyaknya arus tepi grafik dan N adalah banyaknya puncak arus.
Kompleksitas Cyclomatic, V(G)= P+ 1 di mana P adalah banyaknya tangkai predikat terdapat di grafik
arus G.
Menurunkan Kasus Test
Langkah 1: Menggunakan kode atau disain sebagai pondasi, menggambarsuatu bersesuaian grafik arus.
Langkah 2: Menentukan kompleksitas cyclomatic dari resultan aliran grafik.
Langkah 3: Menentukan suatu basis satuan secara linier alur mandiri.
Sebagai contoh,
alur 1: 1-2-10-11-13
alur 2: 1-2-10-12-13
alur 3: 1-2-3-10-11-13 a
alur 4: 1-2-3-4-5-8-9-2-
alur 5: 1-2-3-4-5-6-8-9-2-..
alur 6: 1-2-3-4-5-6-7-8-9-2-..
Langkah 4: Menyiapkan kasus test yang akan memaksa pelaksanaan dari tiap alur di dalam
perangkat basis
Alur 1: menguji kasus:
nilai ( k)= input yang valid, di mana k< I digambarkan di bawah.
nilai ( i)= - 999, di mana 2 <= I<= 100
hasil diharapkan: mengoreksi rata-rata didasarkan pada nilai k menilai dan jumlah yang tepat
Kesamaan Penyekatan
Kesamaan Penyekatan adalah suatu metode pengujian black -box
membagi daerah masukan dari suatu program ke dalam kelas data
memperoleh kasus test berdasar pada sekat ini.
Test Kasus mendisain untuk penyekatan kesamaan didasarkan pada suatu evaluasi kelas kesamaan
untuk suatu daerah masukan.
Suatu kelas kesamaan menghadirkan satu sperangkat yang valid atau yang tida k valid untuk kondisi
input..
Suatu kondisi masukan adalah:
suatu nilai klasifikasi spesifik, bidang nilai-nilai- satu set nilai
49 |S T M I K Royal
Kelas Kesamaan
Kelas Kesamaan dapat digambarkan penggunaannya dengan petunjuk berikut :
Jika suatu kondisi masukan menetapkan suatu cakupan, yang sah dan dua kelas kesamaan
cacat digambarkan.
Jika suatu kondisi input memerlukan suatu nilai spesifik, yang sah dan dua kelas kesamaan cacat
digambarkan.
Jika suatu kondisi input menetapkan suatu anggota dari suatu set, satu yang sah dan satu kelas
kesamaan cacat digambarkan.
Jika suatu kondisi masukan adalah Boolean, satu sah dan satu kelas cacat digambarkan.
Contoh:
kode area: kondisi input, Boolean- kode area boleh atau tidak mungkin disajikan.
kondisi input, cakupan- nilai digambarkan antara 200 dan 900
kata sandi: kondisi input, Boolean- suatu kata sandi tidak atau tidak mungkin disajikan.
Kondisi input, nilai- enam rangkaian karakter.
perintah: kondisi input, perangkat- yang berisi perintah yang dicatat sebelumnya
Modul-13
Contoh -Contoh Soal
1. Jelaskan kelebihan dan kekurangan dari, oleh karena sifat tersebut berikan contoh aplikasi seperti apa
yang cocok dibuat dengannya, gambarkan pula arsitekturnya :
Web Based Application.
50 |S T M I K Royal
2. Teknik integrasi 2 aplikasi yang berbeda dengan 2 database (RDBMS) yang berbeda dapat di buat
dengan tiga cara seperti dibawah ini, jelaskan apa yang dikerjakan oleh aplikasi diantara kedua
aplikasi tersebut, jelaskan pula data apa yang dipertukarkan diantara kedua aplikasi tersebut,
beritahukan kelebihan dan kelemahan dari masing masing teknik dibawah ini
o Teknik Database To Database.
o Teknik Interface.
App1 App2
DB1
Trigger
DB2
Trigger
dll
Tugas RPL Software System Safety Report
Deskripsi :
Software yang mencatat input semua kejadian kecelakaan yang terjadi dalam sebuah pabrik pada
database system dan melakukan perhitungan statistik, baik statistik karyawan maupun klasifikasi
kejadian dengan efektif dan cepat, didukung database karyawan yang terintegrasi.
Arsitektur Sistem
Platform System :
` Desktop Based
` Bahasa Pemrograman : Java
` OS : Windows / Linux
` DBMS : MySQL / Java DB
Daftar Fitur Software Lihat, Tambah, Edit, Delete Karyawan
` Lihat, Tambah, Edit, Delete Divisi
51 |S T M I K Royal
`
`
`
`
`
`
52 |S T M I K Royal