Nothing Special   »   [go: up one dir, main page]

Software Engineering:: 3. Methodology

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 39

Software Engineering:

3. Methodology

Romi Satria Wahono


romi@romisatriawahono.net
http://romisatriawahono.net/se
WA/SMS: +6281586220090

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)

• A simplified representation of a software process (So


mmerville, 2015)

• A distinct set of activities, actions, tasks, milestones,


and work products required to engineer high quality
software (Pressman, 2015)

7
Major Methodologies
1. Structured Design
More
• Waterfall method Prescrip
• Parallel development tive

2. Rapid Application Development


• Phased Development
• Prototyping
• Throw-away Prototyping More
Adaptiv
3. Agile Development e
• Extreme Programming (XP)
• Scrum
• Lean Development
(Dennis, 2012)
8
Methodology Timeline

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

• Type of Structured Desin:


1. Waterfall Method
2. Parallel Development

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

Addresses problem of time


gap between proposal and
delivery:
• Breaks project into parallel
subproject
• Integrates them at the end

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

• Critical elements to speed up the SDLC:


• CASE tools
• Visual programming languages
• Code generators
15
RAD: Phased Development

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

• Type of Agile Development:


1. Extreme Programming (XP)
2. Scrum
3. Lean Development
4. Dynamic Systems Development Model (DSDM)

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

1. Clarity of User Requirements


2. Familiarity with Technology
3. System Complexity
4. System Reliability
5. Short Time Schedules
6. Schedule Visibility

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!

• Jelaskan apa itu Software Development Meth


odology!

• Jelaskan perbedaan diantara keduanya!

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

• Dan Pilone and Russ Miles, Head First Software Development,


O’Reilly Media, 2008
• Barclay and Savage, Object-Oriented Design with UML and Ja
va, Elsevier, 2004
• Kenneth E. Kendall and Julie E Kendall, Systems Analysis and
Design 8th Edition, Prentice Hall, 2010
• Hassan Gomaa, Software Modeling and Design: UML, Use Cas
es, Patterns, and Software Architectures, Cambridge Universit
y Press, 2011
• Layna Fischer (edt.), BPMN 2.0 Handbook Second Edition, Fut
ure Strategies, 2012
Reference (Quality)
• Daniel Galin, Software Quality Assurance, Addison-
Wesley, 2004
• Kshirasagar Naik and Priyadarshi Tripathy, Software
Testing and Quality Assurance, John Wiley & Sons, I
nc., 2008
• Jeff Tian, Software Quality Engineering, John Wiley
& Sons, Inc., 2005
• G. Gordon Schulmeyer, Handbook of Software Quali
ty Assurance Fourth Edition, Artech House, 2008
Reference (Research)
• Christian W. Dawson, Project in Computing and Information Syst
em a Student Guide 2nd Edition, Addison-Wesley, 2009
• Mikael Berndtsson, Jörgen Hansson, Björn Olsson, Björn Lundell,
Thesis Projects - A Guide for Students in Computer Science and I
nformation System 2nd Edition, Springer-Verlag London Limited,
2008
• Mary Shaw, Writing Good Software Engineering Research Paper
s, Proceedings of the 25th International Conference on Software
Engineering, 2003
• C. Wohlin, P. Runeson, M. Host, M. C. Ohlsson, B. Regnell, and A.
Wesslen, Experimentation in Software Engineering, Springer, 20
12
• P. Runeson, M. Host, A. Rainer, and B. Regnell, Case Study Resea
rch in Software Engineering: Guiidelines and Examples, John Wil
ey & Sons, Inc., 2012
39

You might also like