Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Teknik Informatika S1 Rekayasa Perangkat Lunak Software Process (2)

Presentasi serupa


Presentasi berjudul: "Teknik Informatika S1 Rekayasa Perangkat Lunak Software Process (2)"— Transcript presentasi:

1 Teknik Informatika S1 Rekayasa Perangkat Lunak Software Process (2)
Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS

2 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

3 Review Materi Minggu Lalu

4 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

5 SOFTWARE DEVELOPMENT LIFE CYCLE
Planning Analysis Design Implementation

6 SOFTWARE DEVELOPMENT LIFE CYCLE
Pengertian ?

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

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

9 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

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

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

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

13 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

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

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

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

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

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

19 2. Iterative Process Communication Planning Modeling Construction
Deployment

20 3. Evolutionary Process Communication Planning Modeling Construction
Deployment

21 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)

22 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.

23 1. Waterfall Model Roger S, Pressman

24 1. Waterfall Model Ian Sommerville

25 1. Waterfall Model Alan Dennis

26 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

27 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)

28 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

29 Modified Waterfall Model
(M.Kochanski) Sashimi

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

31 Modified Waterfall Model
(M.Kochanski) Waterfall with Subprojects

32 V model

33 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 hari.

34 Rapid Application Development (RAD)

35 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.

36 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.

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

38 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)

39 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

40 Evolutionary Process Model
1. Prototyping

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

42 Evolutionary Prototyping
Prototype Requirements Prototype Programming Reviews Validates? Release

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

44 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

45 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

46 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.

47 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.

48 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.

49 Evolutionary Model Incremental Model

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

51 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

52 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

53 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

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

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

56 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.

57 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.

58 Formal Model

59 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

60 UNIFIED PROCESS

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

62 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).

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

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

65 AGILE METHOD

66 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)

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

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

69 AGILE METHOD (Extreme Programming)

70 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?

71 TERIMA KASIH


Download ppt "Teknik Informatika S1 Rekayasa Perangkat Lunak Software Process (2)"

Presentasi serupa


Iklan oleh Google