วิชา วิศวกรรมซอฟต์แวร์ (Software Engineering)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
คำสั่งควบคุมในโปรแกรม Interactive C
Advertisements

ความรู้เบื้องต้นเกี่ยวกับภาษา c
การศึกษาและประยุกต์ใช้ขั้นตอนวิธีเชิง วิวัฒน์แบบหลายจุดประสงค์บนคลังข้อมูล เจเมทัล Study of Evolutionary Algorithm in Multi- objective on Library jMetal.
การจำลองความคิด รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
การทำงานแบบเลือกทำ (Selection)
บทที่ 7 รีเคอร์ซีฟ ระหว่างการออกแบบเขียนโปรแกรมแบบบนลงล่าง (Top-down Design) จะมีงานย่อย(Subtask) เพื่อแก้ปัญหาในแต่ละเรื่อง และผู้เขียนโปรแกรมต้องการใช้งานย่อยในลักษณะที่เรียกตัวเองขึ้นมาทำงาน.
Ordering and Liveness Analysis ลำดับและการวิเคราะห์บอกความ เป็นอยู่หรือความตาย.
Control structure part II
ภาษาคอมพิวเตอร์ กฎเกณฑ์เกี่ยวกับคำศัพท์ ไวยากรณ์ และ หลักภาษาในการเขียนคำสั่งงานให้คอมพิวเตอร์ทำงานอย่างใดอย่างหนึ่งให้กับเราได้ มีหลากหลายชนิดต่างๆ กัน.
การแก้ปัญหาด้วยคอมพิวเตอร์
บทที่ 2 หลักการแก้ปัญหา
บทที่ 3 พื้นฐานการเขียนโปรแกรม Visual Basic
บทที่ 4 การตัดสินใจในการเขียนโปรแกรม
หน่วยที่ 1 ระบบคอมพิวเตอร์
วิชา การออกแบบและพัฒนาซอฟต์แวร์
โครงสร้างควบคุม 1. โครงสร้างควบคุมแบบวนทางเลือก
บทที่ 1. พื้นฐานความรู้ทั่วไป
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
การจำลองความคิด
โครงสร้าง HTML โครงสร้างพื้นฐาน HTML คำสั่งขึ้นบรรทัดใหม่ <BR>
Surachai Wachirahatthapong
การออกแบบโปรแกรมอย่างมีโครงสร้าง Structured Design
SCC : Suthida Chaichomchuen
การเขียนผังงานแบบโครงสร้าง
บทที่ 1 หลักการเขียนโปรแกรมเชิงวัตถุ
บทที่ 7 รีเคอร์ซีฟ ระหว่างการออกแบบเขียนโปรแกรมแบบบนลงล่าง (Top-down Design) จะมีงานย่อย(Subtask) เพื่อแก้ปัญหาในแต่ละเรื่อง และผู้เขียนโปรแกรมต้องการใช้งานย่อยในลักษณะที่เรียกตัวเองขึ้นมาทำงานลักษณะของฟังก์ชั่นมีความรอบรัดสั้นกว่าแบบวนลูป.
คำสั่งควบคุมการทำงาน
Lecture 7 ฟังก์ชัน To do: Hand back assignments
การเขียนโปรแกรมภาษาซี
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 15 มิถุนายน 2550 Structure Programming มหาวิทยาลัยเนชั่น.
บทที่ 11 การเขียนโปรแกรมแบบ Structured Programming และการจัดการตรวจสอบข้อผิดพลาด.
วิธีการทางคอมพิวเตอร์
หลักการวิเคราะห์และออกแบบระบบฐานข้อมูล
การออกแบบและการวิเคราะห์อัลกอริทึม
การใช้งาน access เบื้องต้น
โปรแกรมภาษาจาวาเบื้องต้น Basic Java Programming 3(2-2-5)
การเขียนผังงาน จุดประสงค์ 1.อธิบายความของผังงานได้
Flow Chart INT1103 Computer Programming
ที่ใช้ใน Object-Oriented Design
Week 3 Flow Control in PHP
โครงสร้างข้อมูลคืออะไร ?
Chapter 16 / Unit 77 : VB : Subprogram & Function Senior Cybernaut ศูนย์การศึกษาต่อเนื่องแห่ง จุฬาลงกรณ์มหาวิทยาลัย SL102017/04C /ISSUE2.
คำสั่งควบคุม การทำงานของโปรแกรม ในภาษา PHP
เรื่องหลักการแก้ปัญหา
2.1 วิธีแก้ปัญหาด้วยคอมพิวเตอร์ (Computer problem solving methods)
2.3.1 รหัสเทียม (Pseudo code)
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
หลักการเขียนโปรแกรม ( )
หลักการเขียนโปรแกรม ( )
การเขียนโปรแกรมเบื้องต้น
หลักการเขียนโปรแกรม ( )
การจัดการฐานข้อมูล.
โปรแกรมฐานข้อมูลที่นิยมใช้
WATTANAPONG SUTTAPAK SOFTWARE ENGINEERING, SCHOOL OF INFORMATION COMMUNICATION TECHNOLOGY, UNIVERSITY OF PHAYAO Chapter 4 analysis of algorithm efficiency.
PHP การตรวจสอบเงื่อนไข.
หลักการแก้ปัญหา.
การเขียนซูโดโค้ด และการเขียนโฟลชาร์ต
รู้จักกับ Microsoft Access 2003
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
โครงสร้าง ภาษาซี.
Software ซอฟต์แวร์.
WBI คืออะไร   WBI หรือ Web Base Instruction เป็นการจัดกิจกรรมการสอนใน รูปแบบของ Web Knowledge Based โดยใช้เทคโนโลยีทางของ Webpage เป็นศูนย์กลางในการนำเสนอเนื้อหา.
หลักการเขียนโปรแกรมเบื้องต้น
การเขียนผังงาน ผังงาน (Flowchart)
Powerpoint Templates Page 1 Powerpoint Templates Selection Structure โครงสร้างการทำงานแบบทางเลือก.
การแบ่งแยกและเอาชนะ Divide & Conquer
การแบ่งแยกและเอาชนะ Divide & Conquer
บทที่ 5 โปรแกรมย่อย.
Computer Program คือ ขั้นตอนการทำงาน ของคอมพิวเตอร์
บทที่ 7 การสร้างและการใช้งาน ฟังก์ชัน อาจารย์ชนิดา คำเพ็ง สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาศาสตร์ และเทคโนโลยี
ใบสำเนางานนำเสนอ:

วิชา 4122309 วิศวกรรมซอฟต์แวร์ (Software Engineering) หลักการออกแบบและพัฒนาซอฟต์แวร์ หลั

พื้นฐานทั่วไปของการออกแบบซอฟต์แวร์ หลักการเดิมที่นิยมใช้ในการออกแบบซอฟต์แวร์หรือโปรแกรมจะเป็นแบบ จากบนลงล่าง (Top-Down Design) ซึ่งสะดวกต่อการทำความเข้าใจและ ตรวจสอบ นอกจากนี้ยังมีในลักษณะอื่นๆ ดังนี้ การออกแบบจากล่างขึ้นบน (Bottom-Up Design) วิธีกระจายออกจากด้านใน (Inside-Out Design)

โปรแกรมย่อย (Subprogram) และโมดูล (Module) โปรแกรมย่อยมีการเรียกกันหลายชื่อตามลักษณะของภาษานั้น ๆ เช่น อาจ เรียกว่าฟังก์ชั่น (Function) ในภาษา C หรือ Procedure (ภาษา PACAL) โมดูล (Module) หมายถึง ส่วนประกอบของโปรแกรมซึ่งอาจอยู่ในรูปของ โปรแกรมย่อย (Subprogram) ก็ได้และสามารถทดสอบได้อย่างอิสระ โดย โมดูลนั้นมีภารกิจอย่างใดอย่างหนึ่งโดยเฉพาะ ยิ่งมีความเป็นอิสระและทำ ภารกิจได้เสร็จสมบูรณ์ในตัวมันเองโดยที่ไม่ผูกพันกับโมดูลอื่นๆ (High Cohesion) ยิ่งดี และ Low Coupling

แนวทางการออกแบบพัฒนาซอฟต์แวร์ ต้องเข้าใจปัญหาหรือความต้องการ และเข้าใจอัลกอริทึมที่จะนำมาใช้ แก้ปัญหานั้นเป็นอย่างดี ใช้กฎการแบ่งแยกแล้วเอาชนะ (Divide and Conquer) ในกรณีที่เป็นปัญหา ยุ่งยากซับซ้อน ให้ใช้วิธีแยกย่อยปัญหา นั้นออกเป็นส่วนย่อยๆ แล้วหาทาง แก้ปัญหาแต่ละส่วนจะทำให้แก้ปัญหาทั้งหมดได้ง่ายขึ้น โดยการแตกโปรแกรม ออกเป็นส่วนย่อยๆ แต่ละส่วนยิ่งเป็นอิสระต่อกันมากเท่าไร ยิ่งลดความซับซ้อนของระบบได้มากขึ้น เท่านั้น

แนวทางการออกแบบพัฒนาซอฟต์แวร์ (ต่อ) เขียนโปรแกรมภายใต้เงื่อนไขและข้อกำหนดตามที่ออกแบบไว้ เขียนโปรแกรมให้อยู่ในรูปแบบที่เป็นมาตรฐานซึ่งทำให้สะดวกในการตรวจสอบ ควรเลือกใช้โครงสร้างข้อมูลที่ไม่สลับซับซ้อนสะดวกต่อการทำความเข้าใจ และ สามารถเข้ากับการทำงานของโปรแกรมได้เป็นอย่างดี หากไม่จำเป็นไม่ควรเขียนโปรแกรมเพื่อทำงานในระดับบิต ในการปรับปรุงพัฒนาโปรแกรมให้ดีขึ้น ไม่ควรเริ่มจากการปรับปรุงคำสั่ง แต่ ควรเริ่มจากการเลือกหรือปรับปรุงอัลกอริทึมให้ดีขึ้น ในส่วนของคำสั้ง (if, while, do) ที่ซับซ้อน หรือ (if-else) ควรเปลี่ยนเป็นใช้ คำสั่ง switch แทน