วันอังคารที่ 11 กุมภาพันธ์ พ.ศ. 2557

SWE324 Techniques&Tools

เทอม 2-56

SWE324 Software Techniques&Tools


  หัวข้อ






พื้นฐานหลัก ประกอบไปด้วย
1. product : สิ่งที่ส่งมอบให้กับลูกค้า ทั้งตัวซอฟต์แวร์, เอกสาร(คู่มือ)  และเอกสารที่ใช้ในการผลิต

2. process : ขบวนการในการสร้างซอฟต์แวร์, การควบคุมคุณภาพของซอฟต์แวร์
        โดยภายใน process จะมี phase (Phase of life cycle)  ต่างๆ ดังนี้ 
    1. input
    2. activity ดำเนินการ
    3. review ตรวจสอบ ว่าตรงตามเงื่อนไขหรือความต้องการหรือไม่
    4. finish / ผลลัพธ์ แต่ถ้าไม่ใช่ก็ย้อนกลับไป activity
    
3. principle : แนวทางในกระบวนการผลิต

4. people : การเลือกคน, เทคนิคที่ใช้, การบริหารจัดการ, ทักษะการเข้าสังคม
        Business cycle วงจรธุรกิจ
    1. Inception (การรับทราบ/ทำความเข้าใจ) คือ การกำหนดเป้าหมาย, ขอบเขต กรณีต่างๆ ทางธุรกิจ
    2. Elaboration (กำหนดรายละเอียด/อธิบาย) คือ การวางแผนกิจกรรมและทรัพยากรที่ต้องใช้ (คน, เครื่องมือ, เงิน)
    3. Construction เป็นการสร้างผลิตภัณฑ์หรือบริการ
    4. Transition การส่งมือบสินค้าหรือบริหาร

5. tools :โปรแกรมที่ใช้แก้ไข (editor), การ debug, Configuration, เครื่องมือช่วยในการออกแบบ, โปรแกรมจัดทำเอกสาร

วันศุกร์ที่ 11 ตุลาคม พ.ศ. 2556

SWE462 การพัฒนา Web Application

     หัวข้อ
        - ความหมาย
        - Thin client and Thick client
        - Advantages (ข้อดี)
 2. HTTP
        - HTTP Request Message
 3. JavaScript
4. Ajax
        - Ajax
        - Communication 



     นิยามของ web application (definition of web Application)
        web application คือ การประยุกต์เว็บ หรือ การใช้เว็บที่เป็น application (ทำงานผ่าน browser โดยไ่ม่มีการ Install)
                web application มีประโยชน์ตรงที่สามารถใช้งานได้หลาย platform และไ่ม่ต้อง install ลงบนเครื่่องคอมพิวเตอร์
        Thin client = application/web browser ที่แค่แสดงผล หรือรับ-ส่ง ข้อมูล ด้วยภาษา HTML จาก Client เท่านั้น (มีความสามารถน้อยมาก)
        Thick Client = Client จะช่วย server ประมวลผล เช่น game-online มีการคำนวณด้วยความสามารถของเครื่องฝั่ง client
    
    ข้อดี
1. ง่ายต่อการส่งมอบแ่ก่ผู้ใช้ (ผู้ใช้เปิด browser เมื่อต้องการใช้เอง)
2. ง่ายต่อการ อัพเกรด (upgrade บน server ทีเดียว)
3. มีความยืดหยุ่นของ end user (เพราะไม่ต้องกังวลว่าจะสามารถใช้ program/app ที่โหลดมาได้หรือไม่)
4. ง่ายต่อการควบคุมข้อมูล (เนื่องจาก ข้อมูลมาจากแหล่งเดียว)

วันอาทิตย์ที่ 29 กันยายน พ.ศ. 2556

SWE323 Software verification and testing

Software verification and testing


      หัวข้อ
  1. Software Development process overview 
        - Software Development Life Cycle
        - Software Development Life Cycle  Approach 
  2. Overview of Testing Techniques
           - Error, Default, Failure
  3. Program Analysis
           - หลักการวิเคราะห์โปรแกรม 
                - Static Analysis Tool
                - Dynamic Analysis Tool  
                       - Integration Testing




Software Development process overview



Software Development Life Cycle
1. Define the problem ระบุปัญหา/กำหนดวัตถุประสงค์
2. Feasibility การกำหนดค่าใช้จ่าย เทคโนโลยีที่ใช้ ทีมพัฒนา ที่เป็นไปได้/สามารถทำงานได้
3. Analysis การจัดเก็บความต้องการและนำมาวิเคราะห์
4. Design ออกแบบ hi level design เช่น use case, data flow
5. Implementation การพัฒนาระบบ และการทดสอบ
6. Maintenance/review การปรับปรุง แก้ไขระบบ

วันเสาร์ที่ 28 กันยายน พ.ศ. 2556

SWE321 Software Analysis and Design

Software Analysis and Design


    หัวข้อ
 1. Software Design & Software Product นิยาม
 3. System Requirement Analysis
        - สิ่งที่ต้องคำนึง
        - สิ่งที่ได้จากการวิเคราะห์ความต้องการ
        - IEEE830
 4. Software Engineering Process and Practice
        - High level design



    Software engineering design สิ่งที่สำคัญ คือ
1. ลูกค้าต้องการอะไร (ความต้องการจริงๆ)
    - มีจุดประสงค์ที่ชัดเจน
2. การเข้าใจที่ตรงกันในกระบวนการการทำงาน และการสื่อสาร
    - มีการประชุม/พูดคุย
    - จัดทำเอกสารให้ชัดเจน ถูกต้อง อัพเดทตลอดเวลา
3. เทคนิควิธีการ/ขั้นตอนที่ใช้
    - แปลงการวิเคราะห์เป็นการเขียนโปรแกรม โดยให้มีการเปลี่ยนแปลงน้อยที่สุด

    Software design เป็นการกำหนด product กำหนด ฟังก์ชั่น, ความสามารถของซอฟต์แวร์ 
และ interface ทั้งจากคอมพิวเตอร์-ผู้ใช้ , คอมพิวเตอร์-คอมพิวเตอร์ เพื่อตอบสนองความต้องการ
ของลูกค้า

    ทักษะที่ต้องใช้
1. User Interface (ออกแบบหน้าจอ) ให้เหมาะสม, เน้นส่วนหลัก ส่วนรอง, ต้องออกแบบขั้นตอน
การดำเนินการให้ชัดเจน
2. Communications (ทักษะการสื่อสาร, พูดคุย) อธิบายให้ลูกค้าเข้าใจได้ง่าย, ทำความเข้าใจ
กับลูกค้า ด้วยมิตรและการแสดงออกที่ดี
3. Industrial design (การออกแบบการผลิต) ว่าจะใช้อะไรเป็นตัวช่วยในการออกแบบ
4. Marketing (การตลาด) กลยุทธ์การตลาดและการโฆษณา



    Software Product 
        ประกอบด้วย 1 หรือมากว่า 1 โปรแกรม, ข้อมูล หรือชุดข้อมูล และ เอกสาร ที่ช่วยสนับสนุน
การใช้งานและการบริการหลังการขาย ซึ่งสิ่งเหล่านี้จะตอบสนองความต้องการของลูกค้าทั้ง
ความจำเป็นของลูกค้า (needs) และความปรารถนาของลูกค้า (desires)