Tuy nhiên việc trao đổi đồ cũ trênthực tế gặp rất nhiều khó khăn như: làm sao người khác có thể biết được mình có nhucầu trao đổi và những đồ cũ mà mình đang có để đề nghị trao đổi ha
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
Tel (84-511) 736 949, Fax (84-511) 842 771
Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn
LUẬN VĂN TỐT NGHIỆP KỸ SƯ NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH : 05115
ĐỀ TÀI : XÂY DỰNG WEBSITE TRAO ĐỔI ĐỒ CŨ
TRÊN NỀN CSLA 3.5
Mã số : 06T1-006 Ngày bảo vệ : 15/06/2011
SINH VIÊN : LÊ QUỐC DŨNG
ĐÀ NẴNG, 06/2011
Trang 2đề tài.
Và để có được kết quả như ngày hôm nay, chúng tôi rất biết ơn gia đình
đã động viên, khích lệ, tạo mọi điều kiện thuận lợi nhất trong suốt quá trình học tập cũng như quá trình thực hiện đề tài tốt nghiệp này.
Xin chân thành cám ơn các bạn trong khoa Công nghệ thông tin – khóa
06, đã ủng hộ cho tôi trong quá trình nghiên cứu và thực hiện đề tài.
Một lần nữa tôi xin chân thành cám ơn!
Đà Nẵng, ngày 14 tháng 05 năm 2011
Sinh viên thực hiện
Lê Quốc Dũng
Trang 3Tôi xin cam đoan :
1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy Đặng Thiên Bình.
2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố.
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm.
Lê Quốc Dũng
Trang 4NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
Trang 5
Trang 6
MỤC LỤC
GIỚI THIỆU ĐỀ TÀI 1
I Đặt vấn đề 1
II Lý do chọn đề tài 1
III Hướng nghiên cứu của đề tài 2
III.1 Về mặt lý thuyết 2
III.2 Công cụ xây dựng đề tài 2
IV Dự kiến kết quả đạt được 2
CƠ SỞ LÝ THUYẾT 5
I Giới thiệu công nghệ sử dụng 5
I.1 Ngôn ngữ ASP.NET 5
I.2 Framework CSLA NET 10
II Vấn đề trao đổi đồ cũ 13
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 14
I Phân tích hệ thống 14
I.1 Use-case hệ thống 15
I.2 Use-case quản lý thông tin thành viên 16
I.3 Use-case quản lý đồ cũ 16
I.4 Use-case quản lý trao đổi 17
II Sơ đồ hoạt động của hệ thống 20
II.1 Quản lý thông tin thành viên 20
II.2 Quản lý đồ cũ 24
II.3 Quản lý đề nghị trao đổi 27
II.4 Quản lý yêu cầu được trao đổi 31
II.5 Giới thiệu trao đổi 34
II.6 Tìm kiếm 35
III Sơ đồ trình tự các chức năng của hệ thống 36
III.1 Quản lý thông tin thành viên 36
III.2 Quản lý đồ cũ 38
III.3 Quản lý đề nghị trao đổi 40
III.4 Quản lý yêu cầu được trao đổi 42
III.5 Giới thiệu trao đổi 43
III.6 Tìm kiếm 44
IV Sơ đồ lớp 45
IV.1 Lớp UserBO 46
IV.2 Lớp UserBOList 46
IV.3 Lớp CategoryBO 47
IV.4 Lớp CategoryBOList 47
IV.5 Lớp ItemBO 48
IV.6 Lớp ItemBOList 48
Trang 7IV.10 Lớp ExchangeBOList: 50
IV.11 Lớp ExchangeFullInfoBO 51
IV.12 Lớp ExchangeFullInfoBOList 51
IV.13 Lớp ItemExchangeBO 52
IV.14 Lớp ItemExchangeBOList 52
IV.15 Lớp CommentBO 53
IV.16 Lớp CommentBOList 53
IV.17 Lớp MessageBO 54
IV.18 Lớp MessageBOList 54
IV.19 Lớp IntroductionBO 55
IV.20 Lớp IntroductionBOList 55
IV.21 Lớp BreachBO 56
IV.22 Lớp BreachBOList 56
IV.23 Lớp BreachTypeBO 57
IV.24 Lớp BreachTypeBOList 57
IV.25 Lớp PollBO 58
V Thiết kế hệ thống 59
V.1 Sơ đồ quan hệ giữa các bảng 59
V.2 Tổ chức dữ liệu 60
KẾT QUẢ THỰC HIỆN 66
I Trang chủ 66
II Quản lý thông tin thành viên 67
II.1 Đăng ký thành viên 67
II.2 Cập nhật thông tin thành viên 68
II.3 Đổi mật khẩu 68
III Quản lý đồ cũ 69
III.1 Đăng đồ cũ 69
III.2 Cập nhật đồ cũ 69
III.3 Xóa đồ cũ 70
III.4 Danh sách đồ cũ 71
III.5 Hiển thị tin đăng đồ cũ 71
IV Quản lý đề nghị trao đổi 74
IV.1 Đề nghị trao đổi 74
IV.2 Sửa đề nghị trao đổi 74
IV.3 Hủy đề nghị trao đổi 75
IV.4 Xác nhận trao đổi 75
IV.5 Danh sách đồ cũ đề nghị trao đổi 76
V Quản lý yêu cầu được trao đổi 77
V.1 Chấp nhập trao đổi 77
V.2 Từ chối trao đổi 77
V.3 Báo cáo vi phạm 77
V.4 Danh sách yêu cầu được trao đổi 78
VI Giới thiệu trao đổi 79
Trang 8VI.1 Giới thiệu trao đổi 79
VI.2 Danh sách giới thiệu trao đổi 79
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 80
I Kết quả đạt được 80
I.1 Về mặt lý thuyết 80
I.2 Về mặt thực nghiệm 80
II Hướng phát triển của đề tài 80
Trang 9Hình 1: Kiến trúc khung ứng dụng NET 6
Hình 2: CLR độc lập với hệ điều hành 7
Hình 3: Người dùng tương tác với ứng dụng web ASP.NET 9
Hình 4: Framework CSLA 10
Hình 5: Sơ đồ use-case chức năng hệ thống 14
Hình 6: Sơ đồ use-case hệ thống 15
Hình 7: Sơ đồ use-case chức năng "Quản lý thông tin thành viên" 16
Hình 8: Sơ đồ use-case “Quản lý đồ cũ” 17
Hình 9: Sơ đồ use-case “Quản lý trao đổi” 17
Hình 10: Sơ đồ use-case “Quản lý đề nghị trao đổi” 18
Hình 11: Sơ đồ use-case "Quản lý yêu cầu được trao đổi” 19
Hình 12: Sơ đồ hoạt động của chức năng "Đăng ký thành viên" 20
Hình 13: Sơ đồ hoạt động của chức năng "Đăng nhập" 21
Hình 14: Sơ đồ hoạt động của chức năng "Cập nhật thông tin thành viên" 22
Hình 15: Sơ đồ hoạt động của chức năng "Đổi mật khẩu" 23
Hình 16: Sơ đồ hoạt động của chức năng "Đăng đồ cũ" 24
Hình 17: Sơ đồ hoạt động của chức năng "Cập nhật đồ cũ" 25
Hình 18: Sơ đồ hoạt động của chức năng "Xóa đồ cũ" 26
Hình 19: Sơ đồ hoạt động của chức năng "Tạo đề nghị trao đổi" 27
Hình 20: Sơ đồ hoạt động của chức năng "Sửa đề nghị trao đổi" 28
Hình 21: Sơ đồ hoạt động của chức năng "Hủy đề nghị trao đổi" 29
Hình 22: Sơ đồ hoạt động của chức năng "Xác nhận trao đổi" 30
Hình 23: Sơ đồ hoạt động của chức năng "Chấp nhận trao đổi" 31
Hình 24: Sơ đồ hoạt động của chức năng "Từ chối trao đổi" 32
Hình 25: Sơ đồ hoạt động của chức năng "Báo cáo vi phạm" 33
Hình 26: Sơ đồ hoạt động chức năng "Giới thiệu trao đổi" 34
Hình 27: Sơ đồ hoạt động của chức năng "Tìm kiếm" 35
Hình 28: Sơ đồ trình tự chức năng "Đăng ký thành viên" 36
Hình 29: Sơ đồ trình tự chức năng "Đăng nhập" 37
Hình 30: Sơ đồ trình tự chức năng "Đổi mật khẩu" 37
Hình 31: Sơ đồ trình tự chức năng "Cập nhật thông tin thành viên" 38
Hình 32: Sơ đồ trình tự chức năng "Thêm đồ cũ" 38
Hình 33: Sơ đồ trình tự chức năng "Cập nhật đồ cũ" 39
Hình 34: Sơ đồ trình tự chức năng "Xóa đồ cũ" 39
Hình 35: Sơ đồ trình tự chức năng "Đề nghị trao đổi" 40
Hình 36: Sơ đồ trình tự chức năng "Sửa đề nghị trao đổi" 40
Hình 37: Sơ đồ trình tự chức năng "Hủy đề nghị trao đổi" 41
Hình 38: Sơ đồ trình tự chức năng "Xác nhận trao đổi" 41
Hình 39: Sơ đồ trình tự chức năng "Chấp nhận trao đổi" 42
Hình 40: Sơ đồ trình tự chức năng "Từ chối trao đổi" 42
Hình 41: Sơ đồ trình tự chức năng "Báo cáo vi phạm" 43
Hình 42: Sơ đồ trình tự chức năng "Giới thiệu trao đổi" 43
Trang 10Hình 44: Sơ đồ mối quan hệ giữa các lớp 45
Hình 45: Sơ đồ lớp UserBO 46
Hình 46: Sơ đồ lớp UserBOList 46
Hình 47: Sơ đồ lớp CategoryBO 47
Hình 48: Sơ đồ lớp CategoryBOList 47
Hình 49: Sơ đồ lớp ItemBO 48
Hình 50: Sơ đồ lớp ItemBOList 48
Hình 51: Sơ đồ lớp ItemFullInfoBO 49
Hình 52: Sơ đồ lớp ItemFullInfoBOList 49
Hình 53: Sơ đồ lớp ExchangeBO 50
Hình 54: Sơ đồ lớp ExchangeBOList 50
Hình 55: Sơ đồ lớp ExchangeFullInfoBO 51
Hình 56: Sơ đồ lớp ExchangeFullInfoBOList 51
Hình 57: Sơ đồ lớp ItemExchangeBO 52
Hình 58: Sơ đồ lớp ItemExchangeBOList 52
Hình 59: Sơ đồ lớp CommentBO 53
Hình 60: Sơ đồ lớp CommentBOList 53
Hình 61: Sơ đồ lớp MessageBO 54
Hình 62: Sơ đồ lớp MessageBOList 54
Hình 63: Sơ đồ lớp IntroductionBO 55
Hình 64: Sơ đồ lớp IntroductionBOList 55
Hình 65: Sơ đồ lớp BreachBO 56
Hình 66: Sơ đồ lớp BreachBOList 56
Hình 67: Sơ đồ lớp BreachTypeBO 57
Hình 68: Sơ đồ lớp BreachTypeBOList 57
Hình 69: Sơ đồ lớp PollBO 58
Hình 70: Sơ đồ quan hệ giữa các bảng 59
Hình 71: Màn hình trang chủ của website 66
Hình 72: Màn hình đăng ký thành viên 67
Hình 73: Màn hình cập nhật thông tin thành viên 68
Hình 74: Màn hình đổi mật khẩu 68
Hình 75: Màn hình đăng đồ cũ 69
Hình 76: Màn hình cập nhật đồ cũ 70
Hình 77: Màn hình xóa đồ cũ 70
Hình 78: Màn hình hiển thị danh sách đồ cũ đã đăng 71
Hình 79: Màn hình hiển thị tin đăng đồ cũ 71
Hình 80: Màn hình hiển thị vị trí nhà người đăng bằng Google Map 72
Hình 81: Màn hình hiển thị đường đi giữa 2 người trao đổi bằng Google Map 73
Hình 82: Màn hình chọn đồ cũ đem đề nghị trao đổi 74
Hình 83: Màn hình sửa danh sách đồ cũ đem đề nghị trao đổi 74
Hình 84: Màn hình hủy đề nghị trao đổi 75
Hình 85: Màn hình xác nhận trao đổi 75
Hình 86: Màn hình danh sách những đồ cũ bạn đã đề nghị trao đổi 76
Hình 87: Màn hình chấp nhận trao đổi 77
Hình 88: Màn hình từ chối trao đổi 77
Hình 89: Màn hình báo cáo vi phạm 78
Hình 90: Màn hình hiển thị danh sách yêu cầu được trao đổi 78
Hình 91: Màn hình giới thiệu trao đổi 79
Trang 12DANH MỤC BẢNG
Bảng 1: Mô tả chức năng các bảng dữ liệu 60
Bảng 2: Mô tả bảng tblUser 61
Bảng 3: Mô tả bảng tblCategory 61
Bảng 4: Mô tả bảng tblItem 62
Bảng 5: Mô tả bảng tblExchange 63
Bảng 6: Mô tả bảng tblItemExchange 63
Bảng 7: Mô tả bảng tblComment 63
Bảng 8: Mô tả bảng tblIntroduction 64
Bảng 9: Mô tả bảng tblMessage 64
Bảng 10: Mô tả bảng tblBreach 65
Bảng 11: Mô tả bảng tblBreachType 65
Bảng 12: Mô tả bảng tblPoll 65
Trang 13Ở Việt Nam tin học mạng Internet đã được phổ biến rộng rãi ở các trường học, vănphòng, công sở, thậm chí là tại các vùng xâu vùng xa của đất nước Mọi người đã cóthể sử dụng chúng vào nhiều mục đích khác nhau: học tập, giải trí, cập nhật tin tức,giao lưu kết bạn, mua bán trực tiếp… Tỉ lệ người dùng Internet ở Việt Nam đã chiếmtới 31% dân số và sẽ còn tăng nhanh trong nhiều năm tới
Cùng với quá trình công nghiệp hóa hiện đại hóa đất nước, hàng hóa được sản xuất
ra ngày càng nhiều hơn và nhu cầu mua sắm hàng hóa do đó cũng ngày một tăng lên.Việc mua sắm nhiều vật dụng mới trong gia đình đồng thời cũng dẫn đến xuất hiệnngày một nhiều hơn các vật dụng cũ, lỗi thời và chúng sẽ ít hoặc không còn được sửdụng
II Lý do chọn đề tài
Ngày nay các ứng dụng trên website với ưu điểm vượt trội là người dùng có thểtruy cập bất kỳ lúc nào và bất kỳ ở nơi đâu, chỉ cần nơi đó có sự hiện diện của mạngInternet và một trình duyệt web Với một chiếc máy vi tính có mạng người dùng cóthể truy cập, tìm kiếm bất cứ thứ gì họ quan tâm, mong muốn chỉ bằng vài thao tácđơn giản
Các ứng dụng trên website ngày càng đa dạng và phong phú Những chức năng phổbiến mà chúng ta thường thấy xuất hiện trên các website hiện nay là : thương mại điệntử, truyền hình trực tuyến, diễn đàn, nghe nhạc, xem phim, game online… và hiện nay
xu hướng đưa những ứng dụng được chạy trên nền Windows Form trước đây lên nềnWeb ngày càng phổ biến
Trong cuộc sống hàng ngày ở các gia đình số lượng đồ cũ xuất hiện ngày càngnhiều do nhu cầu cần mua sắm các vật dụng mới với nhiều tính năng hiện đại, thờitrang và tiết kiệm nhiên liệu để thay thế cho các vật dụng cũ đã lỗi thời, không còn
Trang 14Xây dựng Website Trao Đổi Đồ Cũ trên nền CSLA 3.5
những vật dụng cũ mình không còn dùng để lấy những vật dụng cũ của người khác cóích đối với mình trở thành một nhu cầu chính đáng Tuy nhiên việc trao đổi đồ cũ trênthực tế gặp rất nhiều khó khăn như: làm sao người khác có thể biết được mình có nhucầu trao đổi và những đồ cũ mà mình đang có để đề nghị trao đổi hay làm sao mìnhbiết được người khác có đồ cũ mà mình mong muốn để có thể yêu cầu người đó traođổi với mình Một giải pháp được đưa ra là thực hiện việc trao đổi đồ cũ thông quamột website, nơi mà có thể có hàng ngàn lượt truy cập mỗi ngày Điều đó có thể giúpcho các nhu cầu muốn trao đổi đồ cũ được biết đến nhiều hơn, việc trao đổi đồ cũ diễn
ra nhanh hơn và thuận tiện hơn
Chính vì lý do đó tôi đã quyết định chọn đề tài “Xây dựng website trao đổi đồ cũ
trên nền CSLA 3.5” làm đề tài tốt nghiệp của mình
III Hướng nghiên cứu của đề tài
III.1 Về mặt lý thuyết
Tìm hiểu quá trình trao đổi đồ cũ trong thực tế từ đó xây dựnggiải pháp cho bài toán trao đổi đồ cũ qua website
Đưa ra một số định hướng để phát triển đề tài
III.2 Công cụ xây dựng đề tài
Nguyên cứu cơ sở lý thuyết: Framework CSLA 3.5, ngôn ngữ lậptrình ASP.NET, các tài liệu, ebook, trang web có liên quan…
Công nghệ sử dụng để xây dựng đề tài: Framework CSLA 3.5,ngôn ngữ lập trình ASP.NET, Google Map API, SMS Gateway
Công cụ thiết kế website: Microsoft Visual Studio NET 2008,CodeSmith Studio, Telerik
IV Dự kiến kết quả đạt được
Xây dựng được một website cho phép người dùng có thể thực hiện việc trao đổi đồ
cũ qua mạng Cụ thể website phải thực hiện được một số chức năng sau:
Đăng ký thành viên: Cho phép người dùng tạo tài khoản để thực hiện việc
đăng và trao đổi đồ cũ
Cập nhật thông tin thành viên: Người dùng có thể thay đổi hoặc bổ sung
thêm những thông tin về tài khoản của mình sau khi đăng ký
Đổi mật khẩu: Người dùng có thể thay đổi mật khẩu lúc đăng ký thành viên
bằng một mật khẩu mới
Trang 15 Quản lý đồ cũ: Sau khi đăng ký thành viên và đăng nhập vào website,
người dùng có thể thực hiện chức năng quản lý đồ cũ Cụ thể chức năngquản lý đồ cũ bao gồm:
o Đăng đồ cũ: Người dùng sau khi đăng nhập có thể thực hiện đăng thông
tin về những đồ cũ mình đang có để có thể thực hiện trao đổi với đồ cũcủa những người khác Những thông tin cần thiết về đồ cũ mà ngườidùng phải cung cấp bao gồm:
Thể loại của đồ cũ
Tên của đồ cũ
Mô tả tình trạng sử dụng hiện tại của đồ cũ
Hình ảnh về đồ cũ (nếu có)
Thông tin về đồ cũ muốn đổi lấy (nếu có)
o Cập nhật thông tin đồ cũ: Người dùng có thể sửa đổi hoặc bổ sung
thêm những thông tin về đồ cũ đã cung cấp
o Xóa những đồ cũ đã đăng: Nếu người dùng không muốn đem đồ cũ
của mình trao đổi nữa thì có thể tiến hành xóa đồ cũ này khỏi website
Quản lý đề nghị trao đổi: Sau khi thực hiện đăng đồ cũ lên website người
dùng có thể đem những đồ cũ này để đề nghị trao đổi với đồ cũ của nhữngthành viên khác Cụ thể chức năng quản lý đề nghị trao đổi cho phép ngườidùng:
o Tạo đề nghị trao đổi đồ cũ: Người dùng có thể đề nghị người khác
thực hiện trao đổi đồ cũ với mình
o Hủy đề nghị trao đổi: Nếu người dùng muốn dừng việc trao đổi thì có
thể hủy đề nghị trao đổi của mình
o Xác nhận trao đổi: Nếu người được yêu cầu đồng ý trao đổi thì người
đề nghị trao đổi cần xác nhận để kết thúc phiên trao đổi
Quản lý yêu cầu được trao đổi: Người dùng ngoài việc đem đồ cũ của
mình để đề nghị trao đổi thì đồng thời cũng có thể nhận những đề nghị traođổi từ người khác đối với đồ cũ của mình Chức năng quản lý yêu cầu đượctrao đổi bao gồm:
o Chấp nhận trao đổi: Người được yêu cầu trao đổi nếu đồng ý với đề
nghị trao đổi thì có thể chấp nhận trao đổi
Trang 16Xây dựng Website Trao Đổi Đồ Cũ trên nền CSLA 3.5
o Từ chối trao đổi: Người được yêu cầu trao đổi nếu không đồng ý với
đề nghị trao đổi thì có thể từ chối đề nghị trao đổi này
o Báo cáo vi phạm: Người được yêu cầu nếu thấy người đề nghị vi phạm
những nội quy của website trong quá trình trao đổi cụ thể như: quảngcáo, nói tục chửi thề, đăng thông tin đồ cũ không đúng sự thật… thì cóthể báo cáo những vi phạm này cho người quản trị website
Giới thiệu trao đổi đồ cũ: Người dùng có thể giới thiệu những người khác
chưa là thành viên của website như: bạn bè, người thân… mà có nhu cầutrao đổi đồ cũ cho những thành viên khác của website nếu thấy yêu cầu traođổi phù hợp
Trang 17
I Giới thiệu công nghệ sử dụng
I.1 Ngôn ngữ ASP.NET
.NET hỗ trợ tích hợp ngôn ngữ, tức là ta có thể kế thừa các lớp, bắt các biệt lệ, đahình thông qua nhiều ngôn ngữ .NET Framework thực hiện được việc này là nhờ vàođặc tả Common Type System – CTS (hệ thống kiểu chung) mà tất cả các thànhphần Net đều tuân theo Ví dụ, mọi thứ trong Net đều là đối tượng, thừa kế từ lớpgốc System.Object
Ngoài ra NET còn bao gồm Common Language Specification – CLS (đặc tả ngônngữ chung) Nó cung cấp các quy tắc cơ bản mà một ngôn ngữ muốn tích hợp phảithoả mãn CLS chỉ ra các yêu cầu tối thiểu của ngôn ngữ hỗ trợ NET Trình biên dịchtuân theo CLS sẽ tạo các đối tượng có thể tương hợp với các đối tượng khác Bộ thưviện lớp của khung ứng dụng (Framework Class Library – FCL) có thể được dùng bởibất kỳ ngôn ngữ nào tuân theo CLS
.NET Framework nằm ở tầng trên của hệ điều hành (bất kỳ hệ điều hành nào khôngchỉ là Windows) .NET Framework bao gồm:
Bốn ngôn ngữ chính thức: C#, VB.Net, C++, và Jscript.Net
Common Language Runtime – CLR, nền tảng hướng đối tượng cho phát triểnứng dụng Windows và Web mà các ngôn ngữ có thể chia sẻ sử dụng
Bộ thư viện Framework Class Library – FCL
Trang 18Xây dựng Website Trao Đổi Đồ Cũ trên nền CSLA 3.5
Hình 1: Kiến trúc khung ứng dụng NET.
.NET Framework có hai thành phần chính: Common Language Runtime (CLR)
và thư viện lớp NET Framework Phần tiếp theo sẽ mô tả rõ hơn về 2 thành phầnnày
1 Common Language Runtime (CLR)
CLR là nền tảng của NET Framework Nó cung cấp môi trường cho ứng dụngthực thi, CLR là một máy ảo, tương tự máy ảo Java Chúng ta có thể hiểu runtimenhư là một agent quản lý mã nguồn khi nó được thực thi, cung cấp các dịch vụ cốt lõinhư: quản lý bộ nhớ, quản lý tiểu trình, và quản lý từ xa Ngoài ra nó còn thúc đẩyviệc sử dụng kiểu an toàn và các hình thức khác của việc chính xác mã nguồn, đảmbảo cho việc thực hiện được bảo mật và mạnh mẽ
Khái niệm quản lý mã nguồn là nguyên lý nền tảng của runtime Mã nguồn màđích tới runtime thì được biết như là mã nguồn được quản lý (managed code).Trong khi đó mã nguồn mà không có đích tới runtime thì được biết như mã nguồnkhông được quản lý (unmanaged code) Khả năng hoạt động qua lại giữa mã nguồnđược quản lý và mã nguồn không được quản lý cho phép người phát triển tiếp tục sửdụng những thành phần cần thiết của COM và DLL Runtime được thiết kế để cải tiếnhiệu suất thực hiện
Mặc dù CLR cung cấp nhiều các tiêu chuẩn dịch vụ runtime, nhưng mã nguồnđược quản lý không bao giờ được dịch Có một đặc tính gọi là Just-in-Time (JIT)biên dịch tất cả những mã nguồn được quản lý vào trong ngôn ngữ máy của hệthống vào lúc mà nó được thực thi Khi đó, trình quản lý bộ nhớ xóa bỏnhững phân mảnh bộ nhớ nếu có thể được và gia tăng tham chiếu bộ nhớ cục bộ, vàkết quả gia tăng hiệu quả thực thi
Trang 19Hình 2: CLR độc lập với hệ điều hành.
Tóm lại, chức năng chính của CRL gồm:
Là một công cụ thực thi mã trung gian (tựa JVM)
Phát triển ứng dụng dễ dàng
Triển khai ứng dụng nhanh
Hỗ trợ đa ngôn ngữ
Bảo đảm an toàn thực thi
Độc lập với hệ điều hành
2 Thư viện lớp (Framework Class Library – FCL)
Là một thành phần chính khác của NET Framework FCL là một tập hợp hướngđối tượng của các kiểu dữ liệu được dùng lại, nó cho phép chúng ta có thể phát triểnnhững ứng dụng từ những ứng dụng truyền thống command-line hay những ứngdụng có giao diện đồ họa (GUI) đến những ứng dụng mới nhất được cung cấp bởiASP.NET, như là WebForm và dịch vụ XML Web
Thư viện lớp NET Framework là một tập hợp những kiểu dữ liệu được dùng lại
và được kết hợp chặt chẽ với Common Language Runtime Thư viện lớp là hướngđối tượng cung cấp những kiểu dữ liệu mà mã nguồn được quản lý của chúng ta có
Trang 20Xây dựng Website Trao Đổi Đồ Cũ trên nền CSLA 3.5
dễ sử dụng mà còn làm giảm thời gian liên quan đến việc học đặc tính mới của NETFramework Thêm vào đó, các thành phần của các hãng thứ ba có thể tích hợp vớinhững lớp trong NET Framework
Cũng như mong đợi của người phát triển với thư viện lớp hướng đối tượng, kiểudữ liệu NET Framework cho phép người phát triển thiết lập nhiều mức độ thôngdụng của việc lập trình, bao gồm các nhiệm vụ như: quản lý chuỗi, thu thập hay chọnlọc dữ liệu, kết nối với cơ sở dữ liệu, và truy cập tập tin Ngoài những nhiệm vụthông dụng trên Thư viện lớp còn đưa vào những kiểu dữ liệu để hỗ trợ cho nhữngkịch bản phát triển chuyên biệt khác Ví dụ người phát triển có thể sử dụng NETFramework để phát triển những kiểu ứng dụng và dịch vụ như sau:
ASP.NET sử dụng .NET Framework, là một nền tảng ứng dụng web (web
application framework) được phát triển và cung cấp bởi Microsoft, cho phép những
người lập trình tạo ra những trang web động, những ứng dụng web và những dịch vụweb Lần đầu tiên được đưa ra thị trường vào tháng 2 năm 2002 cùng với phiên bản1.0 của .NET Framework, là công nghệ nối tiếp của Microsoft's Active Server
Pages(ASP) ASP.NET được biên dịch dưới dạng Common Language Runtime (CLR),
cho phép những người lập trình viết mã ASP.NET với bất kỳ ngôn ngữ nào được hỗtrợ bởi NET language Cụ thể hơn ASP.NET sẽ dùng các ngôn ngữ như C# hayVB.NET để soạn thảo các nguồn mã trong các trang web ở Server
ASP.NET là một kỹ thuật server-side dành cho việc thiết kế các ứng dụng web trên môi trường NET Khác với kỷ thuật client-side như HTML, JavaScript và Cascading
Style Sheets (CSS) Khi một trình duyệt web yêu cầu một trang web được tạo ra bởicác kỷ thuật client-side, web server đơn giản lấy các files mà được yêu cầu và gửichúng xuống Phía client chịu trách nhiệm hoàn toàn trong việc đọc các định dạng
trong các files này và biên dịch chúng và xuất ra màn hình thì với kỹ thuật
server-side các đoạn mã chương trình sẽ được đọc bởi Server và dùng để phát sinh ra HTML,
Trang 21JavaScript hay CSS và gửi về cho trình duyệt Chính vì việc xử lý mã xảy ra trên
server nên nó được gọi là kỹ thuật server-side.
Hình 3: Người dùng tương tác với ứng dụng web ASP.NET.
Những trang ASP.NET sẽ được biên dịch (Compiled) chứ không phải là thông dịch (Interpreted) Khác với các trang viết bằng ngôn ngữ ASP được thông dịch có nghĩa
là mỗi lần người dùng yêu cầu một trang, máy chủ sẽ đọc các đoạn mã vào bộ nhớ, xử
lý cách thức thực thi các đoạn mã và thực thi chúng Đối với ASP.NET, máy chủ chỉcần xử lý cách thức thực thi một lần duy nhất Đoạn mã sẽ được biên dịch thành cácfiles mã nhị phân cái mà được thực thi rất nhanh mà không cần phải đọc lại Chínhđiều này tạo ra bước tiến nhảy vọt về hiệu suất so với ASP
ASP.NET có khả năng toàn quyền truy xuất tới các chức năng của .NET
Framework Hỗ trợ XML (eXtensible Markup Language), Web Services, giao tiếp với
cơ sở dữ liệu, gửi email… và rất nhiều các kỹ thuật khác được tích hợp trên NET.ASP.NET cho phép phân chia các đoạn mã server-side (là các tập tin có đuôi
*.aspx.cs hoặc *.aspx.vb) và các đoạn mã HTML (là các tập tin có đuôi *.aspx) Điềunày rất thuận tiện khi phải làm việc với cả đội ngũ lập trình và thiết kế, sự tách biệtnày cho phép các lập trình viên chỉnh sửa server-side code mà không cần quan tâm gìtới đội ngũ thiết kế
I.2 Framework CSLA NET
I.2.1 Tổng quan
CSLA (Component based - Scalable - Logical - Architecture) là một framework
Trang 22Xây dựng Website Trao Đổi Đồ Cũ trên nền CSLA 3.5
tầng nghiệp vụ (Business Logic) trong các ứng dụng phần mềm rất mạnh mẽ, ổn định
và dễ dàng bảo trì CSLA có thể sử dụng được trên các nền tảng Windows, Web vàWeb Services
Hình 4: Framework CSLA.
CSLA cho phép xây dựng tầng nghiệp vụ (Business Layer) hướng đối tượng màtrong đó bao gồm cả phần nghiệp vụ và dữ liệu của chương trình Framework này hỗtrợ khả năng liên kết dữ liệu (Data Binding) một cách tự động cho cả Windows Form
và Web Form và tích hợp những cài đặt xác thực và ủy quyền trong các đối tượng.CSLA đảm bảo rằng những đối tượng ở tầng nghiệp vụ của bạn làm việc ổn định
và hiệu quả với những công nghệ làm việc trên tầng giao diện của NET hiện nay baogồm: Silverlight, WPF, Windows Phone 7, ASP.NET MVC, ASP.NET Web Forms,WCF, Asmx Services, Windows Workflow và Windows Forms
Framework này cũng cho phép bạn xây dựng các ứng dụng và quyết định triển khainhững ứng dụng đó theo mô hình 2 tầng (2-tier) hoặc mô hình 3 tầng (3-tier)client/server Nếu lựa chọn triển khai theo khai mô hình 3 tầng, bạn có thể chọn giữaWCF, NET Remoting, Web Services hoặc Enterprise Services như một giao thứcmạng Điểm quan trọng ở đây CSLA cho phép có thể chuyển đổi qua lại giữa mô hình
2 tầng và 3 tầng mà không cần phải thay đổi gì trên giao diện, các đoạn code của phầnnghiệp vụ và truy cập cơ sở dữ liệu Tất cả những gì phải làm để thực hiện việcchuyển đổi giữa 2 mô hình trên là sửa lại tập tin cấu hình trên cả client và server.Cuối cùng, CSLA NET chiếm một vị trí xác định rõ ràng trong các kiến trúc ứngdụng Nơi lấy dữ liệu ra và đặt dữ liệu vào cơ sở dữ liệu Nhưng đây chưa phải làtrọng tâm của framework này Mục đích cuối cùng của CSLA là sự linh hoạt tối đa cóthể trong cách dữ liệu được quản lý và tách riêng việc truy cập dữ liệu từ các Business
Trang 23I.2.2 Các chức năng chính của CSLA 3.5
Hỗ trợ xác nhận tính hợp lệ của dữ liệu đầu vào
(Validation).
Theo dõi sự thay đổi dữ liệu trong các đối tượng
Tích hợp quyền truy cập cho các đối tượng và các thuộc
tính trong đối tượng (Authorization).
Cung cấp khả năng làm việc với các đối tượng có quan hệcha con (parent-child relationships) rất mạnh mẽ
Có khả năng hoàn tác N-cấp
Hỗ trợ đầy đủ tính năng liên kết dữ liệu trong cả Windows
Forms và Web Forms (Data Binding).
Cho phép truy cập cơ sở dữ liệu theo phiên (Transaction) hoặc không theo phiên (Non-Transaction).
Hỗ trợ xác nhận quyền truy cập (Authentication)
I.2.3 Các Namspace trong Framework CSLA 3.5
Csla: chứa những kiểu dữ liệu phổ biến nhất được sử dụng
bởi người lập trình
Csla.Core: chứa những kiểu cung cấp cho việc xây dựng
những chức năng chính của framework và nó không dành cho người lập trình
Csla.Data: chứa các kiểu tùy chọn sử dụng để hỗ trợ các
hoạt động truy cập dữ liệu
Csla.DataPortalClient: chứa các kiểu hỗ trợ các phương
thức của DataPortal phía Client
Csla.Properties: chứa mã code tạo bởi Visual Studio cho
Csla project, không dùng cho người lập trình
Csla.Security: chứa các kiểu hỗ trợ ủy quyền.
Csla.Server: chứa các kiểu hỗ trợ các phương thức của
DataPortal phía Server
Csla.Validation: chứa các kiểu hỗ trợ xác nhận tính hợp
lệ của dữ liệu
Csla.Web: chứa các CslaDataSource control được sử
dụng cho người lập trình giao diện trên Web
Csla.Web.Design: chứa các kiểu hỗ trợ cho các
CslaDataSource control, không dành cho người lập trình
Csla.Windows: chứa các control hỗ trợ tính năng
databinding khi làm việc trên Windows Forms
Trang 24Xây dựng Website Trao Đổi Đồ Cũ trên nền CSLA 3.5
I.2.4 Các đối tượng cơ bản của CSLA 3.5
Editable root: là một đối tượng cho phép trực tiếp truy
cập và lưu xuống cơ sở dữ liệu
Editable root list: là một danh sách các đối tượng cho
phép trực tiếp truy cập và lưu xuống cơ sở dữ liệu
Editable child: là một đối tượng được sở hữu bởi một đối
tượng cha Các đối tượng Editable child không thể tự lưu trực tiếp xuống cơ sởdữ liệu mà phải thông qua cha của nó
Editable child list: là một danh sách các đối tượng Các
đối tượng trong danh sách này không có quyền lưu trực tiếp xuống cơ sở dữliệu mà được lưu phải trong quá trình đối tượng cha của nó lưu danh sách nàyxuống cơ sở dữ liệu
Read-only root: là một đối tượng chỉ cho phép truy cập
trực tiếp mà không được quyền lưu trực tiếp xuống cơ sở dữ liệu
Read-only root list: là một danh sách các đối tượng chỉ
cho phép truy cập trực tiếp mà không có quyền lưu trực tiếp xuống cơ sở dữliệu
Read-only child: là một đối tượng không có quyền truy
cập trực tiếp xuống cơ sở dữ liệu
Read-only child list: là một danh sách các đối tượng, nó
không có quyền truy cập trực tiếp xuống cơ sở dữ liệu
Name/value list: là một danh sách các đối tượng gồm có 2
thuộc tính tên và giá trị
I.2.5 Ưu điểm của Framework CSLA 3.5
Việc code trên giao diện rất đơn giản vì các nhiệm vụphứa tạp đã được xử lý trong các Business Objects
Kết hợp với các công cụ tự động tạo code như:CodeSmith, ComExpress, Bespoke Generators… làm cho việc lập trình tiếtkiệm được rất nhiều thời gian
Hoạt động ổn định
Tính bảo mật cao
I.2.6 Nhược điểm của Framework CSLA 3.5
Không thể tách riêng tầng Business (BLL) ra khỏi tầngtruy cập cơ sở dữ liệu ( DAL)
Việc kết hợp phần nghiệp vụ và dữ liệu của chương trìnhlàm cho việc cài đặt các Business Object trở nên khá phức tạp
Trang 25II Vấn đề trao đổi đồ cũ
Hoạt động trao đổi đồ cũ qua website cũng như hoạt động trao đổi đồ cũ trên thực
tế là hình thức chuyển qua lại cho nhau những vật dụng có giá trị tương đương nào đó.Những đồ cũ có thể đem trao đổi qua website bao gồm: băng đĩa, vật dụng gia đình,
đồ dùng điện tử, dụng cụ học tập, sách báo…
Việc trao đổi đồ cũ diễn ra khi có sự thống nhất giữa 2 bên trao đổi: về thời giantiến hành trao đổi, địa điểm trao đổi, hình thức trao đổi và sự nhất trí về những vậtdụng đem trao đổi
Người đề nghị trao đổi có thể đề nghị nếu muốn trao đổi hoặc hủy đề nghị trao đổicủa mình nếu không muốn tiếp tục trao đổi
Người được đề nghị trao đổi có quyền đồng ý hoặc từ chối lời đề nghị trao đổi.Trong quá trình trao đổi nếu người được đề nghị trao đổi thấy giá trị của những đồ cũkhông tương đương có thể yêu cầu người đề nghị trao đổi bổ sung thêm đồ cũ hoặcbù thêm tiền
Ngoài ra việc trao đổi đồ cũ qua website còn yêu cầu những người tham gia traođổi tuân thủ một số điều lệ sau:
Mô tả chính xác về đồ cũ mình đang sở hữu
Không vi phạm các nội quy của website như: không nói tục chửi thề trongquá trình trao đổi, không quảng cáo, tuyên truyền những nội dung không lànhmạnh, phản động…
Trang 26CHƯƠNG 2
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
I Phân tích hệ thống
Hệ thống gồm các chức năng :
Quản lý thông tin thành viên
Quản lý đồ cũ
Quản lý trao đổi đồ cũ
Giới thiệu trao đổi đồ cũ
Tìm kiếm
Hình 5: Sơ đồ use-case chức năng hệ thống.
Trang 27đồ cũ của mình với người khác.
Người dùng sau khi đăng đồ cũ của mình thì có thể tiến hành trao đổi đồ cũ.Hoạt động trao đổi đồ cũ bao gồm: lấy đồ cũ của mình để đề nghị trao đổivới đồ cũ của những người khác mà mình đang quan tâm hoặc có thể nhậnyêu cầu muốn được trao đổi từ những người khác
Trang 28Xây dựng Website Trao Đổi Đồ Cũ trên nền CSLA 3.5
I.2 Use-case quản lý thông tin thành viên
Chức năng quản lý thông tin thành viên bao gồm:
Đăng ký thành viên
Cập nhật thông tin thành viên
Đổi mật khẩu
Hình 7: Sơ đồ use-case chức năng "Quản lý thông tin thành viên".
I.3 Use-case quản lý đồ cũ
Chức năng quản lý đồ cũ bao gồm:
Thêm đồ cũ
Cập nhật thông tin đồ cũ đã đăng
Xóa đồ cũ
Trang 29Hình 8: Sơ đồ use-case “Quản lý đồ cũ”.
I.4 Use-case quản lý trao đổi
Chức năng quản lý trao đổi bao gồm:
Quản lý những đề nghị trao đổi của mình với người khác
Quản lý những yêu cầu trao đổi của người khác đối với mình
Hình 9: Sơ đồ use-case “Quản lý trao đổi”.
Trang 30Xây dựng Website Trao Đổi Đồ Cũ trên nền CSLA 3.5
I.4.1 Quản lý đề nghị trao đổi
Chức năng quản lý đề nghị trao đổi bao gồm:
Tạo đề nghị trao đổi
Sửa đề nghị trao đổi
Hủy đề nghị trao đổi
Xác nhận trao đổi
Hình 10: Sơ đồ use-case “Quản lý đề nghị trao đổi”.
I.4.2 Use-case Quản lý yêu cầu được trao đổi
Chức năng quản lý yêu cầu được trao đổi bao gồm:
Xác nhận trao đổi
Từ chối trao đổi
Báo cáo vi phạm
Trang 31Hình 11: Sơ đồ use-case "Quản lý yêu cầu được trao đổi”.
Trang 32Xây dựng Website Trao Đổi Đồ Cũ trên nền CSLA 3.5
II Sơ đồ hoạt động của hệ thống
II.1 Quản lý thông tin thành viên
II.1.1 Đăng ký thành viên
Sơ đồ hoạt động của chức năng đăng ký thành viên:
Hình 12: Sơ đồ hoạt động của chức năng "Đăng ký thành viên".
Trang 33II.1.2 Đăng nhập
Sơ đồ hoạt động của chức năng đăng nhập:
Hình 13: Sơ đồ hoạt động của chức năng "Đăng nhập".
Trang 34Xây dựng Website Trao Đổi Đồ Cũ trên nền CSLA 3.5
II.1.3 Cập nhật thông tin thành viên
Sơ đồ hoạt động của chức năng cập nhật thông tin thành viên:
Hình 14: Sơ đồ hoạt động của chức năng "Cập nhật thông tin thành viên".
Trang 35II.1.4 Đổi mật khẩu
Sơ đồ hoạt động của chức năng đổi mật khẩu:
Trang 36Xây dựng Website Trao Đổi Đồ Cũ trên nền CSLA 3.5
II.2 Quản lý đồ cũ
II.2.1 Đăng đồ cũ
Sơ đồ hoạt động của chức năng đăng đồ cũ:
Hình 16: Sơ đồ hoạt động của chức năng "Đăng đồ cũ".
Trang 37II.2.2 Cập nhật đồ cũ
Sơ đồ hoạt động của chức năng cập nhật đồ cũ:
Hình 17: Sơ đồ hoạt động của chức năng "Cập nhật đồ cũ".
Trang 38Xây dựng Website Trao Đổi Đồ Cũ trên nền CSLA 3.5
II.2.3 Xóa đồ cũ
Sơ đồ hoạt động của chức năng xóa đồ cũ:
Hình 18: Sơ đồ hoạt động của chức năng "Xóa đồ cũ".
Trang 39II.3 Quản lý đề nghị trao đổi
II.3.1 Tạo đề nghị trao đổi
Sơ đồ hoạt động của chức năng tạo đề nghị trao đổi:
Hình 19: Sơ đồ hoạt động của chức năng "Tạo đề nghị trao đổi".
Trang 40Xây dựng Website Trao Đổi Đồ Cũ trên nền CSLA 3.5
II.3.2 Sửa đề nghị trao đổi
Sơ đồ hoạt động của chức năng sửa đề nghị trao đổi:
Hình 20: Sơ đồ hoạt động của chức năng "Sửa đề nghị trao đổi".