0% found this document useful (0 votes)
173 views

Software Engineering Methodology

The document provides an overview of software engineering methodology selection. It discusses the software development life cycle (SDLC) and different software development methodologies including structured design, rapid application development (RAD), and agile development. Structured design methods like waterfall and parallel development are more prescriptive while RAD and agile methods are more adaptive. The document also covers methodology selection strategies based on factors like requirements clarity and project timelines.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
173 views

Software Engineering Methodology

The document provides an overview of software engineering methodology selection. It discusses the software development life cycle (SDLC) and different software development methodologies including structured design, rapid application development (RAD), and agile development. Structured design methods like waterfall and parallel development are more prescriptive while RAD and agile methods are more adaptive. The document also covers methodology selection strategies based on factors like requirements clarity and project timelines.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 38

Software Engineering:

Methodology Selection

1
Course Outline
1. Introduction

2. Process

3. Methodology

4. Quality

5. Research

2
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 Process)

4
Software Development Life Cycle (SDLC)

Planning

Implementation Analysis

Design (Dennis, 2012)

5
Software Development Methodology (Model
Process)
• A formalized approach to implementing the
Software Development Life Cycle (SDLC) (Dennis, 2012)

• A simplified representation of a software process


(Sommerville, 2015)

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


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

6
Major Methodologies
1. Structured Design
• Waterfall method More
Prescriptive
• Parallel development
2. Rapid Application Development
• Phased Development
• Prototyping
• Throw-away Prototyping More
Adaptive
3. Agile Development
• Extreme Programming (XP)
• Scrum
• Lean Development (Dennis, 2012)
7
Methodology Timeline

8
3.2 Structured Design

9
Structured Design
• Projects move methodically from one to the next step
• Generally, a step is finished before the next one begins

• Type of Structured Desin:


1. Waterfall Method
2. Parallel Development

10
Waterfall Method

Pros Cons

Identifies systems Design must be specified on paper


requirements long before programming begins
before programming
Begins, it minimizes change to Long time between system proposal and
the requirements as the project delivery of new system
proceed (mature)
Rework is very hard
11
Parallel Development

Addresses problem of time


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

12
Rapid Application
Development

13
Rapid Application Development (RAD)
• 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
14
RAD: Phased Development

Pros Cons

Gets useful system to Initial system is intentionally


users quickly incomplete
Most important functions System requirements expand as
tested most users see versions 15
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

16
RAD: Throw-Away Prototyping
• 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

17
3.4 Agile Development

18
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)

19
Extreme Programming (XP)

20
• Project members form a Scrum Team consisting of 5–9 people
• The goal of the Sprint is determined and the prioritized functionality is
Scrum •
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

21
Scrum

22
Iterative Scrum
Scrum

24
Scrum

25
Boards

26
27
XP vs Scrum vs Lean
• XP deals with how to work with
programming
• Scrum deals with how the project is
organized and planned
• Lean Development deals with which
comprehensive principles should apply
for the entire development organization

28
29
3.5 Methodology Selection Strategy

30
Selection Factors
1. Clarity of User Requirements
2. Familiarity with Technology
3. System Complexity
4. System Reliability
5. Short Time Schedules
6. Schedule Visibility

31
Selection Factors

32
Latihan Analisis Kasus:
Memilih Metodologi yang Tepat
• Seandainya, anda adalah seorang software engineer di perusahaan
AnyComp, sebuah perusahaan IT yang memiliki kantor cabang di
berbagai tempat di dunia
• AnyComp ingin membangun sebuah sistem yang bisa menampilkan
informasi tentang sumber daya manusia yang dimiliki, baik itu lokasi
saat ini, latar belakang pendidikan, jadwal pekerjaan dan pengalaman
kerja yang dimiliki
• Asumsikan bahwa ini adalah ide baru yang belum pernah
diimplementasikan di AnyComp sebelumnya
• AnyComp memiliki jaringan internasional dimana kantor cabang di
berbagai negara menggunakan hardware dan software yang berbeda
• Manajemen ingin agar sistem dapat selesai dikerjakan dan mulai bisa
berjalan dalam satu tahun
33
Latihan Kognitif
• Jelaskan apa itu Software Development Life Cycle!

• Jelaskan apa itu Software Development


Methodology!

• Jelaskan perbedaan diantara keduanya!

34
Reference (Foundation)
• Ian Sommerville, Software Engineering 10th Edition, Addison-Wesley, 2015
• Roger S. Pressman, Software Engineering: A Practitioner’s Approach 8 th
Edition, McGraw-Hill, 2014
• P. Bourque and R.E. Fairley, eds., Guide to the Software Engineering Body
of Knowledge Version 3.0, IEEE Computer Society, 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 –
4th 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
Java, 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
Cases, Patterns, and Software Architectures, Cambridge
University Press, 2011
• Layna Fischer (edt.), BPMN 2.0 Handbook Second Edition,
Future 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, Inc., 2008
• Jeff Tian, Software Quality Engineering, John Wiley & Sons, Inc., 2005
• G. Gordon Schulmeyer, Handbook of Software Quality Assurance
Fourth Edition, Artech House, 2008
Reference (Research)
• Christian W. Dawson, Project in Computing and Information
System 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
Information System 2nd Edition, Springer-Verlag London
Limited, 2008
• Mary Shaw, Writing Good Software Engineering Research
Papers, 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,
2012
• P. Runeson, M. Host, A. Rainer, and B. Regnell, Case Study
Research in Software Engineering: Guiidelines and Examples,
John Wiley & Sons, Inc., 2012
38

You might also like