วันอังคารที่ 24 กรกฎาคม พ.ศ. 2555

Mambo และ Joomla! CMS


CMS คืออะไร?
 ความหมายของ Content Management System (CMS)
ระบบการจัดการเนื้อหาของเว็บไซต์(Content Management System : CMS) คือ ระบบที่พัฒนาคิดค้นขึ้นมาเพื่อช่วยลดทรัพยากรในการพัฒนา(Development) และบริหาร(Management)เว็บไซต์ ไม่ว่าจะเป็นเรื่องของกำลังคน ระยะเวลา และเงินทอง ที่ใช้ในการสร้างและควบคุมดูแลไซต์โดยส่วนใหญ่แล้ว มักจะนำเอา ภาษาสคริปต์(Script languages) ต่างๆมาใช้ เพื่อให้วิธีการทำงานเป็นแบบอัตโนมัติ ไม่ว่าจะเป็น PHP, Perl, ASP, Python หรือภาษาอื่นๆ(แล้วแต่ความถนัดของผู้พัฒนา) ซึ่งมักต้องใช้ควบคู่กันกับโปรแกรมเว็บเซิร์ฟเวอร์(เช่น Apache) และดาต้าเบสเซิร์ฟเวอร์(เช่น MySQL)

ลักษณะเด่นของ CMS ก็คือ มีส่วนของ Administration panel(เมนูผู้ควบคุมระบบ) ที่ใช้ในการบริหารจัดการส่วนการทำงานต่างๆในเว็บไซต์ ทำให้สามารถบริหารจัดการเนื้อหาได้อย่างรวดเร็ว และเน้นที่การจัดการระบบผ่านเว็บ(Web interface) ในลักษณะรูปแบบของ ระบบเว็บท่า(Portal Systems) โดยตัวอย่างของฟังก์ชันการทำงาน ได้แก่ การนำเสนอบทความ(Articles), เว็บไดเรคทอรี(Web directory), เผยแพร่ข่าวสารต่างๆ(News), หัวข้อข่าว(Headline), รายงานสภาพดินฟ้าอากาศ(Weather), ข้อมูลข่าวสารที่น่าสนใจ(Informations),
ถาม/ตอบปัญหา(FAQs), ห้องสนทนา(Chat), กระดานข่าว(Forums), การจัดการไฟล์ในส่วนดาวน์โหลด(Downloads), แบบสอบถาม(Polls), ข้อมูลสถิติต่างๆ(Statistics) และส่วนอื่นๆอีกมากมาย ที่สามารถเพิ่มเติมดัดแปลง แก้ไขแล้วประยุกต์นำมาใช้งานให้เหมาะสมตามแต่รูปแบบและประเภทของเว็บไซต์นั้นๆ

Mambo และ Joomla!
แมมโบ้และจูมล่า ต่างก็เป็น CMS ที่มีความคล้ายกัน ณ เวอร์ชั่นปัจจุบัน Mambo 4.5.x และ Joomla! 1.0x เหตุที่ทั้ง 2 ตัวเหมือนกันเพราะ ทีมทำ joomla เกิดความขัดแย้งกับผู้ก่อกำเนิดMambo จึงแยกตัวออกจากทีมและมาก่อตั้ง joomla ขึ้นมา แต่ทีมแมมโบ้เองก็ได้ทีมพัฒนาใหม่ซึ่งในนั้นรวมคนไทยเข้าไปด้วย และ CmS ทั้ง 2 ตัว มีภาษาไทยรองรับ และสามารถใช้งานได้ฟรีโดยไม่มีค่าใช้จ่าย
ความง่าย

            Mambo และ Joomla! เป็น CMS ที่ง่ายต่อการใช้ และทำได้รวดเร็วกว่า Open Source CMS อื่นๆ ที่มีอยู่ในปัจจุบัน สามารถใช้ได้ทั้งกับเว็บไซต์ส่วนตัวขนาดเล็กจนถึงเว็บไซต์เพื่อธุรกิจขนาดใหญ่ ซึ่งความง่ายที่เป็นจุดเด่นของ Mambo มีดังนี้
การติดตั้งและการใช้งาน
            Mambo และ Joomla! มีขั้นตอนการติดตั้งที่ไม่ซับซ้อนเพียง 4 ขั้นตอน และมีคำอธิบายในหน้าจอการติดตั้งที่ชัดเจนและเข้าใจง่าย นอกจากนี้ยังมีรูปแบบการใช้งานแบบ Web Interface ซึ่งมีเครื่องมือที่เพียงพอต่อความต้องการของเว็บไซต์ในหลายรูปแบบ

การออกแบบ

            Mambo และ Joomla! ยืดหยุ่นต่อการออกแบบหน้าตาเว็บไซต์ โดยมีเครื่องมือในการเลือกรูปแบบTemplate สำหรับใช้ในเว็บไซต์ของคุณได้โดยวิธีง่ายๆ และประหยัดเวลาเพียงคลิ๊กเดียวก็สามารถเปลี่ยนหน้าตาเว็บไซต์ได้ทันที  นอกจากนี้ยังมีรูปแบบ Template ที่คุณสามารถหาดาวน์โหลดฟรีได้จากเว็บไซต์ Mambo ต่างๆ ซึ่งช่วยให้คุณสามารถนำมาประยุกต์ให้เข้ากับความต้องการได้ง่ายขึ้น

การเพิ่มเติมและเปลี่ยนแปลงเนื้อหา

            การเพิ่มเติมหรือเปลี่ยนแปลงเนื้อหาไม่ว่าจะเป็นรูปภาพหรือตัวอักษร (Content) ก็สามารถทำได้โดยง่าย มีลักษณะการใช้งานเป็นแบบ WYSIWYG (what you see in what you get) เช่นเดียวกับ MS Word ซึ่งผู้ใช้ไม่จำเป็นต้องมีความรู้ทางด้าน HTML ทำให้การเพิ่มเติมหรือเปลี่ยนแปลงเป็นไปอย่างรวดเร็ว ไม่ยุ่งยาก

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

ประสิทธิภาพและความสามารถของ Mambo และ Joomla!
            ประโยชน์หลักของ Mambo และ Joomla! คือการทำให้คุณสามารถจัดการกับเนื้อหาหรือข้อความ (Content) ได้โดยตรงผ่านหน้าเว็บ โดยผู้บริหารเว็บหรือผู้ดูแลเว็บไซต์ไม่จำเป็นต้องมีความรู้ทางด้านโปรแกรม เช่นHTML ในการอัพเดทเว็บ เพราะ Mambo มี editor ออนไลน์ เช่น WYSIWYG editor ไว้เพื่อการจัดรูปแบบข้อความตัวอักษร (Text) และรูปภาพ ยิ่งกว่านั้นคุณไม่จำเป็นที่ต้องอัพโหลดเอกสารด้วยโปรแกรม FTP เพียงแค่คลิ๊กปุ่มapply หน้าเว็บของคุณก็จะออนไลน์เตรียมพร้อมรับผู้เข้าชมที่จะเข้ามาดูในเว็บของคุณได้ทันที

เราสามารถใช้ Mambo และ Joomla! กับเว็บไซต์ได้หลากหลายประเภท เช่น

-          เว็บท่า (Portals)
-          เว็บไซต์เชิงพาณิชย์ (Commercial Websites)
-          เว็บไซต์ที่ใช้ในองค์กร (Intranet Websites)
-          เว็บไซต์ที่ไม่แสวงหากำไร (Non-Profit Websites)
-          เว็บไซต์ส่วนตัว (Personal Websites)
-          เว็บไซต์ที่สร้างจาก Flash (Integrated Flash Sites)

นอกจากนี้ Mambo และ Joomla! ยังสามารถใช้งานได้หลายอย่างเช่น

-          อัพเดทเว็บไซต์ด้วยข่าว บทความและรูปภาพ
-          ง่ายต่อการสร้างเนื้อหาของคุณด้วยเมนู เช่น ผลิตภัณฑ์ > ฮาร์ดแวร์ > เครื่องเล่นดีวีดี หรือผลิตภัณฑ์ >ฮาร์ดแวร์ > เครื่องเล่นซีดี
-          อัพโหลด MS Word, MS Excel และ Acrobat PDF เพื่อให้ดูเอกสารได้
-          จัดการ Banner เช่น โฆษณา
-          สร้างโพล (แบบสำรวจ)
-          จัดการเว็บลิงค์
-          จัดการ FAQ
-          จัดการข่าวที่อยู่ในรูป Flash
-          จัดการกับ Mutti-media Flash, และไฟล์รูปภาพ .jpg , .pif, .bmp  และ .png
-          จัดการกับการป้อนข้าวจากแหล่งข่าวที่มาจากเว็บไซต์ต่างๆ
-          จัดการกับ Contact และอีเมลจากหน้าต่างๆ
-          ให้ระดับการเข้าถึงข้อมูล (Access) กับผู้ใช้
-          จัดการหน้า Archive
-          จัดการ Components, Modules และ Templates ที่พัฒนาขึ้นมาเพิ่มเติม เช่น E-Commerce, Forums,รูปภาพ ปฏิทิน กำหนดการ และ Help Desk เป็นต้น


 ความต้องการระบบ โฮสที่รองรับจูมล่าและแมมโบ้
-          ต้องมี php4 ขึ้นไป แนะนำที่ php5
-          ต้องมี Mysql 3 ขึ้นไป แนะนำที่ MySQL5
-          ต้องมี FTP ให้ใช้


*ความปลอดภัย
Mambo และ Joomla! ทั้ง สองตัวมีความปลอดภัยในการใช้งานในระดับดี และเว็บที่ใช้ CMS ทั้ง 2 ตัวมักถูกแฮกจาก Plugin เสริม ซึ่งบางทีเก่ามากและผู้ใช้ไม่ยอมอัพเดต การใช้งาน CMS Opensource ต้องขยันอัพเดตข่าวสารความปลอดภัย และคอมอัพเดตตามเวอร์ชั่นต่างๆ ของ CMS นั้นๆ



เว็บบอร์ดสอบถามปัญหา http://www.mambo.or.th 

นอกจากนั้น ยังมีบริษัทที่รับ Develop , Implement พัฒนาออกแบบแทมเพลต ของ แมมโบ้ และ จูมล่า เช่น บริษัท มาร์เวลิค เอ็นจิ้น จำกัด




  

ที่มา :  หนังสือสร้างเว็บแบบมืออาชีพด้วย mambo
    OPEN SOURCE Content Management System (CMS)
          ผู้แต่ง อัครวุฒิ  ตำราเรียง MamboHub.com

เรื่องของ Relationship

Relationship  
เป็นหัวใจสำคัญในเรื่องการออกแบบฐานข้อมูลซึ่งความสัมพันธ์จะมีด้วยกันทั้งหมด 3 ลักษณะคือ

  1. ความสัมพันธ์แบบ One - to - One (1:1)
           ความสัมพันธ์ที่เรคอร์ดใดๆใน Table หนึ่ง สามารถจับคู่กับเรคอร์ดในอีก Table หนึ่ง ได้เพียงเรคอร์ดเดียวเท่านั้น (จับคู่กันแบบตัวต่อตัว) ความสัมพันธ์ลักษณะนี้จะพบเห็นได้ค่อนข้างน้อย เช่น กรณีที่จำนวนฟิลด์ใน Table มีมากเกินไป จนทำให้ Table มีขนาดใหญ่บำรุ่งรักษายาก จึงต้องแยกข้อมูลบางส่วนออกมาเก็บไว้อีก Table หนึ่ง แล้วสร้างความสัมพันธ์ระหว่าง Table ทั้งสองด้วยฟิลด์ที่เป็นฟีลด์ร่วมในต้วอย่างนี้จะแยกข้อมูลบางส่วนใน Table พนักงานที่เป็นข้อมูลส่วนส่วนตัวออกมาไว้อีก Table และใช้ฟิลด์รหัสพนักงานเป็นตัวเชื่อม Table ทั้งสอง
  1. ความสัมพันธ์แบบ One - to - Many (1:N)  
          เป็นความสัมพันธ์ที่เรคร์ดใดๆใน Table หนึ่ง สามารถจับคู่กับเรคร์ดในอีก Table หนึ่งได้หลายๆเรคร์ดพร้อมกันเช่นความสัมพันธ์ระหว่าง Table ลูกค้ากับ Table การสั่งซื้อ ลูกค้าหนึ่งคนสามารถสั่งซื้อสินค้าได้มากกว่า 1 ครั้ง (หลายใบสั่งซื้อ) โดย แต่ละใบสั่งซื้อจะมาจากลูกค้าเพียงรายเดียวเท่านั้น หรือตัวอย่างตามรูป
  1. ความสัมพันธ์แบบ Many - to Many (M:N)
          เป็นความสัมพันธ์ที่หลายๆเรคร์ดใน Table หนึ่งสามารถจับคู่กับเรคร์ดในอีก Table หนึ่งได้หลายๆเรคร์ดพร้อมกันเช่นตวามสัมพันธ์ระหว่าง Table ลูกค้ากับ Table สินค้า ลูกค้าหนึ่งคนสามารถซื้อสินค้าได้หลายชนิด ในขณะที่สินค้าแต่ละชนิดก็ถูกซื้อโดยลูกค้าหลายๆคน ถ้านำ Table ทั้งสองมาเชื่อมความสัมพันธ์กันตรงๆจะทำไม่ได้ เพราะมีฟีลด์ร่วมของทั้ง 2 Tableต้องใช้ Table อื่นมาเป็นตัวกลางในการเชื่อมโยง ซึ่งในที่นี้เราจะใช้ Table การสั่งซื้อมาช่วยสร้างความสัมพันธ์แบบ Many - to -Many


จะสรุปได้ว่าความสัมพันธ์ความสัมพันธ์ One to One (1:1) ความสัมพันธ์ที่เรคอร์ดใดๆใน Table หนึ่ง สามารถจับคู่กับเรคอร์ดในอีก Table หนึ่ง ได้เพียงเรคอร์ดเดียวเท่านั้น ความสัมพันธ์ความสัมพันธ์ One to Many(1:M) เป็นความสัมพันธ์ที่เรคร์ดใดๆใน Table หนึ่ง สามารถจับคู่กับเรคร์ดในอีก Table หนึ่งได้หลายๆเรคร์ดพร้อมกัน ความสัมพันธ์ความสัมพันธ์ Many to Many (N:N)เป็นความสัมพันธ์ที่หลายๆเรคร์ดใน Table หนึ่งสามารถจับคู่กับเรคร์ดในอีก Table หนึ่งได้หลายๆเรคร์ดพร้อมกัน



วันจันทร์ที่ 23 กรกฎาคม พ.ศ. 2555

การดีไซน์เอาต์พุตที่ออกทางจอภาพ (Disigning Screen Output)


การดีไซน์เอาต์พุตทางจอภาพ
การดีไซน์เอาต์พุตที่ออกทางจอภาพ (Disigning Screen Output) จะมีข้อแตกต่างกับเอาต์พุตที่ออกจาเครื่องพิมพ์อยู่หลายจุดด้วยกันคือ สำหรับจอภาพ (Screen) นั้น ข้อมูลที่แสดงออกมานั้นจะไม่ติดตายตัว (Permanect) เหมือนกับการใช้เครื่องพิมพ์พิมพ์รายงาน ลักษณะของเอาต์พุตจึงมีความยืดหยุ่นค่อนข้างมาก แต่ก็มีข้อจำกัดคือการออกเอาต์พุตทางจอภาพเหมาะสำหรับผู้ใช้ระบบที่ต้องมีจอภาพด้วย เราไม่สามารถจะแจกจ่ายเอาต์พุตให้กับผู้ใช้อื่นที่ขาดอุปกรณ์ดังกล่าวได้การที่กล่าวว่าจอภาพมีความยืดหยุ่นในการแสดงข้อมูลสูงกว่าเครื่องพิมพ์ จะหมายถึงความสามารถที่จะลบข้อมูลออกไปแล้วใส่ข้อมูลใหม่ได้ ความสามารถในการที่เลื่อนข้อมูลขึ้นลง (Scroll) หรือเลื่อนไปทางซ้ายหรือทางขวา หรือการเก็บตำแหน่งของข้อมูลบนจอภาพ (Save Screen) ไว้ชั่วคราว แล้วดึงออกมาแสดงใหม่ (Restore Screen) ในภายหลัง เป็นต้น ซึ่งสิ่งเหล่านี้เป็นความสามารถเฉพาะตัวของการแสดงผลทางจอภาพเลยทีเดียว
จากการที่จอภาพมีความสามารถในการทำงานหลายด้าน จึงจำเป็นอยู่เองที่นักวิเคราะห์ระบบจะต้องทำให้ผู้ใช้ระบบสามารถที่จะควบคุมจอภาพบางประการตามที่เขาต้องการได้ เช่น หากผู้ใช้ต้องการพิมพ์ข้อมูลออกทางจอภาพ ระบบงานอาจจะต้องพิมพ์ออกทีละ 24 บรรทัด และในบรรทัดที่ 25 อาจจะต้องถามผู้ใช้ระบบเสียก่อนว่า "กรุณากด (C) = ดำเนินการกด หรือกด (S) = หยุดงาน" ลักษณะเช่นนี้เป็นตัวอย่างที่ผู้ใช้ระบบมีความสามารถที่จะควบคุมจอภาพให้พิมพ์รายงานต่อออกทางจอภาพ เมื่อกด (C) และเมื่อต้องการจะหยุด ก็สามารถทำได้โดยการกด (S)


ข้อแนะนำในการดีไซน์จอภาพ

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


การดีไซน์ลงแบบฟอร์มสำหรับดีไซน์จอภาพ (Screen Layout)

มีลักษณะเช่นเดียวกับการดีไซน์ลงในแบบฟอร์มสำหรับรายงาน (Report Layout) แบบฟอร์มสำหรับดีไซน์จอภาพจะมีขนาดเล็กกว่า เนื่องมาจากโดยปกติจอภาพทั่วไปจะมีความกว้าง 80 ตัวอักษร และมีความยาวได้เท่ากับ 25 บรรทัด ซึ่งโดยปกติ เราจะพบว่าแบบฟอร์มสำหรับการดีไซน์จอภาพจอให้เรากรอกได้ 24 บรรทัด เหตุที่เป็นเช่นนี้มักจะเกิดจากการที่ในเครื่องคอมพิวเตอร์บางชนิดจะสงวนบรรทัดไว้ 1 บรรทัดสำหรับแสดงผลเฉพาะระบบปฏิบัติการเท่านั้น ดังนั้น บรรทัดในการดีไซน์จึงได้หายไป จากเหตุผลดังกล่าวจึงทำให้โปรแกรมเมอร์และนักวิเคราะห์ระบบเองพยายามหลีกเลี่ยงการใช้บรรทัดที่ 1 หรือบรรทัดที่ 25 อย่างใดอย่างหนึ่ง เพื่อลดปัญหาการแสดงข้อมูลที่อาจจะไปทับกับข้อความที่แสดงโดยระบบปฏิบัติการดังที่กล่าวมาแล้ว
ในการดีไซน์จอภาพลงในฟอร์มนั้น เรายังคงยึดวิธีเดียวกันกับการดีไซน์รายงาน นั่นก็คือเราจะใช้ตัวอักษร X แทนข้อมูลตัวแปรที่เป็นตัวอักษร และ 9 แทนข้อมูลตัวแปรที่เป็นตัวเลข ส่วนข้อมูลใดที่เป็นข้อมูลตายตัว (Fixed) หรือเป็นค่าคงที่ (Constant) เราก็จะเขียนเข้าไปโดยตรงในแบบฟอร์มนั้นเลย





จันทร์วาริวิภา  แจ่มจันทร์ 52040774

วันศุกร์ที่ 20 กรกฎาคม พ.ศ. 2555

สัญลักษณ์ของDFD

1. สัญลักษณ์แทนการประมวลผล (Process) รูปสี่เหลี่ยมมีหมายเลขและชื่อกำกับ เป็นสัญลักษณ์แทนขั้นตอนในกระบวนการทำงาน จะกระทำให้ลักษณะของข้อมูลเปลี่ยนแปลงไป ดังตัวอย่าง

 
การประมวลผลจะเปลี่ยนแปลงข้อมูลขาเข้าเป็นผลลัพธ์ นั่นหมายความว่า จะต้องมีการกระทำบางอย่างต่อข้อมูลทำให้เกิดผลลัพธ์ขึ้นมา โดยปกติแล้วข้อมูลที่เข้าสู่โพรเซสจะแตกต่างจากข้อมูลเมื่ออกจากโพรเซส
2. กระแสข้อมูล (Data Flow) กระแสข้อมูลแทนด้วยลูกศร โดยที่มีชื่อกำกับบนลูกศร
 

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



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

 



4. แหล่งเก็บข้อมูลนอกระบบ (Terminator)สิ่งที่อยู่นอกระบบแทนวงรี ซึ่งจะมีชื่อ และชื่อกระบวนการกำกับอยู่ด้วย ส่วนใหญ่จะเป็นตัวบุคคล หรือองค์การต่างๆ สิ่งที่อยู่นอกระบบอาจจะเป็นที่ส่งข้อมูลเข้าระบบ หรืออาจเป็นตัวรับข้อมูลจากระบบก็ได้



ในการเขียนแผนภาพการไหลของข้อมูล เราไม่สามารถเขียนเชื่อมโยงระหว่าง External Entity 2 ตัว เชื่อมต่อกันได้โดยตรง จำเป็นต้องผ่านโพรเซสอย่างน้อย 1 โพรเซส ดังรูป



 
 
 
ศึกษาต่อ คลิกที่นี่

การวางแผนการสัมภาษณ์

การเตรียมการและวางแผนการสัมภาษณ์มี 5 ขั้นตอน เริ่มตั้งแต่การรวบรวมข้อมูลพื้นฐานไปจนถึงการเลือกผู้ที่เราต้องการจะสัมภาษณ์ ดังนี้

1. ศึกษา อ่านและเข้าใจพื้นฐานข้อมูลของผู้ถูกสัมภาษณ์ และลักษณะขององค์กร โดยอาจจะศึกษาจากรายงานต่าง ๆ จดหมายข่าว และข่าวสารที่กล่าวถึงองค์กรนั้นทำให้สามารถลดเวลาในการป้อนคำถามที่เกี่ยวข้องกับลักษณะขององค์กรนั้น ในขณะที่อ่านเอกสาร เราก็สังเกตถึงลักษณะท่าทาง ภาษาที่ผู้ถูกสัมภาษณ์ที่เป็นสมาชิกอยู่ในองค์กรนั้นให้อธิบายถึงองค์กร จะช่วยให้การสัมภาษณ์สมบูรณ์ขึ้น

2. การตั้งเป้าหมายในการสัมภาษณ์ มีหัวข้อหลักที่ควรคำนึงถึงในการตั้งคำถาม คือ ศึกษาแหล่งที่มาของข้อมูล รูปแบบของข้อมูลที่ต้องการ ความถี่ในการใช้เพื่อการตัดสินใจ ปริมาณของข้อมูล และวิธีการตัดสินใจ

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

4. เตรียมการสัมภาษณ์ โดยนัดกับผู้ถูกสัมภาษณ์ล่วงหน้า เพื่อให้ผู้ถูกสัมภาษณ์ได้มีเวลาที่จะเตรียมตัวตอบหัวข้อและรายละเอียดในการให้สัมภาษณ์ ในการสัมภาษณ์ในแต่ละครั้งควรให้อยู่ในช่วงเลาระหว่าง 45 นาทีถึง 1 ชั่วโมง เพื่อจะได้ไม่รบกวนเวลางานของผู้ถูกสัมภาษณ์มานัก

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

คลิกที่นี่เพื่อศึกษาต่อ

วันอังคารที่ 17 กรกฎาคม พ.ศ. 2555


เครื่องมือที่ใช้ในการวิเคราะห์และออกแบบระบบ

การออกแบบระบบมักจะใช้รูปภาพและสัญลักษณ์   เครื่องมือที่ใช้มีอยู่มากมายหลายชนิดแต่ละชนิดมีความแตกต่างกัน  ใช้ในโอกาสแตกต่างกัน  เครื่องมือแต่ละอย่างมีวิธีการสร้างคุณสมบัติ  และการใช้งานที่แตกต่างกัน  ขึ้นอยู่กับนักวิเคราะห์ระบบว่าจะนำไปใช้ในขั้นตอนใดซึ่งจะต้องศึกษาคุณสมบัติของเครื่องมือนั้นให้เข้าใจเพื่อที่จะได้นำ  ไปใช้อย่างถูกขั้นตอนและถูกต้องตามวิธีใช้งานของเครื่องมือแต่ละชนิด
แผนภูมิ Block Diagram
เป็นแผนภูมที่มีลักษณะของการใช้ Block Diagram ในการเขียนแผนภูมิการจัดองค์กร (Organization Chart)  ต่าง ๆ หรือใช้แทนความคิดที่ต้องการจะทำการวิเคราะห์และออกแบบระบบงานซึ่งสามารถนำไปใช้ในการเขียนเป็นแผนภูมิของกิจกรรมต่าง ๆ ได้หลายอย่าง เช่น 
การใช้ Block Diagram ในการเขียนแผนภูมิการจัดองค์กร (Organization Chart) ซึ่งเป็นแผนภูมิที่แสดงให้เห็นว่าองค์กรนั้น ๆ มีการจัดแบ่งเป็นองค์ประกอบย่อย ๆ อะไรบ้างและแบ่งอย่างไร เช่น แบ่งออกเป็นฝ่ายแบ่งเป็นแผนก เป็นหน่วย มีงานอะไรบ้าง กี่หน่วยงานและหน่วยงานต่าง ๆ เหล่านั้นมีความสัมพันธ์เกี่ยวข้องกันในทางสายการบังคับบัญชากันอย่างไรเป็นต้น

                แผนภูมิการจัดองค์กร  (Organization Chart)
เป็นแผนภูมิที่แสดงให้เห็นว่าองค์กรนั้น ๆ มีโครงสร้างหรือการจัดแบ่งเป็นองค์ประกอบย่อย ๆ อะไรบ้างและแบ่งอย่างไร  เช่น  แบ่งออกเป็นฝ่าย เป็นหน่วยงานอะไรบ้าง กี่หน่วยงาน และหน่วยงานเหล่านั้นมีความสัมพันธ์ในสายการบังคับบัญชากันอย่างไร  รวมทั้งแสดงถึงความสัมพันธ์ของแต่ละตำแหน่ง  ซึ่งนักวิเคราะห์ระบบสามารถใช้แผนภาพองค์กรนี้ในการสัมภาษณ์  และสอบถามข้อมูลจากบุคคลต่าง ๆ ในองค์กรได้  เนื่องจากแผนภาพนี้แสดงถึงโครงสร้างขององค์การอย่างเป็นทางการ  แต่ความสัมพันธ์ที่แท้จริงของแต่ละตำแหน่งในทางปฏิบัติงานจริงอาจมีความแตกต่างกันบ้าง  นักวิเคราะห์ระบบจึงต้องศึกษาและสอบถามจากบุคคลต่าง ๆ ในองค์กร

               แผนภาพการแจกจ่ายงาน  (Work Distribution Chart)
เป็นแผนภาพแสดงการแจกจ่ายงาน  ซึ่งแสดงให้เห็นถึงงานต่าง ๆ  ที่ต้องกระทำว่ามีอะไรบ้าง  ใครเป็นผู้ทำ  และใช้เวลาเท่าใด รวมทั้งยังช่วยผู้บริหารโครงการแจกจ่ายงานให้แต่ละบุคคลได้อย่างทั่วถึงและสมดุล

งาน/บุคคล
สมศิริ
Assistance
Manager
ปิยะฉัตร
Purchasing
Supervisor
นงลักษณ์
Purchasing Clerk
พรทิพย์
Store
Receiver
การสั่งซื้อสินค้า

ตรวจสอบตาคา
และจำนวนที่สั่ง
(10)
พิมพ์ใบสั่งซื้อ (5)

การตรวจสอบ
ตรวจสอบและ
อนุมัติใบสั่งซื้อ
ตรวจทานใบสั่งซื้อ(2)


การรับสินค้า



ตรวจสอบสินค้าที่รับกับรายการที่สั่ง (15)
อื่น ๆ
จัดการประชุม(10)
ดูรายละเอียดปลีกย่อย (15)
จัดเก็บเอกสารการ
สั่งซื้อ (10)
จัดเก็บเอกสารการ
รับของ (10)
ภาพแสดงแผนภาพการแจกจ่ายงาน 

               แผนภูมิ  Gantt chart  (Gantt’s  Chart)
เป็นแผนภูมิแท่งชนิด  Bar Chart อย่างหนึ่ง เพื่อแสดงให้เห็นถึงความสัมพันธ์ระหว่างกิจกรรมต่าง ๆ ที่จะต้องกระทำกับระยะเวลาหรือเวลาสำหรับการปฏิบัติงานของกิจกรรมนั้น ๆ การเขียน Gantt  chart จะต้องกำหนดเวลาของแต่ละโครงงาน ซึ่งจะแสดงภาพรวมของโครงการนั้น ๆ  ทำให้เข้าใจภาพรวมของระบบได้ง่ายขึ้น  บุคลากรที่เกี่ยวข้องสามารถทำการตรวจสอบความก้าวหน้าในการวิเคราะห์ระบบได้  อย่างเข้าใจและรวดเร็วมากขึ้น
Gantt chart ที่สร้างในส่วนบนตามแนวนอนของตารางจะแสดงหน่วยของเวลา ไม่ว่าจะเป็นชั่วโมง วัน สัปดาห์ เดือน หรือหน่วยเวลาตามที่นักวิเคราะห์ระบบกำหนด ส่วนด้านข้างตามแนวตั้งของตาราง บรรทัดบนสุดจะเป็นชื่อโครงการ บรรทัดถัดมาจะเป็นรายละเอียดของโครงการต่าง ๆ หรือขั้นตอนของโครงการซึ่งมักตั้งชื่อง่าย ๆ ที่สามาถเข้าใจได้ว่าโครงการนั้นทำอะไร

 

              ปฏิทินการปฏิบัติงาน  (Time Schedule and Time  Table)
เป็นปฏิทินในรูปลักษณะของตาราง ซึ่งแสดงถึงงานที่ต้องทำ วันที่ที่เริ่มทำงานและ  วันที่ที่ทำงานแล้วเสร็จ


กิจกรรมที่ต้องปฏิบัติ
เริ่มทำงานวันที่
สิ้นสุดการทำงานวันที่
การวิเคราะห์ระบบงานทะเบียน
1 ม.ค.  2548
15  ม.ค.  2548
การออกแบบระบบ
10  ม.ค.  2548
10  ก.พ.  2548
การพัฒนาระบบงานทะเบียน
15  ก.พ.  2548
31  ม.ค.  2548
การทดสอบปรับปรุงแก้ไขระบบ
15  ม.ค.  2548
15  เม.ย.  2548
การบำรุงรักษาระบบ
15  ม.ค.  2548
--------


รายละเอียดเพิ่มเติม  http://itd.htc.ac.th/st_it50/it5016/nidz/Web_Analyse/unit7.html

ณัฐฐิญา   ราญรอน

วันศุกร์ที่ 13 กรกฎาคม พ.ศ. 2555

คำอธิบายข้อมูล (Data Dictionary)


คำอธิบายข้อมูล (Data Dictionary)
ในการเขียนแผนภาพการไหลของข้อมูล (Data Flow Diagram:DFD) เป็นการเขียนกระบวนการทำงานต่างๆ ในระบบงาน แต่รายละเอียดของข้อมูลต่างๆ ที่ปรากฏในระบบงาน แผนภาพการไหลของข้อมูล(DFD) ไม่สามารถนำเสนอได้ทั้งหมด ดังนั้นในการวิเคราะห์และออกแบบระบบจึงต้องมีการเขียนคำอธิบายข้อมูล (Data Description) หรือพจนานุกรมข้อมูล (Data Dictionary) ซึ่งเป็นการเก็บรวบรวมข้อมูลทั้งหมด รายละเอียด คำอธิบายข้อมูลต่างๆ ในระบบงาน พจนานุกรมข้อมูลอาจแยกเขียนได้ดังต่อไปนี้

• พจนานุกรมโครงสร้างข้อมูล (Data Structure Dictionary) 
• พจนานุกรมกระแสการไหลของข้อมูล (Data Flow Dictionary)
• พจนานุกรมแหล่งการเก็บข้อมูล (Data Store Dictionary)
• พจนานุกรมหน่วยงานภายนอกระบบ (External Entity Dictionary)

Data Structure Dictionary
พจนานุกรมโครงสร้างข้อมูลเป็นการเขียนคำอธิบายหรือรายละเอียดของข้อมูลโครงสร้าง (Data Structure) ว่าประกอบไปด้วยข้อมูลย่อยหรือข้อมูลเดี่ยว(Data Element) อะไรบ้าง เพื่อความเข้าใจในระบบงานให้ชัดเจนมากขึ้น

สัญลักษณ์ที่ใช้ในพจนานุกรมโครงสร้างข้อมูล


สัญลักษณ์
ความหมาย
=
+
[ทางเลือกที่1 ทางเลือกที่2...]
Max {ส่วนประกอบ}

Min
(ส่วนประกอบ)
* COMMENT *
เท่ากับ
และ
ให้เลือกเพียงอันใดอันหนึ่ง
ทำซ้ำจากจำนวนต่ำสุดถึงสูงสุด
 
ส่วนประกอบนี้จะมีหรือไม่ก็ได้
หมายเหตุ ให้เขียนอยู่ภายในเครื่องมือ *...*

ตารางที่1 แสดงสัญลักษณ์ในการเขียนพจนานุกรมข้อมูล

ตัวอย่าง
สัญลักษณ์เท่ากับ
ใช้เขียนอธิบายว่าข้อมูลที่อยู่ทางซ้ายมือแยกย่อยลงได้เป็นข้อมูลย่อยๆ ทางขวามือ โดยมีเครื่องหมาย "+" หมายถึง"และ" ตัวอย่างเช่น
ที่อยู่ผู้ขาย = ถนน + จังหวัด + รหัสไปรษณีย์
สัญลักษณ์ [ ] หมายถึงให้เลือกหนึ่งจากตัวเลือกที่มีมากกว่าหนึ่ง เช่น
เกรด = [A B+ B C+ C D+ D E I]
* เกรดหมายถึงผลการเรียนในแต่ละวิชา *
สัญลักษณ์ { } การทำซ้ำสำหรับข้อมูลตัวหนึ่ง หรือกลุ่มของข้อมูลชุดหนึ่งนอกจากนั้นจะมีข้อความกำกับว่า "max" และ "min" หมายความว่าทำซ้ำจากจำนวนน้อยที่สุด (min) ไปถึงจำนวนมากที่สุด (max) ครั้ง ตัวอย่างเช่น
ใบสั่งซื้อ = ชื่อบริษัทที่ชื้อสินค้า + {ชื่อสินค้า+หน่วยสินค้า+จำนวน+ราคา}

Data Flow Dictionary
พจนานุกรมสำหรับการไหลของข้อมูลเป็นการเขียนอธิบายรายละเอียดของข้อมูลที่ปรากฎในแต่ละเส้นการไหลของข้อมูล (Data Flow) ในแผนภาพการไหลของข้อมูล เช่น

ข้อมูล
ชื่อข้อมูล
รายละเอียด
จาก
ถึง
... ....
... ... ... ...
... ... ... ...

ตารางที่ 2 แสดง Data Flow Dictionary

Data Store Dictionary
พจนานุกรมสำหรับการเก็บข้อมูล เป็นการเขียนคำอธิบายแหล่งเก็บข้อมูลที่เกิดขึ้นในระบบงานซึ่งจะรวมทั้งแฟ้ม ที่เป็นเอกสาร และแฟ้มที่จัดเก็บในเครื่องคอมพิวเตอร์ โดยจะดูได้จากแผนภาพการไหลของข้อมูล (Data Flow Dictionary : DFD) 

ตัวอย่างการเขียนพจนานุกรมสำหรับการเก็บข้อมูลดังตัวอย่าง

ชื่อแฟ้ม
ความหมาย
รายละเอียด
ความหมาย
PROD_MAS.DBF แฟ้มผลิตภัณฑ์ Prod_code
Prod_name
Prod_size
Batch_size
Price
Mat_cost
Prod_inv
Prod_safe
Back_ord
รหัสสินค้า
ชื่อสินค้า
ขนาดบรรจุ
ขนาดการผลิต
ราคาขาย
ราคาต้นทุนวัตถุดิบ
จำนวนของคงคลัง
Safety Stock
จำนวนค้างส่ง
BMAT_MAS.DBF แฟ้มสูตรการผลิต Prod_code
Mat_code
Mat_use
รหัสสินค้า
รหัสวัตถุดิบ
จำนวนใช้วัตถุดิบ

ตารางที่ 3 แสดงตัวอย่างพจนานุกรมสำหรับการเก็บข้อมูลในระบบงานวางแผนการผลิต   


ดูรายละเอียดเพิ่มเติมได้ที่นี่ค่ะ >> http://www.bcoms.net/system_analysis/lesson61.asp

..ศิริพร ประวิสารัตน์..         

วันอาทิตย์ที่ 8 กรกฎาคม พ.ศ. 2555

Programmer เป็นทั้งงานศิลปะและทักษะและแรงงานกรรมกรกะดึก

จาก thaigamasutra.com 

จากที่เราได้เกริ่น และเขียนแผนภาพเกี่ยวกับ value chain ในครั้งที่แล้ว 
สิ่ง หนึ่งที่ผมจะชี้ให้เห็นครับ คือ programming ถูกระบุว่าอยู่ในส่วนที่เป็น labor-intensive task หรือแปลเป็นไทยคือ งานที่เน้น "แรงงานมากกว่าสมอง" และในขณะเดียวกัน งานที่เป็น knowledge-oriented จะเป็นพวกทางด้าน พวกวาดรูป แต่งเรื่อง 

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


ผมไม่ได้ต้องการจะบอกว่า programmer เป็นสายงานที่ต่ำต้อย ไร้ค่า ไม่มีใครควรมาทำนะครับ 
ตรง ข้าม ยังไงซะ programmer ก็เป็นส่วนที่จำเป็นมากๆส่วนหนึ่งของการทำเกม และไม่ได้ปฎิเสธความจริงที่ว่า การที่คนคนหนึ่งจะเป็น programmer ที่เก่งได้จะต้องใช้ความพยายามอย่างมาก และต้องเรียนรู้เรื่องยากๆมากมาย 
programmer หรือวิศวกร เป็นสายงาน ของแรงงานเฉพาะ เรียกว่าระดับ "expert" หรือ "specialist" ไปในทางลึก ที่มีค่าตอบแทนสูงมากเมื่อเทียบกับแรงงานสายอื่น เป็นการตอบแทนอยู่แล้ว มีเกียรติ ไม่ได้ต่ำต้อยแต่อย่างใด 
เพียงแต่ผมให้เห็นมุมที่กว้างขึ้น 
ว่า programming "สำคัญ" แต่ไม่ใช่ "ทั้งหมด" 

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

ถ้าเราพบว่า ตัวเรายังไม่มีด้านนั้น 
เราอาจจะจัดการ โดยการอาจจะ 
- ฝึกเองเพิ่มเติม 
- หรือหาเพื่อนด้านนั้น 
- หรือหาพันธมิตร 

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

ส่วน โปรแกรมเมอร์นั้น แค่มีหน้าที่เขียนโปรแกรมให้ทำงานตามระบบที่ system analysis วางไว้เท่านั้น เหมือนกับ วิศวกร คอยคุมงานให้พนักงานก่อสร้างให้ตรงตามแผนที่ได้วางไว้

Programing คือ ศิลปะครับ เป็นงานก้ำกึ่งระหว่าง จินตนาการและตรรถกะศาสตร์ 

เป็นงานที่อิงด้วยความเป็นไปได้และครุ่นคิดแสวงหาแนวทางใหม่ๆที่เป็นไปไม่ได้ 
ว่าง่ายๆโปรแกรมเมอร์คือผู้เชื่อมโยงระหว่างความเป็นไปไม่ได้และความเป็นไปได้นั่นเอง 

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

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

นายศิษฏ์ ปัจจัยสมบูรณ์
โดยส่วนตัวแล้วเอางานทางด้าน programming ไปเทียบกับกรรมกร มันก็แค่มุมมองจากการที่ต้องลงมือทำมุมนึงเท่านั้นเอง

อ่านความเห็นเพิ่มเติมได้ที่ http://www.gconsole.com/forum/show.php?page=topicdetail&pagenum=2&cat=&perpage=15&id=78046

วันอังคารที่ 3 กรกฎาคม พ.ศ. 2555

การเขียนผังงาน (Flowchart)

การเขียนผังงาน ( Flowchart )

                ผังงาน คือ แผนภาพที่มีการใช้สัญลักษณ์รูปภาพและลูกศรที่แสดงถึงขั้นตอนการทำงานของโปรแกรมหรือระบบทีละขั้นตอน รวมไปถึงทิศทางการไหลของข้อมูลตั้งแต่แรกจนได้ผลลัพธ์ตามที่ต้องการ

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

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

ผังงานโปรแกรม ( Program Flowchart )
             การเขียนผังโปรแกรมจะประกอบไปด้วยการใช้สัญลักษณ์มาตรฐานต่าง ๆ ที่เรียกว่า สัญลักษณ์ ANSI ( American National Standards Institute ) ในการสร้างผังงาน ดังตัวอย่างที่แสดงในรูปต่อไปนี้


                                                                 
ดูตัวอย่าง และศึกษาข้อมูลเพิ่มเติมได้ค่ะ






วันอาทิตย์ที่ 1 กรกฎาคม พ.ศ. 2555

ความสัมพันธ์ระหว่าง Parent และ Child


 ความสัมพันธ์ระหว่าง Parent และ Child 

เนื่องจาก Context Diagram เป็นเพียงการแสดงภาพรวมของระบบงานและแหล่งข้อมูลภายนอกเท่านั้น ยังไม่มีการแสดงรายละเอียดของกระบวนการทำงานหรือโพรเซสต่าง ๆ ซึ่งเราต้องการมีการแตก Context Diagram ออกเป็นระดับย่อย หรือระดับลูก ต่อไปอีกเพื่ออธิบายรายละเอียดของงานต่าง ๆ ให้มากขิ่งขึ้น ซึ่งเราจะเรียกความสัมพันธ์แบบนี้ว่า Parent / Child หรือ ความสัมพันธ์แบบ แม่ / ลูก โดยละดับของ DFD ที่แตกต่างจาก Context Diagram จะเป็น DFD Level 1 และขณะเดียวกัน ถ้ามีการแตกโพรเซสย่อยของ DFD Leve1 1 ต่อไปอีก DFD ที่ย่อยลงไปจะเป็น DFD Leve1 2 ……ดังแสดงในรูปตัวอย่าง


รูปแสดงการแยกโพรเซสย่อย
รายละเอียดเพิ่มเติม http://www.bcoms.net/system_analysis/lesson52.asp

ทักษะสำคัญของนักวิเคราะห์ระบบ

ทักษะสำคัญของนักวิเคราะห์ระบบ





ทักษะทางด้านการวิเคราะห์
          การที่นักวิเคราะห์ระบบจะมีทักษะการวิเคราะห์ที่ดีและครบถ้วนนั้นก็จะต้องประกอบไปด้วยองค์ประกอบด้านต่าง ๆ ที่มีความสำคัญอย่างมากดังต่อไปนี้
          1. การคิดอย่างเป็นระบบ : ซึ่งในส่วนของการคิดอย่างเป็นระบบให้ได้นั้นก่อนอื่นจะต้องมีความเข้าใจก่อนว่า “ระบบ (System)“ คืออะไร โดยถ้าพิจารณาในมุมมองของธุรกิจแล้วนั้นระบบก็คือองค์ประกอบต่าง ๆ ของกระบวนการทำธุรกิจ ที่ทำธุรกิจนั้นสามารถดำเนินการได้ตามวัตถุประสงค์ที่ตั้งไว้
ลักษณะสำคัญของระบบ
          1. ระบบจะมีองค์ประกอบอยู่ 9 ส่วนที่สำคัญ
          2. ระบบจะเกี่ยวข้องกับสภาพแวดล้อมที่อยู่
          3. จะมีขอบเขต (boundary) เป็นตัวแบ่งกั้นระหว่างระบบกับสภาพแวดล้อมนั้น ๆ
องค์ประกอบของระบบ มีดังนี้
1. ส่วนประกอบ (component): ส่วนต่าง ๆ ที่เป็นส่วนย่อย ๆ ที่อยู่ในระบบหรือระบบย่อย
2. ความสัมพันธ์ระหว่างส่วนประกอบ (Interrelated Component): ความสัมพันธ์ที่เกิดขึ้นระหว่างส่วนประกอบ
3. ขอบเขต (Boundary) : เป็นสิ่งที่แบ่งเขตระหว่างระบบกับสภาพแวดล้อมภายนอก
4. วัตถุประสงค์ (purpose): สิ่งที่บอกว่าระบบดังกล่าวนี้มีความมุ่งหมายหรือวัตถุประสงค์อย่างไรบ้าง
5. สภาพแวดล้อม (Environment): สิ่งที่อยู่ภายนอกล้อมรอบตัวระบบที่กำลังศึกษา
6. ส่วนเชื่อมต่อ (Interface): เป็นจุดที่ระบบมีการแสดงในส่วนของข้อมูลรับเข้าจากผู้ใช้ งาน
7. ข้อมูลรับเข้า (Input): เป็นสิ่งที่รับเข้ามาจากภายนอกเข้าสู่ระบบเพื่อใช้ในการประมวล ผลของระบบ
8. ข้อมูลส่งออก (output) เป็นสิ่งที่ระบบส่งผลมาหลังจากที่ได้ทำการประมวลผลเสร็จสิ้น
9. ข้อจำกัด (Constraint): สิ่งที่เป็นตัวกำหนดเพื่อที่ให้ระบบสามารถทำงานได้สำเร็จลุ ล่วงได้
การแตกระบบเป็นส่วนย่อย
          เป็นกระบวนการที่ทำให้เราสามารถเรียนรู้และเข้าใจ ในตัวระบบได้ดีและลึกซึ้งมากยิ่งขึ้น เนื่องจากถ้าเรามองระบบโดยภาพรวมใหญ่ทั้งหมดอาจทำให้ยากในการเข้าใจ ซึ่งวิธีการในการแตกระบบเป็นส่วนย่อยเราจะมีวิธีการ ดังต่อไปนี้
          - แบ่งระบบออกเป็นส่วนย่อย ๆ เพื่อที่จะได้สามารถจัดการในแต่ละระบบย่อยได้เต็มที่
          - มุ่งเน้นในการพิจารณาระบบย่อยที่เกี่ยวข้องให้เหมาะสมกับผู้ใช้งาน
          - สร้างองค์ประกอบต่าง ๆ ในระบบในเวลาที่ต่างกัน
          
          2. องค์ความรู้เกี่ยวกับองค์กร : นักวิเคราะห์ระบบควรที่จะรู้เกี่ยวกับองค์กร ที่ตนได้เข้าไปทำการพัฒนาระบบให้โดยการที่จะ ทำการพิจารณาว่านักวิเคราะห์ระบบนั้น มีความรู้ในด้านใดที่จำเป็นบ้างต้องพิจารณา ดังต่อไปนี้
          2.1 เข้าใจการทำงานภายในองค์กรว่ามีการทำงานอะไรบ้าง และมีลักษณะเช่นใดในแต่ละงาน
          2.2 มีองค์ความรู้ในงานเฉพาะด้านขององค์กรและทราบว่ากระบวนการในแต่ละฝ่ายหรือแต่ละแผนกขององค์กรนั้น ๆ เป็นอย่างไร
          2.3 รู้ว่าการที่จะทำงานให้สำเร็จลุล่วงได้นั้นจะต้องทำอย่างไรบ้าง
          2.4 เข้าใจนโยบายขององค์กร
          2.5 ทราบถึงสภาพแวดล้อมในภาวะปกติ และภาวะที่มีการแข่งขัน ว่ามีความแตก ต่างกันอย่าไรบ้าง
          2.6 ทราบถึงกลยุทธ์และกลวิธีต่าง ๆ ที่องค์กรได้ใช้อยู่ในปัจจุบัน
          
          3. การระบุปัญหา : เป็นวิธีที่ต้องสามารถทราบและระบุให้ได้ว่า ปัญหาที่เกิดขึ้นกับการพัฒนาระบบนั้นมีอะไรบ้าง แต่ก่อนที่จะสามารถระบุได้ว่าปัญหามีอะไรเราต้องทราบก่อนว่าปัญหาคืออะไรปัญหาคือ “ความแตกต่าง” ระหว่างสิ่งที่เป็นอยู่ในปัจจุบันกับสิ่งที่ต้องการหรือคาดหมายจะให้เป็น โดยส่วนมากนั้นการระบุความแตกต่างที่เกิดขึ้นจะทำการเปรียบเทียบระหว่างผลลัพธ์ที่เราได้มากับผลลัพธ์ที่ได้จากต้นแบบว่ามีความต่างกันหรือไม่ ถ้าต่างกันก็จะเกิดเป็นปัญหาขึ้นมา
         
          4. การวิเคราะห์และแก้ปัญหา : เป็นกระบวนการที่ George Huber ได้ทำการพัฒนามาจากกระบวนการการตัดสินใจของ Herbert Simon ซึ่งในกระบวนการวิเคราะห์และแก้ปัญหานั้นมีขั้นตอนทีมีความสำคัญทั้งหมดอยู่ 4 ขั้นตอน ดังนี้
          4.1 การระบุปัญหา : เป็นขั้นตอนที่ทำการเก็บรวบรวมข้อมูลต่าง ๆ ที่เกี่ยวข้องทั้งหมดก่อน จากนั้นจึงทำการระบุปัญหาที่พบว่าปัญหานั้นคืออะไร เพื่อที่จะได้ทำการ วิเคราะห์และแก้ไขต่อไป
          4.2 การออกแบบและค้นหาทางเลือก : ทำการค้นหาทางเลือกต่าง ๆ ที่จะสามารถนำเอามาใช้ในการแก้ไขปัญหาได้ว่ามีการเลือกใดบ้างที่มีความน่าจะเป็นในการนำมาแก้ไขปัญหาได้
          4.3 การตัดสินใจเลือกทางเลือก : ทำการเลือกทางเลือกต่าง ๆ ากขั้นตอนที่แล้วเพื่อใช้ในการแก้ไขปัญหาที่ได้วางไว้ตั้งแต่แรก แต่ยังไม่นำเอาไปใช้งานจริง
          4.4 การนำไปใช้ : เป็นการนำเอาผลที่ได้จากการตัดสินใจดังกล่าวข้างต้น ไปทำการประยุกต์ใช้งานจริง ในสภาพการทำงานจริง เพื่อแก้ไขปัญหาที่เกิดขึ้นมา



ทักษะเชิงเทคนิค
          นอกจากทักษะทางด้านการวิเคราะห์แล้วนักวิเคราะห์ระบบยังต้องอาศัยทักษะเชิงเทคนิคอีกด้วย ทั้งนี้เพื่อที่จะสามารถได้ใช้ประโยชน์ได้ว่าถ้าพัฒนาระบบแล้วจะมีการเลือกใช้งานเทคโนโลยีอย่างใดจะได้ใช้งานให้เหมาะสมยิ่งขึ้น ซึ่งวิธีการในการพัฒนาทักษะเชิงเทคนิคของนักวิเคราะห์ระบบมีอยู่ด้วยกัน 3 วิธีหลัก ๆ ดังนี้
1. ศึกษาหาความรู้เกี่ยวกับเทคโนโลยีต่าง ๆ ที่มีการเปลี่ยนแปลงอย่างรวดเร็วอยู่เสมอ 
2. ร่วมกิจกรรมที่ช่วยในการเสริมสร้างทักษะทางเทคนิค เช่น
- การอ่านหนังสือ,วารสารทาง IT ที่มีจำหน่ายตามท้องตลาด
- การเป็นสมาชิกของกลุ่ม,ชมรมทาง IT
- ร่วมเรียน/สอนในสถาบันการศึกษา ซึ่งช่วยทำให้แลกเปลี่ยนความรู้ความคิดกับคนอื่น ๆ
- ร่วมในการฝึกอบรมที่องค์กรจัดให้
- ร่วมประชุมหรือสัมมนาในงานที่เกี่ยวกับ IT
- ค้นหาข้อมูลทางอินเตอร์เนต
- มีส่วนร่วมในการประชุมหรือในกลุ่มใหม่ ๆ ทั้งระดับชาติและนานาชาติ
 
3. เรียนรู้และเข้าใจเทคโนโลยีที่หลากหลาย เช่น
- รูปแบบของเครื่องคอมพิวเตอร์
- ภาษาที่ใช้ในการทำงานของคอมพิวเตอร์
- ระบบปฏิบัติการ
- ฐานข้อมูลและระบบการจัดการฐานข้อมูล
- มาตรฐานในการสื่อสารข้อมูล
- เครื่องมือต่าง ๆ ที่ใช้ในการพัฒนาระบบ
- ภาษาและเครื่องมือที่พัฒนาเว็บไซต์


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

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

          3. การจัดการความเสี่ยง : เป็นกระบวนการจัดการกับความเสี่ยงที่สามารถเกิดขึ้นในระหว่างการพัฒนาระบบ ว่าถ้าเกิดความ เสี่ยง นั้นขึ้นแล้วเราจะมีวิธีการอย่างไรที่จะลดหรือป้องกันความเสียหายของความเสี่ยงที่จะเกิดขึ้น
          

          4. การจัดการกับการเปลี่ยนแปลง : เป็นกระบวนการที่จัดการกับการเปลี่ยนแปลงต่าง ๆ ที่จะเกิดขึ้นระหว่างการพัฒนาระบบ ซึ่งถ้าเราไม่มีวิธีการจัดการกับการเปลี่ยนแปลงต่าง ๆ เหล่านั้นแล้วก็จะส่งผลต่อมาตรฐานในการพัฒนาระบบที่ไม่แน่นอน


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

          
          2. การทำงานเกี่ยวกับการทำงานเป็นทีม : ซึ่งจะมีหลักในการพิจารณาที่แตกต่างกัน ใน กรณีที่ทำงานเกี่ยวกัน ปัจจัยที่พิจารณาถึงใน การทำงานก็คือ เวลาในการทำงาน, ข้อสัญญาหรือข้อตกลงต่าง ๆ และกำหนดระยะเวลาแล้วเสร็จ ส่วนถ้าเป็นการทำงานกับทีมนั้นจะต้อง คำนึงถึงการจัดทำมาตรฐานในการทำงานร่วมกันและการประสานงานกันในการทำงาน
          

          3. อาศัยเครื่องมือที่ช่วยอำนวยความสะดวกในการทำงานกลุ่ม : เครื่องมือที่เข้ามามีส่วนช่วยอย่างมากในการทำงานกลุ่ม
ร่วมกันของ นักวิเคราะห์ระบบกับทีมพัฒนาระบบก็คือ JAD (Joint Application Development) โดยจะช่วยอำนวยความสะดวกในการทำงาน ในรูปแบบทีมนั้นเป็นไปได้อย่างเหมาะสมมากยิ่งขึ้น
          

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