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.
85 trang |
Chia sẻ: aloso | Lượt xem: 2234 | Lượt tải: 0
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:
- 33057.doc