กลับไปทำข้อสอบวิชานี้

การพัฒนาระบบสารสนเทศ วิเคราะห์ ออกแบบ และการเขียนโปรแกรมคอมพิวเตอร์

คู่มือเชื่อมการวิเคราะห์ ออกแบบ ข้อมูล โปรแกรม การทดสอบ การส่งมอบ การบริหารวงจร และความมั่นคงปลอดภัยเป็นระบบพัฒนาเดียวกัน

7 หัวข้อ · อ่านประมาณ 58 นาที

อ่านฟรีได้ 2 จาก 7 หัวข้อ29%
หัวข้อ 1

จากปัญหาและความต้องการสู่แบบจำลองระบบ

ภาพรวมการพัฒนาระบบ: จากปัญหาถึงผลลัพธ์ — การพัฒนาระบบสารสนเทศเป็นงานวิศวกรรมที่เชื่อมความต้องการขององค์กร กระบวนงาน บุคลากร ข้อมูล ซอฟต์แวร์ โครงสร้างพื้นฐาน และการควบคุมเข้าด้วยกัน ผลสําเร็จจึงมิได้วัดจากการเขียนโปรแกรมเสร็จ แต่พิจารณาว่าระบบสร้างผลลัพธ์ตามภารกิจ มีคุณภาพตามเกณฑ์ ใช้งานจริงได้ ปลอดภัย บํารุงรักษาได้ และมีหลักฐานตรวจสอบย้อนกลับตลอดวงจรชีวิต. SWEBOK v4.0a ของ IEEE Computer Society ซึ่งเผยแพร่เดือนสิงหาคม 2026 จัดองค์ความรู้ตั้งแต่ความต้องการ สถาปัตยกรรม การออกแบบ การสร้าง การทดสอบ การปฏิบัติการ การบํารุงรักษา การจัดการโครงแบบ คุณภาพ ความมั่นคงปลอดภัย และกระบวนการวิศวกรรมซอฟต์แวร์ ส่วน NIST SP 800-160 กําหนดให้กิจกรรมทางเทคนิค การจัดการ และความมั่นคงปลอดภัยทํางานร่วมกันได้ทั้งแบบตามลําดับ วนซ้ํา หรือดําเนินพร้อมกันตามบริบทและความเสี่ยงของระบบ. Strategy/Business case ต้องพิจารณาว่า ทําไมต้องเปลี่ยน Outcome/Benefit/Risk/Constraint คืออะไร ส่วนใช้เพื่อ Business case, Objective, Baseline, Sponsor.

Discovery/Analysis ต้องพิจารณาว่า ผู้ใช้ทํางานอย่างไร ปัญหา Root cause และ Requirement ใดจําเป็น ส่วนใช้เพื่อ Journey, Process/data model, Requirement, Feasibility. บทบาททีมพัฒนาและการแบ่งความรับผิดชอบ — Sponsor/Steering รับผิดชอบ กําหนดทิศทาง ทรัพยากร ตัดสิน Escalation และรับ Accountability ส่วนประเด็นควบคุมคือ ไม่ก้าวก่ายรายละเอียดการปฏิบัติ แต่ต้องมีส่วนร่วมในการตัดสินใจสําคัญ. Product owner/Business owner รับผิดชอบ จัดลําดับ Value/Outcome/Backlog และยอมรับตาม Business ส่วนประเด็นควบคุมคือ ไม่เปลี่ยน Scope ไร้ข้อมูลผลกระทบ. Project manager รับผิดชอบ บูรณาการ Scope/Time/Cost/Risk/Stakeholder/Dependency ส่วนประเด็นควบคุมคือ ไม่แทน Product/Technical owner ทั้งหมด. Business/System analyst รับผิดชอบ ค้นปัญหา Requirement Rule Process/Data และ Traceability ส่วนประเด็นควบคุมคือ ไม่ทําหน้าที่เป็นเพียงผู้จดคําสั่ง.

Architect รับผิดชอบ กําหนด Structure, Quality attributes, Trade-off, Standard และ Evolution ส่วนประเด็นควบคุมคือ Architecture ต้องพิสูจน์ด้วย Risk/Constraint มิใช่ตามกระแส. UX/UI/Research รับผิดชอบ เข้าใจผู้ใช้ ออกแบบ Interaction/Content/Accessibility และทดสอบ ส่วนประเด็นควบคุมคือ หน้าสวยไม่เท่ากับใช้งานสําเร็จ. DFD, Context diagram, Data Dictionary และ Process Specification — Context diagram ใช้แสดง ระบบเป็น Process เดียวกับ External entity และ Data flow ข้ามขอบเขต ส่วนประเด็นควบคุมคือ ไม่ลง Process ภายใน/Data store โดยทั่วไป และต้อง Balance กับ DFD ระดับถัดไป. DFD Process ใช้แสดง การแปลง Input data เป็น Output data ส่วนประเด็นควบคุมคือ ตั้งชื่อด้วยกริยา+กรรม; Process ต้องมี Input/Output ที่มีเหตุผล. DFD Data flow ใช้แสดง ข้อมูลที่เคลื่อนระหว่าง Process/Entity/Store ส่วนประเด็นควบคุมคือ ตั้งชื่อคํานาม; มิใช่ Control flow/ลําดับเวลา.

DFD Data store ใช้แสดง ข้อมูลพัก/เก็บที่ Process อ่านหรือเขียน ส่วนประเด็นควบคุมคือ ไม่ไหลตรง Entity↔Store หรือ Store↔Store โดยไม่มี Process. DFD External entity ใช้แสดง คน/องค์กร/ระบบภายนอกขอบเขตที่ส่ง/รับข้อมูล ส่วนประเด็นควบคุมคือ Entity เดียวอาจวาดซ้ําเพื่ออ่านง่ายแต่ต้องระบุเดียวกัน. Balancing ใช้แสดง Input/Output ของ Parent Process ต้องสอดคล้อง Child DFD ส่วนประเด็นควบคุมคือ รายละเอียดเพิ่มได้แต่ Boundary flow ไม่หาย/โผล่ไร้เหตุ. UML Diagrams และมุมมองที่ต่างกัน — UML เป็นภาษามาตรฐานสําหรับบรรยายโครงสร้างและพฤติกรรมของระบบ มิใช่วิธีบริหารโครงการหรือข้อบังคับว่าต้องสร้างแผนภาพทุกชนิด การเลือกแผนภาพต้องเริ่มจากคําถามทางวิศวกรรม ผู้มีส่วนได้ส่วนเสีย และระดับรายละเอียดที่ต้องสื่อสาร โดยแผนภาพแต่ละชนิดต้องสอดคล้องกับข้อกําหนด แบบข้อมูล ส่วนต่อประสาน และพฤติกรรมที่นําไปสร้างจริง มาตรฐานทางการของ OMG ที่ใช้อ้างอิงคือ UML 2.5.1.

Use case แสดง Actor, Use case, System boundary, Association, Include/Extend/Generalization ส่วนใช้เพื่อ ใครใช้ระบบเพื่อ Goal ใดและ Scope อยู่ที่ไหน. Class แสดง Class, Attribute, Operation, Association, Aggregation/Composition, Inheritance, Multiplicity ส่วนใช้เพื่อ โครงสร้าง Object/domain และความสัมพันธ์. Object แสดง Instance และ Link ณ Snapshot หนึ่ง ส่วนใช้เพื่อ ตัวอย่างสถานะจริงของ Class model. Sequence แสดง Lifeline, Message, Activation และลําดับเวลา ส่วนใช้เพื่อ Object/Service โต้ตอบกันอย่างไรใน สถานการณ์ใช้งาน. Communication แสดง Object link และหมายเลข Message ส่วนใช้เพื่อ เน้น Collaboration/โครงสร้างการสื่อสาร. Structured Design: Modularity, Cohesion และ Coupling — Module หมายถึง หน่วยรับผิดชอบที่มี Interface ชัด ซ่อนรายละเอียดและเปลี่ยนได้จํากัดผลกระทบ ส่วนตัวอย่างหรือผลที่เกี่ยวข้องคือ Function,

Package, Component, Service. Cohesion หมายถึง ความเกี่ยวข้องกันของหน้าที่ภายใน Module; โดยทั่วไปยิ่งสูงยิ่งเข้าใจ/ทดสอบ/เปลี่ยนง่าย ส่วนตัวอย่างหรือผลที่เกี่ยวข้องคือ Module คํานวณภาษีทําเรื่องภาษีที่สัมพันธ์กัน. Functional cohesion หมายถึง ทุกส่วนร่วมทําหน้าที่เดียวชัด ส่วนตัวอย่างหรือผลที่เกี่ยวข้องคือ คํานวณยอดสุทธิจากรายการ. Sequential cohesion หมายถึง Output ขั้นหนึ่งเป็น Input ขั้นถัดไปใน Module ส่วนตัวอย่างหรือผลที่เกี่ยวข้องคือ Parse→Validate→Normalize ชุดเดียว. Communicational cohesion หมายถึง งานหลายส่วนใช้/สร้างข้อมูลชุดเดียว ส่วนตัวอย่างหรือผลที่เกี่ยวข้องคือ Operations ต่อ Customer record. Procedural/Temporal/Logical/Coincidental หมายถึง รวมเพราะลําดับ เวลา ประเภทกว้าง หรือบังเอิญ; มักอ่อนลงตามบริบท ส่วนตัวอย่างหรือผลที่เกี่ยวข้องคือ Utility จับทุกอย่างเป็นตัวอย่าง Coincidental risk.

หัวข้อ 2

สถาปัตยกรรม ระบบกระจาย และสัญญา API

สถาปัตยกรรม: Monolith, Layered, Client–Server และ Three-tier — สถาปัตยกรรมเป็นชุดการตัดสินใจที่มีผลกว้างต่อโครงสร้าง พฤติกรรม การแบ่งความรับผิดชอบ และคุณลักษณะคุณภาพของระบบ การเลือกแบบสถาปัตยกรรมต้องอ้างอิงข้อจํากัดและคุณลักษณะที่วัดได้ เช่น สมรรถนะ ความเชื่อถือได้ ความมั่นคงปลอดภัย การบํารุงรักษา และความยืดหยุ่น พร้อมบันทึกทางเลือก เหตุผล ผลกระทบ และเงื่อนไขทบทวน ISO/IEC 25010:2023 กําหนดแบบจําลองคุณภาพผลิตภัณฑ์ไว้เก้าคุณลักษณะเพื่อใช้กําหนดความต้องการ เป้าหมายการออกแบบ การทดสอบ และเกณฑ์ยอมรับ. Monolith มีลักษณะหรือประโยชน์คือ Deployable เดียว เริ่มง่าย Transaction/Debug/ทดสอบ End-to-end ตรงกว่า ส่วนประเด็นควบคุมคือ ถ้า Module boundary ไม่ดี Codebase/Deploy/Scale ผูกกัน; Monolith

ไม่เท่ากับ โครงสร้างรหัสโปรแกรมไร้ระเบียบ. Modular monolith มีลักษณะหรือประโยชน์คือ Deploy เดียวแต่แยก Module/Contract/Data ownership ภายในชัด ส่วนประเด็นควบคุมคือ ต้องบังคับ Boundary จริง มิใช่ชื่อ Package เท่านั้น. Layered มีลักษณะหรือประโยชน์คือ Presentation–Application/Business–Data/Infrastructure แยก Concern ส่วนประเด็นควบคุมคือ Layer ทะลุกัน/Anemic model/Change หนึ่งกระทบหลายชั้นได้. Client–Server มีลักษณะหรือประโยชน์คือ Client ร้องขอ Service/Resource จาก Server ผ่าน Network ส่วนประเด็นควบคุมคือ ต้องจัด Latency, Failure, Auth, Concurrency และ Version. Two-tier มีลักษณะหรือประโยชน์คือ Client คุย Data/service ชั้นหลังโดยตรงมากกว่า ส่วนประเด็นควบคุมคือ ง่ายแต่ Client อาจผูก DB/Business logic และกระจาย Update.

Microservices, Event-driven และ Distributed Systems — Microservices ให้ประโยชน์คือ Service เล็กตาม Business capability Deploy/Scale เป็นอิสระและ Own data ส่วนมีต้นทุนหรือสิ่งที่ต้องควบคุมคือ Network failure, Observability, Data consistency, Platform/Team maturity, Contract. Service boundary ให้ประโยชน์คือ ลด Coupling และให้ทีมรับผิดชอบ End-to-end ส่วนมีต้นทุนหรือสิ่งที่ต้องควบคุมคือ แบ่งตาม Entity CRUD อย่างเดียวอาจ Chattiness/Transaction ข้าม Service. Synchronous API ให้ประโยชน์คือ คําตอบทันที Flow เข้าใจง่าย ส่วนมีต้นทุนหรือสิ่งที่ต้องควบคุมคือ Temporal coupling, Timeout, Retry, Cascading failure.

Asynchronous messaging ให้ประโยชน์คือ Decouple เวลา Buffer load และรองรับ Event ส่วนมีต้นทุนหรือสิ่งที่ต้องควบคุมคือ Duplicate, Ordering, Lag, Poison message, Schema evolution. Event notification ให้ประโยชน์คือ บอกว่าเหตุเกิดและ Consumer ตัดสินไปอ่านต่อ ส่วนมีต้นทุนหรือสิ่งที่ต้องควบคุมคือ พึ่ง Source availability/เพิ่ม Call. Event-carried state transfer ให้ประโยชน์คือ Event มีข้อมูลที่ Consumer ต้องใช้มากขึ้น ส่วนมีต้นทุนหรือสิ่งที่ต้องควบคุมคือ Privacy, Staleness, Schema/Size และ Duplication. Event sourcing ให้ประโยชน์คือ เก็บ State change เป็น Event sequence แล้ว Project State ส่วนมีต้นทุนหรือสิ่งที่ต้องควบคุมคือ Replay, Version, Privacy/deletion, Debug และ Read model ซับซ้อน.

API และ Interface Contract — ส่วนต่อประสานเป็นข้อตกลงที่ต้องกําหนดรูปแบบข้อมูล ความหมาย เงื่อนไขก่อนและหลังดําเนินการ การพิสูจน์ตัวตน การอนุญาต ข้อผิดพลาด รุ่น ขีดจํากัด และความเข้ากันได้ให้ชัด RFC 9110 กําหนดความหมายของ HTTP โดยแยกการระบุทรัพยากรออกจากความหมายของเมธอด คําว่า safe หมายถึงผู้ใช้มิได้ร้องขอให้เปลี่ยนสถานะของต้นทาง ส่วน idempotent หมายถึงการส่งคําขอชนิดเดียวกันซ้ําหลายครั้งมีผลที่ตั้งใจต่อเซิร์ฟเวอร์เช่นเดียวกับส่งครั้งเดียว มิได้หมายความว่าคําตอบ บันทึก หรือผลข้างเคียงทุกชนิดต้องเหมือนกัน. Contract หมายถึง Operation/Message, Schema, Semantics, Error, Auth, Limit, Version และ SLA ต้องชัด. REST-style HTTP หมายถึง ใช้ Resource/Representation และ HTTP semantics อย่างสอดคล้อง; REST ไม่เท่ากับ JSON อย่างเดียว.

HTTP methods หมายถึง GET อ่าน, POST สร้าง/สั่งงาน, PUT แทน Representation, PATCH แก้บางส่วน, DELETE ลบตาม Contract. Safe/Idempotent หมายถึง Safe ไม่มุ่งเปลี่ยน State; Idempotent เรียกซ้ําแล้ว Intended effect เท่าเดิม แม้ Response/Log อาจต่าง. Status/error หมายถึง ใช้ Status code+Machine-readable error+Correlation id โดยไม่รั่ว Secret/Internal. Pagination/filter/sort หมายถึง กําหนด Stable ordering, Cursor/offset semantics, Limit และ Edge case. Versioning/evolution หมายถึง เพิ่มแบบ Backward-compatible เมื่อได้ แจ้ง Deprecation/Migration และวัด Consumer. Idempotency key หมายถึง ป้องกันผลซ้ําของคําขอที่ Retry ได้ โดย Scope/TTL/Response semantics ชัด.

จากขอบเขตระบบไปสู่สัญญาระหว่างส่วนประกอบ

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

เนื้อหาสรุปนี้จัดทำขึ้นเพื่อการศึกษาส่วนบุคคล ห้ามคัดลอก ทำซ้ำ หรือนำไปใช้เพื่อวัตถุประสงค์ทางการค้าโดยไม่ได้รับอนุญาต