420 likes | 966 Views
1204 302 System Analysis and Design. Software Testing: validation. ผศ . จันทิมา พลพินิจ. ปีการศึกษา 1/2555 หลักสูตรวิทยาการคอมพิวเตอร์ คณะวิทยาการสารสนเทศ. Validation. หลักการของ software testing เรียกว่า verification and validation. Validation
E N D
1204 302 System Analysis and Design Software Testing: validation ผศ. จันทิมา พลพินิจ ปีการศึกษา 1/2555 หลักสูตรวิทยาการคอมพิวเตอร์ คณะวิทยาการสารสนเทศ
Validation • หลักการของ software testing เรียกว่า verification and validation • Validation • การประเมินค่าของระบบ โดยตรวจสอบว่า software ที่พัฒนาขึ้นมานั้นเป็นไปตามความต้องการหรือไม่ จะทำในช่วงก่อนเริ่มต้นการพัฒนา โดย Verification Activities นี้จะประกอบด้วย Testing และ Reviews • Verification • การประเมินค่าของระบบ โดยตรวจสอบว่า software ที่พัฒนาขึ้นมานั้นเป็นไปตามความต้องการหรือไม่ จะทำตอนสิ้นสุดการพัฒนา
Validation By Reviews • ใช้เครื่องมือใน Enterprise Modeling ประกอบ เป็นกระบวนการในการสร้างแบบจำลองที่แสดงถึงวิธีการในการเปลี่ยนข้อมูลให้เป็นสารสนเทศซึ่งผลลัพธ์ที่ได้คือ แบบจำลองเชิงตรรกะ (Logical Model)ของระบบใหม่ที่สนับสนุนกระบวนการทางธุรกิจและตอบสนองความต้องการของผู้ใช้
พิจารณา SDLC • Clearly, the SDLC requires significant time, human resources and technical resources to perform well. • The main steps in SDLC can be presented as follows: • Systems Planning (project requirements summary, project team description, preliminary work schedule, service area demographic analysis) (2) Systems Analysis (E-R diagram, Data Flow Diagrams, high-level functional description) (3) Systems Design (RDBM, Data Dictionary, identification/description of database objects, Web site map) (4) Systems Implementation (Access database, Web site content, elementary test plan)
ขั้นตอนการวิเคราะห์เพื่อนำไปสู่ระบบที่ต้องการขั้นตอนการวิเคราะห์เพื่อนำไปสู่ระบบที่ต้องการ
Validation By Reviews • แบบจำลองเชิงตรรกะ (Logical Model) แสดงถึงสิ่งที่ระบบใหม่จะต้องทำ ประกอบด้วย - Entity-Relationship Diagrams - Data Flow Diagrams - Data Dictionary - Process Description √ √
Entity-Relationship Diagrams: ERD • ใช้ตรวจสอบความสัมพันธ์ระหว่าง Entity • Entity คือ คน, สถานที่, สิ่งของหรือข้อมูล เช่น ลูกค้า, สินค้า, การสั่งซื้อ เป็นต้น ซึ่งมีขั้นตอนในการสร้างดังนี้ ขั้นตอนที่ 1 list รายชื่อ Entity ที่เกี่ยวข้องกับระบบ ขั้นตอนที่ 2 สร้างความสัมพันธ์ระหว่าง Entity นั้น
Entity-Relationship Diagrams: ERD (ต่อ) สัญลักษณ์ที่ใช้ คำนาม แทนEntity ตัวอย่างเช่น หมายความว่าหมอดูแลรักษาผู้ป่วย
ประเภทความสัมพันธ์ใน ERD 1. ความสัมพันธ์แบบหนึ่งต่อหนึ่ง(One-to-one relationship), (1:1)
ประเภทความสัมพันธ์ใน ERD (ต่อ) 2. ความสัมพันธ์แบบหนึ่งต่อกลุ่ม(One-to-many relationship), (1:M)
ประเภทความสัมพันธ์ใน ERD (ต่อ) 2. ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many-to-many relationship), (M:N)
Data Flow Diagram: DFD เป็นแผนภาพที่แสดงถึงกระบวนการในการเปลี่ยนข้อมูลไปเป็นสารสนเทศและขั้นตอนการทำงานของระบบโดยจะแสดงถึงสิ่งที่ระบบต้องกระทำแต่ไม่ได้แสดงว่าทำอย่างไร สัญลักษณ์ของแผนภาพกระแสข้อมูลมี 4 แบบ - การประมวลผล (Process) - การไหลของข้อมูล (Data Flow) - การเก็บข้อมูล (Data Store) - สิ่งที่เกี่ยวข้องกับระบบ (External Entity)
Data Flow Diagram: DFD (ต่อ) • Graphical system model that shows all main requirements for an IS in one diagram • Inputs/outputs • Processes • Data storage • DFD integrates processing triggered by events (event table) with the data entities modeled by ERD
Data Flow Diagram: DFD (ต่อ) DFD is used to link between initial business analysis, E-R diagrams and relational database models
DFD: Context Diagram (ต่อ) • Context Diagram is DFD that summarizes all processing activity for the system or subsystem • Highest level (most abstract) view of system • Shows system boundaries • System scope is represented by a single process, external agents, and all data flows into and out of the system แสดงหมายเลข Process เป็นหมายเลข 0
ตัวอย่าง Context Diagram 0 System Name Input A Entity 1 Output C Entity 3 Input B Entity 2 Context Diagram
การเขียน DFD List of Boundaries1. นักศึกษา 2. อาจารย์ 3. แผนกทะเบียนและวัดผล 4. คณบดี List of Data 1. ข้อมูลประวัตินักศึกษา 2. ข้อมูลการลงทะเบียนเรียน 3. ข้อมูลรายวิชา 4. ข้อมูลอาจารย์ผู้สอน 5. ข้อมูลวิชาสอน 6. ข้อมูลคณะ 7. ข้อมูลสาขาวิชา 8. ข้อมูลภาคการศึกษา List of Process1. ปรับปรุงข้อมูลนักศึกษา 9. เพิกถอนวิชาเรียน 2. ปรับปรุงข้อมูลอาจารย์ 10. บันทึกคะแนน 3. ปรับปรุงแฟ้มวิชาผู้สอน 11. ประเมินผล 4. ปรับปรุงแฟ้มรายวิชา 12. เปิด/ปิดภาคการศึกษา 5. ปรับปรุงแฟ้มคณะ 13. รายงานรายวิชาที่ลงทะเบียน 6. ปรับปรุงแฟ้มสาขา 14. ใบเช็คชื่อ 7. ลงทะเบียนเรียน 15. รายงานประเมินผล 8. ลงทะเบียนเพิ่ม 16. รายงานสรุปยอดผู้สอบตก
การเขียน DFD Process ไม่สามารถมีเฉพาะข้อมูลออก(output)อย่างเดียวเท่านั้น ต้องมีทั้งข้อมูลเข้า(input) และข้อมูลออก
การเขียน DFD (ต่อ) ข้อมูลไม่สามารถเคลื่อนย้ายจาก Data store หนึ่งไปยังอีกData storeหนึ่งได้โดยตรง ข้อมูลต้องถูกย้ายโดย Process
การเขียน DFD (ต่อ) ข้อมูลไม่สามารถเคลื่อนย้ายจากแหล่งข้อมูลภายนอกระบบ(Entity) เข้าไปยัง Data store ได้โดยตรง ข้อมูลต้องผ่าน Process การรับข้อมูลจากภายนอกแล้วย้ายไปจัดเก็บใน Data store
การเขียน DFD (ต่อ) ข้อมูลไม่สามารถเคลื่อนย้ายจาก Datastore ออกไปยังแหล่งรับข้อมูลภายนอก(Entity) ได้โดยตรง ต้องมี Process เพื่อย้ายข้อมูลออก
การเขียน DFD (ต่อ) ผิด ถูก ข้อมูลไม่สามารถเคลื่อนย้ายจาก Entity ไปยัง Entity ได้โดยตรง ต้องมี Process เพื่อส่งต่อข้อมูล แต่ถ้าข้อมูลนั้นไม่ได้เกี่ยวข้องกับระบบงาน ก็ไม่จำเป็นต้องแสดงข้อมูลนั้นใน DFD
การเขียน DFD (ต่อ) ผิด ถูก Data flow จะมีทิศทางใดทิศทางหนึ่งระหว่างแต่ละสัญลักษณ์ ถึงแม้ว่าข้อมูลเดียวกันจะเข้าและออกจาก Process ไปยัง Data store เช่น การดึงข้อมูลจาก Data store มาแก้ไขแล้วจัดเก็บลงที่เดิม แต่ข้อมูลก็ถูกใช้งานคนละเวลากัน ไม่ได้เกิดขึ้นพร้อมกัน
การเขียน DFD (ต่อ) A A B A ผิด ถูก เส้นข้อมูลที่แยกจากเส้นเดียวกัน หมายถึงข้อมูลเดียวกันที่ออกจากแหล่งเดียวกันออกไปยัง หลาย ๆ Process / Data store / Entity
การเขียน DFD (ต่อ) A A B A ผิด ถูก เส้นข้อมูลที่รวมเป็นเส้นเดียวกัน หมายถึงข้อมูลเดียวกันที่มาจากหลาย ๆ Process / Data store / Entity เพื่อเข้าไปยังที่เดียวกัน
การเขียน DFD (ต่อ) A B A A A C ผิด ถูก ข้อมูลไม่สามารถเคลื่อนย้ายโดยตรงออกจาก Process เข้ามายัง Process เดียวกันได้ ซึ่งจำเป็นต้องมี Process อย่างน้อย 1Process ในการจัดการข้อมูลนั้น ๆ เพื่อสร้างข้อมูลอื่น ๆ หรืออาจจะส่งข้อมูลเดิมกลับมายัง Process เดิมได้
การเขียน DFD (ต่อ) 1.0 1 ปรับปรุงข้อมูล นักศึกษา ปรับปรุงข้อมูล นักศึกษา D1 D1 แฟ้มข้อมูลนักศึกษา แฟ้มข้อมูลนักศึกษา • ข้อความที่อยู่ใน Process ต้องเป็นคำกริยาเพื่อบอกการทำงานของ Process นั้น • ข้อความที่อยู่ใน Data store / Data flow / Entity ต้องเป็นคำนาม • Data flow ที่ชี้เข้า Data store หมายถึง การนำข้อมูลนั้นไปจัดเก็บ(เพิ่ม/ลบ/แก้ไข) • Data flow ที่ออกมาจาก Data store หมายถึงการดึงข้อมูลออกมาใช้งาน ข้อมูลนักศึกษา ที่ปรับปรุงแล้ว ข้อมูลนักศึกษา ที่ต้องการปรับปรุง นักศึกษา ข้อมูลนักศึกษา ก่อนปรับปรุง ข้อมูลนักศึกษา ที่ปรับปรุงแล้ว ข้อมูลนักศึกษา ที่ต้องการปรับปรุง นักศึกษา ข้อมูลนักศึกษา ก่อนปรับปรุง
ตัวอย่าง DFD (ต่อ) 1 2 4 3 General Process AAA General Process BBB General Process CCC General Process DDD D2 D1 Data store 2 Data store 1 Output C Entity 3 Entity 1 Input A Data flow B Data flow C Record E Record A Record A Record E Input B Data flow D Entity 2
Context Diagram without representing Level (ต่อ)*** DFD Level 0 ***
Context Diagram representing Level 0 0 ระบบร้านเช่าVCD ระบบสั่งซื้อ VCD ผู้จัดการร้าน ข้อมูลVCD รายงานการบริหารงาน ข้อมูลลูกค้าใหม่ รายการVCD ที่ต้องการเช่า ใบเสร็จค่าเช่า ลูกค้า ลูกค้า รหัสลูกค้า บัตรสมาชิก การชำระเงิน จดหมายข่าว รายเดือน ข้อมูลการคืนVCD จดหมายข่าวรายปี ฝ่ายบัญชี จำนวนเงินสด ที่ได้รับทั้งหมด Context Diagram ของระบบร้านเช่า VCD
Context Diagram representing Level 0 (ต่อ) DFD level 1
การเขียน Data Dictionary • การเขียน DataDictionary ของ DFD เพื่อเป็นการนิยามโครงสร้างข้อมูลที่อยู่ใน DFD ว่าแต่ละชุดประกอบด้วยข้อมูลอะไรบ้าง • เช่น ข้อมูลลูกค้า = รหัสลูกค้า + ชื่อลูกค้า + ที่อยู่ + (โทรศัพท์)+ (วันเกิด) • สัญลักษณ์
1.1 รับรายการ VCD ตัวอย่าง Data Dictionary ข้อมูล VCD = รหัสVCD + ชื่อเรื่อง + ประเภท + ค่าเช่า/เรื่อง + ราคา + จำนวนวันที่ให้เช่า รายการVCDที่เช่า ข้อมูลการเช่า ข้อมูลการเช่า = รหัสการเช่า + วันที่เช่า + ค่าเช่ารวม + {รหัสVCDที่เช่า + วันที่คืน+ จำนวน} + รหัสลูกค้าที่เช่า ข้อมูล VCD ข้อมูลการเช่า ข้อมูลการเช่า รายการ VCD ที่เช่า = {รหัสVCD ที่เช่า + วันที่คืน + จำนวนที่เช่า}