Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 50 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
50
Dung lượng
1,57 MB
Nội dung
XâydựngphầnmềmAutoGenerateCodevàứngdụngvàoWebsitetintức MỤC LỤC MỤC LỤC 1 LỜI NÓI ĐẦU 2 CHƯƠNG 1: MỘT SỐ CÔNG NGHỆ ĐỂ TRIỂN KHAI PHẦNMỀMVÀWEBSITE .5 CHƯƠNG 2: MÔ HÌNH 3 LỚP .16 CHƯƠNG 3: HỆ QUẢN TRỊ CSDL SQL SEVER 2005 22 CHƯƠNG 4: PHẦNMỀMỨNGDỤNG “AUTO GENERATE CODE” .26 CHƯƠNG 5: ỨNGDỤNG CỦA PHẦNMỀMVÀOWEBSITETINTỨC .39 TÀI LIỆU THAM KHẢO 50 Trịnh Văn Ngọc – Lớp 47K – Khoa CNTT – ĐH Vinh 1 XâydựngphầnmềmAutoGenerateCodevàứngdụngvàoWebsitetintức LỜI NÓI ĐẦU Ngày nay, trong lĩnh vực công nghệ thông tin có nhiều sự thay đổi, và phát triển lớn trên nhiều mặt. Và các phầnmềmứngdụng ngày càng phát triển lớn mạnh và đa dạng thì vấn đề thiết kế kiến trúc cho phầnmềm cũng ngày càng trở nên phức tạp. Những ứngdụng web giờ đây cũng đã phát triển đến một tầm cao mới, chúng không còn là những ứngdụng web thông thường với chức năng hiển thị thông tin mà là những hệ thống thông tin hỗ trợ những trang web tương tác với người dùng. Nhiều giải pháp thiết kế kiến trúc hệ thống được đưa ra với mục đích làm cho hệ thống linh hoạt, mềm dẻo, dễ phát triển và khoa học trong đó có giải pháp thiết kế theo mô hình 3 lớp là giải pháp được sử dụng phổ biến nhất hiện nay. Qua việc tìm hiểu cũng như đi vào thực tiễn làm một số dự án (Web) có sử dụng mô hình 3 lớp thì tôi thấy rằng việc xâydựng một website luôn đi theo trình tự đó là thiết kế cơ sở dữ liệu, xâydựng các Stored Procedure (thủ tục lưu trữ) làm trung gian để tương tác giữa Database và lớp Data Access Layer (Lớp truy xuất dữ liệu), xâydựng lớp Business Logic Layer (Lớp xử lý nghiệp vụ) và cuối cùng là lớp Presentation Layer (Lớp giao diện). Trong đó việc xâydựng các Stored Procedure và lớp Data Access Layer đều thực hiện các chức năng cơ bản như: cập nhập, thêm, xóa, chọn tất cả, chọn một bản ghi có điều kiện. Những chức năng trên đối với các cơ sở dữ liệu khác nhau thì đều có cú pháp giống nhau, do đó sẽ có sự lặp đi lặp lại các chức năng đó đối với mỗi cơ sở dữ liệu và sẽ mất thời gian đối với công việc bắt buộc và nhàm chán này. Với hi vọng giúp người lập trình giảm được những công việc trên bằng cách tự động tạo ra các tệp Stored Procedure, các tập tin trong lớp Data Access Layer giúp lập trình viên làm việc nhanh hơn và tiến độ công việc được đẩy nhanh hơn, tôi tìm hiểu về cách tạo tệp Stored Procedure và các tệp trong lớp Trịnh Văn Ngọc – Lớp 47K – Khoa CNTT – ĐH Vinh 2 XâydựngphầnmềmAutoGenerateCodevàứngdụngvàoWebsitetintức Data Access Layer trong C# và cách thức lấy các bảng hệ thống trong CSDL SQL Server 2005 nhằm tạo ra được các tệp đó. Chương trình được xâydựng bằng ngôn ngữ lập trình C# sử dụng hệ quản trị SQL sever 2005 vàwebsiteứngdụng chương trình được xâydựng bằng công nghệ website mới ASP.NET. Đồ án bao gồm 5 chương: - Chương I: Một số công nghệ để triển khai phầnmềmvàwebsite (Giới thiệu các công nghệ sử dụng để xâydựngphầnmềmvàwebsite demo) - Chương II: Mô hình 3 lớp (Giới thiêu về mô hình 3 lớp) - Chương III: Hệ quản trị cơ sở dữ liệu SQL sever 2005 (Giới thiệu về hệ quản trị CSDL SQL sever 2005 và đưa ra các kiến thức về các bảng của hệ thống có sử dụng trong phần mềm) - Chương IV: PhầnmềmứngdụngAutoGenerateCode (Giới thiệu về phầnmềmvà nêu lên các điểm nổi bật trong phần mềm) - Chương V: Ứngdụng của phầnmềmvàowebsitetintức (Giới thiệu trang web và mô tả quan hệ giữa phầnmềmvà trang web) Đề tài này được hoàn thành nhờ sự quan tâm, động viên của gia đình, các bạn trong lớp và đặc biệt là sự giúp đỡ tận tình, chu đáo của thầy giáo hướng dẫn - TS. Nguyễn Trung Hòa. Tôi xin bày tỏ lòng biết ơn sâu sắc tới thầy Nguyễn Trung Hòa cùng các thầy cô trong tổ Khoa học máy tính đã góp ý giúp tôi thực hiện đề tài này. Trịnh Văn Ngọc – Lớp 47K – Khoa CNTT – ĐH Vinh 3 XâydựngphầnmềmAutoGenerateCodevàứngdụngvàoWebsitetintức Do nhiều yếu tố khách quan và do tầm hiểu biết chưa sâu sắc, đề tài chắc chắn còn nhiều sai sót, hạn chế. Tôi mong được sự góp ý chân thành của thầy cô và các bạn để kịp thời sửa chữa và hoàn thiện tốt hơn. Tôi xin chân thành cảm ơn ! Sinh viên thực hiện Trịnh Văn Ngọc Trịnh Văn Ngọc – Lớp 47K – Khoa CNTT – ĐH Vinh 4 XâydựngphầnmềmAutoGenerateCodevàứngdụngvàoWebsitetintức CHƯƠNG 1: MỘT SỐ CÔNG NGHỆ ĐỂ TRIỂN KHAI PHẦNMỀMVÀWEBSITE 1.1. Tổng quan về Microsoft.NET Microsoft.NET gồm 2 phần chính: Framework và Integrated Development 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 ứngdụ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âydựngvà thực thi các ứngdụngphân tán thế hệ kế tiếp. Bao gồm các ứngdụ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: - Một mô hình lập trình cho phép nhà phát triển xâydựng các ứngdụng dịch vụ web vàứngdụng client với Extensible Markup Language (XML). - 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. Trịnh Văn Ngọc – Lớp 47K – Khoa CNTT – ĐH Vinh 5 XâydựngphầnmềmAutoGenerateCodevàứngdụngvàoWebsitetintức - 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. - Các phầnmềm client như Windows XP và Windows CE giúp người phá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ị. - Nhiều công cụ hỗ trợ như Visual Studio .NET, để phát triển các dịch vụ Web XML, ứngdụng trên nền Windows hay nền web một cách dể dàng và hiệu quả. 1.2. Ngôn ngữ lập trình C# 1.2.1. Giới thiệu chung 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âydự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âydự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âydự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 Trịnh Văn Ngọc – Lớp 47K – Khoa CNTT – ĐH Vinh 6 XâydựngphầnmềmAutoGenerateCodevàứngdụngvàoWebsitetintức 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 đề. Những ưu điểm của ngôn ngữ C#: - 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ẽ - C# là ngôn ngữ ít từ khóa - C# là ngôn ngữ module hóa - C# sẽ là ngôn ngữ phổ biến 1.2.2. Lớp, đối tượng và kiểu Bản chất của lập trình hướng đối tượng là tạo ra các kiểu mới. Một kiểu biểu diễn một vật gì đó. Giống với các ngôn ngữ lập trình hướng đối tượng khác, một kiểu trong C# cũng định nghĩa bằng từ khóa class (và được gọi là lớp) còn thể hiện của lớp được gọi là đối tượng. a. Định nghĩa lớp Để định nghĩa một kiểu dữ liệu mới hay một lớp đầu tiên phải khai báo rồi sau đó mới định nghĩa các thuộc tính và phương thức của kiểu dữ liệu đó. Khai báo một lớp bằng cách sử dụng từ khoá class. Cú pháp đầy đủ của khai báo một lớp như sau: [Thuộc tính] [Bổ sung truy cập] class <Định danh lớp> [: Lớp cơ sở] { <Phần thân của lớp: bao gồm định nghĩa các thuộc tính và phương thức hành động > Trịnh Văn Ngọc – Lớp 47K – Khoa CNTT – ĐH Vinh 7 XâydựngphầnmềmAutoGenerateCodevàứngdụngvàoWebsitetintức } Thuộc tính truy cập: Thuộc tính truy cập quyết định khả năng các phương thức của lớp bao gồm việc các phương thức của lớp khác có thể nhìn thấy và sử dụng các biến thành viên hay những phương thức bên trong lớp. Thuộc tính Giới hạn truy cập public Không hạn chế. Những thành viên được đánh dấu public có thể được dùng bởi bất kì các phương thức của lớp bao gồm những lớp khác. private Thành viên trong một lớp A được đánh dấu là private thì chỉ được truy cập bởi các phương thức của lớp A. protected Thành viên trong lớp A được đánh dấu là protected thì chỉ được các phương thức bên trong lớp A và những phương thức dẫn xuất từ lớp A truy cập. internal Thành viên trong lớp A được đánh dấu là internal thì được truy cập bởi những phương thức của bất cứ lớp nào trong cùng khối hợp ngữ với A. protected internal Thành viên trong lớp A được đánh dấu là protected internal được truy cập bởi các phương thức của lớp A, các phương thức của lớp dẫn xuất của A, và bất cứ lớp nào trong cùng khối hợp ngữ của A. b. Đối tượng (Object) Các dữ liệu và chỉ thị được kết hợp vào một đơn vị đầy đủ tạo nên một đối tượng. Đơn vị này tương đương với một chương trình con và vì thế các đối tượng sẽ được chia thành hai bộ phận chính: phần các phương thức (method) vàphần các thuộc tính (attribute). Trong thực tế, các phương thức của đối tượng là Trịnh Văn Ngọc – Lớp 47K – Khoa CNTT – ĐH Vinh 8 XâydựngphầnmềmAutoGenerateCodevàứngdụngvàoWebsitetintức các hàm và các thuộc tính của nó là các biến, các tham số hay hằng nội tại của một đối tượng (hay nói cách khác tập hợp các dữ liệu nội tại tạo thành thuộc tính của đối tượng). Các phương thức là phương tiện để sử dụng một đối tượng trong khi các thuộc tính sẽ mô tả đối tượng có những tính chất gì. Các phương thức và các thuộc tính thường gắn chặt với thực tế các đặc tính và sử dụng của một đối tượng. Trong thực tế, các đối tượng thường được trừu tượng hóa qua việc định nghĩa của các lớp (class). Tập hợp các giá trị hiện có của các thuộc tính tạo nên trạng thái của một đối tượng. Mỗi phương thức hay mỗi dữ liệu nội tại cùng với các tính chất được định nghĩa (bởi người lập trình) được xem là một đặc tính riêng của đối tượng. 1.2.3. Các tính chất của lập trình hướng đối tượng Lập trình hướng đối tượng là một phương pháp lập trình có các tính chất chính sau: Tính trừu tượng (abstraction): Đây là khả năng của chương trình bỏ qua hay không chú ý đến một số khía cạnh của thông tin mà nó đang trực tiếp làm việc lên, nghĩa là nó có khả năng tập trung vào những cốt lõi cần thiết. Mỗi đối tượng phục vụ như là một "động tử" có thể hoàn tất các công việc một cách nội bộ, báo cáo, thay đổi trạng thái của nó và liên lạc với các đối tượng khác mà không cần cho biết làm cách nào đối tượng tiến hành được các thao tác. Tính chất này thường được gọi là sự trừu tượng của dữ liệu. Tính trừu tượng còn thể hiện qua việc một đối tượng ban đầu có thể có một số đặc điểm chung cho nhiều đối tượng khác như là sự mở rộng của nó nhưng bản thân đối tượng ban đầu này có thể không có các biện pháp thi hành. Tính trừu tượng này thường được xác định trong khái niệm gọi là lớp trừu tượng hay lớp cơ sở trừu tượng. Trịnh Văn Ngọc – Lớp 47K – Khoa CNTT – ĐH Vinh 9 XâydựngphầnmềmAutoGenerateCodevàứngdụngvàoWebsitetintức Tính đóng gói (encapsulation) và che giấu thông tin (information hiding): Tính chất này không cho phép người sử dụng các đối tượng thay đổi trạng thái nội tại của một đối tượng. Chỉ có các phương thức nội tại của đối tượng cho phép thay đổi trạng thái của nó. Việc cho phép môi trường bên ngoài tác động lên các dữ liệu nội tại của một đối tượng theo cách nào là hoàn toàn tùy thuộc vào người viết mã. Đây là tính chất đảm bảo sự toàn vẹn của đối tượng. Tính đa hình (polymorphism): Thể hiện thông qua việc gửi các thông điệp (message). Việc gửi các thông điệp này có thể so sánh như việc gọi các hàm bên trong của một đối tượng. Các phương thức dùng trả lời cho một thông điệp sẽ tùy theo đối tượng mà thông điệp đó được gửi tới sẽ có phảnứng khác nhau. Người lập trình có thể định nghĩa một đặc tính (chẳng hạn thông qua tên của các phương thức) cho một loạt các đối tượng gần nhau nhưng khi thi hành thì dùng cùng một tên gọi mà sự thi hành của mỗi đối tượng sẽ tự động xảy ra tương ứng theo đặc tính của từng đối tượng mà không bị nhầm lẫn. Thí dụ khi định nghĩa hai đối tượng "hinh_vuong" và "hinh_tron" thì có một phương thức chung là "chu_vi". Khi gọi phương thức này thì nếu đối tượng là "hinh_vuong" nó sẽ tính theo công thức khác với khi đối tượng là "hinh_tron". Tính kế thừa (inheritance): Đặc tính này cho phép một đối tượng có thể có sẵn các đặc tính mà đối tượng khác đã có thông qua kế thừa. Điều này cho phép các đối tượng chia sẻ hay mở rộng các đặc tính sẵn có mà không phải tiến hành định nghĩa lại. Trịnh Văn Ngọc – Lớp 47K – Khoa CNTT – ĐH Vinh 10 . CNTT – ĐH Vinh 4 Xây dựng phần mềm Auto Generate Code và ứng dụng vào Website tin tức CHƯƠNG 1: MỘT SỐ CÔNG NGHỆ ĐỂ TRIỂN KHAI PHẦN MỀM VÀ WEBSITE 1.1. Tổng. 18 Xây dựng phần mềm Auto Generate Code và ứng dụng vào Website tin tức 2.3. Ví dụ một ứng dụng với mô hình 3 lớp Hình 2.2 Mô hình 3 lớp trong một website