Thế giới ngày nay đã có nhiều tiến bộ mạnh mẽ về công nghệ thông tin từ một tiềm năng thông tin đã trở thành một tài nguyên thực sự, trở thành sản phẩm hàng hoá trong xã hội, tạo ra một sự thay đổi to lớn trong lực lượng sản xuất, cơ sở hạ tầng, cấu trúc kinh tế, tính chất lao động và cả cách thức quản lý trong các lĩnh vực của xã hội. Sự phát triển của Internet được xem là một trong những thành tựu khoa học kỹ thuật vĩ đại trong lịch sử loài người và là nguồn tài nguyên thông tin lớn nhất, đa dạng nhất của thế giới hiện nay. Internet giúp mọi người có thể trao đổi thông tin trong sinh hoạt hàng ngày, thu thập, tìm kiếm các thông tin mới nhất ở khắp mọi nơi trên toàn thế giới, giao dịch thương mại, cộng tác trong nghiên cứu khoa học…Vì vậy, trên con đường công nghiệp hóa, hiện đại hóa đất nước ta hiện nay, việc đưa Internet đến mọi người là một xu thế tất yếu. Vấn đề đặt ra là làm sao cho Internet thực sự phục vụ cho con người một cách có hiệu quả trên mọi lĩnh vực. Xu thế thương mại điện tử hóa việc quản lý kinh doanh là xu thế rất cần thiết đối với mọi quốc gia bởi những ưu điểm vượt trội và những thành quả to lớn của việc ứng dụng thương mại điện tử mang lại hiệu quả kinh tế to lớn trong quản lý kinh doanh và trong nhiều lĩnh vực khác. Điều này có nghĩa là việc xây dựng các hệ thống hỗ trợ quản lý kinh doanh trên mạng là điều không thể không làm, trong đó có hệ thống quản lý việc mua và bán sách trong các nhà sách. Hệ thống quản lý sách của một nhà sách trên mạng sẽ giúp tất cả mọi người dùng Internet đều có thể ngồi trước máy tính của mình truy cập vào hệ thống của nhà sách để xem, tìm kiếm thông tin một cách trực quan và có thể mua sách mà không phải đến cửa hàng sách. Vì những yêu cầu thực tế trên nên việc xây dựng một hệ thống quản lý nhập sách, bán sách, tính doanh thu, tính tồn kho,… là việc không thể thiếu trong nhà sách, nên đề tài: “Xây dựng hệ thống quản lý việc mua và bán sách ở nhà sách Khai Trí” với mục đích xây dựng một môi trường kinh doanh điện tử cho nhà sách, đồng thời tìm hiểu và nghiên cứu các phương pháp luận và công cụ cho thiết kế và xây dựng Website thương mại điện tử. Hệ thống này giúp bất kỳ ai truy nhập vào Website đều có thể xem, tra cứu, đăng ký mua sách một cách nhanh chóng, an toàn mà không phải trực tiếp đến nhà sách. Ngoài ra khách hàng có thể gửi thư liên hệ hay góp ý tới nhà sách.
Trang 1LỜI MỞ ĐẦU
Thế giới ngày nay đã có nhiều tiến bộ mạnh mẽ về công nghệ thông tin từ mộttiềm năng thông tin đã trở thành một tài nguyên thực sự, trở thành sản phẩm hàng hoátrong xã hội, tạo ra một sự thay đổi to lớn trong lực lượng sản xuất, cơ sở hạ tầng, cấutrúc kinh tế, tính chất lao động và cả cách thức quản lý trong các lĩnh vực của xã hội
Sự phát triển của Internet được xem là một trong những thành tựu khoa học kỹthuật vĩ đại trong lịch sử loài người và là nguồn tài nguyên thông tin lớn nhất, đa dạngnhất của thế giới hiện nay Internet giúp mọi người có thể trao đổi thông tin trong sinhhoạt hàng ngày, thu thập, tìm kiếm các thông tin mới nhất ở khắp mọi nơi trên toànthế giới, giao dịch thương mại, cộng tác trong nghiên cứu khoa học…Vì vậy, trên conđường công nghiệp hóa, hiện đại hóa đất nước ta hiện nay, việc đưa Internet đến mọingười là một xu thế tất yếu Vấn đề đặt ra là làm sao cho Internet thực sự phục vụ chocon người một cách có hiệu quả trên mọi lĩnh vực
Xu thế thương mại điện tử hóa việc quản lý kinh doanh là xu thế rất cần thiếtđối với mọi quốc gia bởi những ưu điểm vượt trội và những thành quả to lớn của việcứng dụng thương mại điện tử mang lại hiệu quả kinh tế to lớn trong quản lý kinhdoanh và trong nhiều lĩnh vực khác Điều này có nghĩa là việc xây dựng các hệ thống
hỗ trợ quản lý kinh doanh trên mạng là điều không thể không làm, trong đó có hệthống quản lý việc mua và bán sách trong các nhà sách Hệ thống quản lý sách củamột nhà sách trên mạng sẽ giúp tất cả mọi người dùng Internet đều có thể ngồi trướcmáy tính của mình truy cập vào hệ thống của nhà sách để xem, tìm kiếm thông tin mộtcách trực quan và có thể mua sách mà không phải đến cửa hàng sách
Vì những yêu cầu thực tế trên nên việc xây dựng một hệ thống quản lý nhậpsách, bán sách, tính doanh thu, tính tồn kho,… là việc không thể thiếu trong nhà sách,
nên đề tài: “Xây dựng hệ thống quản lý việc mua và bán sách ở nhà sách Khai Trí”
với mục đích xây dựng một môi trường kinh doanh điện tử cho nhà sách, đồng thờitìm hiểu và nghiên cứu các phương pháp luận và công cụ cho thiết kế và xây dựngWebsite thương mại điện tử Hệ thống này giúp bất kỳ ai truy nhập vào Website đều
có thể xem, tra cứu, đăng ký mua sách một cách nhanh chóng, an toàn mà không phảitrực tiếp đến nhà sách Ngoài ra khách hàng có thể gửi thư liên hệ hay góp ý tới nhàsách
Trang 2LỜI CẢM ƠN
Xin chân thành cảm ơn Ban Giám Hiệu trường Đại học Trà Vinh cùng toàn thểQuý Thầy/Cô Khoa Kỹ thuật và Công nghệ đã tạo điều kiện thuận lợi để chúng tôi cómột môi trường học tập thật tốt, cung cấp cho chúng tôi những kiến thức quý báu đểtạo nền tảng cho việc học tập và làm việc sau này
Tôi cũng xin chân thành cảm ơn Quý Thầy/Cô ở Bộ môn Công nghệ Thông tintrường Đại học Trà Vinh đã dạy cho tôi những môn học, cung cấp những kiến thứccăn bản cần thiết để tôi có thể thực hiện được khóa luận tốt nghiệp lần này
Tôi xin chân thành cảm ơn thầy Phạm Minh Đương là giáo viên hướng dẫnthực hiện khóa luận đã nhiệt tình truyền đạt kiến thức, cung cấp những tài liệu cầnthiết, giảng giải những chi tiết khó hiểu và hướng dẫn tôi trong suốt thời gian thựchiện khóa luận tốt nghiệp vừa qua
Bên cạnh đó, tôi cũng xin cảm ơn gia đình và những người thân đã nuôi nấng
và dạy dỗ tôi trong thời gian qua
Ngoài ra, tôi cũng xin chân thành cảm ơn tất cả bạn bè đã chia sẻ và giúp đỡ tôitrong quá trình học tập tại trường cũng như trong những sinh hoạt ngoài xã hội, sưutập các tài liệu, góp ý các chi tiết cần thiết trong việc thực hiện khóa luận và giúp đỡsửa chữa các sai sót trong khóa luận
Trong quá trình thực hiện khóa luận có rất nhiều khó khăn và trở ngại cũng nhờ
sự giúp đỡ tân tình của Quý Thầy/Cô và bè bạn cuối cùng đề tài khóa luận của tôicũng hoàn thành
Một điều mà tôi học được trong quá trình thực hiện khóa luận tốt nghiệp khôngchỉ là sự thành công của bài khóa luận tốt nghiệp mà còn là con đường khoa học đangchờ đón tôi phía trước
Tôi xin chân thành cảm ơn!!!
Sinh viên
Trần Văn Đặng Em
Trang 3NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trà Vinh, ngày … tháng … năm 2012
Chữ ký của giáo viên
Phạm Minh Đương
Trang 4NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Trà Vinh, ngày…… tháng…… năm 2012
Chữ ký của giáo viên
Đoàn Phước Miền
Trang 5MỤC LỤC
Chương 1: ĐẶT VẤN ĐỀ 1
1.1 Lý do chọn đề tài 1
1.2 Hiện trạng nghiên cứu 2
1.3 Hướng giải quyết 3
1.4 Mục tiêu đề tài 4
1.5 Cấu trúc khóa luận 4
Chương 2: CƠ SỞ LÝ THUYẾT 5
2.1 Giới thiệu ngôn ngữ ASP.NET 5
2.1.1 ASP.NET là gì? 5
2.1.2 ASP.NET là công nghệ hướng đối tượng (ASP.NET is Object-Oriented) 5
2.1.3 Quy trình biên dịch Code NET 5
2.1.4 ASP.NET AJAX 6
2.1.5 Tích hợp LINQ 6
2.1.6 Mô hình MVC 6
2.1.7 Công cụ phát triển 7
2.2 Hệ quản trị cơ sở dữ liệu MS SQL Server 2000 7
2.2.1 Ngôn ngữ truy vấn Cơ sở dữ liệu SQL 9
2.2.1.1 Câu lệnh chèn dữ liệu vào một bảng 10
2.2.1.2 Câu lệnh chỉnh sửa dữ liệu trong bảng 10
2.2.1.3 Câu lệnh xóa dữ liệu trong bảng 11
2.2.1.4 Câu lệnh truy vấn (tìm kiếm) dữ liệu trong bảng 11
2.3 Tổng quan công nghệ phần mềm 11
2.3.1 Khái niệm 11
2.3.2 Lịch sử công nghệ phần mềm 11
2.3.3 Thuộc tính của sản phẩm phần mềm 12
Trang 62.3.4 Các bước xây dựng phần mềm 13
2.3.5 Các giai đoạn của chu trình phát triển phần mềm 13
2.4 Tổng quan phân tích thiết kế hệ thống thông tin 13
2.4.1 Vòng đời của hệ thông tin [3] 13
2.4.2 Phương pháp phân tích và thiết kế hệ thống [4] 14
2.4.3 Các phương pháp phân tích và thiết kế hệ thống 15
2.4.3.1 Sự trừu tượng hoá (Trừu xuất - Abstraction) 15
2.4.3.2 Phân tích từ trên xuống 16
2.4.3.3 Sử dụng mô hình công cụ biểu diễn có tăng cường hình vẽ 16
2.4.4 Các giai đoạn phân tích và thiết kế hệ thống 16
Chương 3: PHÂN TÍCH – THIẾT KẾ HỆ THỐNG 18
3.1 Yêu cầu chức năng 18
3.1.1 Yêu cầu lưu trữ 18
3.1.2 Yêu cầu tra cứu 18
3.1.3 Yêu cầu tính toán 18
3.1.4 Yêu cầu kết xuất 19
3.2 Yêu cầu phi chức năng: 19
3.3 Thiết kế dữ liệu 20
3.3.1 Mô hình thực thể kết hợp (ERD) 20
3.3.1.1 Mô hình 20
3.3.1.2 Danh sách các thực thể 21
3.3.1.3 Danh sách các mối kết hợp 21
3.3.1.4 Bảng mô tả các thực thể, mối kết hợp 22
3.3.2 Mô hình vật lý 25
3.3.2.1 Lược đồ cơ sở dữ liệu 25
3.3.2.2 Danh sách các bảng 26
Trang 73.3.2.3 Mô tả chi tiết các bảng 27
3.3.3 Ràng buộc toàn vẹn 32
3.3.3.1 Ràng buộc toàn vẹn có bối cảnh là một quan hệ 32
3.3.3.2 Ràng buộc toàn vẹn có bối cảnh là nhiều quan hệ 36
3.4 Thiết kế xử lý 39
3.4.1 Mô hình xử lý 39
3.4.2 Thủ tục kết nối với cơ sở dữ liệu 44
3.5 Thiết kế giao diện 45
3.5.1 Thiết kế hệ thống thực đơn 45
3.5.1.1 Thực đơn chính 45
3.5.1.2 Thực đơn ngữ cảnh 45
3.5.2 Thiết kế màn hình 50
3.5.2.1 Danh mục các màn hình 50
3.5.2.2 Mô tả chi tiết từng màn hình 54
Chương 4: CÀI ĐẶT- THỬ NGHIỆM 61
4.1 Các bước chuẩn bị 61
4.2 Dữ liệu thử nghiệm 61
4.3 Một số kết quả thử nghiệm 62
Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 67
5.1 Kết luận 67
5.1.1 Kết quả đạt được 67
5.1.2 Hạn chế 67
5.2 Hướng phát triển 67
TÀI LIỆU THAM KHẢO 68
Trang 8MỤC LỤC HÌNH
Hình 1 Mô hình ERD 20
Hình 2: Mối kết hợp nhập 22
Hình 3: Mối kết hợp chứa 22
Hình 4: Mối kết hợp nhập sách 22
Hình 5: Mối kết hợp bán 22
Hình 6: Mối kết hợp xử lý 23
Hình 7: Mối kết hợp quyền NV 23
Hình 8: Mối kết hợp quyền KH 23
Hình 9: Mối kết hợp đặt mua 23
Hình 10: Mối kết hợp chọn 24
Hình 11: Mối kết hợp NhapSachCT 24
Hình 12: Mối kết hợp BanSachCT 24
Hình 13: Mối kết hợp DatHangCT 24
Hình 14: Mô hình MLD 25
Hình 15: Hình bảng loại sách 27
Hình 16: Hình bảng thanh toán 27
Hình 17: Hình bảng quyền 27
Hình 18: Hình bảng sách 28
Hình 19: Hình bảng khách hàng 28
Hình 20: Hình bảng chi tiết đặt hàng 29
Hình 21: Hình bảng đặt hàng 29
Hình 22: Hình bảng nhân viên 29
Hình 23: Hình bản nhập sách 30
Hình 24: Hình chi tiết nhập sách 30
Hình 25: Hình bảng nhà cung cấp 30
Hình 26: Hình bảng bán sách 30
Trang 9Hình 27: Hình chi tiết bán sách 31
Hình 28: Hình bảng nhà xuất bản 31
Hình 29: Hình bảng liên hệ 31
Hình 30: Mô hình xử lý dữ liệu cấp 0 39
Hình 31 Mô hình xử lý dữ liệu cấp 1 40
Hình 32: Giao diện thực đơn chính của website nhà sách 45
Hình 33: Giao diện thực đơn tìm kiếm 45
Hình 34: Giao diện danh mục sách 46
Hình 35: Giao diện danh mục hệ thống dùng cho nhân viên 48
Hình 36: Giao diện danh mục hệ thống dùng cho quản trị website 49
Hình 37: Giao diện trang chủ của website nhà sách Khai Trí 54
Hình 38: Giao diện trang đăng ký 55
Hình 39: Giao diện trang liên hệ 56
Hình 40: Giao diện trang xem giỏ hàng 57
Hình 41: Giao diện hóa đơn đặt mua sách của khách hàng 58
Hình 42: Giao diện trang quản lý nhập sách 59
Hình 43: Giao diện trang quản lý bán sách 60
Hình 44: Quá trình thực hiện bán sách 63
Hình 45: In hóa đơn bán sách cho khách hàng 64
Hình 46: Quá trình thực hiện nhập sách 65
Hình 47: In phiếu nhập sách 66
Trang 10MỤC LỤC BẢNG
Bảng 1: Danh sách các thực thể 21
Bảng 2: Danh sách các đối tượng 21
Bảng 3: Danh sách các bảng 26
Bảng 4: Chức năng thực đơn chính của website nhà sách 45
Bảng 5: Chức năng thực đơn tìm kiếm 46
Bảng 6: Chức năng thực đơn danh mục sách 47
Bảng 7: Chức năng thực đơn danh mục hệ thống dành cho nhân viên 49
Bảng 8: Chức năng thực đơn danh mục hệ thống dùng cho quản trị website 50
Bảng 9: Danh mục các màn hình 53
Bảng 10: Bảng dữ liệu thử nghiệm 61
Bảng 11: Bảng một số kết quả thử nghiệm 62
Trang 11Chương 1: ĐẶT VẤN ĐỀ
1.1 Lý do chọn đề tài
Ngày nay những thành tựu, những đổi mới trong công nghệ, trong quản lý kinhdoanh, trong lĩnh vực giáo dục… đều có sự góp phần quan trọng của tin học Vai tròcủa tin học rất to lớn, đa dạng, vô tận… bởi vậy khi loài người đang bước vào thời kỳcông nghiệp hoá, hiện đại hoá, tin học đã thực sự trở thành một ngành khoa học côngnghệ mũi nhọn
Trong nền sản xuất hiện đại cùng với các công nghệ khoa học khác tin học đãtrở thành lực lượng sản xuất trực tiếp, công cụ khám phá, khai thác và phục vụ rấthiệu quả trong các lĩnh vực sản xuất, đời sống xã hội…
Trong hoạt động sản xuất kinh doanh như hiện nay việc tin học hoá trong cáchoạt động mua bán hàng là rất cần thiện Một doanh nghiệp muốn phát triển khả năngtiệp cận thông tin, thị trường…và khả năng đáp ứng nhu cầu của khách hàng cũng nhưcủa đối tác một cách hiệu quả nhất thì không thể thiếu một hệ thống thông tin hỗ trợ
Hoà cùng với nhịp độ phát triển của Internet thương mại điện tử cũng ngày mộtphát triển ở Việt Nam nói riêng và trên thế giới nói chung, nó đóng một vai trò khôngnhỏ trong viêc quyết định sự thành công hay thất bại của một doanh nghiệp Hầu hếtcác doanh nghiệp ngày nay đều có một trang web riêng của mình trên mạng nhằm giớithiệu tới người tiêu dùng về doanh nghiệp của mình cũng nhu về những mặt hàng màminh kinh doanh Tuỳ thuộc vào quy mô và đặc thù của mỗi ngành nghề kinh doanhcủa từng công ty, ứng dụng thương mại điện tử sẽ có một số những chức năng khácnhau
Xuất phát từ nhu cầu thực tế đó, trong công việc quản lý nhập sách, bán sách,tính doanh thu, tồn kho,… là một việc không thể thiếu của một nhà sách với hình thứckinh doanh trên thương mại điện tử Em quyết định chọn đề tài khóa luận tốt nghiệp
của mình là: “Xây dựng hệ thống quản lý việc mua và bán sách ở nhà sách Khai Trí” để thực hiện khóa luận tốt nghiệp đại học của mình Bên cạnh đó nhằm giúp cho
bản thân củng cố lại những kiến thức đã học tại trường và vận dụng tất cả những kiếnthức đó vào đề tài khóa luận tốt nghiệp này
Trang 121.2 Hiện trạng nghiên cứu
Nhà sách Khai Trí là một trong những nhà sách lớn của Thành phố Trà Vinh
Hệ thống bán sách hiện nay của nhà sách được tổ chức kinh doanh theo phương thứctruyền thống gồm các qui trình cơ bản sau:
Nhập sách từ các nhà cung cấp: Lập đơn đặt mua, gửi đơnđặt mua, nhận sách từ nhà cung cấp, lưu sách vào kho, thanh toán, quảng cáo
và trưng bày sách mới
Bán sách: Trưng bày sách lên các kệ sách theo từng thể loại
Qui trình đăng ký mua sách hay ký kết: Được thực hiện khi có sự tiếp xúc trựctiếp giữa hai bên hoặc qua điện thoại
Thanh toán khi khách hàng đến mua sách tại nhà sách chủ yếu theo phươngthức truyền thống là: Bằng tiền mặt
Chính phương thức kinh doanh này đã trực tiếp dẫn đến những khó khăn sau:
Nhà sách phải tốn một diện tích rất lớn cho việc trưng bày sách
Khi khách hàng có nhu cầu mua sách thì thường họ phải mất rất nhiều thời gian
để tìm kiếm sách
Khi một cuốn sách mới được xuất bản thì thời gian mà nó sẽ đến được với bạnđọc thường khá lâu và phải qua các phương tiện quảng cáo đắt tiền như ti vi,báo chí…
Rất khó để khách hàng biết được nội dung cơ bản của cuốn sách
Không khai thác được tiềm năng to lớn về nhu cầu mua sách của khách hàng vì
có không ít khách hàng muốn mua sách nhưng họ không có điều kiện đến cửahàng (ví dụ như địa điểm, khoảng cách, những người tàn tật )
Việc quảng cáo sách của nhà sách gặp nhiều khó khăn và tốn kém
Trang 131.3 Hướng giải quyết
Áp dụng các giai đoạn của quy trình xây dựng phần mềm như: Nghiên cứu sơ
bộ, phân tích yêu cầu, thiết kế hệ thống, xây dựng phần mềm, thử nghiệm hệ thống,thực hiện, triển khai, bảo trì, nâng cấp
Một hệ thống quản lý việc mua và bán sách của nhà sách sẽ giúp cho nhà sáchgiải quyết được các khó khăn trên và điều quan trọng là đáp ứng được nhu cầu củađông đảo khách hàng có nhu cầu tra cứu sách, đặt mua sách, và đây cũng chính làphương tiện quảng cáo sách cho cửa hàng tốt nhất, rẻ nhất và hiệu quả nhất Điều nàycũng đồng nghĩa với việc doanh thu của nhà sách sẽ tăng lên Với hệ thống này, nhàsách cũng tạo được phương tiện để thu thập ý kiến từ phía khách hàng để giải quyếtcác sự cố cũng như cải thiện khả năng phục vụ khách hàng
Hệ thống phải đáp ứng các yêu cầu sau:
Chức năng bán sách và nhập sách tại nhà sách
Khách hàng có thể xem, đặt mua bất cứ cuốn sách nào trong kho khi truy cậpvào website của nhà sách
Đơn đặt hàng, thư hỏi đáp kiến nghị của khách hàng phải được bảo mật
Kiểm tra độ tin cậy của khách hàng phải thông qua những thông tin do kháchhàng đăng ký và dựa vào địa chỉ giao nhận sách, sau đó liên hệ qua email hoặcqua điện thoại
Tác nhân của hệ thống bao gồm:
Nhân viên: Là những người sử dụng hệ thống để tra cứu sách, thanh toán khikhách hàng mua sách, nhập sách, báo cáo tồn kho, tính doanh thu của nhà sách
Khách hàng: Là những người trực tiếp sử dụng hệ thống để tra cứu sách vàđặt mua sách qua mạng
Người quản trị: Là người quản lý hoạt động của hệ thống bán sách
Trang 141.4 Mục tiêu đề tài
Xây dựng hệ thống quản lý việc mua và bán sách ở nhà sách Khai Trí nhằmgiúp cho việc mua bán diễn ra nhanh chóng, tiện lợi Đồng thời một website đặt muasách qua mạng nhằm giới thiệu sách của nhà sách với khách hàng Khách hàng có thểxem, tìm kiếm các thông tin về sách một cách trực quan và có thể đặt mua các loạisách trên mạng mà không cần phải trực tiếp đến cửa hàng bán sách Sách của nhà sáchphải được phân loại theo chuẩn phân loại giúp khách hàng có thể tra cứu một cách tiệnlợi Hệ thống phải có hai địa chỉ truy cập riêng, một địa chỉ cho khách hàng và một địachỉ cho nhân viên của nhà sách quản lý dữ liệu hệ thống: cập nhật sách, nhân viên,khách hàng, nhà cung cấp, theo dõi các đơn hàng và trả lời thư góp ý của khách hàng
1.5 Cấu trúc khóa luận
Cấu trúc của khóa luận gồm 5 chương:
Chương 1: Giới thiệu.
Chương 2: Cơ sở lý thuyết.
Chương 3: Phân tích thiết kế hệ thống.
Chương 4: Cài đặt và thử nghiệm.
Chương 5: Kết luận và hướng phát triển.
Trang 15Chương 2: CƠ SỞ LÝ THUYẾT
2.1 Giới thiệu ngôn ngữ ASP.NET
2.1.2 ASP.NET là công nghệ hướng đối tượng (ASP.NET is Object-Oriented)
Khi nói đến ASP.NET thì phải nghĩ ngay rằng mọi thứ đều là đối tượng, tất cảđều được lưu trữ dưới dạng lớp Mọi biến, thuộc tính, phương thức đều là thành phầncủa các đối tượng Không có khái niệm biến tự do Cũng nhờ vào tính hướng đốitượng nên ứng dụng ASP.NET có tính đóng gói, chặt chẽ cao, các đối tượng làm việcđộc lập, dễ dàng trong việc kiểm soát ngoại lệ
2.1.3 Quy trình biên dịch Code NET
Một ứng dụng ASP để có thể thực thi cần trải qua 2 giai đoạn biên dịch:
Giai đoạn đầu: Các ngôn ngữ NET (Csharp, VB.NET…) sẽ được MSIL(Microsoft Intermediate Language) biên dịch thành mã IL Với mỗi loại ngôn ngữ ngữkhác nhau sẽ có công cụ biên dịch tương ứng, tất cả đều được đưa về 1 loại mã là IL
Giai đoạn hai: Mã IL được biên dịch thành mã máy để thực thi Mã máy(Native Machine Code) là loại mã duy nhất máy tính có thể trực tiếp hiểu được
Ứng dụng ASP.Net nói riêng và ứng dụng NET nói chung sau khi biên dịchđều có thể chạy trên mọi máy tính có cài đặt NET Framework (Tương tự máy ảotrong Java – JVM) Để triển khai ứng dụng ASP.NET chúng ta chỉ cần sao chép cáctập tin vào thư mục ảo trên máy chủ (server) và máy chỉ chỉ cần có NET Framework.Việc cấu hình dễ dàng đơn giản không phụ thuộc vào IIS (Internet InformationServices) Cấu hình trong ASP.NET được đặt trong tệp web.config Tệp web.configđược để cùng với thư mực chứa trang web của chúng ta Tệp web.config không bao
Trang 16giờ bị khóa, chúng ta có thể truy cập bất kỳ lúc nào, việc sửa tệp này hoàn toàn dễdạng vì chúng được lưu dưới dạng XML.
2.1.4 ASP.NET AJAX
Từ phiên bản ASP.NET 3.5 AJAX được thêm vào như một thành phần bêntrong (phiên bản ASP.NET hiện tại là 4.0) ASP.NET AJAX Control Extenders đượctích hợp vào ToolBox của Visual 2008 trở về sau, giúp cho việc xây dựng controlđược dễ dàng và nhanh chóng hơn Các control cũng được tích hợp một số tính năng
hỗ trợ cho việc xử lý linh hoạt hơn
2.1.5 Tích hợp LINQ
LINQ là ngôn ngữ truy vấn dữ liệu từ database trực tiếp từ ngôn ngữ lập trìnhnhư Csharp, VB.NET, LINQ cung cấp khả năng truy vấn dữ liệu đơn giản, cú pháp tựnhiên với khả năng truy xuất mạnh mẽ LINQ có thể thao tác trực tiếp lên nhiều kiểu
dữ liệu khác nhau như Collection, XML, SQL…
Một số Assembly được hỗ trợ từ phiên bản 3.5
System.Core.dll: Các implementation cho LINQ to Objects
System.Data.Linq.dll: Các implementation cho LINQ to SQL
System.Xml.Linq.dll: Các implementation cho LINQ to XML
System.Data.DataSetExtensions.dll: Các the implementation cho LINQ toDataSet
System.Web.Extensions.dll: Các implementation for ASP.NET AJAX
2.1.6 Mô hình MVC
Đây là mô hình lập trình web, trong đó ứng dụng được chia thành 3 phần riêngbiệt có quan hệ độc lập, tương tác chặt chẽ với nhau Với MVC ứng dụng sẽ đượcchuyên hóa thành 3 mảng chuyên biệt, đẩy mạnh tính chuyên môn của mỗi phần:
Model: Bộ phận thực thi các tác vụ Logic, xử lý mọi hoạt động bên trong từ
yêu cầu nhận của máy khách Đảm nhiệm việc truy xuất, xử lý và lưu trữ dữ liệu
View: Là những gì người dùng thấy trên trình duyệt… View chuyên bên
mảng thiết kế giao diện người dùng
Trang 17 Control: Là bộ phận trung gian giữa Model và View, Control đóng vai trò
cầu nối Truyền tải dữ liệu, trả về kết quả cho người dùng, hay nói cách khác là vẽ lêngiao diện của trang web ở trên Clent
Với mô hình MVC đã tách biệt hoàn toàn vai trò của người thiết kế (design) vàngười lập trình (coding) Sau khi thiết kế ra giao diện trang web, sẽ bàn giao cho bộphận lập trình… Công việc đẩy mạnh tính chuyên môn, như vậy mỗi bên chỉ thực hiệncông việc của mình
2.1.7 Công cụ phát triển
Dùng Visual Studio cho việc thiết kế và lập trình ASP.NET, ngoài ra có thể bộcông cụ Expression Studio hỗ trợ chuyên dụng cho việc lập trình giao diện cho cácứng dụng NET Trong Expression Blend hỗ trợ mạnh mẽ về các control cũng như cáctính năng kèm theo để cho việc thiết kế giao diện dễ hơn bao giờ hết.[6]
2.2 Hệ quản trị cơ sở dữ liệu MS SQL Server 2000
SQL Server là một hệ thống quản lý cơ sở dữ liệu lớn hơn là một cơ sở dữ liệuđơn độc Nó hầu như được truy xuất qua bất kỳ kiểu kết nối mạng nào gồm cảTCP/IP
Tuy nhiên, bằng cách sử dụng tính năng nhân bản, bạn có thể liên kết nhiềuSQL Server lại với nhau để tăng số lượng kết nối đồng thời từ client lên đến bất kỳ giátrị nào bạn muốn
SQL Server có thể được sử dụng để tạo các stored procedure có nhận các tham
số và thực thi nhiều tác vụ Các thủ tục lưu trữ (store procedure) được lưu vào bộ nhớcache sẽ gia tăng quá trình thực thi Nói chung, SQL Server sẽ đưa ra kết quả nhanhhơn Access và nó có thể được cấu hình để thực hiện rất nhiều hoạt động bảo trì mộtcách tự động
SQL Server có thể được quản lý từ xa (từ một máy tính trên mạng), chẳng hạnbằng cách sử dụng SQL Enterprise Manager, và có thể được truy cập từ xa bởi cáctrình ứng dụng cơ sở dữ kiệu khác thông qua ODBC Nói cách khác, một ODBCSystem DSN dùng để truy cập một cơ sở dữ liệu SQL Server không nhất thiết phảiđịnh vị trên cùng một mạng cục bộ với cơ sở dữ liệu Nó có thể định vị ở bất cứ nơinào truy cập vào SQL Server thông qua TCP/IP Đó là bởi vì SQL Server là một hệ
Trang 18quản trị cơ sở dữ liệu theo mô hình client/server, được thiết kế như một server cơ sở
dữ liệu giống như Internet Information Server là một “Web server” SQL Server cóthể được truy cập thông qua TCP/IP, bởi vì nó có địa chỉ IP cố định trên Internet
Oracle rất mạnh, nhưng nó chỉ phù hợp với các hệ thống lớn vì nó đòi hỏi phầncứng rất mạnh và đồng bộ
Những tiện ích của SQL Server để dẫn tới quyết định chọn hệ quản trị cơ sở dữliệu này xây dựng đề tài:
Là hệ quản trị cơ sở dữ liệu được thiết kế theo mô hình Client/Server
Quản lý được khối lượng thông tin lớn
Có khả năng xử lý phân tán
Có khả năng liên kết Internet
Client chạy trên mọi hệ điều hành khác nhau
Truy nhập được hầu hết các cơ sở dữ liệu thông qua ODBC
Các đối tượng cơ sở dữ liệu của MS SQL Server 2000: Database, table,
View, Index, Rules, Default, Stored Procedure
+ Trigger: Là một loại thủ tục đặc biệt của SQL Server, trong đó ứng với một
số hành động thao tác dữ liệu (ví dụ các lệnh INSERT, UPDATE, DELETE) cần phảituân theo một số luật nghiệp vụ nào đó Trigger còn dùng trong khi bắt lỗi, ứng vớimột số lỗi cụ thể thì dữ liệu sẽ được thao tác theo một cách đặc biệt hoặc đưa ra thôngbáo lỗi tuỳ chọn của người dùng
+ User Defineds Data Type: Là những kiểu dữ liệu người dùng tự định nghĩadựa trên những kiểu dữ liệu chuẩn của SQL Server
Hiện nay, phần lớn các ứng dụng, người ta thường sử dụng cơ sở dữ liệu quan
hệ Trong mô hình cơ sở dữ liệu quan hệ, dữ liệu thường được chia thành các bảng cóliên quan với nhau
Ví dụ: Ta có 2 bảng:
Bảng 1: Chứa các thông tin về mã hàng, tên hàng, ngày nhập hàng, giá nhậphàng
Trang 19Bảng 2: Chứa các thông tin về mã hàng, ngày bán hàng, giá bán.
Hai bảng này có quan hệ với nhau thông qua mã hàng, tức là chỉ cần có mã hàng
ở bảng 2, ta có thể tìm ra tên hàng dựa trên mối liên hệ giữa mã hàng và tên hàng lưu
ở bảng 1
Hệ quản trị cơ sở dữ liệu là chương trình dùng để quản lý một cơ sở dữ liệu nào
đó Chẳng hạn như chương trình Access là một hệ quản trị cơ sở dữ liệu để quản lý cơ
sở dữ liệu Access Thông thường thì tên của hệ quản trị cơ sở dữ liệu gắn liền với têncủa loại cơ sở dữ liệu Ví dụ như: cơ sở dữ liệu Access <=> Hệ quản trị cơ sở dữ liệuAccess, cơ sở dữ liệu MySQL <=> Hệ quản trị cơ sở dữ liệu MySQL, cơ sở dữ liệuOracle <=> Hệ quản trị cơ sở dữ liệu Oracle Trong trường hợp này thì người tathường nhầm lẫn giữa khái niệm cơ sở dữ liệu và cấu trúc (dạng nhị phân) của một cơ
sở dữ liệu do hệ quản trị cơ sở dữ liệu quy định
Người ta gọi các cột trong một bảng là các trường, các dòng trong một bảng làcác bản ghi
Mỗi trường sẽ có một kiểu dữ liệu xác định Đó có thể là kiểu số, kiểu chuỗi,kiểu ngày tháng
Ví dụ: Về một bảng có chứa thông tin người dùng Bảng này sẽ có tên là NSD,các cột (trường) của bảng này là: Ma_ND, Ten_ND, Tuoi_ND, Matkhau_ND; trong
đó Ma_ND có kiểu số nguyên tự động tăng, Ten_ND có kiểu chuỗi, Tuoi_ND có kiểu
số, Matkhau_ND có kiểu chuỗi
2.2.1 Ngôn ngữ truy vấn Cơ sở dữ liệu SQL
SQL là một ngôn ngữ được sử dụng trong các ngôn ngữ lập trình để truy vấnthông tin trong cơ sở dữ liệu Điểm mạnh của ngôn ngữ này là cấu trúc đơn giản, cóthể nhập lệnh vào dưới dạng các chuỗi văn bản, sau đó chuyển câu lệnh tới cácchương trình điều khiển trung gian để truy vấn dữ liệu rồi trả về cho chương trình.Như vậy, mọi thao tác kết xuất, truy vấn hoàn tòan dễ dàng thông qua việc điều khiểnchuỗi văn bản có chứa câu lệnh SQL
Trang 202.2.1.1 Câu lệnh chèn dữ liệu vào một bảng.
Cú pháp của câu lệnh này có dạng:
INSERT INTO tên_bảng [(danh_sách_trường)] VALUES (danh_sách_giá_trị)
Trong đó:
Các từ khóa cố định là INSERT, INTO và VALUES
tên_bảng là tên của một bảng quan hệ trong cơ sở dữ liệu
danh_sách_trường là danh sách các trường trong bảng quan hệ được sử dụng đểchèn giá trị vào, mỗi trường cách nhau một dấu phảy
danh_sách_giá_trị là danh sách các giá trị tương ứng với các trường, có baonhiêu trường thì phải chèn vào bấy nhiêu giá trị
Chú ý:
Thông thường, các giá trị chuỗi phải được đặt trong cặp dấu nháy hoặc dấu
ngoặc kép tùy thuộc vào ngôn ngữ biểu diễn và kiểu dữ liệu của trường Mỗi giá trịcách nhau bởi một dấu phẩy
Ví dụ: Với bảng dữ liệu ở trên (Bảng NSD có các cột (trường) là: Ma_ND,Ten_ND, Tuoi_ND, Matkhau_ND), ta có thể dùng câu lệnh SQL để chèn thông tinvào như sau:
INSERT INTO NSD(Ten_ND,MatKhau_ND) VALUES ('Sinh','123456')
Hoặc ta có thể chèn đầy đủ thông tin của các trường:
INSERT INTO NSD VALUES ('Sinh',30,'123456')
2.2.1.2 Câu lệnh chỉnh sửa dữ liệu trong bảng
Để chỉnh sửa (cập nhật) thông tin trong bảng, ta dùng câu lệnh UPDATE với cúpháp sau:
UPDATE tên_bảng SET tên_trường1=giá_trị1[, tên_trường_i=giá_trị_i]WHERE điều_kiện
Ví dụ: Muốn đổi mật khẩu của những người có trường Ten_ND là Sinh thành'JQKA' trong bảng trên, ta có thể dùng câu lệnh SQL như sau:
UPDATE NSD SET Matkhau_ID = 'JQKA' WHERE Ten_ND='Sinh'
Trang 212.2.1.3 Câu lệnh xóa dữ liệu trong bảng
Để xóa dữ liệu trong bảng, ta dùng câu lệnh DELETE với cú pháp sau:
DELETE FROM tên_bảng WHERE điều_kiện
Câu lệnh này sẽ xóa tất cả những bản ghi thỏa mãn điều kiện nằm sau mệnh đềWHERE
Ví dụ: Muốn xóa người có trường Ten_ND là Sinh trong bảng trên, ta có thểdùng câu lệnh SQL như sau:
DELETE FROM NSD WHERE Ten_ND='Sinh'
2.2.1.4 Câu lệnh truy vấn (tìm kiếm) dữ liệu trong bảng
Đây là câu lệnh phức tạp nhất trong nhóm các câu lệnh của SQL
Cú pháp của lệnh này như sau:
SELECT [danh_sách_trường] FROM [danh_sách_bảng] WHERE[danh_sách_điều_kiện] [ORDER BY] [2]
2.3.1 Khái niệm
Công nghệ phần mềm là sự thiết lập và sử dụng các nguyên tắc khoa học nhằm
mục đích tạo ra các phần mềm một cách kinh tế mà các phần mềm đó hoạt động hiệuquả và tin cậy trên các máy tính
Công nghệ phần mềm là một quy trình có hệ thống được sử dụng trong quátrình phân tích, thiết kế, hiện thực, kiểm tra và bảo trì để đảm bảo các sản phẩm phầnmềm được sản xuất và hoạt động: Hiệu quả, tin cậy, hữu dụng, nâng cấp dễ dàng,cộng tác được với các hệ thống khác và vận hành đúng
2.3.2 Lịch sử công nghệ phần mềm
Thập niên 1940: Các chương trình cho máy tính được viết bằng tay
Thâp niên 1950: Các công cụ đầu tiên xuất hiện như là phần mềm biêndịch Macro Assembler và phần mềm thông dịch đã được tạo ra và sử dụng rộng rãi đểnâng cao năng suất và chất lượng Các trình dịch được tối ưu hoá lần đầu tiên ra đời
Trang 22 Thập niên 1960: Các công cụ của thế hệ thứ hai như các trình dịch tối ưuhoá và công việc kiểm tra mẫu đã được dùng để nâng cao sản phẩm và chất lượng.Khái niệm công nghệ phần mềm đã được bàn thảo rộng rãi.
Thập niên 1970: Các công cụ phần mềm, chẳng hạn trong UNIX các vùngchứa mã, lệnh make, v.v được kết hợp với nhau Số lượng doanh nghiệp nhỏ về phầnmềm và số lượng máy tính cỡ nhỏ tăng nhanh
Thập niên 1980: các PC và máy trạm ra đời Cùng lúc có sự xuất hiện của
mô hình dự toán khả năng Lượng phần mềm tiêu thụ tăng mạnh
Thập niên 1990: Phương pháp lập trình hướng đối tượng ra đời Các quátrình nhanh như là lập trình cực hạn được chấp nhận rộng rãi Trong thập niên này,World Wide Web và các thiết bị máy tính cầm tay phổ biến rộng rãi
Hiện nay: Các phần mềm biên dịch và quản lý như là NET, PHP, Java,làm cho việc thiết kế, viết phần mềm ứng dụng trở nên dễ dàng hơn nhiều
2.3.3 Thuộc tính của sản phẩm phần mềm
Thuộc tính của một sản phẩm phần mềm là các đặc tính xuất hiện từ sản phẩmmột khi nó được cài đặt và được đưa ra dùng Các thuộc tính này không bao gồm cácdịch vụ được cung cấp kèm theo sản phẩm đó Ví dụ: Mức hiệu quả, độ bền, khả năngbảo trì, khả năng sử dụng là các thuộc tính
Các thuộc tính biến đổi tùy theo phần mềm Tuy nhiên những thuộc tính quantrọng bao gồm:
Khả năng bảo trì: Nó có khả năng thực hành những tiến triển để thỏa mãnyêu cầu của khách hàng
Khả năng tin cậy: Khả năng tin cậy của phần mềm bao gồm một loạt cácđặc tính như là độ tin cậy, an toàn, và bảo mật Phần mềm tin cậy không thể tạo ra cácthiệt hại vật chất hay kinh tế trong trường hợp hư hỏng
Độ hữu hiệu: Phần mềm không thể sử dụng lãng phí các nguồn tài nguyênnhư là bộ nhớ và các chu kì vi xử lý
Khả năng sử dụng: Phần mềm nên có một giao diện tương đối dễ cho ngườidùng và có đầy đủ các hồ sơ về phần mềm
Trang 232.3.5 Các giai đoạn của chu trình phát triển phần mềm
- Nghiên cứu sơ bộ (Preliminary Investigation hay còn gọi là Feasibility Study)
- Phân tích yêu cầu (Analysis)
- Thiết kế hệ thống (Design of the System)
- Xây dựng phần mềm (Software Construction)
- Thử nghiệm hệ thống (System Testing)
- Thực hiện, triển khai (System Implementation)
- Bảo trì, nâng cấp (System Maintenance)
2.4 Tổng quan phân tích thiết kế hệ thống thông tin
2.4.1 Vòng đời của hệ thông tin [3]
Hệ thông tin cũng tương tự như cuộc sống con người: Sinh ra, trưởng thành,chín muồi và chết
- Giai đoạn sinh thành: Nảy sinh từ việc có ý định sử dụng máy tính để xử lý
thông tin cho công việc nào đó
- Giai đoạn phát triển: Biến ý tưởng trên thành hiện thực Để làm được điều
này, nhà phân tích thiết kế hệ thống, các lập trình viên, người sử dụng cùng làm việc
Trang 24để phân tích các nhu cầu xử lý thông tin của xí nghiệp, cơ quan mà thiết kế nên hệthống thông tin.
- Giai đoạn khai thác: Sau khi cài đặt, sử dụng hệ thông tin để phục vụ cho
nhu cầu thông tin của doanh nghiệp, cơ quan Trong giai đoạn này, hệ thông tin liêntục được sửa đổi hoặc bảo trì để giữ cho nó phù hợp với nhu cầu của doanh nghiệp, tổchức
- Giai đoạn chết: Việc tích lũy những thay đổi trong giai đoạn khai thác làm
ảnh hưởng đến tính hiệu quả của hệ thống Giai đoạn chết xảy ra khi hệ thống thôngtin trở thành rắc rối đến mức không thể bảo trì được nó nữa, việc duy trì nó không cònkinh tế, hiệu quả nên lúc này sẽ bị loại bỏ và vòng đời của hệ thông tin lại phải đượclặp lại
Từ những vấn đề trên, cần nhận thấy rằng hệ thống thông tin được xây dựngphải có khả năng ổn định cao khi một phần nào đó của nó bị loại bỏ để thay thế bởimột phần khác
2.4.2 Phương pháp phân tích và thiết kế hệ thống [4]
Có rất nhiều phương pháp phân tích thiết kế hệ thống như:
- Phương pháp SADT (Structured Analysis and Design Technique): Kỹ thuật
phân tích cấu trúc và thiết kế, phương pháp này xuất phát từ Mỹ
- Phương pháp MERISE (Méthode Pour Rassembler les Ideés Sans Effort):
Tạm dịch là “Các phương pháp tập hợp ý tưởng không cần cố gắng”, ra đời tại Phápcuối thập niên 70
- Phương pháp MXC (Méthode de Xavier Castellani): Nguồn gốc từ Pháp.
- Phương pháp GALACSI (Groupe d' Animation et de Liaison pour d' Analyse
et la Conception de Systeme d' Information): Tạm dịch nguyên văn: “Nhóm cọ vẽ vàliên lạc để phân tích và quan niệm hoá hệ thông tin” ra đời tại Pháp vào tháng 4 năm1982
Trang 252.4.3 Các phương pháp phân tích và thiết kế hệ thống
2.4.3.1 Sự trừu tượng hoá (Trừu xuất - Abstraction)
Để nhận biết được những hệ thống quá phức tạp, phải loại bỏ những đặc điểmphụ để nhận biết cho được các đặc điểm chính
Hệ thống được nhận thức dưới hai mức:
+ How: Làm như thế nào?
(Làm thế nào? Phương tiện nào? Cách làm nào? Lúc nào? Ai làm? Làm gì?)
- Ở mức logic: Gạt bỏ những chi tiết để thấy bản chất và chỉ cần trả lời What
(1): Bước trừu tượng hoá
(2): Đưa ra những yêu cầu mới nảy sinh của hệ thống
(3): Giai đoạn thiết kế
Trang 262.4.3.2 Phân tích từ trên xuống
Đi từ tổng quát đến chi tiết:
- Dùng hộp đen: cái gì chưa biết gọi là hộp đen
Ví dụ: CLĐ như thế nào?
- Phân cấp: phân cấp các chức năng phức tạp thành các chức năng nhỏ hơn và cứ thếtiếp tục
2.4.3.3 Sử dụng mô hình công cụ biểu diễn có tăng cường hình vẽ
2.4.4 Các giai đoạn phân tích và thiết kế hệ thống
Thiết kế là một quá trình bắt đầu bằng ý niệm hoá và kết thúc bằng việc thựchiện chương trình cài đặt và đưa vào sử dụng Thông thường, xuất phát từ các hoạtđộng chưa có hiệu quả so với mục tiêu đề ra mà việc phân tích sẽ xây dựng một hệthống mới đáp ứng các yêu cầu và hoạt động hiệu quả hơn
Việc phân chia các giai đoạn cho quá trình phân tích chỉ mang tính tương đối,không tách rời từng giai đoạn, phân tích và thiết kế xen kẽ nhau, vừa làm vừa trao đổivới người sử dụng để hoàn thiện cho thiết kế
- Lập kế hoạch
- Nghiên cứu và phân tích hiện trạng
- Nghiên cứu và phân tích khả thi
- Thiết kế tổng thể mô hình chức năng hệ thông tin
- Phân công công việc giữa con người và máy tính
CLĐ
Mô hình
phân rã liên kết thực thể liên kết quan hệ
Trang 27- Thiết kế các kiểm soát.
- Thiết kế giao diện Người – Máy
- Thiết kế cơ sở dữ liệu (Database Files).
- Thiết kế chương trình
- Chạy thử, cài đặt, hướng dẫn sử dụng, khai thác chương trình
Trang 28Chương 3: PHÂN TÍCH – THIẾT KẾ HỆ THỐNG
3.1 Yêu cầu chức năng
3.1.1 Yêu cầu lưu trữ
Hệ thống quản lý việc mua và bán sách ở nhà sách Khai Trí có những yêu cầulưu trữ về hệ thống như sau:
• Lưu trữ các thông tin chi tiết của sách
• Lưu trữ các thông tin cá nhân của khách hàng, nhân viên
• Lưu trữ các đơn bán hàng, đơn nhập hàng
• Lưu trữ chi tiết liên hệ, góp ý
• Lưu trữ thông tin về các loại sách, nhà cung cấp, nhà xuất bản
3.1.2 Yêu cầu tra cứu
Hệ thống quản lý việc mua và bán sách ở nhà sách Khai Trí có những yêu cầutra cứu như sau:
• Tra cứu thông tin sách theo tên
• Tra cứu thông tin sách theo giá
• Tra cứu thông tin sách theo tác giả
• Tra cứu thông tin sách theo nhà xuất bản
• Tra cứu thông tin nhà cung cấp
3.1.3 Yêu cầu tính toán
Hệ thống quản lý việc mua và bán sách ở nhà sách Khai Trí có những yêu cầutính toán như sau:
• Tính doanh thu nhà sách theo ngày, tuần, tháng, quý, năm
• Tính tồn kho
• Tính tổng số tiền khách hàng phải trả cho một đơn đặt hàng
• Tính tổng số tiền cho một đợt nhập sách
Trang 293.1.4 Yêu cầu kết xuất
Hệ thống quản lý việc mua và bán sách ở nhà sách Khai Trí có những yêu cầukết xuất như sau:
• In hóa đơn đặt mua sách khi khách hàng mua sách trên website
• In chi tiết mua sách của khách hàng
• In chi tiết phiếu nhập sách
• Báo cáo tồn kho và doanh thu bán sách
3.2 Yêu cầu phi chức năng:
Trang web sau khi hoàn thành cần phải đảm bảo một số yêu cầu sau đây:
- Ứng dụng có thể nâng cấp và thêm các chức năng mới
- Có giao diện thân thiện với người sử dụng, sử dụng dễ dàng, hiệu quả,nhanh chóng, chính xác
- Có tính tương thích cao sử dụng ở nhiều môi trường
- Ứng dụng được chạy trên nền Microsoft Visual Studio 2005, .NETFramework 2.0, hệ quản trị cơ sở dữ liệu MS SQL Server 2000
Trang 303.3 Thiết kế dữ liệu
3.3.1 Mô hình thực thể kết hợp (ERD)
3.3.1.1 Mô hình
Hình 1 Mô hình ERD
Trang 313.3.1.2 Danh sách các thực thể
1 Thực thể tbl_NhaCungCap Lưu trữ thông tin nhà cung cấp
2 Thực thể tbl_LoaiSach Lưu trữ tên các loại sách
3 Thực thể tbl_NhanVien Lưu trữ thông tin nhân viên
4 Thực thể tbl_KhachHang Lưu trữ thông tin khách hàng
5 Thực thể tbl_Sach Lưu trữ thông tin về sách
6 Thực thể tbl_BanSach Lưu trữ thông tin bán sách tại nhà sách
7 Thực thể tbl_NhapSach Lưu trữ thông tin nhập sách
8 Thực thể tbl_DatHang Lưu trữ thông tin đặt hàng của khách
9 Thực thể tbl_ThanhToan Lưu trữ thông tin hình thức thanh toán
10 Thực thể tbl_Quyen Lưu thông tin các quyền truy cập
Bảng 1: Danh sách các thực thể
3.3.1.3. Danh sách các mối kết hợp
1 Mối kết hợp nhập Mối quan hệ giữa tbl_NhaCungCap và tbl_NhapSach
2 Mối kết hợp chứa Mối quan hệ giữa tbl_LoaiSach và tbl_Sach
3 Mối kết hợp nhập sách Mối quan hệ giữa tbl_NhanVien và tbl_NhapSach
4 Mối kết hợp bán Mối quan hệ giữa tbl_NhanVien và tbl_BanSach
5 Mối kết hợp xử lý Mối quan hệ giữa tbl_NhanVien và tbl_DatHang
6 Mối kết hợp quyền NV Mối quan hệ giữa tbl_NhanVien và tbl_Quyen
7 Mối kết hợp quyền KH Mối quan hệ giữa tbl_KhachHàng và tbl_Quyen
8 Mối kết hợp Đặt mua Mối quan hệ giữa tbl_KhachHàng và tbl_DatHang
9 Mối kết hợp chọn Mối quan hệ giữa tbl_DatHang và tbl_ThanhToan
10 Mối kết hợp NhapSachCT Mối quan hệ giữa tbl_NhapSach và tbl_Sach
11 Mối kết hợp BanSachCT Mối quan hệ giữa tbl_BanSach và tbl_Sach
12 Mối kết hợp DatHangCT Mối quan hệ giữa tbl_DatHang và tbl_Sach
Bảng 2: Danh sách các đối tượng
3.3.1.4 Bảng mô tả các thực thể, mối kết hợp
Trang 32 Mối kết hợp giữa thực thể tbl_NhaCungCap và tbl_NhapSach: Một nhàcung cấp có thể được nhập một hoặc nhiều lần, mỗi lần nhập sách chỉ nhập cho mộtnhà cung cấp.
Hình 2: Mối kết hợp nhập
Mối kết hợp giữa thực thể tbl_LoaiSach và tbl_Sach: Một loại sách có thể chứa một hoặc nhiều sách, mỗi một cuốn sách chỉ chứa một loại sách
(1,1) (1,n)
Hình 3: Mối kết hợp chứa
Mối kết hợp giữa thực thể tbl_NhanVien và tbl_NhapSach: Một nhân viên
có thể nhập một hoặc nhiều lần nhập sách, mỗi một lần nhập sách chỉ được nhập bởi một nhân viên
Hình 4: Mối kết hợp nhập sách
Mối kết hợp giữa thực thể tbl_NhanVien và tbl_BanSach: Một nhân viên
có thể bán một hoặc nhiều lần bán sách, mỗi một lần bán sách chỉ được bán bởi một nhân viên
(1,1) (1,n)
Hình 5: Mối kết hợp bán
Trang 33 Mối kết hợp giữa thực thể tbl_NhanVien và tbl_DatHang: Một nhân viên
có thể xử lý một hoặc nhiều đơn đặt hàng, mỗi một lần xử lý chỉ được xử lý bởi một nhân viên
(1,1) (1,n)
Hình 7: Mối kết hợp quyền NV
Mối kết hợp giữa thực thể tbl_KhachHang và tbl_Quyen: Một khách hàng
có một quyền của khách hàng đó, một quyền có thể có một hoặc nhiều khách hàng
(1,n) (1,1)
tbl_Quyen quyền KH
tbl_KhachHang
Hình 8: Mối kết hợp quyền KH
Mối kết hợp giữa thực thể tbl_KhachHang và tbl_DatHang: Một khách hàng có thể đặt mua một hoặc nhiều lần, mỗi một lần đặt mua chỉ được đặt mua bởi một khách hàng
(1,1) (1,n)
Hình 9: Mối kết hợp đặt mua
Trang 34 Mối kết hợp giữa thực thể tbl_DatHang và tbl_ThanhToan: Một hình thức thanh toán có thể được chọn một hoặc nhiều lần, mỗi một lần đặt hàng chỉ được chọn một hình thức thanh toán.
(1,n) tbl_ThanhToan chọn
tbl_DatHang (1,1)
Hình 10: Mối kết hợp chọn
Mối kết hợp giữa thực thể tbl_NhapSach và tbl_Sach: Một lần nhập sách
có thể nhập một hoặc nhiều cuốn sách, mỗi một cuốn sách có thể nhập được một hoặc nhiều lần
(1,n) (1,n)
Hình 11: Mối kết hợp NhapSachCT
Mối kết hợp giữa thực thể tbl_BanSach và tbl_Sach: Một lần bán sách có thể bán một hoặc nhiều cuốn sách, mỗi một cuốn sách có thể bán được một hoặc nhiềulần
(1,n) tbl_BanSach BanSachCT (1,n) tbl_Sach
Hình 12: Mối kết hợp BanSachCT
Mối kết hợp giữa thực thể tbl_DatHang và tbl_Sach: Một lần đặt hàng có thể đặt một hoặc nhiều cuốn sách, mỗi một cuốn sách có thể đặt hàng được một hoặc nhiều lần
tbl_Sach DatHangCT
tbl_DatHang
Hình 13: Mối kết hợp DatHangCT
Trang 353.3.2 Mô hình vật lý
3.3.2.1 Lược đồ cơ sở dữ liệu
Hình 14: Mô hình MLD
Trang 363.3.2.2 Danh sách các bảng
1 tbl_LoaiSach Danh mục các loại sách
2 tbl_ThanhToan Các phương thức thanh toán
3 tbl_NhaXuatBan Danh sách các nhà xuất bản
5 tbl_KhachHang Danh sách khách hàng
6 tbl_DatHang Danh sách đặt hàng của khách hàng
7 tbl_DatHangCT Danh sách sản phẩm đặt hàng
10 tbl_NhapSachCT Chi tiết nhập sách
11 tbl_BanSach Bán sách tại nhà sách
12 tbl_BanSachCT Chi tiết bán sách tại nhà sách
13 tbl_NhanVien Danh sách nhân viên và quản trị
14 tbl_NhaCungCap Danh Sách các nhà cung cấp
15 tbl_LienHe Danh sách liên hệ góp ý của khách hàng
Bảng 3: Danh sách các bảng
Trang 373.3.2.3 Mô tả chi tiết các bảng
Bảng dữ liệu loại sách (tbl_LoaiSach)
Lưu trữ các thông tin về loại sách của từng cuốn sách Lưu các thông tin như:
Mã loại, tên loại
Hình 15: Hình bảng loại sách
Bảng dữ liệu thanh toán (tbl_ThanhToan)
Lưu trữ các thông tin về hình thức thanh toán để khách hàng lựa chọn hình thứcthanh toán với hệ thống của nhà sách Lưu các thông tin như: Mã thanh toán, tên thanhtoán, mô tả
Hình 16: Hình bảng thanh toán
Bảng dữ liệu quyền (tbl_Quyen)
Lưu trữ các thông tin về quyền truy cập hệ thống bán sách của nhà sách KhaiTrí Lưu các thông tin như: Mã quyền, tên quyền
Hình 17: Hình bảng quyền
Trang 38 Bảng dữ liệu sách (tbl_Sach)
Lưu trữ các thông tin về sách của nhà sách Khai Trí Lưu các thông tin như: Mãsách, tên sách, loại sách, tác giả, nhà xuất bản, giá bìa, giá bán, số lượng tồn, số trang,hình ảnh,
Hình 18: Hình bảng sách
Bảng dữ liệu khách hàng (tbl_KhachHang)
Lưu trữ các thông tin của khách hàng khi truy cập hệ thống bán sách của nhàsách Khai Trí Lưu các thông tin như: Tên đăng nhập, mật khẩu, Email, họ tên, giớitính, địa chỉ,
Hình 19: Hình bảng khách hàng
Trang 39 Bảng dữ liệu chi tiết đặt hàng (tbl_DatHangCT)