Website: Email : Tel : 0918.775.368
CHƯƠNG 1 MỞ ĐẦU
1. Đặt vấn đề
Ngày nay, Công nghệ thông tin đã và đang đóng vai trò quan trọng trong
đời sống kinh tế xã hội của nhiều quốc gia trên thế giới, hệ thống tin học phát
triển nhanh chóng và ngày càng trở nên phức tạp.
Viêc phát triển các hệ thống phần mềm ngày càng trở nên phức tạp không
chỉ về quy mô và phạm vi ứng dụng mà còn cả sự thay đổi về nội dung. Nếu
trước đây, các hệ thống phần mềm sử dụng giao diện dòng lệnh từ các xâu kí tự
thì ngày nay đã được thay thế bằng giao diện đồ hoạ xu thế sự kiện: Kiến trúc
hệ thống đa tầng khách/chủ, cơ sở dữ liệu(CSDL) phân tán, Internet phát triển
mạnh mẽ... làm cho các hệ thống phần mềm càng trở nên phức tạp hơn.
Vấn đề đặt ra là việc xây dựng hệ thống phần mềm hiện nay, khó khăn lớn
nhất không phải là tốc độ thực hiện chương trình, kinh phí hay cái gì khác mà là
độ phức tạp. Vì thế hướng giải quyết là làm giảm bớt độ phức tạp của hệ thống
phần mềm. Các phương pháp tiếp cận khác nhau đều có thể giải quyết vấn đề
này nhưng ở các mức độ khác nhau.
Hiện nay, có hai cách tiếp cận phổ biến là tiếp cận hướng chức năng (truyền
thống) và tiếp cận hướng đối tượng.
Cách tiếp cận hướng chức năng cho phép xây dựng phần mềm là thực hiện
dãy tương tác chia nhỏ và hợp nhất. Chia nhỏ để hiểu rõ vấn đề và hợp nhất để
xây dựng hệ thống. Các chức năng của hệ thống được nhân diện sau đó lại được
tách thành các chức năng con. Tiến trình này được lặp đi lặp lại đến khi được
các thành phần đơn giản đến mức chúng được biểu diễn trực tiếp bằng các hàm
hay thủ tục của ngôn ngữ lập trình.[1]
Kiến trúc phần mềm được cài đặt theo cách tiếp cận hướng chức năng sẽ phản
ánh các chức năng hệ thống. Tiếp cận hướng chức năng và cơ chế phân cấp chỉ
cho lại kết quả mong muốn khi các chức năng được nhận biết đầy đủ và không
được thay đổi theo thời gian. Tuy nhiên trong thực tế phát triển phần mềm luôn
là tiến trình động, CSDL động không bao giờ kết thúc hoàn toàn và luôn có
những thay đổi, nâng cấp. Sửa đổi hay mở rộng hệ thống quá nhiều làm cho
đối tượng thì tập trung vào đối tượng, cả thông tin và hành vi, chúng kết hợp
giữa dữ liệu và chức năng. Cho khả năng xây dựng hệ thống mềm dẻo.
Phương pháp tiệm cận hướng đối tượng cho khả năng xây dựng phần mềm
để mô tả các lĩnh vực, vấn đề tốt hơn phương pháp truyền thống. Các hệ thống
tạo ra sẽ dễ dàng tương thích với việc thay đổi các yêu cầu , dễ dàng bảo trì
hơn, dễ dàng nâng cấp và khả năng sử dụng lại mã lệnh cao hơn. Cho phép
chúng ta tạo ra các modul chức năng. Với phương pháp này , chúng ta quan tâm
đến việc hệ thống làm được gì chứ không phải hệ thống làm như thế nào.
Có nhiều lý do để lựa chọn phương pháp hướng đối tượng, vì ngoài những
ưu điểm trên nó còn có một số đặc điểm sau:
Xoá bỏ ranh giới giữa các pha trong phát triển phần mềm: Phát triển phần
mềm theo phương pháp truyền thống đối với mỗi bước của tiến trình phát triển
phần mềm nó đòi hỏi các kiểu và các phương pháp khác nhau. Việc chuyển từ
pha này sang pha khác là một sự chuyển tiếp phức tạp giữa các mô hình gần
như khác nhau hoàn toàn. Sự chuyển giao đó không những làm chậm tiến trình
phát triển phần mềm mà còn làm tăng cỡ của dự án và lỗi trong việc chuyển từ
- 2 -
Chức năng chính
Chức năng con 1 Chức năng con 2
Chức năng
con 1.1
Chức năng
con 1.2
Chức năng
con 2.1
Chức năng
con 2.2
Website: Email : Tel : 0918.775.368
ngôn ngữ này sang ngôn ngữ khác cũng phát sinh nhiều hơn. Tiếp cận hướng
đối tượng sử dụng cùng một ngôn ngữ trong phân tích, thiết kế, lập trình và
dụng công nghệ.
2.4 Giới hạn đề tài
Cấu trúc đồ án:
Chưong 1. Mở đầu
Chương này trình bày những ưu điểm của phương pháp phát triển phần
mềm hướng đối tượng so với phương pháp hướng chức năng truyền thống và lý
do lựa chọn phương pháp hướng đối tượng trong phát triển phần mềm. Ngoài
ra, còn trình bày mục đích nghiên cứ, nội dung và phương pháp nghiên cứu,
giới hạn đề tài.
Chương 2. Quy trình phát triển phần mềm hướng đối tượng sử dụng UML.
- 3 -
Website: Email : Tel : 0918.775.368
Chương này giới thiệu về ngôn ngữ mô hình hoá thống nhất UML, giới
thiệu tiến trình phát triển phần mềm RUP và giới thiệu công cụ hỗ trợ quá trình
phân tích, thiết kế hướng đối tượng Rational Rose.
Chương 3. Giới thiệu bài toán
Mô tả nội dung bài toán đặt ra, xác định các yêu cầu.
Chương 4. Mô hình ca sử dụng
Đi sâu vào việc xác định và mô tả chi tiết ca sử dụng của hệ thống, các tác
nhân tham gia vào các ca sử dụng này và xây dựng mô hình ca sử dụng của hệ
thống.
Chương 5. Mô hình phân tích.
Phân tích chi tiết các hoạt động trong các ca sử dụng, xây dựng các lớp,
phân tích và mối quan hệ giữa chúng.
Chương 6. Mô hình thiết kế.
Mô tả tương tác giữa các đối tượng khi thực hiện các ca sử dụng bằng các
biểu đồ tuần tự đối tượng, xác định các lớp, các phương thức, thuộc tính của lớp
và mô hình hoá dữ liệu.
Chương 7. Mô tả hệ thống cài đặt.
Chương này giới thiệu một số giao diện chính của chương trình.
• UML là ngôn ngữ chuẩn để viết kế hoạch chi tiết phần mềm.
• Vạch ra cho hệ thống những chức năng chính của nó sử dụng các mô
hình tình huống sử dụng và các tác nhân.
• Minh hoạ các use case bằng các biểu đồ tương tác (interaction
diagram)
• Mô tả cấu trúc tĩnh của một hệ thống sử dụng các biểu đồ lớp (class
diagram).
• Mô hình hoá trạng thái của đối tượng bằng các biểu đồ chuyển tiếp
trạng thái.
• Minh hoạ cấu trúc thi hành vật lý bằng các biểu đồ thành phần và
triển khai
Mở rộng chức năng bằng các mầu cung cấp sẵn (stereotype)
- 5 -
Website: Email : Tel : 0918.775.368
2.1.3. Các đặc trưng và khả năng của UML
2.1.3.1. UML là ngôn ngữ mô hình đồ hoạ
Ngôn ngữ cung cấp bảng từ vựng và tập các quy tắc để kết hợp các từ
trong bảng từ vựng để giao tiếp. Ngôn ngữ mô hình là ngôn ngữ có từ vựng và
quy tắc tập trung vào các biểu diễn về mặt vật lý và khái niệm của hệ thống.
UML là ngôn ngữ chuẩn công nghiệp để lập kế hoạch chi tiết phần mềm.
Ngôn ngữ phải cho phép biểu diễn nhiều khung nhìn (views) khác nhau
của kiến trúc hệ thống trong suốt quá trình phát triển phần mềm. Từ vựng và
quy tắc ngôn ngữ UML cho ta cách thức xây dựng mô hình và đọc mô hình,
nhưng không cho biết mô hình nào cần phải được lập và khi nào lập chúng mà
phải dựa vào quy trình phát triển phần mềm. Các biểu diễn mô hình trong UML
là các biểu diễn bằng đồ hoạ.
2.1.3.2. UML là ngôn ngữ đặc tả có cấu trúc
Đặc tả là xây dựng mô hình chính xác, rõ rang, không nhập nhằng, hoàn
thiện và đầy đủ những điểm mấu chốt của vấn đề. UML hướng tới đặc tả thiết
kế, phân tích và quyết định cài đặt trong quá trình phát triển và triển khai hệ
Website: Email : Tel : 0918.775.368
2.1.4.1. Các khối cơ bản xây dựng mô hình
Các khối để hình thành mô hình UML gồm ba loại:
- Phần tử
- Quan hệ (relationships)
- Biểu đồ (diagram)
Phần tử trong mô hình là căn bản, các quan hệ gắn các phần tử lại với
nhau, còn biểu đồ nhóm tập hợp các phần tử. Trong UML có 4 loại phần tử mô
hình đó là cấu trúc, hành vi, nhóm và chú thích.
Phần tử cấu trúc
Phần tử cấu trúc là các danh từ trong mô hình UML, là bộ phận tĩnh của
mô hình để biểu diễn các thành phần khái niệm hay vật lý.
• Lớp (Class)
Lớp là mô tả tập các đối tượng cùng chung thuộc tính, thao tác, quan hệ
và ngữ nghĩa. Một lớp cài đặt một hay nhiều mô hình ghép nối, biểu diễn
bằng hình chữ nhật có 3 phần tên, thuộc tính và thao tác.
Hình 2. Lớp
• Giao diện (Interface)
Giao diện là một tập hợp các thao tác đặc tả một dịch vụ của lớp hay
thành phần. Giao diện mô tả hành vi thấy được từ ngoài của thành phần.
Biểu diễn toàn bộ hay một phần hành vi của lớp và được gắn vào lớp hay
thành phần thực hiện.
Hình 3. Giao diện
• Cộng tác (Collaboration)
Sự cộng tác định nghĩa một tương tác và một bộ các nguyên tắc và các
phần tử khác làm việc cùng nhau để tạo ra một hành vi cộng tác lớn hơn
tổng hành vi của các phần tử.
Hình 5. Cộng tác
• Ca sử dụng (Use case)
Ca sử dụng là tậo hợp các hành động mà hệ thống thực hiện để đạt được
- 8 -
File.cpp
Máy chủ
Website: Email : Tel : 0918.775.368
Là hành vi bao gồm tập các thông điệp trao đổi giữa các đối tượng
trong ngữ cảnh cụ thể nhằm thực hiện mục đích cụ thể.
Hiển thị
Hình 9. Thông điệp
• Máy trạng thái (State machine)
Máy trạng thái là hành vi chỉ ra trật tự các trạng thái mà đối tượng
hay tương tác sẽ đi qua để đáp ứng sự kiện. Hành vi của lớp hay cộng
tác của lớp có thể được xác định bằng máy trạng thái. Máy trạng thái
kích hoạt nhiều phần tử, bao gồm trạng thái, chuyển tiếp từ trạng thái
này sang trạng thái khác, sự kiện và các hoạt động (đáp ứng sự kiện).
Hình 10. Máy trạng thái
Phần tử nhóm
Phần tử nhóm là bộ phận tổ chức của mô hình UML. Chỉ có một phần tử
thuộc nhóm này đó là gói (package). Gói là một cơ chế để tổ chức các phần
tử vào các nhóm. Các phần tử cấu trúc, phần tử hành vi thậm chí là cả phần
tử nhóm khác nhau có thể được đặt vào trong một gói. Chỉ tồn tại vào thời
điểm phát triển hệ thống chứ không tồn tại vào thời gian chạy chương trình.
Hình 11. Gói
Chú thích (Annotational)
Phần tử chú thích là bộ phận chú giải của một mô hình UML. Là lời giải
thích áp dụng để mô tả các phần tử khác trong mô hình. Hay còn gọi là lời ghi
chú.
Các quan hệ trong UML
• Quan hệ phụ thuộc (dependency)
Phụ thuộc là quan hệ ngữ nghĩa giữa hai phần tử trong đó thay đổi phần
tử độc lập sẽ tác động đến ngữ nghĩa của phần tử phụ thuộc.
- Không lý giải (Unintepreted): là cái gì đó mà ý nghĩa của nó phụ thuộc vào
lĩnh vực.
2.1.4.3. Biểu đồ trong UML
Biểu đồ là biểu diễn đồ hoạ tập các phần tử mô hình. Vẽ biểu đồ để biểu
diễn hệ thống đang xây dựng dưới các góc độ quan sát khác nhau. UML cho
khả năng xây dựng một vài kiểu biểu đồ trực quan để biểu diễn các khía cạnh
khác nhau của hệ thống, bao gồm :
• Biểu đồ ca sử dụng (Use case diagram)
Chỉ ra tương tác giữa các UC và các tác nhân. UC biểu diễn các chức
năng hệ thống. Tác nhân là con ngườig hay hệ thống khác cung cấp hay thu
nhận thông tin từ hệ thống đang được xây dựng. Chỉ ra tác nhân nào khởi
độngUC và khi nào tác nhân nhận thông tin từ hệ thống.
Biểu đồ UC chỉ ra chức năng tổng thể của hệ thống đang phát triển.
VD:
Modify Existing Order
Salesperson
Accounting System
Enter New Order
• Biểu đồ tương tác (Interaction diagram)
Biểu đồ tương tác bao gồm hai dạng là biểu đồ trình tự và cộng tác
Biểu đồ trình tự (sequence)
Biểu đồ trình tự chỉ ra luồng chức năng xuyên qua các UC, nó là biểu
đồ mô tả tương tác giữa các đối tượng và tập trung vào mô tả trật tự các thông
điệp theo thời gian.
- 10 -
Website: Email : Tel : 0918.775.368
Biểu đồ trình tự là biểu đồ tương tác theo trật tự thời gian của các giao
tiếp bằng thông điệp giữa các đối tượng. Biểu đồ được đọc từ đỉnh xuống đáy .
Mỗi UC có nhiều luồng dữ liệu. Mỗi biểu đồ trình tự biểu diễn một luồng.
Biểu đồ cộng tác (Collaboration)
là lớp mẫu (template)
- Lớp hiện thực: là lớp tham số mà đối số của nó có giá trị.
- Lớp tiện ích: Là tập hợp các thao tác.
- Lớp tiện ích tham số: Là lớp tham số chứa tập các thao tác. Đó là mẫu
để tạo lập ra lớp tiện ích.
- Lớp tiện ích hiện thực: là lớp tiện ích tham số mà đối số của chúng có
giá trị.
- Metaclass: là lớp mà hiện thực của nó là lớp chứ không phải đối tượng.
Ngoài ra trong biểu đồ lớp, Stereotype là cơ chế để phân nhóm lớp. Lớp
biên (boundary class), Lớp thực thể (Entity class), Lớp điều khiển
(Control class).
• Biểu đồ chuyển trạng thái (state transition diagram)
o Biểu đồ chuyển trạng thái mô tả vòng đời của đối tượng, từ
khi nó được sinh ra đến khi bị phá huỷ. Biểu đồ cung cấp cách thức mô hình
hoá các trạng thái khác nhau của đối tượng. Trong khi biểu đồ lớp cung cấp bức
- 11 -
Website: Email : Tel : 0918.775.368
tranh tĩnh về các lớp và quan hệ thì biểu đồ chuyển trạng thái được sử dụng để
mô hình hoá các hành vi động của hệ thống, chỉ ra hành vi động của đối tượng.
Thông thường không tạo lập biểu đồ chuyển trạng thái cho mọi lớp mà
chỉ cho các lớp phức tạp.
o Biểu đồ chuyển trạng thái bao gồm các thông tin về các trạng
thái khác nhau của đối tượng, thể hiện các đối tượng chuyển đổi từ trạng thái
này sang trạng thái khác thế nào.
o Biểu đồ trạng thái có điểm khởi đầu (hình tròn đen) và vài
điểm kết thúc (hình tròn đen có đường bao). Các hoạt động trong biểu đồ thì
được đặt trong chữ nhật góc tròn.
• Biểu đồ hoạt động (Activity diagram)
Biểu đồ hoạt động là một dạng đặc biệt của biểu đồ trạng thái, nó chỉ ra
một luồng các hoạt động diễn ra từ hoạt động này đến hoạt động khác. Biểu đồ
• Khung nhìn cài đặt (Implemetation view)
Khung nhìn cài đặt hay còn gọi là khung nhìn thành phần, khung nhìn
thực hiện bao gồm các thành phần và các file được sử dụng để kết hợp và đưa
- 12 -
Website: Email : Tel : 0918.775.368
ra các hệ thống vật lý. Khung nhìn thành phần bao gồm thành phần, biểu đồ
thành phần và gói trong đó một vài thành phần là thư viện còn một số khác là
mã trình khả thực (.exe) và thư viện (.dll).
Người quan tâm đến khung nhìn này là người có trách nhiệm quản lý mã trình,
dịch chương trình và triển khai ứng dụng.
• Khung nhìn triển khai (Employment view)
Khung nhìn này tập trung vào phân bổ vật lý của tài nguyên và phân bổ
nhiệm vụ giữa các tài nguyên. Liên quan đến triển khai vật lý của hệ thống,
khác với kiến trúc logic.
• Khung nhìn tiến trình (Process view)
Biểu diễn phân tách các luồng thực hiện chương trình, đồng bộ giữa các
luồng, phân bổ các đối tượng và lớp cho các luồng thực hiện khác nhau. Khung
nhìn triến trình tập trung vào các nhiệm vụ tương tranh với nhau như thế nào
trong hệ thống đa nhiệm.
Trong biểu đồ của Rose không có khung nhìn này.
2.2. Giới thiệu tiến trình RUP (Rational Unified Process)
RUP là gì? RUP là quy trình công nghệ phần mềm được phát triển bởi
hang Rational. RUP hỗ trợ các hoạt động giữa các nhóm, phân chia công việc
cho từng thành viên trong nhóm, trong từng giai đoạn khác nhau của quá trình
phát triển phần mềm.
RUP sử dụng hệ thống ký hiệu trực quan của UML và cũng được phát triển
song song với UML.
Một tiến trình là tập hợp có thứ tự các bước nhằm đạt được một mục đích có
nghĩa là chuyển giao sản phẩm phần mềm phù hợp với yêu cầu nghiệp vụ một
cách hiệu quả.
tâm đặc biệt tới việc xây dựng các hệ thống dựa trên sự hiểu biết về hệ thống
được chuyển giao sẽ hoạt động như thế nào. Các kí hiệu cảu ca sử dụng và các
kịch bản được sử dụng để định ra luồng tiến trình từ việc nắm bắt yêu cầu đến
việc kiểm thử và để cung cấp các đường đi có thể lần vết thông qua sự phát
triển đến hệ thống được chuyển giao.
RUP có hướng sử dụng ngôn ngữ UML, hỗ trợ các kỹ thuật hướng đối
tượng. Mỗi mô hình đều hướng đối tượng. Các mô hình RUP dựa trên các khái
niệm của các đối tượng, các lớp và mối quan hệ giữa chúng và chúng sử dụng
UML như là những ký hiệu chung.
RUP được hỗ trợ bởi nhiều công cụ phát triển phần mềm. Và là một quy
trình có thể cấu hình được. Mặc dù không có một quá trình đơn nào là thích hợp
cho tất cả các tổ chức phát triển phần mềm, nhưng RUP có thể và có thể được
chia theo quy mô để phù hợp với các yêu cầu của dự án trong phạm vi từ các
đội phát triển phần mềm nhỏ đến các tổ chức phát triển phần mềm lớn. RUP
được xây dựng trên một kiến trúc tiến trình đơn giản và rõ rang, kiến trúc này
mang đến sự tương đồng thông qua các tiến trình và chúng có thể thay đổi để
thích nghi với các tình huống khác nhau. RUP có chứa hướng dẫn về cách định
hình các tiến trình cho phù hợp với nhu cầu của một tổ chức.
2.2.2. Vòng đời phát triển phần mềm theo RUP
Vòng đời phát triển phần mềm theo RUP được mô tả như sau:
- 14 -
Website: Email : Tel : 0918.775.368
RUP được tổ chức theo 2 chiều hay 2 trục: trục hoành và trục tung.
- Trục hoành: Tổ chức theo thời gian phát triển dự án, thể hiện khía cạnh động
của quy trình. Chu kì, các pha, các quá trình lặp và các cột mốc.
- Trục tung: Tổ chức theo nội dung công việc, thể hiện khía cạnh tĩnh của quy
trình.
RUP xác định sáu luồng công việc chính:
• Mô hình hoá nghiệp vụ
Mục đích cảu luồng công việc này là phát triển một mô hình nghiệp vụ.
Luồng công việc này tạo rẩn phẩm sẵn sàng hoạt động cho người sửu
dụng cuối cùn. Các công việc trong bước này bao gồm việc đóng gói phần
mềm, cài đặt, đào tạo người sử dụng, phân phối sản phẩm.
Ngoài sáu luồng chính trên, RUP còn hỗ trợ 3 luồng công việc: quản lý
cấu hình và những thay đổi, quản lý dự án và môi trường.
Chiều còn lại của RUP là thực hiện việc đưa ra cấu trúc cho các bước lặp
trong dự án phần mềm. RUP gộp các bước lặp trong bốn pha. Mỗi một pha kết
thúc bằng một mốc đánh dấu một vị trí quyết định mức quản lý.
Mỗi pha, bước lặp trong một pha luôn có quan hệ đến nhiều luồng công
việc. Tuỳ thuộc vào bước lặp xác định, một luồng công việc cụ thể có thể tập
trung đối với một pha, trái lại các luồng công việc khác có thể thực hiện vai trò
nhỏ hơn trong bước lặp này. Một bước lặp có thể kéo dài hơn trong luồng công
việc các yêu cầu, trong khi bước lặp sau có thể kéo dài hơn trong luồng công
việc kiểm thử và ngắn hơn trong luồng công việc các yêu cầu.
Các pha trong RUP bao gồm:
Pha khởi đầu
Pha chi tiết
Pha xây dựng
Pha chuyển giao
Mỗi pha bao gồm một số bước lặp. mỗi bước lặp là một chu kỳ phát
triển hoàn thiện, từ nắm bắt yêu cầu trong phân tích đến thực hiện và kiểm thử.
• Pha khởi đầu
Trong pha này, chúng ta xây dựng các trường hợp nghiệp vụ và xác định
phạm vi của dự án. Các trường hợp nghiệp vụ bao gồm điều kiện dành thắng
lợi, đánh giá rủi ro, dự báo tài nguyên cần thiết và kế hoạch pha của các mốc
- 16 -
Website: Email : Tel : 0918.775.368
chính. Kết thúc pha này, chúgn ta xác định mục đích của dự ánvà đưa ra các
bước cần thiết để tiếp tục phát triển dự án.
• Pha chi tiết
quanh hệ thống chúng ta đang xây dựng. Rose hỗ trợ quá trình phân tích hệ
thống bằng cách cho ta thiết kế các ca sử dụng và các biểu đồ ca sử dụng để mô
tả chức năng của hệ thống. Rose cho phép thiết kế các biểu đồ tương tác để mô
tả các đối tượng làm việc cùng với nhau như thế nào để thực hiện các chức
năng hệ thống yêu cầu. Các biểu đồ lớp có thể được tạo ra để mô tả các lớp
trong hệ thống và mối quan hệ giữa chúng. Các biểu đồ thành phần có thể được
phát triển để minh hoạ cách các lớp ánh xạ thành các thành phần thực hiện như
thế nào. Cuối cùng, biểu đồ triển khai có thể được tạo ra để chỉ ra thiết kế mạng
cho hệ thống.
Mô hình Rose là bức tranh hệ thống, nó bao gồm toàn bộ biểu đồ UML,
tác nhân, trường hợp sử dụng, đối tượng, lớp, thành phần và các nút triển khai
trong hệ thống. Nó mô tả chi tiết hệ thống bao gồm cái gì và chúng làm việc ra
sao để người phát triển hệ thống có thể sử dụng mô hình như kế hoạch chi tiết
- 17 -
Website: Email : Tel : 0918.775.368
cho việc xây dựng hệ thống. Rose hỗ trợ giải quyết vấn đề muôn thuở là đội
ngũ dự án giao tiếp với khách hang và làm tài liệu yêu cầu.
Theo lập trình truyền thống sau khi đã xác lập yêu cầu hệ thống, người
phát triển sẽ lấy một vài yêu cầu, quyết định thiết kế và viết mã trình. Cách làm
này dẫn tới nhiều khó khăn nếu muốn hiểu và quản trị toàn bộ hệ thống, họ khó
thấy được quyết định thiết kế đã được làm trước đó. Nếu không có tài liệu thiết
kế thì khó đảm bảo rằng hệ thống được xây dựng đúng là hệ thống mà người sử
dụng nghĩ tới. Tuy rằng các yêu cầu được làm tài liệu đầy đủ, nhưng thiết kế chỉ
tồn tại trong đầu của người phát triển nào đó, người khác sẽ không có ý tưởng
gì về cấu trúc hệ thống. Nếu người phát triển chuyển đi nơi khác thì dự án sẽ
gặp nhiều khó khăn. Phong cách khác phát triển hệ thống là sau khi xác định
yêu cầu, các thiết kế phải được làm tài liệu chi tiết. Mọi người tham gia phát
triển cùng trao đổi quyết định thiết kế trước khi viết mã trình. Do vậy dự án
không còn phải lo lắng khi ai đó rời bỏ dự án. Ngoài người phát triển hệ thống
quan tâm đến mô hình còn có thành viên khác của dự án đều có thể thu nhận
- 18 -
Website: Email : Tel : 0918.775.368
• Cho phép sao chép hay dịch chuyển các tệp mô hình, các đơn vị điều
khiển giữa các không gian làm việc khác nhau theo cơ chế ánh xạ
đường dẫn ảo.
• Cho phép quản lý mô hình và tích hợp với những hệ thống điều khiển
chuẩn, cung cấp bộ tích hợp mô hình để so sánh và kết hợp mô hình,
các đơn vị điều khiển với nhau.
CHƯƠNG 3. GIỚI THIỆU BÀI TOÁN
3.1. Mô tả bài toán
Hệ thống quản lý vào ra của một toà nhà được mô tả như sau:
Một toà nhà 4 tầng với tổng diện tích khoảng 5000 m2. Toà nhà được
chia làm 5 khu vực như sau: hai khu vực để nghiên cứu, một để thí nghiệm, một
là khu vực dành cho người quản lý, khu trung tâm gồm các phòng học và hai
hộit trường lớn.
Toà nhà này có thể chứa khoảng 500 người vào ra mỗi ngày trong đó
phần lớn là sinh viên, giáo viên, nhà nghiên cứu, quản lý, nhân viên hành
chính, làm việc chuyên môn và đông đảo khách đến làm việc, tham quan.
Sau khi có rất nhiều đồ đạc bị mất, ban quản lý toà nhà đã quyết định
hạn chế việc đi lại trong toà nhà bằng cách dùng cửa tự động bằng hệ thống
máy tính.Việc đóng mở cửa được kiểm soát tự động bằng máy đọc thẻ đặt gần
cửa. Thẻ này chỉ được cấp cho những người cần đi qua các khu vực để làm
việc. Quyền đi lại được phân phối theo nhóm người và nhóm cửa. Mỗi người và
mỗi cửa phải luôn thuộc về một nhóm nào đó, và là một thành viên của nhóm
đó, thậm chí chỉ có một người thuộc nhóm đó.
Một nhóm cửa có thể bao gồm nhiều cửa phân bố khắp toàn nhà nhưng
việc quản lý vào ra thì chỉ có nhóm cửa là quan trọng còn đường đi và những
dịch chuyển xung quanh là không được kiểm soát. Một cửa không thể là thành
- 19 -
Website: Email : Tel : 0918.775.368
22 23
23 24
Hệ thống kiểm soát vào ra phải vận hành càng độc lập càng tốt,
mặc dù ngời điều hành phải chịu trách nhiệm về việc cấu hình lúc
ban đầu và cập nhật các mẩu thông tin đa dạng cho phép định rõ
nhóm ngời và cửa. Đội bảo vệ có một màn hình kiểm soát, và đợc
thông báo về bất kỳ những cố gắng mở cửa không thành công. Báo
động đợc truyền đi với sự trì hoãn ngắn: thông tin đợc cập nhật
trên màn hình kiểm soát từng phút một.
Giao diện ngời dùng phải trợ giúp họ định rõ các yêu cầu một
cách chính xác. Những yêu cầu hợp lệ và các giá trị đa vào đợc
đọc từ danh sách một cách có hệ thống và giúp xác định miền giá
trị hợp lệ
3.2. Xỏc nh chc nng nghip v
3.2.1. Cu hỡnh
Chc nng ny c thc hin bi ngi qun tr (qun lý) khi h ng
nhp vo h thng .
ng nhp h thng: Qun tr ng nhp vo h thng, nhp user v
password, h thng kim tra v nhn dng, nu thnh cụng h thng
s t ng kt ni.
- 20 -
Website: Email : Tel : 0918.775.368
• Cập nhật, sửa đổi thông tin cửa vào ra: Sau khi đăng nhập vào hệ
thống thành công, quản trị viên yêu cầu hệ thống đưa ra danh sách
cửa trong toà nhà, hệ thống hiển thị. Quản trị chọn cửa, hệ thống hiển
thị thông tin cửa bao gồm: trạng thái (hoạt động hay không), thời
gian cửa mở, chỉ một người được phép qua cửa trong khoảng thời
gian cửa mở.Quản trị sửa thông tin, hệ thống ghi nhận thông tin.
• Cập nhật, sửa đổi thông tin nhóm cửa: Quản trị yêu cầu hiển thị danh
sách nhóm cửa. Sau đó lựa chọn một nhóm cửa. Hệ thống hiển thị
cho phép. quản trị sửa đổi thông tin và hệ thống ghi nhận.
• Sửa đổi thông tin tuần điển hình: Quản trị yêu cầu danh sách các tuần
điển hình, chọn ra một tuần với các thông tin hiển thị: Tên tuần, mô
tả tuần, các ngày trong tuần được chia ra thành khoảng thời gian, tình
trạng truy nhập. Sửa đổi và ghi nhận.
• Hiển thị quyền truy nhập cho từng người và từng cửa: Quản trị yêu
cầu danh sách tất cả các cửa và tất cả mọi người, hệ thống hiển thị
theo yêu cầu và quản trị chọn cửa và chọn người, hệ thốnghiển thị
thông tin: Lịch mở cửa trong tuần, thời gian cho phép.
- 21 -
Website: Email : Tel : 0918.775.368
3.2.2. Theo dõi và giám sát
Chức năng này bao gồm các bước chủ yếu của quá trình theo dõi và
kiểm tra và được thực hiện bởi những người bảo vệ của toà nhà.
• Đăng nhập hệ thống: Bảo vệ đăng nhập vào hệ thống. hệ thống xác
minh và kết nối.
• Báo cáo công việc: Bảo vệ chỉ rõ ngày bắt đầu và kết thúc để đề nghị
sắp xếp. Bảo vệ yêu cầu: hệ thống hiển thị sự kiện theo lịch biểu, bảo vệ
lựa chọn một cách hiển thị.
• Lọc bỏ sự kiện: Bảo vệ xác định thời gian bắt đầu và kết thúc để lọc
bỏ. Hệ thống loại bỏ sự kiện được xác định.
• Báo cáo báo động: Bảo vệ xác định thời gian trì trệ trong vòng 60
phút, cho đến khi hệ thống hoạt động bình thường và có báo động mới.
• Mở cửa: bảo vệ yêu cầu danh sách cửa, hệ thống hiển thị và bảo vệ
chọn cửa. hệ thống hiển thị thông tin: Trạng thái cửa, số người trong
phòng, sự việc xảy ra. Bảo vệ phá cửa để mở, hệ thống ghi nhận sự việc
đó.
• Báo cháy: Khi hệ thống phát hiện ở nơi nào đó có sự cố hoả hoạn thì
hệ thống tự động mở tất cả các cửa.
R2.2 Báo cáo công việc
R2.3 Loại bỏ sự việc
R2.4 Báo cáo báo động
R2.5 Mở cửa
R2.6 Báo cháy
R3: Truy nhập hệ thống
R3.1
CHƯƠNG 4. MÔ HÌNH CA SỬ DỤNG
4.1. Xác định tác nhân
Các tác nhân chính tham gia vào hệ thống bao gồm:
• Người sử dụng thẻ: Là người được cấp thẻ để có thể đi qua các cửa của
toà nhà.
• Bảo vệ: là người giám sát theo dõi hoạt động của những người qua cửa
• Quản trị hệ thống: Là người giám sát hoạt động của hệ thống, điều hành
hệ thống, có thể cập nhật mọi thông tin của hệ thống về người và cửa
vào ra.
4.2. Xác định ca sử dụng
Hoạt động của hệ thống được mô tả bởi biểu đồ các ca sử dụng sau:
- 23 -
Website: Email : Tel : 0918.775.368
Configuration
Nguoi su dung the
Truy nhap he thong
Theo doi va giam sat
Nguoi quan tri
Bao ve
Dang nhap he thong
4.3. Mô tả chi tiết các ca sử dụng
4.3.1. Ca sử dụng “Cấu hình”
Ca sử dụng này được người quản trị sử dụng khi đăng nhập vào hệ thống để
Tác nhân: Người quản trị
Mục đích: Kiểm tra nhận dạng người đăng nhập vào hệ thống.
Mô tả khái quát: Người quản trị đăng nhập vào hệ thống để hệ thống nhận dạng
và kết nối cho phép người quản trị thực hiện nhiệm vụ.
Chức năng tham chiếu: R1.1.1. R1.1.2
Diễn biến sự kiện:
Hành động tác nhân Hệ thống phản hồi Dữ liệu liên quan
1. Người quản trị đăng
nhập vào hệ thống
1. Hệ thống nhận
dạng và kết nối.
Người quản trị
Ngoại lệ: Nếu đăng nhập không thành công thì hệ thống yêu cầu đăng nhập lại.
4.3.1.2. Ca sử dụng “Cập nhật thông tin cửa vào ra”
Tên: Cập nhật thông tin cửa vào ra
Tác nhân: Người quản trị
Mục đích: Người quản trị có thể them, sửa, xoá thông tin về cửa vào ra.
Mô tả khái quát: Người quản trị vào hệ thống và hệ thống nhận dạng, nếu thành
công thì hệ thống kết nối và cho phép người quản trị thực
hiện quyến của mình.
Chức năng tham chiếu: R1.2.1,R1.2.2
Diễn biến sự kiện:
Hành động tác nhân Hệ thống phản hồi Dữ liệu liênquan
1. Người quản trị yêu
cầu danh sách cửa
2. Hệ thống hiển thị
danh sách cửa
Danh mục các cửa
3. Người quản trị chọn
một cửa