Summary Materi RPL Mid Semester affandydosen dinus ac

  • Slides: 29
Download presentation
Summary Materi RPL Mid Semester affandy@dosen. dinus. ac. id Omfandy. wordpress. com

Summary Materi RPL Mid Semester affandy@dosen. dinus. ac. id Omfandy. wordpress. com

What is software? • Program komputer dan dokumentasi yang terkait dengannya • Produk software

What is software? • Program komputer dan dokumentasi yang terkait dengannya • Produk software yang dikembangkan untuk customer tertentu atau untuk kebutuhan general market

What is software engineering? Bidang disiplin ilmu rekayasa yang terkait dengan aktifitas produksi software

What is software engineering? Bidang disiplin ilmu rekayasa yang terkait dengan aktifitas produksi software

Software engineering VS Computer science Ilmu komputer fokus pada teori dan konsep dasar; Software

Software engineering VS Computer science Ilmu komputer fokus pada teori dan konsep dasar; Software engineering fokus pada sisi praktis dari pengembangan dan penyampaian software yang bermanfaat.

Software engineering VS System engineering? System engineering terkait dengan semua aspek pada sistem berbasis

Software engineering VS System engineering? System engineering terkait dengan semua aspek pada sistem berbasis komputer yang meliputi hardware, software dan proses rekayasa. Software engineering adalah bagian dari proses tersebut

What is a software process? • Sekumpulan aktifitas dimana tujuannya adalah pengembangan atau evolusi

What is a software process? • Sekumpulan aktifitas dimana tujuannya adalah pengembangan atau evolusi software – Specification – Apa yang harus dikerjakan sistem dan batasan pengembangannya – Development – Produksi dari sistem software – Validation – Pemeriksaan apakah software memenuhi kebutuhan customer – Evolution – Perubahan software terhadap perubahan kebutuhan

What is a software process model? • Representasi sederhana dari software process, yang dipresentasikan

What is a software process model? • Representasi sederhana dari software process, yang dipresentasikan dari sudut pandang tertentu – Workflow perspective - sequence of activities – Data-flow perspective - information flow – Role/action perspective - who does what • Model proses secara umum – – Waterfall Evolutionary development Formal transformation Integration from reusable components

What are the costs of software engineering? • Macam-macam biaya sangatlah bervariasi bergantung pada

What are the costs of software engineering? • Macam-macam biaya sangatlah bervariasi bergantung pada jenis sistem yang dikembangkan dan atribut kebutuhan sistem seperti performa dan keandalan dari sistem. • Distribusi biaya bergantung pada model pengembangan yang digunakan

What are software engineering methods? Pendekatan terstruktur dalam pengembangan software yang meliputi model, notasi,

What are software engineering methods? Pendekatan terstruktur dalam pengembangan software yang meliputi model, notasi, rules, desain, dan petunjuk proses

What is CASE ? • System software yang khusus menyediakan dukungan otomatisasi pada aktivitas

What is CASE ? • System software yang khusus menyediakan dukungan otomatisasi pada aktivitas software process. CASE systems sering digunakan untuk dukungan metode pengembangan software • Upper-CASE – pada tahapan analisa kebutuhan dan perancangan • Lower-CASE – Pada aktivitas proses lanjutan seperti pemrograman, debugging dan testing

What are the attributes of good software? • Software mampu memiliki fungsionalitas dan performa

What are the attributes of good software? • Software mampu memiliki fungsionalitas dan performa yang diinginkan user dan memiliki sifat berikut : – Maintainability Software harus berevolusi agar sesuai dengan perubahan kebutuhan – Dependability Software harus dapat dipercaya – Efficiency Software tidak boleh memboroskan resource system – Usability Software harus bermanfaat terutama bagi pengguna sesuai dengan yang dirancang

What are the key challenges? Kemampuan mengatasi system-system lama, kemampuan menghadapi keanekaragaman yang meningkat,

What are the key challenges? Kemampuan mengatasi system-system lama, kemampuan menghadapi keanekaragaman yang meningkat, serta mampu mengurangi waktu pengembangan dengan cost yang kompetitif, profesionalisme human resources

Software process • Sekumpulan aktifitas yang terstruktur yang dibutuhkan untuk mengembangkan software – –

Software process • Sekumpulan aktifitas yang terstruktur yang dibutuhkan untuk mengembangkan software – – Specification Design Validation Evolution • Model akan mendeskripsikan suatu proses dari sudut pandang tertentu (representasi proses)

Software specification • Proses untuk menentukan services apa yang dibutuhkan dan batasan pada tahapan

Software specification • Proses untuk menentukan services apa yang dibutuhkan dan batasan pada tahapan pengoperasian dan pengembangan sistem • Requirements engineering process – – Studi kelayakan Pembentukan dan analisa kebutuhan Requirements specification Requirements validation

Software design and implementation • Proses mengkonversi spesifikasi system specification kedalam executable system •

Software design and implementation • Proses mengkonversi spesifikasi system specification kedalam executable system • Software design – Desain struktur software yng mengacu pada dokumen specification • Implementation – Translate this structure into an executable program

Software validation • Menunjukkan bahwa system telah sesuai dengan spesifikasinya dan memenuhi kebutuhan dari

Software validation • Menunjukkan bahwa system telah sesuai dengan spesifikasinya dan memenuhi kebutuhan dari customer • Melibatkan checking dan review proses serta system testing • Meliputi mengeksekusi system dengan skenario test yang diturunkan dari spesifikasi data real untuk diproses oleh system

Software evolution Dengan berubahnya kebutuhan seiring dengan perubahan kondisi bisnis, software yang mendukung bisnis

Software evolution Dengan berubahnya kebutuhan seiring dengan perubahan kondisi bisnis, software yang mendukung bisnis sudah selayaknya juga ikut berubah

Generic software process models • The waterfall model – Separate and distinct phases of

Generic software process models • The waterfall model – Separate and distinct phases of specification and development • Evolutionary development – Specification and development are interleaved • Formal systems development – A mathematical system model is formally transformed to an implementation • Reuse-based development – The system is assembled from existing components

Incremental development Bukan sekedar menghantarkan sistem sebagai “single delivery”, development dan delivery dipecah menjadi

Incremental development Bukan sekedar menghantarkan sistem sebagai “single delivery”, development dan delivery dipecah menjadi beberapa tahapan dimana tiap tahap akan mendeliver bagian dari kebutuhan fungsionalitas sistem

Requirements engineering Proses penentuan service yang dibutuhkan customer dalam sebuah sistem dan penentuan batasan

Requirements engineering Proses penentuan service yang dibutuhkan customer dalam sebuah sistem dan penentuan batasan lingkungan pengoperasian dan pengembangan sistem

What is a requirement? • Dapat berupa pernyataan abstrak secara umum dari layanan atau

What is a requirement? • Dapat berupa pernyataan abstrak secara umum dari layanan atau batasan sistem, dapat juga berupa spesifikasi fungsional matematis yang lebih rinci • Memiliki fungsi ganda : – Sebagai dasar untuk penawaran kontrak – requirement haruslah diintepretasikan secara terbuka – Sebagai dasar untuk pembuatan kontrak itu sendiri –requirement harus didefinisikan secara detail

Types of requirement • User requirements – Statements plus diagrams of the services that

Types of requirement • User requirements – Statements plus diagrams of the services that the system provides and its operational constraints. • System requirements – A structured document setting out detailed descriptions of the system services. • Software specification – A detailed software description which can serve as a basis for a design or implementation.

Functional and non-functional requirements • Functional requirements – Pernyataan mengenai kebutuhan layanan sistem yang

Functional and non-functional requirements • Functional requirements – Pernyataan mengenai kebutuhan layanan sistem yang harus disediakan, bagamana sistem akan bereaksi terhadap masukan tertentu dan bagaimana mestinya sistem beraksi pada situasi tertentu. • Non-functional requirements – Batasan dari layanan atau fungsi yang ditawarkan sistem, misalnya batasan waktu, btasan proses pengembangan, standard dan lain-lain

Requirements document requirements • • • Specify external system behaviour Specify implementation constraints Easy

Requirements document requirements • • • Specify external system behaviour Specify implementation constraints Easy to change Serve as reference tool for maintenance Record forethought about the life cycle of the system i. e. predict changes • Characterise responses to unexpected events

IEEE requirements standard • • • Introduction General description Specific requirements Appendices Index This

IEEE requirements standard • • • Introduction General description Specific requirements Appendices Index This is a generic structure that must be instantiated for specific systems

Requirements document structure • • • Introduction Glossary User requirements definition System architecture System

Requirements document structure • • • Introduction Glossary User requirements definition System architecture System requirements specification System models System evolution Appendices Index