Kiến trúc 3 tầng

Một phần của tài liệu Xây dựng hệ thống cổng thông tin cho học viện ngân hàng (Trang 36)

Presentation Layer

Lớp presentation làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và hiển thị kết quả/dữ liệu thông qua các thành phần trong giao diện người sử dụng. Lớp này sẽ sử dụng các dịch vụ do lớp Business Logic cung cấp. Trong lớp này có 2 thành phần chính là User Interface Components và User Interface Process Components.

- UI Components là những phần tử chịu trách nhiệm thu thập và hiển thị

thông tin cho người dùng cuối. Các thành phần này có thể là các textbox, các button và một vài thành phần khác mà tuy từng ngơn ngữ lập trình quy định. - UI Process Components: là thành phần chịu trách nhiệm quản lý các qui

trình chuyển đổi giữa các UI Components. • Business layer

Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ do lớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation. Lớp này cũng có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3 (3rd parties) để thực hiện công việc của mỡnh(vớ dụ như sử dụng dịch vụ của các cổng thanh tốn trực tuyến như VeriSign, Paypal...).

Data access layer

Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu của ứng dụng. Thường lớp này sẽ sử dụng các dịch vụ của các hệ quản trị cơ sở dữ liệu như SQL Server, Oracle, MySQL... để thực hiện nhiệm vụ của mình. Trong lớp này cú cỏc thành phần chính là Data Access Logic, Data Sources, Servive Agents).

Data Access Logic components (DALC) là thành phần chính chịu trách nhiệm lưu trữ vào và truy xuất dữ liệu từ các nguồn dữ liệu - Data Sources như RDMBS, XML, File systems....

Chất lượng vận hành của một hệ thống web không những chỉ phụ thuộc vào chất lượng thiết kế, xây dựng của các nhà lập trình mà cịn phụ thuộc vào cơ sở hạ tầng có phù hợp hay khơng.

1.2.3. Cơ sở hạ tầng phục vụ hệ thống

Cổng thông tin của Học viện Ngân hàng được xây dựng dựa trên ngơn ngữ lập trình PHP và hệ quản trị cơ sở dữ liệu MySQL nên được xây dựng trên cơ sở hạ tầng như sau.

- Hệ điều hành: Window 2000, Window XP, hoặc Linux - Hệ quản trị cơ sở dữ liệu: MySQL

- Trình biên dịch PHP Compiler

- Đăng ký tên miền nhằm cơng bố website trên mạng internet.

1.3. Phân tích luồng dữ liệu của hệ thống

1.3.1. Vai trị của cơng cụ hỗ trợ việc phân tích thiết kế

Khi xây dựng một hệ thống thơng tin, ngồi những khó khăn về kỹ thuật, sự thiếu hiểu biết về kiến thức quản lý của hệ thống đang được xây dựng, cịn có khó khăn khơng kém phần quan trọng là các vấn đề trao đổi thơng tin giữa những người có trình độ khác nhau trong nhóm phát triển hệ thống. Các khó khăn thể hiện ở một số điểm cụ thể sau:

- Thông thường các nhà quản lý thường đặt các yêu cầu chung chung về hệ thống mà họ cần, và người sử dụng thì chỉ biết các cơng việc trong phạm vi của mình mà ít biết đến mối liên hệ với các bộ phận khác. Vì vậy mà phân tích viên phải biết cách gợi mở và dùng phương pháp nào đó để người dùng hiểu rõ hơn cơng việc của mình.

- Phần lớn người sử dụng khơng thể hình dung được sự hoạt động của hệ thống thơng tin sau này. Họ không biết dữ liệu sẽ được xử lý và thể hiện ra sao, máy tính sẽ cung cấp cho họ những báo biểu nào, vì thế việc cung cấp một bức tranh tồn cảnh về mơ hình hoạt động của hệ thống gần gũi với công việc của họ là điều hết sức cần thiết.

lớn, tiêu phí nhiều thời gian. Nhưng làm thế nào để nhìn được tồn cảnh và các mối liên hệ trong hệ thống nhưng khi muốn đi vào chi tiết một phần nào đó thì vẫn có đủ thông tin?

- Việc thể hiện những chi tiết của hệ thống mới, với đầy đủ các đặc tả dễ tạo niềm tin cho người sử dụng, mặc dù bây giờ họ có một số vấn đề chưa hiểu hồn tồn.

- Nếu xây dựng các tài liệu mô tả dùng ngôn ngữ của người dùng, thì lại khơng hữu dụng cho người thiết kế vật lý và kỹ thuật, nhưng nếu người phân tích đi quá sâu vào đặc tả chức năng, lại dễ làm cho người lập trình mất đi tính độc lập, để tìm ra một cách giải quyết tốt nhất. Do đó tài liệu mô tả hệ thống cần phải xây dựng thế nào cho phù hợp để người dùng có thể hiểu và khơng gây khó khăn cho người lập trình?

Với các vấn đề trờn viợợ̀c tìm ra một ngơn ngữ chung mơ hình hóa các hệ thống thơng tin đờờ̉ viợợ̀c trao đổi giữa người sử dụng và nhóm phát triển, giữa các thành viên trong nhóm phát triển được dễ dàng là hết sức cần thiết. Hiện nay đã có một số phương pháp để giải quyết vấn đề này, trong đó có phương pháp sử dụng biểu đồ luồng dữ liệu (data flow diagram –

DFD) được dùng phổ biến.

1.3.2. Biểu đồ luồng dữ liệu DFD1.3.2.1. Khái niệm 1.3.2.1. Khái niệm

Biểu dồ luồng dữ liệu (DFD) là một sơ đồ mô tả trực quan hệ thống, chỉ ra

tất cả các yêu cầu chính của một hệ thống thông tin trong một sơ đồ, bao gồm: đầu vào và đầu ra, các tiến trình và các kho lưu trữ.[8]

1.3.2.2. Các ký pháp a. Tác nhân

Tác nhân của một phạm vi hệ thống được nghiên cứu có thể là một người, nhóm người, một bộ phận, một tổ chức hay một hệ thống thơng tin khác, nằm ngồi phạm vi này và có tương tác với nó về mặt thơng tin (nhận hay gửi dữ liệu). Có thờờ̉ nhọõn viờờ́t các tác nhân là nơi xuất phát (ng̀n) hay nơi đến (đích) của dữ liệu từ

phạm vi hệ thống được nghiên cứu. (adsbygoogle = window.adsbygoogle || []).push({});

Hình chữ nhật được xử dụng để kí hiợợ̀u mụ ụt tác nhân , bên trong ghi tên tác nhân (hình 9). Tên tác nhân phải là một mệnh đề danh từ như “nhà cung cṍp”, “khách hàng”,…

b. Luồng dữ liệu

Luồng dữ liệu là các dữ liệu di chuyển từ một vị trí này đờờ́n mụ ụt vị trí khác trong hệ thống trờn mụ ụt vật mang nào đó. Mụ ụt luụợ̀ng dữ liệu có thể biểu diễn các dữ liệu trờn mụ ụt vật mang như đơn hàng của khác hàng, hay tờ séc trả lương. Nó cũng có thể là một kết quả truy vấn nhận được từ một CSDL được truyờợ̀n trờn mạng; hay những dữ liệu được cập nhật vào máy tính, được hiện ra màn hình hay in ra máy in. Như vậy, luồng dữ liệu có thể gụợ̀m nhiờợ̀u mảng dữ liệu riêng biệt được sinh ra cùng một thời gian và di chuyển đến cùng một đích.

Luồng dữ liệu được kí hiệu bằng đường mũi tên có chiều chỉ hướng dữ liệu di chuyển và tên của dữ liệu được ghi trên nó (hình 1.9). Đầu mũi tên là điểm xuất phát của dữ liệu, cuối mũi tên là điểm đến của luồng dữ liệu. Tên dữ liệu phải là một mệnh đề danh từ và phải thể hiện được sự tổn hợp của các phần tử dữ liệu riêng biệt chứa trong nó.

c. Tiến trình

Tiến trình là một hay một số cơng việc, hoặc hành động có tác động lờn cỏc dữ liệu làm cho chúng di chuyển, thay đổi, được lưu trữ, phân phối hay trình diễn. Quá trình xử lý dữ liệu trong một hệ thống thường gồm nhiều tiến trình khác nhau, mỗi tiến trình thực hiện một phần chức năng nghiệp vụ nào đó. Tiến trình có thể

được xem xét là vật lý nếu nó chỉ ra con người hay phương tiện thực thi chức năng đó. Trong trường hợp ngược lại ta có một tiến trình logic.

Hình chữ nhật góc trịn được dùng để ký hiệu một tiến trình. Một đường gạch ngang phía trên chia hình chữ nhật thành 2 phần: phần trên ghi số hiệu của tiến trình, phần dưới ghi tên tiến trình (hình 1.9). Tên tiến trình phải là một mệnh đề động từ, gồm động từ và bổ ngữ. Ví dụ: “tạo bài viết”, “thay đổi thơng tin”,… Trong biểu đồ luồng dữ liệu vật lý, tên tiến trình có thể là tên chức năng của một bộ phận thực hiện tiến trình đó. Ngồi ra, người ta cịn thêm phần thứ 3 ở phía dưới tờn đờờ̉ ghi tên người, bộ phận hay phương tiện thực hiện tiến trình khi tiến trình là vật lý. Về bản chất, khái niệm chức năng và tiến trình là một, nhưng ở trạng thái khác nhau.

d. Kho dữ liệu

Các dữ liệu được lưu trữ tại một vị trí. Một kho dữ liệu có thể biểu diễn các dữ liệu được lưu trữ ở nhiều vị trí khơng gian khác nhau (các thư mục khác nhau, các máy tính khác nhau, một cặp hồ sơ cùng loại,…).

Hình chữ nhật khuyờờ́t mụ ụt cạnh (bên phải hay bên trái) được dùng biểu diễn một kho dữ liệu. Sát cạnh trái (phải) của hình chữ nhật có mụ ụt ụ dùng để ghi số hiệu kho dữ liệu, bên trong hình chữ nhật ghi tên kho dữ liệu (hình 1.9). Tên kho dữ liệu phải là một mệnh đề danh từ.[1]

1.3.2.3. Quy tắc vẽ biểu đồ luồng dữ liệu

Khi vẽ biểu đồ luồng dữ liệu cần tuân theo các quy tắc sau:

- Đầu vào và đầu ra của một tiến trình phải khác nhau. Nguyên tắc này nhấn mạnh rằng, các dữ liệu qua một tiến trình phải được xử lý. Trong trường hợp ngược lại, tiến trình đó là khơng cần thiết vì khơng tác động gì đến các luồng dữ liệu đi qua nó.

- Các đối tượng trong một biểu đồ luồng dữ liệu phải có tên duy nhất (mỡi tiến trình phải có tên duy nhất). Tuy nhiên, một số tác nhân ngoài và kho

dữ liệu có thể được vẽ lặp lại.

- Các luồng dữ liệu đi vào một tiến trình phải đủ để tạo ra các luồng dữ liệu đi ra khỏi nó. Điều này có nghĩa là mọi tiến trình là có thể thực hiện được xét về mặt dữ liệu.

Tiến trình

- Mọi tiến trình đều phải có cả luồng dữ liệu vào và luồng dữ liệu ra

- Khụng một tiến trình nào chỉ có luồng dữ liệu ra hay luồng dữ liệu vào. Một đối tượng không phải là kho dữ liệu mà chỉ có luồng dữ liệu vào hay chỉ có luồng dữ liệu ra thì nó chỉ có thể là tác nhân (ng̀n hay đích).

Tác nhân

L̀ng dữ liệu

- Mụ ụt luồng dữ liệu khơng thể quay lại nơi mà nó vừa đi khỏi.

- Mụ ụt luồng dữ liệu đi vào một kho, có nghĩa là kho dữ liệu được cập nhật; mụ ụt luụợ̀ng dữ liệu đi ra khỏi kho, có nghĩa là kho dữ liệu được đọc.

- Khơng có luồng dữ liệu từ một kho đờờ́n mụ ụt kho khác.

- Dữ liệu không thể di chuyển trực tiếp từ một tác nhân đến kho dữ liệu và ngược lại.

1.3.2.4. Phương pháp tạo biểu đồ luồng dữ liệu

a. Phương pháp phát triển biểu đồ luồng dữ liệu từ trên xuống

Để tạo biểu đồ luồng dữ liệu theo phương pháp này, ta thực hiện các bước sau:

• Lập danh sách các hoạt động để từ đó xác định các đối tượng khác nhau. - Tác nhân bên ngồi (adsbygoogle = window.adsbygoogle || []).push({});

- Luồng dữ liệu - Tiến trình - Kho dữ liệu

• Tạo biểu đồ ngữ cảnh, chỉ ra các tác nhân bên ngoài và các luồng dữ liệu vào và ra hệ thống. Sơ đồ ngữ cảnh không chỉ ra các tiến trình chi tiết hoặc kho dữ liệu.

• Vẽ sơ đồ mức 0, cṍp đụ ụ tiếp theo, chỉ ra các tiến trình nhưng bảo tồn các luồng dữ liệu. Ở mức này các kho dữ liệu bắt đầu được xuất hiện.

• Tạo sơ đồ con cho mỗi sơ dồ mức 0.

• Kiểm tra lỗi và chắc chắn rằng các nhãn bạn chỉ định cho mỗi tiến trình và luồng dữ liệu đều có nghĩa.

• Phát triển sơ đồ luồng dữ liệu vật lý từ sơ đồ luồng dữ liệu logic. Phân biệt giữa tiến tình thường và tiến trình tự động, mơ tả tập tin thực tế và báo cáo bằng tên và thêm điều khiển cho biết khi nào q trình đầy đủ hoặc sai sót xảy ra.

• Phân vùng sơ đồ luồng dữ liệu vật lý bằng cách tách biệt hoặc nhóm các bộ phận của biểu đồ để tạo điều kiện thuận lợi cho lập trình và thực hiện.

Tuy nhiên trong phạm vi đề tài này, chúng tôi chỉ giới thiệu chi tiết các bước b,c,d,e,f. [9]

b. Sơ đồ mức ngữ cảnh

Sơ đồ mức ngữ cảnh (Context Diagram): mô tả cái nhìn tổng quan nhất về hệ thống. Tất cả các tác nhân ngoài và các luồng dữ liệu vào ra hệ thống được biểu diễn vào trong một sơ đồ, toàn bộ hệ thống được thể hiện bằng một tiến trình duy nhất.

Sơ đồ mức ngữ cảnh chỉ ra một cách rõ ràng phạm vi của hệ thống. Phạm vi của hệ thống là những gì được mơ tả bởi một tiến trình đơn và các tác nhân ngồi. Các tác nhân ngoài cung cấp hoặc nhận dữ liệu từ hệ thống nằm ngoài phạm vi hệ thống, và tất cả những thành phần còn lại nằm trong phạm vi hệ thống. Sơ đồ mức ngữ cảnh không biểu diễn các kho dữ liệu bởi tất cả các kho dữ liệu được coi là nằm trong hệ thống. Tuy nhiên, các kho dữ liệu có thể được biểu diễn khi chúng được chia sẻ bởi hệ thống trong sơ đồ với một hệ thống khác(1)

c. Sơ đồ mức đỉnh (mức 0)

Tất cả các phân đoạn DFD cho một hệ thống hoặc hệ thống con có thể kết hợp trong một sơ đồ DFD gọi là sơ đồ luồng dữ liệu mức đỉnh, hay sơ đồ mức 0.

Sơ đồ mức 0 được sử dụng chủ yếu để trình bày. Nó tổng hợp tồn bộ hệ thống hoặc hệ thống con chi tiết hơn sơ đồ mức ngữ cảnh. Tuy nhiên, các nhà phân tích thường tránh sơ đồ mức 0 vì:

- Nội dung thơng tin trùng lặp với các phân đoạn DFD.

- Sơ đồ thường phức tạp và khó sử dụng, đặc biệt là với các hệ thống lớn có nhiều tính năng.(1)

d. Sơ đồ con

Mỗi quá trình trên biểu đồ 0 lần lượt có thể được phân rã tạo ra một sơ đồ chi tiết hơn gọi là sơ đồ con. Các tiến trình trên biểu đồ 0 được phân rã gọi là tiến trình cha, và sơ đồ kết quả được gọi là sơ đồ con. Các quy tắc chính cho việc tạo sơ đồ con, cân bằng theo chiều dọc, ra lệnh một sơ đồ con không thể tạo đầu ra hoặc nhận đầu vào mà tiến trình cha khơng tạo ra hoặc đọc vào. Tất cả các luồng dữ liệu vào hoặc ra khỏi tiến trình cha phải được hiển thị đầy đủ vào hoặc ra khỏi sơ đồ con. Sơ đồ con được đánh số tương tự như tiến trình cha của nó trong sơ đồ

0. Ví dụ, tiến trình 3 sẽ phân rã thành sơ đồ 3. Các tiến trình trên sơ đồ con sử dụng tiếp số tiến trình cha, là một điểm thập phân, và một số duy nhất cho mỗi tiến trình con.Trờn Sơ đồ 3, các quá trình sẽ được đánh số 3.1, 3.2, 3.3, và như vậy. Quy ước này cho phép phân tích để theo dõi một loạt các q trình thơng qua nhiều cấp độ của sự phân rã. Nếu sơ đồ mức 0 mô tả các tiến trình là 1, 2, 3, sơ đồ con cũng đánh số là 1, 2, và 3 là tất cả các tiến trình trên cùng cấp. Các đối tượng thường khơng được hiển thị trên sơ đồ con dưới sơ đồ 0. Dòng dữ liệu mà phù hợp với dòng cha được gọi là một dòng dữ liệu giao diện và được thể hiện như một mũi tên, vào một khu vực trống của sơ đồ con. Nếu tiến trình cha có dịng dữ liệu kết nối với một kho dữ liệu,sơ đồ con có thể bao gồm các kho dữ liệu như . Ngoài ra, sơ đồ cấp thấp hơn có thể có các kho dữ liệu khơng hiển thị trên tiến trình cha. Ví dụ, một tập

Một phần của tài liệu Xây dựng hệ thống cổng thông tin cho học viện ngân hàng (Trang 36)