pengenalan definisi software dan software engineering · pdf filemodel tersebut adalah :...

23
Rekayasa Perangkat Lunak Pengenalan Definisi Software dan Software Engineering Satrio Yudho Pertemuan 1 dari 16 ver. 1.0

Upload: phamthien

Post on 20-Feb-2018

222 views

Category:

Documents


0 download

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 13

Software Process

Membuat software dengan cara yang benar

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 21

FYIDunia Tanpa Engineering

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 ?

Software Engineering. Satrio Yudho 2009 23

Penutup

Thank's for Tune inCourse Material are available at :

www.yudhos.wordpress.com