02 software engineering

41
Paulus Harsadi, S.Kom Software Engineering

Transcript of 02 software engineering

Page 1: 02 software engineering

Paulus Harsadi, S.Kom

Software

Engineering

Page 2: 02 software engineering

Introduction to Software Engineering

Page 3: 02 software engineering

What is Software

Page 4: 02 software engineering

Jenis Software (Market)• Software Generik

Perangkat lunak standar yang diproduksi oleh perusahaan pengembang dan dijual pada pasar terbuka ke siapapun yang bisa membelinya (Shrink-wrapped)

• Software Pesanan

Perangkat lunak yang dikembangkan khusus dan disesuaikan dengan kebutuhan pelanggan

(Ian Sommerville, Software Engineering 8 Ed., 2010)

Page 5: 02 software engineering

Jenis Software (Platform)

• Software Sistem

• Software Real-Time

• Software Bisnis

• Software Teknik dan Ilmu Pengetahuan

• Software Tertanam (Embedded Software)

• Software Komputer Personal

• Software Kecerdasan Buatan

• Software Mobile

(Roger Pressman, Software Engineering,: A Practitioner’s Approach 7Ed., 2009)

Page 6: 02 software engineering

Jenis Software (Lisensi)

1. Proprietary Software

2. Open Source Software

Page 7: 02 software engineering

Proprietary Software

• Software yang source codenya tertutup dan didistribusikan dengan suatu format lisensi yang membatasi pihak lain untuk menggunakan, memperbanyak dan memodifikasi

• Lisensi proprietary software memungkinkan orang lain menggunakan software yang kita buat dengan diikuti penyerahan royalti (uang) ke pemilik hak ciptanya

• Shareware dan Freeware adalah proprietary software. Free for use belum tentu free for (redistribute) atau free for modify!

Page 8: 02 software engineering

Open Source Software• Software yang source codenya terbuka dan didistribusikan

dalam suatu format lisensi yang memungkinkan pihak lain secara bebas memperbanyak dan memodifikasi source code (informasi) didalamnya

• Hak cipta tetap ada, tapi lisensi memungkinkan orang lain bebas untuk menggunakan dan memodifikasi software tersebut

• Jenis lisensi open source software:– GNU General Public License (GPL)

– Apache License

– BSD license

– MIT License

– Mozilla Public License

Page 9: 02 software engineering

Peranan Perangkat Lunak

1. Menggantikan peran manusia: Dengan otomasi terhadap suatu tugas atau proses

2. Memperkuat peran manusia: Dengan membantu manusia mengerjakan suatu tugas atau proses dengan lebih baik dan tertata

Page 10: 02 software engineering

Peranan Perangkat Lunak

3. Restrukturisasi Peran Manusia: Dengan melakukan perubahan-perubahan thd sekumpulan tugas atau proses

4. Hiburan dan Permainan:Dengan menyajikan aplikasi interaktif hiburan yang semakin dekat dengan kenyataan

Page 11: 02 software engineering

Konsep Peranan Software

• Software dikembangkan karena adakebutuhan (requirement) dari pengguna untuk komputerisasi suatu proseskonvensional

• Software datang untuk memecahkan masalahdan memberi solusi bagi manusia

• Software datang bukan untuk membuatmasalah (baru)!

Page 12: 02 software engineering

What is Software Engineering

Page 13: 02 software engineering

Definisi

Disiplin ilmu yang membahassemua aspek produksiperangkat lunak, mulai daritahap awal spesifikasi, desain,konstruksi, testing sampaipemeliharaan setelahdigunakan

Mengapa disebut software engineering?

Page 14: 02 software engineering

Generasi Komputer1. Generasi I (1946-1959)

Menggunakan tabung hampa

ENIAC, EDSAC

2. Generasi II (1959-1964)

Menggunakan transistor

PDP-1, PDP-8, UNIVAC, IBM 70xx

3. Generasi III (1964-1979)

Menggunakan IC

IBM S360, NOVA, UNIVAC 1108

4. Generasi IV (1980-sekarang)

Menggunakan VLSI

Page 15: 02 software engineering

Mengapa Software Engineering?

• Terminologi rekayasa perangkat lunak (software engineering) pertama kali digunakan pada sebuah international conference ttg software crisis tahun 1968

• Krisis perangkat lunak merupakan akibat langsung dari lahirnya komputer generasi ke 3 yang canggih (pada waktu itu)

• Perangkat lunak yang dihasilkan menjadi menjadi beberapa kali lebih besar dan kompleks

• Pendekatan informal tidak cukup efektif (cost, waktu dan kualitas) dalam pengembangan perangkat lunak

• Biaya hardware jatuh dan biaya perangkat lunak naik cepat

Page 16: 02 software engineering

Evolusi Perkembangan Software

Page 17: 02 software engineering

Evolusi SoftwareTAHUN-TAHUN PERTAMA :

Batch Orientation

• Suatu orientasi di mana proses dilakukan setelah data dikumpulkan dalam satuan waktu tertentu, atau proses dilakukan setelah data terkumpul, lawan dari batch adalah ONLINE atau Interactive Process.

• Keuntungan dari Interactive adalah mendapatkan data yang selalu up to date.

Limmited distribution

• Suatu penyebaran software yang terbatas padaperusahaan-perusahaan tertentu.

Custom software

• Software yang dikembangkan berdasarkan perusahaan-perusahaan tertentu.

Page 18: 02 software engineering

Evolusi SoftwareERA KEDUA :

Multi user

• Suatu sistem di mana satu komputer digunakan oleh beberapa user pada saat yang sama.

Real Time

• Suatu sistem yang dapat mengumpulkan, menganalisa dan mentransformasikan data dari berbagai sumber, mengontrol proses dan menghasilkan output dalam mili second.

Database

• Perkembangan yang pesat dari alat penyimpan data yang OnLine menyebabkan muncul generasi pertama DBMS (DataBase Management System).

Product Software

• Adalah software yang dikembangkan untuk dijual kepada masyarakat luas.

Page 19: 02 software engineering

Evolusi SoftwareERA KETIGA :

Distributed system

• Suatu sistem yang tidak hanya dipusatkan pada komputer induk (Host computer), daerah atau bidang lainnya yang juga memiliki komputer yang ukurannya lebih kecil dari komputer induk. Lawan dari distributed system adalah Centralized System.

Embedded Intelegence

• Suatu product yang diberi tambahan “Intellegence” dan biasanya ditambahkan mikroprocessor yang mutakhir.

• Contohnya adalah automobil, robot, peralatan diagnostic serum darah.

Low Cost Hardware

• harga hardware yang semakin rendah, ini dimungkinkan karena munculnya Personal Computer.

Consummer Inpact

• Adanya perkembangan komputer yang murah menyebabkan banyaknya software yang dikembangkan, software ini memberi dampak yang besar terhadap masyarakat.

Page 20: 02 software engineering

Evolusi SoftwareERA KEEMPAT :

Expert system

• Suatu penerapan A.I. (Artificial Intellegence) pada bidang-bidang tertentu, misalnya bidang kedokteran, komunikasi, dll.

AI Machine

• Suatu mesin yang dapat meniru kerja dari sebagian otak manusia. Misalnya mesin robot, komputer catur.

Parallel Architecture

• Arsitektur komputer yang memungkinkan proses kerja LAN paralel, yang dimungkinkan adanya prosesor berbeda dalam satu komputer

Page 21: 02 software engineering

Software Engineering Profession

Page 22: 02 software engineering

50 Best Jobs in America

1. Software engineer: $80,500 AVERAGE PAY 46% 10-YEAR GROWTH

2. College professor: $81,500 AVERAGE PAY 31% 10-YEAR GROWTH

3. Financial adviser: $122,500 AVERAGE PAY 26% 10-YEAR GROWTH

4. Human-resources manager: $73,500 AVERAGE PAY 23% 10-YEAR GROWTH

5. Physician assistant: $75,000 AVERAGE PAY 50% 10-YEAR GROWTH

Page 23: 02 software engineering

Orang Terkaya Indonesia

1. Aburizal Bakrie 5,4 miliar USD

2. Sukanto Tanoto 4,7 miliar USD

3. R. Budi Hartono 3,14 miliar USD

4. Michael Hartono 3,08 miliar USD

5. Eka Tjipta Widjaja 2,8 miliar USD

6. Putera Sampoerna 2,2 miliar USD

7. Martua Sitorus 2,1 miliar USD

8. Rachman Halim 1,6 miliar USD

9. Peter Sondakh 1,45 miliar USD

10. Eddy William Katuari 1,39 miliar USD

Page 24: 02 software engineering

Orang Terkaya di Amerika

1. Bill Gates 46,5 miliar USD

2. Warren Buffett 44,0 miliar USD

3. Paul Allen 21,0 miliar USD

4. Larry Ellison 18,4 miliar USD

5. S. Robson Walton 18,3 miliar USD

6. Jim Walton 18,2 miliar USD

7. John T. Walton 18,2 miliar USD

8. Michael Dell 16,0 miliar USD

9. Sheldon Adelson 15,6 miliar USD

10.Steve Ballmer 12,1 miliar USD

Page 25: 02 software engineering
Page 26: 02 software engineering
Page 27: 02 software engineering

Orang Indonesia Kaya Karena Sumber Daya Alam

Page 28: 02 software engineering

Orang Amerika Kaya Karena Pengetahuan

Page 29: 02 software engineering

Sertifikasi Software Engineer

Page 30: 02 software engineering

Microsoft Certification

• MCAD (Microsoft Certified Application Developers):Use Microsoft technologies to develop and maintain department-level applications, components, Web or desktop clients, or back-end data services.

• MCSD (Microsoft Certified Solution Developers):Design and develop leading-edge business solutions with Microsoft development tools, technologies, platforms, and the Windows architecture.

Page 32: 02 software engineering

Sun Certification

Page 33: 02 software engineering
Page 34: 02 software engineering

IEEE Computer Society Certification

Page 35: 02 software engineering

Social Information Technology

Page 36: 02 software engineering

Software dan Customer

Sebuah perangkat lunak dianggap berkualitas jika memenuhikebutuhan pelanggan (customer) dan sesuai dengan keinginanpelanggan (customer)

Hal-hal yang perlu di pahami ketika mengembangkan perangkatlunak dalam lingkungan tertentu :• Pengetahuan lingkungan tentang TI• Social Knowledge atau local knowledge• Pengetahuan tentang batasan pengembangan

Tahap sosialisasi juga sangat penting karena pengubahanlingkungan ke lingkungan baru sangatlah sulit

Page 37: 02 software engineering

Konversi Sistem

• Konversi Paralel

Sistem Baru

Sistem lama

Page 38: 02 software engineering

Konversi Sistem

• Konversi langsung

Sistem Baru

Sistem lama

Page 39: 02 software engineering

Konversi Sistem

• Konversi per fase

Sistem lama Sistem Baru

Page 40: 02 software engineering

Konversi Sistem

• Konversi pilot atau single location

Sistem lama Sistem Baru

Page 41: 02 software engineering