Teknik Informatika S1 Rekayasa Perangkat Lunak Software Process (2)

Slides:



Advertisements
Presentasi serupa
Software Development Life Cycle (SDLC) Concept
Advertisements

Pengenalan Analisis & Perancangan Sistem
Pengembangan Sistem Informasi
Proses Perangkat Lunak
MODEL PROSES PERANGKAT LUNAK SPIRAL MODEL & COMPONENT ASSEMBLY
Rapid software development
Software Process Model
REKAYASA PERANGKAT LUNAK (Software Engineering) Eka Ismantohadi
BAB 2 METODE REKAYASA PERANGKAT LUNAK
METODE REKAYASA PERANGKAT LUNAK
Model Proses PL.
PERENCANAAN PROSES PERANGKAT LUNAK
Methods for Software Engineering
Kelompok 1 Mochammad. Nasir Mochammad. Nasir Isommuddin Isommuddin T. Yusak D
Metodologi Rekayasa Sistem Informasi
 Communication  Planning  Modeling  Contruction  Deployment.
Metodologi Pengembangan Sistem Informasi
MODEL PROSES REKAYASA PERANGKAT LUNAK
SIKLUS PENGEMBANGAN SISTEM INFORMASI Addr : : Contact No :
Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
Metodologi Pengembangan Perangkat Lunak
Metode rpl BY: Y. PALOPAK S.Si., MT..
Pengembangan Siklus Hidup Sistem
3. The Software Process.
PENGEMBANGAN APLIKASI
Review Rekayasa Perangkat Lunak
Software Process.
proses PERANGKAT LUNAK
Rekayasa Perangkat Lunak Model Proses PL
System Development Life Cycle (SDLC)
Rekayasa perangkat lunak (rpl)
Model Proses PL.
3. The Software Process.
Pengenalan Rekayasa Perangkat Lunak
Anna dara andriana., M.kom
RPL.
Metode Rekayasa Perangkat Lunak
SISTEM INFORMASI PEMASARAN
Rekayasa Perangkat Lunak
REKAYASA PERANGKAT LUNAK
Siklus Hidup Perangkat Lunak
Teknik Informatika S1 Rekayasa Perangkat Lunak Requirement Engineering
PROSES REKAYASA PERANGKAT LUNAK
Materi Habis Uts IMK Prototyping
RPL.
Software Process and Models
Prescriptive Process Models
Software Development Life Cycle (SDLC) Concept
Pengantar Teknologi Informasi (Teori)
METODE PENGEMBANGAN PERANGKAT LUNAK
PERTEMUAN 2 Proses Pengembangan Perangkat Lunak
Rekayasa Perangkat Lunak (Software Engineering)
Kelompok V FERDY WIDJAJA YOUNGKY DWI P
Review Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
Review Rekayasa Perangkat Lunak
MODEL PROSES PERANGKAT LUNAK
Review Rekayasa Perangkat Lunak
REKAYASA PERANGKAT LUNAK
Pengembangan Sistem Informasi
SOFTWARE ENGGINERING Model Model Siklus Rekayasa Perangkat Lunak
Pengembangan Sistem Informasi
Paradigma Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak (Software Engineering)
MODEL PROSES PERANGKAT LUNAK
Software PROCESS & Method
Software Development Life Cycle (SDLC)
Kelompok 3 | Rekayasa Sistem Informasi : Ahmad Rifai Eplin Mimi Susanti [ ] Fitriya Dewi Damayanti [ ] Ulfa Yuliana [ ] Kelompok.
System Development Life Cycle
Transcript presentasi:

Teknik Informatika S1 Rekayasa Perangkat Lunak Software Process (2) Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6285640392988

SILABUS MATA KULIAH Software Process (2) Pendahuluan Introduction to SE Software Process (1) Software Process (2) Requirement Engineering + Quiz Analysis Modeling (1) Analysis Modeling (2) Pembahasan UTS + Tugas SKPL Presentasi SKPL Design Engineering + Tugas DPPL Presentasi DPPL Software Testing + Quiz Present Tugas Besar

Review Materi Minggu Lalu

CMMI (Capability Maturity Model Integration) Characteristics of Maturity levels Level 5 Optimizing Focus on process improvement Level 4 Quantitatively Managed Processes measured and controlled Processes characterized for organization and is proactive (Projects tailor their processes from organization’s standards) Level 3 Defined Fokus pada proses perbaikan Level 2 Managed Processes characterized for projects and is often reactive Level 1 Initial Processes Unpredictable, poorly controlled and reactive

SOFTWARE DEVELOPMENT LIFE CYCLE Planning Analysis Design Implementation

SOFTWARE DEVELOPMENT LIFE CYCLE Pengertian ?

SOFTWARE DEVELOPMENT LIFE CYCLE Pengertian “Sekumpulan Kegiatan dan keterhubungannya satu sama lain untuk mendukung pembangunan dari sebuah perangkat lunak”.

Pertanyaan Seputar SDLC 1. Aktifitas mana yang harus dipilih dalam pembangunan perangkat lunak? ?

Pertanyaan Seputar SDLC 1. Aktifitas mana yang harus dipilih dalam pembangunan perangkat lunak? SDLC berisi proses yang bukan untuk dipilih tapi untuk dilakukan secara keseluruhan

Pertanyaan Seputar SDLC 2. Hubungan antar aktifitas dalam SDLC? ?

Pertanyaan Seputar SDLC 2. Hubungan antar aktifitas dalam SDLC? Hasil dari kegiatan sebelumnya mempunyai pengaruh yang sangat besar untuk kegiatan berikutnya

Pertanyaan Seputar SDLC 3. Bagaimana cara menjadwalkan kegiatan pada SDLC? ?

Pertanyaan Seputar SDLC 3. Bagaimana cara menjadwalkan kegiatan pada SDLC? Penjadwalan kegiatan SDLC dibahas dalam ilmu Manajemen Proyek (Project Management) dan tidak dibahas pada RPL

Aktivitas Pembangunan Perangkat Lunak (SDLC) 1 Gathering Requirements 2 Analysis 3 Design 4 Coding 5 Testing 6 Documentation 7 Maintenance

SDLC Processes and Deliverables Product Planning Analysis Design Implementation System Proposal System Specification New System with Testing/Maintenance Plan

SDLC and Deliverables Planning Analysis (System Specification) (System Proposal) Analysis (System Specification) Design (System Specification) Implementation (New System)

Process Flow 1. Linear Process 2. Iterative Process 3. Evolutionary Process

System/ Information Engineering 1. Linear Process Analysis Design Code Test System/ Information Engineering

2. Iterative Process Communication Planning Modeling Construction Deployment

3. Evolutionary Process Communication Planning Modeling Construction Deployment

Software Process Model 1. Linear Sequential Model 1. Waterfall Model 2. V Model 3. RAD Model 2. Prototyping Model 3. Evolutionary Model 1. Incremental Model 2. Spiral Model 3. Component Assembly Model 4. Concurrent Development Model 4. Formal Method 5. Unified Process 6. 4GT Model 7. Agile Methods (ex: XP)

1. Waterfall Model Sebuah pendekatan pengembangan perangkat lunak yang sistematik dan sekuensial. Disebut juga ‘Classic Life Cycle’. Paradigma yang sudah lama sekali, tetapi masih banyak yang memakai karena dianggap masih sesuai dengan keadaan sekarang.

1. Waterfall Model Roger S, Pressman

1. Waterfall Model Ian Sommerville

1. Waterfall Model Alan Dennis

Karakteristik Waterfall Model Setiap tahap menghasilkan dokumen di akhir tahapnya Tidak ada overlapping pada setiap tahapnya Setiap tahapan akan punya pengaruh besar pada hasil di tahap berikutnya Memerlukan biaya besar jika melakukan rework Overlapping = Tumpang tindih/ Bersamaan

Kelebihan Waterfall Model Menghasilkan mature process pada setiap tahapnya Mudah untuk diaplikasikan pada sebuah proyek Menghasilkan sistem yang terstruktur dengan baik Memiliki tingkat visibilitas yang tinggi (setiap tahap mempunyai dokumen yang jelas)

Kekurangan Waterfall Model Ketidak fleksibelan antar tahapan Susah dalam merespon perubahan kebutuhan customer Model ini hanya cocok jika: a. Kebutuhan customer sudah sangat jelas b. Perubahan kebutuhan dibatasi

Modified Waterfall Model (M.Kochanski) Sashimi

Modified Waterfall Model (M.Kochanski) Waterfall with Spiral Introduction

Modified Waterfall Model (M.Kochanski) Waterfall with Subprojects

V model

Rapid Application Development (RAD) RAD = Rapid Application Development Adaptasi dari waterfall model yang: menekankan siklus pengembangan perangkat lunak yang sangat pendek; menggunakan pendekatan konstruksi berbasis komponen. Menciptakan sistem fungsional yang utuh dalam waktu 60-90 hari.

Rapid Application Development (RAD)

Rapid Application Development (RAD) Business Modelling Memodelkan fungsi-fungsi bisnis untuk menjawab pertanyaan- pertanyaan: Informasi apa yang mengendalikan proses bisnis ? Informasi apa yang dimunculkan? Ke mana infomasi itu pergi? Siapa yang memprosesnya? Data Modelling Aliran informasi yang didefinisikan pada fase business modelling ditransformasikan ke dalam serangkaian obyek data.

Rapid Application Development (RAD) Process Modelling Mentransformasikan obyek data pada suatu fungsi yang menghasilkan aliran informasi yang dibutuhkan. Application Generation Mengkonstruksi perangkat lunak dengan memakai komponen yang ada (bila memungkinkan) atau menciptakan komponen yang dapat dipakai lagi. Testing and Turnover Menguji komponen baru.

Prototyping Model Membantu software engineer untuk mendapatkan kebutuhan berupa feedback cepat dari customer

Evolutionary Process Model 1. Prototyping Dipakai jika: 1. Sistem mempunyai resiko tinggi tidak jelas permasalahannya 2. Lebih fokus pada perancangan dialog user komputer (Sistem dengan User) bagaimana membuat dialog yang baik, ramah, mudah ? 3. Sistem diminati oleh banyak pemakai mencari kesepakatan (dasar untuk menyamakan persepsi)

Evolutionary Process Model 1. Prototyping 4. User ingin cepat selesai user tidak sabar menunggu prototipe segera memperlihatkan bentuk kerja sistem 5. Masa pakai singkat sistem hanya dipakai beberapa kali saja 6. Ingin menunjukkan inovasi pengembang dapat menunjukkan kecanggihan 7. Kebutuhan berubah-ubah user sulit menjelaskan kebutuhan

Evolutionary Process Model 1. Prototyping

Type of Prototyping 1. Evolutionary prototyping 2. Throw-away prototyping

Evolutionary Prototyping Prototype Requirements Prototype Programming Reviews Validates? Release

Throw-away Prototyping Prototype Requirements System Programming System Testing Prototype Programming Reviews Validates? Reviews Validates? Release

Prototyping Speciality Frekuensi komunikasi user – developer meningkat pengembang akan selalu meminta pendapat user Membantu analis dalam menentukan kebutuhan user yang sebenarnya meminimalkan salah persepsi Peran user meningkat evaluasi oleh user berkali-kali user bisa memberikan masukan setiap saat

Prototyping Speciality Pengembangan lebih cepat program bisa langsung dibuat user melihat perkembangan tahap demi tahap Implementasi mudah user sudah mengenal perangkat lunak yang dikembangkan user tidak akan merasa asing sejak awal user sudah merasa memiliki

Prototyping Weakness User sibuk user & pengembang harus sama-sama memiliki komitmen menyediakan waktu untuk bertemu. User sulit melakukan evaluasi bentuk prototipe sering berubah, disesuaikan dengan kebutuhan user. User ingin cepat selesai bentuk program sudah terlihat sejak awal. user merasa tidak akan lama lagi selesai. pengembang sering mengabaikan dokumentasi.

Prototyping Weakness User berharap terlalu banyak keseringan evaluasi & komunikasi membuat user menjadi berubah keinginan dan tidak pasti dengan kebutuhan. Prototipe bekerja tidak efisien lebih mementingkan keberhasilan.

Evolutionary Model Incremental Model Incremental Model merupakan gabungan antara model linier sekuensial dan prototyping. Setiap linier sekuen menghasilkan produk yang deliveriables. Increment pertama merupakan produk inti (core), yang mengandung persyaratan/kebutuhan dasar. Penambahan dilakukan pada increment-increment berikutnya.

Evolutionary Model Incremental Model

Evolutionary Process Model 2. Spiral Model Digunakan software engineer skala besar. Growing of software menjadi ide dari model proses ini

Evolutionary Process Model 2. Spiral Model Evolutionary process (pengembangan bertingkat) Menggabungkan keunggulan prototyping dan waterfall Memungkinkan dikembangkannya perangkat lunak secara bertahap (incremental) dan cepat. Terbagi atas 6 tahapan: customer communication planning risk analysis engineering construction & release customer evaluation

Evolutionary Process Model 2. Spiral Model Planning analisa resiko berdasarkan evaluasi user Risk Analysis Integration and test plan development plan analisa resiko berdasarkan kebutuhan awal menentukan tujuan, alternatif, batasan sistem dan budget development plan Requirements Customer Communication prototipe awal Engineering prototipe tingkat berikutnya Project Entry Point produk-jadi Customer Evaluation Construction & Release

Evolutionary Process Model 3. Component Assembly Model identify candidate components look up components construct n- th in library iteration of system put new extract components components in if available library build components if unavailable engineering Engineering, contruction & release customer evaluation entry point Customer communication risk analysis planning

Evolutionary Process Model 4. Conccurent Model Model proses yang memungkinkan perubahan keadaan dari under development ke awaiting change (berhenti sementara) ketika terjadi perubahan kebutuhan

Evolutionary Process Model 4. Conccurent Model none Analysis activity Under development A waiting changes Under review Under revision baselined done

Evolutionary Process Model 4. Conccurent Model Aktivitas sistem dan komponen yang berlangsung secara simultan dan dapat dimodelkan dengan menggunakan pendekatan orientasi keadaan; Aplikasi klien/server khusus yang diimplementasikan dengan banyak komponen yang masing-masing bisa dirancang dan direalisasikan secara konkuren.

Formal Method Mencakup sekumpulan aktivitas yang membawa kepada spesifikasi matematis perangkat lunak komputer; Memungkinkan software engineer untuk mengkhususkan, mengembangkan, dan mem-verifikasi sistem berbasis komputer dengan menggunakan notasi matematis yang tepat; Variasi dari pendekatan ini disebut clean-room software engineering.

Formal Model

UNIFIED PROCESS Model proses yang menggabungkan beberap konsep unggulan dari model proses lainnya. Penekanan pada model proses ini, yaitu: 1. Komunikasi dengan customer secara intens (streamlined) 2. Arsitektur yang reusable dan terbuka pada perubahan kebutuhan 3. Alur proses yang iterative atau incremental

UNIFIED PROCESS

Fourth Generation Techniques (4GT) Terkait dengan penggunaan tools. Pengembang software mendefinisikan karakteristik software secara 'high level'; tool secara otomatis akan membangkitkan kode.

Fourth Generation Techniques (4GT) 4GT mempercepat proses pengembangan perangkat lunak. Proses perancangan dan dokumentasi baik. Masih dipertanyakan beberapa pihak: efisiensi kode yang dihasilkan, kemudahan (relatif).

Fourth Generation Techniques (4GT) requirements gathering design strategy implementation using 4GL testing 4GL/ Fourth generation language

AGILE METHOD Model proses yang menekankan pada fast delivery dari setiap poin aktivitas dalam rangka memperpendek jangka waktu proyek pembangunan perangkat lunak.

AGILE METHOD

AGILE METHOD Just a few rules that are easy to learn and follow Streamline the SDLC Eliminate much of the modeling and documentation Emphasize simple, iterative application development Examples include: Extreme Programming (XP) Scrum Dynamic Systems Development Model (DSDM)

AGILE METHOD (Extreme Programming) “Core Values” of XP Communication – All to All Simplicity – refactoring Feedback – Embrace Change Courage – Quality First, test and efficient coding

AGILE METHOD (Extreme Programming) User Stories about system do Code small program using defined standards Naming conventions Coding practices User Feedback Repeat

AGILE METHOD (Extreme Programming)

Latihan Chelsea Outlet merupakan outlet yang bergerak di bidang penjualan jersey khusus Chelsea. Seiring perkembangan outlet yang semakin maju diikuti persaingan dengan outlet lain. Pengolahan data penjualan di Chelsea outlet masih kurang efektif karena transaksi belum terkomputerisasi. Chelsea outlet memerlukan sebuah perangkat lunak untuk mengolah data penjualan dan laporannya. Perangkat yang dibuat harus sesuai dengan sarana komputer yang ada di Chelsea outlet. Model Proses apakah yang tepat digunakan untuk kasus di atas? Dan jelaskan alasannya?

TERIMA KASIH