ห้องเรียนรู้ Karinoya

คุณวุฒิ · แล็บสอบผ่าน IT Passport

เทคโนโลยีการพัฒนา

อ่านโจทย์และคำอธิบายเป็นไทยได้ ส่วนบทบรรยาย (บทความอธิบาย) มีเฉพาะฉบับภาษาญี่ปุ่นเท่านั้น

ดูฉบับภาษาญี่ปุ่น (มีบทบรรยาย) →

ข้อ 1 | การกำหนดความต้องการ

ในการพัฒนาระบบ งานที่ทำในขั้นตอนการกำหนดความต้องการ (requirements definition) คือข้อใด

  1. กำหนดโครงสร้างมอดูลภายในโปรแกรมและขั้นตอนการประมวลผล
  2. แก้ไขข้อขัดข้องที่เกิดขึ้นหลังเริ่มใช้งานจริง และปรับปรุงฟังก์ชันให้ดีขึ้น
  3. สำรวจงานของผู้ใช้ แล้วระบุฟังก์ชันและสมรรถนะที่ระบบจำเป็นต้องมีให้ชัดเจน
  4. ตรวจสอบทีละโปรแกรมว่าโปรแกรมที่สร้างขึ้นทำงานตรงตามเอกสารการออกแบบหรือไม่
คำตอบC. สำรวจงานของผู้ใช้ แล้วระบุฟังก์ชันและสมรรถนะที่ระบบจำเป็นต้องมีให้ชัดเจน

การกำหนดความต้องการเป็นขั้นตอนแรกสุดของการพัฒนา โดยรวบรวมและเรียบเรียงความต้องการของผู้ใช้ เพื่อระบุฟังก์ชันและสมรรถนะที่ระบบต้องมีให้ชัดเจน ตัวเลือกที่ 2 เป็นงานของการออกแบบภายใน ตัวเลือกที่ 3 เป็นการทดสอบหน่วย และตัวเลือกที่ 4 เป็นการบำรุงรักษา ซึ่งล้วนเป็นขั้นตอนที่อยู่หลังการกำหนดความต้องการทั้งสิ้น

ข้อ 2 | การออกแบบภายนอก

เนื้อหาที่กำหนดในการออกแบบภายนอก (การออกแบบพื้นฐาน) ข้อใดเหมาะสมที่สุด

  1. ขั้นตอนการจัดทำข้อมูลทดสอบที่จะใช้ในการทดสอบบูรณาการ
  2. การตั้งชื่อตัวแปรและชื่อฟังก์ชันให้เป็นแบบแผนเดียวกันตามข้อกำหนดการเขียนโค้ด
  3. ขั้นตอนการประมวลผลภายในและอัลกอริทึมของแต่ละมอดูล
  4. เลย์เอาต์ของหน้าจอที่ผู้ใช้ใช้งานและแบบฟอร์มรายงานที่พิมพ์ออกมา
คำตอบD. เลย์เอาต์ของหน้าจอที่ผู้ใช้ใช้งานและแบบฟอร์มรายงานที่พิมพ์ออกมา

การออกแบบภายนอกเป็นขั้นตอนที่กำหนดส่วนที่ผู้ใช้มองเห็น (หน้าจอ แบบฟอร์มรายงาน การรับส่งข้อมูล) ดังนั้นตัวเลือกที่ 4 จึงถูกต้อง ตัวเลือกที่ 1 เป็นงานของการออกแบบภายใน ตัวเลือกที่ 2 เป็นงานของการเขียนโปรแกรม และตัวเลือกที่ 3 เป็นงานในขั้นตอนการทดสอบ จึงไม่ใช่สิ่งที่กำหนดในการออกแบบภายนอก

ข้อ 3 | ความสัมพันธ์ของการออกแบบ

คำอธิบายความสัมพันธ์ระหว่างการออกแบบภายนอกกับการออกแบบภายใน ข้อใดเหมาะสม

  1. นำสเปกส่วนที่ผู้ใช้มองเห็นซึ่งกำหนดไว้ในการออกแบบภายนอก มาแปลงเป็นโครงสร้างของโปรแกรมในการออกแบบภายใน
  2. ทำการออกแบบภายในให้เสร็จก่อน แล้วจึงทำการออกแบบภายนอกโดยอิงผลลัพธ์นั้น
  3. ทั้งการออกแบบภายนอกและการออกแบบภายในต่างเป็นขั้นตอนที่กำหนดสเปกเลย์เอาต์ของหน้าจอและแบบฟอร์มรายงานที่ต้องตกลงร่วมกับผู้ใช้
  4. การออกแบบภายนอกมีโปรแกรมเมอร์เป็นผู้ดำเนินการหลัก ส่วนการออกแบบภายในมีผู้ใช้เป็นผู้ดำเนินการหลัก
คำตอบA. นำสเปกส่วนที่ผู้ใช้มองเห็นซึ่งกำหนดไว้ในการออกแบบภายนอก มาแปลงเป็นโครงสร้างของโปรแกรมในการออกแบบภายใน

การพัฒนาดำเนินจากการออกแบบภายนอกไปสู่การออกแบบภายใน โดยนำสเปกที่มองเห็นจากภายนอกมาทำให้เป็นรูปธรรมในรูปโครงสร้างมอดูลและขั้นตอนการประมวลผลภายใน ตัวเลือกที่ 1 ลำดับกลับกัน ตัวเลือกที่ 2 ผิดตรงที่การออกแบบภายในไม่ใช่ขั้นตอนที่กำหนดสเปกสำหรับผู้ใช้ และตัวเลือกที่ 4 ผิดตรงที่ผู้รับผิดชอบสลับกัน

ข้อ 4 | ลำดับขั้นตอน

ลำดับการดำเนินขั้นตอนของการพัฒนาระบบ ข้อใดเหมาะสม

  1. การกำหนดความต้องการ → การทดสอบ → การออกแบบระบบ → การเขียนโปรแกรม
  2. การออกแบบระบบ → การกำหนดความต้องการ → การทดสอบ → การเขียนโปรแกรม
  3. การกำหนดความต้องการ → การเขียนโปรแกรม → การออกแบบระบบ → การทดสอบ
  4. การกำหนดความต้องการ → การออกแบบระบบ → การเขียนโปรแกรม → การทดสอบ
คำตอบD. การกำหนดความต้องการ → การออกแบบระบบ → การเขียนโปรแกรม → การทดสอบ

การพัฒนาดำเนินตามลำดับคือ กำหนดสิ่งที่จะสร้างในการกำหนดความต้องการ กำหนดวิธีทำให้เป็นจริงในการออกแบบระบบ สร้างด้วยการเขียนโปรแกรม แล้วตรวจสอบด้วยการทดสอบ ตัวเลือกที่ 1, 2 และ 3 ล้วนวางการออกแบบหรือการทดสอบไว้ก่อนตำแหน่งที่ควรจะเป็น เช่น ตรวจสอบก่อนที่จะสร้าง ซึ่งเป็นลำดับที่เป็นไปไม่ได้

ข้อ 5 | การแบ่งมอดูล

จุดมุ่งหมายหลักของการออกแบบโดยแบ่งโปรแกรมออกเป็นหลายมอดูลคือข้อใด

  1. เพื่อเพิ่มความเป็นอิสระของแต่ละชิ้นส่วน ทำให้แก้ไข ทดสอบ และนำกลับมาใช้ซ้ำได้ง่ายขึ้น
  2. เพื่อลดจำนวนเซิร์ฟเวอร์ที่ใช้ในสภาพแวดล้อมใช้งานจริงและลดค่าใช้จ่าย
  3. เพื่อลดจำนวนรายการที่ผู้ใช้ต้องป้อน ทำให้ใช้งานง่ายขึ้น
  4. เพื่อให้ลดจำนวนบรรทัดของซอร์สโค้ดทั้งโปรแกรมลงได้อย่างแน่นอน
คำตอบA. เพื่อเพิ่มความเป็นอิสระของแต่ละชิ้นส่วน ทำให้แก้ไข ทดสอบ และนำกลับมาใช้ซ้ำได้ง่ายขึ้น

การแบ่งมอดูลมีจุดมุ่งหมายเพื่อแยกเป็นชิ้นส่วนตามฟังก์ชันและเพิ่มความเป็นอิสระ ทำให้ขอบเขตผลกระทบจากการแก้ไขแคบลง และทดสอบหรือนำกลับมาใช้ซ้ำได้ง่ายขึ้น การแบ่งมอดูลไม่ได้ทำให้จำนวนบรรทัดรวมลดลงเสมอไป ตัวเลือกที่ 1 จึงผิด ตัวเลือกที่ 2 เป็นเรื่องการออกแบบหน้าจอ และตัวเลือกที่ 4 เป็นเรื่องโครงสร้างพื้นฐาน ซึ่งจุดมุ่งหมายต่างกัน

ข้อ 6 | ยูซาบิลิตี

ตัวอย่างการออกแบบหน้าจอที่ช่วยเพิ่มยูซาบิลิตี (ความง่ายในการใช้งาน) ข้อใดเหมาะสมที่สุด

  1. แจ้งข้อผิดพลาดในการป้อนข้อมูลทันที ณ จุดนั้น พร้อมแสดงรายละเอียดข้อผิดพลาดและวิธีแก้ไขอย่างเป็นรูปธรรม
  2. ใช้ศัพท์เฉพาะทางจำนวนมาก ทำให้เป็นหน้าจอที่มีแต่ผู้ใช้ที่เชี่ยวชาญเท่านั้นที่ใช้ได้
  3. ไม่แสดงวิธีใช้งานบนหน้าจอ แต่อธิบายไว้ในคู่มือแยกเล่มเท่านั้น
  4. อัดรายการป้อนข้อมูลทั้งหมดไว้ในหน้าจอเดียว โดยไม่แสดงหัวข้อหรือคำอธิบายเพิ่มเติมใด ๆ เลย
คำตอบA. แจ้งข้อผิดพลาดในการป้อนข้อมูลทันที ณ จุดนั้น พร้อมแสดงรายละเอียดข้อผิดพลาดและวิธีแก้ไขอย่างเป็นรูปธรรม

ยูซาบิลิตีคือความง่ายในการใช้งานที่ทำให้ผู้ใช้บรรลุจุดประสงค์ได้อย่างมีประสิทธิภาพโดยไม่สับสน การแจ้งข้อผิดพลาด ณ จุดที่เกิดอย่างเข้าใจง่ายช่วยเพิ่มยูซาบิลิตี ตัวเลือกที่ 1, 3 และ 4 ล้วนเพิ่มภาระในการทำความเข้าใจและการใช้งานของผู้ใช้ จึงทำให้ความง่ายในการใช้งานลดลง

ข้อ 7 | การรับมอบ

คำอธิบายของการรับมอบซอฟต์แวร์ (software acceptance) ข้อใดเหมาะสม

  1. การปรับปรุงซอฟต์แวร์ให้สอดคล้องกับการเปลี่ยนแปลงของงานและคำขอจากผู้ใช้ หลังจากเริ่มใช้งานจริงแล้ว
  2. การที่ผู้พัฒนาทดสอบโปรแกรมที่ตนเขียนขึ้น โดยแบ่งทดสอบทีละมอดูลหรือทีละโปรแกรม
  3. การที่ผู้ว่าจ้างตรวจสอบซอฟต์แวร์ที่ส่งมอบด้วยการทดสอบการใช้งานจริงเป็นต้น แล้วรับมอบเมื่อเป็นไปตามข้อกำหนดความต้องการ
  4. การที่ผู้พัฒนาสร้างโครงสร้างภายในและขั้นตอนการประมวลผลของโปรแกรมขึ้นตามเอกสารการออกแบบ
คำตอบC. การที่ผู้ว่าจ้างตรวจสอบซอฟต์แวร์ที่ส่งมอบด้วยการทดสอบการใช้งานจริงเป็นต้น แล้วรับมอบเมื่อเป็นไปตามข้อกำหนดความต้องการ

การรับมอบซอฟต์แวร์เป็นขั้นตอนที่ฝ่ายผู้ว่าจ้างตรวจสอบด้วยการทดสอบการใช้งานจริงเป็นต้นว่าเป็นไปตามข้อกำหนดความต้องการหรือไม่ แล้วจึงรับมอบสิ่งส่งมอบ เรียกอีกอย่างว่าการตรวจรับ ตัวเลือกที่ 1 เป็นการทดสอบหน่วย ตัวเลือกที่ 3 เป็นการเขียนโปรแกรม และตัวเลือกที่ 4 เป็นการบำรุงรักษา ซึ่งล้วนเป็นขั้นตอนอื่นที่ไม่ใช่การรับมอบ

ข้อ 8 | การทดสอบหน่วย

คำอธิบายของการทดสอบหน่วย (unit test) ข้อใดเหมาะสม

  1. ให้ผู้ใช้ใช้งานตามขั้นตอนการทำงานจริง เพื่อตรวจสอบว่าเป็นไปตามข้อกำหนดความต้องการหรือไม่
  2. ตรวจสอบทีละมอดูลหรือทีละโปรแกรมว่าการประมวลผลภายในทำงานถูกต้องหรือไม่
  3. ตรวจสอบทั้งระบบในสภาพแวดล้อมที่ใกล้เคียงการใช้งานจริง รวมถึงสมรรถนะและความทนทานต่อโหลด
  4. นำหลายมอดูลมาประกอบเข้าด้วยกัน แล้วตรวจสอบว่าการรับส่งข้อมูลระหว่างกันถูกต้องหรือไม่
คำตอบB. ตรวจสอบทีละมอดูลหรือทีละโปรแกรมว่าการประมวลผลภายในทำงานถูกต้องหรือไม่

การทดสอบหน่วยเป็นขั้นแรกสุดของการทดสอบ โดยทำเป็นรายมอดูล ตัวเลือกที่ 2 เป็นการทดสอบบูรณาการ ตัวเลือกที่ 3 เป็นการทดสอบระบบ และตัวเลือกที่ 4 เป็นการทดสอบการใช้งานจริง (การทดสอบเพื่อรับมอบ) ซึ่งล้วนดำเนินการในขั้นที่อยู่หลังการทดสอบหน่วย

ข้อ 9 | การทดสอบบูรณาการ

สิ่งที่ตรวจสอบเป็นหลักในการทดสอบบูรณาการ (integration test) คือข้อใด

  1. การรับส่งข้อมูลและการเชื่อมโยงระหว่างมอดูลที่นำมาประกอบกันถูกต้องหรือไม่
  2. ผู้ใช้สามารถใช้งานได้โดยไม่มีปัญหาตามกระแสงานจริงหรือไม่
  3. คำสั่งและทางแยกทั้งหมดภายในมอดูลหนึ่ง ๆ ถูกเรียกใช้งานครบหรือไม่
  4. ค่าใช้จ่ายในการพัฒนายังอยู่ภายในงบประมาณที่ตั้งไว้แต่แรกหรือไม่
คำตอบA. การรับส่งข้อมูลและการเชื่อมโยงระหว่างมอดูลที่นำมาประกอบกันถูกต้องหรือไม่

การทดสอบบูรณาการเป็นขั้นที่นำมอดูลซึ่งผ่านการทดสอบหน่วยแล้วมาเชื่อมต่อกัน เพื่อตรวจสอบว่าอินเทอร์เฟซ (การรับส่งข้อมูล) ถูกต้องหรือไม่ ตัวเลือกที่ 2 เป็นการทดสอบแบบไวท์บ็อกซ์ที่ทำในการทดสอบหน่วย ตัวเลือกที่ 3 เป็นจุดประสงค์ของการทดสอบการใช้งานจริง และตัวเลือกที่ 4 เป็นเรื่องการบริหารต้นทุนของโครงการ ไม่ใช่การทดสอบ

ข้อ 10 | การทดสอบระบบ

เนื้อหาที่ดำเนินการในการทดสอบระบบ (การทดสอบรวมทั้งหมด) ข้อใดเหมาะสมที่สุด

  1. ตรวจสอบทั้งระบบในสภาพแวดล้อมที่ใกล้เคียงการใช้งานจริง ทั้งด้านฟังก์ชัน สมรรถนะ และความทนทานต่อโหลด
  2. ใช้เครื่องมือจัดรูปแบบอัตโนมัติจัดระเบียบการย่อหน้าและรูปแบบของซอร์สโค้ด
  3. นำคำขอที่ได้รับจากผู้ใช้หลังส่งมอบมาเพิ่มเป็นฟังก์ชันใหม่
  4. ผู้รับผิดชอบอ่านทวนมอดูลที่กำลังสร้างร่วมกันทีละโปรแกรมบนโต๊ะ เพื่อหาข้อผิดพลาดในการเขียน
คำตอบA. ตรวจสอบทั้งระบบในสภาพแวดล้อมที่ใกล้เคียงการใช้งานจริง ทั้งด้านฟังก์ชัน สมรรถนะ และความทนทานต่อโหลด

การทดสอบระบบเป็นการทดสอบขั้นสุดท้ายที่ฝ่ายพัฒนาดำเนินการ เพื่อตรวจสอบว่าทั้งระบบทำงานตามข้อกำหนดความต้องการหรือไม่ ทั้งด้านฟังก์ชัน สมรรถนะ และโหลด ตัวเลือกที่ 1 เป็นงานรีวิวหรือการทดสอบหน่วย ตัวเลือกที่ 2 เป็นงานเขียนโค้ด และตัวเลือกที่ 4 เป็นการเพิ่มฟังก์ชันในการบำรุงรักษา จึงไม่ตรงทั้งหมด

ข้อ 11 | การทดสอบการใช้งานจริง

คำอธิบายของการทดสอบการใช้งานจริง (การทดสอบเพื่อรับมอบ) ข้อใดเหมาะสม

  1. ผู้พัฒนาอ่านทวนโปรแกรมร่วมกันบนโต๊ะเพื่อชี้จุดผิดพลาด
  2. ผู้พัฒนามุ่งเน้นที่โครงสร้างภายในของโปรแกรม และตรวจสอบให้ครอบคลุมคำสั่งและทางแยกทั้งหมด
  3. ผู้พัฒนาตรวจสอบการเชื่อมโยงระหว่างมอดูลที่นำมาประกอบกันแล้ว
  4. ผู้ใช้ใช้งานตามกระแสงานจริง เพื่อตรวจสอบว่าเป็นไปตามข้อกำหนดความต้องการหรือไม่
คำตอบD. ผู้ใช้ใช้งานตามกระแสงานจริง เพื่อตรวจสอบว่าเป็นไปตามข้อกำหนดความต้องการหรือไม่

การทดสอบการใช้งานจริงเป็นการทดสอบขั้นสุดท้ายที่ผู้ใช้ (ผู้ว่าจ้าง) เป็นผู้ดำเนินการหลัก เพื่อตรวจสอบว่าใช้งานได้ตามขั้นตอนการทำงานจริงหรือไม่ ตัวเลือกที่ 1 เป็นการทดสอบแบบไวท์บ็อกซ์ ตัวเลือกที่ 2 เป็นการทดสอบบูรณาการ และตัวเลือกที่ 3 เป็นการรีวิวโค้ด ซึ่งล้วนเป็นงานของฝ่ายพัฒนา ทั้งผู้ดำเนินการหลักและจุดประสงค์จึงต่างกัน

ข้อ 12 | แบบจำลองรูปตัว V

ในแบบจำลองรูปตัว V (V-model) ขั้นตอนการทดสอบที่จับคู่กับการออกแบบภายนอก (การออกแบบพื้นฐาน) คือข้อใด

  1. การทดสอบหน่วย
  2. การทดสอบบูรณาการ
  3. การทดสอบระบบ
  4. การทดสอบการใช้งานจริง
คำตอบC. การทดสอบระบบ

ในแบบจำลองรูปตัว V การกำหนดความต้องการจับคู่กับการทดสอบการใช้งานจริง การออกแบบภายนอกจับคู่กับการทดสอบระบบ การออกแบบภายในจับคู่กับการทดสอบบูรณาการ และการเขียนโปรแกรมจับคู่กับการทดสอบหน่วย ดังนั้นที่ตรงกับการออกแบบภายนอกคือการทดสอบระบบ ส่วนการทดสอบหน่วยตรงกับการเขียนโปรแกรม การทดสอบบูรณาการตรงกับการออกแบบภายใน และการทดสอบการใช้งานจริงตรงกับการกำหนดความต้องการ

ข้อ 13 | ไวท์บ็อกซ์

คำอธิบายของการทดสอบแบบไวท์บ็อกซ์ (white box test) ข้อใดเหมาะสม

  1. ป้อนข้อมูลปริมาณเท่ากับการใช้งานจริง แล้ววัดว่าเวลาประมวลผลอยู่ในเกณฑ์หรือไม่
  2. ทดสอบโดยไม่สนใจโครงสร้างภายในของโปรแกรม มุ่งดูเฉพาะความสัมพันธ์ระหว่างอินพุตกับเอาต์พุตที่ระบุในเอกสารสเปก
  3. ทดสอบโดยมุ่งที่โครงสร้างภายในของโปรแกรม เลือกเส้นทางให้ครอบคลุมการทำงานของคำสั่งและทางแยก
  4. ให้ผู้ใช้ทดลองใช้งานต้นแบบ แล้วรับฟังคำขอเพื่อนำไปสะท้อนในข้อกำหนดความต้องการ
คำตอบC. ทดสอบโดยมุ่งที่โครงสร้างภายในของโปรแกรม เลือกเส้นทางให้ครอบคลุมการทำงานของคำสั่งและทางแยก

การทดสอบแบบไวท์บ็อกซ์เป็นวิธีที่ดูเนื้อในของโปรแกรม (โครงสร้างควบคุม) แล้วสร้างกรณีทดสอบให้ครอบคลุมคำสั่งและทางแยก ใช้ในการทดสอบหน่วยเป็นหลัก ตัวเลือกที่ 1 เป็นการทดสอบแบบแบล็กบ็อกซ์ ตัวเลือกที่ 3 เป็นการทำต้นแบบ (prototyping) และตัวเลือกที่ 4 เป็นการทดสอบสมรรถนะ

ข้อ 14 | แบล็กบ็อกซ์

วิธีสร้างกรณีทดสอบในการทดสอบแบบแบล็กบ็อกซ์ (black box test) ข้อใดเหมาะสม

  1. เตรียมกรณีทดสอบเป็นจำนวนแปรผันตามจำนวนบรรทัดของซอร์สโค้ด โดยจัดสรรอย่างเป็นกลไก
  2. เลือกเส้นทางให้ทางแยกทุกจุดถูกเรียกใช้งานอย่างน้อยหนึ่งครั้ง
  3. ตรวจสอบทีละบรรทัดว่าคำอธิบายในคอมเมนต์ที่ผู้พัฒนาเขียนไว้ถูกต้องหรือไม่
  4. แบ่งเงื่อนไขอินพุตในเอกสารสเปกออกเป็นกลุ่มตามความหมาย แล้วเลือกค่าตัวแทนและค่าตรงรอยต่อของแต่ละกลุ่ม
คำตอบD. แบ่งเงื่อนไขอินพุตในเอกสารสเปกออกเป็นกลุ่มตามความหมาย แล้วเลือกค่าตัวแทนและค่าตรงรอยต่อของแต่ละกลุ่ม

การทดสอบแบบแบล็กบ็อกซ์ทำโดยอิงสเปกโดยไม่ดูโครงสร้างภายใน และใช้การแบ่งชั้นสมมูล (equivalence partitioning) กับการวิเคราะห์ค่าขอบ (boundary value analysis) เพื่อเลือกค่าตัวแทนและค่าขอบของอินพุต ตัวเลือกที่ 1 เป็นการทดสอบแบบไวท์บ็อกซ์ที่มุ่งโครงสร้างภายใน ตัวเลือกที่ 2 จำนวนบรรทัดไม่ใช่เกณฑ์ในการสร้างกรณีทดสอบ และตัวเลือกที่ 4 เป็นงานรีวิวโค้ด

ข้อ 15 | การทดสอบรีเกรสชัน

จุดประสงค์ของการทดสอบรีเกรสชัน (regression test) คือข้อใด

  1. ตรวจสอบว่าการแก้ไขโปรแกรมทำให้ส่วนที่เคยทำงานถูกต้องก่อนแก้ไขเกิดข้อบกพร่องขึ้นหรือไม่
  2. ตรวจสอบว่าผู้ใช้ที่ผ่านการอบรมสามารถเรียนรู้วิธีใช้งานแบบใหม่หลังการเปลี่ยนแปลงได้อย่างถูกต้อง
  3. ตรวจสอบว่ามีสมรรถนะการประมวลผลเพียงพอต่อการใช้งานจริง
  4. ตรวจสอบเฉพาะส่วนที่เพิ่มเข้ามาว่าฟังก์ชันใหม่ที่เพิ่มทำงานตรงตามเอกสารสเปกหรือไม่เท่านั้น
คำตอบA. ตรวจสอบว่าการแก้ไขโปรแกรมทำให้ส่วนที่เคยทำงานถูกต้องก่อนแก้ไขเกิดข้อบกพร่องขึ้นหรือไม่

การทดสอบรีเกรสชันคือการตรวจสอบว่าผลกระทบจากการแก้ไขหรือเพิ่มฟังก์ชันไปทำให้ฟังก์ชันเดิมที่เคยปกติเสียหายหรือไม่ ตัวเลือกที่ 1 เป็นการทดสอบตัวฟังก์ชันที่เพิ่มเอง ตัวเลือกที่ 2 เป็นการทดสอบสมรรถนะ และตัวเลือกที่ 3 เป็นการตรวจสอบผลการฝึกอบรม ซึ่งล้วนไม่ใช่จุดประสงค์ของการทดสอบรีเกรสชัน

ข้อ 16 | เทคนิคการรีวิว

ในบรรดาเทคนิคการรีวิวซอฟต์แวร์ คำอธิบายของอินสเปกชัน (inspection) ข้อใดเหมาะสม

  1. ผู้ดำเนินรายการ (moderator) เป็นเจ้าภาพ กำหนดบทบาทผู้เข้าร่วมและขั้นตอนไว้ล่วงหน้า เพื่อตรวจหาข้อบกพร่องของชิ้นงานอย่างเป็นทางการ
  2. รันโปรแกรมจริง แล้วตรวจสอบว่าเอาต์พุตที่ได้จากอินพุตตรงตามสเปกหรือไม่
  3. จับคู่กันสองคนใช้เครื่องเดียว ผลัดกันเขียนโปรแกรม
  4. ผู้จัดทำเป็นแกนหลักอธิบายเนื้อหาชิ้นงานให้ผู้เกี่ยวข้องฟังตามลำดับ แล้วช่วยกันชี้ข้อผิดพลาดและข้อสงสัยอย่างไม่เป็นทางการ ณ ที่นั้น
คำตอบA. ผู้ดำเนินรายการ (moderator) เป็นเจ้าภาพ กำหนดบทบาทผู้เข้าร่วมและขั้นตอนไว้ล่วงหน้า เพื่อตรวจหาข้อบกพร่องของชิ้นงานอย่างเป็นทางการ

อินสเปกชันคือการรีวิวอย่างเป็นทางการที่มีผู้ดำเนินรายการนำการประชุม กำหนดบทบาทและขั้นตอน พร้อมบันทึกผลไว้ ตัวเลือกที่ 2 เป็นวอล์กทรู (walkthrough) ซึ่งทำอย่างไม่เป็นทางการ ตัวเลือกที่ 3 เป็นการทดสอบที่รันโปรแกรมจริง และตัวเลือกที่ 4 เป็นแพร์โปรแกรมมิงของ XP ซึ่งล้วนต่างจากอินสเปกชัน

ข้อ 17 | แบบจำลองวอเตอร์ฟอล

ลักษณะเด่นของแบบจำลองวอเตอร์ฟอล (waterfall model) ข้อใดเหมาะสม

  1. สร้างต้นแบบให้ผู้ใช้ประเมิน แล้วค่อย ๆ ทำให้ข้อกำหนดความต้องการชัดเจนขึ้น
  2. ดำเนินขั้นตอนไปตามลำดับ โดยหลักการแล้วไม่ย้อนกลับไปขั้นตอนก่อนหน้า
  3. ทำซ้ำเป็นรอบสั้น ๆ และส่งมอบซอฟต์แวร์ที่ทำงานได้ในแต่ละรอบ
  4. ฝ่ายพัฒนากับฝ่ายปฏิบัติการทำงานเป็นหนึ่งเดียว และรีลีสบ่อยครั้งด้วยระบบอัตโนมัติ
คำตอบB. ดำเนินขั้นตอนไปตามลำดับ โดยหลักการแล้วไม่ย้อนกลับไปขั้นตอนก่อนหน้า

แบบจำลองวอเตอร์ฟอลดำเนินขั้นตอนตามลำดับจากต้นน้ำสู่ปลายน้ำ โดยอนุมัติชิ้นงานของแต่ละขั้นตอนบนสมมติฐานว่าจะไม่ย้อนกลับไปขั้นตอนก่อนหน้า ตัวเลือกที่ 1 เป็นการพัฒนาแบบอไจล์ ตัวเลือกที่ 3 เป็นแบบจำลองการทำต้นแบบ และตัวเลือกที่ 4 เป็นคำอธิบายของ DevOps ซึ่งล้วนเป็นแนวคิดคนละแบบ

ข้อ 18 | การทำต้นแบบ

ข้อได้เปรียบหลักของการใช้แบบจำลองการทำต้นแบบ (prototyping model) คือข้อใด

  1. ต้นแบบใช้แทนเอกสารการออกแบบได้ จึงไม่ต้องทำงานด้านเอกสารอีกเลย
  2. ให้ผู้ใช้ตรวจสอบต้นแบบตั้งแต่ระยะแรก จึงลดงานแก้ย้อนหลังที่เกิดจากความคลาดเคลื่อนหรือความเข้าใจไม่ตรงกันในข้อกำหนดความต้องการได้
  3. เนื่องจากผู้ใช้ได้ตรวจสอบต้นแบบแล้ว จึงรับประกันได้ว่าจะไม่เกิดการเปลี่ยนแปลงสเปกหลังจากเริ่มใช้งาน
  4. การสร้างต้นแบบทำให้ลดชั่วโมงงานรวมของการพัฒนาได้แน่นอน และค่าใช้จ่ายลดลงครึ่งหนึ่ง
คำตอบB. ให้ผู้ใช้ตรวจสอบต้นแบบตั้งแต่ระยะแรก จึงลดงานแก้ย้อนหลังที่เกิดจากความคลาดเคลื่อนหรือความเข้าใจไม่ตรงกันในข้อกำหนดความต้องการได้

การทำต้นแบบคือการให้ผู้ใช้ประเมินชิ้นงานทดลองตั้งแต่ระยะแรก เพื่อป้องกันงานแก้ย้อนหลังขนาดใหญ่จากการเข้าใจข้อกำหนดความต้องการคลาดเคลื่อน แม้สร้างต้นแบบก็ยังต้องมีเอกสารการออกแบบ ตัวเลือกที่ 1 จึงผิด และไม่มีหลักประกันว่าชั่วโมงงานจะลดลงครึ่งหนึ่งเสมอ หรือจะไม่มีการเปลี่ยนแปลงเลย ตัวเลือกที่ 2 และ 4 จึงผิดด้วย

ข้อ 19 | สไปรัล

คำอธิบายของแบบจำลองสไปรัล (spiral model) ข้อใดเหมาะสม

  1. ทำทุกฟังก์ชันให้เสร็จในกระแสงานรอบเดียวจากต้นน้ำสู่ปลายน้ำ โดยไม่ย้อนกลับไปขั้นตอนก่อนหน้าหรือทบทวนระหว่างทางเลย
  2. ข้ามขั้นตอนการกำหนดความต้องการ สร้างสิ่งที่ทำงานได้ก่อนแล้วจึงเขียนสเปกเป็นเอกสารทีหลัง
  3. จ้างภายนอกทำทุกขั้นตอนของการพัฒนา และติดตามความคืบหน้าด้วยรายงานรายเดือนเท่านั้น
  4. แบ่งระบบเป็นส่วน ๆ แล้วทำซ้ำวงจรการออกแบบ พัฒนา และประเมินผล เพื่อยกระดับความสมบูรณ์เป็นวงก้นหอย
คำตอบD. แบ่งระบบเป็นส่วน ๆ แล้วทำซ้ำวงจรการออกแบบ พัฒนา และประเมินผล เพื่อยกระดับความสมบูรณ์เป็นวงก้นหอย

แบบจำลองสไปรัลคือแบบจำลองการพัฒนาที่แบ่งระบบเป็นส่วน ๆ แล้วทำซ้ำวงจรตั้งแต่การออกแบบจนถึงการประเมิน เพื่อลดความเสี่ยงไปพร้อมกับยกระดับความสมบูรณ์ ตัวเลือกที่ 1 เป็นแนวคิดของแบบจำลองวอเตอร์ฟอล ส่วนตัวเลือกที่ 2 และ 3 ไม่เกี่ยวข้องกับนิยามของแบบจำลองสไปรัล

ข้อ 20 | อไจล์

แนวคิดของการพัฒนาแบบอไจล์ (agile) ข้อใดเหมาะสมที่สุด

  1. ผู้ใช้เข้ามาเกี่ยวข้องเฉพาะตอนกำหนดความต้องการและตอนตรวจรับเท่านั้น ระหว่างการพัฒนาไม่มีส่วนร่วม
  2. กำหนดสเปกทั้งหมดให้แน่นอนตั้งแต่แรก และโดยหลักการแล้วไม่ยอมรับการเปลี่ยนแปลงหลังจากนั้น
  3. สร้างซอฟต์แวร์ที่ทำงานได้ในรอบทำซ้ำสั้น ๆ และรับฟังความเห็นของผู้ใช้เพื่อตอบสนองความเปลี่ยนแปลง
  4. ให้ความสำคัญกับการจัดทำเอกสารการออกแบบอย่างละเอียดสมบูรณ์แบบ มากกว่าการแสดงซอฟต์แวร์ที่ทำงานได้โดยเร็ว
คำตอบC. สร้างซอฟต์แวร์ที่ทำงานได้ในรอบทำซ้ำสั้น ๆ และรับฟังความเห็นของผู้ใช้เพื่อตอบสนองความเปลี่ยนแปลง

การพัฒนาแบบอไจล์ทำซ้ำเป็นรอบสั้น ๆ ให้ความสำคัญกับซอฟต์แวร์ที่ทำงานได้และการตอบสนองความเปลี่ยนแปลง โดยร่วมมือกับผู้ใช้ไปตลอด ตัวเลือกที่ 2, 3 และ 4 ล้วนเป็นลักษณะของการพัฒนาแบบวอเตอร์ฟอล ซึ่งตรงข้ามกับแนวคิดอไจล์

ข้อ 21 | การเลือกแบบจำลอง

ระบบหนึ่งยังกำหนดความต้องการไม่นิ่ง และต้องการทยอยเพิ่มฟังก์ชันในช่วงเวลาสั้น ๆ โดยดูปฏิกิริยาของผู้ใช้ไปด้วย แนวทางการพัฒนาข้อใดเหมาะสมที่สุด

  1. เก็บการทดสอบไว้ทำรวบยอดตอนท้าย โดยก่อนหน้านั้นไม่ตรวจสอบการทำงานเลย
  2. ไม่เริ่มพัฒนาจนกว่าเอกสารกำหนดความต้องการจะได้รับอนุมัติ และหลังอนุมัติแล้วไม่รับการเปลี่ยนแปลงใด ๆ เลย
  3. รีลีสฟังก์ชันที่ทำงานได้ในแต่ละรอบทำซ้ำสั้น ๆ แล้วนำผลประเมินของผู้ใช้ไปสะท้อนในรอบถัดไป
  4. กำหนดสเปกของทุกฟังก์ชันให้แน่นอนก่อนแล้วพัฒนารวดเดียว โดยให้ผู้ใช้เห็นครั้งแรกเมื่อเสร็จสมบูรณ์
คำตอบC. รีลีสฟังก์ชันที่ทำงานได้ในแต่ละรอบทำซ้ำสั้น ๆ แล้วนำผลประเมินของผู้ใช้ไปสะท้อนในรอบถัดไป

งานที่ความต้องการเปลี่ยนง่ายเหมาะกับแนวทางแบบอไจล์ที่ส่งมอบสิ่งที่ทำงานได้ทุกรอบและนำผลประเมินมาสะท้อน ตัวเลือกที่ 1 และ 3 เป็นแบบวอเตอร์ฟอลซึ่งรับมือการเปลี่ยนแปลงได้ไม่ดี ส่วนตัวเลือกที่ 4 จะพบข้อบกพร่องช้าและทำให้งานแก้ย้อนหลังใหญ่ขึ้น จึงไม่เหมาะกับสถานการณ์นี้

ข้อ 22 | RAD

คำอธิบายของ RAD (Rapid Application Development) ข้อใดเหมาะสม

  1. แนวคิดที่ให้ฝ่ายพัฒนากับฝ่ายปฏิบัติการร่วมมือกันอย่างใกล้ชิด และปรับปรุงอย่างต่อเนื่องด้วยระบบอัตโนมัติ
  2. เทคนิคที่ใช้ทีมขนาดเล็กและเครื่องมือช่วยพัฒนา เพื่อพัฒนาระบบในเวลาสั้น
  3. เทคนิคการนำบริการที่เปิดเผยสู่สาธารณะหลายบริการมาผสมกันเพื่อสร้างบริการใหม่
  4. เทคนิควิเคราะห์โปรแกรมที่มีอยู่แล้วเพื่อสกัดเอาสเปกและข้อมูลการออกแบบออกมา
คำตอบB. เทคนิคที่ใช้ทีมขนาดเล็กและเครื่องมือช่วยพัฒนา เพื่อพัฒนาระบบในเวลาสั้น

RAD คือเทคนิคที่ใช้ทีมขนาดเล็กร่วมกับเครื่องมือช่วยพัฒนาเพื่อย่นระยะเวลาการพัฒนา ตัวเลือกที่ 1 เป็นรีเวิร์สเอนจิเนียริง ตัวเลือกที่ 2 เป็น DevOps และตัวเลือกที่ 4 เป็นแมชอัป (mashup) ซึ่งล้วนเป็นคำศัพท์คนละคำกับ RAD

ข้อ 23 | แพร์โปรแกรมมิง

คำอธิบายของแพร์โปรแกรมมิง (pair programming) ข้อใดเหมาะสม

  1. สองทีมต่างพัฒนาฟังก์ชันเดียวกันแยกกัน แล้วเลือกใช้ผลงานที่ดีกว่าเมื่อเสร็จ
  2. จับคู่กันสองคนใช้เครื่องเดียว คนหนึ่งเขียนโค้ด อีกคนตรวจสอบและให้คำแนะนำไปพร้อมกัน
  3. ให้ผู้ใช้สองคนใช้งานหน้าจอเดียวกันเพื่อเปรียบเทียบความง่ายในการใช้งาน
  4. ทำการทดสอบสองชนิดพร้อมกันเพื่อหาข้อบกพร่องให้เร็วขึ้น
คำตอบB. จับคู่กันสองคนใช้เครื่องเดียว คนหนึ่งเขียนโค้ด อีกคนตรวจสอบและให้คำแนะนำไปพร้อมกัน

แพร์โปรแกรมมิงเป็นแนวปฏิบัติเด่นของ XP โดยสองคนช่วยกันเขียนโค้ดชุดเดียว และรีวิวกัน ณ ที่นั้นเพื่อยกระดับคุณภาพ ตัวเลือกที่ 1 เป็นการพัฒนาแบบแข่งขัน ตัวเลือกที่ 2 เป็นวิธีดำเนินการทดสอบ และตัวเลือกที่ 3 เป็นการประเมินยูซาบิลิตี ซึ่งล้วนไม่ตรง

ข้อ 24 | TDD

วิธีดำเนินการพัฒนาแบบขับเคลื่อนด้วยการทดสอบ (TDD) ข้อใดเหมาะสม

  1. เขียนโค้ดทดสอบก่อน แล้วจึงอิมพลีเมนต์โปรแกรมให้ผ่านการทดสอบนั้น
  2. วางแผนการทดสอบเป็นครั้งแรกหลังจากอิมพลีเมนต์ทุกส่วนเสร็จสมบูรณ์แล้ว
  3. มอบการทดสอบให้ผู้รับจ้างภายนอกที่เชี่ยวชาญเท่านั้น ผู้พัฒนาไม่ทำการทดสอบเอง
  4. สร้างการทดสอบเป็นครั้งแรกหลังได้รับรายงานข้อขัดข้องจากผู้ใช้เมื่อใช้งานจริงแล้ว
คำตอบA. เขียนโค้ดทดสอบก่อน แล้วจึงอิมพลีเมนต์โปรแกรมให้ผ่านการทดสอบนั้น

การพัฒนาแบบขับเคลื่อนด้วยการทดสอบคือการเขียนการทดสอบก่อน แล้วอิมพลีเมนต์เท่าที่จำเป็นให้ผ่านการทดสอบ จากนั้นปรับปรุงซ้ำ ๆ ตัวเลือกที่ 2, 3 และ 4 ล้วนเป็นวิธีที่การทดสอบมาทีหลังการอิมพลีเมนต์หรือการใช้งาน ซึ่งขัดกับแนวคิดของ TDD ที่ให้การทดสอบนำทางการพัฒนา

ข้อ 25 | รีแฟกทอริง

คำอธิบายของรีแฟกทอริง (refactoring) ข้อใดเหมาะสม

  1. การจัดระเบียบโครงสร้างภายในของโปรแกรมให้เข้าใจง่ายขึ้น โดยไม่เปลี่ยนพฤติกรรมที่มองเห็นจากภายนอก
  2. การย้ายระบบที่ใช้งานอยู่ไปยังศูนย์ข้อมูลแห่งอื่น
  3. การเพิ่มฟังก์ชันใหม่ให้โปรแกรมที่มีอยู่เดิมตามคำขอของผู้ใช้
  4. การเพิ่มจำนวนเซิร์ฟเวอร์หรือหน่วยความจำเพื่อเพิ่มความเร็วการประมวลผล
คำตอบA. การจัดระเบียบโครงสร้างภายในของโปรแกรมให้เข้าใจง่ายขึ้น โดยไม่เปลี่ยนพฤติกรรมที่มองเห็นจากภายนอก

รีแฟกทอริงคือการจัดระเบียบโครงสร้างภายในของโค้ดโดยคงพฤติกรรมที่มองเห็นจากภายนอกไว้ เพื่อให้แก้ไขในภายหลังได้ง่ายขึ้น ตัวเลือกที่ 1 เป็นการเพิ่มฟังก์ชัน ตัวเลือกที่ 3 เป็นการเสริมฮาร์ดแวร์ และตัวเลือกที่ 4 เป็นการย้ายสถานที่ติดตั้ง ซึ่งล้วนไม่ใช่การปรับปรุงโครงสร้างภายใน

ข้อ 26 | Product Owner

บทบาทของโพรดักต์โอนเนอร์ (product owner) ในสครัม (Scrum) คือข้อใด

  1. รับผิดชอบเนื้อหาและลำดับความสำคัญของโพรดักต์แบ็กล็อก เพื่อให้คุณค่าของผลงานสูงสุด
  2. ประเมินผลงานบุคคลของสมาชิกทีม และมอบหมายงานให้ทีละคน
  3. บันทึกความคืบหน้ารายวัน และรายงานงบประมาณที่เกินต่อผู้บริหาร
  4. สนับสนุนให้กติกาของสครัมถูกปฏิบัติอย่างถูกต้อง และขจัดปัญหาที่ขัดขวางการพัฒนา
คำตอบA. รับผิดชอบเนื้อหาและลำดับความสำคัญของโพรดักต์แบ็กล็อก เพื่อให้คุณค่าของผลงานสูงสุด

โพรดักต์โอนเนอร์คือผู้รับผิดชอบลำดับความสำคัญของสิ่งที่จะสร้าง ตัวเลือกที่ 2 เป็นบทบาทของสครัมมาสเตอร์ ตัวเลือกที่ 1 ไม่ได้ถูกนิยามไว้ในสครัม เพราะทีมพัฒนาเป็นผู้แบ่งงานกันเอง และตัวเลือกที่ 4 ก็ไม่ใช่บทบาทที่นิยามไว้เช่นกัน

ข้อ 27 | สครัมมาสเตอร์

บทบาทของสครัมมาสเตอร์ (scrum master) ในสครัม ข้อใดเหมาะสม

  1. สนับสนุนให้สครัมถูกนำไปปฏิบัติอย่างถูกต้อง และขจัดปัญหาที่เป็นอุปสรรคของทีม
  2. เจรจาราคากับลูกค้าและกำหนดเงื่อนไขสัญญา
  3. สั่งงานสมาชิกทีมพัฒนาเป็นรายคน และตำหนิควบคุมสมาชิกที่ทำงานล่าช้า
  4. กำหนดลำดับความสำคัญของความต้องการ และตัดสินใจฟังก์ชันที่จะรีลีส
คำตอบA. สนับสนุนให้สครัมถูกนำไปปฏิบัติอย่างถูกต้อง และขจัดปัญหาที่เป็นอุปสรรคของทีม

สครัมมาสเตอร์มีบทบาทสนับสนุนให้ทีมปฏิบัติตามสครัมได้ และขจัดสิ่งที่เป็นอุปสรรค ไม่ได้ทำการสั่งการแบบตัวเลือกที่ 1 ส่วนตัวเลือกที่ 2 เป็นงานของฝ่ายขายหรือฝ่ายบริหาร และตัวเลือกที่ 3 เป็นบทบาทของโพรดักต์โอนเนอร์ ซึ่งล้วนไม่ใช่หน้าที่ของสครัมมาสเตอร์

ข้อ 28 | ศัพท์สครัม

คำอธิบายของเดลีสครัม (daily scrum) ในสครัม ข้อใดเหมาะสม

  1. ทีมพัฒนารวมตัวกันช่วงสั้น ๆ ทุกวัน เพื่อแบ่งปันความคืบหน้าและปัญหา และยืนยันงานของวันนั้น
  2. เมื่อจบสปรินต์ นำผลงานที่เสร็จในรอบนั้นมาแสดงต่อผู้เกี่ยวข้องเพื่อรับการประเมินและความคิดเห็น
  3. จัดเรียงความต้องการที่อยากทำให้เป็นรายการโดยกำหนดลำดับความสำคัญ
  4. ทบทวนวิธีการทำงานของทีม และกำหนดแนวทางปรับปรุงสำหรับรอบต่อไป
คำตอบA. ทีมพัฒนารวมตัวกันช่วงสั้น ๆ ทุกวัน เพื่อแบ่งปันความคืบหน้าและปัญหา และยืนยันงานของวันนั้น

เดลีสครัมคือการประชุมสั้น ๆ ประมาณ 15 นาทีที่ทำทุกวัน มีจุดประสงค์เพื่อแบ่งปันความคืบหน้าและพบอุปสรรคแต่เนิ่น ๆ ตัวเลือกที่ 2 เป็นสปรินต์รีวิว ตัวเลือกที่ 3 เป็นโพรดักต์แบ็กล็อก และตัวเลือกที่ 4 เป็นสปรินต์เรโทรสเปกทีฟ ซึ่งทั้งเวลาจัดและจุดประสงค์ต่างกัน

ข้อ 29 | CI/CD

คำอธิบายของ CI/CD (Continuous Integration / Continuous Delivery) ข้อใดเหมาะสม

  1. ให้ผู้ดูแลระบบคัดลอกไฟล์ไปยังสภาพแวดล้อมใช้งานจริงด้วยมือ และสะท้อนการเปลี่ยนแปลงทีละรายการ
  2. รวมการเปลี่ยนแปลงทั้งหมดเข้าด้วยกันทีเดียวก่อนรีลีส และทำการทดสอบรวบยอดเพียงครั้งเดียว ณ จุดนั้นเป็นครั้งแรก
  3. หยุดการพัฒนาสิ่งใหม่ แล้วเดินหน้าเฉพาะการจัดทำเอกสารสเปกของระบบเดิม
  4. รวมซอร์สโค้ดที่แก้ไขเข้าด้วยกันบ่อย ๆ รันการบิลด์และการทดสอบโดยอัตโนมัติ และทำให้กระบวนการจนถึงการรีลีสเป็นอัตโนมัติด้วย
คำตอบD. รวมซอร์สโค้ดที่แก้ไขเข้าด้วยกันบ่อย ๆ รันการบิลด์และการทดสอบโดยอัตโนมัติ และทำให้กระบวนการจนถึงการรีลีสเป็นอัตโนมัติด้วย

CI/CD คือกลไกที่รวมการเปลี่ยนแปลงเล็ก ๆ เข้าด้วยกันบ่อยครั้ง และทำการบิลด์ ทดสอบ และรีลีสโดยอัตโนมัติ เพื่อยกระดับคุณภาพและความเร็วในการส่งมอบ ตัวเลือกที่ 1 เป็นการรวมทีเดียวแบบดั้งเดิมซึ่งพบปัญหาช้า ตัวเลือกที่ 3 ไม่ได้เป็นอัตโนมัติ และตัวเลือกที่ 4 กิจกรรมการพัฒนาไม่คืบหน้าเลย จึงผิด

ข้อ 30 | รีเวิร์สเอนจิเนียริง

ข้อใดตรงกับรีเวิร์สเอนจิเนียริง (reverse engineering)

  1. ใช้สภาพแวดล้อมการพัฒนาที่สร้างแอปพลิเคชันได้เพียงจัดวางชิ้นส่วนบนหน้าจอ
  2. สร้างโปรแกรมขึ้นตามเอกสารการออกแบบ
  3. นำบริการที่เปิดเผยสู่สาธารณะหลายบริการมาผสมกันเพื่อสร้างบริการใหม่
  4. วิเคราะห์โปรแกรมที่มีอยู่แล้วเพื่อสกัดเอาสเปกและข้อมูลการออกแบบออกมา
คำตอบD. วิเคราะห์โปรแกรมที่มีอยู่แล้วเพื่อสกัดเอาสเปกและข้อมูลการออกแบบออกมา

รีเวิร์สเอนจิเนียริงหมายถึงการวิเคราะห์ซอฟต์แวร์ที่มีอยู่เพื่อดึงสเปกและข้อมูลการออกแบบออกมา ตัวเลือกที่ 1 เป็นการพัฒนาปกติ (ทิศทางไปข้างหน้า) จากการออกแบบสู่การอิมพลีเมนต์ ตัวเลือกที่ 2 เป็นแมชอัป และตัวเลือกที่ 4 เป็นการพัฒนาแบบโนโค้ด/โลว์โค้ด

ฝึกทำ: ทำโจทย์ในหน้านี้

เครื่องมือฝึกทำโจทย์แบบสุ่มคำถาม (ทำงานเมื่อเปิดใช้ JavaScript) โจทย์และคำอธิบายด้านบนสามารถอ่านได้ทั้งหมดตามปกติ

※ คำอธิบายเป็นข้อมูลเพื่อการเรียนรู้ ขอบเขตข้อสอบและระบบการสอบอาจเปลี่ยนแปลงในแต่ละปี โปรดตรวจสอบประกาศอย่างเป็นทางการของหน่วยงานผู้จัดสอบเสมอ

หน้านี้แปลจากต้นฉบับภาษาญี่ปุ่น หากเนื้อหาของคำแปลและต้นฉบับไม่ตรงกัน ให้ถือฉบับภาษาญี่ปุ่นเป็นหลัก ดูต้นฉบับภาษาญี่ปุ่น