pengenalan definisi software dan software engineering · pdf filemodel tersebut adalah :...
TRANSCRIPT
Rekayasa Perangkat Lunak
Pengenalan Definisi Software dan Software Engineering
Satrio YudhoPertemuan 1 dari 16 ver. 1.0
Software Engineering. Satrio Yudho 2009 2
Tujuan
Pemahaman mengenai peranan Software Engineering.
Pemahaman mengenai istilah Software Pemahaman mengenai proses pembuatan
software. Pemahaman mengenai realita dalam
pembuatan produk software.
Software Engineering. Satrio Yudho 2009 3
Referensi
Referensi : Ian Sommerville, Software Engineering 8 edition,
China Press, 2006. Roger S Pressman, Software Engineering : A
practitioners Approach,Mc Graw-Hill,2001. http://en.wikipedia.org/wiki/Software_crisis (last
accessed, 27 january 2008)
Software Engineering. Satrio Yudho 2009 4
Histori
Tahun 1968 diadakan konferensi mengenai “Software Crisis”. Software Crisis adalah istilah lain dari Complexity dalam
pengembangan Software, yaitu : Projects running over-budget. Projects running over-time. Software was very inefficient. Software was of low quality. Software often did not meet requirements. Projects were unmanageable and code difficult to maintain. Software was never delivered.
Software Engineering. Satrio Yudho 2009 5
Some Software Failure Stories..
Software failure cited in August blackout investigation :”A malfunctioning alarm system may have played a big role in the outage”.
(http://www.computerworld.com/securitytopics/security/recovery/story/0,10801,87400,00.html)
Software Failure Causes Airport Evacuation.
(http://www.schneier.com/blog/archives/2006/04/software_failur.html) Software Project Failure: The Reasons, The Costs.
(http://www.cioupdate.com/reports/article.php/1563701/Software-Project-Failure-The-Reasons-The-Costs.htm)
Software Engineering. Satrio Yudho 2009 6
Tujuan Software Engineering
Software engineering, di tujukan untuk pengembangan software ke arah sbb:
Maintainability – the ability to easily make changes, enhancements, or improvements.
Dependability – the ability to rely on the software to function properly when needed.
Efficiency – the ability for software to use computing resources effectively (mainly space and time).
Usability – the ability for the end user to easily and effectively put the software to proper use.
Software Engineering. Satrio Yudho 2009 7
What is Exactly Software Engineering ?
Software Engineering merupakan disiplin ilmu yang fokus kepada pembuatan software yang efektif secara biaya, dan berkualitas tinggi(tepat guna).
Software Engineering. Satrio Yudho 2009 8
What is Exactly Software Engineering ?
Terdapat dua sisi ilmu dalam Software Engineering, yaitu: Engineering Discipline. All aspects of software production.
Software Engineering. Satrio Yudho 2009 9
Soft. Engineering dan ilmu lain.
Korelasi SE dengan ilmu lain.
Software Engineering
Computer Science
Project Management
Social Science
Electrical Engineering
Quality Management
Economical Science
Software Engineering. Satrio Yudho 2009 10
Software itu apa ?
Definisi : Software is (1) instructions (computer programs) that when
executed provide desired function and performance, (2) data structures that enable the programs to adequately manipulate information, and (3) documents that describe the operation and use of the programs.(Roger Pressman)
A software system usually consists of a number of separate programs, configuration files, which are used to set up these programs, system documentation, which describes the structure of the system, and user documentation. (Sommerville)
Software Engineering. Satrio Yudho 2009 11
Software itu apa ?
Software Tidak hanya sekedar Program!!
Start to consider whole things, not just code
Software Engineering. Satrio Yudho 2009 12
Software itu apa ?
Software memiliki beberapa kriteria/klasifikasi : Generic Products.
Software jenis ini dibuat dengan tujuan penggunaan umum, semua pihak dapat memiliknya.
Customised Products. Software dalam jenis ini hanya dikembangkan pada
kebutuhan pengguna tertentu, tidak dapat disamakan fungsionalitasnya.
Software Engineering. Satrio Yudho 2009 14
Software Process
Definisi : Software process merupakan sekumpulan aktifitas
dalam pembuatan produk software. (sommerville)beberapa tahapan dalam proses tersebut : Software Specification. Software Development. Software Validation. Software Evolution.
Software Engineering. Satrio Yudho 2009 15
Software Process
Setiap tahapan dalam Software Proses memiliki deskripsi yang disebut Software Process Model Software Process Model
model tersebut adalah :model tersebut adalah : Workflow model.Workflow model.
Menggambarkan aktifitas dalam sistem,meliputi keterkaitan antara input, output dan peran pengguna.
A data flow/ activity model.A data flow/ activity model. Menggambarkan aktifitas dalam sistem yang berkaitan dengan
perubahan/transformasi data. A role /action model.A role /action model.
Menggambarkan tanggung jawab dan peranan pengguna dalam sistem.
Software Engineering. Satrio Yudho 2009 16
Tantangan dalam SE
Software Myths(Pengembang, Pengguna,Praktisi)
Software Engineering. Satrio Yudho 2009 17
Tantangan dalam SE
Dari sisi pengembang (Software Developer) Mitos : Jika Project Software mundur dari batas
waktu, tambah saja banyak programmer. Agar cepat selesai.
Fakta : Menambah jumlah programmer menjadi faktor utama project menjadi gagal.
Software Engineering. Satrio Yudho 2009 18
Tantangan dalam SE
Dari sisi Pengguna (Customer) Mitos : Garis besar fungsional sistem sepertinya sudah
cukup, mengenai detil setiap fungsi bisa menyusul, langsung saja “coding”.
Fakta : kurangnya informasi semenjak awal project menjadi pemicu kemunduran project, bahkan beresiko gagal.
Software Engineering. Satrio Yudho 2009 19
Tantangan dalam SE
Dari sisi praktisi Mitos : sekali program sudah jadi, maka tugas
sudah selesai. Fakta : terlalu cepat menerapkan “coding” maka
semakin besar kesalahan dapat terjadi.
Software Engineering. Satrio Yudho 2009 20
Kesimpulan
Software Engineering tidak dapat berdiri sendiri, namun memerlukan aspek dari berbagai bidang ilmu. Terutama ilmu komputer
Software proses merupakan tahapan yang diperlukan untuk bisa memberikan informasi dari setiap komponen pengembangan software.
Software tidak hanya sekedar program, namun memiliki banyak komponen lainya, seperti user manual, development document dan lainya.
Software Engineering. Satrio Yudho 2009 22
Sesi Interaktif
Jelaskan definisi Software ? Mengapa dalam Software Engineering
memerlukan banyak aspek dalam bidang ilmu lainnya ?
Sebutkan beberapa Software yang anda nilai berhasil di pasar global ? Jelaskan mengapa ?