teknik informatika s1 - dinus.ac.id1... · disiplin ilmu yang membahas semua aspek produksi ... dan...
TRANSCRIPT
3/20/2019
1
Teknik Informatika S1
Software Process (1)
Rekayasa Perangkat Lunak
Pengertian Perangkat Lunak (Software)
“Program Komputer dan dokumentasi (User manual,
dokumen kebutuhan, dokumen perancangan) yang
berhubungan dengan program tersebut”.
Pengertian Rekayasa Perangkat Lunak
Disiplin ilmu yang membahas semua aspek produksi
perangkat lunak, mulai dari tahap awal spesifikasi, desain,
konstruksi, testing sampai pemeliharaan setelah digunakan.
SOFTWARE PROCESS
1. Framework Proses
2. CMII (Capability Maturity Model Integration)
3. SDLC ( Software Development Life Cycle)
4. Process Flow
5. Model Process
Software Engineering Layers
Tools
Methods
Process
Quality
Generic View of Software Engineering
● Engineering meliputi kegiatan analisis, desain, konstruksi,
verifikasi, dan manajemen kesatuan teknik atau sosial.
● Pertanyaan-pertanyaan yang harus dimunculkan dan dijawab:
* Apa masalah yang akan dipecahkan?
* Karakteristik entitas yang manakah yang dipakai untuk menyelesaikan masalah
tersebut?
* Bagaimanakah entitas (dan pemecahan) tersebut diadakan?
* Bagaimanakah entitas tersebut dibangun?
* Pendekatan apakah yang akan dipakai untuk menemukan kesalahan-kesalahan
yang dibuat dalam desain dan kontruksi dari entitas tersebut?
* Bagaimanakah entitas tersebut ditopang selama proses adaptasi yang lama, pada
saat koreksi, serta ketika perbaikan dibutuhkan oleh para pemakai entitas
tersebut?
3/20/2019
2
General Phase to Software Engineering
*Definition phase berfokus pada „apa‟ (what):
* informasi yang akan diproses
*fungsi dan perfomance yang dibutuhkan
*tingkah laku sistem yang diharapkan
* interface yang akan dibangun
*batasan sistem yang sukses
General Phase to Software Engineering
*Development phase berfokus pada „bagaimana‟ (how):
*data dikonstruksikan
*fungsi-fungsi diimplementasikan
*detail prosedur akan diimplementasikan
* interface dikarakterisasi
*rancangan akan diterjemahkan ke dalam pemrograman
*pengujian dilakukan
General Phase to Software Engineering
*Maintenance phase berfokus pada „perubahan‟
(change):
*dihubungkan dengan koreksi kesalahan
*ketika lingkungan perangkat lunak berkembang
*sehubungan dengan perubahan kebutuhan pelanggan
Changes in Phase Development
*Correction (Koreksi)
*Membetulkan cacat atau kerusakan
*Adaptation (Adaptasi)
*Modifikasi perangkat lunak karena perubahan kebutuhan
fungsional original (CPU, OS, aturan bisnis, karakteristik produk
eksternal, dll)
Changes in Phase Development
*Enhancement (Perkembangan)
*Memperluas perangkat lunak sehingga melampaui kebutuhan
fungsi originalnya
*Prevention (Pencegahan)
*Pencegahan sebagai antisipasi perubahan karena usia perangkat
lunak
Umbrella Activities
*Software project tracking and control
*Formal technical reviews
*Software quality assurance
*Software configuration management
*Document preparation and production
*Reusability management
*Measurement
*Risk management
3/20/2019
3
Aktivitas Pembangunan Perangkat Lunak
1 • Gathering Requirements
2 • Analysis
3 • Design
4 • Coding
5 • Testing
6 • Documentation
7 • Maintenance
Framework Proses
Common Process Framework
Umbrella Activities
Framework Activities
Task Sets
Tasks
Milestones, deliverables
SQA points
CMMI (Capability Maturity Model Integration)
Characteristics of Maturity levels
Level 1
Initial Processes Unpredictable, poorly
controlled and reactive
Level 2
Managed Processes characterized for projects
and is often reactive
Level 3
Defined
Processes characterized for
organization and is proactive (Projects tailor their processes from
organization’s standards)
Level 4
Quantitatively Managed
Processes measured and
controlled
Level 5
Optimizing
Focus on process
improvement
SOFTWARE DEVELOPMENT LIFE CYCLE
Planning
Analysis
Design
Implementation
SOFTWARE DEVELOPMENT LIFE CYCLE
“Sekumpulan Kegiatan dan keterhubungannya satu sama
lain untuk mendukung pembangunan dari sebuah
perangkat lunak”.
Pengertian
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
3/20/2019
4
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?
Penjadwalan kegiatan SDLC dibahas dalam ilmu Manajemen
Proyek (Project Management) dan tidak dibahas pada RPL
SOFTWARE DEVELOPMENT LIFE CYCLE
1. Planning: Why build the system?
o System request, feasibility analysis, project size estimation
2. Analysis: Who, what, when, where will the system be?
o Requirement gathering, business process modeling
3. Design: How will the system work?
o Program design, user interface design, data design
4. Implementation: System construction and delivery
o System construction, testing, documentation and installation
SOFTWARE DEVELOPMENT LIFE CYCLE
1. Identifying business value (System Request)
o Lower costs
o Increase profits
2. Analyze feasibility
o Technical Feasibility
o Economic Feasibility
o Organizational Feasibility
3. Estimating the size of project
(System Proposal)
SOFTWARE DEVELOPMENT LIFE CYCLE
1. Requirement gathering by answering the questions:
o Who will use the system?
o What will the system do?
o When will it be used?
2. Investigate the current system
3. Identify possible improvements
4. Develop a concept for new system
(Business Process Model)
SOFTWARE DEVELOPMENT LIFE CYCLE
1. Program Design (DFD)
o What programs need to be written
o Exactly what each program will do
2. User Interface Design
o How users interact with system
o Forms / reports used by the system
3. Data Design (ER Diagrams)
o What data is to be stored
o What format the data will be in
o Where the data will be stored
(System Specification)
3/20/2019
5
SOFTWARE DEVELOPMENT LIFE CYCLE
• Construction
o New system is built and tested
o Often testing is the longest part
• Testing
o Unit Testing
o Integration Testing
o System Testing
o User Acceptance Test
• Installation
o Old system is turned off
o New system is turned on
Processes and Deliverables
Process Product
Planning
Analysis
Design
Implementation
System Proposal
System Specification
New System with
Testing/Maintenance Plan
SDLC and Deliverables
Planning
(System Proposal)
Analysis (System Specification)
Design (System Specification)
Implementation (New System)
Process Flow
1. Linear Process
2. Iterative Process
3. Evolutionary Process
1. Linear Process
System/ Information Engineering
Analysis Design Code Test
2. Iterative Process
Communication Planning Modeling Construction Deployment
3/20/2019
6
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)
Linear Sequential Model
System/ Information Engineering
Analysis Design Code Test
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
3/20/2019
7
1. Waterfall Model
Alan Dennis
Karakteristik Waterfall Model
1. Setiap tahap menghasilkan dokumen di akhir tahapnya
2. Tidak ada overlapping pada setiap tahapnya
3. Setiap tahapan akan punya pengaruh besar pada hasil
di tahap berikutnya
4. Memerlukan biaya besar jika melakukan rework
Kelebihan Waterfall Model
1. Menghasilkan mature process pada setiap tahapnya
2. Mudah untuk diaplikasikan pada sebuah proyek
3. Menghasilkan sistem yang terstruktur dengan baik
4. Memiliki tingkat visibilitas yang tinggi (setiap tahap
mempunyai dokumen yang jelas)
Kekurangan Waterfall Model
1. Ketidak fleksibelan antar tahapan
2. Susah dalam merespon perubahan kebutuhan
customer
3. 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
3/20/2019
8
Modified Waterfall Model (M.Kochanski)
Waterfall with Subprojects
Bersambung…
TERIMA KASIH