นักวิเคราะห์ระบบ เป็นผู้ที่ทำหน้าที่ศึกษาปัญหา และความต้องการขององค์กรด้วยการนำเทคโนโลยีสารสนเทศเข้ามาช่วยแก้ไขปัญหา นักวิเคราะห์จะต้องเห็นปัญหารายละเอียดที่แท้จริงในทุก ๆ ด้าน และสร้างแนวทางการแก้ปัญหาและหา solution ที่ดีที่สุดได้
สารสนเทศที่ดี
1. ตรงตามความต้องการ
2. ทันสมัย
3. เที่ยงตรง
4. ประหยัด
5. ประสิทธิภาพ
SDLC วงจรการพัฒนาระบบ
1. วางแผนโครงการ Why
2. วิเคราะห์
3. ออกแบบ
4. นำไปใช้
5. บำรุงรักษา
วิธีการพัฒนา
- traditional การพัฒนาเชิงโครงสร้าง
- object Oriented เชิงวัตถุ มองทุกอย่างเป็น object ติดต่อกัน
วิศวกรรมซอฟแวร์ (Software Engineering)
ใช้กับระบบที่ซับซ้อนขนาดใหญ่ ใช้สำหรับเป็นแบบแผนที่แน่นอน ชัดเจนในการควบคุมซอฟแวร์อย่างมีประสิทธิภาพ
Waterfall Model
1. วางแผนโครงการ
- ปัจจัยที่ต้องพัฒนาระบบใหม่
- ผู้ใช้งานเรียกร้อง
- ผู้บริหารระดับสูงให้ทำ
- ปัญหาและข้อผิดพลาดระบบเดิม
- แรงผลักดันภายนอก เช่นคู่แข่งทางการ้า การบริการลูกค้า
- ที่ใดไม่มีปัญหา ที่นั่นไม่มีการพัฒนา
1.1 กำหนดปัญหา
1.2 ศึกษาความเป็นไปได้
- ด้านเทคนิค ผู้ใช้พร้อมเรียนรู้ระบบใหม่หรือไม่
- ด้านเศรษฐศาสตร์ ดูเรื่องต้นทุน ผลตอบแทน
- ด้านการปฏิบัติงาน ตรงตามความต้องการ และดูทัศนคติของผู้ใช้
1.3 ทำpropersal
1.4 วางแผนและควบคุมกิจกรรม
2. Analysis
- รวบรวมความต้องการ
- นำความต้องการของผู้ใช้ นำไปวิเคราะห์และเรียบเรียงให้เข้าใจง่าย
- สังเกตการทำงานผู้ใช้แล้วเขียน workflowในการทำงาน
- วางแผนความต้องการร่วมกัน
2.1 Process Modeling แปลง requirement ออกมาในรูป model
-Data Flow diagram แสดงกระบวนการหรือกิจกรรม ความเคลื่อนไหลของข้อมูลในระบบ ทำให้ทราบถึง
ประโยชน์ Data Flow diagram
- ข้อมูลมาจากไหน
- ข้อมูลไปที่ไหน
- ข้อมูลเก็บไว้ที่ใด
- เกิดเหตุการณ์ใดกับข้อมูล
Logical -> ทำอะไร What
physical -> ทำอย่างไร How
ประโยชน์
- สรุปรวมข้อมูลทั้งหมดรูปแบบการพัฒนาเชิงโครงสร้าง
- ข้อตกลงร่วมกันระหว่างนักวิเคราะห์ระบบกับผู้ใช้งาน
- มีประโยขน์ในการออกแบบ
- อ้างอิงในอนาคต
- ทราบที่มาที่ไปของข้อมูล
2.2 Data Modeling แบบจำลองข้อมูล ใน logical
- ER-diagram
3.Design เชิง physical
- ต้องดูถึง ระบบที่จะพัฒนา
- สภาพแวดล้อม
- ปัจจัยอื่นๆ จะนำไปแทนระบบเดิมอย่างไร
- สร้างแบบพิมพ์เขียวที่สมบูรณ์ไปใช้จริง
3.1 Architecture Design อธิบายสภาพแวดล้อมทางเทคนิคของระบบงานใหม่
- สถาปัตยกรรมเครือข่ายแบบศูนย์รวม -> Hostทำงานหนัก
- สถาปัตยกรรมเครือข่ายแบบไฟล์เซิร์ฟเวอร์ -> serverทำงานน้อย ส่งไปทั้งไฟล์
- สถาปัตยกรรมเครือข่ายแบบ Client/Server -> กำลังพอดี ส่งเฉพาะส่วน
3.2 จัดหาอุปกรณ์ระบบ - ซื้อ
- เช่า
- เช่าซื้อ
3.3 ระบบความปลอดภัย
3.4 Database design
3.5 ออกแบบ Output
หลักการพิจารณา output
-ใครเป็นผู้ใช้
- มีประโยชน์อย่างไร
- รายละเอียดมีอะไรบ้าง
-ใช้บ่อยแค่ไหน
- แสดงออกในสื่อใด ทางจอ หรือเครื่องพิมพ์
3.6 ประเภทรายงาน
- ภายใน -> ภายในหน่วยงาน
- ภายนอก -> ให้แก่บุคคลภายนอก ต้องออกแบบให้ละเอียดครบถ้วนสวยงาม
4.coding
5.Testing
6.maintainance
UML ->การพัฒนาเชิงวัตถุ อธิบายให้เข้าใจด้วยหลายdiagram
- Use case Diagram บอกและเน้นว่าต้องทำอะไรในระบบ
- Sequence Diagram
- Class Diagram