42
1 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRUNG TÂM ĐÀO TẠO TÀI NĂNG VÀ CHẤT LƯỢNG CAO BÁO CÁO : THIẾT KẾ HƯỚNG ĐỐI TƯỢNG ĐỀ TÀI : Mạng kết bạn ketban3mien.vn Hà Nội tháng 4 năm 2013 Giảng viên hướng dẫn : TS. Trần Đỗ Đạt Sinh viên thực hiện : Nguyễn Thành Linh : Nguyễn Đức Nam : Trần Ngọc Tân : Lê Trung Kiên Lớp : KSTN-ĐTVT-K54

Bai tap lon - VD

Embed Size (px)

DESCRIPTION

Bài tập lớn Phân tích thiết kế hướng đối tượng

Citation preview

Page 1: Bai tap lon - VD

1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

TRUNG TÂM ĐÀO TẠO TÀI NĂNG VÀ CHẤT LƯỢNG CAO

BÁO CÁO :

THIẾT KẾ HƯỚNG ĐỐI TƯỢNG

ĐỀ TÀI : Mạng kết bạn ketban3mien.vn

Hà Nội tháng 4 năm 2013

Giảng viên hướng dẫn : TS. Trần Đỗ Đạt Sinh viên thực hiện : Nguyễn Thành Linh : Nguyễn Đức Nam : Trần Ngọc Tân : Lê Trung Kiên Lớp : KSTN-ĐTVT-K54

Page 2: Bai tap lon - VD

2

1. Yêu cầu hệ thống

Xã hội ngày càng phát triển, cuộc sống hiện đại làm nhiều người bận bịu không còn thời gian chăm sóc cho bản thân. Theo cuộc kết quả cuộc điều tra do Viện dân số và nghiên cứu an sinh xã hội quốc gia Nhật Bản thực hiện, tỷ lệ nam giới độc thân tại Việt Nam trong độ tuổi 18-34 đã tăng lên mức kỷ lục 61,4%, tăng 9,2% so với cuộc điều tra năm 2012. Trong khi đó tỷ lệ phụ nữ độc thân chưa có bạn trai trong cùng nhóm tuổi cũng tăng lên mức kỷ lục 49,5%, tăng 4,8% so với năm 2012. Do đó nhu cầu tìm hiểu làm quen kết bạn khác giới là rất lớn. Nắm bắt tình hình này nhóm em xin đề xuất đề tài mạng kết bạn ketban3mien.vn.

Page 3: Bai tap lon - VD

3

2. Phân tích tính khả thi của hệ thống

2.1 Khả thi về mặt công nghệ Hệ thống xây dựng dựa trên cơ sở tham khảo những mạng kết bạn đang tồn tại như noi.vn , henantrua.vn đồng thời cải tiếnvà thêm một số chức năng mới. Do đó về mặt công nghệ dự án này:

• Mức độ quen thuộc của người sử dụng và ngừoi phân tích đối với dự án - Do các thành viên đã có quá trình tìm hiểu trước các hệ thống cũ nên đối với

người phân tích thì dự án này cũng khá quen thuộc.

Yêu cầu hệ thống - Dự án mạng kết bạn

Chủ nhiệm dự án: trưởng nhóm Nguyễn Thành Linh

Nhu cầu kinh doanh: Dự án này được thiết lập hướng đến việc tạo một môi trường thuận lợi giúp cho việc giới thiệu làm quen giữa những người sử dụng internet được dễ dàng thuận lợi hơn.

Yêu cầu hệ thống:

Sử dụng website người dùng có thể tìm kiếm thông tin bạn bè làm quen, kết bạn với những người dùng khác. Các chức năng chính của hệ thống là

• Xem thông tin trang web • Chỉnh sửa trang cá nhân • trò chuyện • Tìm kiếm và kết bạn

Giá trị kinh doanh của hệ thống:

Các dịch vụ chính của trang web đều được cung cấp miễn phí cho người dùng. Chúng tôi hy vọng sẽ thu lợi nhuận từ các hoạt động quảng cáo, các dịch vụ vip như tạo tài khoản vip, tư vấn trực tuyến, tìm kiếm nâng cao, tiếp thị liên kết

Các vấn đề đặc biệt:

Trang web cần có giao diện bắt mắt, thân thiện với người sử dụng. Trong thời gian đầu cần phải đẩy mạnh hoạt động quảng cáo để giới thiệu đến nhiều người sử dụng hơn.

Page 4: Bai tap lon - VD

4

- Đối với người dùng thì hiện nay việc sử dụng các mạng xã hội như facebook và twitter đang phổ biến và trở thành trào lưu nên người dùng cũng dễ tiếp cận với dự án.

• Mức độ quen thuộc với công nghệ: Khá quen thuộc - Các thành viên đã quen thuộc lập trình với ngôn ngữ C/C#, HTML, PHP. - Cộng đồng lập trình viên tại Việt Nam lớn tạo điều kiện tham khảo và học hỏi.

• Phạm vi của dự án. : - Dự án thuộc dạng phạm vi nhỏ. Và chỉ tiến hành đến hết pha thiết kế ( không cần

tiến hành triển khai và kiểm thử) nên phù hợp thực hiện trong vòng một học kỳ

• Mức độ tương thích đối với những hệ thống cũ. � Do nhóm xây dựng một mạng xã hội mới nên vấn đề tương thích với các hệ thống

cũ không quan trọng, có thể bỏ qua.

2.2 Khả thi về mặt kinh tế Phân tích tính khả thi về mặt kinh tế là để trả lời cho câu hỏi: “Chúng ta có nên xây dựng hệ thống?”. Chúng ta sẽ phân tích giá trị chi phí và lợi nhuận gắn liền với hệ thống, tính toán các dòng tiền mặt và lơi tức đầu tư của dự án. Các bước phân tích khả thi về mặt kinh tế:

- Xác định chi phí và lợi nhuận: Chi phí phát triển Chi phí hoạt động - Thiết kế hệ thống - Mua sắm thiết bị văn phòng: Máy tính,

máy in,…

- Thuê host, thuê tên miền, bảo trì web - Vận hành và quản trị web - Mua đồ dùng văn phòng như giấy, mực,

….. Lợi ích hữu hình Lợi ích vô hình - Doanh thu tăng - Thương hiệu được quảng bá

- Gán giá trị chi phí và lợi nhuận Lợi nhuận - Doanh thu tăng: 600.000.000 Chi phí phát triển - Thiết kế hệ thống: 50.000.000 - Mua sắm thiết bị văn phòng: 40.000.000 Tổng chi phí phát triển: 90.000.000 Chi phí vận hành/ năm - Duy trì tên miền: 500.000 - Web hosting: 3.000.000 - Chi phí văn phòng: 30.000.000 - Bảo trì web: 2.000.000 - Chi phí vận hành quản trị web: 480.000.000 Tổng chi phí vận hành: 515.500.000

Page 5: Bai tap lon - VD

5

Tổng chi phí: 605.500.000 Đơn vị: VNĐ

- Xác định dòng tiền mặt và giá trị thuần hiện tại 2013 2014 2015 2016 2017 Tổng Doanh thu tăng

600.0 810.0 1093.5 1476.2 1992.9

Tổng lợi nhuận

600.0 810. 1093.5 1476.2 1992.9

PV of benefits

535.7 645.7 778.3 938.2 1130.8 4028.7

PV of all benefits

535.7 1181.4 1959.7 2897.9 4028.7

Thiết kế hệ thống

50.0 0 0 0 0

Mua sắm thiết bị văn phòng

40.0 0 0 0 0

Tổng chi phí phát triển

90.0 0 0 0

Duy trì tên miền

0.5 0.6 0.7 0.9 1.1

Web hosting

3.0 3.5 4.1 4.8 5.6

Bảo trì web 2.0 2.3 2.7 3.2 3.7

Chi phí văn phòng

30.0 33.0 36.3 40.0 44.0

Chi phí vận hành quản trị Web

480.0 552.0 634.8 730.1 839.6

Tổng chi phí vận hành

515.5 591.4 678.6 778.9 894.0

Tổng chi phí

605.5 591.4 678.6 778.9 894.0

PV of costs 540.6 471.5 483.0 495.0 507.3 2497.4

PV of all costs

540.6 1012.1 1495.1 1990.1 2497.4

Total Project Benefits –

(5.5) 158.6 258.9 393.0 570.8

Page 6: Bai tap lon - VD

6

Costs

Yearly NPV

(4.9) 174.2 295.3 443.2 623.5 1531.3

Cumulative NPV

(4.9) 169.3 464.6 907.8 1531.3

- Xác định lợi nhuận trên đầu tư và tính điểm hòa vốn Return on Investment

61,32% (=1531.3/2497.4)

Break-even point

1.03 năm (điểm hòa vốn ở năm 2; [174.2-169.3]/174.2 = 0.03)

3.Xác định kích thước hệ thống theo phương pháp điểm chức năng

3.1. Liệt kê các thành phần cơ bản của chương trình a. Inputs

- Thông tin về các tin tức ,sự kiện trên trang web. - Thông tin về tài khoản người dùng. - Thông tin về thành viên. - Thông tin về yêu cầu tìm kiếm thành viên khác.

� Số lượng input :4.

b.Outputs

- Báo cáo số thành viên đăng kí thêm mỗi ngày. - Kết quả tìm kiếm thành viên. - Thống kê các thành viên đã kết bạn với nhau. - Tạo cuộc trò chuyện giữa các thành viên. - Trang thông tin cá nhân của mỗi thành viên.

� Số lượng output :5.

c. Queries

Page 7: Bai tap lon - VD

7

- Tìm kiếm và truy vấn về một thành viên theo yêu cầu của thành viên khác (theo tuổi,giới tính,địa chỉ,ngoại hình,nghề nghiệp,tình trạng thành viên ).

- Tìm kiếm và truy vấn về các thành viên đang online. - Tìm kiếm và truy vấn về thành viên đang sử dụng tài khoản dựa trên thời gian đăng nhập

lần cuối.

� Số lượng queries : 9.

d. Files

- Các file về lược sử hệ thống. - Các file thống kê về số người đăng kí theo ngày,tuần,tháng,năm. - Các file lưu trữ về thông tin tin tức đăng trên web. - Các file lưu trữ về thông tin tài khoản người dùng. - Các file lưu trữ về thông tin thành viên. - Các file báo cáo về kết quả tìm kiếm thành viên theo yêu cầu của thành viên khác.

� Số lượng files :9.

e.Program Interfaces

- Giao diện cho khách vào thăm web. - Giao diện cho thành viên.

� Program interfaces :2.

3.2.Xác định số điểm chức năng

Description Complexity

Total number Low Medium High Total

Input 4 1x3 2x4 1x6 17

Output 5 1x4 2x5 2x7 20

Queries 9 7x3 1x4 1x6 31

Files 9 8x7 0x10 1x15 71

Program interfaces 2 2x5 0x7 0x10 10

Total unadjusted function points (TUFP) 149

3.3.Tính độ phức tạp hiệu chỉnh.

Data communications 4

Heavy use configuration 1

Page 8: Bai tap lon - VD

8

Transaction rate 0

End-user efficiency 0

Complex processing 2

Installation ease 0

Multiple sites 0

Performance 0

Distributed functions 0

Online data entry 2

Online update 2

Reusability 0

Operational ease 0

Extensibility 1

Total processing complexity (PC) 11

APC=0.65+ (0.01 * PC) =0.65 +0.11 = 0.76

Total adjusted function points TAFP=APC * TUTP = 0.76 * 149 = 113.

Số dòng lệnh: lập trình bằng C++: 50 * 113 =5650 dòng lệnh.

3.4. Ước lượng theo mô hình COSOMO

Ước lượng nhân lực :

Effort = 1.4 * 5.65 = 7.91 person-months.

Ước lượng thời gian thực hiện dự án :

Schedule Time = 3.0 * 7.911/3 = 6 tháng.

Như vậy với một dự án làm trong khoảng 6 tháng sẽ là một dự án ở mức trung bình,không quá lớn.

4.Xây dựng kế hoạch phát triển hệ thống với biểu đồ Gant

Với thời gian hoàn thành dự án trong vòng 6 tháng,nhóm xin đưa ra kế hoạch công việc như sau kèm

theo lượng công việc đã hoàn thành:

Page 9: Bai tap lon - VD

9

Task Name Duration Start Finish Predecessors % Work Complete

Tạo module trang cá nhân

49 days Tue 1/1/13 Fri 3/8/13

70%

Tìm hiểu yêu cầu 10 days Mon 12/31/12 Fri 1/11/13 1 1000%

Phân tích yêu cầu 7 days Mon 1/7/13 Tue 1/15/13 2 100%

Tính toán yêu cầu 2 days Thu 1/10/13 Fri 1/11/13 3 90%

Danh sách thuộc tính 3 days Mon 1/14/13 Wed 1/16/13 4 90%

Lập cơ sở dữ liệu thông tin

8 days Fri 1/18/13 Tue 1/29/13 5 0%

Báo cáo 6 days Sun 1/20/13 Fri 1/25/13 6 0%

Thiết kế giao diện 7 days Mon 1/21/13 Tue 1/29/13 7 0%

Lập trình 32 days Wed 1/30/13 Thu 3/14/13 8 0%

Tạo module tìm kiếm

40 days Tue 3/5/13 Mon 4/29/13 9 80%

Tìm hiểu yêu cầu 5 days Tue 3/5/13 Mon 3/11/13 10 100%

Phân tích yêu cầu 5 days Wed 3/13/13 Tue 3/19/13 11 100%

Tính toán yêu cầu 6 days Wed 3/20/13 Wed 3/27/13 12 100%

Danh sách thuộc tính 7 days Wed 3/27/13 Thu 4/4/13 13 100%

Lập cơ sở dữ liệu thông tin

6 days Mon 3/25/13 Mon 4/1/13 14 0%

Báo cáo 1 day Mon 4/15/13 Mon 4/15/13 15 0%

Thiết kế giao diện 5 days Tue 4/23/13 Mon 4/29/13 16 0%

Lập trình 5 days Fri 5/3/13 Thu 5/9/13 17 0%

Quản lý và báo cáo kết quả tìm bạn theo

yêu cầu 30 days Fri 5/10/13 Thu 6/20/13 18 50%

Tìm hiểu yêu cầu 5 days Fri 5/10/13 Thu 5/16/13 19 100%

Phân tích yêu cầu 5 days Wed 5/15/13 Tue 5/21/13 20 100%

Tính toán yêu cầu 2 days Thu 5/23/13 Fri 5/24/13 21 100%

Danh sách thuộc tính 1 day Sat 5/25/13 Sat 5/25/13 22 0%

Lập cơ sở dữ liệu thông tin

2 days Mon 5/27/13 Tue 5/28/13 23 0%

Báo cáo 2 days Wed 5/29/13 Thu 5/30/13 24 0%

Thiết kế giao diện 3 days Sat 6/1/13 Tue 6/4/13 25 0%

Lập trình 10 days Sun 6/9/13 Thu 6/20/13 26 0%

Ghép module, đóng gói

25 days Thu 6/20/13 Wed 7/24/13 27 0%

Cài đặt phần mềm 15 days Thu 7/25/13 Wed 8/14/13 28 0%

Chạy thử 16 days Thu 8/15/13 Thu 9/5/13 29 0%

Page 10: Bai tap lon - VD

Hình 1:K

Hình 2 :K

Hình 3:Kế hoạch xây dựng module qu

Hình 1:Kế hoạch xây dựng module trang cá nhân

Hình 2 :Kế hoạch xây dựng module tìm kiếm

ng module quản lý và báo cáo kết quả tìm kiếm theo yêu c

10

m theo yêu cầu

Page 11: Bai tap lon - VD

Hình 4: Kế ho

5. Xây dựng tài liệu yêu c

5.1 Lựa chọn phương pháp phân tích yêu c

Hiện nay người ta sử dụng 3 phương pháp phân tích yêu cphương pháp này có ưu nhược đidự án, chiều rộng phân tích, mức độ rủi ro. Cụ thể l

• Giá trị kinh doanh tiềm tđộng của hệ thống nên giá trBPI và BPR mang lại giá trị kinh doanh tiềm tđổi, cải tiến hệ thống hiện có. Về mặt nvới dự án.

• Chi phí dự án: xét về quá trvề nhân lực, thời gian lBPI. Còn phương pháp BPR clại toàn bộ hệ thống.

• Chiều rộng nghiên cứuem thấy chỉ có phương án BPA, BPI là phù hrộng như phương pháp BPR

• Mức độ rủi ro: Phương pháp BPI và BPA có mkết quả của các hệ thốnghenantrua.vn….. Ngưphẩm.

Từ các tiêu chí trên nhóm chdoanh tiềm tàng cao mà các chi phí d

5.2 Lựa chọn phương pháp thu th

Việc hiểu rõ các hệ thống hiện tại vận hNó giúp ta biết được những điểm mạnh vmình cho phù hợp. Do đó nhóm sử dụng kĩ thuật phân tích t

hoạch thực hiện ghép module,cài đặt và chạy thử

u yêu cầu hệ thống

n phương pháp phân tích yêu cầu

ương pháp phân tích yêu cầu chính là BPA, BPI và BPR. Mđiểm riêng trong các vấn đề giá trị kinh doanh tiềm t

ự án, chiều rộng phân tích, mức độ rủi ro. Cụ thể là:

ị kinh doanh tiềm tàng: Phương pháp BPA chỉ cải tự động hóa quá trên giá trị kinh doanh tiềm tang mang lại không cao. Phại giá trị kinh doanh tiềm tàng tốt hơn do nó nghiên c

ổi, cải tiến hệ thống hiện có. Về mặt này ta thấy phương pháp BPI và BPR phù h

ề quá trình thực hiện dự án làm trong vòng 15 tuần học. Chi phí ề nhân lực, thời gian là không nhiều nên ta chỉ có thể chọn phương án BPA ho

ương pháp BPR cần phải có thời gian và kinh nghiệm mới có thể thiết kế ứu: Cũng giống như tiêu chí chi phí dự án. Ở tiêu chí này nhóm

ương án BPA, BPI là phù hợp. Vì nó không cần nghiư phương pháp BPR

: Phương pháp BPI và BPA có mức dộ rủi ro thấp. Do nó kế thừa đết quả của các hệ thống sẵn có như các mạng kết bạn hiện tại noi.vn,

henantrua.vn….. Người dùng sẽ không gặp khó khăn để hiểu và thích nghi v

êu chí trên nhóm chọn phương pháp phân tích yêu cầu BPI. Vừa cho giá trị kinh àng cao mà các chi phí dự án lẫn mức độ rủi ro đều ở mức thấp.

n phương pháp thu thập yêu cầu

ệ thống hiện tại vận hành và hoạt động như thế nào là rợc những điểm mạnh và yếu của hệ thống đó. Từ đó cải tiến hệ thống m

ợp. Do đó nhóm sử dụng kĩ thuật phân tích tài liệu để thực hiện.

11

à BPA, BPI và BPR. Mỗi ấn đề giá trị kinh doanh tiềm tàng, chi phí

ỉ cải tự động hóa quá trình hoạt ại không cao. Phương pháp

ơn do nó nghiên cứu cách thay ương pháp BPI và BPR phù hợp

ần học. Chi phí ương án BPA hoặc ệm mới có thể thiết kế

êu chí này nhóm ần nghiên cứu quá

ức dộ rủi ro thấp. Do nó kế thừa được ạng kết bạn hiện tại noi.vn,

à thích nghi với sản

ầu BPI. Vừa cho giá trị kinh

ào là rất quan trọng. ếu của hệ thống đó. Từ đó cải tiến hệ thống mới của

Page 12: Bai tap lon - VD

12

Đầu tiên nhóm tìm hiểu các mạng kết bạn hiện tại như noi.vn , henantrua.vn . Đây là các mạng kết bạn khá thành công hiện nay. Với số lượng thành viên mỗi mạng lên tới vài chục nghìn người. Sau đó nhóm thu thập các biểu mẫu của họ như biểu mẫu đăng ký thành viên,

biểu mẫu trang cá nhân,

Page 13: Bai tap lon - VD

13

Page 14: Bai tap lon - VD

14

Biểu mẫu kết bạn

Từ các biểu mẫu này nhóm phân tích và xác định các yêu cầu của dự án.

5.3 Định nghĩa các yêu cầu

5.3.1 Các yêu cầu phi chức năng

Page 15: Bai tap lon - VD

15

• yêu cầu hệ thống:

- Hệ thống cần hoạt động tốt trên tất cả cả trình duyệt web hiện hành internet explorer, google chrome, firefox.

- Hệ thống giao tiếp tốt với các mạng xã hội khác như facebook, twitter để quảng bá cho website cũng như tang tính thân thiện với người dùng.

• yêu cầu giao diện:

- Không có yêu cầu đặc biệt nào về giao diện

• yêu cầu bảo mật:

- Hệ thống cần đảm bảo quền riêng tư của người sử dụng. Chỉ sử dụng thông tin cá nhân của người dùng trong trường hợp thông báo trước. Để một thành viên muốn biết các thông tin cá nhân của thành viên khác cần đảm bảo một số yêu cầu như. Tài khoản hỏi phải là tài khoản vip và tài khoản được hỏi phải đồng ý cung cấp thông tin. Nếu không đủ các điều kiện trên thì các thành viên chỉ được xem một số thông tin hạn chế về thành viên khác.

• yêu cầu về văn hóa chính trị:

- Cần đảm bảo việc mai mối phù hợp với thuần phong mỹ tục của Việt Nam. Không để cho hệ thống bị lợi dụng để môi giới mại dâm. Cần kiểm tra đảm bảo những người dùng thật sự nghiêm túc trong quá trình kết bạn

- Không tuyên truyền các thông tin liên quan đến chính trị, chế độ.

5.3.2 Yêu cầu chức năng

• Chức năng đăng ký:

- Yêu cầu điền đầy đủ các thông tin về người sử dụng. Không được quá sơ sài cũng như quá dài dòng để tránh việc khách cảm thấy rắc rối trong quá trình đăng kí. Hệ thống cần xác nhận thông tin người sử dụng cung cấp qua email và những buổi gặp mặt trực tiếp.

- Phân loại tài khoản của các thành viên: thành viên tích cực và không tích cưc, thành viên miễn phí và thành viên vip. Từ đó cung cấp quyền cho các thành viên một cách hợp lý.

• Chức năng đăng nhập:

- Kiểm tra phân loại thành viên. - Hỗ trợ thành viên lấy lại mật khẩu khi quên mật khẩu

• Chức năng xem thông tin trang web

Page 16: Bai tap lon - VD

16

- Cung cấp cho khách đến thăm trang web cái nhìn tổng thể về hoạt động của hệ thống, lợi ích khi tham gia.

- Cập nhật tình hình hoạt động nổi bật của trang web, các thay đổi, các sự kiện tiêu biểu sắp diễn ra.

- Đặt thông tin quảng cáo tại các mục xem thông tin chung.

• Chức năng kết bạn:

- Phục vụ 2 kiểu tìm kiếm khác nhau: Kiểu tìm tự động và tìm theo yêu cầu. - Ngoài các tiêu chí tìm kiếm bình thường như giới tính, tuổi, địa chỉ, ngoại hình,

tính cách thì còn phục vụ tìm kiếm nâng cao bằng cách : Hệ thống tiến hành một số bài trắc nghiệm để tự đánh giá tính cách của người sử dụng để đưa ra các đối tượng phù hợp.

- Sau khi người sử dụng chọn được bạn phù hợp thì hệ thống cần gửi thông báo đến người sử dụng kia đồng thời môi giới cho 2 người làm quen với nhau.

- Hệ thống cũng cần giới thiệu cho các thành viên tham gia các sự kiện tập thể như đi dã ngoại, thi làm đồ handmade, thi ảnh,…để tạo thêm điều kiện tiếp xúc tìm hiều nhau

• Chức năng trò chuyện:

- Hệ thống cần phục vụ khả năng trò chuyện giữa các thành viên có mối liên hệ với nhau. Các loại hình trò chuyện là trò chuyện giữa 2 người, trò chuyện giữa một nhóm bạn, trò chuyện với chuyên gia tư vấn ( dịch vụ thu phí).

- Trò chuyện có thể theo 3 hình thức: gửi tin nhắn, chat voice, video call.

• Chỉnh sửa trang cá nhân:

- Hệ thống cung cấp cho mỗi thành viên một tài khoản trang cá nhân để họ có thể thực hiện các thao tác: viết blog, upload ảnh, chơi game.

- Hệ thống cần cung cấp việc tùy chỉnh quyền riêng tư cho trang cá nhân của mỗi thành viên. Thành viên có thể lựa chọn thông tin nào, hoạt động nào được public cho tất cả mọi người và hoạt động nào chỉ private cho mình thành viên đó hoặc cho một nhóm bạn nhất định.

- Hệ thống tiến hành chọn lọc và cung cấp các ứng dụng hợp lý. Ưu tiên những ứng dụng mà hệ thống có thể hưởng hoa hồng từ nhà cung cấp dịch vụ.

6. Xây dựng biểu đồ hoạt động

6.1 Xác định phạm vi dự án

Phạm vi dự án là toàn bộ các chức năng của hệ thống, từ khi người sử dụng bắt đầu truy cập trang web đến khi thoát khỏi trang web

Page 17: Bai tap lon - VD

17

6.2 Xác định hoạt dộng, dòng điều khiển, đối tượng của dự án Các hoạt động của dự án

• đăng nhập: khách hàng cần phải tiến hành đăng nhập để thực hiện một số chức năng của trang web mà chỉ có thành viên mới được cấp quyền.

• đăng kí: khách tiến hành đăng kí làm thành viên trang web. Có 2 loại tài khoản là tài khoản miễn phí và tài khoản vip. Tài khoản miễn phí được phép xem thông tin trang web và các thông tin chung của các thành viên khác. Tài khoản vip ngoài các quyền lợi như tài khoản miễn phí còn có nhiều quyền nữa như tạo nhóm, đặt lịch hẹn.

• Xem thông tin trang web: Chức năng này phục vụ thành viên và khách xem các thông tin nổi bật của web

• Kết bạn: Đây là chức năng chính của website. Nó giúp cho thành viên tìm kiếm bạn thích hợp. Có 2 kiểu tìm kiếm chính là nối độc thân và tìm một nửa

- Nối độc thân: Hệ thống dựa trên thông tin của thành viên này để tìm ra các thành viên khác phù hợp sau đó thành viên lựa chọn dựa trên những gợi ý của hệ thống để chọn bạn phù hợp

- Tìm một nửa: Người dung đưa ra các đưa ra các tiêu chuẩn kết bạn của mình như ngoại hình, tuổi, giới tính. Hệ thống dựa trên các yêu này và tìm kiếm trong CSDL và trả lại kết quả

• Chỉnh sửa trang thông tin cá nhân: Chức năng này bao gồm 2 chức năng con là - Viết Blog: tâm trạng của người sử dụng được viết và những thành viên khác có thể

nhìn thấy - Chỉnh sửa thông tin tài khoản: thành viên muốn thay đổi các thông tin đã cấp lúc

đăng kí tài khoản. Thành viên có

• Trò chuyện: Chức năng này giúp các thành viên trò chuyện trao đổi thông tin với nhau.

Dòng dữ liệu: Có 3 dòng dữ liệu chính khi sử dụng hệ thống

• Đăng ký thành viên • Xem thông tin trang web • Đăng nhập thành viên để tiến hành sử dụng các chức năng chính của hệ thống như chỉnh

sửa trang cá nhân, kết bạn, trò chuyện

Từ đó ta có biểu đồ hoạt động như sau:

Page 18: Bai tap lon - VD

18

7. Xây dựng biểu đồ ca sử dụng

7.1 Liệt kê danh sách ca sử dụng Các ca sử dụng chính là

• Đăng nhập

• Đăng kí

• Xem thông tin trang web

• Kết bạn

• Trò chuyện

• Chỉnh sửa trang cá nhân

7.2 Bản mô tả ca sử dụng

Page 19: Bai tap lon - VD

19

Use case name: Xem thong tin trang web ID: 1 Importance level: high Primary Actor: khách, thành viên Use case type: Detail, essential Stakeholders and Interests: khách, thành viên muốn xem thông tin về trang web Brief Description: hiển thị các thông tin về trang web khi khách hàng bắt đầu vào trang Trigger: chọn từ giao diện Type: external Relationships: Association: khách, thành viên Include: Extend: đăng kí thành viên Generalization:

Flow: • Khách hoặc thành viên yêu cầu xem thông tin trang. • Hệ thống hiển thị ra các thông tin về trang web cho người sử dụng • Hệ thống định kì cập nhật lại tin tức trang web

Use case name: Đăng kí thành viên ID: 1 Importance level: high Primary Actor: khách Use case type: Detail, essential Stakeholders and Interests: khách muốn đăng kí làm thành viên của web Brief Description: hướng dẫn khách đăng kí làm thành viên Trigger: khách thăm web có nhu cầu đăng kí làm thành viên Type: external Relationships: Association: khách Include: Extend: đăng nhập tài khoản Generalization: Flow:

• Khách điền vào các thông tin username, password, ngày sinh,… • Hệ thống kiểm tra thông tin • Nếu hợp lệ, đăng kí thành công, nếu có lỗi, đăng kí thất bại • Chuyển về trang chủ

Page 20: Bai tap lon - VD

20

Use case name: Đăng nhập tài khoản ID: 1 Importance level: high Primary Actor: khách, system Use case type: Detail, essential Stakeholders and Interests:

• Khách muốn đăng nhập vào tài khoản • System kiêm tra tính hợp lệ của tài khoản

Brief Description: Trigger: khác tiến hành đăng nhập Type: external Relationships: Association: khách Include: kết bạn, chỉnh sửa thông tin, trò chuyện Extend: Generalization: Flow:

• Khách điền vào ID và password • System kiểm tra trong CSDL • Nếu hợp lệ, đăng nhập thành công, chuyển đến trang chủ

Use case name: Chỉnh sửa trang cá nhân ID: 1 Importance level: high Primary Actor: thành viên, system Use case type: Detail, essential Stakeholders and Interests:

• Thành viên thay đổi thông tin tài khoản, viết blog, cập nhật status,… • System lưu trữ thông tin người dùng

Brief Description: mô tả việc thành viên thực hiện thay đổi thông tin cá nhân như thế nào Trigger: Thành viên muốn thay đổi thông tin cá nhân mình Type: external Relationships: Association: thành viên, hệ thống Include: Extend: Generalization: Flow:

• Thành viên lựa chọn menu trang cá nhân trên giao diện. • Thành viên lựa chọn thay đổi thông tin

Subflow:

• S-1: Viết Blog: thành viên viết blog • S-2: Chỉnh sửa thông tin tài khoản: thành viên chỉnh sửa các thông tin đã

cấp lúc đăng kí tài khoản • Hệ thống kiểm tra xem thông tin có phù hợp và cập nhật thông tin cá nhân

Page 21: Bai tap lon - VD

21

Use case name: Kết bạn ID: 9 Importance level: high Primary Actor: thành viên, hệ thống Use case type: Stakeholders and Interests:

• Thành viên: có nhu cầu kết bạn • Hệ thống: tìm cách thành viên thích hợp

Brief Description: mô tả quá trình tìm và kết bạn Trigger: chọn mục kết bạn từ giao diện Type: external Relationships: Association: thành viên, hệ thống Include: nối độc thân, tìm một nửa Extend: Generalization: Flow: Thêm bạn:

• Thành viên chọn mục kết bạn từ giao diện chính • Trong menu kết bạn người dùng chọn 1 trong 2 hình thức kết bạn nối độc

thân hoặc tìm 1 nửa • Hệ thống chuyển sang giao diện tìm một nửa và nối độc thân

SubFlow: S-1: Nối độc thân:

- Hệ thống dựa trên thông tin của thành viên này để đưa ra các thành viên khác phù hợp

- Thành viên lựa chọn dựa trên những gợi ý của hệ thống để chọn bạn phù hợp

S-2: Tìm một nửa - Trên giao diện web,thành viên đưa ra các đưa ra các tiêu chuẩn kết bạn

của mình như ngoại hình, tuổi, giới tính. - Từ các thông tin do tiêu chuẩn của thành viên cung cấp,hệ thống sẽ xử

lý và tìm kiếm trên thông tin cá nhân của thành viên. - Sau đó,hệ thống trả về kết quả tìm kiếm - Thành viên chọn bạn từ danh sách trả về,và gửi yêu cầu kết bạn,chờ

phản hồi. Bỏ quan hệ bạn bè:

• Thành viên lựa chọn quan hệ cần xóa trên danh sách bạn bè. • Hệ thống xác nhận lại yêu cầu • Hệ thống tiến hành xóa mối quan hệ bạn bè

Page 22: Bai tap lon - VD

22

Use case name: Trò chuyện ID: 1 Importance level: high Primary Actor: thành viên Use case type: Detail, essential Stakeholders and Interests: Các thành viên muốn trao đổi thông tin, trò chuyện với nhau Brief Description: mô tả việc các thành viên muốn trao đổi thông tin với nhau Trigger: Thành viên lựa chọn menu trò chuyện trên giao diện chính Type: external Relationships: Association: thành viên Include: Extend: kết bạn Generalization: DataFlow:

• Người dùng lựa chọn thành viên muốn trò chuyện

7.3 Bảng quan hệ và biểu đồ ca sử dụng Bảng quan hệ:

Use case name Primary actor Relationship

Association

Include Extend

Xem thông tin trang web

Khách, thành viên Khách, thành viên

Đăng kí

Đăng kí thành viên

Khách Khách Đăng nhập tài khoản

Đăng nhập tài khoản

Khách Khách Kết bạn, Chỉnh sửa trang cá nhân, Trò chuyện

Chỉnh sửa trang cá nhân

Thành viên, hệ thống

Thành viên, hệ thống

Trò chuyện

Thành viên Thành viên Kết bạn

Kết bạn

Thành viên, hệ thống

Thành viên, hệ thống

Page 23: Bai tap lon - VD

23

Biểu đồ ca sử dụng:

8. Xây dựng biểu đồ lớp với 4 CSD

8.1 Liệt kê danh sách lớp Đối với ca sử dụng xem thông tin trang web, dựa vào bản mô tả ca sử dụng và phương pháp phân tích

văn bản thì ta có các lớp sau:

• Khách

• Thành viên

• Thông tin trang web

• Hệ thống

Tương tự đối với ca sử dụng trò chuyện ta có các lớp sau:

• thành viên

• hệ thống

Page 24: Bai tap lon - VD

24

• bạn bè

• lược sử trò chuyện

Đối với ca sử dụng kết bạn, ta có các lớp sau:

• thành viên

• tiêu chuẩn kết bạn

• kết quả tìm kiếm

• hệ thống

Tương tự đối với ca sử dụng chỉnh sửa thông tin cá nhân

• thành viên

• hệ thống

• thông tin cá nhân

• blog

8.2 Xây dựng thẻ CRC cho 2 lớp ứng với mỗi CSD

8.2.1 Thẻ CRC cho CSD Xem thông tin trang web

Class name: Khách ID: 1 Type:concrete Description: Là người vào trang web,muốn xem thông tin trên trang web hoặc đăng kí làm thành viên trang web.

Associated Use Cases:

Responsibilities: • Yêu cầu xem thông tin trang

Collaborators: • Tin tức trang web

Attribute:

Relationships: Generalization(a-kind-of): Aggregation(has-parts): Other Associations: Tin tức web

Page 25: Bai tap lon - VD

25

8.2.2 Thẻ CRC cho CSD Trò chuyện

Class name: Tin tức web ID: 2 Type:concrete Description: Là đối tượng lưu trữ các bài viết trên trang web.

Associated Use Cases:

Responsibilities: • Hiển thị mục tin tức • Cập nhật lại tin tức

Collaborators: • Khách, thành viên • Hệ thống

Attribute:

• Tiêu đề bài viết • Mục phân loại • Nội dung bài viết

Relationships: Generalization(a-kind-of): Aggregation(has-parts): Other Associations : Hệ thống

Class name: Bạn bè ID: 3 Type:concrete Description: Là các thành viên sau khi đã kết bạn với nhau

Associated Use Cases:

Responsibilities: • Yêu cầu trò chuyện

Collaborators: • thành viên

Attribute: • Mã thành viên • Thời gian kết bạn

Relationships: Generalization(a-kind-of): thành viên Aggregation(has-parts): Other Associations :

Page 26: Bai tap lon - VD

26

8.2.3 Thẻ CRC cho CSD Kết bạn

Class name: Lược sử trò chuyện

ID: 4 Type:concrete

Description: Là đối tượng lưu trữ lịch sử trò chuyện với bạn bè của thành viên

Associated Use Cases:

Responsibilities: • Lưu trữ thông tin về cuộc hội thoại

Collaborators: • Hệ thống • Thành viên

Attribute: • Ngày giờ • Thành viên tham gia • Nội dung trò chuyện

Relationships: Generalization(a-kind-of): Aggregation(has-parts): Other Associations : Thành viên

Class name: Kết quả tìm kiếm

ID: 5 Type:concrete

Description: Là đối tượng trả về kết quả tìm kiếm bạn theo yêu cầu của thành viên hay theo gợi ý của hệ thống

Associated Use Cases:

Responsibilities: • Xử lý yêu cầu tìm kiếm • Xử lý yêu cầu kết bạn từ thành viên

Collaborators: • Hệ thống • Thành viên

Attribute: • Nick name thành viên • Giới tính • Ngày sinh • Quê quán • Ngoại hình

Relationships: Generalization(a-kind-of): Aggregation(has-parts):

Page 27: Bai tap lon - VD

27

8.2.4 Thẻ CRC cho CSD Chỉnh sửa thông tin cá nhân

Other Associations : Thành viên,Hệ thống.

Class name: Tiêu chuẩn kết bạn

ID: 6 Type:concrete

Description: Là đối tượng chứa những yêu cầu tìm kiếm bạn của thành viên

Associated Use Cases:

Responsibilities: • Cung cấp thông tin cho tìm kiếm bạn • Tiếp nhận yêu cầu từ thành viên

Collaborators: • Hệ thống • Thành viên

Attribute: • Giới tính • Ngày sinh • Quê quán • Ngoại hình • Công việc

Relationships: Generalization(a-kind-of): Aggregation(has-parts): Other Associations: Hệ thống,thành viên.

Class name: Thành viên ID: 7 Type:concrete Description: Là người đã đăng kí và sử dụng trang web kết bạn.

Associated Use Cases:

Responsibilities: • Chỉnh sửa thông tin cá nhân • Viết blog

Collaborators:. • Thông tin cá nhân. • Blog

Attribute: • Ngày giờ đăng nhập • Trạng thái online • Mã thành viên

Relationships: Generalization(a-kind-of): Aggregation(has-parts): Other Associations: Thông tin cá nhân,Blog.

Page 28: Bai tap lon - VD

28

Class name: Thông tin cá nhân

ID: 8 Type:concrete

Description: Là đối tượng lưu trữ thông tin thành viên sử dụng hệ thống kết bạn.

Associated Use Cases:

Responsibilities: • Cập nhật thông tin cá nhân. • Trả về kết quả tìm kiếm

Collaborators: • Hệ thống • Kết quả tìm kiếm

Attribute: • Nick name • Mật khẩu • Địa chỉ email • Giới tính • Ngày sinh • Quê quán • Ngoại hình • Công việc

Relationships: Generalization(a-kind-of): Aggregation(has-parts): Other Associations: Hệ thống, Kết quả tìm kiếm. .

Page 29: Bai tap lon - VD

29

8.3 Xây dựng biểu đồ lớp cho 4 CSD

8.3.1 Biểu đồ lớp CSD Xem thông tin trang web

8.3.2 Biểu đồ lớp CSD Trò chuyện

Page 30: Bai tap lon - VD

30

8.3.3 Biểu đồ lớp CSD Kết bạn

8.3.4 Biểu đồ lớp CSD Chỉnh sửa thông tin cá nhân

thanh vien

ma thanh vien

ngay gio dang nhap

trang thai

Y/c xem tt()

Y/c tim kiem()

Lua chon ban tro chuyen()

Gui tt tro chuyen()

Y/c chinh sua()

Tieu chuan ket ban

gioi tinh

ngay sinh

que quan

ngoai hinh

cong viec

cung cap thong tin()

0..*

1yeu cau

Ket qua tim kiem

nick name

gioi tinh

que quan

ngoai hinh

cong viec

hien thi()

0..*1

gui yeu cau ket ban

He thong

Xu ly()

Y/c luu()

Tim kiem()

Kiem tra()

11..*

cung cap thong tin

0..*

1

tim kiem

Thong tin ca nhan

nick name

mat khau

dia chi email

gioi tinh

ngay s inh

que quan

cong viec

ngoai hinh

them dang ki ca nhan()...

cap nhat thong tin()

cung cap thong tin()

1

0..*

cung cap thong tin

1

0..*

1..* 1

0..*

1

1

0..*

1 0..*

thanh vien

ma thanh vien

ngay gio dang nhap

trang thai

Y/c xem tt()

Y/c tim kiem()

Lua chon ban tro chuyen()...

Gui tt tro chuyen()

Y/c chinh sua()

Blog

ma bai

noi dung

ngay dang

Thong tin ca nhan

nick name

mat khau

dia chi email

gioi tinh

ngay sinh

que quan

cong viec

ngoai hinh

them dang ki ca nhan()...

cap nhat thong tin()

cung cap thong tin()

He thong

Xu ly()

Y/c luu()

Tim kiem()

Kiem tra()

11..*

yeu cau chinh sua

0..*

1

xu ly

0..*1

xu ly

1..* 1

1

0..*

1 0..*

Page 31: Bai tap lon - VD

31

8.3.5 Biểu đồ lớp cho toàn hệ thống

9. Xây dựng biểu đồ tuần tự và giao tiếp cho 4 CSD

9.1 Xác định ngữ cảnh. Ở phần này,nhóm sẽ xây dựng biểu đồ tuần tự và giao tiếp cho 4 CSD chính đó là Đăng kí thành viên,Trò

chuyện,Kết bạn,Chỉnh sửa trang cá nhân.

9.2.Xác định các đối tượng tham gia

9.2.1.CSD Đăng kí thành viên Dựa trên Normal Flow của CSD này:

Data Flow: • Khách click vào menu đăng kí tài khoản => Tạo yêu cầu đăng kí • Khách điền vào các thông tin cầ thiết username, password, ngày sinh,…

=> Nhập thông tin đăng kí • Hệ thống kiểm tra thông tin => Hệ thống kiểm tra tính hợp lệ trong CSDL Thông

tin cá nhân . • Nếu hợp lệ, đăng kí thành công, nếu có lỗi, đăng kí thất bại => Phản hồi kết quả

cho người dùng

Page 32: Bai tap lon - VD

32

Như vậy các đối tượng tham gia ở đây là Khách,Yêu cầu của hệ thống,và cơ sở dữ liệu thông tin cá nhân .

9.2.2.CSD Trò chuyện

DataFlow:

• Thành viên gửi yêu cầu tìm kiếm bạn bè đến hệ thống (theo chữ cái đầu ) => Khởi tạo yêu cầu tìm bạn

• Hệ thống trả về danh sách bạn bè hợp lệ • Thành viên lựa chọn bạn muốn trò chuyện trong danh sách bạn bè trả về và gửi qua lại

nội dung cho đối phương => Thành viên trò chuyện với nhau • Hệ thống tự động cập nhật lại lược sử cuộc trò chuyện

Các đối tượng tham gia ở đây sẽ là thành viên,hệ thống,bạn bè và lược sử cuộc trò chuyện.

9.2.3.CSD Kết bạn

Data Flow: Thêm bạn:

• Thành viên chọn mục kết bạn từ giao diện chính => Tạo yêu cầu kết bạn • Trong menu kết bạn người dùng chọn 1 trong 2 hình thức kết bạn nối độc thân hoặc

tìm 1 nửa • Hệ thống chuyển sang giao diện tìm một nửa và nối độc thân

SubFlow: S-1: Nối độc thân:

- Hệ thống dựa trên thông tin của thành viên này để đưa ra các thành viên khác phù hợp=>Tìm kiếm thành viên dựa trên thông tin người dùng.

- Hệ thống trả về kết quả tìm kiếm => Trả về danh sách thành viên. - Thành viên chọn bạn từ danh sách trả về,và gửi yêu cầu kết bạn,chờ phản hồi S-2: Tìm một nửa

- Trên giao diện web,người dùng đưa ra các đưa ra các tiêu chuẩn kết bạn của mình như ngoại hình, tuổi, giới tính. => Đưa ra các tiêu chuẩn kết bạn

- Từ các thông tin do tiêu chuẩn của người dùng cung cấp,hệ thống sẽ xử lý và tìm kiếm trên thông tin cá nhân của thành viên.=> Tìm kiếm theo tiêu chuẩn trên.

- Sau đó,hệ thống trả về kết quả tìm kiếm => Trả về danh sách thành viên. - Thành viên chọn bạn từ danh sách trả về,và gửi yêu cầu kết bạn,chờ phản hồi

Như vậy ta phải xây dựng 2 kịch bản cho CSD này.

Page 33: Bai tap lon - VD

33

Với kịch bản đầu tiên thành viên yêu cầu tìm bạn theo tiêu chuẩn của mình (Tìm một nửa) ,nhận diện

các đối tượng như sau: Thành viên,Yêu cầu tìm kiếm của hệ thống,CSDL Thông tin cá nhân và danh sách

thành viên trả về thuộc lớp thành viên.

Cũng vậy với kịch bản còn lại hệ thống sẽ tự lựa chọn người dùng phù hợp cho thành viên yêu cầu tìm

bạn dựa trên những thông tin cá nhân của thành viên yêu cầu,nhận diện được các đối tượng sau : Thành

viên,Yêu cầu tìm kiếm của hệ thống,Thông tin cá nhân và danh sách thành viên trả về.

9.2.4.CSD Chỉnh sửa trang cá nhân

Data Flow:

• Thành viên lựa chọn menu trang cá nhân trên giao diện. • Thành viên lựa chọn thay đổi thông tin => Tạo yêu cầu chỉnh sửa thông tin cho

hệ thống. • Thành viên có thể chọn viết blog hay chỉnh sửa thông tin cá nhân tùy theo mục

đích.

• Hệ thống kiểm tra xem thông tin có phù hợp và cập nhật thông tin cá nhân. • Hệ thống phản hồi kết quả tới thành viên.

Nhận diện được các đối tượng trong biểu đồ tuần tự sẽ là :Thành viên,yêu cầu chỉnh sửa hệ thống,yêu

cầu xác nhận,thông tin cá nhân.

9.3.Xác định đường sống cho đối tượng.

9.3.1 CSD Đăng kí thành viên. Đối tượng Khách sẽ tham gia vào quá trình đăng kí từ đầu đến cuối hoạt động,trong khi đó yêu cầu của

hệ thống và CSDL thông tin cá nhân kết thúc ngay sau khi kiểm tra tính hợp lệ.

9.3.2.CSD Trò chuyện Đối tượng Thành viên khởi tạo quá trình tìm bạn và trò chuyện,do đó sẽ có đường sống từ lúc bắt đầu

cho đến kết thúc.

Đối tượng Bạn bè chỉ tham gia vào quá trình khi đã thiết lập được cuộc nói chuyện.

Trong khi đó,lược sử cuộc trò chuyện sẽ được cập nhật từ lúc cuộc nói chuyện bắt đầu.

Yêu cầu của hệ thống kết thúc ngay sau khi cuộc trò chuyện được thiết lập.

9.3.3.CSD Kết bạn Với CSD này,cũng như trên đối tượng thành viên tham gia quá trình đến hết.

Trong khi đó yêu cầu của hệ thống và thông tin cá nhân kết thúc ngay sau khi quá trình tìm bạn.

Page 34: Bai tap lon - VD

34

9.3.4 CSD Chỉnh sửa trang cá nhân Đối tượng thành viên tham gia hết quá trình.

Yêu cầu chỉnh sửa và yêu cầu xác nhận kết thúc ngay sau quá trình xác thực.

Thông tin cá nhân cũng được kết thúc sau quá trình cập nhật

9.4 Vẽ biểu đồ

9.4.1.CSD Đăng kí

Page 35: Bai tap lon - VD

35

9.4.2 CSD Trò chuyện

: Khach

Yeu cau :

HeThong

: ThongTinCaNhan

1: Tao yeu cau dang ki2: Nhap thong tin dang ki

3: Kiem tra tinh hop le

4: Phan hoi ket qua dang ki

Page 36: Bai tap lon - VD

36

9.4.3.CSD Kết bạn Kết bạn theo kịch bản Tìm một nửa:

: thanhvien

Yeu cau tim kiem :

HeThong

: Ban

Be :

LuocSu_TroChuyen

1: Tao yeu cau tim ban

3: Tro chuyen

4: Tro chuyen

6: Cap nhat noi dung cuoc tro chuyen

2: Tim Ban trong danh sach ban be

5: Cap nhat noi dung tro chuyen

: thanhvien : thanhvien

YeuCauTimKiem :

HeThong

YeuCauTimKiem :

HeThong

:

ThongTinCaNhan

:

ThongTinCaNhan

dsachthanhvien :

Thanhvien

dsachthanhvien :

Thanhvien

1: Nhap tieu chuan tim ban

2: Tim kiem ban theo tieu chuan

3: Tra ve danh sach thanh vien

4: Gui yeu cau ket ban

5: Phan hoi

Page 37: Bai tap lon - VD

37

Kết bạn theo kịch bản Nối độc thân

5: Phan hoi

: thanhvien

YeuCauTimKie

m : HeThong

: ThongTinCaNhan

dsachthanhvien :

Thanhvien

1: Nhap tieu chuan tim ban

4: Gui yeu cau ket ban

2: Tim kiem ban theo tieu chuan

3: Tra ve danh sach thanh vien

Page 38: Bai tap lon - VD

38

9.4.4 CSD Chỉnh sửa trang cá nhân

: Thanhvien : ThanhvienYeu cau chinh

sua : HeThong

Yeu cau chinh

sua : HeThong

Yeu cau xac nhan :

HeThong

Yeu cau xac nhan :

HeThong

:

ThongTinCaNhan

:

ThongTinCaNhan

1: Dien thong tin ca nhan can chinh sua

2: Kiem tra tinh hop le

3: Cap nhat

4: Phan hoi ket qua cho thanh vien

Page 39: Bai tap lon - VD

39

10.Xây dựng biểu đồ trạng thái Trong biểu đồ tuần tự của hệ thống ,nhận thấy 2 đối tượng Thành viên và Thông tin cá nhân xuất

hiện nhiều trong các CSD chính và quan trọng với hệ thống,do đó ta sẽ xây dựng biểu đồ trạng thái cho 2

đối tượng này.

10.1.Thành viên Diễn tiến trạng thái của đối tượng :

Khi thành viên đã đăng nhập vào hệ thống:

1. Thành viên click vào mục xem thông tin => Thành viên xem thông tin trang web

2. Thành viên click vào mục trò chuyện => lựa chọn bạn muốn trò chuyện trong danh sách bạn bè

Thành viên click vào bạn muốn trò chuyện => đang trò chuyện

: Thanhvien

Yeu cau chinh

sua : HeThong

: ThongTinCaNhan Yeu cau xac nhan :

HeThong

1: Dien thong tin ca nhan can chinh sua

2: Kiem tra tinh hop le

4: Phan hoi ket qua cho thanh vien

3: Cap nhat

Page 40: Bai tap lon - VD

40

3. Thành viên click mục kết bạn từ giao diện chính => Vào xem trang kết bạn - Muốn kết bạn => sử dụng các chức năng kết bạn - Muốn xóa bạn => lựa chọn bạn để xóa

o Chờ xóa xong => quay lại xem trang kết bạn

4. Thành viên click mục trang cá nhân => đang xem trang cá nhân

- Muốn thay đổi thông tin cá nhân => đang thay đổi thông tin cá nhân

Vẽ biểu đồ trạng thái

10.2.Thông tin cá nhân Diễn tiến trạng thái của đối tượng

1. Reset => trạng thái đang lưu trữ

2. Hệ thống yêu cầu cập nhật thông tin cá nhân => Thông tin cá nhân lưu trữ các

thông tin mới

3. Hệ thống yêu cầu kết quả tìm kiếm bạn => TTCN tìm kiếm

4. Tìm kiếm xong => TTCN trả về các kết quả tìm kiếm

5. Gửi xong => quay lại trạng thái đang lưu trữ

Vẽ biểu đồ trạng thái

TV dang truy cap

trang web

TV dang xem

thong tin trang web

TV lua chon ban

tro chuyen

TV dang

tro chuyen

TV dang xem

trang ket ban

TV dang su dung

chuc nang ket ban

TV dang lua chon

ban de xoa

TV dang xem

trang ca nhan

TV dang thay doi

thong tin ca nhan

click vao ban click thay doi thong tinclick ket ban click xoa ban

click muc xemthongtin

click muc tro chuyen click muc ketban click muc trangcanhan

thoatthoat thoat

thoat

thoat

Page 41: Bai tap lon - VD

41

11. Xây dựng biểu đồ gói

11.1 Xác định ngữ cảnh: Ngữ cảnh là toàn bộ miền bài toán.

11.2 Nhóm các lớp có cùng quan hệ với nhau: Gói người sử dụng: bao gồm các class liên quan đến thông tin của khách và thành viên: khách,

thành viên, bạn bè, thông tin thành viên.

Gói hệ thống: bao gồm các class thức hiện chức năng của hệ thốnglà hệ thống, thông tin trang

web, tiêu chuẩn kết bạn, lược sử trò chuyện, blog, kết quả tìm kiếm, tiêu chuẩn kết bạn.

11.3 Phân vùng thành gói:

11.4 Xác định mối quan hệ phụ thuộc giữa các gói : Các dịch vụ và hệ thống phục vụ người sử dụng, thay đổi theo người sử dụng nên ta có gói hệ

thống phụ thuộc vào gói người sử dụng.

TTCN dang

luu tru

reset

TTCN luu tru cac

thong tin moi

TTCN tim

kiem

TTCN gui lai ket

qua tim kiem

tim kiem xong

nhan yeu cau cap nhat thong tin ca nhan

nhan yeu cau tim kiem ban

gui xong

luu tru xong

Page 42: Bai tap lon - VD

42

11.5 Vẽ biểu đồ gói:

goi nguoi su dung goi he thong

Thong tin ca nhan(from goi nguoi su dung)

Blog(from goi he thong)

Khach(from goi nguoi su dung)

Thong tin trang web(from goi he thong)

Ban be(from goi nguoi su dung)

Luoc su tro chuyen(from goi tro chuyen)

Tieu chuan ket ban(from goi he thong)

He thong(from goi he thong)

Ket qua tim kiem(from goi he thong)

thanh vien(from goi nguoi su dung)