Overview By: Uro AbdRohim U. Abd. Rohim
Rekayasa Perangkat Lunak (OVERVIEW)
Halaman: 1
Tujuan Umum • Memberikan pengertian dan pemahaman mendasar yang rinci terhadap setiap tahapan dan proses pembangunan suatu perangkat lunak; • Memberikan pengetahuan dan ketrampilan mendalam bagi penyelesaian solusi permasalahan keseluruhan, • Memberikan ketrampilan khusus dalam melakukan penyelesaian tahap analisis dan perancangan Perangkat Lunak. U. Abd. Rohim
Rekayasa Perangkat Lunak (OVERVIEW)
Halaman: 2
Tujuan Khusus • Memberikan kemampuan dalam pengumpulan dan menstrukturkan requirements dan spesifications suatu perangkat lunak secara tepat, lengkap dan jelas. • Memberikan kemampuan dalam menentukan pilihan metodologi yang akan dipergunakan meninjau pada model permasalahan yang ada dengan memperhatikan alternatif solusi penyelesaian masalah tersebut. • Mampu menerapkan berbagai metodologi penyelesaian masalah secara baik, lengkaap dan tuntas terutama pada tahap analisis ddan perancangan..
U. Abd. Rohim
Rekayasa Perangkat Lunak (OVERVIEW)
Halaman: 3
Buku dan Software • Roger S.Pressman, “Software Engineering : A practitioner’s approaches”, McGraw Hill,5th edition, 2001 • Software pendukung – Rational Rose – Visio
U. Abd. Rohim
Rekayasa Perangkat Lunak (OVERVIEW)
Halaman: 4
Apa itu Software (S/W)? • Software merepresentasikan masalah di dunia nyata • Masalah di dunia nyata lebih komplek dari “switching two values” • Software ≠ program • Software meliputi (program, dokumen, data) U. Abd. Rohim
Rekayasa Perangkat Lunak (OVERVIEW)
Halaman: 5
Karakteristik Software (Pressman 1997)
• Software adalah komponen sistem yang logic (bukan fisik seperti elemen bangunan atau komputer) • Software dibangun atau direkayasa, tidak melalui proses manufaktur secara umum • Software tidak akan kadaluarsa • Kebanyakan software dibangun berdasarkan kebutuhan U. Abd. Rohim
Rekayasa Perangkat Lunak (OVERVIEW)
Halaman: 6
Software Aplikasi • • • • • • •
System Software Real-Time Software Business Software Engineering and scientific Software Embedded Software Personal Computer Software Artificial Intelligence Software
U. Abd. Rohim
Rekayasa Perangkat Lunak (OVERVIEW)
Halaman: 7
Perkembangan Software • Th ’50 – ’60an
• Sekarang
– Batch Orientation – Limited Distribution – Custom Software
• Th ’65an – ’75an – – – –
Multi user Real-time Database Product software
U. Abd. Rohim
– Fowerful desktop system – Object Oriented Tech – Expert System – Artificial Neureal Network – Pararel Computing – Network Computer
Rekayasa Perangkat Lunak (OVERVIEW)
Halaman: 8
Apa itu Software Engineering (SE) ? Adalah teknologi yang harus digunakan oleh setiap orang yang akan membangun software, dengan melalui serangkaian proses menggunakan sekumpulan metode dan alat bantu (Tools).
U. Abd. Rohim
Rekayasa Perangkat Lunak (OVERVIEW)
Halaman: 9
Mengapa perlu SE ? (1) • Untuk mendapatkan S/W yang benar dan untuk membuat S/W menjadi benar • S/W adalah sesuatu yang komplek dalam hal: – Domain Problem : Business Rule – Data size : Digital or not digital – Solution : Algorithm – Place or Sites U. Abd. Rohim
Rekayasa Perangkat Lunak (OVERVIEW)
Halaman: 10
Mengapa perlu SE ? (2) • S/W harus benar (Correct) – Berdasarkan Business Rule – Sejalan dengan segala sesuatu dan semua pihak yang terkait
• Pembangunan S/W harus dikelola dengan baik untuk menjamin kebenarannya (Correctness)
U. Abd. Rohim
Rekayasa Perangkat Lunak (OVERVIEW)
Halaman: 11
Elemen SE • Product = Software – Programs – Documents – Data
• Process of how the software is build – Management process – Technical Process U. Abd. Rohim
Product Diperoleh melalui tahapan pembangunan SDLC Contoh SDLC Waterfall Model Prototyping Model Spiral Model
Rekayasa Perangkat Lunak (OVERVIEW)
Halaman: 12
Elemen SE (2) Management Process • Project Management • Configuration Management • Quality Assurance Management
U. Abd. Rohim
Technical Process Metode yang harus diaplikasikan pada setiap tahapan SDLC – – – –
Metode Analisis Metode Perancangan Metode Pemrograman Metode Pengujian
Rekayasa Perangkat Lunak (OVERVIEW)
Halaman: 13
Siapa saja yang terlibat ? • Manager
• Support
– Project Manager – Configuration Manager – QA Manager
• Software Developer
– Administration – Technical Support for customers – Welfare (keselamatan)
– Analyst – Designer – Programmer
U. Abd. Rohim
Rekayasa Perangkat Lunak (OVERVIEW)
Halaman: 14