Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1
Systems Development Life Cycle
2
Systems Development Life Cycle (SDLC)
Planning
Implementation Analysis
Design
3
Project Phases
1. Planning: Why build the system?
• System request, feasibility analysis, project size
estimation
2. Analysis: Who, what, when, where will the system be?
• Requirement gathering, business process modeling
3. Design: How will the system work?
• Program design, user interface design, data design
4. Implementation: System construction and delivery
• System construction, testing, documentation and
installation
4
Planning
1. Identifying business value (System Request)
• Lower costs
• Increase profits
2. Analyze feasibility
• Technical Feasibility
• Economic Feasibility
• Organizational Feasibility
(System Proposal)
5
Analysis
1. Requirement gathering by answering the
questions:
• Who will use the system?
• What will the system do?
• When will it be used?
2. Investigate the current system
3. Identify possible improvements
4. Develop a concept for new system
(System Specification)
6
Design
1. Program Design (UML Diagrams)
• What programs need to be written
• Exactly what each program will do
2. User Interface Design
• How users interact with system
• Forms / reports used by the system
3. Data Design (ER Diagrams)
• What data is to be stored
• What format the data will be in
• Where the data will be stored
(System Specification)
7
Implementation
1. Construction
• New system is built and tested
• Often testing is the longest part
2. Testing
• Unit Testing
• Integration Testing
• System Testing
• User Acceptance Test
3. Installation
• Old system is turned off
• New system is turned on
8
Processes and Deliverables
Process Product
Implementation Analysis
(New System) (System Specification)
Design
(System Specification)
10
Systems Development Methodology
(Model Process)
11
Software Development Methodology
(Model Process)
• A formalized approach to implementing the
Software Development Life Cycle (SDLC) (Dennis, 2012)
12
Major Methodologies
1. Structured Design More
• Waterfall method Prescriptive/
• Parallel development Documentation
14
Activities and Artifacts Comparison
15
1. Structured Design
16
Structured Design
• Projects move methodically from one to the
next step
• Generally, a step is finished before the next
one begins
17
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
18
Parallel Development
19
2. Rapid Application Development
20
Rapid Application Development (RAD)
• Type of RAD:
1. Phased development: a series of versions
2. Prototyping: System prototyping
3. Throw-away prototyping: design prototyping
21
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 22
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
23
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
24
3. Agile Development
25
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
26
Extreme Programming (XP)
27
XP Values
1. Communication: Building software requires
communicating requirements to the developers
2. Simplicity: Encourages starting with the simplest
solution, extra functionality can then be added later
3. Feedback:
1. Feedback from the system: by writing unit tests, or running
periodic integration tests, the programmers have direct
feedback from the state of the system after implementing
changes
2. Feedback from the customer: The acceptance tests are
planned once in every two or three weeks so the customer
can easily steer the development
3. Feedback from the team: When customers come up with new
requirements in the planning game the team directly gives an
estimation of the time that it will take to implement
4. Courage: Several practices embody courage. One is the
commandment to always design and code for today
and not for tomorrow
28
• 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
29
Scrum
30
Iterative Scrum
Scrum
32
Scrum
33
Boards
34
35
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
36
37
Methodology Selection Strategy
38
Selection Factors
39
Selection Factors
40
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
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 PT BlackSoft sebelumnya
• PT BlackSoft 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
41
Summary -1-
• The systems analyst is a key person analyzing
the business, identifying opportunities for
improvement, and designing information
systems to implement these ideas
• There are five major team roles:
1. Business analyst
2. Systems analyst
3. Infrastructure analyst
4. Change management analyst
5. Project manager
42
Summary -2-
• The Systems Development Lifecycle consists
of four stages: Planning, Analysis, Design, and
Implementation
• The major development methodologies:
1. Structured design
• Waterfall method
• Parallel development
2. RAD development
• Phased Development
• Prototyping
• Throw-away Prototyping
3. Agile development
• Extreme Programming
• Scrum
43
Referensi
1. Alan Dennis et al, Systems Analysis and Design with
UML 4th Edition, John Wiley and Sons, 2013
2. Kenneth E. Kendall and Julie E Kendall, Systems Analysis
and Design 8th Edition, Prentice Hall, 2010
3. Hassan Gomaa, Software Modeling and Design: UML,
Use Cases, Patterns, and Software Architectures,
Cambridge University Press, 2011
4. Gary B. Shelly and Harry J. Rosenblatt, Systems Analysis
and Design 9th Edition, Course Technology, 2011
5. Howard Podeswa, UML for the IT Business Analyst 2nd
Edition, Thomson Course Technology, 2009
6. Jeffrey A. Hoffer et al, Modern Systems Analysis and
Design 6th Edition, Prentice Hall, 2012
44