dữ liệu cũ. Tuy nhiên sẽ khó khăn nếu phân phối dữ liệu tới nhiều máy khác nhau. Việc này sẽ phát sinh khả năng dư thừa dữ liệu, không toàn vẹn.
2) Mô hình khách - phục vụ
Mô hình khách - phục vụ là một mô hình hệ thống phân tán biểu diễn việc phân tán các dữ liệu và xử lý trên nhiều máy tính khác nhau.
Hình 5.8. Mô hình kho dữ liệu
Các thành phần chính là:
- Một tập các server độc lập phục vụ cho các phân hệ.
- Một tập các khách hàng yêu cầu các dịch vụ. Chúng có thể là các phân hệ, hay là các thể hiện khác nhau của cùng một chương trình.
- Một mạng cho phép các khách hàng có thể truy nhập được các dịch vụ.
Ví dụ kiến trúc của một thư viện phim và hình ảnh sử dụng mô hình kho dữ liệu:
Hình 5.9. Kiến trúc của một thư viện phim và hình ảnh
Khách hàng phải biết được định danh của các dịch vụ, còn các dịch vụ không cần biết các định danh của khách hàng.
Ưu điểm quan trọng nhất của mô hình này là sự phân tán rất rò ràng. Mô hình này dễ dàng thêm một server và tích hợp dần dần khi có nhu cầu mà không ảnh hưởng tới các thành phần cũ. Sự thiếu vắng của mô hình chia sẻ dữ liệu ở đây có nghĩa là sẽ khó dự đoán được các vấn đề khi tích hợp dữ liệu vào hệ thống cũ. Mỗi server phải có
trách nhiệm với bản thân mình về lưu trữ, khôi phục,...Không có một trung tâm nên khách hàng phải tự biết và tìm server, đây là vấn đề khó khăn đối với các mạng lớn như WAN, Internet.
3) Mô hình máy trừu tượng
Mô hình máy trừu tượng đôi khi gọi là mô hình lớp, mô hình hoá giao diện của các phần mềm. Mô hình phân lớp tổ chức hệ thống thành nhiều lớp và mỗi lớp cung cấp một tập các dịch vụ. Mỗi lớp có thể được coi như một máy trừu tượng (Abstract Machine) mà ngôn ngữ của máy được định nghĩa bởi các dịch vụ mà lớp đó cung cấp. Do đó, mô hình này thường được sử dụng để mô hình hoá giao diện (Interface) của hệ thống con. Mô hình phân lớp hỗ trợ phát triển các hệ thống con theo kiểu tăng vòng ở nhiều lớp khác nhau. Khi giao diện của một lớp thay đổi thì chỉ những lớp liền kề nó mới bị ảnh hưởng.
Hình 5.10. Mô hình máy trừu tượng
Ví dụ kiến trúc của hệ thống quản lý phiên bản sử dụng mô hình máy trừu tượng:
Hình 5.11. Kiến trúc của hệ thống quản lý phiên bản
Ví dụ kiến trúc của ứng dụng doanh nghiệp sử dụng mô hình máy trừu tượng:
Hình 5.12. Kiến trúc của ứng dụng doanh nghiệp
4) Mô hình điều khiển
Là mô hình mà để vận hành, hệ thống phải được điều khiển làm việc đồng bộ và đúng. Mô hình cấu trúc không có các thông tin điều khiển mà các luồng điều khiển được chỉ ra ở mô hình điều khiển. Hai cách tiếp cận chung có thể xác định là:
- Điều khiển tập trung,
- Điều khiển trên cơ sở sự kiện
Mô hình điều khiển bổ sung cho mô hình cấu trúc. Mỗi mô hình cấu trúc đã nói trên đều có thể dùng mô hình điều khiển tập trung hoặc mô hình điều khiển trên cơ sở sự kiện.
Mô hình điều khiển tập trung
Một phân hệ được thiết kế như bộ điều khiển hệ thống có trách nhiệm quản lý việc thực hiện các phân hệ khác. Các mô hình điều khiển tập trung phân lớp theo hai loại phụ thuộc việc điều khiển được tiến hành tuần tự hay song song.
- Mô hình gọi - trả lời: Mô hình này phù hợp với các mô hình thủ tục top - down.
Hình 5.13. Mô hình gọi - trả lời
- Mô hình quản lý: Mô hình này thích hợp với các hệ thống đồng thời. Một cấu thành hệ thống được thiết kế như là một bộ quản trị và điều khiển việc khởi động, kết thúc và phối hợp các phân hệ khác.
Hình 5.14. Mô hình quản lý
Mô hình hệ thống điều khiển bởi sự kiện
Mô hình hệ thống điều khiển bởi sự kiện có nhiều kiểu khác nhau của hệ thống hướng sự kiện, như:
- Mô hình phát tin: Trong mô hình này, về nguyên tắc, một sự kiện được thông báo cho các phân hệ. Các phân hệ được thiết kế điều khiển sự kiện này sẽ tự quyết việc trả lời. Mô hình này hiệu quả với các phân hệ được phân bố trên các máy tính khác nhau trên mạng.
+ Ưu điểm: Việc phát triển tương đối đơn giản. Một phân hệ mới xử lý một lớp sự kiện mới có thể được tích hợp khi ghi nhận các sự kiện này vào bộ điều khiển sự kiện. Mỗi phân hệ có thể kích hoạt mọi phân hệ khác không cần biết tên và vị trí của các phân hệ đó. Phân bố trong suốt với các phân hệ.
+ Nhược điểm: Phân hệ không biết sự kiện có được xử lý hay không và khi nào được xử lý. Rất có thể hai phân hệ khác nhau cùng sinh một sự kiện và có thể gây xung đột.
Hình 5.15. Mô hình phát tin
- Mô hình điều khiển ngắt: Có một hệ thống bên ngoài được sử dụng riêng cho việc theo dòi các ngắt bên ngoài và được chuyển tới các phân hệ tương ứng. Mô hình này phù hợp với các hệ thống thời gian. Ưu điểm của nó là cho phép đáp ứng nhanh nhất với các sự kiện. Nhược điểm là việc lập trình phức tạp.
Hình 5.16. Mô hình điều khiển ngắt
5) Mô hình đối tượng
Hệ thống được phân thành các đối tượng giao tiếp với nhau. Phân tích hướng đối tượng chỉ ra các lớp đối tượng liên quan, các thuộc tính và các hoạt động của chúng.
Ưu điểm của nó là tính bao đóng cho phép dấu các thực hiện của các đối tượng và cho phép dùng lại mã. Tuy nhiên nhược điểm là để sử dụng các dịch vụ, các đối tượng phải gọi tường minh các tên và giao diện của các đối tượng khác. Sự thay đổi giao diện sẽ làm ảnh hưởng tới các đối tượng khác.
6) Mô hình luồng dữ liệu
Hệ thống được phân hoá thành các module chức năng. Chúng nhận các dữ liệu chuyển hoá chúng rồi lại đưa ra kết quả. Trong mô hình luồng dữ liệu, các bộ biến đổi xử lý dữ liệu đầu vào và tạo dữ liệu ra. Dữ liệu được chảy tuần tự theo luồng từ bộ biến đổi này sang bộ khác. Mỗi bước của quy trình giống như một phép biến đổi.
Hình 5.17. Mô hình luồng dữ liệu
Ưu điểm:
- Hỗ trợ việc sử dụng lại các biến đổi.
- Phù hợp với suy nghĩ của mọi người quan niệm về dữ liệu được xử lý theo luồng có đầu vào và đầu ra.
- Thêm các xử lý khác vào hệ thống đơn giản.
- Dễ thực hiện xử lý song song hoặc tuần tự. Nhược điểm:
- Cần phải có một định dạng chung cho các dữ liệu để có thể xử lý bởi mọi bộ biến đổi.
- Các hệ thống tương tác khó được viết theo mô hình luồng dữ liệu. Trong khi các giao diện vào và ra theo dạng văn bản có thể dùng mô hình luồng dữ liệu thì các giao diện đồ hoạ có các dạng vào ra phức tạp hơn dựa trên sự kiện khó có thể áp dụng mô hình luồng dữ liệu.
5.4. Thiết kế cơ sở dữ liệu
5.4.1. Cách tổ chức lưu trữ dữ liệu
Mục tiêu chính của thiết kế dữ liệu là mô tả cách thức tổ chức lưu trữ các dữ liệu của phần mềm.
Trong đó D1, D2 được lưu trữ trong bộ nhớ chính; D3, D4 được lưu trữ trong bộ nhớ phụ.
Cách thức lưu trữ dữ liệu trên bộ nhớ chính: Kiểu cấu trúc, kiểu mảng, kiểu xâu, kiểu cây,..
Cách thức lưu trữ dữ liệu trên bộ nhớ phụ: Tập tin (Có cấu trúc/Không có cấu trúc), cơ sở dữ liệu (Quan hệ/Đối tượng):
- Lưu trữ dưới dạng tập tin: Thích hợp với một số phần mềm đặc thù, chẳng hạn trò chơi, mô phỏng ứng dụng Word, Paint, ...; đặc điểm chung của các phần mềm này là chú trọng rất nhiều vào các xử lý; hình thức giao diện và không chú trọng nhiều đến việc lưu trữ lại các thông tin được tiếp nhận trong quá trình sử dụng phần mềm, các thông tin này thường được tiếp nhận và xử lý ngay.
- Lưu trữ dưới dạng cơ sở dữ liệu: Thường sử dụng với các phần mềm quản lý, chẳng hạn các phần mềm quản lý học sinh, thư viện, bán hàng, nhân sự, …; có đặc điểm cần lưu trữ lại các thông tin được tiếp nhận trong quá trình sử dụng phần mềm. Cách tiếp cận dùng cơ sở dữ liệu rất thông dụng và thường dùng là cơ sở dữ liệu quan hệ:
- Cách thức tổ chức lưu trữ dữ liệu của phần mềm được mô tả thông qua hai loại thông tin:
+ Thông tin tổng quát: Cung cấp góc nhìn tổng quát về các thành phần lưu trữ bao gồm danh sách các bảng dữ liệu và danh sách các liên kết. Việc lưu trữ cần sử dụng bao nhiêu bảng dữ liệu và đó là các bảng nào, mối liên kết giữa các bảng dữ liệu.
+ Thông tin chi tiết: mô tả chi tiết từng thành phần lưu trữ gồm danh sách các thuộc tính của từng thành phần, danh sách các miền giá trị toàn vẹn đó chính là các qui định về tính hợp lệ của các thông tin được lưu trữ.
- Danh sách các bảng dữ liệu
Tên bảng | Ý nghĩa | Ghi chú | |
1 |
Có thể bạn quan tâm!
- Các Công Việc Vủa Cán Bộ Phân Tích
- Công nghệ phần mềm - Phạm Hùng Phú, Nguyễn Văn Thẩm Biên soạn - 17
- Mối Liên Quan Của Giai Đoạn Thiết Kế Với Các Giai Đoạn Khác
- Yêu Cầu Về Chất Lượng Thiết Kế Cơ Sở Dữ Liệu
- Màn Hình Chính Phần Mềm Quản Lý Ngân Hàng Câu Hỏi
- Khóa Bí Mật Được Đồng Bộ Với Server Vpn
Xem toàn bộ 305 trang tài liệu này.
- Danh sách các thuộc tính của bảng
Thuộc tính | Ràng buộc | Giá trị khởi tạo | Ý nghĩa | Loại thuộc tính | |
1 |
Các loại thuộc tính:
+ Thuộc tính khóa
+ Thuộc tính có giá trị rời rạc: Thuộc tính phái của Sinh viên chỉ có 2 giá trị: Nam hoặc Nữ; thuộc tính phái của Sinh viên chỉ có 2 giá trị: 0 hoặc 1 (0: Nam, 1: Nữ); thuộc tính điểm học phần chỉ có các giá trị 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10; thuộc tính loại nhân viên chỉ có các giá trị: Nhân viên văn phòng, nhân viên bán hàng, nhân viên sản xuất.
+ Thuộc tính đa trị: Thuộc tính điện thoại của nhân viên là thuộc tính đa trị: 081234567, 09081234567,…; thuộc tính email của sinh viên cũng là một thuộc tính đa trị: dungspnd@yahoo.com, dungspnd@gmail.com,....
+ Thuộc tính là đối tượng phụ: thuộc tính địa chỉ của sinh viên, nhân viên là một đối tượng phụ, bao gồm các thông tin: Số nhà, Đường, Phường/xã, Quận/huyện, Tỉnh thành; thuộc tính ngày sinh của sinh viên, nhân viên cũng là một đối tượng phụ gồm các thông tin: ngày, tháng, năm.
+ Thuộc tính tính toán: thuộc tính thành tiền trong hóa đơn là một thuộc tính tính toán, được tính bằng tổng số lượng * đơn giá của các mặt hàng; thuộc tính điểm trung bình của học sinh, sinh viên cũng là một thuộc tính tính toán.
- Danh sách các miền giá trị toàn vẹn:
Mô tả miền GT (RBTV) | Thành phần liên quan | Ghi chú | |
RB1 | |||
RB2 |
- Quan hệ giữa các bảng dữ liệu: Quan hệ “1-1”, Quan hệ “1-nhiều”, Quan hệ “nhiều-nhiều”.
5.4.2. Xây dựng sơ đồ logic dữ liệu
Có nhiều phương pháp, nhiều đề nghị khác nhau về việc mô tả thông tin của thành phần dữ liệu trong giai đoạn thiết kế. Để biểu diễn các thông tin tổng quát về bảng thuộc tính, miền giá trị mô tả chi tiết các thành phần ta dùng sơ đồ logic còn được gọi là mô hình vật lý. Mô hình vật lý này sẽ được xây dựng dựa trên mô hình ERD đã có ở giai đoạn phân tích, kèm theo vài thay đổi tùy theo người thiết kế. Nguyên tắc chuyển đổi từ mô hình ERD sang mô hình vật lý dựa trên mối kết hợp giữa các thực thể.
Các bước chuyển đổi từ mô hình ERD sang mô hình vật lý.
Bước 1: Chuyển các tập thực thể thành các lược đồ quan hệ.
- Tên tập thực thể thành tên của lược đồ quan hệ.
- Các thuộc tính của tập thực thể thành các thuộc tính của lược đồ quan hệ.
- Khóa của tập thực thể thành khóa của lược đồ quan hệ.
Bước 2: Chuyển các mối liên hệ được chuyển thành các lược đồ quan hệ.
- Tên của mối liên hệ thành tên của lược đồ quan hệ
- Các thuộc tính khoá của tập thực thể tham gia vào mối liên hệ thành các thuộc tính của lược đồ quan hệ.
- Khoá của lược đồ quan hệ được xác định tùy thuộc vào loại mối liên hệ, nếu mối liên hệ là:
+ Một-Một thì khoá của tập thực thể nào cũng có thể trở thành khoá của lược đồ quan hệ.
+ Nhiều-Một thì khoá bên nhiều thành khoá tên của lược đồ quan hệ.
+ Nhiều-Nhiều thì các thuộc tính khoá của tất cả các tập thực thể trở thành khoá của lược đồ quan hệ.
Bước 3: Gộp các lược đồ quan hệ có chung khóa thành một lược đồ.
- Tên của lược đồ quan hệ mới là tên mới hoặc là tên của một trong các tên của các lược đồ quan hệ đem gộp.
- Tập thuộc tính là hợp các thuộc tính của các lược đồ quan hệ đem gộp.
- Khoá là khoá chung.
Bước 4: Chuẩn hóa các lược đồ quan hệ để đưa các lược đồ quan hệ về dạng chuẩn 3NF.
Sơ đồ logic: Là công cụ cho phép mô tả trực quan cách thức lưu trữ dữ liệu trên bộ nhớ phụ với việc sử dụng cơ sở dữ liệu quan hệ và mối liên kết giữa các bảng.
Các quy ước:
5.4.3. Cách phương pháp thiết kế cơ sở dữ liệu
Có hai cách tiếp cận chính để thiết kế dữ liệu.
1) Phương pháp trực tiếp:
Từ các yêu cầu đã xác định, tạo lập trực tiếp sơ đồ logic cùng với bảng thuộc tính, bảng miền giá trị toàn vẹn. Cách tiếp cận này rất khó thực hiện đối với mô hình vật lý phức tạp. Chẳng hạn thiết kế những phần mềm phức tạp như phần mềm kế toán, nhân sự, tiền lương,…
2) Phương pháp gián tiếp:
Từ các yêu cầu đã xác định, tạo lập mô hình ERD, và sau đó dựa vào mô hình này sẽ tạo lập sơ đồ logic, bảng thuộc tính, bảng miền giá trị. Cách tiếp cận này dễ thực hiện hơn và mô hình ERD thường đơn giản, dễ hiểu vì mô hình này chỉ chứa các thành phần dữ liệu cơ bản nhất của phần mềm.
Các bước thực hiện:
Bước 1: Xây dựng mô hình ERD
Bước 2: Chuyển mô hình ERD sang mô hình logic dữ liệu