Đề tài Xây dựng web site quản lý sinh viên kí túc xá trường Đại học Kinh Tế Quốc Dân

Trong suốt thời gian thực tập của mình, em đã tìm hiểu về nơi thực tập (công ty TNHH Trí Tuệ Nhân Tạo), tìm hiểu các qui trình thiết kế web site, các kĩ thuật và công cụ hỗ trợ đặc biệt là ngôn ngữ thiết kế mô hình UML. Em tin rằng công cụ này đã phát huy được sức mạnh của nó trong quá trình thiết kế web site. Để thiết kế được một phần mềm hay web site chuyên nghiệp cần có một đội ngũ thiết kế, thời gian và kinh phí. Với những ràng buộc như vậy, báo cáo tốt nghiệp không tránh khỏi những thiếu xót, rất mong được sự đóng góp ý kiến của cô giáo.

doc85 trang | Chia sẻ: aloso | Lượt xem: 2133 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng web site quản lý sinh viên kí túc xá trường Đại học Kinh Tế Quốc Dân, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
phần mềm: Mục tiêu: thay thế các thao tác nghiệp vụ thủ công, tiếp cận các phương pháp quản lý hiện đại nhằm nâng cao hiệu quả hoạt động sản xuất và kinh doanh Bộ phận phân tích thiết kế Đưa ra các giải pháp phần mềm toàn diện,đề xuất các phương án tốt nhất để hỗ trợ khách hàng trong việc xác định yêu cầu và mục tiêu của dự án. Phòng lập trình Biến bản vẽ thiết kế thành phần mềm hay các web site Bộ phận kiểm thử Kiểm thử tất cả các phần mềm, phát hiện lỗi trong quá trình chạy thử nhằm chuyển giao cho khách hàng những sản phẩm phần mềm có chất lượng cao Bộ phận kiểm soát chất lượng Bộ phận có nhiệm vụ kiểm tra và giám sát chất lượng sản phẩm trước khi chuyển giao để đảm bảo chất lượng hoàn hảo nhất, thoả mãn yêu cầu của khách hang Bộ phận triển khai và tư vấn khách hàng Đội ngũ triển khai, bảo trì và hỗ trợ Khách hàng đưa sản phẩm phần mềm đến với Khách hàng, đáp ứng các nhu cầu thay đổi của Khách hang Bộ phận thiết kế đồ hoạ Phòng đào tạo và nghiên cứu Xây dựng các chương trình, nội dung đào tạo, tài liệu nghiên cứu để thực hiện việc đào tạo cho sinh viên, hỗ trợ cho sinh viên tự học, cung cấp cho các tổ chức đào tạo các doanh nghiệp CNTT. Xây dựng hệ thống chia sẻ tin tức, tài nguyên cho cộng đồng CNTT Mô hình hoạt động Đối tác Đối tác trong nước Tập đoàn FPT Vietsoft CMC VITEC H.I.B Toyota Trường ĐH Công nghệ Báo Nhân Dân Vietnamnet Đối tác nước ngoài Hãng truyền thông Brainsonic Hogeschool Drenthe Xác định đề tài Lý do chọn đề tài Sau một thời gian thực tập tại công ty, được tham gia trực tiếp vào dự án ETC (xây dựng web site du lịch), và tiến hành phân tích thiết kế web site “Vì người nghèo”, em đã tìm hiểu qui trình thiết kế web site và các công cụ hỗ trợ khác. Đặc biệt ngôn ngữ thiết kế mô hình UML và các kĩ thuật đồ họa đã định hướng cho em một lối đi mới cho đề tài thiết kế web site vốn được coi là lối mòn. Mục đích lớn nhất của công nghệ thông tin là các ứng dụng trong thực tế, đáp ứng những nhu cầu nhất định của người sử dụng. Là sinh viên năm cuối trường ĐH Kinh tế Quốc Dân, em mong muốn đề tài thực tập của mình có thể ứng dụng trong thực tế, hữu ích, thiết thực mà đối tượng sử dụng gần gũi nhất là các sinh viên trong trường. Bản thân đã từng sinh hoạt trong kí túc xá của trường, em nhận thấy việc quản lý một số lượng lớn các sinh viên từ nhiều tỉnh thành, học tại các khoa, khóa khác nhau gặp không ít những khó khăn. Kí túc xá đã xây thêm tòa nhà và sắp tới sẽ quản lý cả các sinh viên nước ngoài. Ban quản lý phải quản lý các phòng ở, sắp xếp các sinh viên cùng khoa, khóa trong một phòng, mỗi phòng gồm 10 người. Trong một một học kì có thể có rất nhiều lượt sinh viên chuyển ra và chuyển vào các phòng, ban quản lí phải sắp xếp lại chỗ ở cho từng đối tượng này. Tình hình an ninh, vé gửi xe, đóng tiền điện nước, khách ở trọ qua đêm, được quản lý thuận tiện hơn qua website. Mặt khác, các bậc phụ huynh luôn muốn có được các thông tin chính xác về con em mình: điều kiện sinh hoạt, các bạn cùng phòng… Nhà trường đã tài trợ cho kí túc xá một số lượng lớn các máy tính có kết nối Internet. Vì vậy: Web site quản lý sinh viên kí túc xá là một giải pháp tốt cho các vấn đề nêu trên. Trang web không chỉ hướng tới ban quản lý, sinh viên, phụ huynh mà mọi người đều có thể truy cập, tìm kiếm thông tin và hiểu thêm về các hoạt động, cũng như danh tiếng, uy tín của trường, cuộc sống của các sinh viên kí túc xá… Mục tiêu của đề tài Một web site thành công đòi hỏi phải có sự thiết kế cẩn thận, giao diện đẹp mắt và nội dung thông tin chất lượng, được bố trí khoa học. Thiết kế web site được coi là một lối mòn cho sự lựa chọn đề tài thực tập của các sinh viên công nghệ thông tin. Kết quả là, đã có khá nhiều web site do các sinh viên tạo ra phong phú về nội dung, đa dạng về hình thức. “Con đường quen thuộc nhất cũng có thể có những lối đi mà bạn chưa từng đặt chân đến” - với quan niệm như vậy, trong học kì cuối của mình, em đã thực tập tại công ty AI (Artificial Intelligence) và mong muốn những gì đã học tại nhà trường và những kinh nghiệm thực tế từ kì thực tập sẽ giúp em tìm được môt “lối đi” mới trong đề tài của mình. Mục tiêu của đề tài là có thể áp dụng vào thực tế. Trang web sẽ cung cấp các thông tin cần thiết cho người sử dụng, thuận tiện cho việc quản lý mà vẫn đảm bảo quyền riêng tư cá nhân. Ban quản lý sẽ có được thông tin về các sinh viên, phòng ở và các thông tin liên quan một cách hệ thống. Sinh viên và các đối tượng khác có thể tìm được các thông tin hữu ích từ web site. Dự kiến Web site sẽ được thiết kế bằng VB.Net, thiết kế cơ sở dữ liệu bằng SQL, phân tích thiết kế bằng ngôn ngữ mô hình UML, thiết kế giao diện bằng công cụ Dotnetnuke, photoshop… Trong khuôn khổ thời gian và kinh phí nhất định, web site chỉ dừng lại ở ứng dụng Desktop. Trong thời gian tới, web site có thể được đăng kí tên miền, phát triển web site chạy trên mạng máy tính và tất cả người dùng đều có thể truy cập vào web site mọi nơi, mọi lúc. Đề tài được lựa chọn là Xây dựng web site quản lý sinh viên kí túc xá trường ĐH Kinh Tế Quốc Dân. Và phục vụ cho đề tài đó, trong thời gian thực tập của mình, em đã tìm hiểu về nơi thực tập (công ty TNHH Trí Tuệ Nhân Tạo), tìm hiểu các qui trình thiết kế web site, các kĩ thuật và công cụ hỗ trợ đặc biệt là ngôn ngữ thiết kế mô hình UML. Em hi vọng công cụ này sẽ phát huy được sức mạnh của nó trong quá trình thiết kế web site. II CƠ SỞ PHƯƠNG PHÁP LUẬN CỦA VIỆC THIẾT KẾ WEBSITE Tổng quan về internet Internet là mạng máy tính kết nối các máy tính với nhau, nó có nguồn gốc từ dự án Arpanet của Bộ Quốc Phòng Mỹ năm 1969 nhằm xây dựng một mạng nối các trung tâm nghiên cứu khoa học và quân sự với nhau. Năm 1970, ra đời thêm hai mạng Store and forwarrd và Alohanet. Năm 1972, Tomlinson phát mình ra chương trình thư tín điện tử E-mail và ứng rụng này nhanh chóng được áp dụng rộng rãi. Arpanet nhanh chóng phát triển và được tách thành hai mạng riêng vào năm 1983 là Milnet và Arpanet. Tuy nhiên, thời gian sau đó, kế hoạch sử dụng mạng Arpanet không thu được kết quả như mong muốn do một số lí do về kĩ thuật và chính trị. Hội đồng khoa học Mĩ đã quyết định xây dựng một mạng riêng NFSFNET liên kết các trung tâm tính toán lớn và các trường Đại học năm 1986. Mạng này đã phát triển rất nhanh và thuật ngữ Internet ra đời từ đây. Lợi ích của hệ thống trên mạng ngày càng được nhiều người biết đến, tận dụng và khai thác, người ta có thể dễ dàng trao đổi thông tin giữa các vùng với khoảng cách ngày càng xa. Những năm 1990, người ta bắt đầu mở rộng hệ thống mạng sang lĩnh vực thương mại. Ngày nay, Internet đã trở thành một phần tất yếu của cuộc sống hiện đại, nó trở nên phổ biến giống như điện thoại hay ti vi. Internet là một phương tiện thông tin hoàn hảo, giúp việc thông tin liên lạc trở nên thuận tiện hơn bao giờ hết. Cách thức truyền thông trên Internet Mạng cục bộ (LAN) ra đời trong những năm 60 là công nghệ dựa trên các phần cứng riêng biệt, nối các máy tính với nhau trong phạm vi hẹp Tiếp đó là mạng lớn hơn - mạng diện rộng WAN, nối nhiều máy tính với nhau trong phạm vi rộng thông qua hệ thống dây truyền dẫn. Hai mạng này bị hạn chế chỉ trong từng mạng riêng rẽ, hơn nữa hầu hết các LAN, WAN không tương thích với nhau. Internet được thiết kế để liên kết các mạng với nhau và cho phép thông tin được lưu thông một cách tự do giữa những người sử dụng. Để làm được điều đó, cần có các bộ định tuyến nối các LAN và WAN. Các máy tính được nối với nhau như vậy phải có chung một giao thức (một tập hợp các luật dùng chung quy định về cách thức truyền tin). Các chuẩn giao thức được sử dụng hiện nay là giao thức TCP/IP, SNA, X.25. Giao thức TCP/IP cho phép dữ liệu dưới dạng các gói nhỏ. Giao thức này đảm bảo việc thông suốt thông tin giữa các máy tính. Một mạng máy tính gồm một máy trung tâm và nhiều máy trạm. Internet được coi là mạng của các mạng. Các dịch vụ Internet Thư điện tử : trao đổi thông tin giữa các cá nhân, tổ chức với nhau Word wide web Web là một dịch vụ của Internet chứa thông tin bao gồm văn bản, hình ảnh, âm thanh thậm chí cả video. Dịch vụ truyền file FTP Dùng để trao đổi các tệp tin từ máy chủ đến các máy cá nhân và ngược lại. Gropher : Dịch vụ này hoạt động như thư viện menu. Telnet: Dịch vụ này cho phép truy cập đến Server được xác định rõ ràng Giới thiệu về SQL Server 2000 SQL Server 2000 là một hệ thống quản lý cơ sở dữ liệu (Relational Database Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer. Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS. SQL Server 2000 được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user. SQL Server 2000 có thể kết hợp "ăn ý" với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server.... SQL Server có 7 editions: Enterprise : Chứa đầy đủ các đặc trưng của SQL Server và có thể chạy tốt trên hệ thống lên đến 32 CPUs và 64 GB RAM. Thêm vào đó nó có các dịch vụ giúp cho việc phân tích dữ liệu rất hiệu quả (Analysis Services) Standard : Rất thích hợp cho các công ty vừa và nhỏ vì giá thành rẻ hơn nhiều so với Enterprise Edition, nhưng lại bị giới hạn một số chức năng cao cấp (advanced features) khác, edition này có thể chạy tốt trên hệ thống lên đến 4 CPU và 2 GB RAM. Personal: được tối ưu hóa để chạy trên PC nên có thể cài đặt trên hầu hết các phiên bản windows kể cả Windows 98. Developer : Có đầy đủ các tính năng của Enterprise Edition nhưng được chế tạo đặc biệt như giới hạn số lượng người kết nối vào Server cùng một lúc... Edition này có thể cài trên Windows 2000 Professional hay Win NT Workstation. Desktop Engine (MSDE): Ðây chỉ là một engine chạy trên desktop và không có user interface (giao diện). Thích hợp cho việc triển khai ứng dụng ở máy client. Kích thước database bị giới hạn khoảng 2 GB. Win CE : Dùng cho các ứng dụng chạy trên Windows CE Trial: Có các tính năng của Enterprise Edition, download free, nhưng giới hạn thời gian sử dụng. Giới Thiệu Về Transact SQL (T-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 khác với P-SQL (Procedural-SQL) dùng trong Oracle. T-SQL được chia làm 3 nhóm: Data Definition Language (DDL): Ðây là những lệnh dùng để quản lý các thuộc tính của một database như định nghĩa các hàng hoặc cột của một table, hay vị trí data file của một database...thường có dạng Create object_Name Alter object_Name Drop object_Name Trong đó object_Name có thể là một table, view, stored procedure, indexes... Ví dụ: Lệnh Create sau sẽ tạo ra một table tên Importers với 3 cột CompanyID,CompanyName,Contact USE Northwind CREATE TABLE Importers( CompanyID int NOT NULL, CompanyName varchar(40) NOT NULL, Contact varchar(40) NOT NULL ) Lệnh Alter cho phép ta thay đổi định nghĩa của một table như thêm(hay bớt) một cột hay một Constraint... USE Northwind ALTER TABLE Importers ADD ContactTitle varchar(20) NULL Lệnh Drop hoàn toàn xóa table khỏi database nghĩa là cả định nghĩa của table và data bên trong table đều biến mất USE Northwind DROP TABLE Importers Data Control Language (DCL): Ðây là những lệnh quản lý các quyền truy cập lên từng object (table, view, stored procedure...). Thường có dạng sau: Grant Revoke Deny Ví dụ: Lệnh sau sẽ cho phép user trong Public Role được quyền Select đối với table Customer trong database Northwind (Role là một khái niệm giống như Windows Group ) USE Northwind GRANT SELECT ON Customers TO PUBLIC Lệnh sau sẽ từ chối quyền Select đối với table Customer trong database Northwind của các user trong Public Role USE Northwind DENY SELECT ON Customers TO PUBLIC Lệnh sau sẽ xóa bỏ tác dụng của các quyền được cho phép hay từ chối trước đó USE Northwind REVOKE SELECT ON Customers TO PUBLIC Data Manipulation Language (DML): Ðây là những lệnh phổ biến dùng để xử lý data như Select, Update, Insert, Delete Ví dụ: Select USE Northwind SELECT CustomerID, CompanyName, ContactName FROM Customers WHERE (CustomerID = 'alfki' OR CustomerID = 'anatr') ORDER BY ContactName Insert USE Northwind INSERT INTO Territories VALUES (98101, 'Seattle', 2) Update USE Northwind UPDATE Territories SET TerritoryDescription = 'Downtown Seattle' WHERE TerritoryID = 98101 Delete USE Northwind DELETE FROM Territories WHERE TerritoryID = 98101 Ðể chạy các câu lệnh thí dụ ở trên cần sử dụng i Query Analyser Cú Pháp Của T-SQL: Các thành phần tạo nên cú pháp của T-SQL Identifiers Ðây chính là tên của các database object. Nó dùng để xác định một object. ( table, view, stored procedure, index.....). Trong ví dụ sau TableX, KeyCol, Description là những identifiers CREATE TABLE TableX (KeyCol INT PRIMARY KEY, Description NVARCHAR(80)) Có hai loại Identifiers một loại thông thường (Regular Identifier) và một loại gọi là Delimited Identifier, loại này cần có dấu "" hay dấu [] để ngăn cách. Loại Delimited được dùng đối với các chữ trùng với từ khóa của SQL Server (reserved keyword) hay các chữ có khoảng trống. Ví dụ: SELECT * FROM [My Table] WHERE [Order] = 10 Variables (Biến) Biến trong T-SQL cũng có chức năng tương tự như trong các ngôn ngữ lập trình khác nghĩa là cần khai báo trước loại dữ liệu trước khi sử dụng. Biến được bắt đầu bằng dấu @ (Ðối với các global variable thì có hai dấu @@) Ví dụ: USE Northwind DECLARE @EmpIDVar INT SET @EmpIDVar = 3 SELECT * FROM Employees WHERE EmployeeID = @EmpIDVar + 1 Functions (Hàm) Có 2 loại hàm một loại là built-in và một loại user-defined Các hàm Built-In được chia làm 3 nhóm: Rowset Functions : Loại này thường trả về một object và được đối xử như một table. Ví dụ như hàm OPENQUERY sẽ trả về một recordset và có thể đứng vị trí của một table trong câu lệnh Select. Aggregate Functions : Loại  này làm việc trên một số giá trị và trả về một giá trị đơn hay là các giá trị tổng. Scalar Functions : Loại này làm việc trên một giá trị đơn và trả về một giá trị đơn. Trong loại này lại chia làm nhiều loại nhỏ như các hàm về toán học, về thời gian, xử lý kiểu dữ liệu String....Ví dụ như hàm MONTH('2002-09-30') sẽ trả về tháng 9. Các hàm User-Defined (được tạo ra bởi câu lệnh CREATE FUNCTION và phần body thường được gói trong cặp lệnh BEGIN...END) cũng được chia làm các nhóm như sau: Scalar Functions : Loại này cũng trả về một giá trị đơn bằng câu lệnh RETURNS. Table Functions : Loại này trả về một table Expressions Các Expressions có dạng Identifier + Operators (như +,-,*,/,=...) + Value Các thành phần Control-Of Flow Như BEGIN...END, BREAK, CONTINUE, GOTO, IF...ELSE, RETURN, WHILE.... Comments (Chú Thích) T-SQL dùng dấu -- để đánh dấu phần chú thích cho câu lệnh đơn và dùng /*...*/ để chú thích cho một nhóm Thực Thi Các Câu Lệnh SQL Thực thi một câu lệnh đơn: Một câu lệnh SQL được phân ra thành các thành phần cú pháp như trên bởi một parser, sau đó SQL Optimizer (một bộ phận quan trọng của SQL Server) sẽ phân tích và tìm cách thực thi (Execute Plan) tối ưu nhất ví dụ như cách nào nhanh và tốn ít tài nguyên của máy nhất... và sau đó SQL Server Engine sẽ thực thi và trả về kết quả. Thực Thi một nhóm lệnh (Batches) Khi thực thi một nhóm lệnh SQL Server sẽ phân tích và tìm biện pháp tối ưu cho các câu lệnh như một câu lệnh đơn và chứa execution plan đã được biên dịch (compiled) trong bộ nhớ sau đó nếu nhóm lệnh trên được gọi lại lần nữa thì SQL Server không cần biên dịch mà có thể thực thi ngay điều này giúp cho một batch chạy nhanh hơn.  Cấu Trúc Vật Lý Của Một SQL Server Database Mỗi một database trong SQL Server đều chứa ít nhất một data file chính (primary), có thể có thêm một hay nhiều data file phụ (Secondary) và một transaction log file. Primary data file (thường có phần mở rộng .mdf) : đây là file chính chứa data và những system tables. Secondary data file (thường có phần mở rộng .ndf) : đây là file phụ thường chỉ sử dụng khi database được phân chia để chứa trên nhiều dĩa. Transaction log file (thường có phần mở rộng .ldf) : đây là file ghi lại tất cả những thay đổi diễn ra trong một database và chứa đầy đủ thông tin để có thể roll back hay roll forward khi cần. Data trong SQL Server được chứa thành từng Page 8KB và 8 page liên tục tạo thành một Extent như hình vẽ dưới đây: Trước khi SQL Server muốn lưu data vào một table nó cần phải dành riêng một khoảng trống trong data file cho table đó. Những khoảng trống đó chính là các extents. Có 2 loại Extents: Mixed Extents (loại hỗn hợp) dùng để chứa data của nhiều tables trong cùng một Extent và Uniform Extent (loại thuần nhất) dùng để chứa data của một table. Ðầu tiên SQL Server dành các Page trong Mixed Extent để chứa data cho một table sau đó khi data tăng trưởng thì SQL dành hẳn một Uniform Extent cho table đó. Cấu Trúc Logic Của Một SQL Server Database Một số Sytem objects thường dùng: System Stored Procedure Ứng dụng Sp_help ['object'] Cung cấp thông tin về một database object (table, view...) hay một data type. Sp_helpdb ['database'] Cung cấp thông tin về một database cụ thể nào đó. Sp_monitor Cho biết độ bận rộn của SQL Server Sp_spaceused ['object', 'updateusage' ] Cung cấp thông tin về các khoảng trống đã được sử dụng cho một object nào đó Sp_who ['login'] Cho biết thông tin về một SQL Server user Ví dụ: sp_helpdb 'Northwind' sẽ cho kết quả có dạng như bảng dưới đây  name             db_size     owner     dbid     created         status ..... -------------------------------------------------------------------------------------------------------------------------------- ------- Northwind     3.94 MB     sa           6         Aug 6 2000     Status=ONLINE, Updateability=READ_WRITE, ..... stored procedure  sp_spaceused như ví dụ sau USE Northwind Go sp_spaceused 'Customers' sẽ cho biết thông tin về table Customer: name             rows     reserved       data        index_size     unused ------------------------------------- ------------------------------------------ Customers     91         104 KB         24 KB      80 KB             0 KB   Tạo Một User Database Có thể tạo một database bằng cách right-click lên trên "database" và chọn "New Database": Sau đó đánh tên của database và click OK. Ngoài ra dùng SQL script để tạo một database. Khi đó phải chỉ rõ vị trí của primary data file và transaction log file. Ví dụ: USE master GO CREATE DATABASE Products ON ( NAME = prods_dat, FILENAME = 'c:\program files\microsoft SQL server\mssql\data\prods.mdf', SIZE = 4, MAXSIZE = 10, FILEGROWTH = 1 ) GO Khi thiết kế table nên: Có ít nhất một cột thuộc loại ID dùng để xác định một record dễ dàng. Chỉ chứa data của một entity (một thực thể)             Trong ví dụ sau thông tin về Sách và Nhà Xuất Bản được chứa trong cùng một table Books BookID Title Publisher PubState PubCity PubCountry 1 Inside SQL Server 2000 Microsoft Press CA Berkely USA 2 Windows 2000 Server New Riders MA Boston USA 3 Beginning Visual Basic 6.0 Wrox CA Berkely USA             Ta nên tách ra thành table Books và table Publisher như sau: Books BookID Title PublisherID 1 Inside SQL Server 2000 P1 2 Windows 2000 Server P2 3 Beginning Visual Basic 6.0 P3             và Publishers PublisherID Publisher PubState PubCity PubCountry P1 Microsoft Press CA Berkely USA P2 New Riders MA Boston USA P3 Wrox CA Berkely USA Tránh dùng cột có chứa NULL và nên luôn có giá trị Default cho các cột Tránh lập lại một giá trị hay cột nào đó             Ví dụ một cuốn sách có thể được viết bởi hơn một tác giả và như thế ta có thể dùng một trong 2 cách sau để chứa data: Books BookID Title Authors 1 Inside SQL Server 2000 John Brown 2 Windows 2000 Server Matthew Bortniker, Rick Johnson 3 Beginning Visual Basic 6.0 Peter Wright, James Moon, John Brown             hay Books BookID Title Author1 Author2 Author3 1 Inside SQL Server 2000 John Brown Null Null 2 Windows 2000 Server Matthew Bortniker Rick Johnson Null 3 Beginning Visual Basic 6.0 Peter Wright James Moon John Brown             Tuy nhiên việc lập đi lập lại cột Author sẽ tạo nhiều vấn đề sau này. Chẳng hạn như nếu cuốn sách có nhiều hơn 3 tác giả thì chúng ta sẽ gặp phiền phức ngay....Trong ví dụ này ta nên chặt ra thành 3 table như sau: Books BookID Title 1 Inside SQL Server 2000 2 Windows 2000 Server 3 Beginning Visual Basic 6.0 Authors AuthID First Name Last Name A1 John Brown A2 Matthew Bortniker A3 Rick Johnson A4 Peter Wright A5 James Moon AuthorBook BookID AuthID 1 A1 2 A2 2 A3 3 A4 3 A5 3 A1 Ngoài ra một trong những điều quan trọng là phải biết rõ quan hệ (Relationship) giữa các table: One-to-One Relationships : trong mối quan hệ này thì một hàng bên table A không thể liên kết với hơn 1 hàng bên table B và ngược lại. One-to-Many Relationships : trong mối quan hệ này thì một hàng bên table A có thể liên kết với nhiều hàng bên table B. Many-to-Many Relationships : trong mối quan hệ này thì một hàng bên table A có thể liên kết với nhiều hàng bên table B và một hàng bên table B cũng có thể liên kết với nhiều hàng bên table A. Asp.Net ASP.NET là Active Server Pages .NET (.NET ở đây là .NET framework). ASP.NET là một công nghệ có tính cách mạng dùng để phát triển các ứng dụng về mạng hiện nay cũng như trong tương lai ASP.NET là một phương pháp tổ chức hay khung tổ chức (framework) để thiết lập các ứng dụng hết sức hùng mạnh cho mạng dựa trên CLR (Common Language Runtime) chứ không phải là một ngôn ngữ lập trình. Ngôn ngữ lập trình được dùng để diển đạt ASP.NET trong đề tài này là VB.NET (Visual Basic .NET) và VB.NET chỉ là một trong 25 ngôn ngữ .NET hiện nay được dùng để phát triển các trang ASP.NET mà thôi. ASP.NET không phải là ASP. Khác biệt giữa ASP.NET và ASP ASP.NET được phác thảo lại từ số không, nó được thay đổi và phát triển phù hợp với yêu cầu hiện nay cũng như vạch một hướng đi vững chắc cho tương lai Tin Học. ASP.NET cung cấp một phương pháp hoàn toàn khác biệt với phương pháp của ASP. Mặc dù ASP.NET và ASP khác biệt nhau nhưng chúng có thể hoạt động với nhau trong Web Server Sự thay đổi cơ bản ASP không còn đáp ứng đủ nhu cầu hiện nay trong lãnh vực phát triển mạng của công nghệ Tin Học.  ASP được thiết kế riêng biệt và nằm ở tầng phiá trên hệ điều hành Windows và Internet Information Server, do đó các công dụng của nó hết sức rời rạt và giới hạn. Trong khi đó, ASP.NET là một cơ cấu trong các cơ cấu của hệ điều hành Windows dưới dạng nền hay khung .NET (.NET framework), như vậy ASP.NET không những có thể dùng các object của các ứng dụng cũ mà còn có thể sử dụng tất cả mọi tài nguyên mà Windows có. Ta có thể tóm tắc đại khái sự thay đổi như sau: Tập tin của ASP.NET (ASP.NET file) có extension là .ASPX, còn tập tin của ASP là .ASP. Tập tin của ASP.NET (ASP.NET file) được phân tích ngữ pháp (parsed) bởi XSPISAPI.DLL, còn tập tin của ASP được phân tích bởi ASP.DLL. ASP.NET là kiểu mẫu lập trình phát động bằng sự kiện (event driven), còn các trang ASP được thi hành theo thứ tự tuần tự từ trên xuống dưới. ASP.NET xử dụng trình biên dịch (compiled code) nên rất nhanh, còn ASP dùng trình thông dịch (interpreted code) do đó hiệu suất và tốc độ phát triển cũng thua sút hẳn. ASP.NET yểm trợ gần 25 ngôn ngữ lập trình mới với .NET và chạy trong môi trường biên dịch (compiled environment), còn ASP chỉ chấp nhận VBScript và JavaScript nên ASP chỉ là một scripted language trong môi trường thông dịch(in the interpreter environment). Không những vậy, ASP.NET còn kết hợp nhuần nhuyễn với XML (Extensible Markup Language) để chuyển vận các thông tin (information) qua mạng. ASP.NET yểm trợ tất cả các browser và quan trọng hơn nữa là yểm trợ các thiết bị lưu động (mobile devices).   Kiểu mẫu RESQUEST/RESPONSE Kiểu mẫu này chính là toàn bộ phương pháp làm việc theo kiểu Client /Server hiện dùng với ASP. Client/Server - Một trường hợp đơn giản nhất là sự trao đổi thông tin giữa 2 máy vi tính để hoàn thành 1 công việc nào đó, trong đó máy server cung cấp dịch vụ theo yêu cầu của 1 máy khách hành (Client PC). Thường thường, Server là máy vi tính lưu trữ thông tin về mạng trong đó có hình ảnh, video, những trang HTML hay ASP và Client là máy vi tính được dùng dể viếng thăm mạng. Một cách tổng quát phương pháp này gồm có 4 bước như sau: Client (thông qua Internet Browser) xác định vị trí của Web Server qua 1 nối URL (Universal Resource Locator) ví dụ như www.aspvn.net Client sẽ yêu cầu được tham khảo 1 trang trong mạng đó và thường thường là trang chủ (home page) tỷ như index.htm hay default.htm Server đáp ứng bằng cách hoàn trả hồ sơ mà Client đã yêu cầu trước đây Client nhận được hồ sơ gởi về và hiển thị (display) trong browser của mình Kiểu mẫu EVENT-DRIVEN Kiểu mẫu event-driven này dùng với ASP.NET cũng tương tợ như là kiểu mẫu event-driven mà ta vẫn thường dùng trong khi lập trình các ứng dụng với Visual Basic 6. ASP.NET sẽ dùng các ngôn ngữ mới có trình biên dịch (compiled languages) như C# hay VB.NET để soạn các nguồn mã trong các trang Web ở Server.   Sơ lược về .NetFramework CLR (Common Language Runtime) CLR là môi trường được dùng để quản lý sự thi hành các nguồn mã mà ta đã soạn ra và biên dịch trong các ứng dụng. Tuy nhiên khi biên dịch nguồn mã, ta lại biên dịch chúng ra thành một ngôn ngữ trung gian gọi là Microsoft Intermediate Language (MSIL). MSIL trung gian này là ngôn ngữ chung cho tất cả các ngôn ngữ .NET hiện có, do đó chắc bạn cũng đoán ra là ASP.NET cũng được biên dịch (compile) ra MSIL . Trong khi biên dịch như vậy, các ứng dụng cũng sản xuất ra những thông tin cần thiết để tự ... quảng cáo chính mình, những thông tin này gọi là metadata. Ðến khi ta chạy một ứng dụng, CLR sẽ tiếp quản (take-over) và lại biên dịch (compile) nguồn mã một lần nữa ra thành ngôn ngữ gốc (native language) của máy vi tính trước khi thi hành những công tác đã được bố trí trong nguồn mã đó. .NET FRAMEWORK CLASSES Ðiều quan trọng nhất mà ta cần phải nhớ là mọi thứ trong .NET đều là object, Các object được tổ chức lại thành từng nhóm riêng biệt như trong một thư viện để ta dễ dàng xữ dụng. Ta gọi các nhóm như vậy là namespaces Ví dụ về tạo trang Asp.Net Trong ASP cổ điển. Ta sẽ tạo trang ASP.NET đầu tiên bằng 2 phương pháp như sau: Dùng MS Visual Studio.NET để tạo trang ASP.NET đầu tiên. Dùng Notepad để tạo trang ASP.NET đầu tiên. VD Dùng MS Visual Studio.NET để tạo trang ASP.NET Mục đích: Hiển thị hàng chữ "Welcome to Khóa Tự Học ASP.NET" trong trang ASP.NET đầu tiên Các bước thứ tự như sau: 1. Chạy MS Visual Studio.NET và chọn dự án mới (New Project) như sau: Project Types: Visual Basic Projects Templates: ASP.NET Web Application Name: vs-welcome Location: 2. Nhấp vào nút để MS VS.NET tạo ra 1 dự án mới. Nếu để ý, ta sẽ thấy một trang ASP.NET được tạo ra một cách mặc định (default) với tên là WebForm1.aspx 3. Mở hộp dụng cụ (Toolbox) và nhấp đôi vào công cụ 4. Bố trí các đặc tính của công cụ Label : 5. Chọn File, Save WebForm1.aspx As để lưu trữ vào đĩa cứng, nhớ chọn Save with Encoding (hay ta có thể dùng Advanced Save Options) với Encoding là Unicode (UTF-8 with signature) - Codepage 65001 để lưu trữ (save) tiếng Việt chính xác. 6. Cuối cùng ta sẽ dùng IE Client Browser để hiển thị trang WebForm1.aspx. Trong hộp địa chỉ (Address) III XÂY DỰNG WEBSITE “SINH VIÊN NỘI TRÚ ĐẠI HỌC KINH TẾ QUỐC DÂN” Mục đích của web site Website ra đời với mong muốn việc quản lí sinh viên nội trú được thuận tiện, dễ dàng. Đồng thời tạo ra trang thông tin bổ ích cho sinh viên, giúp phụ huynh từ xa đến có thể dễ dàng tìm được phòng ở cũng như nắm được các thông tin về con em mình. Chức năng chính Dưới góc độ người sử dụng, Web site gồm các chức năng được biểu diễn trong hình sau: Chức năng Cung cấp thông tin Quản lí danh sách sinh viên Đăng kí ra vào KTX, chuyển phòng Quản lí khách ra vào KTX Diễn đàn cho sinh viên Phân quyền người sử dụng Cung cấp thông tin Website có đường link đến các địa chỉ web lành mạnh cung cấp các thông tin bổ ích như: tin tức thời sự, cơ hội việc làm, các website học trực tuyến, thi trực tuyến, các hoạt động, phong trào của trường.Với các thông tin về ngày tháng năm sinh của các sinh viên nội trú, đài phát thanh kí túc xá có thể dễ dàng tìm kiếm và gửi tặng bài hát đến những sinh viên có sinh nhật trong ngày. Bên cạnh đó, các bạn sinh viên đặc biệt là các bạn nữ sinh có thể tìm hiểu các kiến thức về nấu ăn, cắm hoa, trang trí phòng…trong “góc dành cho nữ sinh” Quản lí danh sách sinh viên Bao gồm các thông tin cá nhân như: họ tên, quê quán, khoa, khóa,lớp, điểm thi, khen thưởng, kỉ luật, tình trạng sức khỏe… Đăng kí ra vào kí túc xá, chuyển phòng ở cho sinh viên Trước tiên thực hiện việc phân loại sinh viên theo khu vực, đối tượng ưu tiên… Bộ phận quản lí cập nhật đầy đủ thông tin về sinh viên nội trú (mã SV, họ tên, quê quán,khoa, lớp,..) do đó việc phân phòng có thể thực hiện tự động, nhanh chóng việc phân chia phòng. Khi có sinh viên rời khỏi kí túc xá hoặc sinh viên mới chuyển đến, bộ phận quản lí sẽ cập nhật thông tin này. Quản lí khách ra vào kí túc xá Khách ra vào kí túc xá nếu có nhu cầu ở lại qua đêm phải được báo cho ban quản lí, thông tin này được cập nhật bởi ban quản lí.Nếu có bất trắc xảy ra, ban quản lí kí túc xá dễ dàng xử lí, dễ dàng biết sinh viên bảo lãnh là ai, ở phòng nào… Tạo diễn đàn cho sinh viên Tại đây sinh viên có thể trao đổi, chia sẻ, góp ý cũng như thỏa sức sáng tạo trong “góc sáng tạo”. Quản lí người dùng (phân quyền người sử dụng) Hệ thống cần được phân quyền thành các nhóm người dùng rất cụ thể và rõ ràng. Mỗi bộ phận đều có các chức năng riêng, không chồng chéo lên nhau, tránh sự truy cập trái phép. Việc phân quyền người sử dụng được minh họa ở trang bên. Người sử dụng Sinh viên Phụ huynh Sinh viên và các đối tượng khác Ban quản lí KTX Quản trị Các đối tượng khác Phân quyền người sử dụng người sử dụng được biểu diễn bằng hình vẽ dưới đây Sinh viên và các đối tượng khác: Sinh viên trong kí túc xá, sinh viên trong trường, ngoài trường, phụ huynh… đều có thể đăng nhập, tìm kiếm thông tin, tham gia diễn đàn. Phòng giáo vụ có thể nhanh chóng có được thông tin xác nhận lưu trú của các sinh viên trong kí túc xá thông qua website. Ban quản lí kí túc xá Ban quản lí kí túc xá, thường xuyên cập nhật và quản lí các thông tin về sinh viên: sinh viên mới ra, vào phòng, các thông tin chung về sinh viên… Quản trị: Quản trị là người quản lý các thông tin liên quan đến việc quản trị của hệ thống, bao gồm quản lý quyền, quản lý người dùng và quản lý giao diện hệ thống. Sơ đồ website: Sinh viên và các đối tượng khác truy cập đến website: Đăng nhập hệ thống Tìm kiếm, trao đổi thông tin Sau khi đăng nhập hệ thống, đối tượng đã nói ở trên có thể tìm kiếm thông tin, tham gia diễn đàn. Phòng giáo vụ có thể có được thông tin nhận xét lưu trú của ban quản lí kí túc xá đối với sinh viên qua website. Các bậc phụ huynh có thể biết được con em mình ở phòng nào? ở cùng những ai, điểm thi, khen thưởng, kỉ luật, tình hình dịch bệnh (theo mùa) trong kí túc (nếu có). Các đối tượng khác đều có thể tham gia tìm kiếm thông tin, tham gia diễn đàn… Ban quản lí kí túc xá Cập nhật thông tin của sinh viên Quản lí sinh viên Báo cáo nhận xét lưu trú Cập nhật thông tin Ban quản lí kí túc cập nhật các thông tin về sinh viên: tên, khoa , lớp, phòng,…, tên khách ở lại qua đêm. Các thông tin về sinh viên chuyển phòng, nhập phòng phải được cập nhật kịp thời. Quản lí sinh viên Quản lí theo phòng Phòng đã đóng đầy đủ tiềnđiện nước hàng tháng Quản lí danh sách trong từng phòng, thông tin về phòng đủ hay thiếu người Phòng không bị mất trộm đồ, khách ở lại qua đêm có báo cáo Phòng đang có dịch bệnh Tổng hợp các thông tin, quyết định khen thưởng hay kỉ luật phòng Điều tra, xử lí kỉ luật Thông báo đến trung tâm y tế Thông báo cho các phòng Đ S S Đ Đ S Quản lí từng cá nhân Khen thưởng Sinh viên đóng đầy đủ tiền phòng Sinh viên không vi phạm nội qui KTX Sinh viên có thành tích Thông báo cho sinh viên hoặc đề nghị nhà trường trợ giúp Cảnh báo hoặc kỉ luật Tổng hợp thông tin Báo cáo tổng hợp, nhận xét lưu trú S S Đ Đ Đ S Các chức năng chính: Biểu đồ user case tổng quát: Web site User Cập nhật thông tin Quản lí kí túc xá Quản lí quyền Quản lí User Quản trị Login Đăng kí Xem thông tin cá nhân User Đăng ký (Register): Người dùng đăng ký bằng user name và password. Đăng nhập (Login): Đăng nhập vào hệ thống website. Xem thông tin cá nhân: Tùy vào quyền của người đăng nhập vào hệ thống mà có thể xem thông tin cá nhân của mình hay của người khác.Chẳng hạn: đối với user là sinh viên hay phụ huynh chỉ được xem thông tin của cá nhân (hay con em mình).Ban quản lí kí túc xá, được phép xem thông tin cá nhân về mọi sinh viên Quản lí quyền: Hệ thống được phân quyền: Người quản trị, người cập nhật thông tin (ban quản lí kí túc xá), người sử dụng thông thường. Quản lí người dùng: Quản lý những người dùng cùng việc phân quyền cho người dùng đó trong hệ thống . Đăng kí (Register) Mã use case HT_UC_01 Tên use case Đăng ký Tác nhân (actor) Tất cả người dùng (User) Mô tả Use case này cho phép bất kỳ người sử dụng nào cũng có thể đăng ký để truy nhập vào hệ thống. Người sử dụng muốn tham gia cần đăng ký để có được tên truy cập và mật khẩu. Điều kiện đầu vào Người dùng nhập đầy đủ các trường bắt buộc và dữ liệu hợp lệ Kết quả đầu ra Người sử dụng đăng ký thành công và có được tên truy cập và mật khẩu để vào được hệ thống. Luồng sự kiện chính TT Tác nhân Hành động Người sử dụng Vào trang chủ của hệ thống, nhấn vào “Đăng ký”. Hệ thống Hiển thị lên màn hình đăng ký. Người sử dụng Nhập các thông tin đăng ký (sẽ được đưa ra sau phần đặc tả use case này). Người sử dụng Nhấn vào nút “Đăng ký”. Hệ thống Kiểm tra các thông tin cần thiết đã được điền chưa, tất cả các thông tin đã đúng và hợp lệ chưa Kiểm tra xem có sự trùng lặp dữ liệu hay không (Dựa trên User Name). Nếu tất cả các điều kiện trên đều thỏa mãn, hệ thống sẽ thêm mới một người dùng vào CSDL. Luồng sự kiện khác TT Tác nhân Hành động 5b. Hệ thống Nếu các thông tin đăng ký chưa đủ hoặc chưa hợp lệ thì đưa ra thông báo và yêu cầu người dùng nhập lại. Uses Không Extends Không Tần xuất sử dụng Cao Thông tin đăng kí vào hệ thống TT Trường Mô tả First Name Text Last Name Text User Name Text Password Text Confirm password Text Email Address Text Đăng nhập Mã use case HT_UC_02 Tên use case Đăng nhập Tác nhân (actors) Tất cả người dùng (User) Mô tả Use case này cho phép xác thực người dùng để họ có thể truy cập được vào hệ thống của hệ thống nhằm sử dụng một số chức năng tương ứng. Điều kiện đầu vào Người sử dụng có tên truy cập hợp lệ Người sử dụng có mật khẩu hợp lệ Kết quả đầu ra Người dùng được xác thực và tên truy cập sẽ được hiển thị trên màn hình chính. Các chức năng trên menu sẽ hiển thị theo quyền của nhóm người dùng theo tên truy cập. Luồng sự kiện STT Tác nhân Hành động Người dùng Vào trang chủ của hệ thống , nhấn vào “Đăng nhập”. Hệ thống Hiển thị lên màn hình đăng nhập Người dùng Nhập tên truy cập và mật khẩu. Người dùng Nhấn vào nút “Đăng nhập”. Hệ thống Xác thực người dùng qua tên truy cập và mật khẩu. Luồng sự kiện khác STT Tác nhân Hành động Hệ thống Nếu tên truy cập và mật khẩu không đúng, đưa ra thông báo và yêu cầu người sử dụng phải nhập lại Người dùng Người dùng có thể nhấn vào nút “Hủy bỏ” để quay lại trang chủ của hệ thống. User Không Extends Không Tần xuất sử dụng Cao Thông tin đăng kí vào hệ thống Trường Mô tả Use Name Text Password Text Mã use case HT_UC_03,04,05 Tên use case Cập nhật thông tin Thêm/ Sửa/ Xóa thông tin Tác nhân (actor) Ban quản lí KTX Mô tả Use case này cho phép người dùng thêm thông tin vào hệ thống Điều kiện đầu vào Người dùng đăng nhập vào được xác thực thuộc nhóm “Bộ phận cập nhật thông tin”. Kết quả đầu ra Thông tin được cập nhật vào hệ thống Luồng sự kiện chính STT Tácnhân Hành động Người dùng Vào chức năng cập nhật phần thi, nhấn vào nút “cập nhật”à“Thêm”/”sửa”/”xóa”. Hệ thống Đưa ra màn hình Thêm/sửa/xóa thông tin Người dùng Nhập, xóa, sửa các thông tin (sẽ được đưa ra sau phần đặc tả use case này). Người dùng Nhấn nút Lưu để kết thúc. Hệ thống Kiểm tra các thông tin cần thiết đã được điền chưa, tất cả các thông tin đã đúng và hợp lệ chưa Kiểm tra xem có sự trùng lặp dữ liệu hay không (Dựa trên Tên chủ đề). Kiểm tra xem thông tin cần xóa (nếu có) ràng buộc với một số thông tin khác hay không. Nếu không có ràng buộc gì, cập nhật việc xóa, thêm, sửa thông tin đã chọn vào CSDL. Nếu tất cả các điều kiện trên đều thỏa mãn, hệ thống sẽ thêm mới, sửa, xóa thông tin vào CSDL. Luồng sự kiện khác STT Tác nhân Hành động 5b. Hệ thống Nếu thông tin chưa đủ, không hợp lệ hoặc không đúng, đưa ra thông báo và yêu cầu người sử dụng phải nhập lại. User Không Extends Không Tần xuất sử dụng Thấp Tìm kiếm thông tin Mã use case HT_UC_06 Tên use case Tìm kiếm thong tin theo chủ đề Tác nhân (actor) User Mô tả Use case này cho phép user tìm kiếm và đưa ra các chủ đề thông tin được quản lý trong hệ thống tùy vào quyền của user. Điều kiện đầu vào Người dùng đăng nhập được xác thực thuộc nhóm user Kết quả đầu ra Danh sách tất cả các chủ đề thỏa mãn điều kiện được liệt kê ra. Luồng sự kiện chính STT Tác nhân Hành động Người dùng Vào chức năng cập nhật , nhấn vào nút “Tìm kiếm theo chủ đề”. Hệ thống Đưa ra màn hình Tìm kiếm chủ đề Người dùng Nhập các điều kiện tìm kiếm (sẽ được đưa ra sau phần đặc tả use case này). Người dùng Nhấn nút Tìm kiếm Hệ thống Tìm trong CSDL những chủ đề thỏa mãn các điều kiện tìm kiếm. Đưa ra màn hình danh sách các chủ đề đó Luồng sự kiện khác Uses Không Extends Không Tần xuất sử dụng Bình thường Quản lí quyền Quản lí quyền Thêm quyền Quản trị viên Xóa quyền Quản trị viên Cập nhật quyền Mã use case HT_UC_07,08,09 Tên use case Quản lí quyền Tác nhân (actor) Quản trị (Administrator) Mô tả Use case này cho phép quản trị thêm mới, xóa, cập nhật quyền vào hệ thống. Điều kiện đầu vào Người dùng đăng nhập vào được xác thực thuộc nhóm “Quản trị”. Kết quả đầu ra Thêm, xóa hay cập nhật quyền vào hệ thống Luồng sự kiện chính STT Tác nhân Hành động Người dùng Vào chức năng quản lý quyền, chọn Thêm mới quyền/Xóa quyền/Sửa quyền Hệ thống Đưa ra màn hình Thêm mới/Sửa/Xóa quyền Người dùng Nhập các thông tin quyền (sẽ được đưa ra sau phần đặc tả use case này). Người dùng Nhấn nút Lưu đề kết thúc. Hệ thống Kiểm tra các thông tin cần thiết đã được điền chưa, tất cả các thông tin đã đúng và hợp lệ chưa Kiểm tra xem có sự trùng lặp dữ liệu hay không (Dựa trên Tên quyền). Nếu tất cả các điều kiện trên đều thỏa mãn, hệ thống sẽ thêm mới một quyền vào CSDL. Luồng sự kiện khác STT Tác nhân Hành động 5b. Hệ thống Nếu thông tin về quyền chưa đủ, không hợp lệ hoặc không đúng, đưa ra thông báo và yêu cầu người sử dụng phải nhập lại. Uses Không Extends Không Tần xuất sử dụng Thấp Quản lí người dùng Quản lí người dùng Thêm User Xóa User Quản trị viên Phân quyền cho User Cập nhật User Quản trị viên Tìm kiếm User Thêm mới, xóa, sửa user Mã use case HT_UC_10,11,12 Tên use case Thêm, sửa xóa User Tác nhân (actor) Quản trị (Administrator) Mô tả Use case này cho phép quản trị thêm mới một người dùng vào hệ thống. Điều kiện đầu vào Người dùng đăng nhập vào được xác thực thuộc nhóm “Quản trị”. Kết quả đầu ra Một user mới được thêm vào hệ thống. Luồng sự kiện chính STT Tác nhân Hành động Người dùng Vào chức năng quản lý người dùng, vào “Thêm mới”/”Cập nhật”/”Xóa”. Hệ thống Đưa ra màn hình Thêm mới/cập nhật/xóa người dùng Người dùng Nhập các thông tin người dùng (sẽ được đưa ra sau phần đặc tả use case này). Người dùng Nhấn nút Cập nhật đề kết thúc việc thêm mới. Hệ thống Kiểm tra các thông tin cần thiết đã được điền chưa, tất cả các thông tin đã đúng và hợp lệ chưa. Kiểm tra xem dữ liệu có bị trùng lặp hay không (User name) Nếu tất cả các điều kiện trên đều thỏa mãn, hệ thống sẽ thêm mới/cập nhật/xóa một người dùng vào CSDL. Luồng sự kiện khác STT Tác nhân Hành động 5b. Hệ thống Nếu thông tin về người dùng chưa đủ, không hợp lệ hoặc không đúng, đưa ra thông báo và yêu cầu người sử dụng phải nhập lại. Uses Không Extends Không Tần xuất sử dụng Bình thường Thông tin về user TT Trường Mô tả First Name Text Last Name Text User Name Text Password Text Confirm password Text Email Address Text Phân quyền người dùng Mã use case HT_UC_13 Tên use case Phân quyền người dùng Tác nhân (actor) Quản trị Mô tả Use case này cho phép quản trị tìm kiếm và đưa ra tất cả các người dùng được quản lý trong hệ thống. Điều kiện đầu vào Người dùng đăng nhập được xác thực thuộc nhóm “Quản trị”. Kết quả đầu ra Danh sách tất cả các người dùng thỏa mãn điều kiện được liệt kê ra. Luồng sự kiện chính STT Tác nhân Hành động Người dùng Vào chức năng quản lý người dùng, tìm người dùng cần chỉnh sửa. Hệ thống Hiện lên danh sách người dùng Người dùng Nhấn vào nút “Sửa người dùng” ngay bên cạnh người dùng cần sửa. Hệ thống Đưa ra màn hình Cập nhật người dùng. Người dùng Nhấn vào nút “Quản lý quyền cho người này” Hệ thống Hiện lên màn hình quản lý quyền Người dùng Chọn quyền rồi nhấn nút Cập nhật. Hệ thống Cập nhật quyền cho người dùng đó vào CSDL. Luồng sự kiện khác Uses Không Extends Không Tần xuất sử dụng Bình thường Một số giao diện chính của website Trang chủ Giao diện đăng nhập hệ thống Quản lý user Quản lý user type Quản lý sinh viên Kết luận Trong suốt thời gian thực tập của mình, em đã tìm hiểu về nơi thực tập (công ty TNHH Trí Tuệ Nhân Tạo), tìm hiểu các qui trình thiết kế web site, các kĩ thuật và công cụ hỗ trợ đặc biệt là ngôn ngữ thiết kế mô hình UML. Em tin rằng công cụ này đã phát huy được sức mạnh của nó trong quá trình thiết kế web site. Để thiết kế được một phần mềm hay web site chuyên nghiệp cần có một đội ngũ thiết kế, thời gian và kinh phí. Với những ràng buộc như vậy, báo cáo tốt nghiệp không tránh khỏi những thiếu xót, rất mong được sự đóng góp ý kiến của cô giáo. Em xin chân thành cảm ơn các anh chị phòng phần mềm công ty TNHH Trí Tuệ Nhân Tạo và cô giáo – Ts. Trần Thị Thu Hà đã tận tình giúp đỡ em hoàn thành đề tài này! Tài liệu tham khảo Ngôn ngữ mô hình hướng đối tượng UML Giáo trình cơ sở dữ liệu 1 Giáo trình cơ sở dữ liệu 2 Các thông tin tham khảo trên Internet Phụ Lục Mã nguồn xây dựng website Login Dim DataBase As String = "QLSV" Dim ServerName As String = "SERVER" Dim sqlUser As String = "sa" Dim sqlPwd As String = "sa" Dim _User, _Password As String Dim myConn As System.Data.SqlClient.SqlConnection 'Khi click vào nút Đăng Nhập Protected Sub btnDangNhap_Click(ByVal sender As Object, ByVal e As System.EventArgs) 'Session("UserName") = txtUserName.Text 'Session("Password") = txtPassword.Text If btnDangNhap.Text = "Đăng xuất" Then Session("User") = Nothing Session("Password") = Nothing lblErrorMessage.Text = "Bạn đã đăng xuất thành công!" Response.Redirect("../Default.aspx") Exit Sub End If lblErrorMessage.Text = Session("UserName") Dim myConn As System.Data.SqlClient.SqlConnection Dim gsCon As String = "" gsCon = gsCon & "Server = " & ServerName & ";" & "Database = " & DataBase & ";" & _ "UID = " & sqlUser & ";" & "Pwd = " & sqlPwd Dim strSQL As String = "Select UserName,[Password] from tblUser" Dim a As Integer = 0 ' lấy lỗi về - nhưng không dùng Try myConn = New System.Data.SqlClient.SqlConnection(gsCon) Dim myCom As System.Data.SqlClient.SqlCommand = _ New System.Data.SqlClient.SqlCommand(strSQL, myConn) myConn.Open() Dim DataSet1 As New System.Data.DataSet() Dim Adapter1 As New System.Data.SqlClient.SqlDataAdapter(myCom) Adapter1.Fill(DataSet1, "bang1") Dim length As Integer = DataSet1.Tables("bang1").Rows.Count - 1 lblErrorMessage.Text = "" Dim loged As Boolean = False Dim UserTrue As Boolean = False Dim PasswordTrue As Boolean = False For i As Integer = 0 To length If txtUserName.Text = DataSet1.Tables("bang1").Rows(i)(0).ToString() Then UserTrue = True ' Kiem tra mat khau If txtPassword.Text = DataSet1.Tables("bang1").Rows(i)(1).ToString() Then PasswordTrue = True End If End If Next If UserTrue = False Then lblErrorMessage.Text = "Tên đăng nhập không hợp lệ!" Exit Sub End If If PasswordTrue = False Then lblErrorMessage.Text = "Mật khẩu không hợp lệ!" Exit Sub End If If UserTrue = True And PasswordTrue = True Then loged = True Session("User") = txtUserName.Text Session("Password") = txtPassword.Text Response.Redirect("../Default.aspx") End If Catch ex As Exception myConn.Close() lblErrorMessage.Text = ex.Message() End Try End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) If Session("User") Is Nothing Then 'Nothing to do txtUserName.ReadOnly = False txtPassword.ReadOnly = False btnDangNhap.Text = "Đăng nhập" Else lblErrorMessage.Text = "Bạn đang đăng nhập với tài khoản " & Session("User") txtUserName.ReadOnly = True txtPassword.ReadOnly = True btnDangNhap.Text = "Đăng xuất" End If End Sub Thêm bản ghi Public Overloads Function NewRecord( _ ByVal UserId0Value As String, _ ByVal UserName0Value As String, _ ByVal UserTypeValue As String, _ ByVal PasswordValue As String, _ ByVal FirstNameValue As String, _ ByVal LastNameValue As String, _ ByVal EmailValue As String _ ) As KeyValue Dim rec As IPrimaryKeyRecord = CType(Me.CreateRecord(), IPrimaryKeyRecord) rec.SetString(UserId0Value, UserId0Column) rec.SetString(UserName0Value, UserName0Column) rec.SetString(UserTypeValue, UserTypeColumn) rec.SetString(PasswordValue, PasswordColumn) rec.SetString(FirstNameValue, FirstNameColumn) rec.SetString(LastNameValue, LastNameColumn) rec.SetString(EmailValue, EmailColumn) rec.Create() 'update the DB so any DB-initialized fields (like autoincrement IDs) can be initialized Dim key As KeyValue = rec.GetID() Return key End Function Public Overridable Sub GetUIData() Me.DataSource.Parse(Me.Email.Text, TblUserTable.Email) Me.DataSource.Parse(Me.FirstName.Text, TblUserTable.FirstName) Me.DataSource.Parse(Me.LastName.Text, TblUserTable.LastName) If (Not Me.Password.TextMode = TextBoxMode.Password) OrElse (Not Me.Password.Text.Trim() = "") Then Dim PasswordformattedValue As String = Me.DataSource.Format(TblUserTable.Password) If Me.Password.Text.Trim() PasswordformattedValue Then Me.DataSource.Parse(Me.Password.Text, TblUserTable.Password) End If End If Me.DataSource.Parse(Me.UserId1.Text, TblUserTable.UserId0) Me.DataSource.Parse(Me.UserName1.Text, TblUserTable.UserName0) Me.DataSource.Parse(Me.UserType.Text, TblUserTable.UserType) End Sub Public Overrides Sub DataBind() MyBase.DataBind() ' Make sure that the DataSource is initialized. If Me.DataSource Is Nothing Then Return End If ' Store the checksum. The checksum is used to ' ensure the record was not changed by another user. If Not Me.DataSource.GetCheckSumValue() Is Nothing AndAlso _ (Me.CheckSum Is Nothing OrElse Me.CheckSum.Trim="") Then Me.CheckSum = Me.DataSource.GetCheckSumValue().Value End If ' For each field, check to see if a value is specified. If a value is specified, ' then format the value for display. If no value is specified, use the default value (formatted). If Me.DataSource.IsCreated OrElse Me.DataSource.EmailSpecified Then Dim formattedValue As String = Me.DataSource.Format(TblUserTable.Email) Me.Email.Text = formattedValue Else Me.Email.Text = TblUserTable.Email.Format(TblUserTable.Email.DefaultValue) End If If Me.DataSource.IsCreated OrElse Me.DataSource.FirstNameSpecified Then Dim formattedValue As String = Me.DataSource.Format(TblUserTable.FirstName) Me.FirstName.Text = formattedValue Else Me.FirstName.Text = TblUserTable.FirstName.Format(TblUserTable.FirstName.DefaultValue) End If If Me.DataSource.IsCreated OrElse Me.DataSource.LastNameSpecified Then Dim formattedValue As String = Me.DataSource.Format(TblUserTable.LastName) Me.LastName.Text = formattedValue Else Me.LastName.Text = TblUserTable.LastName.Format(TblUserTable.LastName.DefaultValue) End If If Me.DataSource.IsCreated OrElse Me.DataSource.PasswordSpecified Then Dim formattedValue As String = Me.DataSource.Format(TblUserTable.Password) Me.Password.Text = formattedValue Else Me.Password.Text = TblUserTable.Password.Format(TblUserTable.Password.DefaultValue) End If If Me.DataSource.IsCreated OrElse Me.DataSource.UserId0Specified Then Dim formattedValue As String = Me.DataSource.Format(TblUserTable.UserId0) Me.UserId1.Text = formattedValue Else Me.UserId1.Text = TblUserTable.UserId0.Format(TblUserTable.UserId0.DefaultValue) End If If Me.DataSource.IsCreated OrElse Me.DataSource.UserName0Specified Then Dim formattedValue As String = Me.DataSource.Format(TblUserTable.UserName0) Me.UserName1.Text = formattedValue Else Me.UserName1.Text = TblUserTable.UserName0.Format(TblUserTable.UserName0.DefaultValue) End If If Me.DataSource.IsCreated OrElse Me.DataSource.UserTypeSpecified Then Dim formattedValue As String = Me.DataSource.Format(TblUserTable.UserType) Me.UserType.Text = formattedValue Else Me.UserType.Text = TblUserTable.UserType.Format(TblUserTable.UserType.DefaultValue) End If Me.IsNewRecord = True If Me.DataSource.IsCreated Then Me.IsNewRecord = False Me.RecordUniqueId = Me.DataSource.GetID.ToXmlString() End If

Các file đính kèm theo tài liệu này:

  • doc33057.doc