Chúng ta có thể làm gì với C#?
Tạo giao diện người sử dụng. Giao diện người sử dụng có lẽ là phần quan trọng nhất của một ứng dụng. Đối với người sử dụng, giao diện chính là ứng dụng, họ không cần chú ý đến các thành phần thực thi bên trong. Ứng dụng của chúng ta có phổ biến hay không phụ thuộc vào giao diện.
b. Sử dụng những điều khiển chuẩn của C#
Ta dùng những điều khiển để lấy thông tin mà người sử dụng nhập vào và hiển thị kết quả xuất. Những điều khiển mà ta có thể dùng trong ứng dụng bao gồm hộp văn bản, nút lệnh và hộp danh sách Những điều khiển khác cho ta truy xuất những ứng dụng khác, xử lý dữ liệu của nó như là một phần mã trong ứng dụng của bạn.
c. Lập trình với những đối tượng
Những đối tượng là thành phần chủ yếu để lập trình. Các ứng dụng có thể là winform, những điều khiển hay cơ sở dữ liệu.
d. Đáp ứng những sự kiện chuột và bàn phím
Các ứng dụng C# có thể đáp ứng một lượng lớn sự kiện chuột và bàn phím. Ví dụ form, hộp ảnh và những điều khiển ảnh có thể phát hiện vị trí con trỏ chuột, có thể quyết định phím trái hay phím phải được nhấp, và có thể đáp ứng những tổ hợp của phím chuột vơi phím Shift, Ctrl hay Alt. Sử dụng những điều khiển phím, ta có thể lập trình những điều khiển và form để đáp ứng các hành động phím hoặc biên dịch và xử lý mã Asscii của ký tự.
e. Gỡ rối và quản lý lỗi
Đôi khi có những lỗi xảy ra bên trong mã của ứng dụng. Những lỗi nghiêm trọng có thể là nguyên nhân một ứng dụng không đáp ứng lệnh, thông thường người sử dụng không đáp ứng lệnh, thông thường hệ thống yêu cầu người sử dụng khởi dọng lại ứng dụng và không lưu lại những gì ta đã làm. Quá trình tìm ra và sửa chữa gọi là gỡ rối. C# cung cấp nhiều công cụ giúp chúng ta phân tích ứng dụng làm việc như thế nào. Những công cụ gỡ rối đặc biệt hữu ích trong việc tìm ra nguồn gốc lỗi, nhưng chúng ta cũng có thể dùng những công cụ này để kiểm tra chương trình hoặc tìm hiểu những ứng dụng khác nhau làm việc thế nào.
f. Xử lý ổ đĩa, thư mục và file
94 trang |
Chia sẻ: baoanh98 | Lượt xem: 859 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đề tài Thiết kế xây dựng chương trình việc làm cho người lao động và nhà tuyển dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
DoVanHoa: thông tin về bằng cấp
MaTDVH: int
TenTDVH: string
ThemTrinhDoVH(): bool
LayMaTDVH(): int
clsChungChi: thông tin các loại chứng chỉ
MaCC: int
TenCC: string
ThemChungChi(): bool
LayMaCC_LonNhat(): int
XoaCC(): void
clsNhaTuyenDung: thông tin về nhà tuyển dụng
MaNTD: int
TenTaiKhoan: string
TenNTD: string
DiaChi: string
DienThoai: string
Email: string
DiaChiWeb: string
GioiThieu: string
ThemNhaTuyenDung(): bool
XoaNhaTuyenDung(): void
LayMaNTD(): int
LayTenNTD(): string
clsHoSoXinViec: thong tin về hồ sơ xin việc của các ứng viên
MaHSXV: int
TenTaiKhoan: string
MaNganh: int
MaTDVH: int
TieuDeHoSo: string
HoUngVien: string
TenUngVien: string
NgaySinh: DateTime
GioiTinh: string
DiaChi: string
DienThoai: string
Email: string
TinhTrangHonNhan: string
LuongKhoiDiem: int
NoiLamViec: int
KinhNghiem: string
NgayDangHoSo: DateTime
HinhAnh: string
NguyenVongLamViec: String
ThoiGianDangHoSo: int
ThemHoSoXinViec(): bool
TimKiem (): DataSet
LayMaHSXV_Max(): int
ChiTietHoSoXinViec(): DataSet
ChinhSuaHoSoXinViec(): bool
XoaHoSoXinViec(): void
clsPhieuDangTuyen: thông tin về phiếu đăng tuyển việc làm của các thương nghiệp
MaPDT: int
MaNTD: int
NgayDangTin: DateTime
ThoiHanDangTin: int
ThemPhieuDangTuyen(): bool
LayMaPDT_LonNhat(): int
clsChiTietTuyenDung: thong tin chi tiết cho mỗi phiếu đăng tuyển việc làm
MaPDT: int
MaNganh: int
MaTDVH: int
ViTriTuyenDung: string
MoTaCV: string
ThoiHanNopHoSo: int
SoLuongTuyenDung: int
NoiLamViec: int
LuongKhoiDiem: int
YeuCauKinhNghiem: string
MaViTri: string
ThemChiTietTuyenDung(): bool
LayThongTinTuyenDungMoiNhat(): DataSet
LayThongTinTuyenDung(): DataSet
XoaTinTuyenDung(): void
LayMaPDT(): int
clsChiTietChungChi: thong tin chi tiết về từng loại chứng chỉ trong hồ sơ xin việc của ứng viên
MaHSXV: int
MaCC: int
NoiCap:String
ThemChiTietChungChi(): bool
LayThongTinCC(): DataSet
clsYeuCauChungChi: thông tin chi tiết về yêu cầu từng loại chứng chỉ trong phiếu đăng tuyển việc làm của nhà tuyển dụng
MaPDT: int
MaNganh: int
MaTDVH:int
MaCC: int
ThemYCCC(): bool
TTYeuCauCC(): DataSet
clsQuangCao: các thông tin về quảng cáo trên site.
MaSoQC: int
TieuDe: stirng
HinhAnh: string
ThoiHanDangQC: int
DangQuangCao(): bool
LayThongTinQC(): DataSet
LayMaSoQC_Max(): int
ThemTTQC_CoPhi(): DataSet
ThemQC(): bool
clsHopDongQC: thong tin về hợp đồng quảng cáo giữa site và các thương nghiệp
SoHD: int
MaNTD: int
NgayLap: DateTime
NoiDungHD: string
ThemHopDongQC(): bool
LaySoHD_Max(): int
clsChiTietQuangCao: thông tin chi tiết trong hợp đồng quảng cáo
MaSoQC: int
SoHD: int
NoiDung: string
DonGia: int
ThemChiTietQC(): bool
clsKyNangXinViec: các tin tức của đến site
MaKyNang: int
TieuDe: string
GioiThieu: string
HinhAnh: string
ThemKyNangXinViec(): bool
clsChiTietKNXV: chi tiết các tin tức của site
MaNTD: int
MaKyNang: int
NoiDung: String
LayKyNangXinViec(): DataSet
Biểu đồ dưới đây cho thấy sự liên hệ giữa các lớp trong Data Services package:
Biểu đồ quan hệ giữa các lớp trong data services package
Mô hình ba lớp liên hệ giữa các lớp với nhau
Mô hình ba lớp dành cho người dùng hệ thống
Mô hình 3 lớp dành cho người tìm việc
Mô hình 3 lớp dành cho nhà tuyển dụng
3. Deployment Diagram
X. Một số giao diện:
1.Trang Chủ
2. Trang người tìm việc
Muốn vào được trang người tìm việc, bạn phải đăng nhập
2.1. Giao diện trang người tìm việc sau khi đăng nhập
2.2. Đăng hồ sơ
Bạn có thể đăng hồ sơ tai web site
4. Trang nhà tuyển dụng
Để tham gia tuyển dụng tại trang web, bạn cũng phải là thành viên của trang web.
4.1. Đăng kí tài khoản nhà tuyển dụng
4.2. Đăng công việc
Sau khi đã có tài khoản tại trang web, nhà tuyển dụng có thể đăng tuyển.
4.3. Tìm kiếm danh sách ứng viên
Nhà tuyển dụng có thể tìm kiếm theo 2 tiêu chuẩn: tìm nhanh và tìm nâng cao
4.4. Kết quả tìm kiếm:
Nhà tuyển dụng có thể coi danh sách các ứng viên phù hợp với yêu cầu của các công việc bằng cách chọn “select”
Các ứng viên đã qua chọn lựa của trang web:
CHƯƠNG IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1. Kết quả thực hiện:
Xây dựng một ứng dụng thương mại sử dụng công nghệ lập trình mới, hiện đại là một điều thú vị song không ít những thách thức. Thứ nhất, mặc dù thương mại điện tử không còn xa lạ gì nhưng đối với chúng em, thời gian tiếp cận không thể nói là nhiều. Thứ hai, đây là lần đầu tiên chúng em thực sự là việc với ASP.NET để xây dựng một ứng dụng web. Hơn nữa, thời gian làm luận văn cũng có giới hạn, nên chúng em cũng gặp nhiều khó khăn. Tuy nhiên, chúng em đã cố gắng rất nhiều để hoàn thành luận văn đúng thời hạn. Sau đây là những phần chúng em đã hoàn thành trong luận văn (mặc dù còn rất nhiều ý tưởng và dự định chưa thể thực hiện được do thời gian và khả năng có hạn, hy vọng có thể hoàn thiện trong thời gian tới):
Giao diện được xây dựng hoàn chỉnh, tương ứng với từng người dùng có các thanh menu riêng, chứa các khả năng có thể thực hiện.
Với đối tượng là người tìm việc có thể thực hiện các chức năng sau:
Đăng kí là thành viên
Đăng nhập vào hệ thống (nếu đã đăng kí), có hỗ trợ chức năng tìm lại mật khẩu khi quên mật khẩu và có thể đổi mật khẩu.
Đăng hồ sơ xin việc
Xem các hồ sơ mình đã đăng, có thể chỉnh sửa thông tin của hồ sơ xin việc nếu thấy cần thiết.
Tìm kiếm công việc:
Tìm nhanh: tìm theo chuyên ngành và thành phố
Tìm nâng cao: tìm theo các thông tin mở rộng
Tìm theo thời gian tuyển dụng
Tìm theo thông tin công việc bao gồm: chuyên ngành, tên công việc, mức lương khởi điểm, yêu cầu kinh nghiệm, lương khởi điểm, nơi làm việc
Tìm theo tên nhà tuyển dụng
Gửi mail trực tiếp đến cho nhà tuyển dụng nếu thấy công việc phù hợp.
Xem các kỹ năng xin việc.
Đăng kí email để nhận các thông báo việc làm hàng ngày, hàng tuần
Tham gia diễn đàn.
Tham gia góp ý, liên hệ với người quản trị mạng.
Với đối tượng là nhà tuyển dụng có thể thực hiện các chức năng sau:
Đăng kí là nhà tuyển dụng
Đăng nhập vào hệ thống (nếu đã đăng kí), có hỗ trợ chức năng tìm lại mật khẩu khi quên mật khẩu và có thể đổi mật khẩu.
Đăng tuyển dụng.
Chỉnh sửa thông tin đã đăng
Đăng quảng cáo
Tìm kiếm ứng viên
Tìm nhanh: tìm theo chuyên ngành và thành phố
Tìm nâng cao: tìm theo các thông tin mở rộng
Tìm theo chuyên ngành
Tìm theo trình độ văn hoá
Tìm theo thành phố
Tìm theo giới tính
Tìm theo số năm kinh nghiệm
Tìm theo mức lương yêu cầu
Tìm theo tên chứng chỉ
Góp ý kĩ năng xin việc.
Với đối tượng là nhà quản trị có thể thực hiện các chức năng sau:
Quản lý nhà tuyển dụng
Quản lý người tìm việc
Các yêu cầu về bảo mật: Sử dụng kiến trúc bảo mật ASP.NET
Khả năng tương thích với các trình duyệt khác nhau: Chạy tốt trên các trình duyệt khác nhau có hỗ trợ kiến trúc bảo mật mới của ASP.NET như: Internet Explorer 6.0, Netscape 7.1, Mozilla.
Tuy nhiên, do thời gian và năng lực có hạn, nên đề tài của chúng em còn một vài thiếu sót:
Về giao diện: do hạn chế về khả năng thẩm mỹ nên giao diện chưa thật sự thân thiện với người dùng
Về nghiệp vụ: một số nghiệp vụ còn chưa hoàn chỉnh, chưa thực hiện được việc liên kết với hệ thống ngân hàng để tiến hành thanh toán tự động.
Về nghiệp vụ của Admin: do thời gian hạn chế nên phần Admin còn sơ sài.
2. Hướng phát triển
Đề tài có thể mở rộng và phát triển theo các hướng sau:
Liên kết với hệ thống ngân hàng:
Hiện nay, hệ thống ngân hàng ở nước ta chưa phổ biến hình thức thanh toán tín dụng qua mạng. Do đó, nếu trong tương lai dịch vụ này phát triển thì việc liên kết với các ngân hàng để thực hiện quá trình thanh toán trực tuyến được nhanh chóng và hiệu quả hơn
Liên kết với các nhà tuyển dụng để thực hiện và đăng kí tự động nếu nhà tuyển dụng có nhu cầu muốn đăng quảng cáo trên trang web.
Điều này chưa thực hiện được do hai vấn đề sau: thứ nhất, công nghệ trong nước chưa thực hiện được. Thứ 2, trình độ của nhóm còn hạn chế.
Đưa vào triển khai ứng dụng thực tế:
Trong tương lai, nếu có khả năng, nhóm sẽ đưa ứng dụng vào triển khai thực tế để đem lại cho mọi người một địa chỉ đáng tin cậy
Phụ lục
Giới thiệu chung về SQL Server và Visual C#.NET và UML
I. Cơ bản về UML
1. Giới thiệu
Ngôn ngữ mô hình hợp nhất UML (Unified Modeling Language) được bắt đầu phát triển vào tháng 10 năm 1994 khi Grady Booch và Jim Rumbaugh bắt đầu hợp nhất 3 phương pháp của Booch, OMT, OOSE là một ngôn ngữ trực quan cung cấp cho các nhà phân tích thiết kế các hệ thống hướng đối tượng một cách hình dung ra các hệ thống phần mềm, mô hình hoá các nghiệp vụ sử dụng hệ thống phần mềm này, cũng như xây dựng và làm tài liệu về chúng. Công ty phần mềm Rational và OMG (Object Management Group) đã cùng nhau đưa ra ba biểu đồ các ký hiệu hướng đối tượng có ý nghĩa kết hợp với các khía cạnh của nhiều ký hiệu khác tạo ra một ngôn ngữ có mô hình chuẩn, trở thành một chuẩn quốc tế được tổ chức tiêu chuẩn quốc tế ISO (International Standard Organization) chấp nhận.
Cả ba phương pháp này đều trở nên tương tự nhau vì họ đã kết hợp các đặc tính tốt nhất của các phương pháp. Vào năm 194, Rumbaugh và Booch đã kết hợp làm việc chung với nhau trong công ty phần mềm Rational để thống nhất hai phương pháp của họ. Tháng 10/1995, họ đưa ra bảng phác thảo phương pháp hợp nhất (Unified Model) phiên bản 0.8. Vào mùa thu 1995, Jacobson cùng công ty của mình đã gia nhập Rational, cả 3 bắt đầu phát triển cả UML cũng như quy trình phát triển phần mềm hợp nhất USDP (Unified Software Development Process), phần lớn dựa trên phương pháp Objectory.
Vào tháng 6 và tháng 10 năm 1996, phiên bản 0.9 và 0.91 phát hành và nhận được sự phản hồi từ các tổ chức quan tâm đến việc phát triển một ngôn ngữ mô hình đối tượng chuẩn.Vào thời điểm này OMG đã đưa ra một Yêu Cầu Hợp Nhất, RFP (Ruquest for Proposal) cho một ngôn ngữ mô hình hướng đối tượng chẩn. Rational đã nhận thấy rằng có nhu cầu liên đới giữa tiến trình hợp nhất với sự liên kết giữa các thành viên UML với các tổ chức như IBM, HP, Microsoft và Oracle, những tổ chức sẵn sàng cung cấp tài nguyên cho sự phát triển xa hơn của UML như là một phả hồi đến OMG.
Tháng 1/1997 các thành viên UML và một số tổ chức khác đã đệ trình các đề nghị đến OMG. Sau đó họ cùng nhau đưa ra UML phiên bản 1.1. Vào tháng 11/1997, UML phiên bản 1.1 nằm trong dah sách các kỹ thuất được chấp nhận của OMG.
OMG đã thành lập hóm xét duyệt RTF (Revision Task Force) do Cris Kobryn của MCI . RTF chịu trách nhiệm cải tiến UML - xử lý lỗi lập trình, điều chỉnh các sai sót, giải quyết các mâu thuẫn và các khái niệm còn nhập nhằng. Tháng 6/1998, RTF đưa ra một phiên bản sử đổi (phiên bản 1.2) và tháng 6/1999 đã đưa ra phiên bản hoàn chỉnh 1.3.
UML là ngôn ngữ trực quan được dùng trong quy trình phát triển các hệ thống phần mềm. Nó là ngôn ngữ đặc tả hình thức(formal specification language) gồm một tập các phần tử và các quy tắc riêng.
2. Các quan hệ trong UML
a. Quan hệ tổng quát hoá (generalization)
Generalization là quan hệ giữa một thành tố tổng quát hơn và một thành tố đặc biệt hơn.Thành tố đặc biệt hơn chứa đầy đủ các đặc điểm của thành tố tổng quát hơn và ngoài ra còn có những thôn tin riêng.
b. Quan hệ kết hợp (association)
Quan hệ kết hợp thể hiện sự liên hệ về mặt ngữ nghĩa giữa 2 thành tố. Nghĩa là thành tố này có sử dụng hay nhận biết thông tin của thành tố kia.
Assciation có thể bao gồm hai loại quan hệ con là quan hệ ngữ nghĩa thông thường (association) và quan hệ toàn thể - bộ phận (aggregation).
c. Quan hệ phụ thuộc (depenency)
Dependency thể hiện sự phụ thuộc chức năng của một hay nhiều thành tố nhận vào một hay nhiều thành tố cho. Dependency kém chi tiết về mức độ ngữ nghĩa hơn quan hệ kết hợp và thường sử dụng để mô tả sự phụ thuộc lẫn nhau giữa các gói.
3. Các lược đồ trong UML
a. Biểu đồ Use case (use case diagram)
Use case cung cấp một bức tranh tổng thể về những gì đang xảy ra trong hệ thống hiện tại hoặc những gì sẽ xảy ra trong hệ thống mới.
Biểu đồ Use case đưa ra các use case (tình huống sử dụng), các actor (tác nhân) và các association (quan hệ kết hợp).
Mục đích của Use case:
Dùng để mô hình hoá các chuỗi mà hệ thống sẽ thực hiện, nhằm cung cấp một kết quả có ý nghĩa cho một người nào đó hay một hệ thống bên ngoài.
Cung cấp cái nhìn tổng thể về những gì mà hệ thống phải làm và ai sẽ dùng nó.
Đưa ra cơ sở dể xác định giao tiếp người – máy đối với hệ thống.
Dùng để mô hình hoá các scenario cho một use case.
Để người dùng cuối có thể hiểu được và có thể giao tiếp với hệ thống ở mức tổng thể.
Lập cơ sở cho việc phác thảo ra các đặc tả kiểm tra.
Các ký hiệu cơ bản: use case, actor, relationship:
Use case:
Mô tả một chuỗi các hành động. mà hệ thống sẽ thực hiện để đạt được kết quả có ý nghĩa đối với một tác nhân. Trong biểu đồ use case được biễu diễn bằng một hình ellipse. Tên use case được đặt bên trong hoặc bên dưới.
Use case name
Use case name
Tên use case là một chuỗi gồm các ký tự, các con số và hầu hết các dấuphân cách, ngoại trừ dấu hai chấm bởi dấu hai chấm được dùng phân tách tên use case với tên packet. Quy ước đặt tên use case như sau: Trước hết là một động từ và sau là một danh từ hay cụm danh từ mô tả hành vi.
Actor:
Là người hay hệ thống gồm các kí tự tương tác với use case. Thường là người dùng hệ thống. Trong biểu đồ use case, mỗi use case được vẽ bằng một biểu tượng hình người với tên vai trò (role name) đặt bên dưới.
Khi actor là người, tên actor là tên vai trò mà actor đảm nhiệm chứ không phải là tên công việc.
Account
Đoạn thẳng nối actor với use case mô tả mối quan hệ giữa chúng, là mối quan hệ tương tác giữa actor và use case
Match car
Record sharing
Register car
CarMatch
Administrator
Franchisee
Các kiểu kết hợp và quan hệ
Có 4 kiểu kết hợp và quan hệ trong một biểu đồ use case:
Kết hợp generazation (tổng quát hoá) giữa các use case.
Kết hợp generazation giữa các actor.
Quan hệ include (bao gồm) giữa các use case.
Quan hệ extend (mở rộng) giữa các use case.
b. Biểu đồ lớp (class diagram)
Biểu đồ lớp mô tả các lớp, là viên gạch để xây dựng bất kỳ hệ thống hướng đối tượng nào. Khả năng cộng tác giữa chúng, bằng cách truyền thông điệp, được chỉ ra trong các mối quan hệ giữa chúng.
Biểu đồ lớp cho ta một khung nhìn tĩnh của các lớp trong mô hình hoặc một phần của mô hình. Nó chỉ cho ta thấy các thuộc tính và các thao tác của lớp, cũng như các quan hệ giữa các lớp. Biểu đồ lớp giống như tấm bản đồ, với các lớp là các thành phố, còn các mối quan hệ là các đường nối giữa chúng.
Mục đích của biểu đồ lớp:
Dùng để sưu liệu các lớp tạo thành hệ thống hay hệ thống con.
Dùng để mô tả các kết hợp, quan hệ tổng quát hoá và quan hệ kết tập giữa các lớp.
Dùng biễu diễn các thành phần của lớp, chủ yếu là các thuộc tính và các thao tác của mỗi lớp.
Chúng có thể được dùng trên khắp quy trình phát triển, từ đặc tả của các lớp trong xác định yêu cầu đến mô hình cài đặt cho hệ thống nào đó, để biểu diễn cấu trúc lớp của hệ thống đó.
Làm sưu liệu cách tương tác giữa các lớp của hệ thống với các thư viện lớp đang có.
Dùng biễu diễn các thể hiện đối tượng riêng lẻ bên trong cấu trúc lớp.
Dùng biểu diễn các giao diện được một lớp nào đó hỗ trợ.
c. Biểu đồ cộng tác (collaboration diagram)
Biểu đồ cộng tác được dùng trong quá trình phác thảo tỉ mỉ biểu đồ lớp nhằm giúp người phâp tích hiểu được các nhóm đối tượng tham gia thực hiện một use case. Biểu đồ cộng tác được sử dụng khi biểu đồ lớp không diễn đạt được hết ý nghĩa tương tác giữa các đối tượng. Ngoài ra, biểu đồ cộng tác còn được dùng để xác định các đối tượng có liên quan trong thao tác. Việc mô hình hoá các cộng tác và tương tác bằng biểu đồ cộng tác hay biểu đồ tuần tự có thể cần đến các lớp mới, các thuộc tính và thao tác mới.
Mục đích chính của việc tạo ra biểu đồ cộng tác bao gồm:
Mô hình cộng tác giữa các đối tượng hay các vai trò nhằm thực hiện chức năng của một use case.
Mô hình cộng tác giữa các đối tượng hay các vai trò nhằm thực hiện chức năng của một thao tác.
Mô hình cơ chế bên trong thiết kế kiến trúc.
Biểu đồ cộng tác được chú thích với các tương tác. Các tương tác này trình bày các thông điệp giữa các đối tượng hay vai trò bên trong cộng tác.
Biểu đồ cộng tác được dùng để mô hình các scenario trong một use case hay một thao tác liên quan đến sự cộng tác của các đối tượng khác nhau và cá tương tác khác nhau.
Biểu đồ cộng tác dùng trong các giai đoạn đầu của dự án để xác định các đối tượng tham gia vào một use case.
Biểu đồ cộng tác dùng mô tả các đối tượng tham gia vào một mẫu thiết kế.
d. Biểu đồ tuần tự (sequence diagram)
Là phương tiện biểu diễn tương tác dưới dạng hình ảnh. Biểu đồ tuần tự dùng mô tả các tương tác giữa các thể hiện đối tượng trong ngữ cảnh một cộng tác. Cộng tác này được biễu diễn tường minh trong biểu đồ cộng tác, nhủng không tường minh trong biểu đồ tuần tự. Các thể hiện thường được sử dụng nhiều hơn các vai trò, nhưng phải nhớ rằng mỗi thể hiện đang đảm hiệm một vai trò đã được định nghĩa trong một cộng tác.
Các biểu đồ tuần tự thường được sử dụng trong các trường hợp sau:
Lập mô hình tương tác giữa các mức cao giữa các đối tượng hoạt động.
Lập mô hình tương tác giữa các thể hiện đối tượng bên trong một cộng tác nhằm thực hiện một use case.
Lập mô hình tương tác giữa các thể hiện đối tượng bên trong một cộng tác nhằm thực hiện một thao tác.
Lập mô hình tương tác tổng thể hoặc được dùng để xác định các thể hiện của một tương tác.
e. Biểu đồ hoạt động (activity diagram)
Là một phương tiện mô tả dòng công việc (workflow) và được dùng theo nhiều cách khác nhau. Như một công cụ phân tích, nó mô tả các dòng nghiệp vụ (business flow) với nhiều mức độ chi tiết, mô tả các dòng phức tạp bên trong use case hay giữa các use case.
Biểu đồ hoạt động bao gồm các hoạt động (activity), trạng thái (state) và chuyển tiếp (transition) giữa các hoạt động, các trạng thái.
Chúng được dùng để:
Mô tả các dòng nghiệp vụ.
Xác định các use case, qua việc khảo sát các dòng nghiệp vụ.
Xác định các điều kiện đầu và cuối cho các use case.
Mô hình dòng công việc giữa các use case.
Mô hình dòng công bên trong các use case.
Mô hình dòng phức tạp bên trong thao tác trên đối tượng.
Mô hình chi tiết các hoạt động phức tạp trong một mô hình hoạt động ở mức cao.
f. Biểu đồ trạng thái (statechart diagram)
Là phương tiện mô tả hành vi của các phần tử của mô hình động, nó quan hệ rất mật thiết với biểu đồ hoạt động. Trong khi biểu đồ hoạt động mô tả dòng công việc thì biểu đồ trạng thái mô tả trạng thái của các thể hiện.
Biểu đồ trạng thái dùng mô tả hành vi của các lớp. Tuy nhiên chúng cũng được dùng mô tả hành vi của các phần tử khác như use case, actor, hệ thống con và thao tác. Các biểu đồ trạng thái còn được dùng trong quy trình phân tích để mô tả hành vi phức tạp của các phần tử trong môi trường hệ thống. Biểu đồ trạng thái mô tả hành vi từ góc độ một thực thể, chẳng hạn như một lớp, còn biểu đồ hoạt động và biểu đồ cộng tác có thể lập mô hình hành vi nhiều thực thể.
Vai trò chính của biểu đồ trạng thái là mô tả các thực thể phức tạp có các trạng thái có ý nghĩa và các chuyển tiếp phức tạp giữa các trạng thái.
Chúng đặc biệt hữu ích để mô tả:
Các thực thể nghiệp vụ phức tạp.
Hành vi của hệ thống con.
Tương tác trong các lớp boundary trong suốt quy trình định nghĩa giao diện của hệ thống, chẳng hạn như màn hình.
Việc thực hiện các use case.
Các đối tượng phức tạp hiện thực các thực thể nghiệp vụ hay các thực thể thiết kế phức tạp.
g. Biểu đồ thành phần (component diagram)
Được dùng để mô hình mối quan hệ giữa các thành phần phần mềm trong hệ thống. Thông thường chúng là các quan hệ giữa các tập tin chương trình nguồn, giữa các phần mềm đang chạy hoặc giữa tập tin nguồn với tập tin thi hành tương ứng. Tuy nhiên chúng có thể dùng sưu liệu cho bất cứ thành phần phần mềm tạo nên hệ thống máy tính và mối quan hệ giữa chúng. Biểu đồ thành phần mô hình một khung nhìn tĩnh về các thành phần tạo nên hệ thống. Các thành phần có thể là tập tin, chương trình thi hành, tài liệu, thư viện hay bảng dữ liệu. Chúng được liên kết với nhau trong biểu đồ bằng các mối quan hệ phụ thuộc, tổng quát hoá, hiện thực hoá và các kết hợp khác.
Mục đích chính của các biểu đồ thành phần:
Mô hình vật lý các thành phần phần mềm và các mối quan hệ giữa chúng.
Mô hình các tập tin mã nguồn và mối quan hệ giữa chúng.
Mô hình cấu trúc của phiên bản phần mềm.
Xác định các tập tin được biên dịch thành tập tin thi hành.
h. Biểu đồ triển khai (deployment diagram)
Dùng để mô hình các phần cứng được dùng để thi hành hệ thống và liên kết các thành phần lại với nhau. Các thành phần được biểu diễn trong biểu đồ triển khaicho phép mô hình việc trienr khai các thành phần thực thi trên các bộ xử lý trên một hệ thống phẳng. Biểu đồ triển khai được dùng để mô hình cấu hình của các thành phần phần cứng tạo nên hệ thống. Chúng cũng được dùng để biễu diễn các nút nơi cư trú của các thành phần phần mềm của hệ thống thực thi.
Biểu đồ triển khai được dùng để:
Mô hình vật lý các thành phần phần cứng và các kênh liên lạc giữa chúng.
Lập kế hoạch kiến trúc của một hệ thống.
Lập tài liệu việc triển khai các thành phần phần mềm trên các nút phần cứng.
II.Cơ bản về SQL SERVER
1. Lịch sử phát triển và các phiên bản của SQL Server:
Microsof SQL Server xuát phát từ Sysbase SQL Server. Microsoft là một đối tác của Sysbase vào năm 1989 để phát triển SQL Server. Phiên bản đầu tiên là 4.2 vào năm 1993, sau đó được nâng cấp thành phiên bản 6.5, với khá nhiều tính nảng mới. Tiếp theo đó là phiên bản 7.0 ra đời, tạo nên bước nhảy vọt công nghệ cơ sở dữ liệu so với phiên bản 6.5.
SQL Server 2000 ra đời không ngừng cung cấp cho người dùng những đặc điểm mới mà các phiên bản trước còn thiếu sót.
Ngoài những đặc tính cũ của các phiên bản trước, phiên bản 2000 còn khắc phục một số cục diện khác trong chức năng lập trình cũng như trong quan hệ và ràng buộc dữ liệu.
Ngoài ra, phiên bản 2000 còn cung cấp một số công cụ khác như phân tích xử lý trực tuyến (OLAP), chuyển tác trực tuyến (OLTP), English QueryCung cấp cho người dùng liên quan đến tin học, đặc biệt là những người phát triển cơ sở dữ liệu đa người dùng, những kiến thức phân tích thiết kế hệ thống và việc xây dựng cơ sở dữ liệu thực tiễn
Và phiên bản mới nhất được giới thiệu là SQL Server 2005.
2. Các thành phần cơ bản và đối tượng cơ sở dữ liệu của SQL Server 2005
a. Các thành phần cơ bản:
SQL chứa nhiều đối tượng bao gồm:
Database: cơ sở dữ liệu của SQL.
Tập tin log: tập tin lưu trữ những chuyển tác của SQL.
Table: bảng dữ liệu.
Filegroup: tập tin nhóm.
Diagram: Sơ đồ quan hệ.
View: khung nhìn số liệu dựa trên bảng.
Stored Procedure: thủ tục và hàm nội.
User defined Function: hàm do người dùng định nghĩa.
User: người sử dụng cơ sở dữ liệu.
Roles: các quy định vai trò và chức năng trong hệ thống.
Rules: những quy tắc.
Default: các giá trị mặc định.
User-defined data types: kiểu dữ liệu do người dùng tự định nghĩa.
Full-text catalogs: tập phân loại dữ liệu text.
b. Đối tượng cơ sở dữ liệu của SQL Server 2005:
Cơ sở dữ liệu là đối tượng có ảnh hưởng cao nhất khi bạn làm việc với SQL Server, tuy nhiên những đối tượng con của cơ sở dữ liệu mới là thành phần chính của cơ sở dữ liệu.
Cơ sở dữ liệu SQL là một CSDL đa người dùng, với mỗi Server bạn chỉ có một hệ quản trị CSDL. Nếu muốn có nhiều hệ CSDL bạn cần có nhiều Server tương ứng.
Truy cập CSDL SQL Server dựa vào những tài khoản người dùng riêng biệt và ứng với quyền truy cập nhất định. Khi cài đặt SQL Server bạn có 6 CSDL mặc định sau:
Master: bất kì hệ CSDL nào cũng có CSDL Master, chúng chứa đựng tất cả các bảng dữ liệu đặc biệt (bảng hệ thống) và kiểm soát tất cả hoạt động của hệ thống.
Model: CSDL này chứa đựng tất cả các Template dùng làm mẫu để tạo CSDL mới, vì vậy bạn không được xoá CSDL này. Khi một CSDL được tạo ra thì CSDL mới này ít nhất cũng bằng và giống như CSDL model.
Msdb: như đã nêu trên, nếu ta xoá 2 CSDL Master và Model đã nêu trên thì hệ thống bị lỗi, nhưng với CSDL Msdb thì khác, Msdb chính là quá trình SQL Agent lưu trữ tất cả các tác vụ xảy ra trong SQK Server. Nếu xoá CSDL này, bạn phải cài đặt lại khi nó cần dùng hay khi hệ thống yêu cầu.
Tempdb: CSDL tempdb là một trong những CSDL chính của SQL Server. CSDL này cho phép người dùng tạo những ứng dụng tham khảo hay thực tập khi bắt đàu với CSDL thực.
Pubs: CSDL pubs chứa hầu hết nội dung về hướng dẫn, trợ giúp và cả tham khảo về SQL Server. Bạn cũng có thể xoá CSDL này mà không cần xác nhận với SQL Server.
Northwind: giống CSDL pubs, đây là CSDL mẫu cho người dùng tham khảo, hay các lập trình viên dùng để truy cập dữ liệu SQL Server.
3. Lược đồ quan hệ trong SQL Server – Diagram
ERD (Entity Relationship Diagram) là công cụ quan trọng trong quá trình phân tích thiết kế hệ thống thông tin quản lý hay bất kỳ giải pháp thông tin ứng dụng nào khác, cho dù quy mô cơ sở dữ liệu lớn hay nhỏ.
ERD cho phép bạn kiểm soát được mố liên hệ giữa các thực thể với nhau. Bên cạnh đó, bạn kiểm soát được các thông tin vào ra hay các thay đổi trong CSDL.
4. Các đối tượng của CSDL SQL Server
a. Bảng – Table:
Trong CSDL, bảng là phần chính, do bảng lưu trữ các dữ liệu thực, khi cần giao tiếp với các dữ liệu khác. Bảng là đối tượng căn bản nhất. Trong bất kì loại CSDL nào, chúng được coi như một miền dữ liệu.
Khi định nghĩa bảng dữ liệu cần quan tâm đến các yếu tố:
Key: trường đó có khoá hay không.
ID: trường đó có thuộc tính Identify hay không
Column name: tên của cột.
Data types: dữ liệu tương ứng.
Size: kích thước dữ liệu.
Allow null: cho phếp giá trị rỗng hay không.
Default: giá trị mặc nhiên cho trường.
Identity: nếu bạn cần sử dụng một trường có giá trị tự động như Autonumber trong Access, not null và Identity: Yes (on).
Identity Seed: nếu cột này Identity, số bắt đầu phải là 1 hoặc 2.
Identity Increament: số nhảy cho mỗi lần tăng.
b. Chỉ mục – Indexs:
Chỉ tồn tại trong khung nhìn (View) hay Tables. Chỉ mục có ảnh hưởng đến tốc độ truy cập số liệu, nhất là khi cần tìm kiếm thông tin trên bảng. Chỉ mục giúp làm tăng tốc độ cho việc tìm kiếm.
Có 2 loại chỉ mục:
Clustered: ứng với loại chỉ mục này, một bảng chỉ có một chỉ mục, số liệu được sắp theo trang.
Non – Clustered: ứng với chỉ mục này, một bảng có thể có nhiều chỉ mục, số liệu được sắp theo dữ liệu mà bạn trỏ đến.
c. Bẫy lỗi – Triggers:
Triggers là đối tượng chỉ tồn tại trong bảng, cụ thể là một đoạn mã, và tự động thực thi khi có một hành động nào đó xảy ra đối với dữ liệu trong bảng như: Insert, Update, Delete.
d. Ràng buộc – Constraints:
Constraint là một đối tượng, nó là một phần nhỏ trong bảng, chúng ràng buộc dữ liệu trong bảng hoặc một bảng khác.
e. Diagram - Lược đồ quan hệ:
Khi xây dựng CSDL cho ứng dụng hay thương mại điện tử đều phải dựa trên việc phân tích thiết kế hệ thống, sau đó sẽ thiết lập quan hệ dữ liệu giữa các thực thể ERD.
Bằng mô hình quan hệ này, bạn đưa chúng vào xây dựng trên CSDL thực của SQL. Diagram là công cụ duy nhất giúp bạn thực hiện việc kết nối trên.
f. Khung nhìn – Views:
View là một khung nhìn hay bảng ảo của bảng. Cũng giống như bảng nhưng View không thể chứa dữ liệu. Ngoài ra, View còn có thể liên kết nhiều bảng lại với nhau theo quan hệ nhất định cùng với những tiêu chuẩn theo yêu cầu của người dùng.
g. Thủ tục nội – Stored Procedure:
Stored Procedure hay còn gọi là spocs, tiếp tục triển khai như một phần lập trình SQL trên CSDL. Stored Procedure cho phép khai báo biến, nhận tham số cũng như các phat biểu có điều kiện.
5. Khái niệm cơ bản về ràng buộc
Constraints hay còn gọi là ràng buộc, dùng để kiểm tra khi có sự thay đổi từ phía dữ liệu như thêm vào, xoá, cập nhật từ bất kì nguồn nào khác nhau.
Các loại ràng buộc:
Ràng buộc miền – Domain constraints: liên quan đến một hay nhiều cột, ứng với một cột có thể có các quy luật hay tiêu chuẩn. Khi bạn thêm hay cập nhật, ràng buộc này kiểm tra mà không cần quan tâm đến sự liên quan của các mẩu tin trong bảng.
Ràng buộc miền – Domain constraints: liên quan đến một hay nhiều cột, ứng với một cột có thể có các quuy luật hay tiêu chuẩn.
Ràng buộc thực thể - Entity constraints: kiểm tra số liệu đúng hay không.
Ràng buộc dữ liệu toàn vẹn: Kiểm tra giá trị của cột có phù hợp với cột trong bảng khác quan hệ với bảng hiện chứa cột ràng buộc hay không.
Ràng buộc khoá chính – Primary key constraints: chỉ cần khai báo Primary key ngay sau khai báo dữ liệu nếu tạo mới, với bảng đang tồn tại dùng phát biểu ALTER.
Ràng buộc khoá ngoại – Foreign key constraints: tương tự như ràng buộc khoá chính.
Ràng buộc duy nhất – Unique constraints: kiểm tra sự duy nhất trong bảng .
Ràng buộc kiểm tra – Check constraints: kiểm tra giá trị trong cột của ràng buộc có đúng hay không.
Ràng buộc mặc nhiên – Default constraints: giúp định nghĩa của bảng dữ liệu có phù hợp hay không ngay cả khi không có người dùng nhập liệu.
Ràng buộc theo quy tắc hay quy luật – Rules: tạo giới hạn cho phép giá trị trong cột có thể nhập trong một phạm vi nhất định.
6. Kiểu dữ liệu
Bất kì cột nào trong bảng dữ liệu đều phải có kiểu dữ liệu. Một số kiểu dữ liệu trong SQL cho phép định nghĩa chiều dài của kiểu, một số khác thì không.
Bảng kiểu dữ liệu:
Kiểu dữ liệu
Loại
Bytes
Bit
Interger
1
Bigint
Int
SmallInt
TinyInt
Decimal numeric
Money
Small Monney
Float
DateTime
Small Datetime
Cursor
Unique identity
Char
Varchar
Nchar
Nvarchar
Text
Ntext
Binary
VarBinary
Image
Interger
Interger
Interger
Interger
Decimal /numeric
Money
Money
Approximate nummerics
Date/Time
Date/Time
Kiểu số đặc biệt
Số đặc biệt (Binary Character)
Character
Character
Unicode
Unicode
Character
Unicode
Binary
Binary
Binary
8
4
2
1
Varies
8
4
Varies
8
4
1
16
Varies
Varies
Varies
Varies
Varies
Varies
Varies
Varies
Varies
7. Các hàm thông dụng trong SQL Server
a. Các hàm trong phát biểu Group By:
AVG: trả về giá trị trung bình.
MIN: trả về giá trị nhỏ nhất.
MAX: trả về giá trị lớn nhất.
COUNT: trả về số lượng mẫu tin trong câu truy vấn.
SUM: trả về giá trị tổng.
b. Các hàm xử lý chuỗi:
ASSCI: trả về mã ASSCII của kí tự bên trái của chuỗi.
CHAR: chuyển đỗi mã ASSCI từ số nguyên sang dạng chuối.
UPPER: chuyển đổi chuỗi qua kiểu hoa.
LOWER: chuyển đổi chuỗi qua kiểu chữ thường.
LEN: trả về chiều dài của chuỗi.
LTRIM: thủ tục loại bỏ khoảng trắng bên trái của chuỗi.
RTRIM: thủ tục loại bỏ khoảng trắng bên phải của chuỗi.
LEFT: trả về chuỗi bên trái tính từ đầu đến vị trí thứ n.
RIGHT: trả về chuỗi bên phải tính từ đầu đến vị trí thứ n.
CHARINDEX: trả về vị trí chuỗi bắt đầu của chuỗi con.
c. Các hàm về xử lý thời gian:
GETDATE: trả về ngày tháng năm của hệ thống.
DAY: trả về ngày thứ mấy trong tháng
DATEPART: trả về giá trị chuỗi dạng ngày th.ng đầy đủ.
DATEDIFF: trả về số ngày trong khoảng thời gian giữa ngày.
MONTH: trả về tháng thứ mấy trong năm.
YEAR: trả về năm.
d. Các hàm về toán học:
ROUND: trả về số làm tròn.
SQUARE: trả về bình phương của một biểu thức.
SQRT: trả về căn bậc hai của một biểu thức.
e. Các hàm về chuyển đổi:
CAST: trả về giá trị kiểu dữ liệu theo định nghĩa
8. Các phát biểu cơ bản của T- SQL
Select:
Cú pháp:
[Select ]
[From ]
[Where ]
[Group By ]
[Having ]
[Order By ]
Insert: dùng để thêm dữ liệu vào bảng
Cú pháp:
Insert vào bảng lấy giá trị cụ thể:
INSERT INTO []
Value (data_value)
Insert vào bảng lấy giá trị từ bảng khác:
INSERT INTO []
Select [Columnname list]
From
Where
c. Update: dùng cập nhất dữ liều vào bảng.
Cú pháp
Update
Set = ,[ = ]
d. Delete: dùng xoá mẫu tin trong bảng.
Cú pháp:
Delete from
Where
9. Các phát biểu Create
a. Tạo CSDL:
Cú pháp:
CREATE DATABASE
[ON{PRIMARY](
[Name=,] FileName =
[,SIZE=]
[,MAXSIZE= ][,FILEGROUWTH= ]
)]
[LOG ON
(
[Name=,] FileName =
[,SIZE=]
[,MAXSIZE= ][,FILEGROUWTH= ]
)]
[COLLATE]
[For Load|For Attach]
b. Tạo Table
Cú pháp
CREATE TABLE
[ database_name.[ owner ] . | owner. ] table_name
(
[[ DEFAULT ]
[[ IDENTITY (seed,increament) [NOT FOR REPLICATION ]]]]
[ROWGUIDCOL]
[NULL|NOT NULL]
[]
[]
)
ON{|DEFAULT}]
Tạo View
Cú pháp:
CREATE VIEW [ . ] [ . ] view_name [ ( column [ ,...n ] ) ]
[ WITH [ ,...n ] ]
AS
select_statement
[ WITH CHECK OPTION ]
d. Tạo STORE PROCEDURE
Cú pháp:
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type } [ VARYING ] [ = default ] [ OUTPUT
] [ ,...n ]
[ WITH { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
[ FOR REPLICATION ]
AS sql_statement [ ...n ]
e. Tạo Trigger
Cú pháp:
CREATE TRIGGER trigger_name
ON { table | view }
[ WITH ENCRYPTION ]
{ { { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] } [ WITH APPEND ] [ NOT FOR REPLICATION ]
AS
[ { IF UPDATE ( column )
[ { AND | OR } UPDATE ( column ) ]
[ ...n ]
| IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask )
{ comparison_operator } column_bitmask [ ...n ]
} ]
sql_statement [ ...n ]
}
}
10. Thay đổi cấu trúc – ALTER
a. Database:
ALTER DATABASE
ADD FILE
[NAME=,]FILENAME=
[,SIZE=]
[,MAXSIZE=]
[,FILEGROWTH=]
| ADD LOG FILE
[NAME=,]
FILENAME=
[,SIZE=]
[,MAXSIZE=]
[,FILEGROWTH=]
)
| REMOVE FILE[WITH DELETE]
| ADD FILEGROUP
| MODIFY NAME=
b. Table
ALTER TABLE table
{ [ ALTER COLUMN column_name
{ new_data_type [ ( precision [ , scale ] ) ]
[ COLLATE ]
[ NULL | NOT NULL ]
| {ADD | DROP } ROWGUIDCOL }
]
| ADD
{ [ ]
| column_name AS computed_column_expression
} [ ,...n ]
| [ WITH CHECK | WITH NOCHECK ] ADD
{ } [ ,...n ]
| DROP
{ [ CONSTRAINT ] constraint_name
| COLUMN column } [ ,...n ]
| { CHECK | NOCHECK } CONSTRAINT
{ ALL | constraint_name [ ,...n ] }
| { ENABLE | DISABLE } TRIGGER
{ ALL | trigger_name [ ,...n ] }
}
11. Xoá
DROP[,n]
III. Giới thiệu sơ lược về VISUAL STUDIO.NET
Ta phải công nhận rằng .NET framework và các ứng dụng của nó đã và đang tạo cuộc cách mạng trong công nghệ thông tin, thay đổi tận gốc rễ các kiểu mẫu lập trình hay phát triển và triển khai mạng trên thế giới và tạo mọi cơ hội mới đáp ứng mọi yêu cầu khẩn thiết đối với mọi ngành nghề kỹ thuật và thương mại hiện nay cũng như vạch ra hướng đi vững chắc và lâu dài cho tương lai Tin Học.
Sàn diễn .NET thực chất là một khuôn giá (framework) triển khai phần mềm hoàn toàn mới, một cách tiếp cận mới, hỗ trợ nhiều cho người lập trình.
.NET được định nghĩa dưới dạng một khung ứng dụng (application framework). .NET cung cấp một khung ứng dụng cho những ứng dụng nào được xây dựng, nó xác định những ứng dụng truy nhập các hàm như thế nào qua các hệ thống và các mạng. .NET cung cấp một nền tảng mà trên đó các giải pháp và các dịch vụ web có thể được xây dựng một nền tảng để giải phóng các ràng buộc và bản thân nó tự giải phóng khỏi Microsoft Windows (về mặt kỹ thuật). Nói cách khác .NET là một cách xây dựng các ứng dụng và các dịch vụ mà nó hoạt động không phụ thuộc vào nền tảng nào. Đây là một cách để tạo các trao đổi thông tin giữa các hệ thống đa dạng và các ứng dụng cũng như tích hợp nhiều thiết bị trong việc trao đổi thông tin này.
.NET framework là một môi tường mà đoạn mã của bạn sẽ hoạt động. Có nghĩa là .NET sẽ quản lý việc thi hành chương trình - khởi động chương trình, cấp phép hoạt động, cấp phát kí ức để trữ dữ liệu làm việc, hỗ trợ thu hồi nguồn lực và kí ức không dùng đến.
.NET framework là môi trường mà đoạn mã của bạn sẽ hoạt động. Có nghĩa là .NET sẽ quản lý việc thi hành chương trình - khởi động chương trình, cấp phép hoạt động, cấp phát kí ức để trữ dữ liệu làm việc, hỗ trợ thu hồi nguồn lực và kí ức không dùng đến.
.NET framework là một tập những giao diện lập trình và là tâm điểm của nền tảng .NET. Nó cung cấp cơ sở hạ tầng để xây dựng và chạy các dịch vụ web. .NET framework bao gồm 3 phần chính :
Common Language Runtime (bộ thực thi ngôn ngữ dùng chung).
The Base Classes (các thư viên cơ sở)
ASP.NET (Active Server Pages – các ứng dụng web)
.NET bao gồm 2 vai trò: quản lý việc thi hành của bạn và cung cấp những dịch vụ mà chương trình của bạn dùng đến.
Các thành phần của Microsoft .NET framework
1. Thực thi ngôn ngữ chung CLR (Common Language Runtime)
a. Runtime
Tất cả các ngôn ngữ lập trình đều có một runtime (thi hành), một dịch vụ hoạt động cùng với ngôn ngữ lập trình. Common Language Runtime (CLR là bộ thi hành ngôn ngữ chung) là một thành phần cốt lõi (cơ bản nhất) của .NET. Nó cung cấp nền cơ sở mà trên đó các ứng dụng cho. NET được xây dựng. CLR quản lí nhiều khía cạnh của chu trình phát triển theo quan điểm của người phát triển. Chẳng hạn, khi làm việc với COM, các nhà phát triển phải lưu tâm đến vấn đề quản lí bộ nhớ, những sự khởi tạo luồng (thread) và loại bỏ nó, các thành phần bảo mật và những vấn đề tương tự. Điều đó gây ra một số khó khǎn do các nhà phát triển phải tiêu tốn quá nhiều thời gian vào các vấn đề này. Bộ thi hành ngôn ngữ chung CLR quản lí tất cả các vấn đề nảy sinh đó một cách tự động và giải phóng cho các nhà phát triển tập trung vào việc xử lý giao dịch logic. CLR cung cấp một runtime chung mà nó được sử dụng với tất cả các ngôn ngữ. Thành phần này làm cho .NET có một khả nǎng "hỗ trợ mọi ngôn ngữ" (language-free).
b.Gom rác:
Một trong những dịch vụ quan trọng nhất của CLR cung cấp chế độ gom rác (garbage collection). Trong C, C#, nếu một đối tượng được lấp, bộ nhớ mà nó sử dụng cần được giải phóng trước khi có thể dùng lại. Nếu không thực hiện điều này, ta có thể bị rò rĩ bộ nhớ (memory leak), hệ thống không thể thu hồi bộ nhớ rảnh, khả năng vận hành của úng dụng hiển nhiên xuống thấp. CLR giải quyết sự cố này bằng cách thực thi một bộ gom rác. Theo thời gian định kỳ, bộ gom rác sẽ kiểm tra tất cả các tham chiếu đối tượng và phóng thích bộ nhớ được lưu giữ bởi các đối tượng đã hết hoạt vi [spoce] và có thể không còn ứng dụng truy cập. Điều này miễn cho các lập trình viên khỏi phải huỷ các đối tượng tường minh và giải quyết vấn đề rò rĩ bộ nhớ
c. Các lớp lập trình hợp nhất (Unified Progrgamming Classes)
Những thư viện lập trình hay các gia diện lập trình ứng dụng (API) được sử dụng bởi nhiều ngôn ngữ khác nhau, các nhà phát triển nghiên cứu các bộ thư viện lớp khác nhau để làm việc với các ngôn ngữ lập trình khác nhau. Vấn đề này đã làm chậm quá trình phát triển ứng dụng làm cho công việc phát triển trở nên tẻ ngắt
Những thư viện lớp lập trình hay các giao diện lập trình ứng dụng (API) được sử dụng bởi nhiều ngôn ngữ khác nhau. Để sử dụng những ngôn ngữ lập trình khác nhau, các nhà phát triển nghiên cứu các bộ thư viện lớp khác nhau để làm việc với các ngôn ngữ lập trình khác nhau. Vấn đề này đã làm chậm quá trình phát triển ứng dụng và làm cho công việc phát triển trở nên tẻ ngắt và lãng phí khá nhiều thời gian. .NET cung cấp các lớp lập trình hợp nhất với một bộ API dùng chung cho mọi ngôn ngữ lập trình. Các ngôn ngữ có thể tương tác với một ngôn ngữ khác và các lớp lập trình hợp nhất này cho phép các nhà phát triển lựa chọn bất cứ ngôn ngữ nào mà họ muốn trong khi chỉ cần duy nhất một bộ API mà thôi.
2. ASP.NET (Active Server Pages .NET)
ASP.NET là một platform phát triển các ứng dụng web hợp nhất cung cấp các dịch vụ cần thiết cho việc xây dựng các ứng dụng Enterprise – class Web.ASP.NET được thiết kế tương thích với các ứng dụng ASP trước đó.
ASP .NET được biên dịch, dựa trên môi trường .NET cho phép tạo ra các ứng dụng trong bất cứ ngôn ngữ lập trình nào tương thích .NET chẳng hạn như C#, Visual Basic.NET, Jscrip.NET. Ngoài ra, toàn bộ .NET Framework sẵn sàng cho các ứng dụng ASP.NET, các nhà phát triển có thể có lợi ích từ những kỹ thuật sau bao gồm : managed common langguage runtime environment, an toàn kiểu
ASP.NET được sử dụng chung với các lớp lập trình mà nó có thể tạo các ứng dụng Web một cách dễ dàng cho người lập trình. ASP.NET cung cấp cách truy cập giao diện HTML chung và nó chạy trên chương trình máy phục vụ nhưng thể hiện kết quả thông qua HTML (ví dụ như text box chẳng hạn). Giao diện ASP.NET làm cho việc phát triển các ứng dụng Web trở nên nhanh hơn do bởi các đối tượng điều khiển chung này. Như một kết quả (của) các lớp lập trình chung và những đặc tính chuẩn của ASP.NET, các nhà phát triển tiêu tốn ít thời gian hơn khi viết các mã mới và cần nhiều thời gian hơn khi sử dụng các mã đã có. ASP.NET được sử dụng ở phần trên của hai thành phần thực thi ngôn ngữ chung CLR và các ngôn ngữ lập trình hợp nhất để tạo ra các dịch vụ Web.
Một số đặc tính của ASP.NET :
Độc lâp ngôn ngữ : ASP cho phép bạn biên dịch không phụ thuộc ngôn ngữ, thực hiên tối ưu việc kết hợp các ngôn ngữ khác nhau. Chúng ta có thể sử dụng C#, VB.NET hay kể cả C++ để xây dựng trang ASP.NET
Dễ phát triển : ASP.NET cho phép khai báo và viết mã đơn giản.
Tách mã và nội dung hai thành phần khác nhau : sử dụng trang Code Behide (.vb, .cs) chứa mã và trang asp chứa giao diện người dùng
Tính mềm dẻo à khả năng cung cấp
Hỗ trợ nhiều trình khách
Các Web form Controls ngoài việc có thể xuất mã trên trình duyệt còn cho phép xuất ra tất cả các điều khiển của Platform khác như wireless phone, palm, pager
Xử lý trình chủ dùng phát biểu Runat = server .
Thay vì sử dụng mô hình tích hợp DLL, COM, DCOM trước đây, với công nghệ ASP.NET ta có thể sử dụng dịch vụ đơn giả hơn đó là Web Services
b. Các đặc điểm mới của ASP.NET :
Đối tượng Page: Page sử dụng các thành phần điều khiển có khả năng hoạt động và tương tác với nhau ngay trên trình chủ Web Server.
HTML Server Side Controls: các HTML Control có khả năng xử lý ngay trên trình chủ dựa vào thuộc tính và phương thức tương tự các hoạt động của chúng phía trình khách.
Rich Control: là tập các thành phần điều khiển đa năng, chúng chạy trên Server và có thể tạo ra các phần tử cũng như đối tượng HTML phức hợp cho trình khách.
Web Service: Mạng World Wide Web ( còn gọi tắt là Web) đã mở ra một môi trường tính toán quy mô rộng lớn. Tuy nhiên các trang Web thông thường chỉ cho phép tương tác giữa client brower và web server chứa chấp trang web này. Mục đích của web services là tạo ra các ứng dụng trên web để tương tác với các ứng dụng khác mà không dùng đến giao diện người sử dụng (GUI). Web services cũng giống các trang web, khác biệt ở chổ là các trang web làm ra để cho người ta xem , còn web services được dùng duy nhất vào việc tạo một chương trình có thể tương tác với một chương trình khác và không có GUI. Web services cho phép một đối tượng nằm trên server có thể trưng ra phần logic chương trình cho các khách hàng trên Internet. Các khách hàng sẽ triệu gọi những hàm hành sự được trưng trên web services nhờ sử dụng các giao thức chuẩn của Internet. Nói cách ngắn gọn, web services chẳng qua chỉ là một triệu gọi hàm hành sự trên Internet.
Cấu hình phân phối: File cấu hình đơn giản và dễ dàng với các tập tin theo định dạng văn bản XML. Các thành phần đối tượng không còn phải đăng kí với hệ thống trước khi sử dụng nữa.
Trạng thái Section: Tự động quản lý trạng thái đối tượng section và application, có thể lưu nội dung của section hay application của một ứng dụng đặc thù nào đó xuống file trên đĩa để sử dụng lại.
Xử lý lỗi: Các công cụ debug và trace được nâng cấp và đáng tin cậy hơn.
Quản lý bảo mật: Chúng ta có thể sử dụng các dịch vụ đăng nhập tuỳ biến cho trang tài liệu ASP.NET theo phong cách của Web hay cơ chế đăng nhập và kiểm tra quyền truy xuất dựa trên hệ thống bảo mật của hệ điều hành.
Tuỳ biến vùng đệm trên trình chủ
Một tập các đối tượng phong phú: ASP.NET hỗ trợ một tập phông phú thư viện, lớp, đối tượng nhằm phục vụ hầu hết những gì mà nhà phát triển ứng dụng cần đến khi làm việc với ASP.NET. Lưu ý rằng các đối tượng nội tại khác như: Request, Repond, Form, Cookies, Server Variables đều được giữ lại và hoàn toàn tương thích nới ASP. Tuy nhiên, ASP.NET đã cung cấp thêm các đối tượng này rất nhiều thuộc tính và phương thức mới giúp nâng cao khả năng xử lý cho ứng dụng.
Vấn đề bảo mật
Bảo mật là một khía cạnh cực kỳ quan trọng trong các ứng dụng Web. Bước đầu trong việc tạo ra một ứng dụng an toàn là phải hiểu được vấn đề bảo mật thuộc loại nào trong các ứng dụng Web. Chúng ta cũng cần phải biết các chiến lược cơ bản được sử dụng để bảo về ứng dụng và hệ thống của mình. Hầu hết các ứng dụng Web đều hạn chế sự truy cập vào một phần của site. Chẳng hạn, khi một site lưu trữ thôn tin về credit card của khách hàng vào CSDL thì CSDL phải đảm bảo an toàn trước các truy cập công cộng. Việc bảo mật của ASP nhắm vào điều này và các vấn đề bảo mật khác.
ASP.NET cùng với Microsoft Internet Information Service (IIS) có thể chứng thực khả năng của người dùng chẳng hạn thông qua tên đăng nhập và mật khẩu theo bất kì phương thức chứng thực nào sau đây
Window: Basic, degest hay Intergrated Windows Application
Microsoft Passport Authentication
Form Authentication
Client Certificate Authentication
Các điều khiển ASP.NET truy xuất đến các thông tin của site bằng việc so sánh credentials được chứng thực hoặc mô tả chúng sử dụng các permittions của hệ thống file NTFS hay dùng một file cấu hình dạng XML liệt kê danh sách authorized users, các authorized roles (group) hay authorized HTML verbs.
Kiến trúc ASP.NET
Hình: ASP Architecture
Như mô tả ở hình trên, ta thấy tất cả các web clients truyền thông với các ứng dụng ASP.NET thông qua các IIS. IIS giải mã và xác nhận tuỳ ý các request. Nếu Allow Anonymous được đặt là true thì sẽ không có việc chứng thực. IIS cũng tìm kiếm các tài nguyên được yêu cầu và nếu client được cấp quyền thì sẽ trả về các tài nguyên tương ứng.
Assembly (hợp ngữ) : ứng dụng .NET xây dựng từ các gói, hợp ngữ (ssemblies) là đơn vị cơ bản của việc đóng gói và nâng cấp phiên bản. Gói hợp ngữ chứa mã IL (ngôn ngữ trung gian), siêu dữ liệu dùng mô tả gói hợp ngữ và nội dung của nó, cùng với những file khác cần cho quá trình thực thi. Nó có thể là một tập tin thi hành (.exe), một DLL, một ứng dụng web ASP.NET được biên dịch hay dịch vụ web.
=> Tóm lại, .NET Framework thật sự quan trọng cho các nhà phát triển các ứng dụng Web và các dịch vụ Web thế hệ kế tiếp và cho cả các ứng dụng trên nền Microsoft Windows.
3. C#.NET
Visual C# .NET là một ngôn ngữ lập trình đơn giản, hiện đại, hướng đối tượng an toàn kiểu (type-safe) và có nguồn gốc từ các ngôn ngữ C và C++. C# là một ngôn ngữ rất thân thiện với người lập trình C và C++. C# là kết quả của việc kết hợp hiệu nǎng cao của Visual Basic và sức mạnh của C++.
Với C# ta có thể tạo ra các dạng đề án khác nhau: Các ứng dụng Console, các ứng dụng Windows, các ứng dụng ASP.NET, các thành phần .NET và Web Services. Các ứng dụng này có thể phối hợp với nhau để thực thi các ứng dụng n tầng, có phân phối.
a. Chúng ta có thể làm gì với C#?
Tạo giao diện người sử dụng. Giao diện người sử dụng có lẽ là phần quan trọng nhất của một ứng dụng. Đối với người sử dụng, giao diện chính là ứng dụng, họ không cần chú ý đến các thành phần thực thi bên trong. Ứng dụng của chúng ta có phổ biến hay không phụ thuộc vào giao diện.
Sử dụng những điều khiển chuẩn của C#
Ta dùng những điều khiển để lấy thông tin mà người sử dụng nhập vào và hiển thị kết quả xuất. Những điều khiển mà ta có thể dùng trong ứng dụng bao gồm hộp văn bản, nút lệnh và hộp danh sách Những điều khiển khác cho ta truy xuất những ứng dụng khác, xử lý dữ liệu của nó như là một phần mã trong ứng dụng của bạn.
c. Lập trình với những đối tượng
Những đối tượng là thành phần chủ yếu để lập trình. Các ứng dụng có thể là winform, những điều khiển hay cơ sở dữ liệu.
d. Đáp ứng những sự kiện chuột và bàn phím
Các ứng dụng C# có thể đáp ứng một lượng lớn sự kiện chuột và bàn phím. Ví dụ form, hộp ảnh và những điều khiển ảnh có thể phát hiện vị trí con trỏ chuột, có thể quyết định phím trái hay phím phải được nhấp, và có thể đáp ứng những tổ hợp của phím chuột vơi phím Shift, Ctrl hay Alt. Sử dụng những điều khiển phím, ta có thể lập trình những điều khiển và form để đáp ứng các hành động phím hoặc biên dịch và xử lý mã Asscii của ký tự.
e. Gỡ rối và quản lý lỗi
Đôi khi có những lỗi xảy ra bên trong mã của ứng dụng. Những lỗi nghiêm trọng có thể là nguyên nhân một ứng dụng không đáp ứng lệnh, thông thường người sử dụng không đáp ứng lệnh, thông thường hệ thống yêu cầu người sử dụng khởi dọng lại ứng dụng và không lưu lại những gì ta đã làm. Quá trình tìm ra và sửa chữa gọi là gỡ rối. C# cung cấp nhiều công cụ giúp chúng ta phân tích ứng dụng làm việc như thế nào. Những công cụ gỡ rối đặc biệt hữu ích trong việc tìm ra nguồn gốc lỗi, nhưng chúng ta cũng có thể dùng những công cụ này để kiểm tra chương trình hoặc tìm hiểu những ứng dụng khác nhau làm việc thế nào.
f. Xử lý ổ đĩa, thư mục và file
Khi lập trình trong windows, nó rất quan trọng đẻ có khả năng thêm, di chuyển tạo mới hoặc xoá những thư mục và file, lấy thông tin về xử lý ổ đĩa. C# cho phép chúng ta xử lý ổ đĩa, thư mục và file bằng 2 phương pháp
Qua những phương pháp cũ như là điều lệnh Open, Write
Qua tập hợp các công cụ như là FSO (File System)
Thiết kế cho việc thi hành và tính tương thích
C# chia sẽ hầu hết các tính năng ngon ngữ trong VS.NET, chọn các ứng dụng bao gồm Console, các ứng dụng Windows, đề án ASP.NET và các dịch vụ web.
C# được Microsoft giới thiệu để xây dựng với web và đòi hỏi quyền được cung cấp một môi trường đồng bộ với HTML (HyperText Markup Language – ngôn ngữ siêu đánh dấu văn bản), XML (Extensible Markup Language – ngôn ngữ đánh dấu mở rộng) và SOAP. Tóm lại C# là một ngôn ngữ lập trình hiện đại và là một môi trường phát triển đày tiềm năng để tạo ra các dịch vụ XML, các ứng dụng dựa trên Microsoft .NET và cho cả nền tảng Microsoft Windows cũng như tạo ra các ứng dụng Internet thế hệ kế tiếp một cách nhanh chóng và hiệu quả
Tài liệu tham khảo
1. Giáo trình nhập môn UML
Chủ biên: Huỳnh Văn Đức
Hiệu đính: Đoàn Thiện Ngân
Tp. HCM - nhà xuất bản lao động xã hội
Giáo trình cơ sở dữ liệu
Đỗ Phúc
Nguyễn Đăng Tỵ
Tp. HCM - Đại học quốc gia Tp. HCM
3. Kỹ thuật lập trình C#.net toàn tập
Phạm Hữu Khang
Tp. HCM - Nhà xuất bản lao động – xã hội
Ebook:
Apress.Pro.ASP.dot.NET.2.0.in.C.Sharp.2005.Sep.2005
Apress.Pro.C.Sharp.2005.and.the.dot.NET.2.0.Platform.3rd.Edition.Sep.2005.
ASP.NET Web Developer's Guide
Wrox.Professional.ASP.NET.2.0.Nov.2005.eBook-LinG
Website : kiemviec.com.vn
24h.com.vn
Tuoitre.com.vn
Quản trị mạng.com.vn
Các file đính kèm theo tài liệu này:
- BaoCao.doc