Bài giảng Lập trình hướng đối tượng: Bài 2 - Cú pháp Java cơ bản được biên soạn nhằm giúp các em sinh viên nắm được quy định cơ bản về định danh, câu lệnh, chú thích, và biến trong Java; Sử dụng thành thạo các kiểu dữ liệu nguyên thủy trong Java; Nắm được các loại toán tử, các cấu trúc điều khiển, và cấu trúc dữ liệu kiểu mảng trong Java; Hiểu được ý nghĩa ngôn ngữ mô hình hóa thống nhất UML, biết các loại biểu đồ thông dụng. Mời các bạn cùng tham khảo bài giảng.
Bài 2: Cú pháp Java Mục tiêu học ❖ Nắm quy định định danh, câu lệnh, thích, biến Java ❖ Sử dụng thành thạo kiểu liệu nguyên thủy Java ❖ Nắm loại toán tử, cấu trúc điều khiển, cấu trúc liệu kiểu mảng Java ❖ Hiểu ý nghĩa ngôn ngữ mơ hình hóa thống UML, biết loại biểu đồ thông dụng Bài giảng e-learning Bước - Truy cập trang https://www.udacity.com/ course/javaprogramming-basics-ud282 Bước 2: Đăng ký tài khoản (free) Bước 3: Nhấn nút START FREE COURSE Bài giảng e-learning ❖ Trong khóa học Java Programming Basics, SV học theo 1, 2, ▪ ▪ ▪ ▪ ▪ Lession 1: Variables and Data Types Lession 2: Control Flow and Conditionals Lession 3: Functions (sẽ trình bày giảng sau) Lession 4: Loops Lession 5: IntelliJ and Debugging (tham khảo) Nội dung Cơ Java Giới thiệu UML Cơ Java 1.1 Các khái niệm 1.2 Biến 1.3 Các kiểu liệu 1.4 Toán tử 1.5 Cấu trúc điều khiển 1.6 Mảng Cơ Java 1.1 Các khái niệm 1.2 Biến 1.3 Các kiểu liệu 1.4 Toán tử 1.5 Cấu trúc điều khiển 1.6 Mảng Định danh ❖ Định danh: ▪ Xâu ký tự thể tên biến, phương thức, lớp nhãn ▪ chương trình ❖ Quy định với định danh hợp lệ (bắt buộc tuân thủ) ▪ Gồm ký tự chữ cái, chữ số, ký tự '$' ‘_’ ▪ Khơng phép: • Bắt đầu chữ số • Trùng với từ khóa • Chứa dấu cách ▪ Phân biệt chữ hoa chữ thường • Yourname, yourname, YourName yourName định danh khác Định danh (2) ❖ Quy ước với định danh - naming convention (Quy ước: không bắt buộc, nên làm theo) ▪ Phải mang tính gợi nhớ • Ví dụ: nên dùng định danh “bookPrice” “bp” để lưu thông tin giá sách ▪ Bắt đầu chữ ▪ Gói (package): tất sử dụng chữ thường • theexample ▪ Lớp (Class): viết hoa chữ từ ghép lại • TheExample ▪ Phương thức/thuộc tính (method/field): Bắt đầu chữ thường, viết hoa chữ từ cịn lại • theExample ▪ Hằng (constants): Tất viết hoa • THE_EXAMPLE Các từ khóa ❖ Người lập trình khơng phép sử dụng từ khóa định danh ❖ Literals: ▪ null true false ❖ Từ khóa (keyword): ▪ abstract assert boolean break byte case catch char class continue default double else extends final finally float for if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while ❖ Từ dành riêng (reserved word): ▪ byvalue cast const future generic goto inner operator outer rest var volatile 10 Khái niệm UML ❖ UML: viết tắt “Unified Modeling Language” Ngơn ngữ mơ hình hóa thống ❖ UML ngôn ngữ trực quan để: ▪ ▪ ▪ ▪ trực quan hóa (visualizing) đặc tả (specifying) xây dựng (constructing) tài liệu hóa (documenting) cấu phần hệ thống phần mềm ❖ Giúp công việc phát triển xử lý quán, giảm thiểu lỗi xảy ▪ Giúp dễ hình dung cấu trúc hệ thống ▪ Hiệu việc liên lạc, trao đổi 84 Lịch sử phát triển UML ❖ Vào năm 1994, có 50 phương pháp mơ hình hóa hướng đối tượng: ▪ Fusion, Shlaer-Mellor, ROOM, Class-Relation,Wirfs-Brock, Coad-Yourdon, MOSES, Syntropy, BOOM, OOSD, OSA, BON, Catalysis, COMMA, HOOD, Ooram, DOORS … ▪ Mơ tả mơ hình “Meta-models” tương đồng với ▪ Các ký pháp đồ họa khác ▪ Quy trình khác khơng rõ ràng → Cần chuẩn hóa thống phương pháp ❖ UML chuyên gia hướng đối tượng hợp kỹ thuật họ vào năm 1994: ▪ Booch91 (Grady Booch): Conception, Architecture ▪ OOSE (Ivar Jacobson): Use cases ▪ OMT (Jim Rumbaugh): Analysis 85 Lịch sử phát triển UML (2) ❖ UML ngôn ngữ hợp mơ hình khác Được cơng nhận chuẩn chung vào năm 1997 Rumbaugh Booch UML 2.0 (2004) Jacobson UML 1.5 (March, ‘03) Fusion Meyer Before and after Operation descriptions, conditions message numbering Embley Harel State charts UML 1.1 UML Partners’ Expertise (Sept ‘97) UML 1.0 (Jan ‘97) Singleton classes, High-level view UML 0.9 Wirfs-Brock Gamma, et.al (June ‘96) and UML 0.91 (Oct ‘96) Responsibilities Frameworks, patterns, Unified Method 0.8 notes Shlaer- Mellor Object lifecycles Selic, Gullekson, Ward ROOM (Real-Time (OOPSLA ’95) Odell Booch ’93 Classification OMT - Object-Oriented Modeling) OOSE Other Methods Booch ‘91 OMT - 86 Làm việc với UML ❖ Các mơ hình UML kết nối trực tiếp với nhiều ngơn ngữ lập trình ▪ Ánh xạ sang Java, C++, Visual Basic… ▪ Các bảng RDBMS kho lưu trữ OODBMS ▪ Cho phép kỹ nghệ xuôi (chuyển UML thành mã nguồn) ▪ Cho phép kỹ nghệ ngược (xây dựng mơ hình hệ thống từ mã nguồn) ❖ Các công cụ UML ▪ Công cụ mã nguồn mở: EclipseUML, UmlDesigner, StarUML, Argo UML, ▪ Công cụ thương mại: Enterprise Architect, IBM Rational Software Architect, Microsoft Visio, Visual Paradigm for UML, SmartDraw 87 Giới thiệu UML 2.1 UML 2.2 Các biểu đồ UML 2.3 Ví dụ 88 2.1 Biểu đồ UML ❖ Biểu đồ: ▪ hình vẽ bao gồm ký hiệu phần tử mơ hình hóa ▪ minh họa thành phần cụ thể hay khía cạnh cụ thể hệ thống ❖ Một mơ hình hệ thống thường có nhiều loại biểu đồ, loại gồm nhiều biểu đồ khác ❖ Một biểu đồ thành phần hướng nhìn cụ thể ❖ Một số loại biểu đồ thành phần nhiều hướng nhìn khác ❖ UML hệ có tới 13-14 loại biểu đồ Trong project, sử dụng biểu đồ phù hợp 89 2.1 Biểu đồ UML (2) ❖ Phân biệt: ▪ Biểu đồ cấu trúc: mô tả thành phần tĩnh, có hệ thống mối quan hệ chúng ▪ Biểu đồ hành vi: mô tả cách hoạt động hệ thống 90 Biểu đồ cấu trúc ❖ Biểu đồ cấu trúc tĩnh ▪ Biểu đồ lớp (Class Diagram) ▪ Biểu đồ đối tượng (Object Diagram) ▪ Biểu đồ gói (Package diagram) ❖ Biểu đồ thực thi ▪ Biểu đồ thành phần (Component Diagram) ▪ Biểu đồ triển khai (Deployment Diagram) ▪ Biểu đồ cấu thành (Composite Diagram) ❖ Biểu đồ profile (Profile Diagram) 91 Biểu đồ hành vi ❖ Biểu đồ use case (Use Case Diagram) ❖ Biểu đồ hoạt động (Activity Diagram) ❖ Biểu đồ tương tác ▪ Biểu đồ tổng quát (Interaction overview diagram) ▪ Biểu đồ trình tự (Sequence Diagram) ▪ Biểu đồ giao tiếp/cộng tác (Communication/Collaboration Diagram) ❖ Biểu đồ trạng thái (State Diagram) ❖ Biểu đồ thời gian (Timing Diagram) 92 Giới thiệu UML 2.1 UML 2.2 Các biểu đồ UML 2.3 Ví dụ 93 Biểu đồ Use case ❖ Mơ hình chức hệ thống với tác nhân use case 94 Biểu đồ hoạt động ❖ Biểu đồ hoạt động biểu diễn chuỗi hoạt động luồng điều khiển có thứ tự hệ thống thực use case Điểm khởi đầu Rẽ nhánh Select Course Tiến trình song song [ delete course ] Hoạt động Delete Course [ add course ] Điều kiện rẽ nhánh Check Schedule [ checks completed ] Assign to Course Check Pre-requisites [ checks failed ] Resolve Conflicts Thanh đồng (phân nhánh) Thanh đồng (Kết hợp) Luồng hoạt động Update Schedule Điểm kết thúc 95 Biểu đồ lớp ❖ Dạng biểu đồ phổ biến nhất, mô tả cấu trúc tĩnh hệ thống ❖ Biểu diễn lớp mối quan hệ lớp 96 Biểu đồ ❖ Là loại biểu đồ tương tác, biểu diễn trình tự trao đổi thông điệp đối tượng theo thời gian use case : Student :RegisterFor CoursesForm 1: create schedule( ) :Registration Controller 2: get course offerings( ) :CourseCatalog System : CourseCatalog 3: get course offerings(forSemester)4: get course offerings( ) 5: display course offerings( ) 6: display blank schedule( ) 97 Biểu đồ giao tiếp ❖ Cũng loại biểu đồ tương tác, nhấn mạnh vào việc tổ chức đối tượng tham gia vào tương tác trình tự trao đổi thơng điệp đối tượng Thông điệp (message) 5: display course offerings( ) 6: display blank schedule( ) 1: create schedule( ) : RegisterForCoursesForm : Student Tác nhân Đối tượng 2: get course offerings( ) Liên kết (Link) : Course Catalog 4: get course offerings( ) 3: get course offerings(forSemester) : RegistrationController : CourseCatalogSystem 98 ... dụng Bài giảng e-learning Bước - Truy cập trang https://www.udacity.com/ course/javaprogramming-basics-ud2 82 Bước 2: Đăng ký tài khoản (free) Bước 3: Nhấn nút START FREE COURSE Bài giảng e-learning... (2) Tham khảo Lession - Session 19 Cơ Java 1.1 Các khái niệm 1 .2 Biến Tham khảo Lession - Session 16, 12, 13 1.3 Các kiểu liệu 1.4 Toán tử 1.5 Cấu trúc điều khiển 1.6 Mảng 20 Các kiểu liệu Java. .. (tham khảo) Nội dung Cơ Java Giới thiệu UML Cơ Java 1.1 Các khái niệm 1 .2 Biến 1.3 Các kiểu liệu 1.4 Toán tử 1.5 Cấu trúc điều khiển 1.6 Mảng Cơ Java 1.1 Các khái niệm 1 .2 Biến 1.3 Các kiểu liệu