Rapid Application Development
Chapter 2 : Component Development for RAD
Dr.Orawit Thinnukool
College of Arts, Media and Technology, Chiang Mai University
Contents
• System Development
• Systems Development Life Cycle
• Type of System Development Life Cycle : SDLC
• Structured System Analysis and Design Methodology
(SSADM)
• Rapid Application Development-Based Methodology (RAD)
• The Rapid Application Development Process : case study for
business design
System Development
• System development คอกจกรรมหรอกระบวนการทผลตระบบสารสนเทศ เพอแกปญหาขององคกร และสามารถน าเทคโนโลยเขามาแกไขปญหาได
แนวทางการพฒนาระบบ
Opinion and Need
Analysis of need
System
Used and maintenance
Opinion and Need
Analysis of need
Development prototype
Used/test
Evaluate and improve
Validity and certify
New technology
Use prototype / model
Evaluation user
Evaluate and improve
Validity and certify
Disabused to organization
System development life cycle framework
• The system development life cycle framework provides a sequence of
activities for system designers and developers to follow. It consists of a set of
steps or phases in which each phase of the SDLC uses the results of the
previous one.
วงจรพฒนาระบบ(System Development Life Cycle : SDLC)
1. Identifying Problems, Opportunities Objectives. Feasibility Study
ก าหนดปญหา ศกษาความเหมาะสม
2. Requirements Analysis : การวเคราะหระบบการก าหนดความตองการ
3. Analysis System Needs : การวเคราะหและออกแบบ ตามความตองการของระบบ
4. Designing the recommended System: การออกแบบระบบตามความตองการ
5. Developing and Documenting Software: การจดท าเอกสารซอฟแวร
6. Testing and Maintaining the system : การทดสอบและบ ารงรกษาระบบ
7. Implementing and evaluating the system : การด าเนนการและการประเมนผลระบบ
Systems Development Life Cycle (SDLC) Methodology
รปแบบของวงจรพฒนาระบบ (Type of System Development Life Cycle : SDLC)
Waterfall Methodology
Waterfall Methodology มหลกการเปรยบเสมอนน าตก ซงไหลจากทสงลงสทต า และไมสามารถไหล
ยอนกลบขนมาไดอก ดงนนการพฒนาระบบดวยหลกการน เมอท าขนตอน
ใดแลวเสรจจะไมสามารถยอนกลบมาแกไขไดอก
- ซงหากมขอผดพลาดเกดขนทข นกอนหนากไมสามารถยอนกลบไปแกไขได
- อาจสงผลใหการพฒนาในระบบงานน จ าเปนตองมการวางแผนทด เพอใหเกด
ความผดพลาดไดนอยทสด Requirements
Analysis
System Design
Implementation
Testing and debugging
Maintenance
Systems Development Life Cycle (SDLC) Methodology
รปแบบของวงจรพฒนาระบบ (Type of System Development Life Cycle : SDLC)
Adapted Water Fall Model
Adapted Water Fall Model SDLC แบบ Adapted Wayerfall เปนรปแบบในการพฒนาระบบงานทปรบปรงมาจากแบบ waterfall โดยในแตละขนตอนเมอ ด าเนนงานอย สามารถยอนกลบมายงขนตอนกอนหนาเพอแกไขขอผดพลาดหรอสามารถยอนกลบขามขน โดยไมจ าเปนตองเปน ขนตอนทตดกนได
Requirements
Analysis
System Design
Implementation
Testing and debugging
Maintenance
Systems Development Life Cycle (SDLC) Methodology
รปแบบของวงจรพฒนาระบบ (Type of System Development Life Cycle : SDLC)
Evolutionary Model
- เปนการออกแบบค านงถงความเหมาะสมท างานไดมากกวาความสมบรณถกตอง - ก าหนดรายละเอยดเรมตนของระบบจากนนจงสรางและทดลองใชจนกวาจะไดรปแบบทเหมาะสม
- มแนวความคดทเกดมาจากทฤษฎววฒนาการ โดยจะท าการพฒนาระบบจนเสรจสนใน Version แรกกอน ทไดท าการพฒนาผานมาถงขอดขอเสยจากนนจงท าการพฒนาระบบงานใหมจนได Version ท 2 และ Version ตอ ๆ ไปจนกวาทจะได Product ทสมบรณทสด
Analysis
Design
Implementation
Analysis
Design
Implementation
Analysis
Design
Implementation
Program 1
Program 2
Program 3
Systems Development Life Cycle (SDLC) Methodology
รปแบบของวงจรพฒนาระบบ (Type of System Development Life Cycle : SDLC)
Incremental Model
มความคลายคลงกบแบบ Evolutionary จะมความแตกตางตรง ท Product เนองจาก Product ทเกดขนในการพฒนาขนแรกนนจะยงไมใช Product ทสมบรณ เปนเพยงแค Part แรก จากทงหมด จนเมอ มการพฒนาในขนตอนท 2 จงได Product ในสวนท 2 และจะถก พฒนาตอไปเรอย ๆ จนกวาจะได Product ทสมบรณ
Analysis
Design
Implementation
Analysis
Design
Implementation
Analysis
Design
Implementation
Part 1 Part 1 Part 1
Part 2 Part 2
Part 3
Systems Development Life Cycle (SDLC) Methodology
รปแบบของวงจรพฒนาระบบ (Type of System Development Life Cycle : SDLC)
Spiral Model
-มลกษณะเปนวงจรวเคราะห-ออกแบบ-พฒนา-ทดสอบ
(Analysis>Design>Implementation>Testing)
และจะวนกลบมาใน แนวทางเดม จนกวาจะได Product ทสมบรณ
-มความยดหยนสง เนองจากใน 1 รอบการท างาน ไมจ าเปนตองได Product และในแตละรอบนนจะสนยาวเทาใดกได ซงหากมขนตอนท ไมจ าเปนจรง ๆ อาจขามขนตอนนนไปเลยกได
Structured System Analysis and Design Methodology
(SSADM) รปแบบของวงจรพฒนาระบบ แบบ SSAM
เปนแบบจ าลองทเปนแผนภาพเพออธบายขนตอนการท างานและขอมลทงหมดของระบบ โดยเรยกวธการใชแผนภาพเพอจ าลองขนตอนการท างานหลกของระบบวา “Process-Center
Approach” และเรยกวธการใชแผนภาพเพอจ าลองขอมลของระบบวา “Data-Center
Approach”
ใช Waterfall Model เปนตนแบบในการพฒนา แตสามารถน าไปประยกตใชกบ
Adapted Waterfall เพอใหยอนกลบมาท าขนตอนกอนหนาเพอแกไขขอผดพลาดได
Planning
Analysis
Design
Implementation
System **แผนภาพแสดง SSADM ทใช ใน SDLC แบบ Waterfall
Structured System Analysis and Design Methodology
(SSADM) Advantages and disadvantages ขอดและขอเสยของ SSADM
Advantages A methodological approach of studying a business (or an area
of a business) from a number of different perspectives is more likely to provide a more
thorough understanding of the business, its processes and data, than the "ad-hoc"
approaches that were used previously. This in turn should lead to systems that are
more complete and correct.
Disadvantages SSADM approach of having to complete one phase
before beginning the next led some projects into what is referred to as "analysis
paralysis". What is meant by this is that because a business and its processes
never stays the same for very long, the systems team would continually have to
revisit analysis and design products for amendment, causing (sometimes lengthy)
delays in getting to the programming and delivery stages of the system.
Rapid Application Development-Based Methodology
(RAD)
RAD เปน Methodology แนวใหมทพฒนาขนเพอแกไขจดออนของ SSADM
ดวยการปรบระยะในวงจรการพฒนาระบบใหมขนตอนการท างานทรวบรด มากขน มการเลอกใชเครอง (Tool) และเทคนค (Techniques) ตาง ๆ เพอชวยใหการพฒนาระบบด าเนนการไดอยางรวดเรว
ผใชสามารถทดลองใชโปรแกรมตนแบบเพอบอกนกพฒนาระบบวาทไดออกแบบมานนถกตองหรอไม และมขอผดพลาดใดเกดขนบางแตมขอเสยตรงทมการเปลยนแปลงความตองการของผใชอยตลอดเวลาเนองจากผใชมโอกาสไดทดลองใชโปรแกรมตนแบบทสามารถสรางและแกไขไดงาย
Rapid Application Development-Based Methodology
(RAD)
Phased Development-Based Methodology การพฒนาระบบใน Version 1 จะถกพฒนาตามความตองการทส าคญทสดกอนโดยน าความตองการเหลานนมา วเคราะห (Analysis) ออกแบบ (Design) และพฒนา (Implementation) จนกลายเปน System Version 1 ทสามารถตดตงและใชงานจรงได แลวจงเรมพฒนาระบบใน Version 2 ตอไป
ใน Version 2 จะเรมดวยการน าระบบทพฒนาใน Version 1 มาวเคราะหความตองการอกครง พรอมทงเพมเตมความตองการใหมทไดจากผใชททดลองใชมาแลวและตองการเพมเตมรายละเอยดอน ๆ อก จากนนจงออกแบบและพฒนาจนกลายเปน System Version 2 และปฏบตแบบนไปเรอย ๆ จนกระทงได System Version ทสมบรณทสด
Comparison RAD IN SDLC
Project request
Analysis
(Feasibility Study )
Implementation
Post Implementation
Review
Requirements
System Design
Implementation
Testing and debugging
Maintenance
Analysis
SDLC RAD
Requirements Planning
User Design
Rapid
Construction
Transition
ในขนตอนด าเนนงานของ RAD จะรวมขนตอนสดทายคอ Transition ไวใน สวนของการน าไปใชในวงจร SDLC หากระบบทออกแบบมความผดพลาดหรอไดรบการแกไข ในขนตอนนกจะด าเนนการไปพรอมๆ กน ซงจะได Prototype ใน Version ถดไป
Rapid Application Development-Based Methodology
(RAD) : Phased Development-Based Methodology
Analysis
Design
Implementation
System Version 3
Analysis
Design
Implementation
System Version 2
Analysis
Design
Implementation
System Version 1
Planning
Analysis
แผนภาพแสดงการพฒนาระบบดวย RAD Methodology
แบบ Phase Development
Phased Development-Based Methodology
Advantages ผใชสามารถใชงานระบบไดเรวกวา SSADM ถงแมวา System Version 1 จะยงไมสามารถท างานไดครอบคลมหนาททกสวนกตาม
Disadvantages ผใชจะได System Version 1 ทไมสามารถท างานไดครอบคลมทกหนาทหรอทกความตองการได เนองจากใน Version 1 จะท างานไดตามหนาทหรอความตองการทจ าเปนและส าคญทสดกอน และตองใชเวลาในการรอ System Version 2 เพอเพมเตมความสามารถของระบบ
Rapid Application Development-Based Methodology
(RAD) : Phased Development-Based Methodology
Prototyping-based Methodology เปนวธการทนกพฒนาระบบสามารถด าเนนการในขนตอนวเคราะห ออกแบบและขนตอนการสรางไปพรอม ๆ กนได แลวสรางเปนตวตนแบบของระบบ (System Prototype) ทสามารถท างานไดจรงในบางสวนของระบบ
แลวจงน าตวตนแบบนนเสนอใหผใชระบบทดลองใชงาน เพอเกบความคดเหน ขอตชม มาใชในการวเคราะห ออกแบบ และพฒนาตนแบบในสวนท 2 ท าเชนนไปเรอย ๆ จนกระทงไดตนแบบทผใชยอมรบและสามารถใชงานไดครบทกสวนของระบบ เหมาะส าหรบระบบงานทมขนาดเลก มความซบซอนไมมากนก จงจ าท าใหวธการนมประสทธภาพ
Rapid Application Development-Based Methodology
(RAD) : Prototype-Based Methodology
Rapid Application Development-Based Methodology
(RAD) : Prototype-Based Methodology
Analysis
Design
Implementation
System Prototype Implementation
System Prototype
Planning
**แผนภาพแสดงการพฒนาระบบดวย RAD Methodology ทเปนแบบ Prototype
Rapid Application Development-Based Methodology
(RAD) : Prototype-Based Methodology
Advantages
ใชเวลานอยในการพฒนาเพอใหเปนระบบทสามารถใชงานได เนองจากขนตอนตาง ๆ สามารถด าเนนการไปพรอมกนไดดวยการสรางตนแบบของระบบ (System Prototype) โดยผใชงานสามารถทดลองใช ตนแบบกอนการตดตงได ท าใหสามารถระบขอผดพลาดและความตองการไดเรว
Disadvantages เปนวธทมการสรางตนแบบของระบบทละสวนดวยความรวดเรวท าใหขาดความรอบคอบในการตระหนกถงปญหาทจะเกดตามมาเมอมการตดตงและใชงานระบบทงหมดทกสวน
Rapid Application Development-Based Methodology
(RAD) : Throw-Away Prototype-Based Methodology
เปนวธการพฒนาระบบทมลกษณะคลายกบแบบ Prototype-Base Methodology ในสวนของการสรางตวตนแบบ (Prototype) เพอเปนตวอยางแสดงตอผใชงานแตส าหรบ Throw-Away
Prototype นจะไมใชตนแบบของระบบงานทสามารถทดลองใชงานไดจรง แตเปนตนแบบเพอเกบรวบรวมความคดเหนและความตองการของผใช (Design Prototype) โดยแสดงใหผใชเหนถงระบบวามลกษณะการใชงานอยางไรถกตองหรอไมและควรไดรบการแกไขในสวนใดบางเมอไดรบการยอมรบจากผใชแลววาระบบทออกแบบมานนถกตอง จงจะเขาสข นตอนการสรางและพฒนาระบบจรง
Rapid Application Development-Based Methodology
(RAD) : Throw-Away Prototype-Based Methodology
**แผนภาพแสดงการพฒนาระบบดวย RAD Methodology ทเปนแบบ Throw-Away
Prototype
Analysis
Design
Implementation
Design Prototype Implementation
System
Analysis
Planning
Design
Rapid Application Development-Based Methodology
(RAD) : Throw-Away Prototype-Based Methodology
-จาก Methodologies ในกลมของ RAD Methodology นน มการวเคราะหและออกแบบ ดวยการอางองกบขนตอนการท างาน (Process-Centered Approach) และอางองกบขอมลทงหมดของระบบ (Data-Centered Approach) แตทงน การอางองทง 2 มความส าคญใกลเคยงกนมาก ท าใหนกพฒนาระบบและทมงานพฒนาระบบเกดความสบสนในการเลอกทจะอางองดวยวธการใด
-จงเกด Object-Oriented Analysis and Design Methodology ขนมาโดยมองปญหาเหลานนใหเปนวตถทประกอบไปดวยขนตอนการท างาน(Process) รวมกบขอมล (Data)
ดวย
-ปจจบน Methodology น เปนทรจกกนในชอคอ “UML (Unified Modeling
Language)”
Unified Modeling Language :UML
UML เปน Visual Modeling ซงจะท าหนาทในการแสดงโครงสราง การท างานของ Software ใหออกมาอยในรปแบบของ model ทสามารถมองเหนได โดยการสอใหออกมาในรปของ Diagram รปภาพ ดวยวธการแบบนจะท าให Model, Implement, Coding มความสอดคลอง เปนไปใน
แนวทางเดยวกน
UML ถกน ามาใชในการพฒนา software อยางกวางขวาง และท าใหการท างานมคณภาพ
1) ชวยลดระยะเวลาในการพฒนาระบบงาน(Shortest Development life cycle)
2) ชวยเพมความสามารถในการท างาน(Increase productivity)
3) ชวยเพมคณภาพของระบบงาน (Improve software quality)
4) รองรบระบบงานเดม(Support legacy system)
5) ชวยในการสอสารระหวางทมผพฒนาระบบงาน(Improve team Connectivity)
Unified Modeling Language :UML
Deposit
Withdraw
Transfer
Add interest
Statement แสดงตวอยางแผนภาพ UML
Use Case Diagram ทแสดง ใหเหนถงความสมพนธระหวางขนตอน
การท างานทส าคญของระบบ (Use Case)
และผทเกยวของ (Actor)
Reference
Boehm, Barry (May 1988). "A Spiral Model of Software Development". IEEE
Computer. Retrieved 1 July 2014.
Drucker, Peter (November 3, 2009). Post-Capitalist Society. Harper Collins e-
books. ISBN 0887306209.
Martin, James (1991). Rapid Application Development. Macmillan. ISBN 0-02-
376775-8.