Tuesday, September 22, 2009

ควารู้เบื้องต้นเกียวกับคอมพิวเตอร์และการเขียนโปรแกรม(4)

บทที่ 3 โครงสร้างควบคุม (หน้าที่ 35 - 69)

ตามข้อกำหนดมาตรฐานของสถาบัน ANSI (American National Standards Institute) กำหนดให้ภาษา C มีคำสั่งควบคุมการทำงานของโปรแกรม ซึ่งมีอยู่ 3 กลุ่มคำสั่งดังนี้

คำสั่งกลุ่มที่ 1 คำสั่งวนลูปหรือทำงานซ้ำ

คำสั่งวนลูป (Loop) เป็นคำสั่งที่สามารถควบคุมโปรแกรมให้ทำงานเป็นจำนวนรอบตามที่เรากำหนดไว้ หรือทำงานจนกว่าเงื่อนไขที่กำหนดไว้เป็นเท็จ จึงจะออกจากคำสั่งวนลูปได้

คำสั่งและความหมายของคำสั่ง

ตัวอย่าง Source code

ผลลัพธ์เมื่อแสดงบนจอภาพ

3.1 for เป็นคำสั่งที่สั่งให้โปรแกรมมีการทำงานซ้ำๆ วน loop จนกว่าเงื่อนไขที่กำหนดไว้เป็นเท็จ

for (number = 1; number <= 4 ; number++)

printf(“%d ”, number );

1 2 3 4

3.2 while เป็นคำสั่งที่มีลักษณะการทำงานคล้ายกับคำสั่ง for แต่ต้องมีเงื่อนไขที่เป็นเท็จจึงจะออกจาก loop

int n = 1;

while ( n < 4 )

{ n = n + 1 ; printf(“%d ”, n); }

1 2 3

3.3 do while เป็นคำสั่งที่มีลักษณะการทำงานคล้ายกับคำสั่ง while แต่จะทดสอบเงื่อนไขหลังจากที่ได้ทำงาน

ตามคำสั่งภายใน loop ไปแล้ว 1 รอบ

int n = 1;

do { n = n + 1 ; printf(“%d ”, n); }

while ( n < 4 );

1 2 3

3.4 break เป็นคำสั่งที่สั่งให้ออกจากคำสั่ง for หรือ while หรือ do while หรือ คำสั่ง switch

for (num = 1; num <= 10 ; num++)

{ printf(“%d ”, num );

if( num == 5) break; }

1 2 3 4 5

3.5 continue เป็นคำสั่งที่สั่งให้กลับไปทำงานที่คำสั่งแรกของลูปคำสั่ง for หรือ while หรือ do while ทำให้มีการทำงานในรอบต่อไป

for (num = 1; num <= 10 ; num++)

{ printf(“%d ”, num );

if( num == 5)

{ num = num+2; continue; } }

1 2 3 4 5 8 9 10

คำสั่งกลุ่มที่ 2 คำสั่งทดสอบเงื่อนไขเพื่อการตัดสินใจ (decision statements)

คำสั่งทดสอบเงื่อนไขเพื่อการตัดสินใจ เป็นคำสั่งที่มีการทดสอบเงื่อนไขก่อนที่จะทำงานตามคำสั่ง

ที่กำหนดไว้ ซึ่งมีรายละเอียดแต่ละคำสั่งดังนี้

คำสั่งและความหมายของคำสั่ง

ตัวอย่าง Source code

ผลลัพธ์

3.6 if เป็นคำสั่งที่ใช้ทดสอบเงื่อนไข โดยมีการตัดสินใจแบบ 1 ทางเลือก

ถ้าเงื่อนไขเป็นจริงให้ทำตามคำสั่งที่อยู่ภายใน if ถ้าเป็นเท็จให้ทำคำสั่งถัดไป

if (num == 9)

{ printf(“Yes = 9”); }

input number = 9 :

Yes = 9

3.7 if else คำสั่งที่ใช้ทดสอบเงื่อนไข โดยมีการตัดสินใจแบบ 2 ทางเลือก

if (num == 9) { printf(“Yes = 9”); }

else { printf(“Not 9”); }

input number = 7 : Not 9

input number = 9 : Yes= 9

3.8 if else if หรือ หรือ nested if หรือ if เชิงซ้อนคือ คำสั่งที่ใช้ทดสอบเงื่อนไข โดยมีการตัดสินใจที่ซับซ้อนมากกว่า 2 ทางเลือกขึ้นไป

if (num == 9) { printf(“Yes = 9”); }

else if (num == 8) { printf(“Yes = 8”); }

else { printf(“Not 9 and Not 8”); }

input number = 8 : Yes = 8

input number = 9 : Yes= 9

input number = 7 : Not 9 and Not 8

3.9 switch คำสั่งที่ใช้ทดสอบเงื่อนไขคล้ายๆกับคำสั่ง if else if และสำหรับตัดสินใจมากกว่า 2 ทางเลือกขึ้นไป แต่มีรูปแบบการใช้คำสั่งง่ายกว่าและสดวกในการแก้คำสั่งเมื่อมีข้อผิดพลาดเกิดขึ้น

3.9.1 case คือ คำสั่งที่ใช้ร่วมกับคำสั่ง switch เพื่อใช้ตรวจสอบเงื่อนไข

3.9.2 default คำสั่งที่ใช้ร่วมกับคำสั่ง switch ใช้ในกรณีที่นิพจน์หรือค่าคงที่ไม่ตรงกับเงื่อนไขใดๆ เลย

printf(“Enter Grade :\n”);

scanf(“%c”, &grade);

switch ( grade )

{ case ‘a’ : num = 4; break;

case ‘b’ : num = 3; break;

case ‘c’ : num = 2; break;

case ‘d’ : num = 1; break;

default : num = 0;

}

printf(“Number = %d \n\n”, num);

Enter Grade : b

Number = 3

Enter Grade : a

Number = 4

Enter Grade : z

Number = 0

คำสั่งกลุ่มที่ 3 คำสั่งที่สั่งไปทำงานตามจุดที่กำหนดไว้ (goto statements)

คำสั่ง goto และ label จะทำให้โปรแกรมข้ามคำสั่ง อื่นๆ เพื่อไปทำคำสั่งที่ต้องการ โดยอาจมีเงื่อนไขหรือไม่มีเงื่อนไขก็ได้

คำสั่งนี้จะไม่ใช้ในหลักสูตรการเขียนโปรแกรมคอมพิวเตอร์ และหลักการเขียนโปรแกรมด้วย C โดยทั่วไปแล้วไม่นิยมใช้คำสั่ง goto

เพราะเป็นคำสั่งที่ทำให้การเขียนโปรแกรมไม่เป็นระเบียบ และผิดโครงสร้างทางอัลกอริทึ่มอีกด้วย

คำสั่งนี้จะใช้ในกรณีพิเศษเท่านั้นเช่น การข้ามขั้นตอนการทำงานในบางกรณี การย้อนกลับไปจุดเริ่มต้นหรือจุดสิ้นสุดการทำงานของโปรแกรม เป็นต้น

แบบฝึกหัดบทที่ 3

1. คำสั่งที่ใช้ทดสอบเงื่อนไข โดยมีการตัดสินใจแบบ 2 ทางเลือก คือคำสั่งอะไร ..............................................

2. คำสั่งที่มีลักษณะการทำงานคล้ายกับคำสั่ง while แต่จะทดสอบเงื่อนไขหลังจากที่ได้ทำงาน

ตามคำสั่งภายใน loop ไปแล้ว 1 รอบ คือคำสั่งอะไร ..............................................

3. คำสั่งที่ใช้ร่วมกับคำสั่ง switch ใช้ในกรณีที่นิพจน์หรือค่าคงที่ไม่ตรงกับเงื่อนไขใดๆ เลย คือคำสั่งอะไร ...............

ควารู้เบื้องต้นเกียวกับคอมพิวเตอร์และการเขียนโปรแกรม(3)

บทที่ 3
การวิเคราะห์และออกแบบระบบในระดับภาพรวม ( System Analysis and Design in Context Diagram level : SA )
ขอบเขตในการเรียนการวิเคราะห์และออกแบบระบบเบื้องต้นทั้งในภาคเรียนที่ 1 และภาคเรียนที่ 2 การวิเคราะห์และออกแบบระบบรวมไปถึงการออกแบบจอภาพ จัดอยู่ในกลุ่มของขั้นตอนการวิเคราะห์ปัญหา เป็นสิ่งที่สำคัญมากในการเริ่มต้นวางแผนการสร้างและพัฒนาโปรแกรม ซึ่งเนื้อหาของเรื่องนี้ ถ้าเรียนในระดับมหาวิทยาลัยค่อนข้างยากมากเนื่องจากต้องใช้ประสบการณ์ในการแก้ปัญหาในระบบงานที่ซับซ้อนมากๆ เช่น ระบบสินค้าคงคลัง ระบบธนาคาร ฯลฯ และ SA ก็มีส่วนช่วยส่งเสริมการเรียนวิชาเขียนโปรแกรม 1 ตามหลักสูตรได้อย่างมีประสิทธิภาพ ในการเรียน SA เบื้องต้นในระดับมัธยมศึกษาจึงแบ่งออกเป็น 2 ระดับหรือ 2 ภาคเรียน ตามเนื้อหาความยากง่ายดังนี้ 1. การวิเคราะห์และออกแบบระบบในระดับภาพรวม จะกล่าวถึงบทนำ ความหมาย สัญลักษณ์ต่างๆ ของ SA เพื่อนำไปใช้ในการสร้างและพัฒนาระบบสารสนเทศอย่างง่าย ไม่ซับซ้อน เขียน SA ในภาพรวม (Context Diagram) 2. การวิเคราะห์และออกแบบระบบในระดับย่อย จะกล่าวถึงการเขียน SA โดยนำ Context Diagram มาใช้ในการสร้างและพัฒนาระบบสารสนเทศอย่างละเอียด และมีความซับซ้อนสูงขึ้น คือเขียน SA ในระดับย่อย (Level 0)ภาคทฤษฎีของการวิเคราะห์และออกแบบระบบในระดับภาพรวม บทนำทั่วไป การเขียนโปรแกรมใดๆ ก็ตามหากปราศจากการวิเคราะห์ระบบของงาน หรือเขียนโปรแกรมโดยไม่มีการวางแผนการทำงานของระบบ จะทำให้การดำเนินงานในด้านการเขียนโปรแกรมนั้นเป็นไปด้วยความยากลำบาก สื่อสารกันถึงขอบเขตและความต้องการของระบบนั้นยาก เช่น ผู้ใช้งาน ต้องการซอฟแวร์ประยุกต์ชื่อโปรแกรมหาพื้นที่สี่เหลี่ยมผืนผ้า ถ้าผู้เขียนโปรแกรมไม่วิเคราะห์และออกแบบระบบ เมื่อนำไปเขียนโปรแกรมจริงๆ ก็เขียนอย่างไม่มีขอบเขต ไม่รู้ว่าในโปรแกรมที่ต้องการสร้างมีระบบงานอะไรบ้าง เมื่อเขียนโปรแกรมเสร็จแล้วนำเสนอผู้ใช้งาน อาจจะทำให้ผู้ใช้งานไม่พอใจหรือไม่ตรงตามต้องการในโปรแกรมที่เราสร้างขึ้นมาได้ง่าย ถึงแม้ว่าเราจะคิดว่าโปรแกรมที่เราสร้างขึ้นมานี้ถูกต้อง มีคุณภาพสูง หรือดีแค่ไหนก็ตาม ในที่สุดก็ต้องกลับมาแก้ไขโปรแกรมอย่างนี้ไปเรื่อยๆ อย่างไม่มีเป้าหมายที่ชัดเจน รวมทั้งยากต่อการพัฒนาระบบงานต่อไปได้ การที่เราจะเขียนโปรแกรมได้ตามความต้องการของผู้ใช้งานและสามารถสื่อสารในงานด้านต่างๆ กับนักโปรแกรมเมอร์ด้วยกันเองได้เข้าใจง่ายนั้น ต้องอาศัยเครื่องมือที่ช่วยในการสร้างและพัฒนาระบบสารสนเทศ นั่นก็คือ การวิเคราะห์และออกแบบระบบ (System Analysis and Design) ในวงการคอมพิวเตอร์มักจะเรียกสั้นๆว่า SA

ความหมายของการวิเคราะห์และออกแบบระบบ ระบบ (System) คือกลุ่มขององค์ประกอบต่างๆ ที่ทำงานร่วมกันเพื่อจุดประสงค์อันเดียวกัน ระบบอาจจะประกอบด้วย บุคคลากร เครื่องมือ เครื่องใช้ พัสดุ วิธีการ ซึ่งทั้งหมดนี้จะต้องมีระบบจัดการอันหนึ่ง เพื่อให้บรรลุจุดประสงค์อันเดียวกัน เช่น ระบบการเรียนการสอน มีจุดประสงค์เพื่อให้นักเรียนได้รับความรู้ในเนื้อหาวิชาที่สอน การวิเคราะห์ระบบ (System Analysis) คือ การหาขอบเขต (Scope) และความต้องการ (Requirements) ของระบบสารสนเทศว่าคืออะไร หรือต้องการเพิ่มเติมอะไรเข้ามาในระบบ การออกแบบระบบ (System Design) คือ การนำสิ่งที่วิเคราะห์ระบบมาแล้ว นำมาเขียนเป็นแผนภาพแสดงกระแสข้อมูล แผนภาพแสดงกระแสข้อมูล (Data Flow Diagram : DFD) คือ เครื่องมือที่ใช้ในการเขียนระบบเป็นแผนภาพตามที่วิเคราะห์ระบบไว้แล้ว เพื่อสื่อให้นักโปรแกรมเมอร์ได้เข้าใจกระบวนการทำงานของระบบได้ง่ายขึ้น นักวิเคราะห์ระบบ (System analyst) คือ มีหน้าที่วางแผน ออกแบบ และวิเคราะห์งานคอมพิวเตอร์ นักวิเคราะห์ระบบจะทำงานร่วมกับผู้ใช้งานและโปรแกรมเมอร์ โดยการสอบถามความต้องการของผู้ใช้ ว่าต้องการโปรแกรมหรือ ระบบงานคอมพิวเตอร์ในลักษณะใด จากนั้นนักวิเคราะห์ระบบจะทำการวิเคราะห์และออกแบบระบบงานคอมพิวเตอร์ ให้ตรงกับความต้องการของผู้ใช้เพื่อมอบให้นักเขียนโปรแกรมทำการเขียนโปรแกรม เพื่อนำมาพัฒนาเป็นระบบงานต่อไป นักวิเคราะห์ระบบที่ดีควรจะต้องมีความรู้พื้นฐานในการเขียนโปรแกรมด้วย ตัวอย่างกรณีศึกษาในการรับสมัคร SA ของงานเวชสารสนเทศ คณะแพทยศาสตร์โรงพยาบาลรามาธิบดี รับสมัครพนักงานด้านสาขาคอมพิวเตอร์บรรจุเป็นพนักงานมหาวิทยาลัย ดังนี้ - รับสมัครนักวิเคราะห์ระบบงานคอมพิวเตอร์ (System Analyst) 2 อัตรา หน้าที่ความรับผิดชอบ : วิเคราะห์ออกแบบระบบงานคอมพิวเตอร์ทางด้านระบบบัญชีการเงิน ระบบจัดซื้อจัดจ้าง ทะเบียนพัสดุ และระบบทะเบียนบุคลากรหรือว่าวิเคราะห์ออกแบบระบบโรงพยาบาล วุฒิการศึกษา : ปริญญาตรีหรือโทสาขา Computer Science หรือสาขาที่เกี่ยวข้อง ประสบการณ์ : 1. มีประสบการณ์วิเคราะห์ระบบไม่ต่ำกว่า 2 ปี สามารถวางแผน, วิเคราะห์, ออกแบบ, ประเมินผลและจัดทำเอกสาร 2. มีความรู้ภาษาอังกฤษเป็นอย่างดี .... ........... อัตราเงินเดือน : 30,000 – 40,000 บาท (ขึ้นกับประสบการณ์) อ้างอิงจาก http://www.ra.mahidol.ac.th/faculty/thai/download/mi_dt.doc หรือค้นหาจาก Google คำว่า “นักวิเคราะห์ระบบ+เงินเดือน”สัญลักษณ์และการเขียนแผนภาพแสดงกระแสข้อมูล (Data Flow Diagram : DFD) DFD มีองค์ประกอบ 4 อย่าง ซึ่งใช้สัญลักษณ์ต่าง ๆ แทนดังต่อไปนี้ DFD มีองค์ประกอบ 4 อย่าง ซึ่งใช้สัญลักษณ์ต่าง ๆ แทนดังต่อไปนี้ ที่ ชื่อสัญลักษณ์ ภาพสัญลักษณ์ ความหมาย การกำหนดชื่อและการเขียน ภาพสัญลักษณ์ 1. การประมวลผล (Process) คือ การเปลี่ยนข้อมูลนำเข้ามาเป็นผลลัพธ์ นั่นหมายความว่า จะต้องมีการกระทำบางอย่างต่อข้อมูลทำให้เกิดผลลัพธ์ ควรมีความหมายที่แน่นอน หรือควรจะใช้คำกริยาที่มีการกระทำต่างๆ เช่น คำนวณ แก้ไข แสดงผล เป็นต้น ตัวอย่างเช่น คำนวณสี่เหลี่ยม , แสดงรูปสี่เหลี่ยม, แสดงผลลัพธ์ เป็นต้น 2. สิ่งที่อยู่นอกระบบ ( External ) สิ่งที่เราไม่สนใจการทำงานภายในของสิ่งที่อยู่นอกระบบ ถึงแม้ว่าจะมีการติดต่อผ่านทางข้อมูล การตั้งชื่ออาจจะเป็นตัวบุคคล หรือองค์กรต่างๆ หากไม่ทราบสิ่งที่อยู่นอกระบบ ให้กำหนดเป็นผู้ใช้งานทั่วไป (User) ก็ได้ การเขียนสิ่งที่อยู่นอกระบบอาจจะเป็นที่ส่งข้อมูลเข้าสู่ระบบ หรืออาจจะเป็นที่รับข้อมูลจากระบบก็ได้ 3. กระแสข้อมูล ( Data Flow ) ข้อมูลที่ไหลระหว่าง Process ต่าง ๆ และอาจเคลื่อนที่มาจาก External ก็ได้ การตั้งชื่อข้อมูลแต่ละอันหรือกลุ่มข้อมูล ควรจะมีชื่อของตัวเองที่ไม่เหมือนกัน ควรหลีกเลี่ยงใช้ชื่อที่กว้างเกินไป เช่น "ข้อผิดพลาด" เพราะว่าในระบบหนึ่งๆ อาจจะมี "ข้อผิดพลาด" เกิดขึ้นหลายๆ แห่ง เราควรใช้ชื่อเฉพาะเจาะจงมากกว่านี้ เช่น "เลขที่ลูกค้าไม่ถูกต้อง" "ไม่มีสินค้านี้ในคลัง" เป็นตัน รายละเอียดเหล่านี้ออกให้ชัดเจนการเขียน ข้อมูลที่ไหลไม่เหมือนกันควรเขียนแยกลูกศรด้วย ขั้นตอนการวิเคราะห์และออกแบบระบบเบื้องต้นในระดับภาพรวม (ในระดับมัธยมศึกษา ) 1.การวิเคราะห์ขอบเขตของระบบ 1.1 วิเคราะห์ขอบเขตของระบบ (Scope) คือ การกำหนดระบบงานหลักในภาพรวม หรือระบบงานกว้างๆ ว่าเราต้องจะทำอะไรที่มีจุดประสงค์เป็นอันหนึ่งอันเดียวกัน 1.2 วิเคราะห์สิ่งที่อยู่นอกระบบ (External ) คือ การวิเคราะห์องค์ประกอบที่อยู่นอกขอบเขตของระบบว่ามีองค์ประกอบใดบ้าง ซึ่งเราจะไม่สนใจการทำงานนอกระบบที่ไม่ต้องการ แต่องค์ประกอบเหล่านี้มีการติดต่อกันระหว่างระบบภายในระบบกับภายนอกระบบ หากเราไม่สามารถวิเคราะห์ External เนื่องจากขาดประสบการณ์ในการวิเคราะห์ระบบ อาจจะกำหนดให้ External นี้คือ ผู้ใช้งานทั่วไป (User) ก็ได้ 2. การออกแบบระบบ การเขียน DFD ของ Context Diagram หรือการเขียนขอบเขตของระบบ คือ การตั้งชื่อขอบเขตของระบบมากำหนดข้อมูล (Data) และสารสนเทศ (Information) ว่ามีการนำข้อมูลนำเข้ามาในระบบมีอะไรบ้าง และเมื่อข้อมูลนั้นผ่านกระบวนการต่างๆ แล้วจะออกมาเป็นผลลัพธ์อะไรบ้าง ในลักษณะสารสนเทศอย่างไร ดังรูปแบบการเขียนดังนี้




การวิเคราะห์และออกแบบระบบเพื่อนำมาใช้ในการออกแบบจอภาพของคอมพิวเตอร์ ความรู้เกี่ยวกับจอภาพของคอมพิวเตอร์ จอภาพของคอมพิวเตอร์เป็นไปได้ทั้งตัวรับข้อมูลและแสดงผลลัพธ์ จอภาพมีประโยชน์สำหรับแสดงผลลัพธ์ ในกรณีที่เราไม่ต้องการพิมพ์รายงานบนกระดาษ แต่ต้องการดูผลอะไร บางอย่าง เช่น ดูผลลัพท์ที่ได้จากการคำนวณหาพื้นที่สี่เหลี่ยมผืนผ้า เป็นต้น นอกจากนั้นปัจจุบันเราก็นิยมพิมพ์ข้อมูลเข้าหรืออินพุตผ่านทางหน้าจอ เช่น ป้อนข้อมูลความกว้าง ของพื้นที่สี่เหลี่ยมผืนผ้า เป็นต้น ปกติหน้าจอคอมพิวเตอร์มีขนาด 80*25 (25 บรรทัด บรรทัดละ 80 ตัวอักษร) ดังนั้นเราจะมีจำนวนจำกัดในการแสดงข้อความบนจอ หลักการออกแบบจอภาพเบื้องต้นสำหรับการเขียนโปรแกรมด้วยโปรแกรมแปลภาษาซี เนื่องจากการเรียนวิชาเขียนโปรแกรม 1 มีขอบเขตในการเรียนรู้เฉพาะในส่วนการรับข้อมูลผ่านคีย์บอร์ดและไม่สามารถแสดงผลในลักษณะกราฟิกหรือรูปภาพได้ จึงควรศึกษาหลักการออกแบบจอภาพตามลักษณะการแสดงผลดังนี้ - ในกรณีที่ต้องป้อนข้อมูลผ่านคีย์บอร์ด ถ้าโปรแกรมมีหลายทางเลือก ควรสร้างเมนูเป็นรายการต่างๆ หรือสร้างเงื่อนไขให้ผู้ใช้กดแป้นคีย์บอร์ดตามต้องการ เช่น โปรแกรมถามผู้ใช้งานว่า ต้องการออกจากโปรแกรมหรือไม่ ถ้าผู้ใช้กดแป้นคีย์ y หมายถึงออกจากโปรแกรม ถ้าผู้ใช้ไม่ต้องการออกจากโปรแกรมให้กดแป้นคีย์ n เป็นต้น - ในกรณีแสดงรูปภาพหรือภาพกราฟิก บางกรณีผู้เขียนโปรแกรมต้องการออกแบบหน้าจอให้มีการแสดงรูปภาพ หรือกราฟิก อาจจะสร้างสัญลักษณ์ต่างๆ มาประกอบกันเป็นรูปภาพได้ เช่น สร้างเครื่องหมายดอกจันเป็นรูปต่างๆ เป็นต้น - ในกรณีที่ต้องออกแบบจอภาพแบบซับซ้อน บางกรณีระบบงานบางระบบมีความซับซ้อนมาก เช่น มีเงื่อนไขจำนวนมาก นักเขียนโปรแกรมควรปรึกษากับนักวิเคราะห์ระบบเพื่อหาแนวทางการออกแบบที่ถูกต้องและเข้าใจตรงกัน บทสรุปเกี่ยวกับบทที่ 2 การวิเคราะห์และออกแบบระบบเบื้องต้น ความรู้ในการวิเคราะห์และออกแบบระบบมีความสำคัญ เพราะเป็นปัจจัยในการสร้างและพัฒนาระบบสารสนเทศ ทำให้เรารู้ถึงขอบเขตของงาน รู้ว่าเราจะทำอะไร มีความต้องการทำอะไรบ้างภายในขอบเขตของงานนั้น โดยเริ่มตั้งแต่การวิเคราะห์ขอบเขตของระบบ การเขียน Context Diagram เพื่อที่จะสามารถสื่อสารกับนักเขียนโปรแกรมได้อย่างเข้าใจ จนนำไปสู่การสร้างโปรแกรมได้ตามเป้าหมายและเป็นที่พอใจของผู้ใช้งาน บทส่งท้าย เนื้อหาในเรื่อง การวิเคราะห์และออกแบบระบบในระดับภาพรวมนี้ เป็นเนื้อหาอย่างง่ายในการศึกษาทำความเข้าใจเกี่ยวกับ SA เบื้องต้น เป็นพื้นฐานสำคัญในการเรียนเรื่องการวิเคราะห์และออกแบบระบบในระดับย่อย ที่มีความซับซ้อนในระดับสูงต่อไปในภาคเรียนที่ 2 ภาคปฏิบัติของการวิเคราะห์และออกแบบระบบในระดับภาพรวม ในส่วนของภาคปฏิบัติของการวิเคราะห์และออกแบบระบบเบื้องต้นนี้ จะยกตัวอย่างเป็นกรณีศึกษาปัญหาของระบบหาพื้นที่สี่เหลี่ยมผืนผ้า ดังต่อไปนี้ โจทย์ปัญหาของระบบ : ผู้ใช้งานมีปัญหาในการหาพื้นที่สี่เหลี่ยมผืนผ้า โดยการนำข้อมูลเกี่ยวกับความกว้างและความยาวมาใช้ในการประมวลผล 1.การวิเคราะห์ขอบเขตของระบบ 1.1 ขอบเขตของระบบ คือ คำนวณหาพื้นที่สี่เหลี่ยมผืนผ้า 1.2 นอกระบบ ได้แก่ ผู้ใช้งาน 2. การออกแบบระบบ ผลลัพธ์ของพื้นที่สี่เหลี่ยมผืนผ้า 2.1 การเขียน Context Diagram (วิเคราะห์ขอบเขตของระบบ)


3. การอธิบายขอบเขตและความต้องการของระบบหาพื้นที่สี่เหลี่ยมผืนผ้า 3.1 ขอบเขตของระบบใน DFD ของ Context Diagram อธิบายได้ว่า มีการรับข้อมูลความกว้างและความยาวเข้าไปในระบบหาพื้นที่สี่เหลี่ยมผืนผ้า จนได้ข้อสารสนเทศเป็นผลลัพธ์ของพื้นที่สี่เหลี่ยมผืนผ้า ตัวอย่างการออกแบบจอภาพของระบบหาพื้นที่สี่เหลี่ยมผืนผ้า

Program square Type width = 3 Type length = 5 Result area of square = 15

ควารู้เบื้องต้นเกียวกับคอมพิวเตอร์และการเขียนโปรแกรม(2)

บทที่ 2

ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรมคอมพิวเตอร์

ความหมายของคำว่า การเขียนโปรแกรมคอมพิวเตอร์โดยใช้โปรแกรมแปลภาษาซี

การเขียนโปรแกรม

คือ การวางแผนเพื่อกำหนดขั้นตอนวิธีเพื่อใช้แก้ปัญหา

การเขียนโปรแกรมคอมพิวเตอร์

คือ กระบวนการใช้ ภาษาคอมพิวเตอร์ เพื่อกำหนดโครงสร้างของคำสั่งภายในโปรแกรม ตามขั้นตอนวิธีที่ออกแบบไว้

โปรแกรมแปลภาษาคอมพิวเตอร์

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

1. แอสเซมเบลอร์ (Assembler) เป็นโปรแกรมแปลภาษาแอสเซมบลีให้เป็นภาษาเครื่อง

2. คอมไพเลอร์ (compiler) หรือ ตัวแปลโปรแกรม ทำหน้าที่แปลโปรแกรมต้นฉบับ (source program) โดยแปลคราวเดียวทั้งโปรแกรมให้เป็นภาษาเครื่องและสร้างเป็น Object program เมื่อมีการเรียกใช้โปรแกรม จะเรียก Object program มาใช้งานได้ทันที เช่น Borland Turbo Pascal , Borland Turbo C++

3. อินเทอร์พรีเตอร์ (Interpreter) หรือ ตัวแปลคำสั่ง ทำหน้าที่แปลโปรแกรมในภาษาระดับสูงให้เป็นภาษาเครื่องครั้งละ 1 คำสั่ง ในแต่ละคำสั่งจะถูกแปลและปฏิบัติตามคำสั่ง หากมีคำสั่งผิด จะหยุดให้แก้ไขจนกว่าจะถูกต้อง จึงจะแปลคำสั่งต่อไป โปรแกรมจะประมวลผลต่อเนื่องไปจนกว่าจะจบโปรแกรม เมื่อนำโปรแกรมมาใช้งานใหม่จะต้องแปลใหม่ทุกครั้งเพราะอินเทอร์พริทเตอร์ไม่มีการสร้าง Object program เหมือนการใช้คอมไพเลอร์ เช่น Borland Turbo Basic

ภาษาคอมพิวเตอร์ คือ ภาษาที่ใช้สั่งงานคอมพิวเตอร์ ให้ทำงานตามที่ต้องการ แบ่งเป็น 3 ระดับ

1. . ภาษาเครื่อง (Machine Language) เป็นภาษาที่สามารถสั่งให้เครื่องคอมพิวเตอร์ ทำงาน ได้ทันที โดยเขียนอยู่ในรูปของ รหัสของระบบเลขฐานสอง ประกอบด้วยเลข 0 และเลข 1 ที่นำมาเขียน

ติดต่อกัน เช่น 10110000 00000101

2. ภาษาระดับต่ำ (Low-level Language) เป็นภาษาที่มีการปรับปรุงมาจากภาษาเครื่อง ให้สามารถเข้าใจได้ง่ายขึ้น มีการใช้ตัวอักษรแทนตัวเลขฐานสอง เช่น ADD A,B เป็นต้น ตัวอย่าง ภาษาระดับต่ำ เช่นภาษาแอสเซมบลี (Assembly Language)

3. ภาษาระดับสูง

(High-level Language) เป็นภาษาที่สร้างขึ้นเพื่ออำนวยความสะดวกในการ เขียนโปรแกรม เพราะลักษณะของคำสั่งจะคล้ายกับประโยคในภาษาอังกฤษทำให้สามารถเข้าใจ โปรแกรมได้ง่ายขึ้น ตัวอย่างภาษาระดับสูง เช่น ภาษาเบสิค ภาษาปาสคาล ภาษาซี เป็นต้น

ภาษาซี คือ ภาษาคอมพิว เตอร์ระดับสูง ซึ่งใช้โปรแกรมแปลภาษา

Borland Turbo C++

ประเภท คอมไพเลอร์

ขั้นตอนการสร้างและพัฒนาโปรแกรมคอมพิวเตอร์

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

โดยทั่ว ๆ ไป การพัฒนาโปรแกรมคอมพิวเตอร์มีขั้นตอนที่สำคัญดังต่อไปนี้

1. การวิเคราะห์ปัญหา เพื่อกำหนดการประมวลผลที่ต้องการ

1.1 ตรวจสอบและพิจารณาขอบเขตของระบบ

1.2 หารือกับนักวิเคราะห์ระบบ (SA) และผู้ใช้

1.3 กำหนดองค์ประกอบของโปรแกรม เช่น อินพุต เอาต์พุต การประมวลผล

2. การออกแบบขั้นตอนการทำงานของโปรแกรม เพื่อเป็นแนวทางการเขียนโปรแกรม ซึ่งเครื่องมือ....ที่สนับสนุนการออกแบบโปรแกรม (Design Tools) ได้แก่ อัลกอริทึม (Algorithm) ผังงานโปรแกรม (Program Flowchart) เป็นต้น

2.1 แบ่งหน้าที่หลัก (Main Module) ของโปรแกรมออกเป็น Module ต่างๆ

2.2 ออกแบบอัลกอริทึมให้แต่ละโมดูล

2.3 ทดสอบผลลัพธ์ที่ได้จากอัลกอริทึม

2.4 นำอัลกอริทึ่มที่ได้มาเขียนเป็นผังงานโปรแกรม

3. การลงรหัสโปรแกรม เพื่อเปลี่ยนขั้นตอนการทำงานของโปรแกรมเป็นภาษาคอมพิวเตอร์

3.1 เปลี่ยนผังงานโปรแกรมมาเป็นภาษาคอมพิวเตอร์

3.2 เขียนโปรแกรม และทดลองรันโปรแกรมดู

4. การทดสอบและแก้ไขโปรแกรม เพื่อให้โปรแกรมกำหนดการทำงานของคอมพิวเตอร์ได้อย่างถูกต้อง

4.1 เมื่อพบ Error ของโปรแกรมให้แก้ไขทันที

4.2 การ Error อาจเกิดขึ้นจากการเขียนไวยากรณ์ของภาษาผิดหรืออาจผิดที่อัลกอริทึมก็ได้

4.3 ลบโค้ดที่ใม่ใช้ออกให้หมด แล้วลองรันโปรแกรมดูว่า ทำงานได้ดังเดิมหรือไม่

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

5.1 รวบรวมเอกสารที่เกี่ยวทั้งหมดให้ SA

5.2 แก้ไข Error ที่พบระหว่างการใช้งานโปรแกรมจริงโดยผู้ใช้

5.3 ปรับปรุงและเพิ่มเติมความสามารถให้กับโปรแกรมมากขึ้น

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

ควารู้เบื้องต้นเกียวกับคอมพิวเตอร์และการเขียนโปรแกรม

บทที่ 1

องค์ประกอบของระบบคอมพิวเตอร์

คอมพิวเตอร์ทำงานอย่างเป็นระบบ (System) หมายถึงภายในระบบงานคอมพิวเตอร์ ประกอบด้วยองค์ประกอบย่อยที่มีหน้าที่เฉพาะ ทำงานประสานสัมพันธ์กัน เพื่อให้งานบรรลุตามเป้าหมาย ในระบบงานคอมพิวเตอร์

การที่มีเครื่องคอมพิวเตอร์เพียงอย่างเดียว จะยังไม่สามารถทำงานได้ด้วยตัวเอง ซึ่งหากจะให้คอมพิวเตอร์ทำงานได้อย่างเป็นระบบและมีประสิทธิภาพแล้ว ระบบคอมพิวเตอร์ควรจะประกอบไปด้วยองค์ประกอบคือ บุคลากร (Peopleware) ฮาร์ดแวร์ (Hardware) ซอฟต์แวร์ (Software) ข้อมูล(Data) สารสนเทศ(Information) และกระบวนการทำงาน ( Procedure )

1. ฮาร์ดแวร์ ( Hardware ) ฮาร์ดแวร์เป็นองค์ประกอบของตัวเครื่องที่สามารถจับต้องได้ ได้แก่ วงจรไฟฟ้า ตัวเครื่อง จอภาพ เครื่องพิมพ์ คีร์บอร์ด เป็นต้นซึ่งสามารถแบ่งส่วนพื้นฐานของฮาร์ดแวร์เป็น 4 หน่วยสำคัญ

1.1 หน่วยรับข้อมูลหรืออินพุต ( Input Unit) ทำหน้าที่รับข้อมูลและโปรแกรมเข้า เครื่อง มีโครงสร้างดังรูป 1.3 ได้แก่ คีย์บอรืดหรือแป้นพิมพ์ เมาส์ เครื่องสแกน เครื่องรูดบัตร Digitizer เป็นต้น

1.2 ระบบประมวลผลกลางหรือซีพียู (CPU : Central Processing Unit) ทำหน้าที่ในการทำงานตามคำสั่งที่ปรากฏอยู่ในโปรแกรม ปัจจุบันซีพียูของเครื่องพีซี รู้จักในนามไมโครโปรเซสเซอร์ ( Micro Processor) หรือ Chip เช่นบริษัท Intel คือ Pentium หรือ Celelon ส่วนของบริษัท AMD คือ K6,K7(Athlon) เป็นต้น ไมโครโปรเซสเซอร์ มีหน้าที่ในการประมวลผลข้อมูล ในลักษณะของการคำนวณและเปรียบเทียบ โดยจะทำงานตามจังหวะเวลาที่แน่นอน เรียกว่าสัญญาณ Clock เมื่อมีการเคาะจังหวะหนึ่งครั้ง ก็จะเกิดกิจกรรม 1 ครั้ง เราเรียกหน่วย ที่ใช้ในการวัดความเร็วของซีพียูว่า “เฮิร์ท”(Herzt) หมายถึงการทำงานได้กี่ครั้งในจำนวน 1 วินาที เช่น ซีพียู Pentium4 มีความเร็ว 2.5 GHz หมายถึงทำงานเร็ว 2,500 ล้านครั้ง ในหนึ่งวินาที กรณีที่สัญญาณ Clock เร็วก็จะทำให้คอมพิวเตอร์เครื่องนั้น มีความเร็วสูง และ ซีพียูที่ทำงานเร็วมาก ราคาก็จะแพงขึ้นมากตามไปด้วย

1.3 หน่วยเก็บข้อมูล ( Storage ) ซึ่งสามารถแยกตามหน้าที่ได้เป็น 2 ลักษณะ คือ

1.3.1 หน่วยเก็บข้อมูลหลักหรือความจำหลัก ( Primary Storage หรือ Main Memory ) ทำหน้าที่เก็บโปรแกรมหรือข้อมูลที่รับมาจากหน่วยรับข้อมูลเพื่อเตรียมส่งให้หน่วยประมวลผลกลางทำการประมวลผล และรับผลลัพธ์ที่ได้จากการประมวลผลเพื่อส่งออกหน่วยแสดงข้อมูลต่อไปซึ่งอาจแยกได้เป็น 2 ประเภท คือ RAM ( Random Access Memory ) ที่สามารถอ่านและเขียนข้อมูลได้ในขณะที่เปิดเครื่องอยู่ แต่เมื่อปิดเครื่องข้อมูลใน RAM จะหายไป และ ROM ( Read Only Memory ) จะอ่านได้อย่างเดียว เช่น BIOS (Basic Input Output system) โปรแกรมฝังไว้ใช้ตอนสตาร์ตเครื่อง เพื่อเครื่องคอมพิวเตอร์เริ่มต้นทำงาน เป็นต้น

1.3.2 หน่วยเก็บข้อมูลสำรอง ( Secondary Storage ) เป็นหน่วยที่ทำหน้าที่เก็บข้อมูล หรือโปรแกรมที่จะป้อนเข้าสู่หน่วยความจำหลักภายในเครื่องก่อนทำการประมวลผลโดยซีพียู รวมทั้งเป็นที่เก็บผลลัพธ์จากการประมวลผลด้วย ปัจจุบันรู้จักในนามฮาร์ดดิสก์ (Hard disk) หรือแผ่นฟร็อปปีดิสก์ (Floppy Disk) ซึ่งเมื่อปิดเครื่องข้อมูลจะยังคงเก็บอยู่

1.4 หน่วยแสดงข้อมูลหรือเอาต์พุต ( Output Unit ) ทำหน้าที่ในการแสดงผลลัพธ์ที่ได้จากการประมวลผล ได้แก่ จอภาพ และเครื่องพิมพ์ เป็นต้น ทั้ง 4 ส่วนจะเชื่อมต่อกันด้วยบัส ( Bus )



2 ซอฟต์แวร์ ( Software )

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

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

2.1.1 โปรแกรมระบบปฏิบัติการ (Operating System) เป็นโปรแกรมที่ใช้ควบคุม และติดต่อกับอุปกรณ์ต่าง ๆ ของเครื่องคอมพิวเตอร์ โดยเฉพาะการจัดการระบบของดิสก์ การบริหารหน่วยความจำของระบบ กล่าวโดยสรุปคือ หากจะทำงานใดงานหนึ่ง โดยใช้คอมพิวเตอร์เป็นเครื่องมือ ในการทำงาน แล้วจะต้องติดต่อกับซอฟต์แวร์ระบบก่อน ถ้าขาดซอฟต์แวร์ชนิดนี้ จะทำให้เครื่องคอมพิวเตอร์ ไม่สามารถทำงานได้ ตัวอย่างของซอฟต์แวร์ประเภทนี้ได้แก่ โปรแกรมระบบปฏิบัติการ Unix Linux DOS และWindows (เวอร์ชั่นต่าง ๆ เช่น 95 98 me 2000 NT XP Vista ) เป็นต้น

2.1.2 ตัวแปลภาษา (Translator) จาก Source Code ให้เป็น Object Code (แปลจากภาษาที่มนุษย์เข้าใจ ให้เป็นภาษาที่เครื่องเข้าใจ เปรียบเสมือนล่ามแปลภาษา) เป็นซอฟต์แวร์ที่ใช้ในการแปลภาษาระดับสูง ซึ่ง เป็นภาษาใกล้เคียงภาษามนุษย์ ให้เป็นภาษาเครื่องก่อนที่จะนำไปประมวลผล ตัวแปลภาษาแบ่งออกเป็นสองประเภทคือ คอมไพเลอร์ (Compiler) และอินเตอร์พีทเตอร์ (Interpeter) คอมไพเลอร์จะแปลคำสั่งในโปรแกรมทั้งหมดก่อน แล้วทำการลิ้ง (Link) เพื่อให้ได้คำสั่งที่เครื่องคอมพิวเตอร์เข้าใจ ส่วนอินเตอร์พีทเตอร์จะแปลทีละประโยคคำสั่ง แล้วทำงานตามประโยคคำสั่งนั้น การจะเลือกใช้ตัวแปลภาษาแบบใดนั้น จะขึ้นอยู่กับภาษาที่ใช้ในการเขียนโปรแกรม ซึ่งมี 2 แบบได้แก่ ภาษาแบบโครงสร้าง เช่น ภาษาเบสิก (Basic) ภาษาปาสคาล (Pascal) ภาษาซี (C) ภาษาจาวา(Java)ภาษาโคบอล (Cobol) ภาษา SQL ภาษา HTML เป็นต้น ภาษาแบบเชิงวัตถุ ( Visual หรือ Object Oriented Programming ) เช่น Visual Basic,Visual C หรือ Delphi เป็นต้น

2.1.3 ยูติลิตี้ โปรแกรม (Utility Program) คือซอฟต์แวร์เสริมช่วยให้เครื่องทำงานมีประสิทธิภาพ มากขึ้น เช่น ช่วยในการตรวจสอบดิสก์ ช่วยในการจัดเก็บข้อมูลในดิสก์ ช่วยสำเนาข้อมูล ช่วยซ่อมอาการชำรุดของดิสก์ ช่วยค้นหาและกำจัดไวรัส ฯลฯ เป็นต้นโปรแกรมในกลุ่มนี้ได้แก่ โปรแกรม Norton Winzip Scan virus Sidekick Scandisk Screen Saver ฯลฯ เป็นต้น

2.1.4 ติดตั้งและปรับปรุงระบบ (Diagonostic Program) เป็นซอฟต์แวร์ที่ใช้ในการติดตั้งระบบ เพื่อให้คอมพิวเตอร์สามารถติดต่อและใช้งานอุปกรณ์ต่าง ๆ ที่นำมาติดตั้งระบบ ได้แก่ โปรแกรม Setupและ Driver ต่าง ๆ เช่น โปรแกรม Setup Microsoft Office โปรแกรม Driver Sound , Driver Printer , Driver Scanner ฯลฯ เป็นต้น

2.2 ซอฟต์แวร์ประยุกต์ (Application Software)

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

2.2.1 ซอฟต์แวร์สำหรับงานเฉพาะด้าน (Special Purpose Software) คือ โปรแกรมซึ่งเขียนขึ้นเพื่อการทำงานเฉพาะอย่างที่เราต้องการ บางที่เรียกว่า User’s Program เช่น โปรแกรมการทำบัญชีจ่ายเงินเดือน โปรแกรมระบบเช่าซื้อ โปรแกรมการทำสินค้าคงคลัง เป็นต้น ซึ่งแต่ละโปรแกรมก็มักจะมีเงื่อนไข หรือแบบฟอร์มแตกต่างกันออกไปตามความต้องการ หรือกฏเกณฑ์ของแต่ละหน่วยงานที่ใช้ ซึ่งสามารถดัดแปลงแก้ไขเพิ่มเติม (Modifications) ในบางส่วนของโปรแกรมได้ เพื่อให้ตรงกับความต้องการของผู้ใช้ และซอฟต์แวร์ประยุกต์ที่เขียนขึ้นนี้โดยส่วนใหญ่มักใช้ภาษาระดับสูงเป็นตัวพัฒนา

2.2.2 ซอฟต์แวร์สำหรับงานทั่วไป (General Purpose Software) เป็นโปรแกรมประยุกต์ที่มีผู้จัดทำไว้ เพื่อใช้ในการทำงานประเภทต่างๆ ทั่วไป โดยผู้ใช้คนอื่นๆ สามารถนำโปรแกรมนี้ไปประยุกต์ใช้กับข้อมูลของตนได้ แต่จะไม่สามารถทำการดัดแปลง หรือแก้ไขโปรแกรมได้ ผู้ใช้ไม่จำเป็นต้องเขียนโปรแกรมเอง ซึ่งเป็นการประหยัดเวลา แรงงาน และค่าใช้จ่ายในการเขียนโปรแกรม นอกจากนี้ ยังไม่ต้องเวลามากในการฝึกและปฏิบัติ ซึ่งโปรแกรมสำเร็จรูปนี้ มักจะมีการใช้งานในหน่วยงาน ซึ่งขาดบุคลากรที่มีความชำนาญเป็นพิเศษในการเขียนโปรแกรม ดังนั้น การใช้โปรแกรมสำเร็จรูปจึงเป็นสิ่งที่อำนวยความสะดวกและเป็นประโยชน์อย่างยิ่ง ตัวอย่างโปรแกรมสำเร็จรูปที่นิยมใช้ได้แก่ MS-Office, Lotus, Adobe Photoshop, SPSS, Internet Explorer และ เกมส์ต่างๆ เป็นต้น





3 บุคลากร ( Peopleware )

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

3.1 นักวิเคราะห์และออกแบบระบบ (Systems Analyst and Designer : SA ) ทำหน้าที่ศึกษาและรวบรวมความต้องการของผู้ใช้ระบบ และทำหน้าที่เป็นสื่อกลางระหว่างผู้ใช้ระบบและนักเขียนโปรแกรม (Programmer) หรือปรับปรุงคุณภาพงานเดิม นักวิเคราะห์ระบบต้องมีความรู้เกี่ยวกับระบบคอมพิวเตอร์ พื้นฐานการเขียนโปรแกรม และควรจะเป็นผู้มีความคิดริเริ่มสร้างสรรค์มีมนุษย์สัมพันธ์ที่ดี

3.2 โปรแกรมเมอร์ ( Programmer ) คือบุคคลที่ทำหน้าที่เขียนซอฟต์แวร์ต่างๆ(Software )หรือเขียนโปรแกรมเพื่อสั่งงานให้เครื่องคอมพิวเตอร์ทำงานตามความต้องการของผู้ใช้ โดยเขียนตามแผนผังที่นักวิเคราะห์ระบบได้เขียนไว้

3.3 ผู้ใช้ ( User ) เป็นผู้ใช้ระบบคอมพิวเตอร์ ซึ่งจะเป็นผู้ปฏิบัติหรือกำหนดความต้องการในการใช้ระบบคอมพิวเตอร์ว่าทำงานอะไรได้บ้าง ผู้ใช้งานคอมพิวเตอร์ทั่วไป จะต้องเรียนรู้วิธีการใช้เครื่อง และวิธีการใช้งานโปรแกรม เพื่อให้โปรแกรมที่มีอยู่สามารถทำงานได้ตามที่ต้องการ

3.4 ผู้ปฏิบัติการ (Operator ) สำหรับระบบขนาดใหญ่ เช่น เมนเฟรม จะต้องมีเจ้าหน้าที่คอมพิวเตอร์ที่คอยปิดและเปิดเครื่อง และเฝ้าดูจอภาพเมื่อมีปัญหาซึ่งอาจเกิดขัดข้อง จะต้องแจ้ง System Programmer ซึ่งเป็นผู้ดูแลตรวจสอบแก้ไขโปรแกรมระบบควบคุมเครื่อง (System Software) อีกทีหนึ่ง

3.5 ผู้บริหารฐานข้อมูล ( Database Administrator : DBA ) กลุ่มบุคคลที่ทำหน้าที่ดูแลข้อมูลผ่านระบบจัดการฐานข้อมูล ซึ่งจะควบคุมให้การทำงานเป็นไปอย่างราบรื่น นอกจากนี้ยังทำหน้าที่กำหนดสิทธิการใช้งานข้อมูล กำหนดในเรื่องความปลอดภัยของการใช้งาน พร้อมทั้งดูแลดาต้าเบสเซิร์ฟเวอร์ (Database Server) ให้ทำงานอย่างปกติด้วย

3.6 ผู้จัดการระบบ (System Manager) คือ ผู้วางนโยบายการใช้คอมพิวเตอร์ให้เป็นไปตามเป้าหมายของหน่วยงาน เป็นผู้ที่มีความหมายต่อความสำเร็จหรือล้มเหลวของการนำระบบคอมพิวเตอร์เข้ามาใช้งานเป็นอย่างมาก



4. ข้อมูลและสารสนเทศ

4.1 ข้อมูล (Data) หมายถึง ข้อเท็จจริงหรือเหตุการณ์ที่เกิดขึ้น แล้วใช้ตัวเลขตัวอักษร หรือสัญลักษณ์ ต่างๆ ทำความหมายแทนสิ่งเหล่านั้น เช่น

· คะแนนสอบวิชาภาษาไทยของนักเรียน

· อายุของพนักงานในบริษัทชินวัตรจำกัด

· ราคาขายของหนังสือในร้านหนังสือดอกหญ้า

· คำตอบที่ผู้ถูกสำรวจตอบในแบบสอบถาม

4.2 สารสนเทศ (Information) หมายถึง ข้อสรุปต่างๆ ที่ได้จากการนำข้อมูลมาทำการวิเคราะห์ หรือผ่านวิธีการที่ ได้กำหนดขึ้น ทั้งนี้เพื่อนำข้อสรุปไปใช้งานหรืออ้างอิง เช่น

· เกรดเฉลี่ยของวิชาภาษาไทยของนักเรียน

· อายุเฉลี่ยของพนักงานในบริษัทชินวัตรจำกัด

· ราคาขายสูงสุดของหนังสือในร้านหนังสือดอกหญ้า

· ข้อสรุปจากการสำรวจคำตอบในแบบสอบถาม

5. กระบวนการทำงาน ( Procedure )

องค์ประกอบด้านนี้หมายถึงกระบวนการทำงานเพื่อให้ได้ผลลัพธ์ตามต้องการ ในการทำงานกับคอมพิวเตอร์ผู้ใช้จำเป็นต้องทราบขั้นตอนการทำงานเพื่อให้ได้งานที่ถูกต้องและมีประสิทธิภาพ ซึ่งอาจจะมีขั้นตอนสลับซับซ้อนหลายขั้นตอน ดังนั้นจึงมีความจำเป็นต้องมีคู่มือปฏิบัติงาน เช่น คู่มือผู้ใช้ ( user manual ) หรือคู่มือผู้ดูแลระบบ ( operation manual ) เป็นต้น

Full copied from : http://tps.comsci.info/programming/lesson1.htm

Next Lesson->