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

สรุปบทเรียนที่ 3 Systems Engineering

Systems Engineering
    เป็นเรื่องของคนในองค์กร บุคคลที่ทำหน้าที่ออกแบบ สร้าง ซ่อมบำรุง ซอฟต์แวร์ และฮาร์ดแวร์ เพื่อให้ระบบดำเนินงานได้ตามต้องการ

Emergent properties *ความน่าเชื่อถือ เป็นคุณสมบัติของระบบ
       สามารถวัดได้จาก
             1. วัดน้ำหนักความสำคัญของระบบ
             2. วัดความเชื่อถือของระบบ
             3. วัดความสามารถในการใช้งานจริง

System Engineering Process *โปรเซส วิศวกรรมระบบ มีอยู่ 7 โปรเซส


System Engineering Process



       1. System requirement definition ขั้นตอนการเก็บรวบรวมความต้องการของระบบ 
           มี 3 ลักษณะ คือ
                   1 Functional requirement ฟังก์ชันการทำงานของระบบมีอะไรบ้าง
                   2 Non-Functional requirement คุณสมบัติที่ไม่เกี่ยวข้อกับการทำงานของระบบ
                         ที่แท้จริง
                   3 Unacceptable สิ่งที่ไม่ต้องการให้เกิดขึ้นกับระบบ เช่น ไฟดับ Server down เป็นต้น


         ปัญหาที่พบในการเก็บความต้องการ
                   1. ความต้องการเปลี่ยนโดยที่ระบบยังพัฒนาไม่เสร็จ อาจเกิดจากเวลาเปลี่ยนความ
                        ต้องการของคนเปลี่ยนตามเวลา เพราะเทคโนโลยีเปลี่ยน
                   2. ระยะเวลาในการพัฒนานาน ฮาร์ดแวร์เปลี่ยน ซอฟต์แวร์เปลี่ยน เทคโนโลยีเปลี่ยน
                   3. กำหนด Non-functional ได้ยาก เพราะสามารถมองเห้นได้เมื่อใช้งานไปแล้วเท่านั้น

      2. System design ขั้นตอนการออกแบบระบบ มี 5 ขั้นตอน

System Design Process

                   1. รวบรวมความต้องการมาแบ่งกลุ่มเป็นส่วนๆ
                   2. กำหนดว่าระบบใหญ่ควรมีระบบย่อยอะไรบ้าง
                   3. จับคู่ความต้องการเข้ากับระบบย่อย
                   4. กำหนดหน้าที่ของระบบย่อย
                   5. กำหนดส่วนติดต่อระหว่างระบบย่อยว่ามีการเชื่อมต่อ สื่อสารกันอย่างไร
           ปัญหาของการออกแบบระบบ
                   1. ไม่รู้ว่าใครเป็นผู้รับผิดชอบ
                   2. ปัญหาที่ยาก จะถูกผลักดันให้เป็นหน้าที่ของซอฟต์แวร์ ทำให้ซอฟต์แวร์มีขนาดใหญ่และ
                       ต้นทุนที่สูง
                   3. ฮาร์ดแวร์ ซอฟต์แวร์และ  Platform ไม่เหมาะกัน เช่น Windown, Max, Linux


      3. Sub system development ขั้นตอนการพัฒนาระบบ
                  - การพัฒนามักจะพัฒนาแบบคู่ขนานระหว่างฮาร์ดแวร์ ซอฟต์แวร์ และ Communication
                  - การพัฒนามักใช้ซอฟต์แวร์สำเร็จรูปมาใช้
                  - ระหว่างทีมพัฒนาในองค์กรอาจเกิดอุปสรรคได้

      4. System integration ขั้นตอนการนำระบบย่อยมารวมกัน
                  เริ่มจากการนำ Sub system ที่สำคัญที่สุดก่อน นำมาทำงานร่วมกัน เมื่อทำงานได้ก็นำ Sub
          system ต่อไป ทำไปเลื่อยๆ การรวมระบบในรูปแบบนี้จะทำให้ระบบล้ม หรือ เกิดความผิดพลาด
          น้อยลง>
     
      5. System installation ขั้นตอนการติดตั้งและนำไปใช้
             ปัญหาการติดตั้ง
                    1. สภาพแวดล้อมไม่เหมาะสม ไม่อำนวย
                    2. คนต่อต้านการนำระบบใหม่ไปใช้งาน เช่น กลัวหมดความสำคัญ
                    3. ระบบใหม่ที่พัฒนาขึ้นต้องทำงานคู่ขนานกับระบบเก่า ระบบอาจเข้ากันได้ลำบาก
                    4. พื้นที่การติดตั้งไม่เพียงพอ
                    5. การวางแผนอบรมการใช้งานระบบ
             ปัญหาการนำไปใช้งาน
                    1. ความต้องการที่ไม่คาดคิดจะโผล่ออกมา เมื่อพัฒนาเสร็จสิ้นแล้ว
                    2. ผู้ใช้งาน ไม่ใช้ระบบที่เราออกแบบ กรอกข้อมูลผิดตำแหน่ง
                    3. เวลาทำงานร่วมกับระบบอื่นอาจมีปัญหาได้
                          - ปัญหาทางกายภาพ
                          - ปัญหาการแปลงข้อมูล

      6. System evolution ขั้นตอนการปรับปรุงระบบ
                   เมื่อใช้งานไปแล้วต้องมีการพัฒนาโปรแกรมรุ่นใหม่ออกมา เพื่อให้มีการพัฒนาตาม
          ฮาร์ดแวร์ ซอฟต์แวร์ และ Technology ใหม่ๆ เมื่อปรับปรุงจะเกิดค่าใช้จ่าย

      7. System decommissioning ขั้นตอนการปลดละวาง เลิกใช้งาน
                   ปัญหาการเชื่อมโยงระหว่าง Database ตัวใหม่กับตัวเก่า

ไม่มีความคิดเห็น:

แสดงความคิดเห็น