วันจันทร์ที่ 29 มีนาคม พ.ศ. 2553

ฝึกงานวันที่ 6 testing

unit testing -มีลักษณะเป็นประเภท white box เป็นหน่วยที่เล็กที่สุดของโปรแกรม อาจจะเป็นพวก class ย่อยๆ เมธอดย่อยๆ

integration testing - คือเอา unit แต่ละตัวมาต่อๆกัน แล้ว test เพื่อทดสอบ การทำงานในแบบต่างๆ

functional testing - คือนำ integrated component มารวมแล้วทดสอบตามรายการ functionality ขั้นนี้มักจะเป็น black box

system testing - อันนี้จะมี flow มากขึ้น คือทดสอบทั้งระบบ เพื่อทดสอบการทำงานโดยรวม

acceptance testing - อันนี้ถ้าทดสอบไม่ผ่านก็ไม่ต้องเอาเงินครับ คือทดสอบกับความพอใจของลูกค้านั่นเอง

วันศุกร์ที่ 26 มีนาคม พ.ศ. 2553

ฝึกงานวันที่ 5 MVC & เทคนิคการนำเสนอข้อมูล

วันนี้นะครับได้นำเสนอข้อมูลที่ไปค้นหามาทั้งอาทิตย์ ในหัวข้อ MVC ก็สรุปเนื้อหาได้ดังนี้ครับ















MVC ป็นหนึ่งในหลายๆ pattern ของ Architectural patterns โดยแยกออปเจคที่เก็บข้อมูล (model) ออปเจคที่แสดงข้อมูล (view) และออปเจคที่ติดต่อกับผู้ใช้ (controller) ออกจากกันอย่างชัดเจน เหมือนการสร้างโปรแกรมเป็นส่วนๆ
สามารถถอดออกหรือนำมาประกอบกันได้ ทำให้ง่ายสำหรับการเขียนโปรแกรม
ที่จำเป็นจะต้องแก้ไขบ่อยๆ สามารถแก้ไขเป็นส่วนๆได้เลย

M-odel เป็นส่วนที่เกี่ยวข้องกับข้อมูลต่างๆ เช่น ฐานข้อมูลต่าง หรือแหล่งข้อมูลต่างๆ ซึ่งตัว Model เองก็จะต้องมี Model Logic อยู่ด้วย ซึ่งก็หมายถึง เงื่อนไขการเข้าถึงหรือการเก็บข้อมูล จะเก็บอย่างไร ชนิดไหน ต้องผ่านขั้นตอนอย่างไรมาก่อน ซึ่งสรุปสั้นๆว่า Process นั่นเอง หน้าที่ของ Model ไม่มีอะไรไปมากกว่า “การเก็บข้อมูล” และ “การส่งข้อมูล” ส่วนเรื่องที่ว่าจะ "เก็บยังไง" และ "ส่งยังไง" อันนี้เป็นเรื่องของ Model Logic

V-iew คือ ส่วนของการแสดงผล หน้าที่ของ View ไม่มีไปมากไปกว่า “การแสดงผล” View มีลักษณะเช่นเดียวกับ GUIs ของ Application ต่างๆ ซึ่งภายใน View ก็ต้องมี View Logic เช่นเดียวกันกับ Model สำหรับ View Logic ก็คือข้อกำหนดของการแสดงผล ขนาดของหน้าต่าง, สไตล์ของปุ่ม, ตัวอักษรสีอะไร ฯลฯ แต่

C-ontroller ส่วนนี้เป็นส่วนที่เชื่อมการทำงานระหว่าง Model กับ View แต่ในการทำงานจริง มันคือ “User Logic หรือ Action Logicเพราะมันเป็นส่วนควบคุมการทำงานของ User ที่ทำต่อ Application ว่า User ทำอะไรได้บ้าง เช่น ปุ่มนี้กดได้, Slider นี้ปรับค่าได้, Option นี้เลือกได้ เป็นต้น จากนั้น Controller ก็จะทำหน้าที่เชื่อมโยงระหว่าง Model กับ View ตามคำสั่งที่กำหนดเอาไว้ ว่าต้องไปติดต่อกับ Model (ติดต่อกับ Model ยังไงขึ้นกับ Model Logic) แล้วเอามาแสดงผลใน View (แสดงผลยังไงก็ขึ้นกับ View Logic)

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

วันพฤหัสบดีที่ 25 มีนาคม พ.ศ. 2553

ฝึกงานวันที่ 4 architectural patterns

สำหรับเนื้อหาที่ด้เรียนรู้วันนี้นะครับ ขอเขียนสรุปเป็นบทความเลยละกัน

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

ประกอบด้วยรูปแบบต่างๆดังนี้
1. layer ใช้กับสถาปัตยกรรมที่เป็น OOD จะแบ่งกลุ่มของโมดูลต่างๆ โดยจะมีที่แต่ละโมดูลจะสามารถเรียกใช้โมดูลอื่นๆได้
2.MVC (Model View Controler) เป็นรูปแบบที่จะแบ่งระบบออกเป็น 3 ส่วน คือ Model View และ Controler โดยแต่ละส่วนจะทำหน้าที่ต่างกัน
ในส่วนแรก Model จะเป็นส่วนที่ ทำหน้าที่เกี่ยวกับฐานข้อมูล และข้อมูลต่างๆ โดยที่จะถูกกำหนดการเข้าถึงข้อมูลโดยนักพัฒนา ระบบโดยการสร้าง subclass เพื่อช่วยในการจัดการกับข้อมูลให้ได้ง่ายขึ้น โดยส่วนนี้จะมีหน้าที่ตรวจสอบความสัมพันธ์ของข้อมูล
ความถูกต้อง
View เป็นส่วนที่จะแสดงผลออกทางเว็บ
Controler เป็นส่วนของของ process

*ขอเกริ่นนำไว้เพียงเท่านี้ เดี๋ยวพรุ่งนี้มีพรีเซนต์เรื่องนี้เดี๋ยวไม่มีอะไรเขียน

3.Multitier architecture (ใช้กับองค์กรณ์ธุรกิจเป็นส่วนใหญ่ ) เป็นโครงสร้างที่แบ่งออกเป็น 3 ชั้นคล้ายๆ กับ MVC มีฐานข้อมูลที่ ชั้น อื่นๆสามารถเรียกใช้ได้ ทำให้ลดความซ้ำซ้อนของข้อมูล ชั้นแรกคือ
Presentation เป็นชั้นที่อยู่สูงที่สุด ชั้นนี้จะทำหน้าที่เกี่ยวกับการนำเสนอข้อมูล หรือการรับข้อมูลเข้ามาเพื่อส่งต่อไปดำ เนินการในชั้นถัดไป
Application เป็นชั้นที่ แยกออกจากชั้นนำเสนอ มีหน้าที่ควบคุมการทำงานของโปรแกรม โดยการประมวลผลที่ละเอียด
Data ชั้นนี้จะประกอบด้วย Server database การจัดเก็บข้อมูลต่างๆ จะเรียกใช้ในชั้นนี้ โดยจะเก็บ้อมูลในลักษะ เป็นกลางให้ชั้น อื่นๆ เรียกใช้งานได้
4 Pipe and filter architecture โครงสร้างแบบท่อ ???
5 Peer-to-peer (P2P) เป็นเทคโนโลยีการสื่อสารข้อมูลบนเครือข่ายคอมพิวเตอร์แบบ client-client โดยที่ client แต่ละเครื่องมีข้อมูล เก็บอยู่ และสามารถจำลองตนเองเป็น server เพื่อเปิดให้ client เครื่องอื่นๆ สามารถเข้ามาโหลดข้อมูลจากเครื่องของตนเองได้โดย อาศัยพลังงานและ bandwidth ที่เครื่องตนเองมี ซึ่งจะแตกต่างกับการสื่อสารแบบ client-server ที่มี server เก็บข้อมูลไว้เพียงเครื่อง เดียว และเปิดให้ client เครื่องอื่นเข้ามาโหลดข้อมูล
6. Implicit invocation ???
7. Blackboard system ???
8. Service-oriented architecture เป็นสถาปัตยกรรมเชิงบริการ การพัฒนาระบบอาจจะเป็นอิสระต่อกัน อาจจะมีเทคโนโลยีที่ใช้ระบบ แตกต่างกันไป เช่น นเช่น Java, .NET, Oracle แนวคิดของระบบ SOA คือการจัดระบบ Silo-Oriented Architecture ใหม่ โดยการสร้างระบบไอทีให้เป็น 4 ชั้น (Layer)
Resource Layer ซึ่งจะเป็นชั้นของระบบโครงสร้างไอทีต่างๆ ในปัจจุบัน เช่นระบบฐานข้อมูล Oracleระบบโซลูชัน SAP หรือ PeopleSoft เป็นต้น
Service Layer ซึ่งเป็นชั้นของส่วนประกอบเซอร์วิสต่างๆ ที่สามารถนำมาใช้ใหม่ได้ โดยส่วนประกอบเซอร์วิสเหล่านี้จะพัฒนามาจากโมดูล (Module) ต่างๆ ที่รันบน Resource Layer เช่นโมดูลของฐานข้อมูล Oracle โมดูลของระบบโซลูชัน SAP หรือ PeopleSoft และโมดูลของโปรแกรมประยุกต์ที่อาจพัฒนาด้วย Java หรือ .NET เป็นต้น
Process Layer ซึ่งเป็นชั้นของกระบวนการทางธุรกิจ (Business Process) ที่พัฒนาขึ้นมาจากการส่วนประกอบเซอร์วิสต่างๆ
Access Layer ซึ่งเป็นชั้นของการเรียกใช้กระบวนการทางธุรกิจที่พัฒนาขึ้น โดยอาจผ่านทางเว็บไซต์ (Web Site) หรือโทรศัพท์ เคลื่อนที่ (Mobile Phone)

9. Naked objects ???


*เครื่องหมาย ??? หมายถึงเนื้อหาในเว็บมีค่อนข้างน้อยบางส่วนก็เป็นภาษาอังกฤษแปลไม่ค่อยออก

วันพุธที่ 24 มีนาคม พ.ศ. 2553

ฝึกงานวันที่ 3 ฟังสัมนาของไมโครซอฟท์ ที่แชงการีล่า

สรุปเนื้อหาวันนี้ ในช่วงเช้าจะเป้น preview มีทั้งหมด 3 เรื่อง เรื่องแรกคือ visio share point เป็น tool ที่ใช้สำหรับเขียน ไดอะแกรม มีความสามารถเพิ่มมาจากตัวเดิม สามารถดึงข้อมูลมาจากฐานข้อมูลได้ ซึ่งจะโยงกับหน้าเว็บสามารถแก้ไขตัวฐานข้อมุล โดยผ่านหน้าเว็บได้

เรื่องที่ 2 Sql server 2010 เรื่องนี้ไม่ได้ฟัง T T
เรื่องที่ 3 VS 2010 ได้เพิ่มลูกเล่นต่างๆ เข้าไปเยอะมาก เช่น view mouse คือการเลือกซูมเข้าออกดูโค๊ดได้ด้วยเม้าส์ สามารถดูได้ว่าโค๊ดที่เราเขียนมีฟังก์ชั่นอะไรบ้างที่กำลังเรียกใช้อยุ่ , มีหมุดสำหรับปักสำหรับการทำ Debug code เพื่อเวลาแก้ไขสามารถรู้ได้ว่าเราได้แก้ไขตรงส่วนไหนไปแล้วบ้าง


ในช่วงบ่ายได้เข้าฟังของส่วน VS 2010
ซึ่งมีเนื้อหาดังนี้

เรื่องแรก VB 10 พูดโดยคุณ Banpote Ryan กล่าวถึงวิธีการเขียนโค๊ดที่ทำได้สั้นลง การเขียนอาร์เรย์ที่เป็นลักษณะ Array literral คือเป็นการเขียนอาร์เรย์แบบสั้น เช่น

int a(4);
a(0)=1;
a(1)=2; ก็มาเป็น int a(4)={1,2,3,4};
a(2)=3;
a(3)=4;

มีฟังก์ชั่นเสริมในการตัดบรรทัด สามารถสร้าง Shotcut ของแต่ละคำสั่งเพื่อใช้ในการดึงข้อมูลได้
มันสามารถสร้างคลาสที่กำลังทำงานอยู่ ได้เลย โดยที่เราไม่ต้อง ไปสร้างลาสเอง และยังสามารถสร้าง interface ให้เราได้อีกด้วย มีตัวคำสั่งที่ช่วยในการปรับ perfomance ทำให้อ่านโค๊ดได้เร็วขึ้น

เรื่องที่ 2 C# 4 โดยคุณ สุเทพ แสงวิโรจนพัฒน์ C# 4 tool ตัวนี้นั้น จะเป็นลักษณะ Dynamic การทำงานที่เพิ่มมาจะมีลักษณะ คล้ายๆ กับ VB 10 มีสิ่งเพิ่มขึ้นมาคือ วิธีการส่งพารามิเตอร์ ที่สามารถเพิ่มชื่อ ของพารามิเตอร์ เข้าไปด้วยได้ เช่น
a.Calculate(1,2,3) เป็น a.Calculate(A 1,B 2,C 3) เป้นต้น การเรียกใช้คำสั่ง Dynamic เป็นการเรียกใช้ Object ที่ไม่มีอยู่ในคลาส แต่อาจอยู่ในคลาสอื่น ๆ คอมไพล์เล่อร์ ช่วยเราเขียนโค๊ด ทำให้ง่ายขึ้น

เรื่องที่ 3 ASP .net 4
มี EF ที่ช่วยทำงานเกี่ยวกับฐานข้อมูล โดยจะทำฐานข้อมูลให้อยู่ในรูป Object หลังจากนี้ฟังไม่ค่อยรู้เรื่องแล้ว เพราะเค้าใช้การเขียนโค๊ด แต่ผมมองไม่เห็น บอร์ด เพราะไม่ได้ใส่แว่นมาด้วย

เรื่องที่ 4 Silverlight 4 มีคุณสมบัติใหม่มากมาย สามารถเชื่อมฐานข้อมูลได้ง่ายขึ้น เชื่อมต่อเว็บแคมได้
จัดการกับข้อมมูลได้โดยเข้ามาที่ Data grid ,สามารถส่งข้อมูลเข้า Excel แต่ต้องทำให้เป็น Window application ก่อน

เรื่องที่ 5 UML Features ใน VS 2010 แปลงโค๊ดเป็น Sequen diagram ได้
มีไดอะแกรมให้ใช้ทั้งหมด 5 ตัว คือ usecase , Sequen,activity อีก 2 อันจำจดมาอ่านไม่รู้เรื่อง

ทั้งหมดนี้คือสรุปเนื้อหาเท่าที่หนุ่มรู้เรื่องครับผม ส่วนใหญ่จะเป็นการแนะนำtool ใหม่ๆ กับเทคนิคการใช้ tool ใหม่ ๆ มากกว่า

วันอังคารที่ 23 มีนาคม พ.ศ. 2553

ฝึกงานวันที่ 2 HTML,XML,XHTML และ CSS คืออะไร


HTML (Hyper Text Markup Language)

HTML ย่อมาจากคำว่า Hyper Text Markup Language คือภาษาคอมพิวเตอร์ที่ใช้ในการแสดงผลของเอกสารบน website หรือที่เราเรียกกันว่าเว็บเพจ ถูกพัฒนาและกำหนดมาตรฐานโดยองค์กร World Wide Web Consortium (W3C) และจากการพัฒนาทางด้าน Software ของ Microsoft ทำให้ภาษา HTML เป็นอีกภาษาหนึ่งที่ใช้เขียนโปรแกรมได้ หรือที่เรียกว่า HTML Application 
       HTML
 เป็นภาษาประเภท Markup   สำหรับการการสร้างเว็บเพจ โดยใช้ภาษา HTML สามารถทำโดยใช้โปรแกรม Text Editor ต่างๆ เช่น Notepad, Editplus หรือจะอาศัยโปรแกรมที่เป็นเครื่องมือช่วยสร้างเว็บเพจ เช่น Microsoft FrontPage, Dream Weaver ซึ่งอํานวยความสะดวกในการสร้างหน้า HTML ส่วนการเรียกใช้งานหรือทดสอบการทำงานของเอกสาร HTML จะใช้โปรแกรม web browser ในการแสดงผล

XML (eXtensible Markup Language)

ปัจจุบันเทคโนโลยีมีแพลตฟอร์มมากมาย หลากหลายภาษา แต่ละภาษาก็จะคุยกันด้วยสำนวนของมันเอง ในงานที่ต้องใช้แพลตฟอร์มหลากหลาย จะมีปัญหาก็คือมันจะทำงานร่วมกันอย่างไร? จะส่งข้อมูลอย่างไร ? เช่นถ้าจะเขียน ASP.net ให้คุยกับ JSP(Java) หรือภาษาอื่น ๆ ต้องทำอย่างไร ? XML จึงเกิดขึ้นมาเพื่อแก้ปัญหานี้ มันจะทำหน้าที่เป็นตัวกลางเก็บข้อมูล โดยที่ ASP.net , JSP(Java) หรือภาษาอื่นๆ ต้องสามารถเข้าใจภาษา XML เป็นมาตรฐานอยู่แล้ว 
ขอยกตัวอย่างให้เห็นชัด ๆ ASP.net ต้องการแลกเปลี่ยนข้อมูลกับ JSP เราก็เขียน ASP.net ให้สร้างไฟล์ XML พร้อมทั้งใส่โครงสร้างและข้อมูลตามที่เราต้องการ จากนั้นเราก็เขียน JSP ให้มาอ่านไฟล์ XML นั้นๆแค่นี้ ASP.net ก็แลกเปลี่ยนข้อมูลกับ JSP ได้แล้ว

       XML คืออะไร ? : เริ่มกันที่ว่า XML ย่อมาจาก Extensible Markup Language เป็นภาษาหนึ่งที่ใช้ในการแสดงผลข้อมูล ถ้าเปรียบเทียบกับภาษา HTML จะแตกต่างกันที่ HTML ถูกออกแบบมาเพื่อการแสดงผลอย่างเดียวเท่านั้น เช่นให้แสดงผลตัวเล็ก ตัวหนา ตัวเอียง เหมือนที่คุณเคยเห็นในเวบเพจทั้วไป แต่ภาษา XML นั้นถูกออกแบบมาเพื่อเก็บข้อมูล โดยทั้งข้อมูลและโครงสร้างของข้อมูลนั้นๆไว้ด้วยกัน ส่วนการแสดงผลก็จะใช้ภาษาเฉพาะซึ่งก็คือ XSL (Extensible Stylesheet Language) 


    โครงสร้างของภาษา XML เป็นอย่างไร ?
ภาษา XML มีโครงสร้างที่ประกอบด้วยแท็ก(Tag)เปิด และแท็กปิด เช่นเดียวกับภาษา HTML แต่ภาษา XML คุณสามารถสร้างแท็กรวมทั้งกำหนดโครงสร้างของข้อมูลได้เอง ซึ่งความสามารถตรงนี้ตัวภาษา HTML ทำไม่ได้เพราะภาษา HTML ถูกกำ

หนดแท็กตายตัวโดย W3C


XHTML (eXtensible Hyper Text Markup Language)

เป็นภาษาที่รวมเอาทั้ง HTML และ XML ไว้ด้วยกัน ประโยชน์ของมันคือการสร้างเว็บเพื่อการส่งข้อมูลทั่ว ๆ ไปอย่างหนึ่ง เพิ่มขีดความสามารถในการสร้างแท็กใหม่ ๆ ได้เองอย่างหนึ่ง (โดยที่เรากำหนดได้ด้วยว่าจะให้แท็กเหล่านั้นแสดงผลอย่างไร) รองรับภาษาอื่น ๆ ที่ใช้ XML เป็นฐาน เช่น (SVG, MathML, chemML, SMIL) อีกอย่างหนึ่งและสุดท้ายคือ รองรับเทคโนโลยีในอนาคตซึ่งจะมี XML เป็นบทบาทหลัก เนื่องจากว่าในปัจจุบันนี้ มีความพยายามที่จะเข้าถึงเว็บด้วยอุปกรณ์ที่ไม่ใช่คอมพิวเตอร์มากขึ้นเช่น โทรศัพท์มือถือ โปรแกรมเสียงสังเคราะห์ ทีวี เบรลล์ หรืออุปกรณ์พกพาอื่น ๆ แต่เนื่องจากอุปกรณ์เหล่านี้ มีขนาดเล็กและอาจมีหน่วยความจำไม่มาก จึงอาจไม่สามารถประมวลผล HTMLแบบทั่ว ๆ ไปได้เพราะไม่มีความสามารถที่จะแก้ข้อผิดพลาดได้หากมีการเขียนโค้ดไม่ถูกต้อง XHTML จึงเป็นทางเลือกที่ดีที่สุด เนื่องจากว่าเอกสาร XHTML นั้นจะต้องมีลักษณะที่เรียกว่า well-formed ไม่มีข้อผิดพลาด มีการเปิดปิดแท็กอย่างถูกต้อง ฯลฯ จึงทำให้สามารถแสดงผลเอกสารนี้ได้อย่างง่ายดาย หากเอกสารไม่ถูกต้อง ก็อาจจะไม่แสดงผลไปเลย เหมือนกับเอกสาร XML

CSS(Cascading Style Sheet)  


     CSS ย่อมาจาก Cascading Style Sheet  มักเรียกโดยย่อว่า "สไตล์ชีต" คือภาษาที่ใช้เป็นส่วนของการจัดรูปแบบการแสดงผลเอกสาร  HTML โดยที่ CSS กำหนดกฏเกณฑ์ในการระบุรูปแบบ (หรือ "Style") ของเนื้อหาในเอกสาร อันได้แก่ สีของข้อความ สีพื้นหลัง ประเภทตัวอักษร และการจัดวางข้อความ ซึ่งการกำหนดรูปแบบ หรือ Style นี้ใช้หลักการของการแยกเนื้อหาเอกสาร HTML ออกจากคำสั่งที่ใช้ในการจัดรูปแบบการแสดงผล กำหนดให้รูปแบบของการแสดงผลเอกสาร ไม่ขึ้นอยู่กับเนื้อหาของเอกสาร เพื่อให้ง่ายต่อการจัดรูปแบบการแสดงผลลัพธ์ของเอกสาร HTML โดยเฉพาะในกรณีที่มีการเปลี่ยนแปลงเนื้อหาเอกสารบ่อยครั้ง หรือต้องการควบคุมให้รูปแบบการแสดงผลเอกสาร HTML มีลักษณะของความสม่ำเสมอทั่วกันทุกหน้าเอกสารภายในเว็บไซต์เดียวกัน โดยกฏเกณฑ์ในการกำหนดรูปแบบ (Style) เอกสาร HTML ถูกเพิ่มเข้ามาครั้งแรกใน HTML 4.0  เมื่อปีพ.ศ. 2539 ในรูปแบบของ CSS level 1 Recommendations ที่กำหนดโดย องค์กร World Wide Web Consortium หรือ W3C
     ประโยชน์ของ CSS
1.CSS มีคุณสมบัติมากกว่า tag ของ html เช่น การกำหนดกรอบให้ข้อความ รวมทั้งสี รูปแบบของข้อความที่กล่าวมาแล้ว
2.CSS นั้นกำหนดที่ต้นของไฟล์ html หรือตำแหน่งอื่น ๆ ก็ได้ และสามารถมีผล กับเอกสารทั้งหมด หมายถึงกำหนด ครั้งเดียวจุดเดียวก็มีผลกับการแสดงผลทั้งหมด ทำให้เวลาแก้ไขหรือปรับปรุงทำได้สะดวก ไม่ต้องไล่ตามแก้ tag ต่างๆ ทั่วทั้งเอกสาร
3.CSS สามารถกำหนดแยกไว้ต่างหากจาก ไฟล์เอกสาร html และสามารถนำมาใช้ร่วม กับเอกสารหลายไฟล์ได้ การแก้ไขก็แก้เพียง จุดเดียวก็มีผลกับเอกสารทั้งหมด
     CSS กับ HTML / XHTML  นั้นทำหน้าที่คนละอย่างกัน โดย HTML / XHTML จะทำหน้าที่ในการวางโครงร่างเอกสารอย่างเป็นรูปแบบ  ถูกต้อง เข้าใจง่าย  ไม่เกี่ยวข้องกับการแสดงผล  ส่วน CSS จะทำหน้าที่ในการตกแต่งเอกสารให้สวยงาม เรียกได้ว่า HTML /XHTML คือส่วน coding ส่วน  CSS คือส่วน desig


สรุปโดย NoOm

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




ข้อมูลอ้างอิง/แหล่งที่มา
http://www.mindphp.com
http://www.nextproject.net/contents/default.aspx?00048