perangkat lunak & rekayasa perangkat...

30
email Fasilkom|| 3/25/2014 PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK Defri Kurniawan M.Kom REKAYASA PERANGKAT LUNAK LANJUT

Upload: lamxuyen

Post on 07-Mar-2019

263 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK

Defri Kurniawan M.Kom

REKAYASA PERANGKAT LUNAK LANJUT

Page 2: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Refrensi

Page 3: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

content

Why Software Engineering Perangkat Lunak (PL)

Definisi Jenis-jenis berdasarkan Market, Platform, Licensi

Rekayasa Perangkat Lunak (RPL) Definisi Lapisan Mitos

Page 4: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/20144

WHY WHY SOFTWARE SOFTWARE ENGINEERING???ENGINEERING???

Page 5: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Why Software Engineering???

Ingin mengembangkan produk (software) berkualitas

Segala Aspek kehidupan dikendalikan oleh perangkat lunak

Banyak pengusaha dunia sukses di bidang Software Engineering

Usia Bidang kajian Software Engineering masih muda& terus berkembang

3/25/2014

5

Page 6: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Who’s the NEXT??

Pengusaha Dunia Software Engineering

Page 7: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Perkembangan Ilmu Software Engineering

1. Peter J Dennings yang memimpin task force disiplin ilmu computing memasukkan software engineering sebagai satu disiplin ilmu (Dennings, 1999)

2. IEEE Computer Society membentuk tim khususuntuk menyusun pohon ilmu Software Engineering (Software Engineering Body of Knowledge, SWEBOK) http://swebok.org

3. Software Engineering termasuk nama jurusan ataufakultas yang diakui menurut IEEE Computing Curricula 2005

Page 8: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Matriks Dennings 1999

1. Algoritma dan Struktur Data2. Bahasa Pemrograman3. Arsitektur Komputer4. Sistem Operasi dan Jaringan5. Software Engineering6. Database dan Sistim Retrieval Informasi7. Artificial Intelligence dan Robotik8. Grafik9. Human Computer Interaction10.Ilmu Komputasi11.Organizational Informatics12.BioInformatik ( Peter J. Dennings, 1999 )

Page 9: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

SWEBOK 2004Software Requirement

Software Requirements FundamentalsRequirement ProcessRequirements ElicitationRequirements AnalysisRequirements ValidationPractical Considerations

Software Design

Software Design FundamentalsKey Issues in Software DesignSoftware Structure and ArchitectureSoftware Design Quality Analysis and EvaluationSoftware Design NoationsSoftware Design Strategies and Methods

Software Construction

Software Construction FundamentalsManaging ConstructionPractical Considerations

Software Testing

Software Testing FundamentalsTest LevelsTest TechniquesTest Related MeasuresTest Process

Software Maintenance

Software Maintenance FundamentalsKey Issues in Software MaintenanceMaintenance ProcessTechniques for Maintenance

Software Configuration Management

Management of the SCM ProcessSoftware Configuration IdentificationSoftware Configuration ControlSoftware Configuration Status AccountingSoftware Configuration AuditingSoftware Release Management and Delivery

Software Engineering Management

Initiation and Scope DefinitionSoftware Project PlanningSoftware Project EnactmentReview and EvaluationClosureSoftware Engineering Measurement

Software Quality

Software Quality ManagementSoftware Quality Management ProcessPractical Considerations

Software Engineering Tools and Methods

Software Tools:Software Requirements ToolsSoftware Design ToolsSoftware Construction ToolsSoftware Testing ToolsSoftware Maintenance ToolsSoftware Configuration Management ToolsSoftware Engineering Management ToolsSoftware Engineering Process ToolsSoftware Quality ToolsMiscellaneous Tool Issues

Software Engineering Methods:Heuristic MethodsFormal MethodsPrototyping Methods

Software Engineering Process

Process Implementation and ChangeProcess DefinitionProcess AssesmentProcess and Product Measurement

Knowledge Areas of the Related Disciplines

Computer EngineeringComputer ScienceManagementMathematicsProject ManagementQuality ManagementSoftware ErgonomicSystems Engineering

Page 10: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

IEEE Computing Curricula 2005

1. Computer Engineering (CE, Teknik Komputer)2. Computer Science (CS, Ilmu Komputer)3. Information Systems (IS, Sistem Informasi)4. Information Technology (IT, Teknologi Informasi)5. Software Engineering (SE, Rekayasa Perangkat

Lunak)

Page 11: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

IEEE Computing Curricula 2005ComputerComputer

Engineering (CE)Engineering (CE)pengembangan pengembangan sistemsistem

terintegrasiterintegrasi(software dan(software danhardware)hardware)

Computer EngineerComputer Engineer

InformationInformationSystem (IS)System (IS)

analisa kebutuhan dananalisa kebutuhan danproses bisnisproses bisnis

serta dserta desain sistemesain sistem

System AnalystSystem AnalystInformationInformation

Technology (IT)Technology (IT)pengembanganpengembangan

dan maintenancedan maintenanceinfrastrukturinfrastruktur ITIT

Network EngineerNetwork Engineer

ComputerComputerScience (CS)Science (CS)

konsep computing konsep computing dandanpengembangan softwarepengembangan software

Computer ScientistComputer Scientist

SoftwareSoftwareEngineering (SE)Engineering (SE)

pengembangan softwarepengembangan softwaredan pengelolaan tahapandan pengelolaan tahapan

SDLCSDLC

Software EngineerSoftware Engineer

Page 12: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Perangkat Lunak - Definisi

Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait dan data yang berkaitan dengan pengoperasian sistem komputer(IEEE definition)

Perangkat Lunak komputer merupakan produk yang dibuat oleh para profesional perangkat lunak dalamjangka waktu panjang

Page 13: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Perangkat Lunak - Definisi

Definisi software dari IEEE hampir identik dengandefinisi ISO.

Sesuatu dapat dikatakan software, jika memiliki 4 komponen seperti: Computer Program (the “code”) Procedures Documentation Data necessary for operating system computer

(ISO, 1997, Sec. 3.11 an ISO/IEC 9000-3 Sec. 3.14)

Page 14: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Perangkat Lunak - Definisi

Perangkat Lunak adalah (1) Instruksi-instruksi(program komputer) yang ketika dijalankanmenyediakan fitur-fitur, fungsi-fungsi, dan kinerja-kinerja yang dikehendaki, (2) struktur data yang memungkinkan program-program memanipulasiinformasi, dan (3) informasi deskriptif pada salinantercetak dan bentuk-bentuk maya yang menggambarkan pengoperasian dan penggunaanprogram-program (Roger S.Pressman, 2010)

Page 15: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Perangkat Lunak – Jenis (Market)

Software berdasarkan market Software Generik

Perangkat lunak standar yang diproduksioleh perusahaan pengembang dan dijualpada pasar terbuka ke siapapun yang bisa membelinya (Shrink-wrapped)

Software PesananPerangkat lunak yang dikembangkankhusus dan disesuaikan dengankebutuhan pelanggan

(Ian Sommerville, Software Engineering 9 Ed., 2012)

Page 16: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Perangkat Lunak – Jenis (Platform)

Software berdasarkan 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 17: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Perangkat Lunak – Jenis (Licensi)

Software Berdasarkan Licensi1. Proprietary Software

Software yang source code-nya tertutup dan didistribusikandengan suatu format lisensi yang membatasi pihak lain untuk menggunakan, memperbanyak dan memodifikasi

2. Open Source SoftwareSoftware yang source code-nya terbuka dan didistribusikandalam suatu format lisensi yang memungkinkan pihak lain secara bebas memperbanyak dan memodifikasi source code didalamnya

Page 18: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Rekayasa Perangkat Lunak - Definisi

Disiplin ilmu yang membahas semua aspekproduksi perangkat lunak, mulai dari tahap awalspesifikasi, desain,konstruksi, testing sampaipemeliharaan setelahdigunakan

Page 19: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Rekayasa Perangkat Lunak - Definisi

Rekayasa Perangkat Lunak meliputi didalamnya suatu proses, kumpulan metode-metode dan sederetan perkakas (tools) yang memungkinkan para profesionalmengembangkan perangkat lunak berkualitastinggi

Page 20: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Rekayasa Perangkat Lunak - Definisi

IEEE [IEE93a] menyatakan: Rekayasa PerangkatLunak pada dasarnya merupakan: (1) aplikasi darisuatu pendekatan yang sistematik, disiplin dandapat diukur pada pengembangan, operasi, danperawatan perangkat lunak: yaitu penerapanrekayasa pada perangkat lunak. (2) Studipendekatan-pendekatan seperti pada (1).

Page 21: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Rekayasa Perangkat Lunak - Lapisan

Rekayasa Perangkat Lunak yang sesungguhnyamerupakan teknologi yang berlapis

Gambar Lapisan-lapisan (layers)Rekayasa Perangkat Lunak

Page 22: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Rekayasa Perangkat Lunak - Lapisan

Segala pendekatan rekayasa(termasuk rekayasa perangkat lunak) harus bersandar pada komitmenorganisasi pada peningkatan kualitas

Proses mendifinisikanframework (kerangka kerja)yang harus dibangun & membentuk dasar bagikendali menegement proyekperangkat lunak

Metode menyajikan prosedur-prosedurteknis untuk mengembangkan/ membangun perangkat lunak. Mencakup di dalamnya analisiskebutuhan, pemodelan, rancangan, pembuatan program, pengujian & dukungan terhadap pengguna

Perkakas menyajikan dukungan-dukungan bagi proses dan metode

Page 23: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

System Engineering, Software Engineering dan Sistem Komputer

System engineering mempunyai kaitan dengansemua aspek pengembangan sistem berbasiskomputer yang mencakup perangkat keras, perangkat lunak ,dan yang terkait dengan prosesbisnis.

Software engineering berkonsentrasi padakomponen perangkat lunak sistem yang lebih besar

Page 24: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Sistem Komputer

Sistem komputer adalah elemen-elemen yang terkait untuk menjalankan suatu aktifitas denganmenggunakan komputer.

Sistem Komputer pada dasarnya terdiri dari tigakomponen utama yaitu :- Perangkat Keras (Hardware)- Perangkat Lunak (Software)- Brainware (User/Sumber Daya Manusia)

Page 25: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Perkembangan Perangkat Lunak

Page 26: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Permasalahan Perangkat Lunak

Kemajuan perangkat keras terus berlanjut Tidak dapat memenuhi kebutuhan bisnis dan pasar

yang begitu cepat Masyarakat bergantung pada perangkat lunak, dan

mempengaruhi ekonomi bila perangkat lunak gagal Belum banyak dijumpai perangkat lunak yang

berkualitas tinggi (masih berjuang) Buruknya desain dan sumber daya yang tidak

memadai

Page 27: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Mitos-mitos Perangkat Lunak

Page 28: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Mitos Management

Page 29: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Mitos-mitos Customer

Page 30: PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAKdinus.ac.id/repository/docs/ajar/01_-_RPL.DEF.2014_-_SOFTWARE... · Perangkat Lunak adalah program komputer, prosedur, dokumentasi terkait

email Fasilkom|| 3/25/2014

Mitos-mitos Praktisi