SOFTWARE DEVELOPMENT
LIFE CYCLE
Benhard Malau
PEMBAHASAN :
1. Memahami tahapan SDLC
2. Memahami Metodologi Penerapan SDLC
3. Memahami deliverables SDLC
Background
INFORMATION SYSTEM PROJECTS WERE ABANDONED BEFORE COMPLETION
- 42% CORPORATE
- 53% GOVERMENT
INFORMATION SYSTEM PROJECT THAT AREN’T ABANDONED
- LATE
- FEWER FEATURES
SURVEY : STANDISH GROUP, GENERAL ACCOUNTING OFFICE
Background
PENDEKATAN FORMAL UNTUK
MENERAPKAN SOFTWARE
DEVELOPMENT LIFE CYCLE ( D E N N I S,
2012)
REPRESENTASI SEDERHANA DARI
PROSES PERANGKAT LUNAK
( S O M M E RV I L L E , 2 0 1 5 )
SERANGKAIAN ACTIVITIES,
ACTIONS, TASKS, MILESTONES, AND
WORK PRODUCTS YANG Software Development
DIPERLUKAN UNTUK MEREKAYASA
PERANGKAT LUNAK BERKUALITAS Life Cycle
TINGGI ( P R E S S M A N, 2 0 1 5 )
SOFTWARE DEVELOPMENT LIFE CYCLE
[Link] hidup perangkat lunak atau disebut dengan SDLC
(System Development Life Cycle) merupakan tahapan
dalam melakukan pengembangan software.
[Link] juga disebut dengn SLC (System Life Cycle)
MEMBANGUN RUMAH = MEMBANGUN SOFTWARE
Ide dasar dan rencana Perencanaan
Gambar sederhana Analisa
Blue print Desain
Rumah dibangun Software dibangun
TAHAPAN SDLC
Menurut Pressman SDLC terbagi menjadi tiga tahap, yaitu
❑ Planning phase (Software planning,
❑ software requirement analysis and design), development phase (preliminary design, detail design,
coding and testing) dan
❑ maintenance phase.
Sementara McLeod membagi SDLC menjadi 5 fase, yaitu
❑ planning phase,
❑ analysis phase,
❑ design phase,
❑ implementation phase dan
❑ use phase.
Menurut Alan Dennis
❑ Planning
❑ Analysis
❑ Design
❑ Implementation
SOFTWARE BERKUALITAS?
Software quality is (IEEE, 1991):
1. The degree to which a system, component, or process meets specified
requirements
Sesuai Business
Kebutuhan Requirement
2. The degree to which a system, component, or process meets customer or
user needs or expectations (benefits)
Ada
Keuntungan Business Value
CONTOH TEMPLATE SYSTEM SPECIFICATION
1. System Planning
1.1 Project Scope
3. System Implementation
1.2 Project Schedule 3.1 Testing Strategy
1.3 Project Team 3.2 Installation Strategy
2. System Design 3.3 Change Management Strategy
2.1 Functional Requirements
2.1.1 Actor
2.1.2 Use Case Diagram
2.1.3 Activity Diagram (BPMN)
2.1.4 Sequence Diagram
2.1.5 Class Diagram
2.1.6 Data Model
2.1.7 User Interface Design
2.1.8 Deployment Diagram
2.1.9 Relational Matrices
[Link] Actor – Activity Diagram
[Link] Actor – Sequence Diagram
2.2 Nonfunctional Requirements
2.2.1 Operational
2.2.2 Performance
2.2.3 Security
2.2.4 Hardware
2.2.5 Development Platform
2.2.6 Deadline
1. PLANNING
Memahami Mengapa (Why) SI Harus Dibangun?
1. PLANNING
A. Project Initiation ( Inisiasi Project)
B. Project Management (Manajemen Proyek)
A. PROJECT INITIATION ( INISIASI PROJECT)
open source
System Request
(Business Value Identification)
Lower Cost Increase Increase Profit
proprietary Productivity
Feasibility Analysis
Technical Economic Organizational
(Capabilities) (ROI, BEP) (Goals, Core Business)
B. PROJECT MANAGEMENT (MANAJEMEN PROYEK)
• Menyusun workplan
• Staffing
• teknik yang digunakan untuk mengontrol
• mengarahkan tim proyek dalam menjalankan SDLC
2. ANALYSIS
Menjawab Pertanyaan ‘
Who, Yaitu Siapa Yang Menggunakan Sistem,
What Atau Apa Yang Dilakukan Sistem
When Kapan Dan Where Di Mana Sistem Akan Digunakan’
2. ANALISA
Ada 3 tahapan :
A. Analysis Strategy
B. Requirement Gathering
C. System proposal
A. ANALISYS STRATEGY
- analisa terhadap sistem yang ada atau yang sedang
berjalan saat ini (As-is system)
- termasuk semua permasalahan yang terjadi dalam sistem
tersebut untuk kemudian menentukan jalan untuk mendesain
sistem yang baru (to-be system)
B. REQUIREMENT GATHERING
- Penggalian Kebutuhan Sistem
- model analisa bisnis yang menggambarkan
bagaimana bisnis akan beroperasi apabila sistem
yang baru diaplikasikan
- data dan proses yang diperlukan untuk
mendukung proses bisnis
C. System proposal
- Penyusunan dokumen Spesifikasi Kebutuhan Sistem
- Deliverable Document yang dipresentasikan untuk
penentuan keputusan apakah proyek dilaksanakan atau
tidak
YANG DILAKUKAN DI TAHAP ANALISA
1. Melakukan Requirement Gathering untuk mendapatkan gambaran proses bisnis dari current system
2. Menggambarkan As is system / current system → Menggunakan UML : activity diagram
3. Melakukan Requirement gathering untuk mendapatkan to be system
4. Menggambarkan to be system → Menggunakan UML : activity diagram
5. Menggambarkan Usecase diagram
6. Membreakdown masing2 usecase menjadi usecase description → Tahap ini bisa dilewati
7. Menggambarkan activity diagram
8. Untuk setiap activity diagram, menggambarkan desain antar muka
3. DESAIN
Menggambarkan Model tentang Informasi Apa Saja Yang Diperlukan Sistem Terkait
FASE DESAIN HARUS DAPAT MENJAWAB PERTANYAAN:
a) Bagaimana sistem akan bekerja (hardware, software, dan infrastruktur
jaringan)
b) Apa saja user interface, laporan dan form yang akan ditampilkan oleh
system
c) Apa jenis program, database dan file yang diperlukan
TAHAP DESAIN
1. Design Strategy
2. Architecture Design (hardware, software, serta infrastruktur jaringan) and
Interface Design (Menu, Form, Report)
3. Databases and file specifications (Spesifikasi Database dan file)
4. Program Design (Sequence Diagram, Class Diagram)
4. IMPLEMENTATION
Tahap implementasi project
TAHAP IMPLEMENTASI SYSTEM
1. System Construction
→ Coding
→ Testing
TAHAP IMPLEMENTASI SYSTEM
2. Installation
→ Sistem lama → turn off, sistem baru → turn on
→ Strategi transisi : Direct Cut-over, Parallel Conversion,
Phased Conversion Strategy
→ Training untuk user
TAHAP IMPLEMENTASI SYSTEM
3. Support Plan
→ program review
→ Revisi
TAHAPAN PENGEMBANGAN :
• System/ Business Analyst
Analisa • Rumah : Arsitektur
• Gambaran awal
• System Analyst
Desain • Rumah : Teknik sipil
• Blue print
Implementasi • Programmer
• Rumah : Kontraktor
(Coding) • Membangun rumah berdasarkan blue print
METODOLOGI PENGEMBANGAN SOFTWARE
1. Structured Design
(Prescriptive) (1967- )
• Waterfall method
• Parallel development More Prescriptive/
Documentation
2. Rapid Application Development
(Iterative) (1985-)
• Phased Development
• Prototyping
More
Adaptive/
3. Agile Development Communication
(Adaptive) (1995-)
• Extreme Programming (XP)
• Scrum
Compiled from (Dennis, Wixom and Tegarden, 2016)
WATERFALL
PARALLEL DEVELOPMENT
PHASED DEVELOPMENT
PROTOTYPE
[Link]
SCRUM
[Link]
FAKTOR PENENTU PEMILIHAN METODOLOGI
1. Clarity of User Requirements 4. System Reliability
2. Familiarity with Technology 5. Short Time Schedules
3. System Complexity 6. Schedule Visibility
PROFESI DALAM SDLC
Planning Analisa Desain Implementasi(Code) Implementasi(Testing)
• Project Manager • Business Analyst • System analyst • Programmer • Tester
• System analyst • QA
DELIVERABLES DALAM SDLC
Planning (Requirement Analisa Desain Implementasi
Gathering)
• System • Form • SKPL • DPPL • Sistem
Proposal wawancara (Spesifikasi (Deskrpsi • Buku Panduan
• Project • Dokumen Kebutuhan Perancangan • Dokumen
charter/ proses bisnis Perangkat Perangkat testing
kontrak • Kuesioner dan Lunak) Lunak)
• Dokumen analisa • Atau SRS • Atau SRS
perencanaa (Software (Software
Requirement Requirement
Specification) Specification