Rekayasa Perangkat Lunak -...

32
Teknik Informatika S1 Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS [email protected] +6281329571612 Software Process (1) Rekayasa Perangkat Lunak

Transcript of Rekayasa Perangkat Lunak -...

Page 1: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

Teknik Informatika S1

Disusun Oleh:

Egia Rosi Subhiyakto, M.Kom, M.CS

Teknik Informatika UDINUS

[email protected]

+6281329571612

Software Process (1)

Rekayasa Perangkat Lunak

Page 2: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

SILABUS MATA KULIAH

8. Pembahasan UTS + Tugas SKPL

9. Presentasi SKPL

10. Design Engineering + TugasDPPL

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

6. Analysis Modeling (1)

7. Analysis Modeling (2)

Page 3: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

SOFTWARE PROCESS

1. Framework Proses

2. CMII (Capability Maturity Model Integration)

3. SDLC ( Software Development Life Cycle)

4. Process Flow

5. Model Process

Page 4: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

Software Engineering Layers

Tools

Methods

Process

Quality

Page 5: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

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?

Page 6: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

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

Page 7: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

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

Page 8: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

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

Page 9: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

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)

Page 10: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

Changes in Phase Development

*Enhancement (Perkembangan)

*Memperluas perangkat lunak sehingga melampaui kebutuhan

fungsi originalnya

*Prevention (Pencegahan)

*Pencegahan sebagai antisipasi perubahan karena usia perangkat

lunak

Page 11: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

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

Page 12: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

Aktivitas Pembangunan Perangkat Lunak

1 •Gathering Requirements

2 •Analysis

3 •Design

4 • Coding

5 • Testing

6 •Documentation

7 •Maintenance

Page 13: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

Framework Proses

Common Process Framework

Umbrella Activities

Framework Activities

Task Sets

Tasks

Milestones, deliverables

SQA points

Page 14: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

CMMI (Capability Maturity Model Integration)

Characteristics of Maturity levels

Level 1

InitialProcesses Unpredictable, poorly

controlled and reactive

Level 2

ManagedProcesses 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

Page 15: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

SOFTWARE DEVELOPMENT LIFE CYCLE

Planning

Analysis

Design

Implementation

Page 16: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

SOFTWARE DEVELOPMENT LIFE CYCLE

“Sekumpulan Kegiatan dan keterhubungannya satu sama

lain untuk mendukung pembangunan dari sebuah

perangkat lunak”.

Pengertian

Page 17: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

Pertanyaan Seputar SDLC

1. Aktifitas mana yang harus dipilih dalam pembangunanperangkat lunak?

SDLC berisi proses yang bukan untuk dipilih tapi untukdilakukan secara keseluruhan

Page 18: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

Pertanyaan Seputar SDLC

2. Hubungan antar aktifitas dalam SDLC?

Hasil dari kegiatan sebelumnya mempunyai pengaruh yang

sangat besar untuk kegiatan berikutnya

Page 19: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

Pertanyaan Seputar SDLC3. Bagaimana cara menjadwalkan kegiatan pada SDLC?

Penjadwalan kegiatan SDLC dibahas dalam ilmu Manajemen

Proyek (Project Management) dan tidak dibahas pada RPL

Page 20: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

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

Page 21: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

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)

Page 22: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

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)

Page 23: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

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)

Page 24: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

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

Page 25: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

Processes and Deliverables

Process Product

Planning

Analysis

Design

Implementation

System Proposal

System Specification

New System with

Testing/Maintenance Plan

Page 26: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

SDLC and Deliverables

Planning

(System Proposal)

Analysis(System Specification)

Design(System Specification)

Implementation(New System)

Page 27: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

Process Flow

1. Linear Process

2. Iterative Process

3. Evolutionary Process

Page 28: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

1. Linear Process

System/ Information Engineering

Analysis Design Code Test

Page 29: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

2. Iterative Process

Communication Planning Modeling Construction Deployment

Page 30: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

3. Evolutionary Process

Communication

Planning

ModelingConstruction

Deployment

Page 31: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

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)

Page 32: Rekayasa Perangkat Lunak - dinus.ac.iddinus.ac.id/.../ajar/...Perangkat_Lunak_-_Teknik_Informatika_S1_.pdf · *batasan sistem yang sukses. ... Aktifitas mana yang harus dipilih dalam

TERIMA KASIH