1 / 17

Software Engineering

Software Engineering. Development Plan & Requirements Analysis. Mau buat apa?. Bagaimana memulainya? Apa pekerjaan pertama yang harus dilakukan? Pekerjaan pertama → analisis Analisis itu apa? Apakah sebelum analisis tidak ada pekerjaan lainnya? Analisis → requirements analysis

Télécharger la présentation

Software Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Engineering Development Plan & Requirements Analysis Software Engineering

  2. Mau buat apa? • Bagaimana memulainya?Apa pekerjaan pertama yang harus dilakukan? • Pekerjaan pertama → analisis • Analisis itu apa? • Apakah sebelum analisis tidak ada pekerjaan lainnya? • Analisis → requirements analysis • Requirements → sesuatu yang dimiliki oleh pengguna maupun yang berkepentingan, baik secara eksplisit maupun potensial • Requirements analysis • Mengidentifikasi requirements yang dimiliki pengguna dan stakeholders, untuk kemudian didefinisikan requirements specification. • → menentukan apa yang akan dibuat Software Engineering

  3. Apakah mau dibuat? • Requirements analysis tidak semudah yang dibayangkan • Apakah sistem harus dibuat? • Apakah memang harus dipertimbangkan pembuatan sistem? • Untuk bisa menentukan itu, harus tahu terlebih dahulu sistem seperti apa yang dibayangkan • "Mau buat apa?" dan "Mau dibuat atau tidak?" • Harus dipikirkan bersama-sama • Nilai yang dimiliki oleh (sistem) software • ekonomi, psikologi, analisis pasar, identifikasi masalah dan pencarian solusi, dan hal lain yang banyak dipengaruhi oleh faktor manusia • → jobs of system analyst Software Engineering

  4. Systemization ≠ Computerization • Apa itu sistem? • Sistem adalah, mekanisme untuk menghasilkan sesuatu (suatu tujuan, target) secara terus menerus • Sistemisasi (atau sistematisasi) adalah, upaya untuk membangun mekanisme itu • Sistemisasi tidak selalu sama dengan komputerisasi Software Engineering

  5. Pertimbangan pembuatan sistem • Selain fungsi yang diminta, juga perlu dipertimbangkan • Manfaat, keuntungan • Biaya • Waktu (pengembangan), jadwal • Sumber daya • Manajemen, organisasi, pasar, peraturan, social, dan constraint lainnya • Pada tahap awal pengembangan sistem, faktor ini dibahas secara keseluruhan, berdasarkan itu, diputuskan apakah proyek dilaksanakan atau tidak • Pengambilan keputusan diambil tidak hanya oleh manajer saja, namun juga oleh developer dan pihak terkait lainnya (stakeholders) Software Engineering

  6. Hasil perencanaan sistem • Isi dokumen perencanaan sistem: • Latar belakang • Tujuan pengembangan • Target domain (cakupan) • Kondisi bisnis (pekerjaan) saat ini • Kondisi bagian yang sudah disistemkan • Ringkasan sistem yang akan dibuat • Efek/manfaat • Syarat dan kondisi atau constraint • Rencana pengembangan dan implementasi • Estimasi biaya pengembangan • Sumber daya yang diperlukan Software Engineering

  7. Metode analisis sistem Software Engineering

  8. Estimasi biaya • Tidak ada metode yang pasti, namun yang umum dilakukan • dengan metode tertentu ditentukan skala besarnya software • dari skala besarnya software, dengan metode tertentu, ditentukan production-cost-nya (man-hour, man-month, dsb) • dari production-cost, ditentukan waktu/jadwal dan jumlah personil • The mythical man-month • Jika ada proyek pengembangan software yang terlambat, kalau ditambah personil, akan menjadi lebih terlambat (F. P. Brooks, Jr) Software Engineering

  9. Relasi orang bulan teori Hukum Brooks Software Engineering

  10. Requirements Engineering • Lahir pertengahan tahun 1970-1980 • Contoh metode dalam RE • PSL/PSAD. Teichrow (Michigan Univ), dalam proyek ISDOS (Information System Design and Optimization System), membuat PSL (Problem Statement Language) dan PSA (Problem Statement Analysis) • SREM (Software Requirement Engineering Methodology)Metode yang dibangun di TRW Huntsville Lab; RSL (Requirements Specification Languange), R-Net (Requirements Network), untuk realtime system • SADT (Structured Analysis Design Technique)Dibangun oleh D.T. Ross from Softech Corp; Input, Output, Control data, dan Resources, dihubungkan dengan tanda panah dari kiri kanan atas bawah.Selanjutnya berkembang menjadi IDEF0 (Integration Definition for Functional Modeling) Software Engineering

  11. Konsep requirements analysis • Terbagi menjadi dua proses • Proses untuk memperjelas apa yang diinginkan dari kondisi yang tidak jelas/ambigu menjadi kondisi yang jelas→ requirements analysis, problem analysis, atau analisis saja • Proses untuk mendeskripsikan apa yang diinginkan, menggunakan specification definition model/language→ requirements specification, specification description • Tipe analisis permintaan • Extraction of requirements needs/Idea → requirements • Goals oriented hierarchy of goals • Domain model Software Engineering

  12. Contoh skenario • Drink Vending Machine • Pembeli memasukkan uang kertas atau koin atau keduanya ke dalam mesin • Jumlah uang yang dimasukkan muncul, dan lampu pada minuman yang harganya sesuai dengan jumlah uang yang dimasukkan akan menyala • Pembeli menekan tombol yang lampunya menyala, dan minuman akan keluar, kemudian jumlah uang akan berkurang • Jika pembeli akan membeli minuman yang lain, bisa dilakukan selama lampu pada minuman/tombol masih menyala • Pembeli bisa kembali ke nomor 1, yaitu memasukkan uang, kemudian mengulang nomor 2 dan seterusnya • Jika masih ada sisa uang, pembeli dapat menekan tombol "Kembali" untuk mengeluarkan sisa uang Software Engineering

  13. Contoh goal deployment Software Engineering

  14. Tipe permintaan • Terbagi menjadi functional dan non-functional • Non-functional misalnya • performa/kinerja • kemudahan dalam penggunaan • keamanan • kemudahan dalam pemeliharaan/perawatan • portabilitas atau kemudahan dalam mobilitas • dsb. (berbagai macam bergantung referensinya) • Antar permintaan bisa saling bentrok, selalu ada tradeoff → Harus ada penyeimbangan Software Engineering

  15. Spesifikasi vs Requirements spesifikasi, karakteristik lingkungan → requirements program, karakteristik mesin → specification Software Engineering

  16. Apa yang harus dispesifikasi • Komponen dalam spesifikasi • Functional specification • Performance specification • Reliability specification • Interface specification • dsb. (berbagai macam bergantung referensinya) • Namun dalam prakteknya, tidak semudah yang dibayangkan • Contoh: program untuk mencari pembagi terbesar dari dua bilangan • Yang harus membuat spesifikasi • Pihak yang harus menyampaikan permintaan (pemesan) • Pihak yang merealisasikan permintaan (pembuat) Software Engineering

  17. Syarat spesifikasi yang baik • Syarat spesifikasi yang bai • LegitimateJelas, konsisten, tidak ada kontradiksi, dan tidak ada yang terlewat • StrictTegas, tidak ada yang ambigu, seluruhnya terdefinisi • ReadableMudah dibaca dan dimengerti • VerifiableKonsistensinya bisa diverifikasiJika bisa diverifikasi secara otomatis lebih baik • Possible/feasibleBisa direalisasikan dengan implementasi yang konkrit • Selalu ada tradeoff Software Engineering

More Related