Đề tài “ Xây dựng website bán máy tính” sử dụng công nghệ ASP.NET và hệ quản trị cơ sở dữ liệu SQL Server, với mục đích một phần nào đó chung sức thúc đẩy dịch vụ bán hàng qua mạng phát
Trang 1Tr-ờng Đại học vinh
Khoa toán
Trần anh tuấn
Xây dựng website bán máy tính
Khóa luận tốt nghiệp đại học
Nghành cử nhân toán tin ứng dụng
Cán bộ h-ớng dẫn khóa luận: TS.Phan Lê Na
Sinh viên thực hiện : Trần Anh Tuấn
Lớp : 47B - Toán Tin ứng dụng
Vinh, 2010
Trang 2Mục lục
Mở đầu 4
Ch-ơng I: Giới thiệu công nghệ Asp.net 6
1.1 Tổng quan về Microsoft.NET 6
1.2 Tổng quan về ngôn ngữ lập trình C# 7
1.3 Công nghệ ASP.NET 9
1.3.1 Giới thiệu về ASP.NET 9
1.3.2 Lập trình Web với công nghệ ASP.NET 10
Ch-ơng II: Bài toán xây dựng website bán máy tính 13
2.1 Bài toán 13
2.2 Khảo sát hệ thống website “ Công ty máy tính SNS” 14
2.2.1 Mô tả cơ cấu tổ chức 14
2.2.2 Quy trình hoạt động của hệ thống 14
2.2.3 Thông tin đầu vào và đầu ra của hệ thống 14
2.2.4 Đánh giá hệ thống hiện tại 15
2.2.5 Giao diện website “ Công ty máy tính SNS” 15
2.3 Phân tích hệ thống 15
2.3.1 Biểu đồ luồng dữ liệu 3 mức 15
2.3.2 Mô hình quan hệ các kiểu thực thể liên kết 19
2.3.3 Các bảng cơ sở dữ liệu 21
2.3.4 L-ợc đồ quan hệ trong bảng cơ sở dữ liệu 24
2.3.5 Chu trình bán máy tính trên mạng 25
Trang 3Ch-¬ng III: Website SNS COMPUTER 26
3.1 Giao diÖn chÝnh trang Web 26
3.1.1 Giao diÖn trang chñ 26
3.1.2 Giao diÖn trang s¶n phÈm 27
3.1.3 Giao diÖn trang giá hµng 27
3.1.4 Giao diÖn trang t×m kiÕm s¶n phÈm 30
3.1.5 Giao diÖn trang ®¨ng kÝ 30
3.2 Giao diÖn dµnh cho nhµ qu¶n lý 30
KÕt luËn 33
Tµi liÖu tham kh¶o 34
Trang 4Mở đầu
Trong sự phát triển không ngừng của xã hội thì nhu cầu của con ng-ời về cuộc sống ngày càng cao Từ ý nghĩa thực tế đó mà đã nảy sinh ra nhiều loại hình dịch vụ, để phần nào đáp ứng đ-ợc những nhu cầu thiết yếu của con ng-ời Các dịch vụ đó đa dạng về nhiều mặt với nhiều cách đáp ứng khác
nhau Một loại hình dịch vụ khá phổ biến hiện nay đó là bán hàng qua mạng
Nếu nh- tr-ớc đây máy tính trở nên xa lạ với mọi ng-ời, thì ngày nay máy tính trở thành một ng-ời bạn đắc lực không thể thiếu Ng-ời ta có thể thông qua máy tính làm đ-ợc mọi chuyện t-ởng nh- là không thể, không những thế mà hiệu quả công việc còn rất cao nó thể hiện nh- độ chính xác nhanh chóng và thuận tiện
Những minh chứng cho sự tiện lợi của máy tính đ-ợc thông qua dịch vụ mua bán trên mạng ở Việt Nam hình thức bán hàng qua mạng đang đ-ợc phát triển và đang đ-ợc ứng dụng vào các doanh nghiệp
Đề tài “ Xây dựng website bán máy tính” sử dụng công nghệ ASP.NET và
hệ quản trị cơ sở dữ liệu SQL Server, với mục đích một phần nào đó chung sức thúc đẩy dịch vụ bán hàng qua mạng phát triển hơn
Đề tài ngoài phần mở đầu, kết luận và tài liệu tham khảo thì bao gồm có
3 ch-ơng:
Ch-ơng I: Giới thiệu công nghệ ASP.NET
Trong ch-ơng này, chủ yếu giới thiệu về công nghệ ASP.NET, ngôn ngữ lập trình C# và Microsoft.NET
Ch-ơng II: Bài toán xây dựng Website bán máy tính
Gồm có Phân tích, thiết kế hệ thống và xây dựng hệ thống Website bán máy tính
Ch-ơng III: Website SNS computer
Gồm những vấn đề đã làm đ-ợc trong ch-ơng trình, mô tả h-ớng dẫn các chức năng trong Website
Trang 5Mặc dù đã cố gắng trong việc tìm hiểu kĩ kiến thức đã học cũng nh- tìm hiểu về cách thức mua bán hàng qua mạng để hoàn thành đ-ợc các yêu cầu
đặt ra của đề tài, nh-ng vì thời gian hạn hẹp và kĩ năng thiết kế web còn ch-a nhiều nên đề tài còn nhiều thiếu sót Rất mong đón nhận sự đánh giá, bổ sung của các thầy cô cũng nh- các bạn sinh viên
Em xin cảm ơn sự tận tình giúp đỡ của giáo viên TS Phan Lê Na và các thầy cô Khoa Toán và Khoa Công nghệ Thông tin - Tr-ờng Đại học Vinh, cùng các bạn đã động viên giúp đỡ em trong quá trình hoàn thành đề tài
Trang 6Ch-ơng I: Giới thiệu công nghệ Asp.net
1.1 Tổng quan về Microsoft.NET
Microsoft.NET gồm 2 phần chính: Framework và Integrated evelopment Environment (IDE) Framework cung cấp những gì cần thiết và căn bản, chữ Framework có nghĩa là khung hay khung cảnh trong đó ta dùng những hạ tầng cơ sở theo một qui -ớc nhất định để công việc đ-ợc trôi chảy IDE thì cung cấp một môi tr-ờng giúp chúng ta triển khai dễ dàng, nhanh chóng các ứng dụng dựa trên nền tảng NET
Nếu không có IDE chúng ta cũng có thể dùng một trình soạn thảo ví nh- Notepad hay bất cứ trình soạn thảo văn bản nào và sử dụng command line để biên dịch và thực thi, tuy nhiên việc này mất nhiều thời gian Tốt nhất là chúng ta dùng IDE phát triển các ứng dụng, cũng là cách dễ sử dụng nhất Thành phần Framework là quan trọng nhất NET là cốt lõi và tinh hoa của môi tr-ờng, còn IDE chỉ là công cụ để phát triển dựa trên nền tảng đó thôi Trong NET toàn bộ các ngôn ngữ C#, Visual C++ hay Visual Basic.NET đều dùng cùng một IDE
Tóm lại Microsoft NET là nền tảng cho việc xây dựng và thực thi các ứng dụng phân tán thế hệ kế tiếp Bao gồm các ứng dụng từ client đến server
và các dịch vụ khác Một số tính năng của Microsoft NET cho phép những nhà phát triển sử dụng nh- sau:
o Một mô hình lập trình cho phép nhà phát triển xây dựng các ứng dụng dịch vụ web và ứng dụng client với Extensible Markup Language (XML)
o Tập hợp dịch vụ XML Web, nh- Microsoft NET My Services cho phép nhà phát triển đơn giản và tích hợp ng-ời dùng kinh nghiệm
o Cung cấp các server phục vụ bao gồm: Windows 2000, SQL Server, BizTalk Server, tất cả điều tích hợp, hoạt động, quản lý các dịch vụ XML Web và các ứng dụng
o Các phần mềm client nh- Windows XP và Windows CE giúp ng-ời
Trang 7phát triển phân phối sâu và thuyết phục ng-ời dùng kinh nghiệm thông qua các dòng thiết bị
o Nhiều công cụ hỗ trợ nh- Visual Studio NET, để phát triển các dịch vụ Web XML, ứng dụng trên nền Windows hay nền web một cách dể dàng
và hiệu quả
1.2 Tổng quan về ngôn ngữ lập trình C#
Ngôn ngữ C# khá đơn giản, chỉ khoảng 80 từ khóa và hơn m-ời mấy kiểu dữ liệu đ-ợc xây dựng sẵn Tuy nhiên, ngôn ngữ C# có ý nghĩa cao khi nó thực thi những khái niệm lập trình hiện đại C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần component, lập trình h-ớng đối t-ợng Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại
Ngôn ngữ C# hội đủ những điều kiện nh- vậy, hơn nữa nó đ-ợc xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java
Ngôn ngữ C# đ-ợc phát triển bởi đội ngũ kỹ s- của Microsoft, trong đó ng-ời dẫn đầu là Anders Hejlsberg và Scott Wiltamuth Cả hai ng-ời này điều
là những ng-ời nổi tiếng, trong đó Anders Hejlsberg đ-ợc biết đến là tác giả của Turbo Pascal, một ngôn ngữ lập trình PC phổ biến Ông đứng đầu nhóm thiết kế Borland Delphi, một trong những thành công đầu tiên của việc xây dựng môi tr-ờng phát triển tích hợp (IDE) cho lập trình client/server Phần cốt lõi hay còn gọi là trái tim của bất cứ ngôn ngữ lập trình h-ớng đối t-ợng là sự
hỗ trợ của nó cho việc định nghĩa và làm việc với những lớp Những lớp thì
định nghĩa những kiểu dữ liệu mới, cho phép ng-ời phát triển mở rộng ngôn ngữ để tạo mô hình tốt hơn để giải quyết vấn đề
Ngôn ngữ C# chứa những từ khóa cho việc khai báo những kiểu lớp đối t-ợng mới và những ph-ơng thức hay thuộc tính của lớp, cho việc thực thi
đóng gói, kế thừa, đa hình, ba thuộc tính cơ bản của bất cứ ngôn ngữ lập trình h-ớng đối t-ợng
Trong ngôn ngữ C# mọi thứ liên quan đến khai báo lớp điều đ-ợc tìm thấy trong phần khai báo của nó Định nghĩa một lớp trong ngôn ngữ C# không đòi hỏi phải chia ra tập tin header và tập tin nguồn giống nh- trong ngôn ngữ C++ Hơn thế nữa, ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn
Trang 8các tag XML để phát sinh tự động các document cho lớp C# cũng hỗ trợ giao diện interface, nó đ-ợc xem nh- một cam kết với một lớp cho những dịch vụ
mà giao diện quy định Trong ngôn ngữ C#, một lớp chỉ có thể kế thừa từ duy nhất một lớp cha, tức là không cho đa kế thừa nh- trong ngôn ngữ C++, tuy nhiên một lớp có thể thực thi nhiều giao diện Khi một lớp thực thi một giao diện thì nó sẽ hứa là nó sẽ cung cấp chức năng thực thi giao diện
Trong ngôn ngữ C#, những cấu trúc cũng đ-ợc hỗ trợ, nh-ng khái niệm
về ngữ nghĩa của nó thay đổi khác với C++ Trong C#, một cấu trúc đ-ợc giới hạn, là kiểu dữ liệu nhỏ gọn, khi tạo thể hiện thì nó yêu cầu ít hơn về hệ điều hành và bộ nhớ so với một lớp Một cấu trúc thì không thể kế thừa từ một lớp hay đ-ợc kế thừa nh-ng một cấu trúc có thể thực thi một giao diện
Ngôn ngữ C# cung cấp những đặc tính h-ớng thành phần oriented), nh- là những thuộc tính, những sự kiện Lập trình h-ớng thành phần
(component-đ-ợc hỗ trợ bởi CLR cho phép l-u trữ metadata với mã nguồn cho một lớp Metadata mô tả cho một lớp, bao gồm những ph-ơng thức và những thuộc tính của nó, cũng nh- những sự bảo mật cần thiết và những thuộc tính khác Mã nguồn chứa đựng những logic cần thiết để thực hiện những chức năng của nó
Do vậy, một lớp đ-ợc biên dịch nh- là một khối self-contained, nên môi tr-ờng hosting biết đ-ợc cách đọc metadata của một lớp và mã nguồn cần thiết
mà không cần những thông tin khác để sử dụng nó
Một l-u ý cuối cùng về ngôn ngữ C# là ngôn ngữ này cũng hỗ trợ việc truy cập bộ nhớ trực tiếp sử dụng kiểu con trỏ của C++ và từ khóa cho dấu ngoặc [] trong toán tử Các mã nguồn này là không an toàn (unsafe) Bộ giải phóng bộ nhớ tự động của CLR sẽ không thực hiện việc giải phóng những đối t-ợng đ-ợc tham chiếu bằng sử dụng con trỏ cho đến khi chúng đ-ợc giải phóng
Trang 91.3 Công nghệ ASP.NET
1.3.1 Giới thiệu về ASP.NET
Trong nhiều năm qua, ASP đã đ-ợc cho rằng đó thực sự là một lựa chọn hàng đầu cho web developers trong việc xây dựng những web sites trên nền máy chủ web windows bởi nó vừa linh hoạt mà lại đầy sức mạnh Đầu năm
2002, Microsoft đã cho ra đời một công nghệ mới đó chính là ASP.NET Đây thực sự là một b-ớc nhảy v-ợt bậc của ASP cả về ph-ơng diện tinh tế lẫn hiệu quả cho các developers
Nó tiếp tục cung cấp khả năng linh động về mặt hỗ trợ ngôn ngữ, nh-ng hơn hẳn về mặt lĩnh vực ngôn ngữ script vốn đã trở nên hoàn thiện và trở thành ngôn ngữ cơ bản của các developers Việc phát triển trong ASP.NET không chỉ yêu cầu hiểu biết về HTML và thiết kế web mà còn khả năng nắm bắt những khái niệm của lập trình và phát triển h-ớng đối t-ợng
ASP.NET là một kỹ thuật phía server (server-side) dành cho việc thiết kế các ứng dụng web trên môi tr-ờng NET
ASP.NET là một kỹ thuật server-side Hầu hết những web designers bắt
đầu sự nghiệp của họ bằng việc học các 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ởi các kỷ thuật client-side, web server đơn giản lấy các files mà đ-ợc yêu cầu và gửi chú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
Với kỹ thuật server-side nh- ASP.NET thì hoàn toàn khác, thay vì việc biên dịch từ phía client, các đoạn mã server-side sẽ đ-ợc biên dịch bởi web server Trong tr-ờng hợp này, các đoạn mã sẽ đ-ợc đọc bởi server và dùng để phát sinh ra HTML, JavaScript và CSS để gửi 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
Trang 10ASP là một kỹ thuật dành cho việc phát triển các ứng dụng web Một ứng dụng web đơn giản chỉ các trang web động Các ứng dụng th-ờng đ-ợc l-u trữ thông tin trong database và cho phép khách truy cập có thể truy xuất và thay
đổi thông tin
Nhiều kỹ thuật và ngôn ngữ lập trình khác cũng đã đ-ợc phát triển để tạo
ra các ứng dụng web nh- PHP, JSP, Ruby on Rails, CGI và ColdFusion Tuy nhiên thay vì trói buộc vào một ngôn ngữ và một công nghệ nhất định, ASP.NET cho phép viết ứng dụng web bằng các loại ngôn ngữ lập trình quen thuộc khác nhau
ASP.NET sử dụng NET Framework, NET Framework là sự tổng hợp tất các các kỷ thuật cần thiết cho việc xây dựng một ứng dụng nền desktop, ứng dụng web, web services… thành một gói duy nhất nhằm tạo ra cho chúng khả năng giao tiếp với hơn 40 ngôn ngữ lập trình
ASP cho phép sử dụng ngôn ngữ lập trình mà ng-ời dùng -a thích hoặc gần gủi với chúng Hiện tại, thì NET Framework hỗ trợ trên 40 ngôn ngữ lập trình khác nhau mà đa phần đều có thể đ-ợc sử dụng để xây dựng nên những web sites ASP.NET Chẳng hạn nh- C# (C sharp) và Visual Basic
1.3.2 Lập trình Web với công nghệ ASP.NET
Việc đầu tiên là phải khởi động phần mềm Microsoft Visual Studio 2008,
“Start/Program/ Microsoft Visual Studio 2008/ Microsoft Visual Studio 2008”
Trang 11TiÕp theo lµ t¹o mét Website míi:
o Chän ASP.NET Web Site
o Language: Chän ng«n ng÷ lËp tr×nh (C#, VB.NET)
Trang 12o Design: Chế độ thiết kế
o Source: Chế độ xem các thẻ ASP.NET
Ví dụ: Xuất hiện dòng văn bản trên trang web
o Thực hiện F5, ta đ-ợc nội dung trang web nh- sau:
Trang 13Ch-ơng II: Bài toán xây dựng website
bán máy tính
2.1 Bài toán
Ngày nay, tr-ớc sự bùng nổ của Công nghệ Thông tin khiến cho nhu cầu
sử dụng máy tính càng trở nên cấp thiết hơn bao giờ hết Tr-ớc đây để có thể
sở hữu đ-ợc một chiếc máy tính nh- mình mong muốn thì khách hàng sẽ phải tìm đến một công ty máy tính để lựa chọn chiếc máy tính mà mình cần mua, việc lựa chọn một hay nhiều mặt hàng sẽ chiếm nhiều thời gian của khách hàng Dịch vụ mua sắm trên mạng giúp khách hàng thoát khỏi những phiền phức này Không chỉ vậy, khách hàng còn dễ dàng so sánh tính năng và giá cả của các mặt hàng để chọn sản phẩm phù hợp
Vì vậy việc “ Xây dựng Website bán máy tính” nhằm mục đích:
o Nhằm đáp ứng nhu cầu mở rộng thị tr-ờng tiêu thụ hàng hoá
o Giới thiệu về doanh nghiệp, quảng bá sản phẩm
o Cập nhật thông tin và luôn đáp ứng đ-ợc nhu cầu của khách hàng
o Tiết kiệm đ-ợc thời gian chi phí đi lại cho khách hàng
o Tăng lợi nhuận cho doanh nghiệp, giảm chi phí quảng cáo
Website sẽ cung cấp những thông tin về các mặt hàng một cách trực quan sinh động, chính xác và đầy đủ
Website sẽ gồm hai phần:
Phần dành cho khách hàng: Cho phép khách hàng dùng trên Internet liệt
kê, tìm kiếm, chọn đặt hàng, thanh toán qua mạng Thông tin về khách hàng
sẽ đ-ợc bảo mật
Phần dành cho ng-ời quản trị: Bao gồm tất cả các chức năng quản trị, xử
lí, điều khiển hay quản lí các nghiệp vụ cũng nh- các chức năng khác của ứng dụng này Có thể thao tác trên cơ sở dữ liệu thông qua giao diện web nh- đọc, ghi, chỉnh, sửa Ngoài ra để an toàn cho hệ thống thì ng-ời quản trị sẽ có mật khẩu truy cập hệ thống
Trang 142.2 Khảo sát hệ thống website “ Công ty máy tính SNS”
2.2.1 Mô tả cơ cấu tổ chức
Website gồm hai phần:
Phần dành cho khách hàng: Giới thiệu sản phẩm máy tính xách tay, máy tính để bàn, linh kiện máy tinh, thiết bị mạng và thiết bị văn phòng Cho phép khách hàng xem thông tin các mặt hàng và đơn giá, ngoài ra khách hàng còn
có thể lọc các sản phẩm theo hãng cũng cấp hoặc theo giá sản phẩm
Phần dành cho ng-ời quản lý: Ng-ời quản lý có chức năng cập nhật thông tin về sản phẩm, tin khuyến mãi, tin tức cho trang web
2.2.2 Quy trình hoạt động của hệ thống
Hoạt động của khách hàng: Khi khách hàng tham quan cửa hàng, khách hàng sẽ đ-ợc biết thông tin về sản phẩm do công ty bán, bao gồm hình ảnh sản phẩm, giá cả…Từ đó khách hàng sẽ chọn loại sản phẩm mà khách hàng -ng ý và liên hệ với công ty để giao dịch mua bán
Hoạt động của nhà quản lý: Nhà quản lý dựa trên thông tin mà khách hàng yêu cầu để đáp ứng Về phía nhà quản lý ngoài việc nhận thông tin từ khách hàng còn phải đ-a thông tin mới về các loại sản phẩm, các sản phẩm bán trên trang web của công ty
2.2.3 Thông tin đầu vào và đầu ra của hệ thống
Thông tin đầu vào:
Thông tin về mặt hàng: Mã mặt hàng, tên mặt hàng, nhà cung cấp, đơn giá, số l-ợng, ảnh mặt hàng, đơn vị tính…
Thông tin về nhà cung cấp: Mã nhà cung cấp, tên nhà cung cấp, địa chỉ nhà cung cấp, tài khoản nhà cung cấp, ảnh nhà cung cấp,…
Thông tin đầu ra:
Thông tin đầu ra của hệ thống là: Thống kê thông tin, kiểm tra thông tin,
xử lí thông tin
Trang 152.2.4 §¸nh gi¸ hÖ thèng hiÖn t¹i
Trang 16Biểu đồ luồng dữ liệu:
- Biểu đồ luồng dữ liệu mức khung cảnh:
Là mô hình tổng quát nhất của quá trình phân tích Coi toàn bộ hệ thống là một chức năng và đây là chức năng duy nhất Mức này chỉ xác định
đ-ợc: các tác nhân ngoài và các luồng dữ liệu vào/ra với tác nhân ngoài
- Biểu đồ luồng dữ liệu mức đỉnh
Trang 17- Biểu đồ luồng dữ liệu mức d-ới đỉnh
o Nhập thông tin
o Sửa thông tin