Object Oriented Development with UML

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
การวิเคราะห์และออกแบบระบบ
Advertisements

Business Modeling (บางส่วนอ้างอิงจาก ดร.อดิศร ณ อุบล)
UML มหาวิทยาลัยเนชั่น Unified Model Language บุรินทร์ รุจจนพันธุ์ .
Systems Analysis and Design
school of Information communication Tecnology,
บทที่ 5 แบบจำลองระบบ System Model.
Modeling and Activity Diagram
Unified Modeling Language
State Diagram Wattanapong suttapak, Software Engineering,
วิชา การวิเคราะห์และออกแบบเชิงวัตถุ รหัส
BC424 Information Technology 1 บทที่ 7 การพัฒนาระบบ สารสนเทศ (Information System Development)
System Database Semester 1, 2009 Worrakit Sanpote 1.
Entity-Relationship Model E-R Model
Database Management System
Database & DBMS Architecture วรวิทย์ พูลสวัสดิ์. 2 2 ฐานข้อมูล (Database) - Data and its relation - Databases are designed to offer an organized mechanism.
ในเครือข่ายอินเทอร์เน็ต โปรแกรมประยุกต์ หลายชนิด มีการทำงานร่วมกันระหว่างเครื่อง คอมพิวเตอร์ ที่ต่ออยู่ในเครือข่าย โดยอาศัยเครือข่ายเป็น สื่อกลาง ในการติดต่อสื่อสารระหว่างกันและกัน.
อาจารย์ วิทูร ธรรมธัชอารี. เนื้อหาในการเรียน  เครื่องมือในการออกแบบและพัฒนาระบบ บัญชีด้วยคอมพิวเตอร์  ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล  การวางระบบบัญชีด้วยคอมพิวเตอร์
Adaptive Software Development. วงจรชีวิตของการพัฒนาซอฟแวร์ หรือ Software Development Life Cycle (SDLC) เป็นโครง ร่างหรือแนวทางวิธีการ เพื่อใช้ทำความเข้าใจและเพื่อ.
ลักษณะงานของวิศวกร ซอฟต์แวร์ ● วิเคราะห์และจัดทำความ ต้องการซอฟต์แวร์ ● ออกแบบซอฟต์แวร์ ● พัฒนาซอฟต์แวร์ ● ทดสอบซอฟต์แวร์ ● บำรุงรักษาซอฟต์แวร์ ● จัดการองค์ประกอบ.
การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ ครูชาญณรงค์ ปานเลิศ โรงเรียนพระบางวิทยา ครูชาญณรงค์
การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้
หน่วยที่ 1 ข้อมูลทางการตลาด. สาระการเรียนรู้ 1. ความหมายของข้อมูลทางการตลาด 2. ความสำคัญของข้อมูลทางการตลาด 3. ประโยชน์ของข้อมูลทางการตลาด 4. ข้อจำกัดในการหาข้อมูลทาง.
Object Oriented Development with UML
The Unified Modeling Language
The Unified Modelling Language (UML)
Introduction to VB2010 EXPRESS
C# Part 0: Introduction to Revision Control
บทที่ 14 กลวิธีการทดสอบซอฟต์แวร์ (TESTING STRATEGIES)
ภาษาวิชวลเบสิก (Visual Basic language).
กระบวนการพัฒนาซอฟต์แวร์
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
Java class ,ความสัมพันธ์ของ Class Diagram (UML)
Object Oriented Development with UML
บทที่ 5 แบบจำลองกระบวนการ
บทที่ 3 การวิเคราะห์ Analysis.
บทที่ 7 การวิเคราะห์และพัฒนาระบบ
2 การพัฒนาระบบสารสนเทศ (Information System Development)
การพัฒนาการใช้งานในระบบเว็บ
Information System Development
การพัฒนาระบบสารสนเทศ Information System Development
บทที่ 5 ความต้องการ วิศวกรรมความต้องการ แบบจําลองการวิเคราะห์
การวิเคราะห์ซอฟต์แวร์
Sripatum University Chonburi Campus
อาจารย์อภิพงศ์ ปิงยศ บทที่ 12 : การประพันธ์สื่อมัลติมีเดีย (Multimedia Authoring) สธ212 ระบบสื่อประสมสำหรับธุรกิจ อาจารย์อภิพงศ์
พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย UML
Introducing Business Process Management (BPM) I
Chapter 6 Information System Development
วิชา COMP342 วิศวกรรมซอฟต์แวร์ (Software Engineering)
Class Diagram.
UML (Unified Modeling Language)
Software Engineering ( )
มาตรฐานและเทคโนโลยีในการพัฒนาเชิงคอมโพเนนต์
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
ระบบการจัดการคลินิกครบวงจร
บทที่ 7 การวิเคราะห์และพัฒนาระบบ
บทที่ 3 ซอฟต์แวร์ประยุกต์
การบริหารโครงการซอฟต์แวร์
Development Strategies
พื้นฐานการออกแบบ กราฟิก หมายถึง ศิลปะแขนงหนึ่งซึ่งใช้การสื่อความหมาย ด้วยเส้น สัญลักษณ์ รูปวาด ภาพถ่าย กราฟ แผนภูมิ การ์ตูน ฯลฯ เพื่อให้สามารถสื่อความหมายของข้อมูลได้ถูกต้องตรง.
การสร้างโมเดลจำลองความสัมพันธ์ ระหว่างข้อมูล E-R Model
Object-Oriented Programming การเขียนโปรแกรมเชิงอ็อบเจ็กต์
Java Translation Object and Class ในมุมมองคอมพิวเตอร์ Objects หรือ Instances หมายถึงวัตถุที่กำเนิดตัวตนจริงๆจากต้นแบบที่กำหนดโดยคลาส Object.
Object-Oriented Analysis and Design
อาจารย์ณัฐภัทร แก้วรัตนภัทร์ วท.ม.,วท.บ.เกียรตินิยมอันดับ1
SMS News Distribute Service
บทที่ 5 การจำลองข้อมูลเชิงวัตถุ (Object-Oriented Modeling)
บทที่ 2 การพัฒนาระบบสารสนเทศ
Introduction to Structured System Analysis and Design
Class Diagram.
Sequence Diagram.
ใบสำเนางานนำเสนอ:

Object Oriented Development with UML 11/20/2018 Object Oriented Development with UML 11-12, 18-19 November 2006 At Sipa Chiangmai Introduction to UML โดย รศ. รังสิต ศิริรังษี อ. สายัณห์ อุ่นนันกาศ

Brief OOAD History วิวัฒนาการของโปรแกรมเชิงวัตถุ 11/20/2018 Brief OOAD History วิวัฒนาการของโปรแกรมเชิงวัตถุ SIMULA I (1962-65) , Simula 67 (1967) Smalltalk (1970s) Alan Kay C++ (1980s) Bjarne Stroustrup ,ADA (US Department of Defense) Eiffel 1990 (B. Meyer) , Java (sun) ทศวรรษที่ 1980 : เทคนิคที่ใช้ในการพัฒนาระบบ ได้แก่ SA/SD ที่นำไดอา-แกรมต่าง ๆ มาใช้ในการพัฒนาระบบ ได้แก่ Flow charts, Data flow diagrams , State transition diagrams ทศวรรษที่ 1990 ได้เกิดวิธีการพัฒนาระบบเชิงวัตถุขึ้นมากมาย ระหว่างปี ’89 - ’94, ได้เกิดวิธีการพัฒนาเชิงวัตถุขึ้นเพิ่มขึ้นจาก 10 – 50 วิธี "OO method wars"

วิวัฒนาการของวิธีการพัฒนาระบบเชิงวัตถุ 11/20/2018 วิวัฒนาการของวิธีการพัฒนาระบบเชิงวัตถุ

11/20/2018 UML History เป็นผลลัพธ์มาจากการรวมกันของวิธีการพัฒนาเชิงวัตถุที่มีชื่อเสียงในช่วงต้นทศวรรษที่ 90 : Grady Booch (Rational), Object Oriented Analysis and Design Jim Rumbaugh (GE), Object Modeling Technique Ivar Jacobson (Ericsson), Object-oriented Software Engineering: A Use Case Approach (Objectory)

What is UML? UML ย่อมาจาก Unified Modeling Language Unified 11/20/2018 What is UML? UML ย่อมาจาก Unified Modeling Language Unified รวมสิ่งที่ดีที่สุดจากวิธีการพัฒนาเชิงวัตถุที่มีอยู่ในขณะนั้น โดยมี Booch, Rumbaugh, และ Jacobson เป็นผู้บุกเบิกหลักของ UML Modeling ใช้สำหรับการนำเสนอตามมุมมองของสิ่งที่มีอยู่จริง เพื่อให้สามารถนำไปใช้กับการออกแบบและพัฒนาซอฟต์แวร์เชิงวัตถุ Language UML เป็นภาษาที่ใช้สัญลักษณ์เชิงภาพกราฟิกในการนำเสนอตามกฎเกณฑ์และวิธีการที่กำหนดไว้

11/20/2018 What is the UML? UML เป็นภาษาที่ใช้ในการวิเคราะห์และออกแบบระบบเชิงวัตถุ ประกอบไปด้วยกฎเกณฑ์ต่าง ๆ สามารถใช้ในการสร้างแบบจำลองได้หลายแบบ ไม่ได้มีการกำหนดว่าแบบจำลองใดที่นักออกแบบจำเป็นต้องสร้าง UML เป็นมาตรฐานสำหรับการ visualizing, specifying, constructing, documenting

11/20/2018 Why UML? ง่ายต่อการทำความเข้าใจ เนื่องจากใช้สัญลักษณ์ภาพกราฟิกในการนำเสนอการออกแบบ เป็นส่วนสำคัญที่สุดในการพัฒนาระบบเชิงวัตถุและ SDLC นำเสนอกลุ่มของ Best Engineering Practices ที่ได้รับการพิสูจน์แล้วว่าประสบความสำเร็จในการพัฒนาระบบขนาดใหญ่ที่มีความซับซ้อนสูง ช่วยในการสื่อสารระหว่างบุคลากรภายในทีม แสดงรายละเอียดที่สำคัญของการออกแบบ และช่วยในการตรวจสอบสถาปัตยกรรมของการออกแบบระบบ ไม่ขึ้นกับโปรแกรมภาษาที่ใช้ เป็นพื้นฐานสำคัญสำหรับการทำความเข้าใจกับ modeling language สนับสนุนแนวคิดการพัฒนาระดับสูง เช่น frameworks, patterns และ components

Creating the UML UML 1.1 UML 2.0 UML 1.5 UML 1.4 UML 1.3 UML 1.0 11/20/2018 Creating the UML UML 2.0 2004 UML 1.5 2003 UML 1.4 2001 UML 1.1 OMG Acceptance, Nov 1997 public feedback UML 1.3 Final submission to OMG, Sep ‘97 First submission to OMG, Jan ´97 UML 1.0 UML partners Web - June ´96 UML 0.9 OOPSLA ´95 Unified Method 0.8 Other methods Booch method OMT OOSE

Contributions to the UML 11/20/2018 Contributions to the UML Harel Statecharts Meyer Before and after conditions Gamma, et al Frameworks and patterns, HP Fusion Operation descriptions and message numbering Booch Booch method Embley Singleton classes and high-level view Rumbaugh OMT Wirfs-Brock Responsibilities Jacobson OOSE Shlaer - Mellor Object lifecycles Odell Classification

UML Diagrams Dynamic Views ชนิดของไดอาแกรมใน UML: Structural diagrams 11/20/2018 UML Diagrams ชนิดของไดอาแกรมใน UML: Structural diagrams Behavioural diagrams Requirements Views Use Case Deployment Class Logical Views Physical Views Component Package Activity Collaboration State Sequence Dynamic Views

Classification of Diagram Types 11/20/2018 Classification of Diagram Types Diagram Static/Dynamic Use case Dynamic Class Static Package Sequence Collaboration Statechart Activity Component Deployment

Collaboration Diagram 11/20/2018 State Daigram Implementation Diagram Activity Diagram Statechart Diagram UMLDiagram Package Diagram Static Structure Diagram Usecase Diagram Class Diagram Use case Class Diagram Component Diagram Scenerio Interaction Diagram DePloyment Diagram Collaboration Diagram Sequence Diagram

11/20/2018 Use Case Diagrams ใช้สำหรับกำหนดความต้องการของระบบ ผ่านมุมมองของผู้ใช้ โดยเน้นไปที่ความสัมพันธ์ที่เกิดขึ้นในระบบ ประกอบไปด้วยเหตุการณ์ต่าง ๆ ที่ถูกกำหนดไว้อย่างสมบูรณ์โดยผ่าน actor และแสดงการโต้ตอบระหว่าง actor และระบบ Use Case Actor Identify Movie Open Account Customer Clerk Return Movie In-Store Telephone Review Customer Customer Account Status

Class Diagrams มีความสำคัญมากที่สุดใน UML 11/20/2018 Class Diagrams มีความสำคัญมากที่สุดใน UML ใช้ในการกำหนดคลาส รวมไปถึงการติดต่อกันระหว่างคลาส ในรูปของ ความร่วมมือระหว่างกัน ตลอดจนความสัมพันธ์ระหว่างกัน เป็นต้น Multiplicity Class Aggregation Customer 1 Abstract Class Rental Invoice Rental Item {abstract} 1..* 1 0..1 Composition Generalization Association Checkout Screen DVD Movie VHS Movie Video Game

State Diagrams (statechart) 11/20/2018 State Diagrams (statechart) ใช้สำหรับการแสดงวงจรชีวิตของคลาสหนึ่ง ๆ โดยการกำหนดสถานะการทำงานของระบบที่ประกอบไปด้วย states, transitions, และ events เป็นหลัก Guard Event Transition [more videos] /get next video customer appears Validate [account valid] Check-Out Action /get first video do/check do/check-out account video [no more videos] Activity Check-Out [account not Complete State valid]

11/20/2018 Sequence Diagrams ใช้สำหรับแสดงการทำงานของออปเจคในช่วงเวลาที่กำหนด โดยประกอบไปด้วยการรับส่งแมสเสจที่มีการติดต่อระหว่างออปเจค :CheckoutMgr Cust:Customer :Inventory :RentedItems :Employee 1: find customer() 2: search (string) 3: enter movie() 4: search (string) Object Activation Message 5: rent (movie) 6: add(Cust, item) Lifeline 7: printInvoice() 8: generateRentalTotal()

Collaboration Diagrams 11/20/2018 Collaboration Diagrams เป็นไดอาแกรมที่แสดงการติดต่อกันระหว่างออปเจค โดยเน้นไปที่โครงสร้างการจัดองค์กรของออปเจคที่มีการรับและส่งค่าแมสเสจ :Rented Items Object 5: add(customer, movies) 1: enter_customer() 8: generateRentalTotal() 3: enter_movies() 2: IsValidCust(CustId) 7: print invoice() :Check-out Manager :Customer :Clerk 4:GetMovieByBarcode() :Inventory Message

11/20/2018 Activity Diagram มีลักษณะคล้ายกับ data flow diagram โดยปกติแล้วจะเป็นการแสดงรายละเอียดของกิจกรรมต่าง ๆ ที่มีความซับซ้อนสูงและเกิดขึ้นภายใน use case Start State Identify Caller Action State Decision Obtain Name & Address Open Account? Current Customer? [no] [no] [yes] [yes] End State Create Account

11/20/2018 Packages Packages จะทำหน้าที่จัดเก็บระบบที่มีความซับซ้อนมากออกเป็นส่วน ๆ ที่มีการจัดกลุ่มตาม coherent ที่เกิดขึ้น หลาย ๆ โปรเจคจะใช้ packages ในการแสดงรายละเอียดที่ use cases ที่เกี่ยวข้องในการส่งมอบงาน Clerk User Interface (to business Customer Data system) Business System Client Rental Screen Class Package

11/20/2018 Component Diagram ใช้สำหรับแสดงรายละเอียดของคอมโพเนนท์ต่าง ๆ ที่ใช้ภายในโปรแกรม ในช่วงเวลาของ runtime ซึ่งจะรวมไปถึง source code, binary code และ executable component Component «library» DB Server Interface (dbsvr.dll) Interface «library» Application Framework Dependency «application» Video Workstation Supplied by (vstation.exe) Microsoft Note

11/20/2018 Deployment Diagram ยอมให้ผู้ใช้สามารถมองเห็นถึงวิธีการ (How) ที่ซอฟต์แวร์ถูกนำไปใช้ โดยปกติจะใช้สำหรับการกำหนด configuration ของระบบตามมุมมองของสถาปัตยกรรมทางด้านฮาร์ดแวร์เป็นหลัก Node Communication Association :Store Server Server DB Phone Clerk Terminal :Clerk Client «TCP/IP» Store Check Out Terminal Server :Clerk Client «TCP/IP» App

Most used UML Diagrams: 11/20/2018 Use-Case Diagram Class Diagram Sequence Diagram

Combination: Quick Iteration Between Code and Models 11/20/2018 Combination: Quick Iteration Between Code and Models Java Source Code

UML Diagrams Are Key Artifacts 11/20/2018 UML Diagrams Are Key Artifacts Use-Case Diagram Class Diagram State Diagram Domain Expert Use-Case 1 Actor A Actor B Use-Case 2 Customer name addr withdraw() fetch() send() receive() <<entity>> Deployment Diagram Use-Case 3 Class Document FileManager GraphicFile File Repository DocumentList FileList Package Diagram User Interface Definition (Code Generation) Collaboration Diagram Component Diagram Source Code edit, compile, debug, link Sequence Diagram Executable System

Software Lifecycle Activities 11/20/2018 Software Lifecycle Activities Requirements Elicitation Requirements Analysis System Design Object Design Implemen- tation Testing Implemented By Verified By Expressed in Terms Of Structured By Realized By class... ? class.... ? Application Domain Objects Use Case Model Implementation Domain Objects SubSystems Source Code Test Cases

11/20/2018 More Information… Martin Fowler, Kendall Scott: UML Distilled second edition. Publisher: Addison-Wesley. Doug Rosenberg with Kendall Scott: Use Case Driven Object Modeling with UML. Publisher: Addison-Wesley. Larman, Craig.(1998) Apply UML and Patterns : Third Edition, Prentice Hall Grady Booch, et al: The Unified Modeling Language User Guide. Publisher: Addison-Wesley. James Rumbaugh, et al: The Unified Modeling Language Reference Manual. Publisher: Addison-Wesley. Ivar Jacobson, et al: Unified Software Development Process. Publisher: Addison-Wesley.

Some UML Tools Vendor Main UML Tool Vendor Main UML Tool 11/20/2018 Some UML Tools Vendor Main UML Tool Vendor Main UML Tool Visual Paradigm VP UML NoMagic MagicDraw Embarcadero GDPRO IBM Rose/RoseRT CA(Platinum) Paradigm Plus Riverton How Excel Software MacA&D/WinA&D RogueWave RW-UML Studio i-Logix Rhapsody SparxSystems Enterprise Architect MicroGold With Class Silverrun Silverrun JD Disclaimer: This chart is based on the claims of the tool vendors and does not represent an endorsement. While we do generally recommend Together Control Center as a general purpose UML-compliant OOA/D tool, we will recommend other tools when appropriate. Microsoft Visio Sybase PowerDesigner Borland Together GentleWare Poseidon Objecteering Objecteering U of CA Irvine ArgoUML Popkin Object Architect Visual System Visual Analyst