Công nghệ Asp.net, ngôn ngữ lập trình C# và hệ quản trị cơ sở dữ liệu SQL Server 2005, CSS và javascript để xây dựng hệ thống của mình.. Một số tính năng của Mirosot .NET cho phép nhà ph
Trang 2Vinh - 2011
= =
Trang 3=== ===
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Ngµnh kü s c«ng nghÖ th«ng tin
Giáo viên hướng dẫn: ThS Lương Xuân Phú
Sinh viên thực hiện: Nguyễn Đình Thông
Lớp: 47K - CNTT
Trang 4VINH, 5/2011
= =
Trang 5MỤC LỤC VINH, 5/2011 3
1 Lý do chọn đề tài 7
Trang 6NHỮNG CHỮ VIẾT TẮT TRONG ĐỒ ÁN
CNTT Công nghệ thông tinSQL Structured Query LanguageT-SQL Trannsact - Structured Query LanguageWWW Word Wide Web
IDE Intergrated Development Enviroment
TT Thông tin
KQ Kết quảCLR Common Language RuntimeCSDL Cở sở dữ liệu
XML Extensible Markup LanguageGUI Graphical User interface
SSL Secure Sockets Layer
Trang 7LỜI CẢM ƠN
Trước hết em xin bài tỏ lời cảm ơn chân thành các thầy cô giáo trong khoa Công nghệ Thông tin trường Đại học Vinh đã tận tình giảng dạy, trang bị cho
em những kiến thức cần thiết trong những năm học tại trường
Đặc biệt xin chân thành cảm ơn tới Thạc sĩ Lương Xuân Phú đã tận tình
quan tâm, giúp đỡ và hướng dẫn em trong suốt quá trình thực hiện đồ án để em
có thể hoàn thành tốt đồ án tốt nghiệp này
Xin chân thành cảm ơn tới các anh chị và bạn bè đã có những nhận xét, ý kiến đóng góp, động viên và quan tâm giúp đỡ em vượt qua những khó khăn trong suốt quá trình làm đồ án
Mặc dù em đã cố gắng hoàn thành đồ án trong phạm vi khả năng cho phép nhưng không thể tránh khỏi thiếu sót Em kính mong nhận được sự thông cảm
và tận tình chỉ bảo của Thầy Cô và các bạn để đồ án được hoàn thiện tốt hơn
Vinh, tháng 5 năm 2011
Sinh viên thực hiện
Nguyễn Đình Thông
Trang 8CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1 Lý do chọn đề tài
Việc lựa chọn các sản phẩm (hàng thời trang, điện tử,….) rất cần được sự
tư vẫn của tất cả các cộng đồng Người dùng có thể post các câu hỏi cũng như kiểu style cần ý kiến góp ý của những người khác Đi kèm với các câu hỏi tư vấn và style mới là các sản phẩm Vì vậy để chọn cho mình những sản phẩm có chất lượng và có nguồn gốc rõ ràng thì cần có sự tư vẫn của cộng đồng
Được sự nhất trí của giáo viên hướng dẫn, tôi quyết định chọn đề tài
“Hướng tới một Website Chia Sẻ Cộng đồng”.
1.2 Phạm vi đề tài
Đề tài nghiên cứa cách thức quản lý các chức năng post thông tin sản phẩm lên website hoặc lấy thông tin sản phẩm từ website khác từ công cụ của website Sản phẩm sẽ được lưu vào cơ sở dữ liệu Thông tin tư vẫn về sản phẩm sẽ được gửi đến người dùng
1.3 Yêu cầu của người sử dụng Website cổng thông tin trực tuyến
Để post các câu hỏi tư vấn, người dùng cần upload thông tin sản phẩm từ chính máy của họ hoặc có thể sử dụng tool do wesite cung cấp để lấy thông tin
từ website khac, mỗi sản phẩm sau khi được thêm sẽ đưa vao mylist
1.4 Yêu cầu từ bên phía quản trị
Khi người dùng đưa ra các câu hỏi cần tư vẫn, người quản trị thống kê nội dung và sẽ có kết quả gửi thông tin tư vẫn cho người dùng Đồng thời chịu trách nhiệm xem xét nội dung có hợp lệ hay không để đưa quyết định có đưa lên website hay không
Trang 91.5 Mô tả bài toán
1.5.1 Mô tả
Cộng đồng là nơi mà mọi người có thể chia sẻ những thông tin cũng như giúp đỡ nhau và tư vẫn cho nhau về những câu hỏi, về những sản phẩm có mặt trên thị trường để mọi người có thể chọn lựa cho mình những mặt hàng và thông tin chính xác
Vì vậy tin học hóa vấn đề này là rất bổ ích cho tất cả cộng đồng trong xã hội
Các vẫn đề đặt ra để giải quyết khi tin học hóa :
Quán lý các chức năng làm thế nào để khách hàng có thông tin nhanh nhất, chính xác nhất …
Các thông báo, tin tức hỗ trợ cho những người dùng được tổ chức lưa trữ
và đưa đến người dùng như thế nào là hợp lý nhất
Khi người dùng post câu hỏi tư vấn thì được lưu trữ và hiển thị thế nào để người dùng có thể theo dõi câu hỏi của mình
Thông qua các sản phẩm trong hệ thống hoặc hỗ trợ lấy thông tin từ website khác, người dùng có thể lấy thông tin từ đó để đưa ra câu hỏi tư vấn
1.5.2 Yêu cầu hệ thống
Việc tư vẫn truyền thống là giao tiếp rồi tư vẫn trực tiếp đòi hỏi rất nhiều thời gian, nên cần đưa ra hệ thống tư vấn trực tiếp trên internet nhằm giải quyết thời gian và công sức cho tất cả cộng đồng
1.5.3 Đối với người quản trị
Người quản trị phải thường xuyên cập nhật sản phẩm cho hệ thống, kiểm duyệt các poll (tư vấn), quản lý các account (tài khoản), kiểm duyệt các styleboard ( khoe phong cách), quản lý sản phẩm…
Người quản trị có thể khóa các account vi pham điều khoản của hệ thống
Trang 101.5.4 Đối với người sử dụng
+ Post các vẫn đề cần tư vẫn đi kèm là các sản phẩm cần tư vấn
+ Người dùng có thể sửa các poll của mình
+ Người dùng có thể tự tạo style cho mình và quản lý danh sách styleboard do họ tạo ra như thêm mới, xóa, sửa
+ Gửi comment cho các vẫn đề tư vẫn trên hệ thống
Trang 11CHƯƠNG 2: GIỚI THIỆU VỀ CÔNG CỤ LẬP TRÌNH
Khi xây dựng bất kỳ một hệ thống nào thì việc lựa chọn công cụ là cộng việc hiết sức quan trọng, nó quyết định phần lớn thành công của hệ thống
Qua việc tìm hiểu, tham khảo tôi lựa chọn các công cụ sau để xây dựng hệ thống của mình Công nghệ Asp.net, ngôn ngữ lập trình C# và hệ quản trị cơ sở
dữ liệu SQL Server 2005, CSS và javascript để xây dựng hệ thống của mình Sau đây là đôi nét về các công cụ này
2.1 Công nghệ Net
2.1.1 Giới thiệu công nghệ Net
Mircosoft Net gồm 2 phần chính: FrameWork và Intergrated Development Enviroment(IDE) Framework cung cấp những gì cần thiết và căn bản, chữ Framework có nghĩ là khung hay khung cảnh trong đó ta dùng những hạ tầng cở
sở theo một quy ước nhất định để công việc được trôi chảy IDE cung cấp môi trường giúp ta triển khai dễ dàng, và 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ó thể dùng một trình soạn thảo ví như Notepad hay bất cứ trình soạn thảo nào dùng Comand 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, và cũng là cách dễ sứ dụng nhất
Thành phần Framework là quan trọng nhất là NET, đây là phần cốt lõi của trường, còn IDE chỉ là công cụ để phát triển dự trên nền tảng đó Trong NET toàn bộ các ngôn ngữ C#, Visual C++ hay Visual Basic.NET đều dùng một IDE
Tóm lại Microsot NET là nền tảng cho việc 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 theo Bao gồm các ứng dụng từ clien
Trang 12đên server và các dịch vụ khác Một số tính năng của Mirosot NET cho phép nhà phát triển sử dụng như sau:
Một mô hình lập trình cho phép nhà phát triển xây dựng các các ứng dụng dịch vụ Web và các ứng dụng clien với Extensile Markup Language(XML)
Tập dịch vụ XML Web, như Microsof.NET My Services cho phép nhà phát triển đơn giản và tích hợp với người dùng kinh nghiệm
Cung cấp các dịch vụ bao gồm: Windows 2000, SQL Server, và BizTalk Server, tất cả đều tich hợp và hoạt động, và quản lý các dịch vụ XML Web và các ứng dụng
NET cho phép cho phép chúng ta có thể lập trình trên các thiết bị di động một cách có hiệu quả
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 trên nên Web một cách hiệu quả nhất
2.1.2 Kiến trúc NET Framework
NET Framework là một paltfrom mới làm đơn giản việc phát triển ứng
dụng trong môi trường phân tán của Internet NET Framework được thiết kế dầy
đủ để đáp ứng theo quan điểm sau:
Cung cấp một môi trường lập trình hướng đối tượng vững chắc, trong đó
mã nguồn đối tượng được được lưa trữ và thực thi một cách cục bộ Thực thi cục bộ nhưng phân tán trên Internet, hoặc thực thi từ xa
Cung cấp một môi trường thực thi mã nguồn mà tối thiếu được việc đóng gói phần mền và sự tranh chấp về phiên bản
Cung cấp một môi trường thực thi mã nguồn mà đảm bảo việc thực thi an toàn mã nguồn, bao gồm cả việc mã nguồn được tạo bởi hãng thứ ba hay bất cứ hãng nào mà tuân theo kiến trúc NET
Trang 13Cung cấp một môi trường thực thi mã nguồn mà loại bỏ được nhưng lỗi thực hiện các scrips hay môi trường thông dịch.
Làm cho những người phát triển có kinh nghiệm vững chắc có thể nắm vững nhiều ứng dụng khác nhau Như từ những ứng dụng trên Windows đến những ứng dụng trên dựa trên nền Web
Xây dựng tất cả các thông tin dựa trên tiêu chuẩn công nghiệp để đảm bảo rằng mã nguồn trên NET có thể tích hợp với bất kỳ mã nguồn nào khác
NET Framework có hai thành chính: Common Language Runtime (CLR)
và thư viện lớp NET Framework CLR là nền tảng của NET Framwork Chúng
ta có thể hiểu runtime như là một agent quản lý mã nguồn khi nó thực thi, cung cấp các dịch vụ cốt lõi như: quản lý bộ nhớ, quản lý tiểu trình và quản lý từ xa Ngoài ta nó còn thúc đẩy việc sứ dụng kiểu an toàn và các hình thức khác của việc chính xác mà nguồn, đảm bảo cho việc thực thi được bảo mật, chặt chẽ Khái niệm quản lý mã nguồn theo nguyên lý riêng của runtime Mã nguồn mà tới đích runtime thì được biết như là mã nguồn thực thu quản lý(manaded code) Trong khi đó mã nguồn mà không có đích tới runtime thì được biết như lã mã nguồn không được quản lý(unmanaged code)
Thư viện lớp , một thành phần khác của NET Framewrok là tập hợp hướng đối tượng của các kiểu dự liệu được dùng lại, nó cho phép chúng ta có thể phát triển các các ứng dụng từ những ứng dụng truyền thống conmad-line hay những ứng dụn giao diện đồ họa (GUI) đến những ứng dụng mới nhất được cung cấp bởi ASP.NET, như là Web From và dịch vụ XML Web
Sau đây là mô hình mô tả các thành phần trong Net Framework
Trang 14Hình 2.1 : Các bộ phận chính của Microsoft.NET Framework
2.2 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,
Trang 15JavaScript 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
Hình 2.2 : Người dùng tương tác với web ứng dụng
Trang 16ASP 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 bạn vào một ngôn ngữ và một công nghệ nhất định, ASP.NET cho phép bạn 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
Thậm chí với những sự lý giải kỹ càng như vậy, bạn vẫn ngạc nhiên tự hỏi điều gì làm nên một ASP.NET tốt như vậy Sự thật là có rất nhiều kỹ thuật server-side với điểm mạnh và điểm yếu riêng nhưng ASP.NET có những tính năng gần như là duy nhất
ASP.NET cho phép bạn sử dụng ngôn ngữ lập trình mà bạn ư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
Nhưng trang ASP.NET được Compiled chứ không phải là Interpreted Khác với các trang ASP được Interpreted, điều này có nghĩa là mỗi lần người dùng yêu cầu một trang, máy chủ sẽ đọc các đoạn mã vào bộ nhớ, xử lý cách thức thực thi các đoạn mã và thực thi chúng Đối với ASP.NET, máy chủ chỉ càn
xử lý cách thức thực thi một lần duy nhất Đoạn mã sẽ được Compiled thành các files mã nhị phân cái mà được thực thi rất nhanh mà không cần phải đọc lại Chính điều này tạo ra bước tiến nhảy vọt về hiệu suất so với ASP
Trang 17ASP.NET đã cả khả năng toàn quyền truy xuất tới các chức năng của NET Framework Hỗ trợ XML, web services, giao tiếp với CSDL, email và rất nhiều các kỹ thuật khác được tích hợp vào NET, giúp bạn tiết kiệm được công sức.ASP.NET cho phép bạn phân chia các đoạn mã server-side và HTML Khi bạn phải làm việc với cả đội ngũ lập trình và thiết kế, sự tách biệt này cho phép các lập trình viên chỉnh sửa server-side code mà không cần dính dáng gì tới đội ngũ thiết kế.
ASP giúp cho việc tái sử dụng những yếu tố giao diện người dùng trong nhiều web form vì nó cho phép chúng ta lưu các thành phần này một cách độc lập
Bạn có được một công cụ tuyệt vời hỗ trợ phát triển các ứng dụng ASP.NET hoàn toàn miễn phí, đó là Visual Web Developer, một trình soạn thảo trực quan mạnh mẽ có tính năng Code Autocompletion, Code Format, Database Integration Functionality, Visual HTML editor, Debugging
2.3 Tìm hiểu ngôn ngữ lập trình C#
2.3.1 Giới thiệu 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 Và 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
Trang 18Turbo Pascal, một ngôn ngữ lập trình PC phổ biến Và ô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, và cho việc thực thi đóng gói, kế thừa, và đ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 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ợ, 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, và 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ộtgiao 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
Trang 19(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) Và 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
Những ưa điểm của C#
Ngôn ngữ C# là một ngôn ngữ được dẫn xuất từ C và C++, nhưng nó được tạo từ nền tảng phát triển hơn Microsoft bắt đầu với công việc trong C và C++
và thêm vào những đặc tính mới để làm cho ngôn ngữ này dễ sử dụng hơn Nhiều trong số những đặc tính này khá giống với những đặc tính có trong ngôn ngữ Java Không dừng lại ở đó, Microsoft đưa ra một số mục đích khi xây dựng ngôn ngữ này Những mục đích này được được tóm tắt như sau:
• C# là ngôn ngữ đơn giản
• C# là ngôn ngữ hiện đại
• C# là ngôn ngữ hướng đối tượng
• C# là ngôn ngữ mạnh mẽ và mềm dẻo
• C# là ngôn ngữ có ít từ khóa
• C# là ngôn ngữ hướng module
• C# sẽ trở nên phổ biến
Trang 202.4 Hệ quản trị cơ sở dữ liệu SQL Server 2008
Microsoft SQl server là một hệ quản trị cơ sở dữ liệu quan hệ (relational database management system – RDBMS) do Microsoft phát triển SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ mạng máy tính hoạt động theo mô hình khách chủ cho phép đồng thời cùng lúc có nhiều người dùng truy xuất đến dữ liệu, quản lý việc truy nhập hợp lệ và các quyền hạn của từng người dùng trên mạng Ngôn ngữ truy vấn quan trọng của Microsoft SQL server là Transact-SQL Transact-SQL là ngôn ngữ SQL mở rộng dựa trên SQL chuẩn của ISO (International Organization for Standardization) và ANSI (American National Standards Institute) được sử dụng trong SQL Server
Hình 2.3 : Hệ quản trị cơ sở dữ liệu SQL Server 2008
Quay lại lịch sử, lúc đầu Microsoft đã quay sang kết hợp với công ty Sybase để cùng hợp tác làm ra một sản phẩm thuộc loại hệ quản trị cơ sở dữ liệu (Database Management System) Với sự hợp tác tốt đẹp, hai công ty này đã
Trang 21thành công cho ra đời một sản phẩm thuộc loại cơ sở dữ liệu có tên là Tate vào năm 1989, sản phẩm này hoạt động trên môi trường OS/2 Sau đó một thời gian, Sybase đã phát triển sản phẩm này trên môi trường UNIX và đổi tên riêng là DataServer mà ngày nay còn có tên khác là Sybase Adaptive Server Microsoft quyết định không phát triển hệ điều hành OS/2 mà thay vào đó cho ra đời một hệ điều hành mạng máy tính có tên là Windows NT Server Và thế là SQL Serverchỉ hoạt động độc lập trên môi trường Windows NT Server mà thôi Lần lượt các phiên bản của Microsoft SQL Server đã ra đời sau sự kiện này, từ 4.2 sau đó được nâng cấp thành 4.21, 6.0, 6.5, 7.0 và hiện giờ là Microsoft SQL Server 2000, 2005 và mới nhất là Microsoft SQL Server2008.
Ashton-SQL có nhiều phiên bản, ở đây tôi xin nhấn mạnh một số phiên bản nổi bật:
SQL Server 2005: SQL Server 2005, được phát hành vào tháng 11 năm
2005, là phiên bản tiếp theo của SQL Server 2000 SQL Server 2005 tập trung vào khả năng xử lý giao dịch trực tuyến trên diện rộng OLTP ( large-scale online transactional processing), ứng dụng thương mại điện tử (e-commerce applications) và kho dữ liệu (data warehousing) Ngoài ra, những cải tiến quan trọng trong SQL Server 2005 là thêm các dịch vụ mới như: dịch vụ báo cáo Reporting Services, Service Broker và sự thay đổi đáng kể trong Database Engine
SQL Server 2008: Đây là phiên bản mới nhất của SQl Server, có tên mã là
“katmai” Ngày 27/02/2008 , Microsoft tổ chức một sự kiện có tên Heroes Happen Here nhằm giới thiệu sản phẩm mới SQL Server 2008 (cùng với những sản phẩm khác như Windows Server 2008; Visual Studio 2008) Bản SQL Server 2008 Release Candidate sẽ được trình làng trong quý II, trong khi đó, bản hoàn chỉnh sẽ mắt trong quý III (2008)
Trang 22Để xứng đáng là một người bạn đường tin cậy, Microsoft SQL server
2008 có những điểm mới, tiến bộ sau:
Một trong điểm nổi bật khi xem xét về SQL Server 2008 của Microsoft là tính năng phân loại biệt ngữ mới và các lợi ích vào trong nhóm hoặc các vùng chính Có bốn vùng chính đó là Enterprise Data Platform, Dynamic Development, Beyond Relational Database, và Pervasive Insight
SQL Server 2008 có tác dụng đòn bẩy cho công nghệ NET 3.0 (Dot Net Framework 3.0) với LINQ (Language Integrated Query – ngôn ngữ truy vấn tích hợp) Thêm vào đó là sự hỗ trợ hiệu quả hơn cho các thực thể dữ liệu doanh nghiệp cùng với các tùy chọn đồng bộ dữ liệu
Tóm lại: SQL Server 2008 có nhiều cải thiện hữu dụng và thiết thực Có liệt kể một cách sơ lược như sau:
Mã hóa dữ liệu: trong suốt cho phép toàn bộ cơ sở dữ liệu, các bảng và dữ liệu có thể được mã hóa mà không cần phải lập trình ứng dụng Trong SQL Server 2008, toàn bộ cơ sở dữ liệu đều có thể được mã hóa bằng SQL Engine Phương pháp này mã hóa tất cả dữ liệu và các file bản ghi cho cơ sở dữ liệu Bằng sử dụng phương pháp này, tất cả các chỉ mục và bảng cũng được mã hóa
Tính năng mã hóa tiếp theo là Backup Encryption SQL Server 2008 có một phương pháp mã hóa các backup dùng để tránh lộ và can thiệp của người khác vào dữ liệu Thêm vào đó, việc phục hồi backup có thể được hạn chế với từng người dùng cụ thể
Cuối cùng, có một số tùy chọn mới cho External Key Management Nếu bạn có dính dáng tới việc xử lý thẻ tín dụng hoặc PCI (thẻ trả trước), thì SQL Server 2008 sẽ hỗ trợ Hardware Security Modules (HSM) – mô đun bảo mật phần cứng Các mô đun này là giải pháp phần cứng của nhóm thứ ba được sử dụng để lưu các Key ở một địa điểm phân biệt với dữ liệu mà chúng bảo vệ
Trang 23Backup có thể được mã hóa để ngăn chặn việc lộ và thay đổi dữ liệu Sự thay đổi và truy cập dữ liệu có thể được thẩm định Thêm vào việc thẩm định chuẩn cho logon / logoff và các thay đổi được phép, SQL Server 2008 cho phép kiểm tra sự thay đổi hay truy cập dữ liệu.
Fact Tables có thể được nén với hiệu suất cao SQL Server Data Compression đã thực sự thực hiện được mục tiêu chính là giảm kích thước của Fact Table Vì vậy liên quan với việc lưu trữ trên các ổ đĩa cứng, với các file vật
lý nhỏ hơn, số lần backup được giảm
Tài nguyên chủ có thể được bảo đảm an toàn Quản lý tài nguyên - Resource Governor - trong SQL Server 2008 cũng là một điểm mới Governor được sử dụng để hạn chế người dùng hoặc nhóm người dùng chi phối các lớp tài nguyên mức cao
Điểm mới trong SQL Server 2008 phải kể đến nữa là Performance Studio Studio là một trong các công cụ hiệu suất Cùng với đó chúng có thể được sử dụng cho việc kiểm tra, xử lý sự cố, điều chỉnh và báo cáo Thành phần Data Collector của Studio có thể cấu hình Nó hỗ trợ một số phương pháp chọn gồm
có các truy vấn TSQL, SQL Trace, và Perfmon Counters Dữ liệu cũng có thể được chọn bằng lập trình Khi dữ liệu được chọn, có các tùy chọn báo cáo chung
SQL 2008 hỗ trợ Hot Plug CPU trong SQL Server 2008, các CPU cắm thêm có thể được bổ sung vào nếu phần cứng của hệ thống hỗ trợ nó
Bộ đếm hiệu suất được mở rộng Số bộ đếm hiệu suất trong SQL Server
2008 đã được mở rộng hơn so với phiên bản trước đó IO và các bộ đếm hiệu suất bộ nhớ là một cặp có thể được chọn để kiểm tra hiệu suất Dữ liệu đã được chọn bằng bộ đếm sẽ được lưu trong trung tâm lưu dữ liệu tập trung Microsoft phát biểu rằng việc chạy thiết lập hiệu suất mặc định liên quan đến các kiểm tra
Trang 24sẽ tốn ít hơn 5% tài nguyên bộ nhớ và CPU.Có một công cụ Performance Dashboard có thể đọc dữ liệu hiệu suất đã được lưu.
Việc cài đặt đã được đơn giản hóa Bộ đặt SQL Server 2008 cũng có nhiều nâng cao Dữ liệu cấu hình và các bit “engine” được tách biệt vì vậy nó có thể tạo một đĩa hệ thống không cấu hình cơ bản phân phối đến một số máy chủ
dễ dàng hơn Cài đặt có thể cập nhật được các nâng cấp mới nhất từ website Microsoft Tính năng khác là khả năng cài đặt SQL Server, gói dịch vụ và các bản vá Đi cùng với tính năng này là khả năng gỡ bỏ cài đặt các gói dịch vụ một cách dễ dàng
Trang 25CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1 Đặc tả bài toán
Trên cơ sở đã tìm hiểu và nghiên cứu các mô hình chức năng của hệ thống
và các mô hình đã được xây dựng trong thực tế Tôi đã xây dựng một mô hình quán lý cộng đồng có chức năng chính là quản lý nội dung(như quán lý sản phẩm, quản lý account, kiểm duyệt poll …) hệ thống Website sẽ gồm các chức năng nhằm cung cấp môi trường làm việc trực tuyến cho các người quản trị cũng như người dùng, cũng là môi trường để quản lý hệ thống tương tác hệ thống để quản trị hệ thống
Sau đây là mô hình tương tác giữa người sử dụng và hệ thống:
1 Quản lý website (Cập nhật sản phẩm, quản lý người dùng…)
2 Người dùng (post poll, quản lý my styleboard, comment…)
Hình 3.1 mô hình tương tác giữa người sử dụng và hệ thống
Trang 263.2 Phân tích bài toán
Từ bài toán đặt ra ở trên ta thấy được trong hệ thống website có hai tác nhân chính tương tác với hệ thống đó là : người quản trị hệ thống và người dùng
Đối với người quản trị hệ thống
Là người có toàn quyền quản lý hệ thống Người quản trị sẽ tương tác với hầu hết các chức năng hệ thống website để quản lý các thông tin trên hệ thống như: “Quản lý account”, “Quản lý sản phẩm”, “Quản lý hepl”, “Kiểm duyệt poll”,…
Với chức năng “quản lý account” người quản trị có thể xem, xóa ,sửa, khóa account Với chức năng “quản lý sản phẩm” người quản trị có thể thêm mới, xóa, sửa, duyệt sản phẩm Với chức năng “quản lý hepl” người quản trị thêm mới, sửa, xóa các help Với chức năng “kiểm duyệt poll” người quản trị có thể khóa các poll Với chức năng “kiểm duyệt styleboard” người quản trị có thể khóa các styleboard Với chức năng “kiểm duyệt comment” người quản trị có thể xóa,sửa các comment
Đối với người dùng
Người dùng đã login thì có thể post poll, tự tạo styleboard và comment.Người dùng có thể tự quản lý styleboard của mình như thêm mới, xóa,sửa styelboard
3.3 Thiết kế hệ thống
Qua sự phân tích tổng hợp trên tôi đã thiết kế hệ thống website gồm các chức năng chính được mô tả trên biểu đồ phân cấp chức năng, biểu đồ luồng dữ liệu mức đỉnh, mức dưới đỉnh như sau
Trang 273.3.1 Biểu đồ phân cấp chức năng
Quản lý chuyên mục help Thêm mới Sửa
Quản lý hepl
Sửa Xóa
Quản lý styleboards Thêm mới
Xóa Kiểm duyệt
Quản lý poll Thêm mới
Sửa
Kiểm duyệt
Quản lý comment
Quản lý MyList
Tạo MyList Sửa Xóa
Trang 283.3.2 Biểu đồ luồng dữ liệu mức khung cảnh
Người dùng Người Quản trị