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ôitrờng, còn IDE chỉ là công c
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 Mục lục
Mở đầu 3
Chơng I: Giới thiệu công nghệ Asp.net 5
1.1 Tổng quan về Microsoft.NET 5
1.2 Tổng quan về ngôn ngữ lập trình C# 6
Trang 21.3 Công nghệ ASP.NET 8
1.3.1 Giới thiệu về ASP.NET 8
1.3.2 Lập trình Web với công nghệ ASP.NET 9
Chơng II: Bài toán xây dựng website bán máy tính 12
2.1 Bài toán 12
2.2 Khảo sát hệ thống website “Công ty máy tính SNS” 13
2.2.1 Mô tả cơ cấu tổ chức 13
2.2.2 Quy trình hoạt động của hệ thống 13
2.2.3 Thông tin đầu vào và đầu ra của hệ thống 13
2.2.4 Đánh giá hệ thống hiện tại 14
2.2.5 Giao diện website “Công ty máy tính SNS” 14
2.3 Phân tích hệ thống 14
2.3.1 Biểu đồ luồng dữ liệu 3 mức 14
2.3.2 Mô hình quan hệ các kiểu thực thể liên kết 18
2.3.3 Các bảng cơ sở dữ liệu 20
2.3.4 Lợc đồ quan hệ trong bảng cơ sở dữ liệu 23
2.3.5 Chu trình bán máy tính trên mạng 24
Chơng III: Website SNS COMPUTER 25
3.1 Giao diện chính trang Web 25
3.1.1 Giao diện trang chủ 25
3.1.2 Giao diện trang sản phẩm 26
3.1.3 Giao diện trang giỏ hàng 26
3.1.4 Giao diện trang tìm kiếm sản phẩm 29
3.1.5 Giao diện trang đăng kí 29
Trang 33.2 Giao diÖn dµnh cho nhµ qu¶n lý 29
KÕt luËn 32 Tµi liÖu tham kh¶o 33
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ạihì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ộtloạ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áytí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 quamáy tính làm đợc mọi chuyện tởng nh là không thể, không những thế mà hiệuquả công việc còn rất cao nó thể hiện nh độ chính xác nhanh chóng và thuậntiệ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áttriể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ứcthú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ônngữ 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 Websitebá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ẫncác chức năng trong Website
Mặc dù đã cố gắng trong việc tìm hiểu kĩ kiến thức đã học cũng nh tìmhiể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, nhng vì thời gian hạn hẹp và kĩ năng thiết kế web còn cha nhiềunên đề tài còn nhiều thiếu sót Rất mong đón nhận sự đánh giá, bổ sung củacá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ácthầy cô Khoa Toán và Khoa Công nghệ Thông tin - Trờng Đại học Vinh, cùngcá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 evelopmentEnvironment (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ầngcơ sở theo một qui ớc nhất định để công việc đợc trôi chảy IDE thì cung cấpmột môi trờng giúp chúng ta triển khai dễ dàng, nhanh chóng các ứng dụngdự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í nhNotepad 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ôitrờ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 đềudù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ữngnhà 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ụngdị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épnhà 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 pháttriển phân phối sâu và thuyết phục ngời dùng kinh nghiệm thông quacá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#
Trang 7Ngôn ngữ C# khá đơn giản, chỉ khoảng 80 từ khóa và hơn mời mấy kiểudữ liệu đợc xây dựng sẵn Tuy nhiên, ngôn ngữ C# có ý nghĩa cao khi nó thựcthi những khái niệm lập trình hiện đại C# bao gồm tất cả những hỗ trợ chocấ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ựngtrê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 ngng-ờ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ủaTurbo 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ựngmôi trờng phát triển tích hợp (IDE) cho lập trình client/server Phần cốt lõihay 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ì địnhnghĩ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 ợ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 đónggó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
t-đố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ấytrong phần khai báo của nó Định nghĩa một lớp trong ngôn ngữ C# không đòihỏ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 cá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ợ, nhng 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 nhng 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
Trang 8(component-oriented), nh là những thuộc tính, những sự kiện Lập trình hớng thành phần
đ-ợc hỗ trợ bởi CLR cho phép lu 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ínhcủ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 ờ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ó
tr-Một lu ý cuối cùng về ngôn ngữ C# là ngôn ngữ này cũng hỗ trợ việc truycậ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 đợctham 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ọnhàng đầu cho web developers trong việc xây dựng những web sites trên nềnmá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 Đâythự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ữ, nhnghơ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.NETkhông chỉ yêu cầu hiểu biết về HTML và thiết kế web mà còn khả năng nắmbắ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ầumột trang web đợc tạo ra bởi các kỷ thuật client-side, web server đơn giản lấycác files mà đợc yêu cầu và gửi chúng xuống Phía client chịu trách nhiệmhoà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ệcbiên dịch từ phía client, các đoạn mã server-side sẽ đợc biên dịch bởi webserver 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 ứngdụng web đơn giản chỉ các trang web động Các ứng dụng thờng đợc lu 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 Tuynhiê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 quenthuộc khác nhau
ASP.NET sử dụng NET Framework, NET Framework là sự tổng hợp tấtcá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, ứngdụ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ầngủi với chúng Hiện tại, thì NET Framework hỗ trợ trên 40 ngôn ngữ lập trìnhkhác nhau mà đa phần đều có thể đợc sử dụng để xây dựng nên những websites 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”
Tiếp theo là tạo một Website mới:
Trang 11o Chọn ASP.NET Web Site
o Language: Chọn ngôn ngữ lập trình (C#, VB.NET)
o 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
Trang 12o 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ệclự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ứcnà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ủacá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:
oNhằm đáp ứng nhu cầu mở rộng thị trờng tiêu thụ hàng hoá
oGiới thiệu về doanh nghiệp, quảng bá sản phẩm
oCập nhật thông tin và luôn đáp ứng đợc nhu cầu của khách hàng
oTiết kiệm đợc thời gian chi phí đi lại cho khách hàng
oTă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 quansinh độ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 ứngdụ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ậtkhẩu truy cập hệ thống
2.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áytí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
Trang 14khá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ôngtin 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áchhà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ảnphẩ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áchhà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ántrê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, đơngiá, 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,
Trang 152.3 Phân tích hệ thống
2.3.1 Biểu đồ luồng dữ liệu 3 mức
Biểu đồ phân cấp chức năng:
Biể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
Trang 16- Biểu đồ luồng dữ liệu mức đỉnh
- Biểu đồ luồng dữ liệu mức dới đỉnh
o Nhập thông tin