Anda di halaman 1dari 9

MODUL KULIAH

SEKOLAH TINGGI TEKNOLOGI INFORMASI NIIT

Mata Kuliah Rekayasa Perangkat Lunak


Semester Ganjil 2020/2021
Dosen Susana Dwi Yulianti, M.Kom

Modul 1 (Satu)
Pertemuan 1 (Satu)
Topik Pendahuluan
Sub Topik Pendahuluan
 Pengembangan perangkat lunak profesional
Materi
 Etika rekayasa perangkat lunak
 Mahasiswa mengerti yang dimaksud dengan rekayasa
perangkat lunak, dan mengapa rekayasa perangkat lunak
Tujuan itu penting.
 Mahasiswa memahami tanggung jawab profesional dan
etika pada rekayasa perangkat lunak

Modul Perancangan Database dan ImplementasiPage 1


PERTEMUAN 1
PENDAHULUAN

A. Pendahuluan
Ekonomi semua negara maju bergantung pada perangkat lunak.
Semakin banyak sistem dikendalikan oleh perangkat lunak Rekayasa
perangkat lunak berkaitan dengan teori, metode dan alat untuk
pengembangan perangkat lunak profesional. Pengeluaran untuk
perangkat lunak mewakili sebagian besar dari GNP di semua negara
maju.
Biaya perangkat lunak sering mendominasi biaya sistem komputer.
Biaya perangkat lunak pada PC seringkali lebih besar daripada biaya
perangkat keras. Biaya perangkat lunak lebih banyak untuk pemeliharaan
daripada untuk mengembangkan. Untuk sistem dengan umur panjang,
biaya pemeliharaan mungkin beberapa kali biaya pengembangan.
Rekayasa perangkat lunak berkaitan dengan pengembangan perangkat
lunak yang hemat biaya.

B. Produk Software
1. Generic products
Sistem mandiri yang dipasarkan dan dijual kepada setiap
pelanggan yang ingin membelinya.
Spesifikasi apa yang harus dilakukan oleh perangkat lunak adalah
milik pengembang perangkat lunak dan keputusan tentang
perubahan perangkat lunak dibuat oleh pengembang.
Contoh:
perangkat lunak PC seperti program grafik, alat manajemen proyek;
Perangkat lunak CAD; perangkat lunak untuk pasar tertentu seperti
sistem janji untuk dokter gigi.

Modul Perancangan Database dan ImplementasiPage 2


2. Customized products
Perangkat lunak yang ditugaskan oleh customer tertentu untuk
memenuhi kebutuhan mereka sendiri.
Spesifikasi apa yang harus dilakukan perangkat lunak adalah milik
customer untuk perangkat lunak dan mereka membuat keputusan
tentang perubahan perangkat lunak yang diperlukan.
Contoh:
sistem kontrol tertanam, perangkat lunak kontrol lalu lintas udara,
sistem pemantauan lalu lintas.

C. Pertanyaan yang sering diajukan tentang rekayasa perangkat


lunak

Question Answer
What is software? Computer programs and associated
documentation. Software products may be
developed for a particular customer or may be
developed for a general market.
What are the attributes of good Good software should deliver the required
software? functionality and performance to the user and
should be maintainable, dependable and usable.

What is software engineering? Software engineering is an engineering discipline


that is concerned with all aspects of software
production.
What are the fundamental Software specification, software development,
software engineering activities? software validation and software evolution.

What is the difference between Computer science focuses on theory and


software engineering and fundamentals; software engineering is concerned
computer science? with the practicalities of developing and delivering
useful software.
What is the difference between System engineering is concerned with all aspects
software engineering and system of computer-based systems development
engineering? including hardware, software and process
engineering. Software engineering is part of this
more general process.
What are the key challenges Coping with increasing diversity, demands for
facing software engineering? reduced delivery times and developing
trustworthy software.

Modul Perancangan Database dan ImplementasiPage 3


What are the costs of software Roughly 60% of software costs are development
engineering? costs, 40% are testing costs. For custom
software, evolution costs often exceed
development costs.

What are the best software While all software projects have to be
engineering techniques and professionally managed and developed, different
methods? techniques are appropriate for different types of
system. For example, games should always be
developed using a series of prototypes whereas
safety critical control systems require a complete
and analyzable specification to be developed.
You can’t, therefore, say that one method is
better than another.

What differences has the web The web has led to the availability of software
made to software engineering? services and the possibility of developing highly
distributed service-based systems. Web-based
systems development has led to important
advances in programming languages and
software reuse.

D. Atribut Penting Perangkat Lunak Yang Baik

Product Description
characteristic

Maintainability Perangkat lunak harus ditulis sedemikian rupa sehingga bisa


berkembang untuk memenuhi perubahan kebutuhan
pelanggan. Ini adalah atribut penting karena perubahan
perangkat lunak adalah persyaratan lingkungan bisnis yang
berubah

Dependability and Ketergantungan perangkat lunak mencakup berbagai


security karakteristik termasuk kehandalan, keamanan dan keamanan.
Perangkat lunak yang dapat diandalkan seharusnya tidak
menyebabkan kerusakan fisik atau ekonomi jika terjadi

Modul Perancangan Database dan ImplementasiPage 4


kegagalan sistem. Pengguna berbahaya seharusnya tidak
dapat mengakses atau merusak sistem.

Efficiency Perangkat lunak seharusnya tidak membuat penggunaan


sumber daya sistem boros seperti siklus memori dan
prosesor. Oleh karena itu efisiensi meliputi daya tanggap,
waktu pemrosesan, pemanfaatan memori, dll.

Acceptability Perangkat lunak harus dapat diterima oleh jenis pengguna


yang dirancangnya. Ini berarti bahwa itu harus dimengerti,
dapat digunakan dan kompatibel dengan sistem lain yang
mereka gunakan.

E. Rekayasa Perangkat Lunak

Rekayasa perangkat lunak adalah disiplin teknik yang berkaitan


dengan semua aspek produksi perangkat lunak dari tahap awal spesifikasi
sistem hingga mempertahankan sistem setelah mulai digunakan.

1. Disiplin teknik
Menggunakan teori dan metode yang tepat untuk memecahkan
masalah dengan mengingat kendala organisasi dan keuangan.
2. Semua aspek produksi perangkat lunak
Bukan hanya proses teknis pembangunan. Juga manajemen proyek
dan pengembangan alat, metode, dll untuk mendukung produksi
perangkat lunak.

Semakin banyak, individu dan masyarakat bergantung pada sistem


perangkat lunak canggih. Kita harus mampu menghasilkan sistem yang
andal dan dapat dipercaya secara ekonomis dan cepat.

Biasanya lebih murah, dalam jangka panjang, untuk menggunakan


metode dan teknik rekayasa perangkat lunak untuk sistem perangkat
lunak daripada hanya menulis program seolah-olah itu adalah proyek
pemrograman pribadi. Untuk sebagian besar jenis sistem, sebagian besar
biaya adalah biaya perubahan perangkat lunak setelah digunakan.

Modul Perancangan Database dan ImplementasiPage 5


F. Software process activities
1. Spesifikasi perangkat lunak,
di mana pelanggan dan engineer menentukan perangkat lunak
yang akan diproduksi dan kendala pada operasinya.
2. Pengembangan perangkat lunak,
di mana perangkat lunak dirancang dan diprogram.
3. Validasi perangkat lunak,
di mana perangkat lunak diperiksa untuk memastikan bahwa itu
adalah apa yang dibutuhkan customer.
4. Evolusi perangkat lunak,
di mana perangkat lunak dimodifikasi untuk mencerminkan
perubahan customer dan persyaratan pasar.

G. Masalah umum yang memengaruhi sebagian besar perangkat


lunak
1. Heterogenitas
Semakin banyak, sistem diperlukan untuk beroperasi sebagai
sistem terdistribusi di seluruh jaringan yang mencakup berbagai
jenis komputer dan perangkat seluler.
2. Bisnis dan perubahan social
Bisnis dan masyarakat berubah sangat cepat seiring
berkembangnya ekonomi dan teknologi baru menjadi tersedia.
Mereka harus dapat mengubah perangkat lunak mereka yang ada
dan dengan cepat mengembangkan perangkat lunak baru.

3. Keamanan dan kepercayaan


Karena perangkat lunak saling terkait dengan semua aspek
kehidupan kita, penting bahwa kita dapat mempercayai perangkat
lunak itu.

Modul Perancangan Database dan ImplementasiPage 6


Ada banyak jenis sistem perangkat lunak dan tidak ada seperangkat
teknik perangkat lunak universal yang berlaku untuk semua ini. Metode
dan alat rekayasa perangkat lunak yang digunakan tergantung pada jenis
aplikasi yang dikembangkan, persyaratan pelanggan dan latar belakang
tim pengembangan.

H. Tipe aplikasi
1. Stand-alone applications
Ini adalah sistem aplikasi yang berjalan di komputer lokal, seperti
PC. Mereka termasuk semua fungsionalitas yang diperlukan dan
tidak perlu terhubung ke jaringan.
2. Interactive transaction-based applications
Aplikasi yang dijalankan pada komputer jarak jauh dan diakses oleh
pengguna dari PC atau terminal mereka sendiri. Ini termasuk
aplikasi web seperti aplikasi e-commerce.
3. Embedded control systems
Ini adalah sistem kontrol perangkat lunak yang mengontrol dan
mengelola perangkat keras. Secara numerik, mungkin ada sistem
yang lebih tertanam daripada jenis sistem lainnya.
4. Batch processing systems
Ini adalah sistem bisnis yang dirancang untuk memproses data
dalam jumlah besar. Mereka memproses sejumlah besar input
individual untuk membuat output yang sesuai.
5. Entertainment systems
Ini adalah sistem yang terutama untuk penggunaan pribadi dan
yang dimaksudkan untuk menghibur pengguna.
Systems for modeling and simulation
Ini adalah sistem yang dikembangkan oleh para ilmuwan dan
insinyur untuk memodelkan proses atau situasi fisik, yang
mencakup banyak objek yang terpisah dan saling berinteraksi.
Data collection systems

Modul Perancangan Database dan ImplementasiPage 7


Ini adalah sistem yang mengumpulkan data dari lingkungan mereka
menggunakan satu set sensor dan mengirimkan data tersebut ke
sistem lain untuk diproses.
6. Systems of systems
Ini adalah sistem yang terdiri dari sejumlah sistem perangkat lunak
lain.

I. Prinsip Dasar rekayasa perangkat lunak


Beberapa prinsip dasar berlaku untuk semua jenis sistem perangkat
lunak, terlepas dari teknik pengembangan yang digunakan:
 Sistem harus dikembangkan menggunakan proses pengembangan
yang dikelola dan dipahami. Tentu saja, proses yang berbeda
digunakan untuk berbagai jenis perangkat lunak.
 Ketergantungan dan kinerja penting untuk semua jenis sistem.
 Memahami dan mengelola spesifikasi dan persyaratan perangkat
lunak (apa yang harus dilakukan oleh perangkat lunak) adalah
penting.
 Jika diperlukan, Anda harus menggunakan kembali perangkat
lunak yang telah dikembangkan daripada menulis perangkat lunak
baru.

J. Rekayasa perangkat lunak dan web


Web kini menjadi platform untuk menjalankan aplikasi dan organisasi
semakin mengembangkan sistem berbasis web daripada sistem lokal.
Web service memungkinkan fungsionalitas aplikasi untuk diakses melalui
web.
Cloud computing adalah pendekatan untuk penyediaan layanan
komputer di mana aplikasi dijalankan dari jarak jauh pada 'cloud'.
Pengguna tidak membeli perangkat lunak, membayar sesuai penggunaan.

Latihan Soal Pertemuan 1

Modul Perancangan Database dan ImplementasiPage 8


1. Jelaskan dengan bahasa anda sendiri apa perbedaan antara
perangkat lunak dan rekayasa perangkat lunak!
2. Apa empat atribut penting yang harus dimiliki semua perangkat lunak
profesional? Jelaskan!
3. Berdasarkan pengetahuan Anda sendiri tentang beberapa jenis
aplikasi yang telah dibahas, jelaskan dengan contoh, mengapa jenis
aplikasi yang berbeda memerlukan teknik rekayasa perangkat lunak
khusus untuk mendukung desain dan pengembangannya.

Modul Perancangan Database dan ImplementasiPage 9

Anda mungkin juga menyukai