LỜ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ộ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.
LỜ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 tin
trườ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ức
că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ẫn
thự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ần
thiế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ực
hiệ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ôi
trong 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ưu
tậ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ôi
cũ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ông
chỉ 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 đang
chờ đó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
NHẬ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
NHẬ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
MỤC LỤC
Chương 1: ĐẶT VẤN ĐỀ................................................................................................9
1.1. Lý do chọn đề tài....................................................................................................9
1.3. Hướng giải quyết.................................................................................................11
1.4. Mục tiêu đề tài.....................................................................................................12
1.5. Cấu trúc khóa luận...............................................................................................12
Chương 2: CƠ SỞ LÝ THUYẾT...................................................................................13
2.1.Giới thiệu ngôn ngữ ASP.NET.............................................................................13
2.2.Hệ quản trị cơ sở dữ liệu MS SQL Server 2000..................................................15
2.3.Tổng quan công nghệ phần mềm..........................................................................19
Chương 3: PHÂN TÍCH – THIẾT KẾ HỆ THỐNG.....................................................26
3.5.1.2. Thực đơn ngữ cảnh...........................................................................................53
3.5.2 Thiết kế màn hình....................................................................................................58
3.5.2.1. Danh mục các màn hình...................................................................................58
3.5.2.2. Mô tả chi tiết từng màn hình............................................................................62
MỤC LỤC HÌNH
Hình 1. Mô hình ERD....................................................................................................28
Hình 2: Mối kết hợp nhập..............................................................................................30
Hình 3: Mối kết hợp chứa..............................................................................................30
Hình 4: Mối kết hợp nhập sách......................................................................................30
Hình 5: Mối kết hợp bán................................................................................................30
Hình 6: Mối kết hợp xử lý..............................................................................................31
Hình 7: Mối kết hợp quyền NV.....................................................................................31
Hình 8: Mối kết hợp quyền KH.....................................................................................31
Hình 9: Mối kết hợp đặt mua.........................................................................................31
Hình 10: Mối kết hợp chọn............................................................................................32
Hình 11: Mối kết hợp NhapSachCT..............................................................................32
Hình 12: Mối kết hợp BanSachCT................................................................................32
Hình 13: Mối kết hợp DatHangCT................................................................................32
Hình 14: Mô hình MLD.................................................................................................33
Hình 15: Hình bảng loại sách.........................................................................................35
Hình 16: Hình bảng thanh toán......................................................................................35
Hình 17: Hình bảng quyền.............................................................................................35
Hình 18: Hình bảng sách................................................................................................36
Hình 19: Hình bảng khách hàng....................................................................................36
Hình 20: Hình bảng chi tiết đặt hàng.............................................................................37
Hình 21: Hình bảng đặt hàng.........................................................................................37
Hình 22: Hình bảng nhân viên.......................................................................................37
Hình 23: Hình bản nhập sách.........................................................................................38
Hình 24: Hình chi tiết nhập sách....................................................................................38
Hình 25: Hình bảng nhà cung cấp..................................................................................38
Hình 26: Hình bảng bán sách.........................................................................................38
Hình 27: Hình chi tiết bán sách......................................................................................39
Hình 28: Hình bảng nhà xuất bản..................................................................................39
Hình 29: Hình bảng liên hệ............................................................................................39
Hình 30: Mô hình xử lý dữ liệu cấp 0............................................................................47
Hình 31. Mô hình xử lý dữ liệu cấp 1............................................................................48
Hình 32: Giao diện thực đơn chính của website nhà sách.............................................53
Hình 33: Giao diện thực đơn tìm kiếm..........................................................................53
Hình 34: Giao diện danh mục sách...............................................................................54
Hình 35: Giao diện danh mục hệ thống dùng cho nhân viên........................................56
Hình 36: Giao diện danh mục hệ thống dùng cho quản trị website..............................57
Hình 37: Giao diện trang chủ của website nhà sách Khai Trí.......................................62
Hình 38: Giao diện trang đăng ký..................................................................................63
Hình 39: Giao diện trang liên hệ....................................................................................64
Hình 40: Giao diện trang xem giỏ hàng.........................................................................65
Hình 41: Giao diện hóa đơn đặt mua sách của khách hàng...........................................66
Hình 42: Giao diện trang quản lý nhập sách..................................................................67
Hình 43: Giao diện trang quản lý bán sách....................................................................68
Hình 44: Quá trình thực hiện bán sách..........................................................................71
Hình 45: In hóa đơn bán sách cho khách hàng..............................................................72
Hình 46: Quá trình thực hiện nhập sách........................................................................73
Hình 47: In phiếu nhập sách...........................................................................................74
MỤC LỤC BẢNG
Bảng 1: Danh sách các thực thể.....................................................................................29
Bảng 2: Danh sách các đối tượng..................................................................................29
Bảng 3: Danh sách các bảng..........................................................................................34
Bảng 4: Chức năng thực đơn chính của website nhà sách............................................53
Bảng 5: Chức năng thực đơn tìm kiếm.........................................................................54
Bảng 6: Chức năng thực đơn danh mục sách................................................................55
Bảng 7: Chức năng thực đơn danh mục hệ thống dành cho nhân viên.........................57
Bảng 8: Chức năng thực đơn danh mục hệ thống dùng cho quản trị website...............58
Bảng 9: Danh mục các màn hình...................................................................................61
Bảng 10: Bảng dữ liệu thử nghiệm................................................................................69
Bảng 11: Bảng một số kết quả thử nghiệm....................................................................70
Chươ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ý kinh
doanh, 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ông
nghệ 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ất
hiệ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ác
hoạ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ăng
tiệ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ột
phá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ông
nhỏ 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ết
cá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ới
thiệ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 doanh
củ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ác
nhau.
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ức
kinh 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ến
thức đó vào đề tài khóa luận tốt nghiệp này.
GVHD: Phạm Minh Đương
9
SVTH: Trần Văn Đặng Em
1.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ức
truyề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ực
tiế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ương
thứ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ửa
hà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.
GVHD: Phạm Minh Đương
10
SVTH: Trần Văn Đặng Em
1.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ách
giả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ày
cũ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ết
cá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ập
và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ách
hàng đăng ký và dựa vào địa chỉ giao nhận sách, sau đó liên hệ qua email hoặc
qua đ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 khi
khá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.
GVHD: Phạm Minh Đương
11
SVTH: Trần Văn Đặng Em
1.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ằm
giúp cho việc mua bán diễn ra nhanh chóng, tiện lợi. Đồng thời một website đặt mua
sá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ại
sá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ách
phả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ện
lợ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 địa
chỉ 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.
GVHD: Phạm Minh Đương
12
SVTH: Trần Văn Đặng Em
Chương 2: CƠ SỞ LÝ THUYẾT
2.1. Giới thiệu ngôn ngữ ASP.NET
2.1.1. ASP.NET là gì?
ASP.NET là viết tắt của Active Server Pages .NET – Công nghệ phát triển ứng
dụng Web được phát triển bởi Micrsoft. ASP.NET là công nghệ lập trình hỗ trợ gần
20 ngôn ngữ lập trình khác nhau dựa trên nền tảng .NET Framework. Khi biên dịch
các ngôn ngữ sẽ được biên dịch sang mã IL, đây chính là ngôn ngữ của .NET và bắt
buộc phải dịch ra IL vì đây là ngôn ngữ để CLR(Common Language Runtime) có thể
hiểu được.
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ần
củ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 đối
tượ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 ảo
trong Java – JVM) Để triển khai ứng dụng ASP.NET chúng ta chỉ cần sao chép các
tậ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 Information
Services). 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
GVHD: Phạm Minh Đương
13
SVTH: Trần Văn Đặng Em
giờ 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ên
trong (phiên bản ASP.NET hiện tại là 4.0) ASP.NET AJAX Control Extenders được
tí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ình
như 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 to
DataSet
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êng
biệt có quan hệ độc lập, tương tác chặt chẽ với nhau. Với MVC ứng dụng sẽ được
chuyê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.
GVHD: Phạm Minh Đương
14
SVTH: Trần Văn Đặng Em
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ên
giao 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ện cô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ác
tí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ều
SQL 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ả nhanh
hơ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ột
cá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ạn
bằng cách sử dụng SQL Enterprise Manager, và có thể được truy cập từ xa bởi các
trình ứng dụng cơ sở dữ kiệu khác thông qua ODBC. Nói cách khác, một ODBC
System 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ơi
nào truy cập vào SQL Server thông qua TCP/IP. Đó là bởi vì SQL Server là một hệ
GVHD: Phạm Minh Đương
15
SVTH: Trần Văn Đặng Em
quả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ần
cứ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ải
tuâ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ới
mộ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ông
bá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ĩa
dự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ập
hàng.
GVHD: Phạm Minh Đương
16
SVTH: Trần Văn Đặng Em
Bả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ên
củ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ệu
Access, cơ sở dữ liệu MySQL <=> Hệ quản trị cơ sở dữ liệu MySQL, cơ sở dữ liệu
Oracle <=> Hệ quản trị cơ sở dữ liệu Oracle. Trong trường hợp này thì người ta
thườ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ấn
thô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ác
chươ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ển
chuỗi văn bản có chứa câu lệnh SQL.
GVHD: Phạm Minh Đương
17
SVTH: Trần Văn Đặng Em
2.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ó bao
nhiê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 tin
và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'
GVHD: Phạm Minh Đương
18
SVTH: Trần Văn Đặng Em
2.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. Tổng quan công nghệ phần mềm
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ệu
quả 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ần
mề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ên
dị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.
GVHD: Phạm Minh Đương
19
SVTH: Trần Văn Đặng Em
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 ưu
hoá 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ùng
chứa mã, lệnh make, v.v. được kết hợp với nhau. Số lượng doanh nghiệp nhỏ về phần
mề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ẩm
mộ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ác
dịch vụ được cung cấp kèm theo sản phẩm đó. Ví dụ: Mức hiệu quả, độ bền, khả năng
bả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 quan
trọ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ãn
yê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ác
thiệ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ên
như 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ười
dùng và có đầy đủ các hồ sơ về phần mềm.
GVHD: Phạm Minh Đương
20
SVTH: Trần Văn Đặng Em
2.3.4.
2.3.5.
•
•
•
•
•
•
•
•
•
•
•
•
Các bước xây dựng phần mềm
Phân tích hệ thống/vấn đề
Xác định các yêu cầu
Thiết kế phần mềm
Viết phần mềm (coding)
Kiểm tra và tích hợp hệ thống
Cài đặt và chuyển giao phần mềm
Lập tài liệu
Bảo trì
Quản lý chất lượng
Huấn luyện
Dự đoán tài nguyên
Quản trị dự án
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
để 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ên
GVHD: Phạm Minh Đương
21
SVTH: Trần Văn Đặng Em
tụ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ông
tin 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òn
kinh 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 được
lặ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ựng
phả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ởi
mộ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áp
cuố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ăm
1982.
GVHD: Phạm Minh Đương
22
SVTH: Trần Văn Đặng Em
2.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ểm
phụ để 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:
- Mức vật lý
- Mức logic
Bằng cách trả lời:
- Ở mức vật lý - Mô tả thực trạng hệ thống cũ:
+ What: Cái gì? Làm gì?
+ 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.
Mô tả hệ thống cũ làm
việc như thế nào?
Mức vật ý
Mô tả hệ thống mới làm
việc như thế nào?
(1)
Mức logic
(3)
Yêu cầu
mới
Mô tả hệ thống
cũ làm gì?
(2)
Mô tả hệ thống
mới làm gì?
(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ế.
GVHD: Phạm Minh Đương
23
SVTH: Trần Văn Đặng Em
2.4.3.2. Phân tích từ trên xuống
Đi từ tổng quát đến chi tiết:
CLĐ
- 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ẽ
phân rã liên kết
Mô hình
thực thể liên kết
quan hệ
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ực
hiệ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 đổi
vớ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.
GVHD: Phạm Minh Đương
24
SVTH: Trần Văn Đặng Em
- 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.
GVHD: Phạm Minh Đương
25
SVTH: Trần Văn Đặng Em