school of Information communication Tecnology,

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
เทคโนโลยีฐานข้อมูลสำนักงาน
Advertisements

คำอธิบายรายวิชา ระบบธุรกิจ วัฏจักรของการพัฒนาระบบงาน ระเบียบ วิธีการและเครื่องมือในการวิเคราะห์ ผังงานระบบ ตารางและการตัดสินใจ การศึกษาความเป็นไปได้ของระบบการวิเคราะห์ความคุ้มค่าในการลงทุนในการพัฒนา.
วงจรพัฒนาระบบ (System Development Life Cycle)
(Material Requirement Planning)
COE โปรแกรมบริหารจัดการอู่ซ่อมรถยนต์
OpenProject รุ่นที่ มกราคม 2553 การเคหะแห่งชาติ อ
การออกแบบการวิจัยการเขียนเค้าโครงการวิจัย
การวิเคราะห์ระบบและวิธีปฏิบัติงาน
Object-Oriented Analysis and Design
หลักการออกแบบของ ADDIE model ADDIE model
Feature Driven Development
Business Modeling (บางส่วนอ้างอิงจาก ดร.อดิศร ณ อุบล)
Object-Oriented Analysis and Design
แผนผัง FlowChart Flow Chart คือ ขั้นตอนที่นำผลที่ได้จากการกำหนดและการ วิเคราะห์ปัญหามาเขียนเป็นแผนภาพหรือสัญลักษณ์ ประโยชน์ของผังงาน -ช่วยลำดับขั้นตอนการทำงานของโปรแกรม.
Information System Project Management
บทที่ 5 การจำลองแบบเชิงวัตถุ Object Modeling
การพัฒนากิจกรรม การเรียนรู้ โดยโครงงาน
Object-Oriented Analysis and Design
Creating Effective Web Pages
Use Case Diagram.
Surachai Wachirahatthapong
SCC - Suthida Chaichomchuen
บรรยายโดย สุรางคนา ธรรมลิขิต
บทที่ 2 การพัฒนาระบบ (System Development)
บทที่ 3 การวิเคราะห์โครงสร้าง Structure Analysis
Waterfall model แบบจำลองน้ำตก
บทที่ 15 Start การซ่อมบำรุงระบบ (System Maintenance) Next.
บทที่ 1 ความรู้พื้นฐานในการ พัฒนาระบบ
บทที่ 2 การพัฒนาระบบสารสนเทศ
การพัฒนาระบบสารสนเทศ (Information System Development)
CPE 491 Proposal (สอบเสนอหัวข้อเพื่อทำ Project)
แบบจำลองกระบวนการซอฟต์แวร์
System Development Lift Cycle
SYSTEM ความรู้ทั่วไปเกี่ยวกับระบบ
3. การพัฒนาระบบสารสนเทศ
บทที่ 4 Plan การวางแผน.
Chapter 2 Software Process.
บทที่ 3 การวิเคราะห์ Analysis.
ที่ใช้ใน Object-Oriented Design
การออกแบบระบบฐานข้อมูล
II > วงจรการพัฒนาระบบ (System Development Life Cycle)
2.1 วิธีแก้ปัญหาด้วยคอมพิวเตอร์ (Computer problem solving methods)
chatper 2 Software Requirement
DEVELOPMENT PRACTICING C- PROGRAMMING IMPLEMENTATION SYSTEM REQUIREMENT Wattanapong suttapak, Software Engineering, school of Information communication.
WATTANAPONG SUTTAPAK SOFTWARE ENGINEERING, SCHOOL OF INFORMATION COMMUNICATION TECHNOLOGY, UNIVERSITY OF PHAYAO Chapter 4 analysis of algorithm efficiency.
หลักการแก้ปัญหา.
Midterm outline Object-oriented programming Wattanapong suttapak, Software Engineering, school of Information communication Technology, university of phayao.
DEVELOPMENT PRACTICING C- PROGRAMMING IMPLEMENTATION SYSTEM REQUIREMENT Wattanapong suttapak, Software Engineering, school of Information communication.
Sequence Diagram Communication Diagram
Activity Diagram Wattanapong suttapak, Software Engineering,
การออกแบบการสอน รูปแบบ ADDIE Model
Object Oriented Programming : OOP
Modeling and Activity Diagram
การวิเคราะห์และออกแบบระบบ System Analysis and Design
ADDIE Model.
Unified Modeling Language
Lesson 10 Software Evolution
Chapter 1 Introduction to Software Engineering – Software Engineering Chaichan Kusoljittakorn 1.
การวิเคราะห์ความต้องการของระบบ
การออกแบบสื่อเพื่อการศึกษา ADDIE Model
Computer Program คือ ขั้นตอนการทำงาน ของคอมพิวเตอร์
แนวทางพัฒนางานประจำ สู่งานวิจัย
State Diagram Wattanapong suttapak, Software Engineering,
2 การพัฒนาระบบสารสนเทศ (Information System Development)
บทที่ 5 ความต้องการ วิศวกรรมความต้องการ แบบจําลองการวิเคราะห์
การวิเคราะห์ซอฟต์แวร์
UML (Unified Modeling Language)
วิศวกรรมซอฟต์แวร์ (Software Engineering)
การออกแบบบทเรียนคอมพิวเตอร์
Introduction to Structured System Analysis and Design
ใบสำเนางานนำเสนอ:

school of Information communication Tecnology, chatper 1 introduction & Object-oriented software development processes with UML Wattanapong suttapak, Software Engineering, school of Information communication Tecnology, university of phayao

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

Object-oriented concept วิธีการมองสิ่งต่างๆ ให้มีลักษณะแบบวัตถุ โดยวัตถุจะต้องมีองค์ประกอบคือ วัตถุ เช่น นักเรียน คุณสมบัติ เช่น สีผม ส่วนสูง น้ำหนัก ระดับไอคิว ระดับอีคิว เป็นต้น พฤติกรรม เช่น เปลี่ยนสีผม กำหนดส่วนสูง เปลี่ยนน้ำหนัก เพิ่มไอคิว เพิ่มอีคิว เป็นต้น

Object-oriented concept obj : student properties hair color height weight IQ EQ method get hair color set hair color get height set height get weight set weight

Object-oriented concept 2. Relation between object class and object ใน 1 คลาสอาจมีมากกว่า 1 วัตถุ หรือแต่ละคลาสอาจมี 1 วัตถุ optimum 1 คลาส มี 1 วัตถุ relation ระหว่างวัตถุสามารถมีความสัมพันธ์เชื่อมโยงกัน เรียกว่า Association ความสัมพันธ์ระหว่างวัตถุในกรณีเป็นความสัมพันธ์แบบส่วนประกอบ เรียกว่า Aggregation

Object-oriented concept 2. Relation between object association aggregation

Association 1 Student สามารถลงได้มากกว่า 1 Course และ 1 Course สามารถมีมากกว่า 1 Student

Aggregation 1 Student มีองค์ประกอบหลายประเภท เช่น ที่อยู่ นั่นคือ Address เป็นส่วนประกอบของ Student หรือสามารถสรุปได้ว่า aggregation เป็นส่วนหนึ่งของ association

Object-oriented software development processes กระบวนการพัฒนาซอฟต์แวร์เชิงวัตถุ สิ่งที่ต้องรู้เกี่ยวกับกระบวนการนี้ 1. วงจรการพัฒนาระบบ(SDLC : System Development Life Cycle) 2. พื้นฐาน OOP 3. UML

SDLC water fall model spiral model agile development

SDLC 1. water fall model เป็นการทำงานแบบขั้นตอน โดยมีลำดับดังต่อไปนี้ Requirements specification (Requirements analysis) Software design Implementation and Integration Testing (or Validation) Deployment (or Installation) Maintenance

SDLC 2. Spiral model รูปแบบการพัฒนาเป็นแบบก้นหอย จุดประสงค์เพื่อลดความเสี่ยงในการพัฒนา รูปแบบจากในสู่นอก Requirement ConOps Re-plan Design Code Integration Test Implementation reRequirement Verify&Validate Dev-plan Draft Verify&Validate Test-plan

SDLC 3. Agile รูปแบบการพัฒนาเป็นแบบวนซ้ำ โดยมีวัตถุประสงค์เพื่อ รับความเปลี่ยนแปลงในการพัฒนา มีการพัฒนาแบบขยายขอบเขต(Incremental Development) จนเกิดวิวัฒนาการของระบบ(Evolution Development) วิวัฒนาการของระบบ พัฒนาจากผลของระบบในรอบก่อนหน้า (Feedback in Iteration) แล้วนำไปปรับระบบในรอบต่อไป(Adaptive) จนได้ระบบที่ดีที่สุด

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

Unified process Unified Process(UP) เป็น กระบวนการพัฒนาระบบเชิงวัตถุแบบหนึ่ง โดยสร้างขึ้นสำหรับการพัฒนาแบบเป็นรอบ(Iteration Development) นำเสนอโดย Larman(2005) พัฒนาด้วยเครื่องมือ Unified Modeling Language(UML) ข้อสำคัญในการพัฒนา คือ เวลาในแต่ละรอบและจำนวนทีมย่อย ซึ่งเป็นตัวเลขที่ไม่สามารถระบุได้ชัดเจน แนวทางการใช้ UP จัดการความเสี่ยงสูงหรือคุณค่าสูงก่อนในรอบต้นๆ ของการพัฒนาระบบ มีการประเมิน แสดงข้อเสนอแนะ ปรับปรุงความต้องการ อย่างต่อเนื่อง การสร้างสถาปัตยกรรมระบบ(Software Achitecture) ในรอบต้นๆ การใช้ use case สร้างแบบจำลองที่เห็นภาพทั้งระบบ ให้ความสำคัญกับการจัดการความต้องการอย่างสูง การจัดการกับความเปลี่ยนแปลงและการจัดการปรับสภาพระบบ

Unified process กระบวนการใน UP UP ในแต่ละรอบย่อย เป็นการพัฒนาตาม SDLC (Requirement Analytic Design Implement … Deploy ) กระบวนการใน UP Business Modeling เข้าใจถึงกระบวนการ และขอบเขตทางธุรกิจของระบบ Domain Modeling รูปแบบของระบบที่จะสร้างขึ้น โดยเน้นทางการใช้งาน ขั้นตอนการพัฒนา ความเสถียรของระบบ เป็นต้น Requirement วิเคราะห์ความต้องการ Analysis and Design วิเคราะห์และออกแบบ Implementation พัฒนาระบบ Testing ทดสอบระบบ Deployment ติดตั้งระบบ 3 ระบบเพิ่มเติม(Ambler,2006) Configuration and Change Management Project Management Environment

phase of UP แบ่งเป็น 4 ขั้นตอน Inception Phase เฟสเริ่มต้น เพื่อให้การพัฒนาอยู่ในขอบเขตของระบบ วิสัยทัศน์ของระบบ กระบวนการทางธุรกิจ ขอบเขตของระบบ Elaboration Phase วิเคราะห์ความต้องการของระบบและออกแบบระบบ Construction Phase พัฒนาระบบไปจนถึงทดสอบระบบตั้งแต่ Unit Test ไปจน Integration Test Transition Phase การติดตั้ง การทดสอบการติดตั้ง ข้อผิดพลาดและการปรับปรุง แก้ไข

Relation of phase software process UP Phase Inception Elaboration Construction Transition Business Modeling s r Requirement Analysis & Design Implementation Testing Project Management Environment s(start) เริ่มต้น r(refined) ทำต่อไป

Unified Modeling LanguagE Unified Modeling Language(UML) เป็นภาษาสำหรับ กำหนด สร้างภาพ พัฒนาและอ้างอิงสำหรับการพัฒนาซอฟต์แวร์ และบางกรณีใช้อ้างอิงเป็นข้อตกลงทางธุรกิจ ถูกพัฒนาโดย Booch และ Rumbaugh[1994] สร้างขึ้นมา 2 แผนภาพ ปี 1997 OMG(Object Management Group) สถาบันกลางสร้างมาตรฐานวิธีการเชิงวัตถุ ปี 2005 OMG พัฒนา UML2 โดยประกอบไปด้วย 13 แผนภาพ แบ่งเป็น 2 กลุ่มใหญ่ ประเภทของแผนภาพ แผนภาพตามโครงสร้างของระบบ(Structural Model) แผนภาพตามพฤติกรรมของระบบ(Behavior Model)

UML2 Behavior model Structural model Class Diagram คลาส ส่วนประกอบคลาส ความสัมพันธ์ Object Diagram ความสัมพันธ์ระหว่างวัตถุ ตาม class diagram Package Diagram แสดงกลุ่มของแพคเกจและการขึ้นต่อกันของแพคเกจ Composite Structure Diagram แผนภาพภายในของ component diagram หรือ use case Component Diagram แผนภาพขององค์ประกอบระบบ(self) โดยแสดงความสัมพันธ์ และส่วนต่อประสาน Deployment Diagram แผนภาพระบบ hardware & software เชื่อมต่อกัน Use Case Diagram แสดงการใช้งานและความสัมพันธ์ของผู้ใช้ระบบ(actor) และการใช้งาน Activity Diagram แสดงการทำงานของข้อมูลทั้งระบบ State Or Statechart Diagram แสดงสถานะของวัตถุเมื่อมีเหตุการณ์(event) เกิดขึ้น Sequence Diagram แสดงการโต้ตอบหรือการตอบสนองต่อผู้ใช้ Communication Diagram(Collaboration Diagram UML1.x) แสดงการโต้ตอบหรือการตอบสนองระหว่างวัตถุ Timing Diagram แสดงการเปลี่ยนสถานะหรือเงื่อนไขขององค์ประกอบต่างๆ ตามเวลา Interaction Overview Diagram แสดงภาพรวมตามกระบวนการธุรกิจ ตามการทำงานของระบบ

จบบทที่ 1

Problem ร้านเช่าภาพยนตร์แห่งหนึ่งต้องการสร้างระบบสำหรับควบคุมสินค้าให้เช่าภายในร้าน สินค้าที่ให้เช่ามี 2 ประเภทคือ dvd และ blu-ray แยกประเภทตามเนื้อหาภาพยนตร์ เช่น thriller, musical, comedy เป็นต้น เจ้าของกิจการ ต้องการบันทึก วันที่สินค้าเข้ามาในร้าน จำนวนที่มี ราคาต่อหน่วย ความยาว(นาที) ค่าเช่า การคิดค่าเช่าทั้ง DVD และ Blu-ray มี 3 แบบคือ ปกติ และสมาชิก โดยค่าเช่าขึ้นกับความต้องการ เช่น ออกใหม่คิดค่าเช่าเท่ากับ ราคาหารด้วย 10 และถ้ามีคนเช่าน้อยกว่า 3 ครั้งต่อเรื่องคิดค่าเช่า 10 บาท กรณีเป็นสมาชิก(VIP) สามารถเช่า DVD 3 ฟรี DVD 1 และ Blu-ray 2 ฟรี DVD 1 หรือ Blu-ray 4 ฟรี Blu-ray 1 ข้อมูลลูกค้าที่ต้องเก็บคือ วันที่เช่า รหัสสินค้า รหัสสมาชิก(ครั้งแรกที่เช่าเก็บชื่อ รหัสบัตรประชาชน เบอร์โทรศัพท์ สถานะ VIP) จงอธิบายสิ่งที่เกิดขึ้นจากความต้องการด้านบน ตามสิ่งต่อไปนี้ Class – Instance Association และ Aggregation Encapsulation Inheritance