TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNGBỘ MÔN HỆ THỐNG THÔNG TINBÁO CÁO BÀI TẬP LỚN TƯƠNG TÁC NGƯỜI MÁYXÂY DỰNG MẠNG XÃ HỘI HỌC TIẾNG ANH TRỰC TUYẾNGiảng viên hướng dẫn: Cô Vũ Thị Hương GiangSinh viên thực hiện : Nhóm HCI09 1. Nguyễn Văn Khải. 2. Nguyễn Đức Long. 3. Lê Sỹ Hạnh. 4. Vũ Hồng Hoan. 5. Phạm Xuân Trường. Lớp : Hệ Thống Thông Tin K52Hà Nội, tháng 10 năm 2011 LỜI NÓI ĐẦU3I.Mô tả bài toán:4II.Kiến trúc tổng thể:51.Kiến trúc hệ thống theo mô hình phân tầng:52.Mô hình các thành phần và cơ chế giao tiếp:63.Mô hình triển khai:8III.Phân tích hệ thống:91.Xây dựng biểu đồ use case:91.1.Các tác nhân của hệ thống:91.2.Phân tích các use case:102.Biểu đồ lớp tổng quan:213.Xây dựng biểu đồ trình tự:213.1.Các nhóm chức năng liên quan đến user:213.2.Các use case liên quan đến Admin:23IV.Thiết kế hệ thống:251.Biểu đồ lớp chi tiết:252.Đặc tả cơ sở dữ liệu:27V.Thiết kế giao diện:291.Thiết kế bằng ký pháp đối thoại292.Giao diện trang chủ:313.Giao diện trang cá nhân của User:324.Giao diện trang quản lí admin:365.Đánh giá tính tương tác của hệ thống:38VI.KẾT LUẬN:39Tài Liệu Tham Khảo:40 LỜI NÓI ĐẦUHiện nay, nước ta đang trong giai đoạn hội nhập tăng cường hợp tác với các nước bạn bè quốc tế để phát triển nền kinh tế. Ngày càng có nhiều công ty, các tổ chức nướ
Trang 1VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
BỘ MÔN HỆ THỐNG THÔNG TIN
BÁO CÁO BÀI TẬP LỚN TƯƠNG TÁC NGƯỜI MÁY
Đề tài BTL01:
XÂY DỰNG MẠNG XÃ HỘI HỌC TIẾNG ANH TRỰC TUYẾN
Giảng viên hướng dẫn: Cô Vũ Thị Hương Giang Sinh viên thực hiện : Nhóm HCI09
1 Nguyễn Văn Khải.
Trang 2LỜI NÓI ĐẦU 3
I Mô tả bài toán: 4
II Kiến trúc tổng thể: 5
1 Kiến trúc hệ thống theo mô hình phân tầng: 5
2 Mô hình các thành phần và cơ chế giao tiếp: 6
3 Mô hình triển khai: 8
III Phân tích hệ thống: 9
1 Xây dựng biểu đồ use case: 9
1.1 Các tác nhân của hệ thống: 9
1.2 Phân tích các use case: 10
2 Biểu đồ lớp tổng quan: 21
3 Xây dựng biểu đồ trình tự: 21
3.1 Các nhóm chức năng liên quan đến user: 21
3.2 Các use case liên quan đến Admin: 23
IV Thiết kế hệ thống: 25
1 Biểu đồ lớp chi tiết: 25
2 Đặc tả cơ sở dữ liệu: 27
V Thiết kế giao diện: 29
1 Thiết kế bằng ký pháp đối thoại 29
2 Giao diện trang chủ: 31
3 Giao diện trang cá nhân của User: 32
4 Giao diện trang quản lí admin: 36
5 Đánh giá tính tương tác của hệ thống: 38
VI KẾT LUẬN: 39
Tài Liệu Tham Khảo: 40
Trang 3LỜI NÓI ĐẦU
Hiện nay, nước ta đang trong giai đoạn hội nhập tăng cường hợp tác với các nước bạn
bè quốc tế để phát triển nền kinh tế Ngày càng có nhiều công ty, các tổ chức nước ngoàiđầu tư và hợp tác vào nước ta Khả năng sử dụng ngoại ngữ thành thạo, đặc biệt bằngAnh ngữ đã trở thành một trong những tiêu chí đánh giá hàng đầu trong các cuộc phỏngvấn của các công ty Vì vậy, nhu cầu học rèn luyện tiếng Anh luôn là cấp thiết đối với cácbạn trẻ nói riêng cũng như mọi lứa tuổi người dân nói chung Trong một vài năm trở lạiđâu, hình thức học tiếng Anh qua mạng đang dần trở nên phổ biến trong xã hội Khi cầntìm những khóa học hay hay những bài hội thoại để luyện tập, người học có thể lên một
số trang web tự học tiếng Anh quốc tế như http://www.livemocha.com, hay trong nướcnhư http://www.tieng-anhonline.net/ để tự rèn luyện kỹ năng cho mình
Tuy nhiên, do hình thức học tiếng Anh qua mạng mới được phổ biến rộng rãi trongmột vài năm gần đây, nên hình thức học tập này vẫn tồn tại một số nhược điểm và chưaphát huy hiệu quả thật sự Một trong những nguyên nhân chính có thể là do phần lớnngười dân vẫn quen với cách học tập cũ, đó là download các phần mềm luyện thi Toefl,TOEIC về máy và tự luyện tập.Hơn nữa, người ta vẫn coi một mạng xã hội là nơi để tròchuyện hơn là để học tập, vì vậy nên những website học tiếng Anh hiện tại vẫn chưa thuđược số lượng bạn học như dự tính
Với mong muốn xây dựng một website học Anh ngữ giúp mọi người có thể vừa tựhọc tiếng Anh vừa có thể trao đổi kiến thức với những bạn học khác, nhóm chúng em đãquyết định lựa chọn đề tài xây dựng mạng xã hội học Anh ngữ trực tuyến Khác vớinhững trang web nổi tiếng như http://www.livemocha.com , cho phép bạn đọc luyện nhiềungoại ngữ như tiếng Anh, Ý, Đức… hệ thống mới của nhóm sẽ tập trung vào luyện tậpAnh ngữ qua các bài luận, qua đó nhóm sẽ thực hiện những ý tưởng của mình để làmmạng xã hội trở nên thân thiện, hữu ích với người dùng hơn
Trong quá trình phân tích và thiết kế hệ thống và thiết kế giao diện, chúng em đã sử
dụng những kiến thức đã được dạy trong môn học Tương tác người máy do cô Vũ Thị
Hương Giang giảng dạy Tuy nhiên, do có thể còn thiếu kinh nghiệm, nên chúng em rấtmong được thầy và các bạn góp ý để hoàn thiện hệ thống website hơn trong thời gian tới.Nhóm chúng em gồm 5 thành viên:
Trang 4I Mô tả bài toán:
Mục đích: Xây dựng mạng xã hội học tiếng anh trực tuyến.
Mô tả: Trang web hỗ trợ học tiếng anh thông qua việc người dùng viết các bài luận
theo các chủ đề, đóng góp ý kiến trong các bài luận, chia sẻ tài liệu…
Người dùng truy cập vào hệ thống có thể sử dụng một số tính năng cơ bản như: xemthông tin, tìm kiếm tài liệu, đọc các topic
Sau khi đăng kí tài khoản và đăng nhập, người dùng có thể upload tài liệu, downloadtài liệu, viết topic và comment ở các topic
Người dùng phải đạt một level hoạt động nhất định mới có quyền viết bài luận
Tài liệu do người dùng upload lên trang web sẽ được hệ thống lưu lại chờ admin kiểmduyệt Nếu tài liệu hợp lệ sẽ được hiển thị, ngược lại admin sẽ xóa
Ngoài ra người dùng còn có thể kết bạn, gửi tin nhắn với người dùng khác
Tham khảo các hệ thống hiện tại:
các chức năng: kết bạn, các test ngôn ngữ, review các bài tập, hệ thống tính điểm cánhân…
Phạm vi: Sau khi trao đổi đi đến thống nhất, nhóm giới hạn phạm vi hệ thống học
tiếng Anh trực tuyến của nhóm sẽ có những chức năng chính sau:
Quản lý tài khoản cá nhân
Kết bạn với những thành viên khác tham gia vào mạng xã hội
Học tập và thực hành các kỹ năng nghe, nói đọc và viết
Chia sẻ tài liệu và giúp đỡ lẫn nhau khi đánh giá các bài luận
Đánh giá hệ thống so với hệ thống cũ:
- Điểm bổ sung:
Hỗ trợ chức năng tùy chỉnh giao diện, tương thích với từng người dùng
Đơn giản hóa giao diện để tiện cho việc thao tác các chức năng
Bổ sung thêm chức năng upload và chia sẻ tài liệu
- Điểm chưa hoàn thiện:
Hạn chế bớt một số chức năng: các test ngôn ngữ, chỉ hỗ trợ học một ngôn ngữ là tiếng anh
Trang 51 Kiến trúc hệ thống theo mô hình phân tầng:
Trong đó:
Trang 6 Business Logic: chứa các thành phần thực hiện thao tác cụ thể theoyêu cầu nghiệp vụ của ứng dụng.
o Data Access Layer
Gồm
Data Entity và Entity Framework: chứa các thành phần thực hiện kếtnối database; ánh xạ dữ liệu trong database với các thực thể trongứng dụng, phục vụ cho các thao tác của tầng Business
Database: cơ sở dữ liệu vật lý
- Ý nghĩa
Kiến trúc phân tầng là kiến trúc truyền thống phù hợp cho mọi loại hình ứng dụng
Áp dụng kiến trúc phân tầng trong ứng dụng đảm bảo sự độc lập trong quá trìnhphát triển, đồng thời giảm chi phí bảo trì các thành phần của ứng dụng
2 Mô hình các thành phần và cơ chế giao tiếp:
Trang 7o Giao diện tương tác người dùng
o Thông tin hiển thị trên View được đặt trong 1 Model cụ thể ứng với Viewđó
Controller
o Là thành phần trung gian giữa Model và View
o Có nhiệm vụ nhận yêu cầu từ View gửi đến, gọi đến các thành phần liênquan để xử lý yêu cầu, từ đó quyết định kết quả trả lời (bao gồm 1 View vàModel tương ứng)
Trang 8- Một cách tương đối có thể hình dung các thành phần ứng dụng(component) theo thứ
tự từ trên xuống như sau:
- Cơ chế hoạt động và giao tiếp giữa các thành phần
Luồng thông tin xuất phát từ mức trên cùng, đi xuống các mức dưới Trong từngthành phần mức trên gọi tới các thành phần ở mức dưới để xử lý nghiệp vụ Cácthành phần mức dưới không cần quan tâm tới mức trên
Các thành phần trong ứng dụng giao tiếp thông qua các giao diện (Interface), tạo
sự lỏng lẻo trong liên kết giữa các thành phần
o Controller gọi thành phần Service thông qua các Interface:
Trang 9Trong đó:
Hệ thống được triển khai trên 3 node chính
o Máy Web Server cài đặt website và các service phục vụ ứng dụng
o Máy Database Server chứa database phục vụ cho ứng dụng, kết nối với webserver sử dụng giao thức bảo mật TLS/SSL
o Máy Client sử dụng trình duyệt truy nhập website, dùng giao thức TCP/IP
Hệ thống gốm 3 tác nhân chính, bao gồm khách, thành viên và người quản trị
- Guest : là người sử dụng bình thường, nhóm này chỉ có các chức năng cơ bản:xem thông tin, tìm kiếm tài liệu
Trang 10- User: nhóm này có tất cả các quyền của khách, ngoài ra còn có quyền tạo topic,comment, upload và download tài liệu, kết bạn và gửi tin nhắn cho thành viênkhác.
- Admin: Người quản trị hệ thống, có tất cả các quyền của hệ thống (bao gồm tất cảquyền của hai nhóm trên) ngoài ra còn có thêm quản lí thành viên, quản lí topic,quản lí tài liệu (resource) …
1.2 Phân tích các use case:
Mô hình Use Case tổng quan của hệ thống:
Registry
Search View info
Trang 111.2.1 Các use case liên quan đến tác nhân guest:
Registry View info
Search Guest
1.2.1.1 Use Case Registry:
- Tóm tắt: đây là trường hợp khách đăng kí tài khoản
- Tác nhân: guest
- Liên quan: không có use case liên quan
- Luồng sự kiện:
Luồng sự kiện chính:
- Người dùng chọn chức năng Registry trên giao diện hệ thống
- Hệ thống hiển thị trang đăng kí
- Người dùng nhập các thông tin yêu cầu để đăng kí: tên đăng nhập,email, mật khẩu
- Hệ thống kiểm tra các thông tin nhập vào đã đầy đủ và đúng định dạngchưa
- Hệ thống thêm thông tin user mới vào CSDL
- Hiển thị thông báo đăng nhập thành công
- Thông tin nhập vào thiếu hoặc không đúng định dạn
- Hệ thống từ chối đăng kí, hiển thị thông báo
- Kết thúc use case
Luồng 3:
- Hệ thống không thể kết nối cơ sở dữ liệu
- Hiển thị thông báo lỗi, kết thúc use case
1.2.1.2 Use Case Search:
- Tóm tắt: người dùng vào hệ thống có thể tìm kiếm User, Topic, Tài liệu
(resource)
Trang 12- Hệ thống tìm kiếm trong CSDL từ khóa nhập vào
- Hiển thị kết quả tìm kiếm cho người dùng
- Kết thúc use case
Luồng sự kiện rẽ nhánh:
- Hệ thống không thể kết nối CSDL
- Hiển thị thông báo lỗi, kết thúc use case
Login
View Friendlist Send Friend request
Confirm Friend request
Delete User's Friend
<<include>>
<<include>>
1.2.2.1 Use Case Login:
Trang 13- Mô tả: đây là trường hợp user đăng nhập vào hệ thống để thực hiện các chức năng
- User chọn đăng nhập trên giao diện chính của hệ thống
- Hệ thống hiển thị hộp thoại đăng nhập
- User nhập username và password đã đăng kí
- User hủy đăng nhập
- Hệ thống bỏ đăng nhập, hiển thị giao diện ban đầu
- Hệ thống có lỗi trong quá trình xác nhận tài khoản
- Hiển thị thông báo lỗi
- Kết thúc use case
1.2.2.2 Use Case Change Profile:
- Mô tả: đây là trường hợp người dùng thay đổi thông tin cá nhân
- Tác nhân: user
- Use case liên quan: Use case này phải sử dụng use case login
- Luồng sự kiện:
Luồng sự kiện chính:
- User chọn xem thông tin cá nhân
- Hệ thống hiển thị trang thông tin cá nhân
- User có thể thay đổi một số thông tin: mật khẩu đăng nhập, thông tin mô
tả …
- User chọn lưu thay đổi
- Hệ thống xác nhận yêu cầu, kiểm tra dữ liệu và cập nhật thông tin mới
- Hiển thị thông báo
- Kết thúc use case
Luồng sự kiện rẽ nhánh:
Luồng 1 :
Trang 14- User hủy yêu cầu thay đổi thông tin
- Hệ thống hiển thị thông tin cá nhân như ban đầu
- Kết thúc use case
Luồng 2 :
- Hệ thống có lỗi trong quá trình xử lí
- Hiển thị thông báo lỗi
- Kết thúc use case
1.2.2.3 Use case create/edit topic:
- Mô tả: đây là chức năng cho phép user tạo topic mới hoặc chỉnh sửa topic của
mình (user chỉ có thể tạo topic khi đạt một số điểm hoạt động nhất định - levelpoint)
- User hủy yêu câu
- Hệ thống trở lại giao diễn cũ
- Kết thúc use case
Luồng 2:
- User không đủ điều kiện lập topic
- Hệ thống hiển thị thông báo
- Kết thúc use case
Luồng 3:
- Hệ thống có lỗi trong quá trình xử lí
- Hiển thị thông báo lỗi
- Kết thúc use case
Trang 15- Mô tả: trường hợp phép người dùng gửi yêu cầu kết bạn tới người dùng khác
- Hệ thống xác nhận và lưu yêu cầu kết bạn
- Hiển thị thông báo
- Kết thúc use case
Luồng sự kiện rẽ nhánh
- Hệ thống gặp lỗi trong quá trình xử lí
- Hiển thị thông báo lỗi
- Kết thúc usecase
1.2.2.5 Use case Confirm Friend Request:
- Mô tả : trường hợp người dùng phản hồi lại yêu cầu kết bạn
- Tác nhân: user
- Use case liên quan: cần phải thực hiện use case login
- Luồng sự kiện:
Luồng sự kiện chính:
- Người dùng chọn chức năng xem danh sách các yêu cầu kết bạn
- Hệ thống hiển thị các yêu cầu kết bạn
- Với mỗi yêu cầu, người dùng chọn đồng ý hoặc từ chối
- Hệ thống xác nhận phản hồi Nếu người dùng chọn đồng ý, hệ thống sẽcập nhật thông tin kết bạn Nếu người dùng từ chối, hệ thống sẽ xóathông tin kết bạn khỏi CSDL
- Gửi thông báo cho người dùng (bao gồm cả người gửi và người nhậnyêu cầu kết bạn)
- Kết thúc use case
Luồng sự kiện rẽ nhánh:
- Hệ thống gặp lỗi trong quá trình xử lí
- Hiển thị thông báo lỗi
- Kết thúc use case
1.2.2.6 Use case View Friend list
- Mô tả: trong trang thông tin cá nhân, người dùng có thể xem danh sách bạn bè.
- Tác nhân: user
- Use case liên quan: cần thực hiện use case Login
- Luồng sự kiện:
Luồng sự kiện chính:
- Tại trang thông tin các nhân, người dùng chọn chức năng view friendlist
- Hệ thống truy cập CSDL và hiển thị danh sách Friend
Trang 16- Kết thúc use case
Luồng sự kiện rẽ nhánh:
- Hệ thống gặp lỗi trong quá trình xử lí
- Hiển thị thông báo lỗi
- Kết thúc use case
1.2.2.7 Use case Delete Friend:
- Mô tả: cho phép người dùng có thể xóa Friend trong danh sách Friend
- Hệ thống xóa thông tin kết bạn trong CSDL
- Hiển thị thông báo xóa thành công
- Kết thúc use case
Luồng sự kiện rẽ nhánh:
Luồng 1:
- Người dùng hủy yêu cầu xóa
- Hệ thống hiển thị danh sách Friend ban đầu
- Kết thúc use case
Luồng 2:
- Hệ thống gặp lỗi trong quá trình xử lí
- Hiển thị thông báo lỗi
- Kết thúc use case
Trang 17Manage User
Manager Resource
Manage Topic
Admin Manage Comment
Active resource
Delete Resource View Resource
Delete Topic
Create Comment
Delete Comment
Create/change user Create/Edit topic
1.2.3.1 Use Case Create/Change User:
- Mô tả: đây là trường hợp admin tạo hoặc thay đổi thông tin user
- Tác nhân: Admin
- Use Case liên quan: cần phải sử dụng use case login
- Luồng sự kiện:
Luồng sự kiện chính:
- Trên giao diện quản trị user, admin chọn thay đổi thông tin user hoặc
tạo mới user
- Hệ thống hiển thị giao diện nhập user Nếu là chức năng thay đổi thông
tin user, hệ thống sẽ hiển thị thông tin user được chọn
- Admin nhập các thông tin: username (nếu tạo mới), password và các
thông tin chi tiết khác sau đó chọn chức năng lưu thông tin
- Hệ thống xác nhận lại yêu cầu và dữ liệu vào Hệ thống lưu thông tin
- Hiển thị thông báo
- Kết thúc use case
Luồng dữ liệu rẽ nhánh:
Luồng 1:
- Admin hủy yêu cầu
- Hệ thống hiển thị giao diện quản lí học sinh
- Kết thúc use case
Trang 18Luồng 2:
- Thông tin nhập vào không hợp lệ
- Hệ thống từ chối lưu thông tin
- Kết thúc use case
Luồng 3:
- Hệ thống có lỗi trong quá trình xác nhận tài khoản
- Hiển thị thông báo lỗi
- Kết thúc use case
1.2.3.2 Use Case Delete User:
- Mô tả: Đây là trường hợp admin muốn xóa thông tin một user
- Tác nhân: admin
- Use case liên quan: cần sử dụng use case Login , Delete Friend, Delete User’s
Comment, Delete User’s Topic, Delete User’s Message
- Luồng sự kiện:
Luồng sự kiện chính:
- Tại giao diện quản lí user, admin chọn xóa thông tin một user
- Hệ thống hiển thị lại giao diện thông tin user
- Admin xác nhận xóa user
- Hệ thống thực hiện xóa thông tin user, thông tin kết bạn, các topic,comment, message của user
- Hiển thị thông báo
- Kết thúc use case
Luồng sự kiện rẽ nhánh:
Luồng 1:
- Admin hủy yêu cầu
- Hệ thống hiển trị giao diện quản lí user
- Kết thúc use case
Luồng 2:
- Hệ thống có lỗi trong quá trình xác nhận tài khoản
- Hiển thị thông báo lỗi
- Kết thúc use case
1.2.3.3 Use case Delete User’s Friend:
- Mô tả: Đây là use case phát sinh khi use case Delete User xảy ra
Trang 19- Hệ thống gặp lỗi trog quá trình xử lí
- Hiển thị thông báo lỗi
- Kết thúc use case
1.2.3.4 Use case View Resource:
- Mô tả: Trường hợp admin xem danh sách các tài liệu
- Tác nhân: Admin
- Use Case liên quan: cần thực hiện use case Login
- Luồng sự kiện
Luồng sự kiện chính:
- Tại trang quản trị, admin chọn xem danh sách tài liệu
- Hệ thống xác nhận yêu cầu và kết nối dữ liệu Hệ thống hiển thị danhsách tài liệu, ưu tiên hiển thị các tài liệu chưa được duyệt
- Kết thúc use case
Luồng dữ liệu rẽ nhánh:
- Hệ thống gặp lỗi trog quá trình xử lí
- Hiển thị thông báo lỗi
- Kết thúc use case
1.2.3.5 Use case Active Resource:
- Mô tả: trường hợp admin kiểm duyệt tài liệu do người dùng upload
- Tài liệu không hợp lệ, admin chọn chức năng hủy
- Hệ thống xóa tài liệu khỏi CSDL
- Hiển thị thông báo
- Kết thúc use case
Luồng 2:
- Hệ thống gặp lỗi trog quá trình xử lí
- Hiển thị thông báo lỗi
- Kết thúc use case
Trang 201.2.3.6 Use case Delete Resource :
- Mô tả: trường hợp admin xóa tài liệu
- Hệ thống xóa tài liệu khỏi CSDL
- Hiển thị thông báo
- Kết thúc use case
Luồng dữ liệu rẽ nhánh:
- Hệ thống gặp lỗi trog quá trình xử lí
- Hiển thị thông báo lỗi
- Kết thúc use case
1.2.3.7. Use case Delete Topic
- Mô tả: trường hợp admin xóa topic
- Hệ thống gặp lỗi trog quá trình xử lí
- Hiển thị thông báo lỗi
- Kết thúc use case