Teknik Informatika S1
Disusun Oleh:
Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS
egia@dsn.dinus.ac.id +6285640392988
Software Process (2)
SILABUS MATA KULIAH
8. Pembahasan UTS + Tugas SKPL 9. Presentasi SKPL
10. Design Engineering + Tugas DPPL
11. Presentasi DPPL
12. Software Testing + Quiz 13. Present Tugas Besar
14. Present Tugas Besar 1. Pendahuluan
2. Introduction to SE 3. Software Process (1)
4. Software Process (2)
5. Requirement Engineering + Quiz
CMMI (Capability Maturity Model Integration)
Characteristics of Maturity levelsLevel 1 Initial
Level 1 Initial
Processes Unpredictable, poorly controlled and reactive
Level 2 Managed
Level 2 Managed
Processes characterized for projects and is often reactive
Level 3 Defned
Level 3 Defned
Processes characterized for organization and is proactive (Projects tailor their processes from organization’s standards)
Processes measured and controlled
Level 5
Optimizing
Level 5
Optimizing
SOFTWARE DEVELOPMENT LIFE CYCLE
?
SOFTWARE DEVELOPMENT LIFE CYCLE
“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?
Pertanyaan Seputar SDLC
2.
Hubungan antar aktifitas dalam SDLC?Pertanyaan Seputar SDLC
2. Hubungan antar aktifitas dalam SDLC?
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
Aktivitas Pembangunan Perangkat Lunak (SDLC)
1 • Gathering Requirements
2 • Analysis
3 • Design
4 • Coding
5 • Testing
6 • Documentation
SDLC Processes and Deliverables
Process Product
Planning
Analysis Design
Implementation
System Proposal
System Specification
SDLC and Deliverables
(System Specification)
Analysis
Process Flow
1. Linear Process
1. Linear Process
2. Iterative Process
2. Iterative Process
1. Linear Process
1. Linear Process
System/ Information Engineering
Analysi
s
Analysi
2. Iterative Process
2. Iterative Process
Communicatio n
Communicatio
3. Evolutionary Process
3. Evolutionary Process
Software Process Model
1. Linear Sequential Model 1. Linear Sequential Model
•1. Waterfall Model •2. V Model
•3. RAD Model
2. Prototyping Model 2. Prototyping Model
3. Evolutionary Model 3. Evolutionary Model
•1. Incremental Model •2. Spiral Model
•3. Component Assembly Model •4. Concurrent Development Model
4. Formal Method 4. Formal Method
5. Unifed Process 5. Unifed Process
6. 4GT Model 6. 4GT Model
1. Waterfall Model
1. Waterfall Model
Sebuah pendekatan pengembangan perangkat lunak yangsistematik dan sekuensial.
Disebut juga ‘Classic Life Cycle’.
Paradigma yang sudah lama sekali, tetapi masih banyak1. Waterfall Model
1. Waterfall Model
1. Waterfall Model
1. Waterfall Model
1. Waterfall Model
1. Waterfall Model
Karakteristik Waterfall Model
Karakteristik Waterfall Model
1.
Setiap tahap menghasilkan dokumen di akhir tahapnya2.
Tidak ada overlapping pada setiap tahapnya3.
Setiap tahapan akan punya pengaruh besar pada hasildi tahap berikutnya
Kelebihan Waterfall Model
Kelebihan Waterfall Model
1.
Menghasilkan mature process pada setiap tahapnya2.
Mudah untuk diaplikasikan pada sebuah proyek3.
Menghasilkan sistem yang terstruktur dengan baikKekurangan Waterfall Model
Kekurangan Waterfall Model
1.
Ketidak fleksibelan antar tahapan2.
Susah dalam merespon perubahan kebutuhancustomer
3.
Model ini hanya cocok jika:Modifed Waterfall Model
Modifed Waterfall Model
(M.Kochanski)
Modifed Waterfall Model
Modifed Waterfall Model
(M.Kochanski)
Modifed Waterfall Model
Modifed Waterfall Model
(M.Kochanski)
Rapid Application Development (RAD)
Rapid Application Development (RAD)
RAD = Rapid Application Development
Adaptasi dari waterfall model yang:
menekankan siklus pengembangan perangkat lunakyang sangat pendek;
menggunakan pendekatan konstruksi berbasiskomponen.
Menciptakan sistem fungsional yang utuh dalam waktuRapid Application Development (RAD)
Rapid Application Development (RAD)
Rapid Application Development (RAD)
Rapid Application Development (RAD)
Business ModellingMemodelkan fungsi-fungsi bisnis untuk menjawab pertanyaan-pertanyaan:
Informasi apa yang mengendalikan proses bisnis ? Informasi apayang dimunculkan? Ke mana infomasi itu pergi? Siapa yang memprosesnya?
Data ModellingAliran informasi yang didefinisikan pada fase business modelling
Rapid Application Development (RAD)
Rapid Application Development (RAD)
Process ModellingMentransformasikan obyek data pada suatu fungsi yang menghasilkan aliran informasi yang dibutuhkan.
Application GenerationMengkonstruksi perangkat lunak dengan memakai komponen yang ada (bila memungkinkan) atau menciptakan komponen yang dapat dipakai lagi.
Testing and TurnoverPrototyping Model
Prototyping Model
Membantu software engineer untuk mendapatkan kebutuhan
Evolutionary Process Model
Evolutionary Process Model
1. Prototyping
1. Prototyping
Dipakai jika:
1. Sistem mempunyai resiko tinggi
tidak jelas permasalahannya2. Lebih fokus pada perancangan dialog user komputer (Sistem dengan User)
bagaimana membuat dialog yang baik, ramah, mudah ?3. Sistem diminati oleh banyak pemakai
Evolutionary Process Model
Evolutionary Process Model
1. Prototyping
1. Prototyping
4. User ingin cepat selesai
user tidak sabar menunggu
prototipe segera memperlihatkan bentuk kerja sistem5. Masa pakai singkat
sistem hanya dipakai beberapa kali saja6. Ingin menunjukkan inovasi
pengembang dapat menunjukkan kecanggihan7. Kebutuhan berubah-ubah
Evolutionary Process Model
Evolutionary Process Model
41 1. Evolutionary prototyping
2. Throw-away prototyping
42 Prototype
Programming Prototype Requirements
Reviews
Release
Validates?
44
• Frekuensi komunikasi user – developer meningkat
o pengembang akan selalu meminta pendapat user
• Membantu analis dalam
o menentukan kebutuhan user yang sebenarnya o meminimalkan salah persepsi
• Peran user meningkat
o evaluasi oleh user berkali-kali
o user bisa memberikan masukan setiap saat
45
• Pengembangan lebih cepat
o program bisa langsung dibuat
o user melihat perkembangan tahap demi tahap
• Implementasi mudah
o user sudah mengenal perangkat lunak yang dikembangkan
o user tidak akan merasa asing
o sejak awal user sudah merasa memiliki
46
• User sibuk
o user & pengembang harus sama-sama memiliki komitmen menyediakan waktu untuk bertemu.
• User sulit melakukan evaluasi
o bentuk prototipe sering berubah, disesuaikan dengan kebutuhan user.
• User ingin cepat selesai
o bentuk program sudah terlihat sejak awal.
o user merasa tidak akan lama lagi selesai.
o pengembang sering mengabaikan dokumentasi.
47
• User berharap terlalu banyak
o keseringan evaluasi & komunikasi membuat user
menjadi berubah keinginan dan tidak pasti dengan kebutuhan.
• Prototipe bekerja tidak efisien
o lebih mementingkan keberhasilan.
Evolutionary Model
Evolutionary Model
Incremental Model
Incremental Model
Incremental Model merupakan gabungan antara modellinier sekuensial dan prototyping.
Setiap linier sekuen menghasilkan produk yangdeliveriables.
Increment pertama merupakan produk inti (core), yangmengandung persyaratan/kebutuhan dasar.
Penambahan dilakukan pada increment-incrementEvolutionary Model
Evolutionary Model
Evolutionary Process Model
Evolutionary Process Model
2. Spiral Model
2. Spiral Model
Digunakan software engineer skala besar. Growing of
Evolutionary Process Model
Evolutionary Process Model
2. Spiral Model
2. Spiral Model
Evolutionary process (pengembangan bertingkat)
Menggabungkan keunggulan prototyping dan waterfall
Memungkinkan dikembangkannya perangkat lunak secarabertahap (incremental) dan cepat.
Terbagi atas 6 tahapan:*customer communication *planning
*risk analysis *engineering
Evolutionary Process Model
Evolutionary Process Model
2. Spiral Model
2. Spiral Model
52
analisa resiko berdasarkan tujuan, alternatif, batasan sistem
dan budget Requirements development plan Integration and test plan
Evolutionary Process Model
Evolutionary Process Model
3. Component Assembly Model
3. Component Assembly Model
53
look up components in library
extract components if available
build components if unavailable
put new components in
library construct n-th iteration of system
Customer
communication Engineering,
Evolutionary Process Model
Evolutionary Process Model
4. Conccurent Model
4. Conccurent Model
Evolutionary Process Model
Evolutionary Process Model
4. Conccurent Model
4. Conccurent Model
Evolutionary Process Model
Evolutionary Process Model
4. Conccurent Model
4. Conccurent Model
Aktivitas sistem dan komponen yang berlangsung secarasimultan dan dapat dimodelkan dengan menggunakan
pendekatan orientasi keadaan;
Aplikasi klien/server khusus yang diimplementasikandengan banyak komponen yang masing-masing bisa
Formal Method
Formal Method
Mencakup sekumpulan aktivitas yang membawa kepadaspesifikasi 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 softwareUNIFIED PROCESS
UNIFIED PROCESS
Model proses yang menggabungkan beberap konsep unggulandari model proses lainnya.
Penekanan pada model proses ini, yaitu:1. Komunikasi dengan customer secara intens (streamlined)
Fourth Generation Techniques (4GT)
Fourth Generation Techniques (4GT)
Terkait dengan penggunaan tools.
Pengembang software mendefinisikan karakteristikFourth Generation Techniques (4GT)
Fourth Generation Techniques (4GT)
4GT mempercepat proses pengembangan perangkatlunak.
Proses perancangan dan dokumentasi baik.
Masih dipertanyakan beberapa pihak: efisiensi kodeFourth Generation Techniques (4GT)
Fourth Generation Techniques (4GT)
requirements gathering
design strategy
implementation using 4GL
testing
AGILE METHOD
AGILE METHOD
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)*
ScrumAGILE METHOD (Extreme Programming)
AGILE METHOD (Extreme Programming)
“
Core Values” of XP
1.
Communication – All to All2.
Simplicity – refactoring3.
Feedback – Embrace ChangeAGILE METHOD (Extreme Programming)
AGILE METHOD (Extreme Programming)
1.
User Stories about system do2.
Code small program using defined standards*
Naming conventions*
Coding practices3.
User FeedbackChelsea 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?