Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

REKAYASA PERANGKAT LUNAK

Presentasi serupa


Presentasi berjudul: "REKAYASA PERANGKAT LUNAK"— Transcript presentasi:

1 REKAYASA PERANGKAT LUNAK
Defri Kurniawan

2 RENCANA KEGIATAN PERKULIAHAN SEMESTER
W Pokok Bahasan 1 Pengenalan Teknologi Informasi 2 Konsep Sistem Komputer & Pengenalan Perangkat Keras 3 4 Data Storage 5 Perangkat Lunak 6 7 Data dan Informasi 8 Ujian Tengah Semester W Pokok Bahasan 9 Komputasi Pemrograman 10 11 Rekayasa Perangkat Lunak 12 13 Komunikasi data & Jaringan Komputer 14 Etika dan dampak sosial teknologi informasi 15 Teknologi Terkini / Advance Topik 16 Ujian Akhir Semester

3 Reference Bruce K William, Stacey C. Sawyer – Using Information Technology : A Practical Introduction to Computers & Communications 9th Edition (2010) J. Glenn Brookshear – Computer Science : An Overview 11th Edition (2011)

4 Content The Software Engineering Discipline The Software Life Cycle Software Engineering Methodologies Tools Quality Assurance

5 The Software Engineering Discipline

6 The Software Engineering Discipline
Rekayasa Perangkat Lunak (RPL) = software engineering (SE) Rekayasa Perangkat Lunak merupakan Disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi, desain, konstruksi, testing sampai pemeliharaan setelah digunakan

7 The Software Engineering Discipline
Software engineering adalah cabang computer science dengan prinsip pengembangan system software yang besar dan kompleks Pengembangan sistem membutuhkan upaya banyak orang Software engineering terdiri dari personel dan project management yang berkaitan dengan business management

8 The Software Engineering Discipline
Problem selama pengembangan sistem : How can you estimate the cost in time, money and other resource to complete the project ? How can you divide the project into manageable pieces ? How can you ensure that the pieces produced are compatible ? How can those working on the various pieces communicate? How can you measure progress?

9 The Software Engineering Discipline
Penelitian dalam software engineering saat ini terdiri dari dua level : practitioners dan theoreticians Practitioners bekerja ke arah pengembangan teknik untuk aplikasi Theoreticians bekerja berdasarkan prinsip dan teori dimana teknik lebih stabil dapat dibangun nantinya

10 Perjalanan Software Engineering
Peter J Dennings yang memimpin satuan tugas disiplin ilmu computing memasukkan software engineering sebagai satu disiplin ilmu (Dennings, 1999) IEEE Computer Society membentuk tim khusus untuk menyusun pohon ilmu Software Engineering (Software Engineering Body of Knowledge, SWEBOK) Software Engineering termasuk nama jurusan atau fakultas yang diakui menurut IEEE Computing Curricula 2005

11 Matriks Dennings 1999 Algoritma dan Struktur Data Bahasa Pemrograman
Arsitektur Komputer Sistem Operasi dan Jaringan Software Engineering Database dan Sistim Retrieval Informasi Artificial Intelligence dan Robotik Grafik Human Computer Interaction Ilmu Komputasi Organizational Informatics BioInformatik

12 SWEBOK 2004

13

14 IEEE Computing Curricula 2005
Computer Engineering (CE, Teknik Komputer) Computer Science (CS, Ilmu Komputer) Information Systems (IS, Sistem Informasi) Information Technology (IT, Teknologi Informasi) Software Engineering (SE, Rekayasa Perangkat Lunak)

15 The Software Life Cycle
Software Engineering

16 The Software Life Cycle
Konsep dalam software engineering adalah software life cycle Software life cycle menggambarkan bahwa dalam pengembangan software masuk ke dalam sebuah cycle yang digunakan (development, use, maintenance)

17 The Software Life Cycle
Perangkat lunak memiliki siklus hidup yang dikenal dengan siklus hidup perangkat lunak (Software Life Cycle) Siklus hidup perangkat lunak (Software Life Cycle) adalah urutan dari kegiatan yang ada di dalam sebuah pengembangan perangkat lunak (Gustafson, 2002)

18 Software Development Process
Software Development Process, juga dikenal sebagai Software Development Life-Cycle / siklus hidup pengembangan perangkat lunak, adalah struktur yang dikenakan pada pengembangan produk perangkat lunak. Software Life Cycle dan Software Process merupakan bagian dari siklus hidup pengembangan sistem (System Development Life Cycle)

19 System Development Life Cycle (SDLC)
System Development life cycle (SDLC) / Siklus Hidup Pengembangan Sistem adalah proses memahami bagaimana sistem informasi (IS) dapat mendukung kebutuhan bisnis, perancangan sistem, membangunnya dan memberikannya kepada pengguna (Dennis, 2005).

20 Kelebihan dan Kekurangan SDLC
Penerapan SDLC memiliki kekurangan dan kelebihan. Kelebihan dari SDLC adalah menyediakan tahapan yang dapat digunakan sebagai pedoman pengembangan sistem, sedangkan Kekurangannya: hasil dari SDLC tergantung pada hasil analisis, sehingga jika terdapat kesalahan di tahap analisis akan terbawa terus ke hasil sistem

21 The Traditional Development Phase

22 The Traditional Development Phase
Tahap Requirement Analysis : Menganalisa kebutuhan user Negoisasi dengan stakeholder mengenai kebutuhan, harga dan kemungkinan yang terjadi pada sistem Membangun seperangkat kebutuhan untuk identifikasi apa saja fitur yang ada dalam sistem software

23 The Traditional Development Phase
Tujuan Requirement Analysis : Menentukan apa saja kebutuhan sistem yang diusulkan Identifikasi kebutuhan sistem yang diusulkan Mendefinisikan bagaimana user berinteraksi dengan sistem

24 The Traditional Development Phase
Tahap Design : Membuat rancangan untuk system yang diusulkan Fokus pada pengembangan solusi Fokus pada “Bagaimana sistem akan melakukannya” ? Hasil dari design adalah tahapan struktur sistem secara detail yang akan dikonversikan ke program Diagram dan pemodelan penting dalam tahapan desain

25 The Traditional Development Phase
Tahap Implementasi : Implementasi melibatkan penulisan program, pembuatan file, dan database Programmer memiliki beban pada penulisan program dimana sebelumnya telah didesain oleh software analyst Programmer menerjemahkan hasil dari design menjadi suatu program (aplikasi)

26 The Traditional Development Phase
Tahap Testing : Proses debug program dan konfirmasi apakah software sesuai dengan spesifikasi kebutuhan software Testing digunakan untuk mengetahui kualitas dari software Beberapa kesalahan mungkin tidak terdeteksi pada saat tahap implementasi

27 Software Engineering Methodologies

28 Software Engineering Methodologies
Waterfall Model Prototyping RAD Extreme Programming (XP)

29 Waterfall Mengidentifikasi kebutuhan jauh sebelum pemrograman dimulai
Meminimalkan perubahan kebutuhan selama project

30 Waterfall Tahap Planning : Tahap Analysis Tahap Design
Dalam form permintaan sistem, menjelaskan ringkasan dari kebutuhan bisnis Analisa kemungkinan aspek dari project yang diusulkan Bagaimana tim project berjalan selama pengembangan sistem Tahap Analysis Tahap Design Tahap Implementation

31 Parrarel Development Mengatasi masalah penundaan yang lama antara tahap analisis dan pengiriman sistem. Membagi proyek menjadi serangkaian sub proyek yang berbeda yang dapat dirancang dan implementasi secara paralel

32 RAD (Rapid Application Development)
Pemahaman yang lebih baik terhadap sistem dan revisi langsung dengan membawa sistem lebih cepat apa yang diinginkan user Problem dari RAD adalah mengelola keinginan pengguna terhadap kemungkinan perubahan yang terjadi Phased development (a series of versions) Prototyping (system prototyping) Throw-away prototyping (design prototyping)

33 Prototyping Sangat cepat untuk mendefinisikan kebutuhan
Sangat cepat menyediakan sistem User dapat langsung berinteraksi dengan prototype untuk mengetahui apa yang dapat dan tidak dilakukan oleh sistem

34 Throw-away Prototyping
Masalah yang muncul diujicobakan/diselesaikan dengan menganalisa, mendesign, & membangun sebuah prototype (yang dinamakan design prototype) Membangun fitur yang belum dipahami dengan jelas Membuat design prototype untuk memahami kebutuhan

35 Phased Development Mendapatkan sistem yang berguna untuk pengguna dengan cepat Sistem awal sengaja tidak lengkap System requirements berkembang tergantung pandangan dari versi user

36 Extreme Programming (XP)
XP terdiri dari empat nilai inti : komunikasi, kesederhanaan, umpan balik, dan keberanian Pengembang harus menyediakan umpan balik secara cepat Pengembang harus membuat perubahan tambahan untuk perkembangan sistem

37 Criteria for Selecting a Methodology

38 Tools Software Engineering

39 Tools Tool digunakan untuk membuat pemodelan selama tahapan analisis dan desain Pemodelan bertujuan untuk menggambarkan bagaimana data berpindah melalui sistem, meningkatkan komunikasi antara stakeholder dan software engineer Contoh : Data Flow Diagram (DFD), UML

40 Data Flow Diagram (DFD)
Data flow diagram menggambarkan informasi yang diperoleh dari data flow (aliran data) Memudahkan untuk memahami sistem yang diusulkan selama tahap analisis Identifikasi prosedur selama tahap desain

41 UML (Unified Modeling Language)
Sebuah tool yang dikembangkan dengan paradigma Object – Oriented Contoh : Use Case Diagram, Class Diagram Sama seperti DFD, use case menggambarkan interaksi antara user dan sistem Class diagram menggambarkan struktur kelas dan hubungan antar kelas

42 Use Case Diagram

43 Class Diagram Person Car own *

44 Tools (Software) Pada fase analisis dan design, kita bisa menggunakan program-program di bawah ini: Rational Rose Enterprise Architect Microsoft Visio Star UML dsb

45 Quality Assurance Software Engineering

46 Software Quality Software Quality berkesesuaian dengan:
Persyaratan fungsional dan kinerja dinyatakan dengan jelas Standar dokumen pengembangan jelas Karakteristik implisit yg diharapkan dari semua perangkat lunak dikembangkan secara profesional

47 Software Quality Assurance
Software Quality Assurance (SQA) adalah aktivitas yang digunakan untuk menjamin bahwa proses-proses pengembangan software dilakukan dengan benar. Adanya aktivitas SQA ini diharapkan kebutuhan dan target software yang dikembangkan dapat tercapai.

48 Software Quality Attributes (1)
Correctness Sebuah sistem adalah benar jika berperilaku sesuai dengan spesifikasinya Reliability Keandalan adalah probabilitas bahwa sistem akan beroperasi seperti yang diharapkan selama interval tertentu Robustness Sebuah sistem yang kuat jika berperilaku cukup bahkan dalam keadaan yang tidak ditentukan

49 Software Quality Attributes (2)
Efficiency (Performance) Memperhatikan penggunaan sumber daya seperti waktu komputasi, memori Usability (User Friendliness, Human Factors) Sejauh mana para pengguna (manusia) menemukan sistem dengan "mudah digunakan" dan berguna Maintainability Bagaimana mudahnya untuk mengubah/melakukan perubahan sistem setelah rilis awal

50 Software Quality Attributes (3)
Repairability Berapa banyak pekerjaan yang diperlukan untuk memperbaiki cacat Evolvability (Adaptability) Berapa banyak pekerjaan yang diperlukan untuk beradaptasi dengan perubahan kebutuhan (baik sistem dan proses) Portability Berapa banyak pekerjaan yang diperlukan untuk port ke lingkungan atau platform baru

51 Software Quality Attributes (4)
Verifiability Bagaimana mudahnya untuk memverifikasi apakah atribut yang diinginkan ada Understandability Bagaimana mudahnya untuk memahami sistem Productivity Jumlah produk yang dihasilkan oleh suatu proses untuk sejumlah resource tertentu Visibility (Transparency) Langkah-langkah proses saat ini dan status proyek dapat diakses


Download ppt "REKAYASA PERANGKAT LUNAK"

Presentasi serupa


Iklan oleh Google