Software Engineering:: 3. Methodology
Software Engineering:: 3. Methodology
Software Engineering:: 3. Methodology
3. Methodology
1
Romi Satria Wahono
• SD Sompok Semarang (1987)
• SMPN 8 Semarang (1990)
• SMA Taruna Nusantara Magelang (1993)
• B.Eng, M.Eng and Ph.D in Software Engineering from
Saitama University Japan (1994-2004)
Universiti Teknikal Malaysia Melaka (2014)
• Research Interests: Software Engineering,
Machine Learning
• Founder dan Koordinator IlmuKomputer.Com
• Peneliti LIPI (2004-2007)
• Founder dan CEO PT Brainmatics Cipta Informatika
2
Course Outline
1. Introduction
2. Process
3. Methodology
4. Quality
5. Research
3
3. Methodology
3.1 Methodology (Model Process)
3.2 Structured Design
3.3 Rapid Application Development
3.4 Agile Development
3.5 Methodology Selection Strategy
3.1 Methodology (Model Proces
s)
5
Software Development Life Cycle (SDLC)
Planning
Implementa
tion
Analysis
Design
(Dennis, 2012)
6
Software Development Method
ology (Model Process)
• A formalized approach to implementing the Softwar
e Development Life Cycle (SDLC) (Dennis, 2012)
7
Major Methodologies
1. Structured Design
More
• Waterfall method Prescrip
• Parallel development tive
9
3.2 Structured Design
10
Structured Design
• Projects move methodically from one to the
next step
• Generally, a step is finished before the next o
ne begins
11
Waterfall Method
Pros Cons
Identifies systems Design must be specified on
requirements long paper before programming
before programming begins
Begins, it minimizes Long time between system
change to the proposal and delivery of new
requirements as the system
project proceed (mature)
Rework is very hard
12
Parallel Development
13
3.3 Rapid Application Developm
ent
14
Rapid Application Development (R
AD)
• Type of RAD:
1. Phased development: a series of versions
2. Prototyping: System prototyping
3. Throw-away prototyping: design prototyping
Pros Cons
Gets useful system to Initial system is intentionally
users quickly incomplete
Most important System requirements expand
functions tested most as users see versions
16
RAD: Prototyping
• Analysis, Design, Implementation are
performed concurrently
• Start with a "quick-and-dirty" prototype,
Provides minimal functionality
• Repeat process, refining the prototype
each time
• Stop when prototype is a working system
17
RAD: Throw-Away Prototypin
g • Use prototypes only to understand requirements
• Example: use html to show UI
• Prototype is not a working design
• Once requirements are understood, the
prototypes are thrown away
18
3.4 Agile Development
19
3. Agile Development
• 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
20
Extreme Programming (XP)
21
• Project members form a Scrum Team consisting of
Scrum 5–9 people
• The goal of the Sprint is determined and the
prioritized functionality is broken down into
detailed tasks
• The team is self-organized and the members have
a joint responsibility for the results
• Each Sprint enhances the product’s market value
and adds new functions and improvements that
can be delivered to the customer
22
Scrum
23
Iterative Scrum
Scrum
25
Scrum
26
Boards
27
28
XP vs Scrum vs Lean
• XP deals with how to work with programmin
g
• Scrum deals with how the project is organize
d and planned
• Lean Development deals with which compre
hensive principles should apply for the entire
development organization
29
30
3.5 Methodology Selection Strat
egy
31
Selection Factors
32
Selection Factors
33
Latihan Analisis Kasus:
Memilih Metodologi yang Tepat
• Seandainya, anda adalah seorang software engineer di perusahaan
PT BlackSoft, sebuah perusahaan IT yang memiliki kantor cabang di
berbagai tempat di dunia
• PT BlackSoft ingin membangun sebuah sistem yang bisa menampilk
an informasi tentang sumber daya manusia yang dimiliki, baik itu lok
asi saat ini, latar belakang pendidikan, jadwal pekerjaan dan pengala
man kerja yang dimiliki
• Asumsikan bahwa ini adalah ide baru yang belum pernah diimpleme
ntasikan di PT BlackSoft sebelumnya
• PT BlackSoft memiliki jaringan internasional dimana kantor cabang d
i berbagai negara menggunakan hardware dan software yang berbe
da
• Manajemen ingin agar sistem dapat selesai dikerjakan dan mulai bis
a berjalan dalam satu tahun
34
Latihan Kognitif
• Jelaskan apa itu Software Development Life C
ycle!
35
Reference (Foundation)
• Ian Sommerville, Software Engineering 10th Edition, Addison-
Wesley, 2015
• Roger S. Pressman, Software Engineering: A Practitioner’s A
pproach 8th Edition, McGraw-Hill, 2014
• P. Bourque and R.E. Fairley, eds., Guide to the Software Engi
neering Body of Knowledge Version 3.0, IEEE Computer Soci
ety, 2014
• Albert Endres dan Dieter Rombach, A Handbook of Software
and Systems Engineering, Pearson Education Limited, 2003
• Yingxu Wang, Software Engineering Foundations: A Software
Science Perspective, Auerbach Publications, Taylor & Francis
Group, 2008
Reference (Process)
• Alan Dennis et al, Systems Analysis and Design with UML – 4
th Edition, John Wiley and Sons, 2012