204
โดย อ.ดร. นัฐพงศ์ ส่งเนียม http://www.siam2dev.net [email protected] สาขาวิชา วิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยราชภัฏพระนคร Last Update : 05/01/2561 Lec06_การวิเคราะห์ความต ้องการ (Requirement Analysis) ด้วย Use case http://www.siam2dev.com [ dr. nattapong songneam]

โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

โดย อ.ดร. นฐพงศ สงเนยมhttp://[email protected]

สาขาวชา วทยาการคอมพวเตอรคณะวทยาศาสตรและเทคโนโลย มหาวทยาลยราชภฏพระนคร

Last Update : 05/01/2561

Lec06_การวเคราะหความตองการ (Requirement Analysis) ดวย Use case

http://www.siam2dev.com [ dr. nattapong songneam]

Page 2: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ดร. นฐพงศ สงเนยม

• http://www.siam2dev.com• E-mail : [email protected]• E-mail1 : [email protected]• E-mail1 : [email protected]• Facebook : [email protected]

http://www.siam2dev.com [ dr. nattapong songneam]

Page 3: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Lec06_การวเคราะหความตองการ (Requirement Analysis)

อ. นฐพงศ สงเนยมhttp://[email protected]@hotmail.com

Page 4: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Project• รปเลมรายงาน

– กาหนดหวขอ Project• ระบบโรงพยาบาล• ระบบโรงภาพยนตร• ระบบสนคาคงคลง• ระบบโรงแรม• ระบบบรหารการศกษา / ระบบการเรยนการสอน

– กาหนดความรบผดชอบ Project โดยใช Unified Process– ทา ขอเสนอโครงการ Proposal– วางแผน Gantt Chart + PERT chart– Usecase diagram– Class diagram– Sequence diagram / Communication Diagram– Activity Diagram

สมมต ใหมงบไมตากวา 1 ลานบาท

วเคราะหระบบงาน 1 ระบบดวยวธการเชงวตถใหแบงออกเปน 3 กลมกาหนดสงวนสอบปลายภาครปเลมรายงาน + CD

Page 5: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

4.2 โครงสรางกรรมวธ - Lifecycle Phases

เตรยมงาน (Inception) – นยามขอบเขตของโครงการ , ขอบเขตของระบบทจะพฒนา

OOAD : Object-Oriented Analysis and Design 5

Inception Elaboration Construction Transition

time

Unified process แบงการพฒนาออกเปน 4 เฟส (phases)

ทารายละเอยด (Elaboration) – วางแผนโครงการ จดทารายละเอยดความตองการ จดสรางสถาปตยกรรมระบบ

จดสราง (Construction) – สรางและทดสอบโปรแกรม

ถายโอน (Transition) – ตดตงถายโอนระบบใหกบผใช

5

Requirement Analysisเซตอพระบบ วางแผนกาหนดหนาท ใครทาอะไร

Presenter
Presentation Notes
ในชวง Inception จะเปนการกำหนดขอบเขตของโครงการ ระบวาสงใดทอยในโครงการ สงใดไมอยในโครงการ การกำหนดขอบเขตทำไดโดยการระบถง actors ซงกคอผใชระบบ ระบถงสงทระบบตองกระทำ ทเรยกวา use cases ตามทผใชแตละกลมคาดหวง , we define the scope of the project, what is included, and what is not. We do this by identifying all the actors and use cases, and by drafting the most essential use cases (usually approximately 20 percent of the complete model). A business plan is developed to determine whether resources should be committed to the project. During Elaboration, we focus on two things: getting a good grasp of the requirements (80 percent complete), and establishing an architectural baseline. If we have a good grasp of the requirements and the architecture, we can eliminate a lot of the risks, and we will have a good idea what amount of work remains to be done. We can make detailed cost/resource estimations at the end of Elaboration. During Construction, we build the product in several iterations up to a beta release. During Transition, we transition the product to the end user and focus on end user training, installation, and support. The amount of time spent in each phase varies. For a very complex project with a lot of technical unknowns and unclear requirements, Elaboration may include three to five iterations. For a very simple project, where requirements are known and the architecture is simple, Elaboration may include only a single iteration.
Page 6: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

UP : Phase 1. Inception• ชวงเรมตนของโครงการ

– ไดรบมอบหมายจาก เจาของกจการ / ลกคา / หวหนา ใหรบผดชอบโครงการเราจงเรยก วาเปน PM : Project Manager

– ในขนตนสงทคณตองทา กคอ จดหาทม และทา Proposal >> เคาโครงโครงการ/ แบบเสนอโครงการ/ตอผบรหาร

• หวขอหลกๆ

– ชอโครงการ เชน การพฒนาระบบจองหองพกโรงแรม

– ทมา ความสาคญของปญหา

– วตถประสงค

– ขอบเขต

– เทคโนโลย / นวตกรรม / กระบวนการทใช /วธการทใช

– แผนการดาเนนงาน ระยะเวลา / Gantt Chart

– งบประมาณ / อปกรณ / เครองมอ

– ผลทคาดวาจะไดรบ

ตองไดรบอนมต

เมอเสนอแลว และไดรบอนมตจงสามารถทาเฟส 2 ตอได

สงทสาคญ คอ ความนาเชอถอ

- ดจากอะไร ?

Page 7: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT
Page 8: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

The Iterative Approach

OOAD : Object-Oriented Analysis and Design 8

Disciplinesgroup activities

logically

In an iteration,you walk through

all disciplines

8

รวบรวมขอมลควรเสรจภายใน เฟสท 1

Presenter
Presentation Notes
This graphic illustrates how phases and iterations (the time dimension) relate to the development activities (the discipline dimension). The relative size of the color area indicates how much of the activity is performed in each phase/iteration. Each iteration involves activities from all disciplines. The relative amount of work related to the disciplines changes between iterations. For instance, during late Construction, the main work is related to Implementation and Test and very little work on Requirements is done. Note that requirements are not necessarily complete by the end of Elaboration. It is acceptable to delay the analysis and design of well-understood portions of the system until Construction because they are low in risk.
Page 9: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

รอบเฟสงาน

สป. 1 สป. 2 สป. 3 สป.4 สป.5Inception

ElaborationConstruction

Transition

Gantt Chart

กระแสงาน(workflow)

RequirementAnalysis

DesignImplement

TestingDeployment--------------

Configuration ManagementProject Management

Project ใหญ หนวยนบเวลา เปนเดอน หรอ ป

Project เลก กนบเปน สป.

Page 10: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ความตองการ (Requirements)

• ความตองการ (Requirements) ในทนหมายถงคณลกษณะในดานตางๆ ของระบบ

สารสนเทศทกาลงจะทาการพฒนาขนเพอ ใหระบบสามารถทางานตอบสนองตอผ

ใชไดอยางแทจรง

• แหลงของความตองการนนมาจากผใช (USER)

• นกวเคราะหระบบจะตองเปนผสงเคราะหความตองการนนจากขอมลตางๆ ทได

รบมาจากผใช โดยทาใหเปนขอกาหนดของความตองการ (Requirement

specifications) เพอใชเปนเปาหมายและขอบเขตของการพฒนาระบบตอไป

Page 11: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ต.ย.

• กระบวนการตงแต คนไข เขา โรงพยาบาล จนกระทงรกษาเสรจ/หายปวย ทาอะไรบาง

• กระบวนการตงแต นกเรยนมาสมครเปน นศ. และเขาเรยนไดทาอะไรบาง

1. ...................................

2. ...................................

3. ...................................

4. ...................................

5. ....................................

1. ...................................

2. ...................................

3. ...................................

4. ...................................

5. ....................................

Page 12: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

การวเคราะหความตองการ

Requirement Analysis

• การวเคราะหความตองการ คอกระบวนการวเคราะหเพอหาขอกาหนดความตองการ

ของผใช โดยจะตองอาศยขอมลในดานตางๆ ทไดรบมาจากผใชและองคกรของผใชเพอ

ทาการวเคราะห

RequirementAnalysis

User requirement

Business Workflow

Problemsstatement

Business Information&Rule

RequirementSpecification

INPUT PROCESS OUTPUT

Page 13: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ผใชระบบสารสนเทศ:

แหลงของความตองการ

• เจาของระบบ (System owners/Sponsors )

– มสวนไดสวนไดเสยจากการลงทนสรางระบบสารสนเทศ เจาของผบรหาร ผจดการ

• ผใชภายใน (Internal users)

– End-users คอผใชทปอนขอมลเขาสระบบโดยตรง ไมจาเปนตองมทกษะหรอความรมาก เนนความถกตองและรวดเรวของการปอนขอมลเขาสระบบ

– Power-users คอผใชทมความรความชานาญเฉพาะดาน สามารถใชงานฟงกชนของระบบในสวนทมความซบซอนได

– Administrators คอผทดแลและควบคมใหระบบสามารถดาเนนการไดอยางราบรนตามวตถประสงคทตงไว

– Executive users คอผใชทตองการสารสนเทศมาเพอการตดสนใจและบรหารองคกร (EIS/MIS/DSS)

• ผใชภายนอก (External users)

– ผใชซงเปนบคคลภายนอกองคกร แตสามารถเขาถงบรการของระบบในองคกรได

คณจะไดทางานกตอเมอนาเสนอ Proporsal ผาน

เปนผใชงาน ระบบทางออม

ลกคา ของ โรงแรม

Page 14: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ตอบคาถามเหลานใหได

• โรงพยาบาล ใครคอ System Owner / Sponsor• โรงเรยน ใครคอ System Owner / Sponsor• โรงภาพยนตร ใครคอ System Owner / Sponsor• โรงแรมใครคอ System Owner / Sponsor• มหาวทยาลย System Owner / Sponsor• ในมหาวทยาลย End User• ในมหาวทยาลย executive user

ทาไมตองรจก User หรอ ทาไมตองแบง User ออกเปนกลมๆ

Page 15: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

• เหตผล คอ แตละคนตองการใชงาน ระบบ ไมเหมอนกน ดงนน แตละคน กจะใหขอมลไมเหมอนกน ดงนนเราตองรวาจะเกบขอมลนจากใคร ?

ทาไมตองรจก User หรอ ทาไมตองแบง User ออกเปนกลมๆ

ถาคณ จะพฒนาระบบ ของ รพ. และอยากรวา ยาแบงออกเปนกประเภท ไปถาม ผอ. ได หรอไมไปถาม แมบานไดหรอไม

แตละ User จะใหขอมลเฉพาะ ฟงกชนงานตวเอง

Page 16: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ประเภทของระบบสารสนเทศ (IS: Information System)

• MIS Managment information system

– ระบบลงทะเบยน

– ระบบจองหองพก

– ระบบบญช

– ...

• DSS decision support system

• ES expert system : ระบบผเชยวชาญ เปนการนาเอาระบบคอมพวเตอรไปชวย ใหการ

ทางานหรอตดสนใจ หรอ คดแทนผใชได เชน ระบบผเชยวชาญสาหรบการแพทย AI , NN

• EIS Executive Information System :: สาหรบผบรหารระดบสง

• TPS transaction processing system :: สาหรบผใชระดบลาง งานประจา...รทน

– งานฝาก-ถอนเงน โอนเงน ของธนาคาร

– เพมถอน รายวชา ...

Page 17: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

โรงพยาบาล

• System Owner :: ......ผอานวยการโรงพยาบาล..• End User : …….พยาบาล.• Power User : ……..IT Support หมอ• Administrator : …..IT Support• Executive User : …..ผบรหาร / ผอ. /กรรมการ• External User : ……ผปวย / บคคลภายนอก ? / ญาต

ผปวย / แขกผปวย /

Page 18: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

โรงภาพยนตร

• System Owner :: ......เจาของโรงภาพยนตร ?• End User : …….พนกงานโรงภาพยนตร ? / พนง. ขายตว

/ พนง. ขายปอบคอน • Power User : ……..IT Support หมอ• Administrator : …..IT Support• Executive User : …..ผบรหาร / ผอ. /กรรมการ• External User : ……ผปวย / บคคลภายนอก ? / ญาต

ผปวย / แขกผปวย /

Page 19: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

กระบวนการวเคราะหความตองการ

• การบวนการวเคราะหความตองการมขนตอนดงตอไปน

1. เกบรวบรวมขอมลทเปนขอเทจจรงตางๆ (Data gathering)

2. วเคราะหเพอระบถงความตองการตางๆ (Requirement Identification)

3. คดเลอกสวนทเปนสาระสาคญและอยในขอบเขตการพฒนา (Requirement selection/ Problem Domain)

4. จดจาแนกและจดโครงสรางของความตองการ (Requirement classification and structuring)

5. จดลาดบความสาคญและตกลงเจรจา (Prioritization and negotiation)

6. ตรวจสอบความถกตอง (Requirement validation)

7. จดทา Requirement Specification

Pioritize ….. Use case artchitecture

Page 20: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ERD ระบบโรงพยาบาล

สนทรพยของโรงพยาบาล

?

หอง คนไขเขาพก

Page 21: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

1. เกบรวบรวมขอมลทเปนขอเทจจรงตางๆ (Information Gathering)

• สงเกต (Observed)

• สมภาษณ (Interview)

• แบบสอบถาม(Questionnaire)

• ทบทวนเอกสาร (Document reviews)

• ลงมอทา (Workshop)

Page 22: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

2. การระบความตองการ Requirement Identification

• แตละความตองการควรเปนอสระในตวเอง ไมผสมปะปนกบความตองการอนๆ• ความตองการจะตองสามารถทาการทดสอบได (Testable) ในภายหลง• ความตองการจะตองสามารถจดการดงตอไปนได

– จดกลมของความตองการ (Grouped) เชน จดตาม Viewpoint ของผใช เปนตน

– จดลาดบความสาคญ (Prioritized)– กาหนดในระดบของนามธรรมและรายละเอยด (Level of Abstraction) – กาหนดความสมพนธในเชงการขนอยตอกน (Dependency)

• ความตองการแตละความตองการควรมรหสทเปนเอกเทศใชในการอางองได (ID)• ควรแสดงดวยประโยคพรรณนา (Descriptive) ทเรยบงายตรงไปตรงมา ไมควร

อธบายดวยประโยคทซบซอนจนไมสามารถถอดใจความได

Page 23: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

แตละความตองการควรเปนอสระในตวเอง ไมผสมปะปนกบความตองการอนๆ

• แยกแตละความความตองการออกจากกน• เวลาไดขอมลทงหมด จะอยรวมๆ กน เพราะฉะนนตองแยกแต

ละความตองการออกจากกน

ผปวย ตองทาบตรประจาตวกอน

ชาระเงน

บนทกประวตผปวย

จายยา

ผปวยเดนมาท รพ. แลว จนท. จะเปนคนแจง/ถาม บตรสมาชก ทาบตรเขาคว รอหมอ ตรวจวนจฉย ใหพยาบาลจายยาสง บนทก

ประวตการรกษาจายเงน กลบบาน

ต.ย.

Page 24: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ผปวยเดนมาท รพ. แลว จนท. จะเปนคนแจง/ถาม บตรสมาชก ทาบตรเขาคว

รอหมอ ตรวจวนจฉย ใหพยาบาลจายยาสง บนทกประวตการรกษา

จายเงน กลบบาน

ใคร..............................................................

เขยนเปนความตองการ..............................................................

Page 25: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

3. คดเลอกสวนทเปนสาระสาคญและอยในขอบเขตการพฒนา (Requirement selection/ Problem Domain)

• สาระ• ไรสาระ / ไมจาเปน / ไมสาคญ

– กลบบาน

ผปวย ตองทาบตรประจาตวกอน

ชาระเงน

บนทกประวตผปวย

จายยา

ผปวยเดนมาทหอง แลวทาบตร

เขาคว

รอหมอ ตรวจวนจฉยจายยา บนทก

ประวตการรกษา

จายเงน กลบบาน

การเขาคว จาเปนตองมหรอไม?ขนอยกบวาโปรแกรมทเราจะพฒนา รวม การทาบตร ควหรอไม ?

Page 26: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

4. จดจาแนกและจดโครงสรางของความตองการ (Requirement classification and structuring)

บ.

ผงงานโครงสราง Structure Chart / Organization Chart

Page 27: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ประเภทของความตองการ (Requirement)

• ความตองการเชงฟงกชน (Functional requirements) คอการระบถงบรการหลกทระบบสามารถทาได (Statements of Services) เพอใหการประยกตใชสามารถเปนไปตามวตถประสงค– เชน ระบบสามารถบนทกการสงซอสนคาของลกคาได– ระบบสามารถออกรายงานสรปยอดขายประจาเดอนได

• ความตองการไมเปนเชงฟงกชน (Non-functional requirements) คอเงอนไข (constraint) ทไดกาหนดไวตอการพฒนาและการนาไปใชของระบบ – เชน ระบบจะตองใชงานบนระบบปฏบตการ Linux– ความเรวในการตอบสนอง (response time) ไมควรเกน 3 วนาท– สามารถทางานรวมกบระบบเกาได เปนตน

Page 28: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ความตองการทเปนเชงฟงกชน functional requirements

• เปนความตองการทเกยวกบระบบนนๆ โดยตรง

ผปวย ตองทาบตรประจาตวกอน

ชาระเงน

บนทกประวตผปวย

จายยา

ผปวยเดนมาทหอง แลวทา

บตร เขาคว

รอหมอ ตรวจวนจฉยจายยา

บนทกประวตการรกษา

จายเงน กลบบาน

Req. 1) ระบบนจะตองสามารถบนทกขอมลผปวยไดทาอยางไร >

เปนฟงกชน Function

Page 29: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ระบบบรหารงานคลนกผปวย จะตอง

• ตรวจโรคได• วนจฉยได• รกษาได• ทาบตรสมาชกได• เกบประวตการรกษาได• ทาจายยาได• จายเงนได• ทาการออกใบเสรจได• ....อนๆ

อยในระบบน และเปนหนาททซอฟตแวรหรอโปรแกรมจะตองทาได เรยกวาเปน Functional requirements

Page 30: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ต.ย.

Req. 1) ระบบนจะตองสามารถบนทกขอมลผปวยไดทาอยางไร >

1.1 ตองเกบ ชอ นามสกล ทอย เบอรโทร เลขบตรประชาชน อเมล ........1.2 เบอรโทร ตองเกบ ตวอกษร กรณ กด ตอได 025210141#48071.3….เลขบตรประชาชน ตองเกบ 13 หลก หามเวนวาง..

…..…..

…..

ขอมลดานบนน ไดมาจากใคร ?แอดมน เปนคนบนทกประวต ผปวยใชหรอไม ?

Page 31: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

การชาระเงน

Req. 2) ระบบจะตองสามารถชาระ คารกษาพยาบาล ได โดย มขอกาหนดดงน / มรายละเอยดดงน2.1 ระบบสามารถจาย/ชาระไดทง เงนสด และเครดต

ตอนท จะตรวจรบ ซอฟตแวร นหรอไม

ถา ไมสามารถจายเปนดวย บตรเครดต ได

Page 32: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

หนาจอชาระเงน

ประวตการรกษา

Page 33: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ขอมลผปวย

ประวตการรกษา

Page 34: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

การจาแนกประเภทของ Non-functional requirements

• Product requirements– ใชงานไดอยางสะดวก (Usability requirements)– มประสทธภาพด (Efficiency requirements): Performance, Speed– มความมนคงสง (Reliability requirements)– สามารถใชงานในสภาพแวดลอมทตางกนได (Portability requirements)

• Organizational requirements– สามารถสงมอบไดในเวลาทกาหนด (Delivery requirements)– ตองสรางดวยวธการและเทคโนโลยทกาหนด (Implementation requirements)– ตองพฒนาโดยยดตามมาตรฐานของการพฒนาทกาหนด (Standard

requirements) เชน ใหกระบวนการพฒนามมาตรฐานตาม ISO เปนตน• External requirements

– จะตองรองรบการเชอมตอจากภายนอกได (Interoperability requirements)– จะตองไมผดศลธรรม (Ethical requirements)– จะตองไมผดกฎหมาย (Legislative (Law) requirements)

Page 35: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ระดบของความตองการ

• ความตองการของผใช (User requirements)– ถอยแถลงทเปนภาษาธรรมชาต (Natural language) ตลอดจนแผนภาพ

ตางๆ ทแสดงใหทราบถงความสามารถในการทางานของระบบและเงอนไขในการทางานของระบบ

– ความตองการของผใชจะตองเขยนใหผใชเขาใจไดโดยงายเปนหลก• ความตองการของระบบ (System requirements)

– คอการระบถงสงทระบบควรจะม เพอใหสามารถทางานไดตรงตามความตองการของผใช

– ทาหลงจากไดขอกาหนดความตองการของผใชมาแลว– มกจะเขยนดวยแบบจาลอง (Models) เพอแสดงองคประกอบของระบบใน

แงมมตางๆ– ใชเปนขอกาหนดในการออกแบบตอไป

Page 36: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ตวอยางขอกาหนดความตองการ

• ReqID: 1– ระบบสามารถเกบขอมลของลกคาได

• ขอกาหนดความตองการ (Requirement specification)1. ขอมลลกคาจะตองเกบในฐานขอมล2. ระบบจะไมยอมใหเกบขอมลลกคา ถาขาดขอมลตอไปน เลขทบตรประจาตว

ชอ นามสกล อเมล3. ระบบจะตองตรวจสอบรปแบบของ เลขทบตรประจาตว กอนจดเกบ4. ระบบจะตองตรวจสอบรปแบบของอเมลกอนจดเกบ5. ขอมลของลกคาจะตองถกจดเกบใหเปนความลบและปลอดภย6. จะตองสามารถเรยกดไดในภายหลงวา พนกงานคนใดเปนผบนทกหรอแกไข

ขอมลลกคาครงลาสด7. Etc.

Page 37: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

• ถาออกแบบฐานขอมลแลวปอนขอมล หรอ บนทกขอมล

รหส ชอ-นามสกล อเมล เพศ เบอรโทร29101110125

Not Null

Page 38: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ขอเสยของการเขยนความตองการดวยภาษาธรรมชาต

• สอความหมายกากวมไมชด (Lack of clarity)• มความสบสน (Confusion)• ผสมปนเป (amalgamation)

Page 39: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

c

#include stdio.hstatic void main() {

}

Page 40: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

แนวทางการเขยนความตองการดวยภาษาธรรมชาต

• สรางรปแบบมาตรฐานในการเขยน (standard format)• ใชภาษาทตรงไปตรงมาอยางมเหตมผล และไมมความขดแยงกน• เนนคาทเปนสวนสาคญของความตองการนนๆ• เลยงการใชศพททางเทคนคมากจนเกนไป (ศพททางคอมพวเตอร)

Page 41: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

วธการอธบายความตองการแบบอน (นอกเหนอจากภาษาธรรมชาต)

• ภาษาทเปนโครงสราง (Structured Language)• แบบจาลองสญลกษณภาพ (Graphical model)• ขอกาหนดทางคณตศาสตร (Formal/Mathematical

specification)

½*ฐ*ส

Page 42: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

การตรวจสอบความถกตองของความตองการ

• การตรวจสอบความถกตองของความตองการ (Requirement validation) คอการตรวจวาความตองการทไดมานน ถกตองและตรงกบความตองการของผใชอยางแทจรงหรอไม

• หลกในการพจารณา– Validity ความตองการนนตรงกบทผใชตองการจรงหรอไม สามารถ

แกปญหาใหผใชไดจรงหรอไม– Consistency มความขดแยงกนระหวางความตองการหรอไม– Completeness เปนความตองการทครบถวนของผใชทกคนหรอไม– Realism สามารถสรางไดจรงตามความตองการหรอไม– Verifiability สามารถตรวจสอบไดหลงจากพฒนาเสรจแลวหรอไม

Page 43: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

เทคนคในการหาความตองการ

• Joint Application Design (JAD)• Prototyping

Page 44: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Joint Application Design (JAD)

• คอเทคนคการกาหนดความตองการของระบบโดยเนนการรวบรวมบคคลทเกยวของกบระบบ (stakeholders) มากาหนดความตองการรวมกน– User , Manager, Sponsor, System Analysis– เปาหมาย คอ หาความตองการไปพรอมๆ กน จากแตละ

viewpoints• การดาเนนการเปนไปในลกษณะการประชม (Meeting/Brain

Storming)• จนสดทายไดขอสรปรวมกนเปน ขอกาหนดความตองการ ซงแสดง

คณลกษณะของระบบทตองการ

Page 45: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

JAD Technique

Page 46: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

JAD Technique

ถาองคกรเลก ไมเกน 10 จะโอเคถาขนาดกลาง 10 -100 พอได

ถาใหญ เกน ไมเหมาะสม แตอาจจะคดเลอกตวแทนได

Page 47: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Prototyping

• ใชในกรณทผใชยงไมทราบความตองการของตนเองอยางชดเจน• สรางตนแบบของระบบอยางรวดเรวจากความตองการทมอยเบองตน• ใหผใชประเมนและเสนอแนะเพอทาการปรบปรงจนกวาผใชยอมรบ• นาตนแบบทเปนทยอมรบของผใชมาพฒนาตอใหสมบรณจนสามารถใช

งานไดจรง

Page 48: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Prototype3

Prototype2

Prototyping

Initial Requirement Specification

Prototype1 User

Accepted Prototype

validation

CertainRequirement Specification

Development

Actual System

Prototype Construction

Page 49: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

โดย อาจารย ดร. นฐพงศ สงเนยมhttp://[email protected]

สาขาวชา วทยาการคอมพวเตอรคณะวทยาศาสตรและเทคโนโลย มหาวทยาลยราชภฏพระนคร

Last Update : 05/01/2561

Use case model

แหลงขอมลเพมเตม : : http://www.lumpaya.com/sdlc01.htmhttp://www.siam2dev.com [ dr.

nattapong songneam]

Page 50: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Lecture Outline

1. กระบวนการพฒนาซอฟตแวร (Software Development Process )

ทบทวน

2. ข นตอนการวเคราะหระบบ (System Analysis)

3. การวเคราะหระบบดวย ยสเคส (System Analysis and Use Case )

4. การสราง ยสเคสไดอะแกรม (Use Case Diagram )

5. ตวอยางของ ยเคส (Example Of Use case)

Page 51: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

UP :: โครงสรางกรรมวธ - Lifecycle Phases

เตรยมงาน (Inception) – นยามขอบเขตของโครงการ , ขอบเขตของระบบทจะพฒนา

OOAD : Object-Oriented Analysis and Design 51

Inception Elaboration Construction Transition

time

Unified process แบงการพฒนาออกเปน 4 เฟส (phases) แบงโครงการออกเปน 4 ระยะ

ทารายละเอยด (Elaboration) – วางแผนโครงการ จดทารายละเอยดความตองการ จดสรางสถาปตยกรรมระบบ

จดสราง (Construction) – สรางและทดสอบโปรแกรม

ถายโอน (Transition) – ตดตงถายโอนระบบใหกบผใช

51

Requirement Analysis

Use case จะเรมทาในเฟส น

Requirement specifications

Presenter
Presentation Notes
ในชวง Inception จะเปนการกำหนดขอบเขตของโครงการ ระบวาสงใดทอยในโครงการ สงใดไมอยในโครงการ การกำหนดขอบเขตทำไดโดยการระบถง actors ซงกคอผใชระบบ ระบถงสงทระบบตองกระทำ ทเรยกวา use cases ตามทผใชแตละกลมคาดหวง , we define the scope of the project, what is included, and what is not. We do this by identifying all the actors and use cases, and by drafting the most essential use cases (usually approximately 20 percent of the complete model). A business plan is developed to determine whether resources should be committed to the project. During Elaboration, we focus on two things: getting a good grasp of the requirements (80 percent complete), and establishing an architectural baseline. If we have a good grasp of the requirements and the architecture, we can eliminate a lot of the risks, and we will have a good idea what amount of work remains to be done. We can make detailed cost/resource estimations at the end of Elaboration. During Construction, we build the product in several iterations up to a beta release. During Transition, we transition the product to the end user and focus on end user training, installation, and support. The amount of time spent in each phase varies. For a very complex project with a lot of technical unknowns and unclear requirements, Elaboration may include three to five iterations. For a very simple project, where requirements are known and the architecture is simple, Elaboration may include only a single iteration.
Page 52: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

การเขยนโครงการ (Proposal)

• ชอโครงการ

• ความเปนมาและความสาคญของปญหา

• วตถประสงคของโครงการ

• ขอบเขต

• แผนการดาเนนงาน Gantt Chart

• ประโยชนทคาดวาจะไดรบ

• อภธานศพทเฉพาะ

Page 53: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

The Iterative Approach

OOAD : Object-Oriented Analysis and Design 53

Disciplinesgroup activities

logically

In an iteration,you walk through

all disciplines

53

Presenter
Presentation Notes
This graphic illustrates how phases and iterations (the time dimension) relate to the development activities (the discipline dimension). The relative size of the color area indicates how much of the activity is performed in each phase/iteration. Each iteration involves activities from all disciplines. The relative amount of work related to the disciplines changes between iterations. For instance, during late Construction, the main work is related to Implementation and Test and very little work on Requirements is done. Note that requirements are not necessarily complete by the end of Elaboration. It is acceptable to delay the analysis and design of well-understood portions of the system until Construction because they are low in risk.
Page 54: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ระบบบรหารโรงแรม ABC

Business Model : โมเดลทางธรกจBusiness Rule : กฏเกณฑ/เงอนไขทางธรกจ

โปรแกรม บรหารงานโรงแรม (GENiUS iHotel) เปน โปรแกรมโรงแรม ทออกแบบสาหรบชวยบรหารงาน โรงแรม รสอรท อพารทเมนต แบบรายวน และรายเดอน โดยสวนประกอบหลกๆ ของโปรแกรมจะประกอบไปดวย ขอมลหองพก (Room Information) ระบบการจองหองพก (Reservation) ระบบการเชคอน (Guest Check In) ระบบการเชคเอาท (Guest Check Out) ระบบขอมลผเขาพก (Guest History) ระบบการขายสนคาในหองพก (Mini Bar) ระบบการซอสนคา ระบบสตอกสนคา (Inventory) ระบบแมบาน (House Keeping) ระบบการบารงรกษาหองพก (Room Maintainance) ระบบการปดบญชรอบวน (Night auditor) และ ระบบงานเอกสาร ตางๆ อาทเชน Guest Folio ใบเสรจรบเงน ใบกากบภาษ เปนตน รวมไปทงระบบการรายงานรายวน รายงานแบบสรป และ รายงานเชงวเคราะห เชงลก ใหผบรหาร อาทเชน รายงานประวตผเขาพก รายงานการรบเงนของ Cashier รายงานการเขาพก รายงานสรปยอดหองพกคงเหลอ (Room Forecasting) รายงานสนคาคงเหลอสตอกกลาง หรอ มนบาร รายงานการใชหองพก (Room Occupancy) รายงาน ยอดการจองหองพกลวงหนา (Forecast Report) และ รายงานอนๆ และเครองมอชวยเหลอในการทางาน (Front Utility) อกมากมาย

คณสมบตของ โปรแกรมโรงแรม

ระบบโรงแรม คออะไร ?

Page 55: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Business model•ชอ•ทตง ทอย•ใครเปนเจาของ•ดาเนนกจการมาแลวกป•จานวนหองพก•ประเภท•พนกงาน•แผนก ฝาย•รายละเอยดตางเกยวกบ การทาธรกจ โรงแรม•ฯลฯ

Business model

Business Rule

Page 56: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Business Rule เงอนไข ของธรกจ

•การเขาพก ทาอยางไร•การเปนสมาชก / ทาอยางไร•การจอง•การจายเงน•การรบพนกงาน•การตอนรบลกคา

Page 57: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

การจองเพอจะ ตรวจสอบสถานะของหอง?

Page 58: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ตวอยาง Business Rule

Page 59: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ตวอยาง Business Ruleบรษท เอม บ เค จากด(มหาชน) เปนผประกอบธรกจระดบแนวหนาของประเทศไทย โดยมงเนนธรกจทสนบสนนดานการทองเทยว และการพฒนาอสงหารมทรพย เปนหลก

บรษท เอม บ เค จากด(มหาชน) เปนผประกอบธรกจระดบแนวหนาของประเทศไทย โดยมงเนนธรกจทสนบสนนดานการทองเทยว และการพฒนาอสงหารมทรพย เปนหลก โดย MBK ไดจดทะเบยนแปรสภาพบรษท เปนบรษทมหาชนจากดชอวา “บรษท เอม บ เค พรอพเพอรตส แอนด ดเวลลอปเมนท จากด (มหาชน)”เมอวนท 8 เมษายน 2537 และไดรบอนญาตให เปนบรษทจดทะเบยนในตลาดหลกทรพยแหงประเทศไทย อกครงเมอวนท 5 เมษายน 2539 ใชชอยอหลกทรพยวา “MBK - PD” โดยเรมมการซอขาย หนสามญ ของบรษทฯ ในตลาดหลกทรพยแหงประเทศไทยเมอวนท 24 เมษายน 2539ตอมาเมอวนท 20 พฤศจกายน 2545 บรษทฯ ไดเปลยนชอบรษทจาก “บรษท เอม บ เค พรอพเพอรตส แอนด ดเวลลอปเมนท จากด (มหาชน)” เปน “บรษท เอม บ เค ดเวลลอปเมนท จากด (มหาชน)” และเมอวนท 10 พฤศจกายน 2546 บรษทฯ ไดเปลยนชอบรษทฯ อกครงจาก “บรษท เอม บ เค ดเวลลอปเมนท จากด (มหาชน)” เปน “บรษท เอม บ เค จากด (มหาชน) ” “MBK” และเปลยนชอยอหลกทรพยจาก “MBK - PD” เปน “MBK” จนถงปจจบนMBK ประกอบดวย 8 กลมธรกจ คอ1. ธรกจศนยการคา 2. ธรกจโรงแรมและการทองเทยว 3.ธรกจอสงหารมทรพย 4.ธรกจกอลฟ 5. ธรกจขาว 6. ธรกจการเงน 7.ธรกจอนๆ 8. ธรกจสนบสนน ดงน

Page 60: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

บรษท เอม บ เคMBK ประกอบดวย 8 กลมธรกจ คอ

Page 61: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ตวอยาง Business Rule

Page 62: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ตวอยาง Business Model

Page 63: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

UML : Unified Modeling Language

Use CaseDiagramsUse Case

DiagramsUse CaseDiagrams

ScenarioDiagramsCollaboration

Diagrams

StateDiagramsState

DiagramsComponentDiagrams

ComponentDiagramsComponent

DiagramsDeploymentDiagrams

StateDiagramsState

DiagramsObjectDiagrams

ScenarioDiagramsScenario

DiagramsStatechartDiagrams

Use CaseDiagramsUse Case

DiagramsSequenceDiagrams

StateDiagramsState

DiagramsClassDiagrams

ActivityDiagrams

Models

http://www.siam2dev.com [ dr. nattapong songneam]

Page 64: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

1. Software Development Process

1. Requirement Specification : define problem domain

2. Analysis : what problem to be solved? (อะไรคอปญหาทตองแก)

3. Design : how to solve the problem? (แกอยางไร)

4. Implementation : how to implement the solution?

5. Testing : how to ensure that the solution can solve the problem?

1. ทดสอบในเรองความเรว ประสทธภาพ ความปลอดภย ความมนคง เสถยร

2. ทดสอบความเขากนได หรอ การประกอบของสวนยอยๆ

6. Maintenance : how to adjust the solution to accomodate change?

1. ในรอบระยะเวลาหนงอาจจะตองมการปรบเปลยน

7. Retirement : when does the system to be retired?

บทท 5 Requirement Specification

Use case

Page 65: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

StopA

A

หา Business Rule/Model

Start

Planning

Requirement Specification

สราง Use Case Diagram

สราง Class diagram

ออกแบบ UI and Prototype

Implementation /coding

Testing

Page 66: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

อ.ดร. นฐพงศ สงเนยม 66

ขอกาหนดของความตองการ(Requirement Specifications)

Page 67: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

2. System Analysis• กระบวนการวเคราะหระบบ (System analysis phase)

– มงเนน “what” ทระบบจะตองม และตองทาใหกบผใช โดยยงไมเนน “how” วาจะทาอยางไร (ในขนตอนนเปนการ User Requirement)

• กระบวนการวเคราะหความตองการของผใชระบบ (Requirementanalysis phase)– ใชในการสรางแบบจาลองหนาทการทางานของระบบ

ซอฟตแวร จากมมมองของผใชภายนอก หรอ ระบบภายนอก– จะไดแบบจาลองของความตองการของผใชระบบ

(Requirement Model) เปน Output

จาก UP ในเฟส ท 2 สงจะตองได หรอเสรจ กคอ Use case 80%

Page 68: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

What >> Analysis1. ระบบตองขายสนคาได2. เกบขอมลพนกงานได3. ....

How >> Design / Implement– ออกแบบ ขอ 1. ใน Traditional Method กคอการ ออกแบบ

อลกอรทม/Pseudo Code, และเขยนผงงาน / ผงโครงสราง– แบบเชงวตถ กสรางเปน use case diagram และ class diagram

Requirement Specification

Page 69: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ระบบขายสนคา

ซอ

ลกคา

สนคา/ ใบเสรจ

ขอมลสนคา

โปรแกรม ตองทางานอยางไร

Cjava

Page 70: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Requirements

1.

ออกแบบ Use case

2.

ทาไมตอง 1-2 เดอน หรอ ทาไม 3-4 หรอเทาไร ?

อาจจะใชเวลา 1-2 เดอนอาจจะใชเวลา 1-2 เดอน

Page 71: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

3. System Analysis and Use Case

• Use Case Model– แบบจาลองความตองการของระบบ ท นาเสนอ functional

requirement ของระบบโดยรวม จากมมมองของผใช ภายนอก หรอ ระบบภายนอก

– ระบพฤตกรรม หรอหนาทการทางานของระบบ (เนน “what”) ทระบบตองม

– ใชในการทดสอบ และตรวจสอบ โครงสราง และหนาทการทางานของระบบ

– ใน UML สามารถระบเปน• Use Case Description (Text) หรอ • Use Case Diagram(Diagram)

บทท 5

Page 72: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ระบบโรงแรม ทาอะไรบาง

•Functional requirements ?•Non-Functional requirements ?

Page 73: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Requirement

• Req08 : คนหาขอมลหองพก{ จากความตองการของ พนกงาน }

– ระบบจะตองสามารถคนหาวาหองพกใด วาง/ไมวาง– ระบบสามารถตรวจสอบไดวาหองใด มลกคาคนใดเขาพก– ระบบสามารถตรวจสอบไดวา หองพกนน ครบกาหนด Check

out วนไหน/เมอไหร– ระบบสามารถตรวจสอบได วา ลกคา ใชบรการ Minibar

หรอไม– ตรวจสอบวามแมบานทาความสะอาดแลวหรอไม

Req01 , Req08 , Req15 , Req20 , Req09 , Req07, Req02

Page 74: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

การพฒนาระบบจองหองพกโรงแรม ม Requirement ?

• Req01 : คนหาขอมลหองพก

• Req02 : สมครสมาชกได

• Req03 : จองหองพก

• Req04 : ชาระเงน

• Req05 : คนเงน

• ReqN : คนหองพก

Functional requirement

Page 75: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

วาง และ พรอมเขาพก

ไมวาง และ มคนอย

วาง แต ไมพรอมเขาพก / ยงไมทาความสะอาด

Page 76: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

จงวเคราะหระบบโรงแรม แลว เขยน

• Functional requirements ?• Non-Functional requirements ?

อยางละ 10 รายการ

Page 77: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ต.ย. Functional Requirements

• Req01 : การจองหองพก• { จากความตองการของ ลกคา }

– ในการจองหองพก จะมเงอนไขดงน• ระบบจะตองตรวจสอบขอมลการสมาชกได • ระบบจะตองทาการบนทกวาขอมลผจอง ไดแก รหส ชอ-นามสกล

เบอรโทร ทอย• ระบบจะตองสามารถตรวจสอบไดวา มหองวาหรอไม {uses Req08}• จะสามารถบนทกขอมลการจองหองพกได {uses Req09} โดยเกบ

วนท เวลา จานวนหอง จานวนผเขาพก วนทเชคอน วนท เชคเอาท• ระบบสามารถ ตรวจสอบไดภายหลงวา พนกงานคนใดเปนผรบการ

จอง• ถาเปนสมาชก จะมสวนลด 10 % {extend Req09}

จอง

ตรวจสอบหองพก

Page 78: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

โปรแกรมยอย

• Sub(vb)/Procedure(pascal)• Function/

• Function/Method• คนคา

• ไมคนคา

Page 79: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ต.ย. Functional Requirements• Req01 : สมครสมาชก• { จากความตองการของ ลกคา }

– ในการ สมครสมาชกจะมเงอนไขดงน• ระบบจะตองตรวจสอบขอมลการสมาชกได • ระบบจะตองทาการบนทกวาขอมลผจอง ไดแก รหส ชอ-

นามสกล เบอรโทร ทอย• ระบบจะตองสามารถตรวจสอบไดวา มหองวาหรอไม {uses

Req08}• จะสามารถบนทกขอมลการจองหองพกได โดยเกบ วนท เวลา

จานวนหอง จานวนผเขาพก วนทเชคอน วนท เชคเอาท• ระบบสามารถ ตรวจสอบไดภายหลงวา พนกงานคนใดเปนผรบ

การจอง• ถาเปนสมาชก จะมสวนลด 10 %

Page 80: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ผใชระบบสารสนเทศ:แหลงของความตองการ

• เจาของระบบ (System owners/Sponsors ) – มสวนไดสวนไดเสยจากการลงทนสรางระบบสารสนเทศ

เจาของผบรหาร ผจดการ• ผใชภายใน (Internal users)

– End-users คอผใชทปอนขอมลเขาสระบบโดยตรง ไมจาเปนตองมทกษะหรอความรมาก เนนความถกตองและรวดเรวของการปอนขอมลเขาสระบบ

– Power-users คอผใชทมความรความชานาญเฉพาะดาน สามารถใชงานฟงกชนของระบบในสวนทมความซบซอนได

– Administrators คอผทดแลและควบคมใหระบบสามารถดาเนนการไดอยางราบรนตามวตถประสงคทตงไว

– Executive users คอผใชทตองการสารสนเทศมาเพอการตดสนใจและบรหารองคกร

• ผใชภายนอก (External users)– ผใชซ งเปนบคคลภายนอกองคกร แตสามารถเขาถงบรการของ

ระบบในองคกรได

จากทเคยสอนไปแลว บทท 5

Page 81: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Use Case Description Example

• Name: การสงรายการซอขายหลกทรพย (Place Order)– Main flow of events:

1. Trader ปอนชอ และรหสของ client2. System ตรวจสอบ (Validate) ชอ รหส และ credit ของ

client3. Trader ปอนรหสหลกทรพย จานวนหลกทรพย และราคา

หลกทรพย ท Client ตองการซอขาย4. System ตรวจสอบเงอนไขราคาของหลกทรพย

{ตรงกบเงอนไขของตลาดหรอไม เชน Margin ขนตาเทาไร}5. System สง order ใหกบตลาดหลกทรพย6. System เกบหมายเลข order ทไดรบจากตลาดหลกทรพย7. System แจงให Trader ทราบ

Trader

Place OrderStock

Exchange

Market

Use case ไดมาจาก Requirement Specification

Page 82: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

4. Use Case Diagram• นาเสนอ Use Case และการปฏสมพนธโตตอบกนระหวางระบบ

และ ผใชภายนอก (someone / something อาจเปนคน หรอระบบกได)

• ประกอบดวย– Use Case – ฟงกชน/ความสามารถ/หนาทของระบบ– Actor – ผทมบทบาท/ ผกระทา/ผใชงาน Use Case นนๆ– Relationship - เสนแสดงความสมพนธระหวาง Use Case กบ

Actor– System / System Boundary - ระบบทกาลงพฒนา

Page 83: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Use Case Modeling : Core Elements

Construct Description Syntax

use case A sequence of actions, including variants, that a system (or other entity) can perform, interacting with actors of the system.

actor A coherent set of roles that users of use cases play when interacting with these use cases.

system boundary

Represents the boundary between the physical system and the actors who interact with the physical system.

UseCaseName

ActorName

Page 84: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Construct Description Syntax

association The participation of an actor in a use case. i.e., instance of an actor and instances of a use case communicate with each other.

generalization A taxonomic relationship between a more general use case and a more specific use case.

extend A relationship from an extension use case to a base use case, specifying how the behavior for the extension use case can be inserted into the behavior defined for the base use case.

Use Case Modeling : Core Relationships

<<extend>>

Page 85: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Construct Description Syntax

Include / uses An relationship from a base use case to an inclusion use case, specifying how the behavior for the inclusion use case is inserted into the behavior defined for the base use case.

Use Case Modeling : Core Relationships (cont’d)

<<include>>

Page 86: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Use Cases v.s. Scenario• Use Case

– ความสามารถ หรอ หนาทการทางานของระบบ– แตละ Use Case แทนชดของ transactions ทระบบ

ทางานโตตอบกบ ผใชงาน หรอระบบอนๆ ภายนอก• Scenario

– สถานการณ หรอตวอยางเรองราวการใชงานระบบ– Scenario จดเปน instance ของ use case– เชน

withdrawal cash

a user withdrawals$200

รายการ

การถอนเงนสด

อาจจะเปนของใครกได

เปนการระบรายละเอยด หรอ

ยกตวอยางมา 1 รายการ

Page 87: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ซอขาว

นาย ก. แลกคปอง 100 บาท

แลกคปอง

สวมล ซอขาวมนไก 30 บาท

Page 88: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Scenario is a capture of use case

ถอนรายวชา

เพมรายวชา

•สมชายถอนรายวชา OOAD•สมศร ถอนวชาแคลคลส•สมควร ถอนวชา OOP

scenario

Use case

สมหญงเพมรายวชา OOP

การสมครสมาชก นาย นฐพงศ สมครบตรเครดต

class Instances/objects

Page 89: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

จองหองพก

ตรวจสอบหองวาง

นายแดงจองหอง 142นาย ก จองหองพก เลขท 321...

scenariousecase

สมศรตรวจสอบหอง 142

Page 90: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

อะไรคอ Transaction ?

• ราน เซเวน– ขายสนคา– ซอสนคา– เพมขอมลสนคา– เปลยนราคาสนคา– คนหารายการสนคา

• โรงภาพยนตร• โรงแรม

Transaction หลายๆ transaction รวมเปน use case อาจกลาวได วา use case กคอ

requirement นนเอง

Page 91: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ระบบ รานเซเวน

• Use case ซอสนคา• Scenario : สมศร ซอแปรงสฟน 2 อน• Scenario : นายก. ซอขนมปง 5 ชน

ใชตอนทดสอบโปรแกรม

ซอสนคา

Page 92: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Transaction

แปรงสฟน 2 ดาม

ขนมเลย 1 หอ

ขนมปง 1 หอ

นม 1 โหล

Page 93: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

• Use case : คานวณ พท. สเหลยม• Scenario :: สเหลยมท ก 2 ยาว 4

ใชในตอนออกแบบ วาโปรแกรมตองทาอะไรไดบาง

ใชในตอนทดสอบระบบ วาเปนไปตาม use case หรอไม

Page 94: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Actors• Actor หมายถง someone หรอ some thing ทมการ

ปฏสมพนธ โตตอบกบระบบ– สงใดกตามทมความตองการในการแลกเปลยน

information กบระบบ หรอ สงใดกตามทอยภายนอกระบบ และมการใชงาน Use Case ของระบบ

– กาหนดบทบาทหนาทของผใชระบบ (actor ใชสาหรบกาหนดบทบาท ของผใชระบบ วาทาอะไรกบระบบ หรอใช อะไร/ตดตอจากระบบ)

– กาหนดการเชอมโยงกบระบบอนๆ ภายนอก• ตวอยางของ Actors

– Customer -- maintain their account (ลกคาตองการปรบปรงรายการบญชของตวเอง)

– Cashier -- verify withdrawal amountCustomer Cashier

เวลา คณถอนเงน แคชเชยร สามารถตรวจสอบยอดการถอนได

Page 95: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ในการเกบขอมลลกคา

• Req05 : จดการขอมลลกคา– เพมลกคาใหม/สมครสมาชก– แกไขขอมลลกคา {customer/staff/admin}– จะตองใหลกคาสามารถด ขอมลตนเองได– จะตองใหลกคา แกไข ขอมลลกคา บางอยาง

ได Customer -- maintain their account (ลกคาตองการปรบปรงรายการบญชของตวเอง)

Customer

Maintain their account

Add new customer Staff

คลนก ลกคา ตองการแกไขทอย ผานเคาเตอร / พยาบาล

Delete account

Page 96: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Actor หมายถง someone หรอ some thing ทมการปฏสมพนธ โตตอบกบระบบสงใดกตามทมความตองการในการแลกเปลยน information กบระบบ หรอ สงใดกตามทอยภายนอกระบบ และมการใชงาน Use Case ของระบบกาหนดบทบาทหนาทของผใชระบบกาหนดการเชอมโยงกบระบบอนๆ ภายนอก

ATM

chkpassword

Actor

ATM

customer

Validate account

<<

include>>

Page 97: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Actors• Actors สามารถอธบายโดยใช Generalization/Specialization

Relationship

• อาจพจารณา Actors เปนคลาส ใน UML เนองจากม relationships เชนเดยวกบทคลาสม

Generalization/specialization relationship

Customer

ATM Customer Cashier Customerจงอธบายรปน ?

แบงโดยใชเกณฑ ลกษณะของการใชงาน

Page 98: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Actors• Actors สามารถอธบายโดยใช Generalization/Specialization

Relationship

• อาจพจารณา Actors เปนคลาส ใน UML เนองจากม relationships เชนเดยวกบทคลาสม

Generalization/specialization relationship

Customer

Personal Customer Coporate Customer

จงอธบายรปน ?

แบงโดยใชเกณฑ ลกษณะลกษณะของลกคา

Page 99: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Actors• เชอมตอกบ use cases โดยใชเสนแสดงความเกยวของ ปฏสมพนธ

(association)• association = ความสมพนธทมการตดตอสอสารกน (ทงการรบ และสง

messages ใหแกกนและกน)

• ใช generalization relationships อธบายความสมพนธ ระหวาง actors ไมจาเปนตองอธบายรายละเอยดของ Association เนองจากไมมการ Implement สวนของ Actor ในระบบ

Customerwithdrawal cash

Page 100: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

System• System

– อาจหมายถง Software system, business, hardware,..– วตถประสงคใน use-case modeling เพอระบขอบเขต

ของระบบทกาลงพฒนา (system boundary)• ใชสญลกษณ

System

Page 101: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

System & Use cases

• A system there are several use cases.

usecase3 usecase5

usecase2Usecase 1

usecaseN

usecase4

Page 102: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

• ในระบบหนงๆ จะม ยสเคสไดอะแกรมไดหลาย ยสเคสไดอะแกรม• ในแตละยสเคสไดอะแกรม จะมหลายๆ ยสเคส

usecase1

usecase2

usecase3

usecase4

usecase

usecase

Usecase 1

usecase

ระบบใหญ

Use case 1

Page 103: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

จดการลกคา

• เกบประวต • แกไข ..เปลยนชอ ทอย เบอรโทร• ลบ กรณยกเลกขอมลลกคา• คนหาขอมลลกคา เพอทารายการบางอยางเชน

ลบ หรอแกไข

Page 104: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Relationships between Use Case

• Extends : เปน generalization relationships ในกรณท Use Case หนงๆ ขยาย (extends) Use Case อน โดยการเพมการกระทา (actions)

• Includes/Uses : เปน generalization relationship ในกรณทUse Case หนงๆ เรยกใช (uses) Use Case อน ทพจารณาให เปนสวนหนงของ Use Case นนๆ

Page 105: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Generalization Relationship• Child Use case รบถายทอด

คณสมบตมาจาก Parent Use Case

• Child สามารถเปลยนแปลงพฤตกรรมทรบจาก Parent หรอเพมเตมพฤตกรรม

• Child อาจนาไปแทนท ในทๆ Parent ปรากฏ

Validate client

Check passwor

d

Retinal scan

จงอธบายรปน ?

ตวลกมเหมอนพอแม แตสามารถดดแปแลงเพมเตมความสามารถของพอแมได

Parent use case

child use case

Page 106: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

“Include” relationship• มกใชในการหลกเลยงการอธบายการไหลของเหตการณ (flow of events) เดม ซา

กนหลายๆ ครง โดยรวบรวมพฤตกรรมรวม ใน Use Case

• หลกเลยงการ copy & paste ของ Use Case Descriptions

• เปรยบเสมอนการเรยกโปรแกรมยอย/ฟงกชน จากโปรแกรมหลก

Validate client

Place order

<<include>>

Track order

<<include>>

ทกครงทจะซอ/ขาย ตอง

login

โปรแกรมหลก

โปรแกรมยอย

Page 107: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

“Include” relationship• มกใชในการหลกเลยงการอธบายการไหลของเหตการณ (flow of events) เดม ซา

กนหลายๆ ครง โดยรวบรวมพฤตกรรมรวม ใน Use Case

• หลกเลยงการ copy & paste ของ Use Case Descriptions

• เปรยบเสมอนการเรยกโปรแกรมยอย/ฟงกชน จากโปรแกรมหลก

Validate client

Place order

<<include>>

Track order

<<include>>

ทกครงทจะซอ/ขาย ตอง

login

โปรแกรมหลก

โปรแกรมยอย

Trader

Page 108: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Read mail

Login

<<include>>

Post FB

Login

<<include>>

ใน UML ไมไดกลาวถงมาตรฐาน ส แปลวา ไมกาหนดวาสใดหมายถงอะไร แตสญลกษณ ถกกาหนดไว

Page 109: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

“Include” Example• Name : การตรวจสอบรายการซอขายหลกทรพย

(Track Order) – Main flow:

1. ใชหมายเลข order ในการตรวจสอบ ทไดรบจากตลาดหลกทรพยObtain and verify order number

2. Include สวนของ “Validate client”3. ในแตละสวนของ Order …

Track Order ValidateClient

<<include>>

Use case description

Use case diagram

Page 110: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

“Extend” relationship

• ใชสรางแบบจาลองบางสวนของ Use Case ท user อาจมองเปน optional– Optional หมายถง นอกเหนอ จาก

เหตการณปกต หรอมากกวาปกต หรอพเศษ• ต.ย. สมครเรยน เอกสารขาดไมครบ• การลงทะเบยน เงนไมพอ

• ใช สรางแบบจาลอง conditional subflows

• ใชในการแทรก subflows ในจดทระบโดยพจารณา ปฏสมพนธระหวาง Actors

<<extend>>(set priority)

Place orderExtension points:

Set priority

Place rush order

conditional

Page 111: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

“Extend” Example• Name : ¡ÒÃÊ‹§ÃÒ¡Òë×éÍ¢ÒÂËÅÑ¡·ÃѾÂ� (Place Order)

– Main flow of events:1. …2. Trader »‡Í¹à§×è͹䢢ͧËÅÑ¡·ÃѾÂ� ·Õè Client µŒÍ§¡ÒÃ

«×éÍ¢ÒÂ3. ¡íÒ˹´ÅíÒ Ñº¤ÇÒÁÊíÒ¤ÑÞ â´Â (set priority)4. System Ê‹§ order ãËŒ¡ÑºµÅÒ´ËÅÑ¡·ÃѾÂ�5. ...

Place Order Place RushOrder

<<extend>>

[ ]optional

Page 112: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Relationships between Use Case

WithdrawalCash

ValidateAccount

<<include>>

Ship PartialOrder

Ship Order

<<extend>>

Page 113: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Comparing extends/ uses• extend

– ใชแยกความแตกตางของ Use Case – actors ทเกยวของมกเปนคนกระทา Use case และUse

Case ทextend ทงหมด– actor มกเชอมตอกบ “base” Use Case

• include/use– ใช extract พฤตกรรมรวม– มกไมม actor เกยวของโดยตรงกบ Use Case ทม

พฤตกรรมรวม– actors ทแตกตางกน for “caller” use cases possible

Page 114: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

A Use Case Diagram

Establish

Credit

<<include>>

Trader

Validate Client

<<include>>

PlaceOrder

<<extend>>FinancialOfficer

TrackOrder

RetinalScan

CheckPassword

Place RushOrder

StockExchange

<<include>>

someone

someone

something

ให Problem Domain มา แลว functional / non-functional แลวสรางเปน usecase

Page 115: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

A Use Case Diagram

<<include>>

Customer

Validate Account

<<include>>

BankTeller

Deposit

BalanceChecking

Transfer

Withdraw

Verifywithdraw

al

<<include>>

ATM/CDM

ตอนทถอน มการตรวจสอบยอดเงนคงเหลอ /หมายถงธนาคารตองเชคกอน

Page 116: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

A Use Case Diagram

<<include>>

Customer

Validate Account

<<include>>

BankTeller

Deposit

BalanceChecking

Transfer

Withdraw

Verifywithdraw

al

<<include>>

<<include>>

ATM/CDM

ตอนทถอน มการตรวจสอบยอดเงนคงเหลอ /หมายถงธนาคารตองเชคกอน

Page 117: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Validate Account

Function Balance_checking() If balance >= amt then

balance = balance -amtElse

msgbox “เงนไมพอ”End if

End Funciton

WidtdrawBalance_Checking ()

..……

Implement with Visual Basic

Page 118: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Balance Checking

If balance >= amt thenbalance = balance - amt

Elsemsgbox “เงนไมพอ”

End if

WidtdrawBalanceChecking()

..……

BalanceChecking()

Page 119: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

When and how?• Requirements capture

– ใชในการกาหนด Reuqirement ของระบบ– สรางแบบจาลอง (Model) ของ user requirements

ดวย Use Case• Test Scenarios

– สรางแบบจาลอง (Model) ของสถานการณการทดสอบระบบ (test scenarios) ดวย Use Case

• Use Case: – ระบส งท Actor ตองการใหมในระบบ– ต งชอให Use Case– เขยนคาอธบายส นๆ– เพมรายละเอยดในภายหลง

เปนหนาทของ use case specified

เปนหนาทของ use case designer

Presenter
Presentation Notes
Sources for identifying use cases: Think about potential actors Think about potential external events
Page 120: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Finding Actors• สามารถระบ actor ไดโดยตอบคาถามตอไปน

– ใครเปนคนใชงานหนาทการทางานหลกของระบบ (primary actors)?– ใครตองการการสนบสนนการทางานจากระบบ?– ใครตองการบารงรกษา และบรหารระบบ (secondary actors)?– Hardware devices ใดทตองการใหระบบจดการดแล?

• ถาระบบฮารดแวร เครองจกรใด ตองการการซอมบารง / เครองจกรไมใชคน– ระบบภายนอกระบบใดท ตองการใหระบบมปฏสมพนธดวย?

• ระบบจายคานาประปา -- ไมใชคน แตเปนระบบ• ระบบเกบภาษ/จายภาษ – สรรพากร ไมใชคน

– ใคร หรอ อะไรทตองการไดรบผลประโยชน จาก output ของระบบ? • หลงจาก use case ทางานแลว สงผลลพธให ใคร

• Tips– ไมควรพจารณาเฉพาะ users ทใชงานระบบโดยตรง แต พจารณา users

อนๆ ทตองการใชบรการจากระบบดวย

association

Page 121: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

หา Actors

จายเงนเดอน

ระบบจายเงนเดอนของ ขาราชการ ในมหาวทยาลย

ขาราชการ พนกงงานฝายบคคล

พนกงงานฝายบคคล

Page 122: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Finding Use Cases• สาหรบแตละ actor ตอบคาถามตอไปน

– หนาทการทางานอะไรท actor ตองการจากระบบ?– ขอมลใดบางท actor ตองการสราง อาน ลบ เปลยนแปลง หรอ

เกบอยภายในระบบ?– เหตการณใดบางทระบบตองแจงให actor ทราบ? หรอ actor

ตองแจงใหระบบทราบ? – หนาทการทางานของระบบ ชวยทาใหงานประจาวนของ actor

งายขนหรอไม?• ถาไมพจารณา actors

– อะไรคอ input/output ของระบบ ? input/output เหลานนมาจากไหน หรอใครเปนคนนาไปใชงาน?

– ปญหาหลกของระบบทใชงานอย คออะไร?

Page 123: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

หนาทการทางานอะไรท actor ตองการจากระบบ?

Student

คนหาเกรด

เปลยนชอ

ถอนวชา

การปรบปรง

ขอมลนกศกษา

Page 124: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Recipe (เทคนค)• ระบ actors ทมปฏสมพนธกบระบบ• พจารณาแนวทางของระบบ ในการปฏสมพนธกบ

actors• จาแนกพฤตกรรมของระบบใน การปฏสมพนธกบ

actors ใหเปน use cases โดยกาหนดความสมพนธระหวาง Use Case

Page 125: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ตวอยางการเขยน Use case

Page 126: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ตวอยาง use case

• ผใชงานสอดบตร ATM เขาสเครองรบบตร หากบตรใชงานไดจงเขาสหนาจอ Main Menu หากใชงานไมไดบตร ATM จะถกปลอยคน (Reject) ออกมา หากบตรใชได ผใชงานตองระบประเภทบญชและจานวนเงนทตองการถอน หากมเงนในบญชมากกวาหรอเทากบจานวนทระบ ผใชงานสามารถนาเงนออกจากเครอง ATM ได

126

Page 127: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ตวอยาง scenario

Scenario ท 1• นายสมชายสอดบตร ATM ของธ.กรงเทพ สาขาหาดใหญ แต

บตรเสย บตรจงถก reject ออกมา

127

Page 128: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ตวอยาง scenario

Scenario ท 2• นางสมใจสอดบตร ATM ของธ.ทหารไทย สาขาบางเขน บตร

สามารถใชการได แตเงนในบญชไมพอจาย จงไมสามารถนาเงนไปใชได

128

Page 129: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ตวอยาง scenario

Scenario ท 3• นายสมบตสอดบตร ATM ของ ธ.ทหารไทย สาขาบางเขน บตร

สามารถใชการได และมเงนในบญชเพยงพอ เขาตองการถอน100 บาท และในบญชมเงนจานวน 250 บาท ดงนนนายสมบตจงสามารถนาเงนออกจากเครอง ATM ไปใชได

129

Page 130: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ต.ย. Use case diagram ทม uses

• จงสราง use case diagram เพออธบายการตรวจสอบ user ทเขามาในระบบคอมพวเตอรขององคกรตาง ๆ ตองมการตรวจสอบรหสผานรวมอยดวย โดย actor ของระบบนคอผจดการระบบ

130

Page 131: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ข นตอนท 1 :หา use case และ actor ของระบบ

• use case ของระบบคอ– การตรวจสอบ user (Validate user)– การตรวจสอบรหสผาน (Check password)

• actor ของระบบคอ– ผจดการระบบ (System Administrator)

131

Page 132: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ข นตอนท 2 : เขยน scenario ของระบบ

• scenario ท 1 : user ปอน password ทถกตอง– การตรวจสอบ password ใน use case ชอ check

password ตรวจสอบไดถกตอง ทาใหกจกรรมใน validate user ดาเนนตอไปได

132

Page 133: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ข นตอนท 2 : เขยน scenario ของระบบ

• scenario ท 2 : user ปอน password ทไมถกตอง– ทาให use case ชอ check password ถกเรยกใชอก

หลายครงจนกวาจะถก หรอจนกวาจะครบ 3 ครง จงตด user คนนนออกจากระบบ

133

Page 134: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ข นตอนท 3 : เขยน use case diagram

User Authorization

Validate Users Check Password

SystemAdministrator

<<uses>>

134

Page 135: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ตย. Use case diagram ทม extends

• จงสราง use case diagram ทแสดงการรบโทรศพท ซงขณะทรบโทรศพทปกต หากมสายเรยกซอนเขามา อาจทาใหตองมการรบสายเรยกซอนกอน ซงทาใหการรบสายโทรศพทตามปกตตองชะงกชวคราว

135

Page 136: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ข นตอนท 1 : หา use case และ actor ของระบบ

• use case ของระบบคอ– การรบโทรศพท– การรบสายเรยกซอน

• actor ของระบบคอ– ผรบโทรศพท

136

Page 137: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ขนตอนท 2 : เขยน scenario ของระบบ

• scenario ท 1 : เกดสายเรยกซอน– เมอเกดสายเรยกซอน ทาให use case การรบโทรศพท เกด

การชะงกงน ซงผรบอาจหยดการสนทนาชวขณะ– หรอผรบเปลยนไปรบสายทเรยกซอนแทน

• scenario ท 2 : ไมเกดสายเรยกซอน

137

Page 138: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ข นตอนท 3 : เขยน use case diagram

การรบโทรศพท

รบโทรศพท รบสายเรยกซอน

ผรบโทรศพท

<<extends>>

138

Page 139: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ตวอยาง การเขยน use case diagram

• จงสราง use case diagram เพออธบายการลงทะเบยนของนกเรยน ซงเกดจากผลของการวเคราะหความตองการเบองตน สามารถเขยนเปนรายการไดดงน

139

Page 140: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ความตองการ (Requirement)

• ในแตละภาคการศกษาจะมการลงทะเบยนของนกศกษา โดยนกศกษาทลงทะเบยนในแตละภาคการศกษาจะม 2 ประเภทคอ– นกศกษาปจจบน– นกศกษาใหม

140

Page 141: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ความตองการ...

• การลงทะเบยนในแตละครงจะมการเกบหลกฐานและคาเลาเรยน • ซงการลงทะเบยนเรยนจะเสรจสนไดกตอเมอหลกฐานทไดรบมา

ครบถวนถกตอง• และในขณะเดยวกนเงนคาเลาเรยนทเรยกเกบไดกตองมจานวน

ครบถวนดวย

141

Page 142: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ความตองการ...

• เจาหนาทของสถาบนการศกษาจะเปนผจดการในเรองของการจดเกบหลกฐานและคาเลาเรยนทงหมด

• และผจายเงนตองเปนนกเรยนเทานน

142

Page 143: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ความตองการ...

• สาหรบนกศกษาบางคนทไดรบสทธพเศษเชน– ไดรบทนเรยนฟร– เปนนกกฬาของสถาบน– หรอเปนผทาชอเสยงใหสถาบนจะมสทธไดรบยกเวนคาเลาเรยนในบางภาคการศกษา

143

Page 144: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

หา use case ของระบบ

• use case ของระบบคอ– การลงทะเบยนนกศกษา– การเกบหลกฐาน– การชาระคาเลาเรยน

144

Page 145: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

หา use case อนทเก ยวของ

• หา use case อนทเก ยวของคอ– การลงทะเบยนนกศกษา

• การลงทะเบยนนกศกษาใหม• การลงทะเบยนนกศกษาปจจบน

– การเกบหลกฐาน• หลกฐานไมพรอม

145

Page 146: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

หา use case อนทเก ยวของ

• หา use case อนทเก ยวของคอ– การชาระคาเลาเรยน

• มเงนไมพอชาระคาเลาเรยน• ไดรบการยกเวนคาเลาเรยน

146

Page 147: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

หา actor ของระบบ

• Actor ของระบบคอ– เจาหนาท– นกศกษา

147

Page 148: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

เขยน Use Case Diagram

ลงทะเบยนนกศกษาใหม

ลงทะเบยนนกศกษาปจจบน

ชาระเงนคาเลาเรยน

เกบหลกฐาน

หลกฐานไมพรอม

มเงนไมพอชาระคาเลาเรยน

ไดรบการยกเวนคาเลาเรยน

เจาหนาท

นกศกษา

<<uses>>

การลงทะเบยนเรยนของนกศกษา 148

Page 149: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

การเขยน Use caseองคประกอบมดงน

- ชอของ Use Case

- ภาพรวมของการทางาน (Overview)

- Actor หลก (Primary Actor)

- Actor รอง (Secondary Actor)

- จดเรมตน (Starting Point)

- จดสนสด (End point)

- การทางานของ Use Case (Flow of Events)

- การทางานของ Use Case เมอมปญหาเกดขน (Alternative flowof Events)

- ผลของการทางานของ Use Case (Measurable Result)

Page 150: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Use Case : Create Order• ภาพรวมของการทางาน (Overview)

จดประสงคหลกของ Use Case น เพอทาการลงขอมลในใบสงซอสนคาจากลกคา

• Actor หลก (Primary Actor)ตวแทนฝายขายสนคา

• Actor รอง (Secondary Actor)ไมม

• จดเร มตน (Starting Point)Use Case ตวนเร มตนเมอ Actor ตวแทนฝายขายสนคาขอใหระบบ

ทาการลงขอมลการสงซอสนคา• จดสนสด (End point)

คาขอเพอทาการลงขอมลการสงซอสนคาเสรจสนสมบรณหรอไมกถกยกเลก

Page 151: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Use Case : Create Orderการทางานของ Use Case (Flow of Events)

จาก User Interface บนจอเพอทาการลงขอมลการสงซอ Actorจะตองทาการใสขอมลเกยวกบการสงซอ เปนตนวา วนทลกคาตองการใหสนคาสงมอบถงมอ (Required Date) ปรมาณทตองการส งซอ (Quantity) ตองการใหสงมอบสนคาโดยบรษทสงสนคาไหน (Ship Via) ตองการใหใหสงมอบสนคาทไหน (Ship Address) หลงจากนนแลว Actor สามารถเลอกทจะทาการบนทกขอมลลงไปไวในฐานขอมล หรอยกเลกการทางานทงหมด ถา Actor เลอกทาการบนทก ใบสงซอใบใหมกจะถกสรางขนมาในฐานขอมล

Page 152: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Use Case : Create Orderการทางานของ Use Case เมอมปญหาเกดขน

(Alternative Flow of Events)ถาไมมสนคาทตองการอยในคลงสนคา ระบบจะตองแจงให Actor ทราบพรอมกนนนกตองยกเลกการทางานทเหลอของUse Case น

ผลของการทางานของ Use Case (Measurable Result)จะมใบสงซอสนคาใหม 1 ใบขนมาในระบบ

Page 153: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Cash Register Example

Use Case: Buy items

Actors: Customer, Cashier

Type: Primary

Description: A Customer arrives at a checkout with items to purchase. The Cashier records the purchase itemsand collects payment. On completion, the Customer leaves with the items

Page 154: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Expanded Use Case Example

Use Case: Buy Items with Cash

Actors: Customer (initiator), Cashier

Purpose: Capture a sale and its cash payment

Overview: A Customer arrives at a checkout with items topurchase. The Cashier records the purchase items and collects a cash payment. Oncompletion, the Customer leaves with the items.

Type: primary and essential

Cross references: R1.1, R1.2, R1.7

Page 155: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Expanded Use Case (2)

1. This use case begins when a Customer arrives at the register with items to purchase.

2. The cashier records the identifier from each item. If more than one of the same item, the Cashier can enter the quantity as well.

4. Cashier indicates completion of item entry.

6. Cashier tells the Customer the total.

3. Determines the item price and adds the item information to the running sales transaction. The description and price of the item are presented.

5. Calculates and presents the sale total.

TYPICAL COURSE OF EVENTS

ACTOR ACTION SYSTEM RESPONSE

Page 156: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Expanded Use Case (3)

7. The Customer gives a cash payment -possibly greater than the sale total.

8. The Cashier records the cash received amount.

10. The Cashier deposits the cash received and extracts the balance owing. Cashier gives balance and receipt to Customer.

12. Customer leaves with items purchased.

ACTOR ACTION SYSTEM RESPONSE

9. Show the balance due

back to the Customer.

Generates a receipt.

11. Logs the completed

sale.

Page 157: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Expanded Use Case (4)

• Alternative Courses

• Line 2: Invalid identifier entered. Indicate error

• Line 7: Customer didn’t have enough cash. Cancel sales transaction

• If a Typical Course of Events has multiple equally likely courses of action

– indicate branches in Use case

– write a subsection for each branch indicating the typical course of events

– have alternatives for each subsection if necessary

Page 158: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Use case ของ ระบบรบ-สงเมล

Page 159: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ต.ย. ยสเคสระบบลงทะเบยน

http://i.stack.imgur.com/zAAcZ.jpg

Page 160: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

student teacher

member

Borrow book

Return Book

LibrarianCheckingMember

Check period

borrowed

Calculation fine

ระบบการยมหนงสอในหองสมด(Borrow book from library)

<<include>> <<

extend>>

Page 161: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

user customer CardAuthorization

CheckInventory Status

Object Actors Product

Page 162: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

แบบฝกหด

• จงเขยน functional requirement ของการจองหองพกโรงแรม1. เขยน Requirement Specification2. หา Actor3. หา use case4. เขยน 5 Scenario5. แลวเขยน use case diagram ของการจองหองพก

โรงแรม

สง สป. หนา

Page 163: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

การวเคราะหความตองการเชงวตถโดยใช Use Case diagram

Requirement Analysis

การวเคราะหความตองการ

Page 164: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ความสาคญของการวเคราะหความตองการ

• สาเหตของการยกเลกพฒนาซอฟตแวร– ความตองการไมสมบรณ– ไมมผใชระบบรวมพฒนา– ขาดทรพยากร– ความคาดหวงในระบบเปนไปไมได – ไมมการสนบสนนจากผบรหาร– มการปรบความตองการขณะพฒนา– ขาดการวางแผน– ไมมความตองการระบบทกาลงพฒนา

Page 165: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

คาใชจายในการแกไขขอผดพลาด

Page 166: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

วตถประสงคหลกของการวเคราะหความตองการ

• กาหนดขอตกลงกบผวาจาง ผใชระบบ วาระบบทจะพฒนาควรมความสามารถทาอะไรไดบาง

• ใหผพฒนาระบบ (System Developers) เขาใจขดความสามารถของระบบชดเจนยงขน

• ปรบขอบเขตของระบบ• จดการ กาหนดแผนการดานเทคนคตางๆ สาหรบการทางานตามรอบ

การพฒนา• กาหนดสวนเชอมตอของผใชงานระบบงานกบระบบ

Page 167: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

วธการหาความตองการทแทจรง

• การสมภาษณ (Interviewing)• การระดมสมอง (Brainstorming)• การใชแบบสอบถาม (Questionnaire)• การสงเกต (Observation)

Page 168: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ระดบของความตองการ

Page 169: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

เอกสารการวเคราะหความตองการ

1. บทนา1.1 วตถประสงค1.2 ขอบเขต1.3 คาจากดความ คาเหมอน คายอ1.4 เอกสารอางอง

2. การบรหารความตองการ2.1 การบรหารโครงการ หนาทภายในทมงาน2.2 โครงสรางพนฐานของระบบ และเครองมอทใช

Page 170: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

เอกสารการวเคราะหความตองการ3. รายการบรหารความตองการ

3.1 ระบความตองการ ขนตอนการปฏบตงาน3.2 ระบกฎขอบงคบของความตองการ(ถาม)3.3 กาหนดคณสมบต (Attributes) ในขอ 3.13.4 รปแบบเนอหาของรายงานและวธการวด3.5 การบรหารความเปลยนแปลง

ขนตอนการขอเปลยนแปลงระบบโครงสรางของคณะกรรมการพจารณาจดตรวจสอบในแตละเฟส

3.6 ขนตอนการทางานและกจกรรม4. แผนการดาเนนงาน5. เครองมอในการพฒนาระบบทใชและการฝกอบรม

Page 171: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

การพฒนาระบบเลกๆ อาจเขยนเอกสารดงน

• ขอบเขตของระบบทจะพฒนา(Problem Domain)• Glossary• เอกสารรายละเอยดของระบบ(Requirements

Specification)• Use-Case Diagram

Page 172: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Use Case Model

• Introduction• Survey Description• Use Case Packages• Use Case• Actors• Relationships• Diagrams• Use Case View

Page 173: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ขอบเขตของระบบทจะพฒนา(Problem Domain)

• เอกสารทระบถงระบบงานทกาลงจะพฒนา โดยบอกถงปญหาของงานททาอย ขอจากดของระบบทกาลงดาเนนงาน หรอความตองการของระบบทคาดหวง ตลอดจนเทคนคการทางาน ระเบยบ กฎเกณฑทจาเปน

Page 174: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Glossary

• เปนเอกสารทรวบรวมคานยามของระบบทใชกน หลกการเลอกคากคอ จะตองเลอกคาทเปนทเขาใจกนภายในหนวยงาน หรอเปนคาศพททมความหมายเฉพาะผดแปลกไปจากความเขาใจโดยทวไป หรอเปนคาศพททนยามใชเฉพาะระบบ เปนตน

Page 175: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

เอกสารรายละเอยดของระบบ(Requirements Specification)

• บทนา – กลาวถงภาพกวางๆ ของระบบ• ภาพรวมทงหมด – อธบายขอบเขตของระบบทจะตองตดตอกบสวน

อนๆ ของระบบทงภายในและภายนอกรวมถงการทางานรวมกบระบบเดม

• ความตองการโดยละเอยด – อธบายความตองการโดยละเอยดเพอใหนกออกแบบสามารถออกแบบได และผทดสอบระบบทดสอบได

• เอกสารสนบสนนอนๆ เชน ดชน ภาคผนวก

Page 176: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

หนาทเกยวของ

• เอกสารประกอบการพฒนาระบบเปนหนาทของใคร

Page 177: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

หนาทของนกวเคราะหระบบ

Page 178: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT
Page 179: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Concepts in Use Case Model

Page 180: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

กาหนดชอ Actor

Page 181: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Scenario

• สถานการณ หรอตวอยางเรองราวการใชงานระบบ• Scenario จดเปน instance ของ use case

withdrawal cash

a user withdrawals$200

Page 182: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ความสมพนธใน Use Case Diagram

• ความสมพนธเชงโครงสราง(Association)– แทนดวย

• ความสมพนธแบบสบทอด(Generalization)– แทนดวย

• ความสมพนธแบบพงพา(Dependency)– แทนดวย

Page 183: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ความสมพนธระหวาง Actor

Page 184: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Actor Generalization

Page 185: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ความสมพนธระหวาง Actor กบ Use Case

Page 186: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Example: Use Case Diagram

Page 187: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Actor กบขอบเขตของระบบ

Page 188: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ตวอยาง Use Case

Page 189: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Use Case

• ชอยสเคส• การทางานโดยยอ• ลาดบเหตการณทเกดขน• ความสมพนธ• เงอนไขกอนยสเคสทางาน• เงอนไขหลงยสเคสทางาน

Page 190: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Generalization ของ Use Case Diagram

Page 191: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ความสมพนธ <<include>> และ <<extend>>

Page 192: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

สรปความสมพนธของ Use Case Diagram

Page 193: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ขอควรระวงในการใช Use Case Diagram

• Use Case ใชเปนเครองมอสอสารกบผใช ดงนนตองใหงายทสดเทาทจะทาได

• ไมควรใช <<include>>,<<extend>> และ inheritance โดยทไมจาเปน

• จานวน Use Case ไมควรเกน 20 Use Case โดยนบจาก Use Case ทไมมความสมพนธ

Page 194: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

GUI ด vs GUI ไมด

Page 195: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ขนตอนการสรางอนเตอรเฟสพนฐาน

• คนหาการใชระบบ• โมเดลยสเซอรอนเตอรเฟสหลก• โมเดลยสเซอรอนเตอรเฟสยอย• สารวจความงายของการใชอนเตอรเฟส• สารวจความสมพนธของสวนตางๆ

Page 196: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

Interface Flow Diagram vs GUI Design

Page 197: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ตวอยาง Interface Flow Diagram

Page 198: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ตวอยาง Interface Flow Diagram

Page 199: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ตวอยาง Interface Flow Diagram

Page 200: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ตวอยาง Interface Flow Diagram

Page 201: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT
Page 202: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT
Page 203: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

แบบฝกหด

• ใหศกษารายละเอยดของระบบงานใดๆ ทพบเหน เชน การลงทะเบยน การตดเกรด แลวใหนามาวเคราะหความตองการพรอมทงเขยน Use Case Model

Page 204: โดย อ ดร นัฐพงศ ส์งเนียม่ ...siam2dev.net/E_Learning/OOAD/Lec06_OOAD_Requirement... · 2018-01-05 · วางแผน Gantt Chart + PERT

ขอขอบคณ แหลงขอมล

วฒพงษ เรอนทองภาควชา วทยาการคอมพวเตอรและเทคโนโลยสารสนเทศ คณะวทยาศาสตร มหาวทยาลยนเรศวร