email Fasilkom|| 3/25/2014
PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK
Defri Kurniawan M.Kom
REKAYASA PERANGKAT LUNAK LANJUT
email Fasilkom|| 3/25/2014
Refrensi
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
email Fasilkom|| 3/25/20144
WHY WHY SOFTWARE SOFTWARE ENGINEERING???ENGINEERING???
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
email Fasilkom|| 3/25/2014
Who’s the NEXT??
Pengusaha Dunia Software Engineering
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
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 )
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
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)
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
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
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)
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)
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)
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)
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
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
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
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).
email Fasilkom|| 3/25/2014
Rekayasa Perangkat Lunak - Lapisan
Rekayasa Perangkat Lunak yang sesungguhnyamerupakan teknologi yang berlapis
Gambar Lapisan-lapisan (layers)Rekayasa Perangkat Lunak
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
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
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)
email Fasilkom|| 3/25/2014
Perkembangan Perangkat Lunak
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
email Fasilkom|| 3/25/2014
Mitos-mitos Perangkat Lunak
email Fasilkom|| 3/25/2014
Mitos Management
email Fasilkom|| 3/25/2014
Mitos-mitos Customer
email Fasilkom|| 3/25/2014
Mitos-mitos Praktisi
Top Related