SlideShare a Scribd company logo
Systems Analysis
and Design
1
1. Introduction
1.1 Why We Learn Systems Analysis and Design
1.2 Systems Analyst and Its Roles
1.3 Systems Development Life Cycle
1.4 Systems Development Methodology
1.5 Methodology Selection Strategy
2
1.1 Why We Learn Systems Analysis
and Design
3
Systems Development Projects Fail
• More than half of all systems development
projects Fail
(42% - Standish Group, 53% - General Accounting Office)
• Canceled before completion
• System is never used once finished
• Doesn't provide the expected benefits
• Most of the ones that don't fail:
• Are delivered late
• Are over budget
• Don't provide the features promised
4
Recent Significant IT Failures
Company Year Outcome
Hudson Bay (Canada) 2005 Inventory system problems lead to $33.3
million loss
UK Inland Revenue 2004/5 $3.45 billion tax-credit overpayment caused
by software errors
Avis Europe PLC (UK) 2004 Enterprise resource planning (ERP) system
cancelled after $54.5 million spent
Ford Motor Co. 2004 Purchasing system abandoned after
deployment costing approximately $400 M
Hewlett-Packard Co. 2004 ERP system problems contribute to $160
million loss
AT&T Wireless 2004 Customer relations management (CRM)
system upgrade problems lead to $100M loss
5
Keunikan dari Software
Karakteristik Software Hardware
Kompleksitas Tingkat kompleksitas
dari produk software
tinggi, dengan
kemungkinan perubahan
parameter dan fungsi
yang sangat beragam
Tingkat kompleksitas
produk lain rendah,
dengan kemungkinan
perubahan parameter
dan fungsi tidak
beragam
Visibilitas
Produk
Produk tidak terlihat
dengan kasat mata,
termasuk bila ada cacat
(defect) dari produk
Produk terlihat dengan
kasat mata, termasuk
bila ada cacat (defect)
dari produk
6
Software Errors, Faults, Failures
7
Analisis Kasus
• Suatu perusahaan PT ABC memproduksi software yang
akan ditanam ke dalam suatu device
• Salah satu fungsi yang terdapat pada software adalah
akan mematikan device secara otomatis apabila suhu
ruangan lebih besar daripada 30o celcius
• Programmer salah menuliskan logika menjadi:
…
if (suhu > 3) shutdownDevice();
…
• Error ini tidak pernah menyebabkan failure pada
software, dan perusahaan PT ABC sampai saat ini
terkenal sebagai perusahaan yang memproduksi
software tanpa bug
• Jelaskan mengapa bisa terjadi demikian!
8
Warranty Lawsuits
• Mortenson vs. Timeberline Software (TS) (≈1993)
• Mortenson menggunakan software yang diproduksi TS untuk
membuka tender pembangunan rumah sakit
• Software memiliki bug sehingga memenangkan perusahaan yang
mengajukan proposal paling mahal (kerugian 2 miliar USD)
• TS tahu tentang bug itu, tapi tidak mengirimkan update ke
Mortenson
• Pengadilan di Amerika Serikat memenangkan perusahaan TS
• Uniform Computer Information Transaction Act
(UCITA) allows software manufacturers to:
• disclaim all liability for defects
• prevent the transfer of software from person to person
9
Disclaimer of Warranties
DISCLAIMER OF WARRANTIES. TO THE MAXIMUM EXTENT
PERMITTED BY APPLICABLE LAW, MICROSOFT AND ITS
SUPPLIERS PROVIDE TO YOU THE SOFTWARE COMPONENT,
AND ANY (IF ANY) SUPPORT SERVICES RELATED TO THE
SOFTWARE COMPONENT ("SUPPORT SERVICES") AS IS AND
WITH ALL FAULTS; AND MICROSOFT AND ITS SUPPLIERS
HEREBY DISCLAIM WITH RESPECT TO THE SOFTWARE
COMPONENT AND SUPPORT SERVICES ALL WARRANTIES AND
CONDITIONS, WHETHER EXPRESS, IMPLIED OR STATUTORY,
INCLUDING, BUT NOT LIMITED TO, ANY (IF ANY) WARRANTIES
OR CONDITIONS OF OR RELATED TO: TITLE, NON-
INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE, LACK OF VIRUSES, ACCURACY OR
COMPLETENESS OF RESPONSES, RESULTS, LACK OF
NEGLIGENCE OR LACK OF WORKMANLIKE EFFORT, QUIET
ENJOYMENT, QUIET POSSESSION, AND CORRESPONDENCE TO
DESCRIPTION. THE ENTIRE RISK ARISING OUT OF USE OR
PERFORMANCE OF THE SOFTWARE COMPONENT AND ANY
SUPPORT SERVICES REMAINS WITH YOU.
10
Software Engineering Problem
Building software will always be
hard. There is inherently
no silver bullet(Brooks, 1987)
12
Is it Possible?
13
Sofware Quality?
• Software quality is (IEEE, 1991):
1. The degree to which a
system, component, or
process meets specified
requirements
2. The degree to which a
system, component, or
process meets customer or
user needs or expectations
• Quality means conformance
to requirements (Crosby, 1979)
14
1.2 Systems Analyst and Its Roles
15
Analyst Related Role
1. Business analyst
2. System analyst
3. Infrastructure analyst
4. Change management analyst
5. Project manager
16
Role in System Development
Business
Analyst
System
Analyst
Programmer Tester
Project Manager
17
Business Analyst
•Focuses on business issues surrounding
the system
• The business value of the system
• Improvements in business processes
• New business processes needed with new system
•Requires business skills and professional
training
18
System Analyst
• The systems analyst is a key person analyzing the
business, identifying opportunities for
improvement, and designing information systems
to implement these ideas
• Focuses on Information System (IS) Issues
• How IS can improve business processes
• Designs new information system
• Ensures IS quality standards are maintained
• Requires training & experience in design analysis,
programming, business (to lesser degree)
19
Infrastructure Analyst
•Focuses on interfaces between new
system & existing infrastructure
• Makes sure new system follows organizational
standards
• Identifies required infrastructure changes
•Requires experience in network &
database administration
•Requires knowledge of hardware systems
20
Change Management Analyst
•Focuses on system installation
• Documentation & support for users
• Coordinate training of users
• Strategies to overcome resistance
•Requires experience in organizational
behavior
•Requires experience in change
management
21
Project Manager
•Responsible for schedule and budget
•Ensures promised benefits are delivered
•Manages team members
•Responsible for project plan and
reporting progress
•Requires project management
experience
22
23
1.3 Systems Development Life Cycle
24
Systems Development Life Cycle (SDLC)
Planning
Analysis
Design
Implementation
25
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
26
Planning
1. Identifying business value (System Request)
• Lower costs
• Increase profits
2. Analyze feasibility
• Technical Feasibility
• Economic Feasibility
• Organizational Feasibility
(System Proposal)
27
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)
28
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)
29
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
30
Processes and Deliverables
Process Product
Planning
Analysis
Design
Implementation
System Proposal
System Specification
New System with
Testing/Maintenance Plan
31
SDLC and Deliverables
Planning
(System Proposal)
Analysis
(System Specification)
Design
(System Specification)
Implementation
(New System)
32
1.4 Systems Development
Methodology (Model Process)
33
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)
34
Major Methodologies
1. Structured Design
• Waterfall method
• Parallel development
2. Rapid Application Development
• Phased Development
• Prototyping
• Throw-away Prototyping
3. Agile Development
• Extreme Programming (XP)
• Scrum
• Lean Development
35
(Dennis, 2012)
More
Prescriptive/
Documentation
More
Adaptive/
Communication
Methodology Timeline
36
Activities and Artifacts Comparison
37
1.4.1 Structured Design
38
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
39
Waterfall Method
40
Pros Cons
Identifies systems
requirements long
before programming
Begins, it minimizes
change to the
requirements as the
project proceed (mature)
Design must be specified on
paper before programming
begins
Long time between system
proposal and delivery of new
system
Rework is very hard
Parallel Development
41
Addresses problem of time
gap between proposal and
delivery:
• Breaks project into parallel
subproject
• Integrates them at the end
1.4.2 Rapid Application Development
42
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
43
RAD: Phased Development
44
Pros Cons
Gets useful system to
users quickly
Initial system is intentionally
incomplete
Most important
functions tested most
System requirements expand
as users see versions
RAD: Prototyping
45
• 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
RAD: Throw-Away Prototyping
46
• 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
1.4.3 Agile Development
47
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) (Kent Beck)
2. Scrum (Ken Schwaber and Jeff Sutherland)
3. Lean Development (Mary Poppendieck and Tom Poppendieck)
4. Dynamic Systems Development Model (DSDM) (Dane Faulkner)
48
Extreme Programming (XP)
49
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
50
Scrum
51
• Project members form a Scrum Team consisting of
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
Scrum
52
Iterative Scrum
Scrum
54
Scrum
55
Boards
56
57
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
58
59
1.5 Methodology Selection Strategy
60
Selection Factors
1. Clarity of User Requirements
2. Familiarity with Technology
3. System Complexity
4. System Reliability
5. Short Time Schedules
6. Schedule Visibility
61
Selection Factors
62
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
63
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
64
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
65
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
66

More Related Content

PDF
Systems request
PPTX
2 feasibility-study
PPT
PDF
System proposal
PPT
Ch07-Moving into Design
DOC
415 quiz1 answers
PPTX
Chapter 02
PDF
System Analysis and Design Program
Systems request
2 feasibility-study
System proposal
Ch07-Moving into Design
415 quiz1 answers
Chapter 02
System Analysis and Design Program

What's hot (19)

PPTX
01 isad-information system analysis and design intro by S. A. AHSAN RAJON
PPT
PPT
An overview of software requirements engineering
PPTX
Requirements management
PPT
4.2 architecture introduction
PPTX
System analysis and design
PPT
Requirements Engineering Process
PPTX
Requirements Engineering (CS 5032 2012)
PPTX
System analysis and design Part2
PPT
DOC
396849 developing-business-it-solutions
PDF
Requirement analysis
PPTX
The process and stages of system design
PPTX
System Analysis and Design (SAD)
PDF
PPTX
RE processes and process models
PDF
Requirement Engineering
PPTX
System Requirements
PPT
SAD 2nd PPT
01 isad-information system analysis and design intro by S. A. AHSAN RAJON
An overview of software requirements engineering
Requirements management
4.2 architecture introduction
System analysis and design
Requirements Engineering Process
Requirements Engineering (CS 5032 2012)
System analysis and design Part2
396849 developing-business-it-solutions
Requirement analysis
The process and stages of system design
System Analysis and Design (SAD)
RE processes and process models
Requirement Engineering
System Requirements
SAD 2nd PPT
Ad

Similar to 1 sad-01-introduction-june2015-rev (20)

PPTX
Unit-4- Process oveunit5and6forview.pptx
PPT
2224_System Analysis & Designnnnnnnn.ppt
PPT
8.2 system analysis and design
PPT
01 intro+
PPT
Software System Engineering - Chapter 1
PPT
PDF
software engineering
PPTX
system development life cycle
PPTX
Lecture 3 software_engineering
PPTX
Lecture 3 software_engineering
PDF
SDLC 21.11.2022.pdf
PPT
2_lecture1-introduction to Software Engineering
PPTX
Introducing Systems Analysis Design Development
PPTX
Introduction to Software Engineering Notes.pptx
PPT
Mba it unit 3 ppt
PPT
Mba it unit 3 ppt
PPT
Mba it unit 3 ppt
PPTX
Introducing systems analysis, design & development Concepts
PPT
ch11.ppt
PPTX
2015-HNDIT1212 Lecture 3.pptx
Unit-4- Process oveunit5and6forview.pptx
2224_System Analysis & Designnnnnnnn.ppt
8.2 system analysis and design
01 intro+
Software System Engineering - Chapter 1
software engineering
system development life cycle
Lecture 3 software_engineering
Lecture 3 software_engineering
SDLC 21.11.2022.pdf
2_lecture1-introduction to Software Engineering
Introducing Systems Analysis Design Development
Introduction to Software Engineering Notes.pptx
Mba it unit 3 ppt
Mba it unit 3 ppt
Mba it unit 3 ppt
Introducing systems analysis, design & development Concepts
ch11.ppt
2015-HNDIT1212 Lecture 3.pptx
Ad

More from Fajar Baskoro (20)

PPTX
Pengembangan Basis Data untuk Web Application.pptx
PPTX
Presentasi untuk video Pitch Deck Vlog Pervekt SMK 2025.pptx
PPTX
Sosialisasi Program Digital Skills Unicef 2025.pptx
PDF
DIGITAL SKILLS PROGRAMME 2025 - VERSI HZ.pdf
PDF
Digital Skills - 2025 - Dinas - Green Marketplace.pdf
PDF
Pemrograman Mobile menggunakan kotlin2.pdf
PPTX
Membangun Kewirausahan Sosial Program Double Track.pptx
PPTX
Membangun Kemandirian DTMandiri-2025.pptx
PDF
Panduan Entry Nilai Rapor untuk Operator SD_MI 2025.pptx (1).pdf
PDF
JADWAL SISTEM PENERIMAAN MURID BARU 2025.pdf
PPTX
Seleksi Penerimaan Murid Baru 2025.pptx
PPTX
Pengembangan Program Dual Track 2025-2.pptx
PPTX
Pengembangan Program Dual Track 2025-1.pptx
PDF
PETUNJUK PELAKSANAAN TEKNIS FESV RAMADHAN 2025.pdf
PPTX
Pengembangan Entrepreneur Vokasi Melalui PERFECT SMK-Society 50 .pptx
PPTX
PERFECT SMK 6 - Strategi Pelaksanaan.pptx
PPTX
Program Dual Track Kalimantan Timur 2025.pptx
PDF
Contoh Proposal konveksi untuk Program Magang Kewirausahaan.pdf
PPTX
Pengembangan Program Digital Skills - 2025.pptx
PPTX
PPT-Proyek Magang Kewirausahaan Double Track.pptx
Pengembangan Basis Data untuk Web Application.pptx
Presentasi untuk video Pitch Deck Vlog Pervekt SMK 2025.pptx
Sosialisasi Program Digital Skills Unicef 2025.pptx
DIGITAL SKILLS PROGRAMME 2025 - VERSI HZ.pdf
Digital Skills - 2025 - Dinas - Green Marketplace.pdf
Pemrograman Mobile menggunakan kotlin2.pdf
Membangun Kewirausahan Sosial Program Double Track.pptx
Membangun Kemandirian DTMandiri-2025.pptx
Panduan Entry Nilai Rapor untuk Operator SD_MI 2025.pptx (1).pdf
JADWAL SISTEM PENERIMAAN MURID BARU 2025.pdf
Seleksi Penerimaan Murid Baru 2025.pptx
Pengembangan Program Dual Track 2025-2.pptx
Pengembangan Program Dual Track 2025-1.pptx
PETUNJUK PELAKSANAAN TEKNIS FESV RAMADHAN 2025.pdf
Pengembangan Entrepreneur Vokasi Melalui PERFECT SMK-Society 50 .pptx
PERFECT SMK 6 - Strategi Pelaksanaan.pptx
Program Dual Track Kalimantan Timur 2025.pptx
Contoh Proposal konveksi untuk Program Magang Kewirausahaan.pdf
Pengembangan Program Digital Skills - 2025.pptx
PPT-Proyek Magang Kewirausahaan Double Track.pptx

Recently uploaded (20)

PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Introduction to Artificial Intelligence
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
L1 - Introduction to python Backend.pptx
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Essential Infomation Tech presentation.pptx
PDF
Digital Strategies for Manufacturing Companies
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
VVF-Customer-Presentation2025-Ver1.9.pptx
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
How to Choose the Right IT Partner for Your Business in Malaysia
Introduction to Artificial Intelligence
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Reimagine Home Health with the Power of Agentic AI​
L1 - Introduction to python Backend.pptx
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PTS Company Brochure 2025 (1).pdf.......
Softaken Excel to vCard Converter Software.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Essential Infomation Tech presentation.pptx
Digital Strategies for Manufacturing Companies
Navsoft: AI-Powered Business Solutions & Custom Software Development
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...

1 sad-01-introduction-june2015-rev

  • 2. 1. Introduction 1.1 Why We Learn Systems Analysis and Design 1.2 Systems Analyst and Its Roles 1.3 Systems Development Life Cycle 1.4 Systems Development Methodology 1.5 Methodology Selection Strategy 2
  • 3. 1.1 Why We Learn Systems Analysis and Design 3
  • 4. Systems Development Projects Fail • More than half of all systems development projects Fail (42% - Standish Group, 53% - General Accounting Office) • Canceled before completion • System is never used once finished • Doesn't provide the expected benefits • Most of the ones that don't fail: • Are delivered late • Are over budget • Don't provide the features promised 4
  • 5. Recent Significant IT Failures Company Year Outcome Hudson Bay (Canada) 2005 Inventory system problems lead to $33.3 million loss UK Inland Revenue 2004/5 $3.45 billion tax-credit overpayment caused by software errors Avis Europe PLC (UK) 2004 Enterprise resource planning (ERP) system cancelled after $54.5 million spent Ford Motor Co. 2004 Purchasing system abandoned after deployment costing approximately $400 M Hewlett-Packard Co. 2004 ERP system problems contribute to $160 million loss AT&T Wireless 2004 Customer relations management (CRM) system upgrade problems lead to $100M loss 5
  • 6. Keunikan dari Software Karakteristik Software Hardware Kompleksitas Tingkat kompleksitas dari produk software tinggi, dengan kemungkinan perubahan parameter dan fungsi yang sangat beragam Tingkat kompleksitas produk lain rendah, dengan kemungkinan perubahan parameter dan fungsi tidak beragam Visibilitas Produk Produk tidak terlihat dengan kasat mata, termasuk bila ada cacat (defect) dari produk Produk terlihat dengan kasat mata, termasuk bila ada cacat (defect) dari produk 6
  • 8. Analisis Kasus • Suatu perusahaan PT ABC memproduksi software yang akan ditanam ke dalam suatu device • Salah satu fungsi yang terdapat pada software adalah akan mematikan device secara otomatis apabila suhu ruangan lebih besar daripada 30o celcius • Programmer salah menuliskan logika menjadi: … if (suhu > 3) shutdownDevice(); … • Error ini tidak pernah menyebabkan failure pada software, dan perusahaan PT ABC sampai saat ini terkenal sebagai perusahaan yang memproduksi software tanpa bug • Jelaskan mengapa bisa terjadi demikian! 8
  • 9. Warranty Lawsuits • Mortenson vs. Timeberline Software (TS) (≈1993) • Mortenson menggunakan software yang diproduksi TS untuk membuka tender pembangunan rumah sakit • Software memiliki bug sehingga memenangkan perusahaan yang mengajukan proposal paling mahal (kerugian 2 miliar USD) • TS tahu tentang bug itu, tapi tidak mengirimkan update ke Mortenson • Pengadilan di Amerika Serikat memenangkan perusahaan TS • Uniform Computer Information Transaction Act (UCITA) allows software manufacturers to: • disclaim all liability for defects • prevent the transfer of software from person to person 9
  • 10. Disclaimer of Warranties DISCLAIMER OF WARRANTIES. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, MICROSOFT AND ITS SUPPLIERS PROVIDE TO YOU THE SOFTWARE COMPONENT, AND ANY (IF ANY) SUPPORT SERVICES RELATED TO THE SOFTWARE COMPONENT ("SUPPORT SERVICES") AS IS AND WITH ALL FAULTS; AND MICROSOFT AND ITS SUPPLIERS HEREBY DISCLAIM WITH RESPECT TO THE SOFTWARE COMPONENT AND SUPPORT SERVICES ALL WARRANTIES AND CONDITIONS, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY (IF ANY) WARRANTIES OR CONDITIONS OF OR RELATED TO: TITLE, NON- INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, LACK OF VIRUSES, ACCURACY OR COMPLETENESS OF RESPONSES, RESULTS, LACK OF NEGLIGENCE OR LACK OF WORKMANLIKE EFFORT, QUIET ENJOYMENT, QUIET POSSESSION, AND CORRESPONDENCE TO DESCRIPTION. THE ENTIRE RISK ARISING OUT OF USE OR PERFORMANCE OF THE SOFTWARE COMPONENT AND ANY SUPPORT SERVICES REMAINS WITH YOU. 10
  • 11. Software Engineering Problem Building software will always be hard. There is inherently no silver bullet(Brooks, 1987)
  • 12. 12
  • 14. Sofware Quality? • Software quality is (IEEE, 1991): 1. The degree to which a system, component, or process meets specified requirements 2. The degree to which a system, component, or process meets customer or user needs or expectations • Quality means conformance to requirements (Crosby, 1979) 14
  • 15. 1.2 Systems Analyst and Its Roles 15
  • 16. Analyst Related Role 1. Business analyst 2. System analyst 3. Infrastructure analyst 4. Change management analyst 5. Project manager 16
  • 17. Role in System Development Business Analyst System Analyst Programmer Tester Project Manager 17
  • 18. Business Analyst •Focuses on business issues surrounding the system • The business value of the system • Improvements in business processes • New business processes needed with new system •Requires business skills and professional training 18
  • 19. System Analyst • The systems analyst is a key person analyzing the business, identifying opportunities for improvement, and designing information systems to implement these ideas • Focuses on Information System (IS) Issues • How IS can improve business processes • Designs new information system • Ensures IS quality standards are maintained • Requires training & experience in design analysis, programming, business (to lesser degree) 19
  • 20. Infrastructure Analyst •Focuses on interfaces between new system & existing infrastructure • Makes sure new system follows organizational standards • Identifies required infrastructure changes •Requires experience in network & database administration •Requires knowledge of hardware systems 20
  • 21. Change Management Analyst •Focuses on system installation • Documentation & support for users • Coordinate training of users • Strategies to overcome resistance •Requires experience in organizational behavior •Requires experience in change management 21
  • 22. Project Manager •Responsible for schedule and budget •Ensures promised benefits are delivered •Manages team members •Responsible for project plan and reporting progress •Requires project management experience 22
  • 23. 23
  • 24. 1.3 Systems Development Life Cycle 24
  • 25. Systems Development Life Cycle (SDLC) Planning Analysis Design Implementation 25
  • 26. 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 26
  • 27. Planning 1. Identifying business value (System Request) • Lower costs • Increase profits 2. Analyze feasibility • Technical Feasibility • Economic Feasibility • Organizational Feasibility (System Proposal) 27
  • 28. 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) 28
  • 29. 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) 29
  • 30. 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 30
  • 31. Processes and Deliverables Process Product Planning Analysis Design Implementation System Proposal System Specification New System with Testing/Maintenance Plan 31
  • 32. SDLC and Deliverables Planning (System Proposal) Analysis (System Specification) Design (System Specification) Implementation (New System) 32
  • 34. 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) 34
  • 35. Major Methodologies 1. Structured Design • Waterfall method • Parallel development 2. Rapid Application Development • Phased Development • Prototyping • Throw-away Prototyping 3. Agile Development • Extreme Programming (XP) • Scrum • Lean Development 35 (Dennis, 2012) More Prescriptive/ Documentation More Adaptive/ Communication
  • 37. Activities and Artifacts Comparison 37
  • 39. 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 39
  • 40. Waterfall Method 40 Pros Cons Identifies systems requirements long before programming Begins, it minimizes change to the requirements as the project proceed (mature) Design must be specified on paper before programming begins Long time between system proposal and delivery of new system Rework is very hard
  • 41. Parallel Development 41 Addresses problem of time gap between proposal and delivery: • Breaks project into parallel subproject • Integrates them at the end
  • 42. 1.4.2 Rapid Application Development 42
  • 43. 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 43
  • 44. RAD: Phased Development 44 Pros Cons Gets useful system to users quickly Initial system is intentionally incomplete Most important functions tested most System requirements expand as users see versions
  • 45. RAD: Prototyping 45 • 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
  • 46. RAD: Throw-Away Prototyping 46 • 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
  • 48. 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) (Kent Beck) 2. Scrum (Ken Schwaber and Jeff Sutherland) 3. Lean Development (Mary Poppendieck and Tom Poppendieck) 4. Dynamic Systems Development Model (DSDM) (Dane Faulkner) 48
  • 50. 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 50
  • 51. Scrum 51 • Project members form a Scrum Team consisting of 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
  • 57. 57
  • 58. 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 58
  • 59. 59
  • 61. Selection Factors 1. Clarity of User Requirements 2. Familiarity with Technology 3. System Complexity 4. System Reliability 5. Short Time Schedules 6. Schedule Visibility 61
  • 63. 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 63
  • 64. 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 64
  • 65. 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 65
  • 66. 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 66