Biểu đồ lớp thiết kế của hệ thống...3 II... Biểu đồ lớp thiết kế của hệ thống... Sinh code Java với các bean- Sau khi có lược đồ CSDL ta tạo được được 1 CSDL tại MySQL - Kết nối NetBeans
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN 1
BÀI TẬP KẾT THÚC MÔN HỌC KIẾN TRÚC & THIẾT KẾ HỆ THỐNG THÔNG TIN
Giảng viên : Trần Đình Quế Nhóm môn học : 03
Sinh viên:
Hoàng Trung Phong – B14DCCN333
Trang 2Mục lục
I. Biểu đồ lớp thiết kế của hệ thống 3
II. Gói kiến trúc 3 tầng và biểu đồ triển khai cho hệ thống 4
2.1 Biểu đồ gói kiến trúc 3 tầng MVC 4
2.2 Biểu đồ triển khai 5
III. Sinh lược đồ cơ sở dữ liệu từ biểu đồ lớp 5
IV. Sinh code Java với các bean 7
4.1 Entity Bean 7
4.2 Sesion Bean 10
V. Tìm hiểu và áp dụng 10 mẫu Design Pattern 12
5.1 Abstract Factory 12
5.2 Builder 16
5.3 Singleton 19
5.4 Adapter 22
5.5 Bridge 23
5.6 Façade 24
5.7 Chain of responsibility 30
5.8 Observer 31
Trang 3I Biểu đồ lớp thiết kế của hệ thống
Trang 4II Gói kiến trúc 3 tầng và biểu đồ triển khai cho hệ thống
2.1 Biểu đồ gói kiến trúc 3 tầng MVC
2.2 Biểu đồ triển khai
Trang 5III Sinh lược đồ cơ sở dữ liệu từ biểu đồ lớp
- Từ biểu đồ lớp trên Ta chọn Tools -> Hibernate -> Synchronize to Entity
Relationship Diagram
Trang 6IV Sinh code Java với các bean
- Sau khi có lược đồ CSDL ta tạo được được 1 CSDL tại MySQL
- Kết nối NetBeans với CSDL BoCE vừa tạo ở trên
4.1 Entity Bean
- Sau khi đã kết nối với MySQL ta chọn như hình:
Trang 7- Các entity được sinh ra:
Trang 8- Mỗi Entity bean tương ứng với một bản ghi trong CSDL
- Giống như CSDL quan hệ, Entity bean cũng có quan hệ với các Entity beankhác
Trang 94.2 Sesion Bean
- Các Interface FacadeLocal tương ứng với mỗ lớp thực thể để chứa các phương thức :
Trang 10- Các lớp Facade định nghĩa chi tiết cho các phương thức trong Interface
FacadeLocal:
- Session bean gồm 2 loại
Stateless: chỉ sử dụng trong 1 phiên, dữ liệu không được lưu lại
Statefull: Dữ liệu được lưu lại (giỏ hàng)
Trang 11V Tìm hiểu và áp dụng 10 mẫu Design Pattern
5.1 Abstract Factory
a Biểu đồ lớp
b Code
- Abstractfactory.java
Trang 12- Abstractfactoryparttern
Trang 13- Blue.java
- Green.java
- ClothesFactory.java
Trang 14- Hat.java
- Pans.java
Trang 15- Output:
c Áp dụng vào hệ thống BoCE
- Giúp tạo đối tượng mà không cần biết chính xác kiểu dữ liệu Áp dụng vào hệ thống,show mặt hàng quần áo được chia theo từng loại và màu sắc
Trang 16b Code
Trang 17- Output:
Trang 18- Builder pattern được sử dụng để xử lý các vấn đề còn tồn tại khi mà Object có nhiều thuộc tính Ví dụ như trong hệ thống BoCE , Máy tính có nhiều thuộc tính, Builder pattern xử lý các vấn đề này bằng việc cung cấp một cách xây dựng đối tượng từng bước một và cung cấp một method để trả về đối tượng cuối cùng.
5.3 Singleton
a Biểu đồ lớp
b Code
Trang 19- Clothes.java
Trang 20- Produtc.java
Trang 21- Output:
Trang 22b Code
c Áp dụng vào hệ thống
- Mô hình Adapter làm việc như một cầu nối giữa hai Interface không tươngthích Mẫu thiết kế kiến trúc này tạo tạo ra theo mô hình kiến trúc vì nó kết hợpchức năng của hai Interface độc lập
- Mô hình bao gồm một lớp duy nhất có trách nhiệm kết hợp các chức năng cácInterface độc lập và không tương thích Một ví dụ trong thực tế đó là đầu đọcthẻ nhớ hoạt động như một bộ chuyển đổi giữa thẻ nhớ và máy tính Chúng tachỉ cần cắm thẻ nhớ và đầu đọc thẻ nhớ vào máy tính để thẻ nhớ có thể đọcthông qua máy tính
Trang 23b Code
c Áp dụng vào hệ thống
5.6 Façade
a Biểu đồ lớp
Trang 24- Address.java
Trang 25- PhoneNumber.java
Trang 26- PersonFacade.java
Trang 28- MainApp.java
Trang 29c Áp dụng vào hệ thống BoCE
- Facade Pattern được dùng để các ứng dụng phía client dễ dàng giao tiếp với hệthống Thay vì phải làm việc với nhiều hệ thống/module con, Facade Patterngiúp ứng dụng client chỉ phải giao tiếp với 1 hệ thống duy nhất
- Ví dụ trong mô hình BoCE: Trên màn hình đăng ký, ta nhập thông tin nhưusername, email… sau đó sang màn hình tiếp theo nhập địa chỉ (quận/huyện,phường/xã, đường, số nhà…) rồi sang màn hình tiếp để nhập các thông tin liênlạc như số điện thoại…
- Ta có 1 hệ thống cũ với các thông tin về người như Address, PhoneNumber, Name Ta muốn quản lí các thông tin trên bằng cách xây dựng 1 lớp
PersonFacade tận dụng lại các lớp ở trên
5.7 Chain of responsibility
a Biểu đồ lớp
Trang 30b Code
c Áp dụng vào hệ thống BoCE
5.8 Observer
a Biểu đồ lớp
Trang 315.9 State
a Biểu đồ lớp
b Code
c Áp dụng vào hệ thống BoCE