Đề tài Hệ thống tuyển dụng việc làm được xây dựng dựa trên SQL Server 2005 và C#

Tài liệu Đề tài Hệ thống tuyển dụng việc làm được xây dựng dựa trên SQL Server 2005 và C#: Lời nói đầu Công Nghệ Thông Tin hiện nay đóng vai trò đắc lực trong việc tạo ra sự tiện ích cho người sử dụng hầu hết các lĩnh vực: kinh tế, văn hoá, chính trị… Sự phát triển như vũ bão của Công Nghệ Thông Tin sẽ số hoá nền kinh tế, thúc đẩy nhanh tốc độ toàn cầu hoá về thương mại. Giờ đây, thương mại điện tử thực sự đã trở thành một lĩnh vực sôi động của nền kinh tế, là xu hướng phát triển trong thế kỉ 21. Những người làm tin học luôn mong muốn áp dụng tin học vào các vấn đề nóng bỏng hiện nay trên thị trường. Thực tiễn cho thấy việc áp dụng công nghệ thông tin vào các lĩnh vực như quản lý, dịch vụ…đã và đang và sẽ đem lại nhiều thuận tiện cho người sử dụng. Một trong những vấn đề được quan tâm đó là việc làm cho người lao động, đặc biệt là việc giúp đỡ cho người lao động tìm được một công việc phù họp với bản thân, giải quyết nạn thất nghiệp đang gia tăng hiện nay cũng như là việc cung cấp cho các nhà tuyển dụng những người có năng lực, phù hợp với các yêu cầu họ đặt ra. Chương ...

doc94 trang | Chia sẻ: hunglv | Lượt xem: 1134 | Lượt tải: 1download
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Hệ thống tuyển dụng việc làm được xây dựng dựa trên SQL Server 2005 và C#, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Lời nói đầu Công Nghệ Thông Tin hiện nay đóng vai trò đắc lực trong việc tạo ra sự tiện ích cho người sử dụng hầu hết các lĩnh vực: kinh tế, văn hoá, chính trị… Sự phát triển như vũ bão của Công Nghệ Thông Tin sẽ số hoá nền kinh tế, thúc đẩy nhanh tốc độ toàn cầu hoá về thương mại. Giờ đây, thương mại điện tử thực sự đã trở thành một lĩnh vực sôi động của nền kinh tế, là xu hướng phát triển trong thế kỉ 21. Những người làm tin học luôn mong muốn áp dụng tin học vào các vấn đề nóng bỏng hiện nay trên thị trường. Thực tiễn cho thấy việc áp dụng công nghệ thông tin vào các lĩnh vực như quản lý, dịch vụ…đã và đang và sẽ đem lại nhiều thuận tiện cho người sử dụng. Một trong những vấn đề được quan tâm đó là việc làm cho người lao động, đặc biệt là việc giúp đỡ cho người lao động tìm được một công việc phù họp với bản thân, giải quyết nạn thất nghiệp đang gia tăng hiện nay cũng như là việc cung cấp cho các nhà tuyển dụng những người có năng lực, phù hợp với các yêu cầu họ đặt ra. Chương I: Giới thiệu chung Tổng quan Việc làm cho người lao động là vấn đề được Đảng, Nhà nước, các cấp, ngành rất quan tâm. Đặc biệt, trong các kỳ họp Quốc hội vấn đề “kinh tế tri thức” - bảo vệ tài nguyên chất xám của nước nhà, được các đại biểu tranh luận sôi nổi. Song, để tìm việc phù hợp trong thời đại mới lại không phải dễ dàng... Hiện nay, thị trường lao động ở các thành phố lớn, nhỏ cung đã vượt xa cầu. Vì thế mà các nhà sử dụng lao động có quyền và mặc sức chọn lựa các giá trị lao động tìm đến mình. Xóa bỏ chế độ “bao cấp”, không còn chế độ “phân bổ việc làm” cho sinh viên mới tốt nghiệp, tất cả đều phải tự thân vận động, phải có những cái mà xã hội đang cần, để cạnh tranh trong cuộc chạy đua tìm cho mình một công việc. Hiện nay, trên báo chí, những thông tin của các ứng viên tự giới thiệu mình trước các nhà sử dụng lao động xuất hiện nhan nhản trên các trang quảng cáo rao vặt. Thực tế cho thấy, một quốc gia phát triển, nền kinh tế không chỉ tập trung vào các thành phố đông dân. Trước thềm hội nhập, các doanh nghiệp Việt Nam mang một nỗi lo canh cánh khác trong cuộc cạnh tranh là thiếu hụt về nhân sự. Theo ông Nguyễn Trọng Phu - Uỷ viên thường trực Ban Chỉ đạo Điều tra LĐ việc làm T.Ư - tại thời điểm điều tra (1.7.2005), lực lượng lao động (LLLĐ) của cả nước là gần 45 triệu người, tăng 2,6% so với một năm trước. (theo website VnExpress). Nguồn bổ sung lao động dồi dào này một mặt giải quyết được vấn đề nhân lực cho nền kinh tế đang phát triển. Tuy nhiên, lực lượng lao động được bổ sung nhưng chất lượng thì không tăng tương xứng, lao động trẻ tuổi thất nghiệp chiếm tỉ lệ cao Mặt khác nhiều sinh viên mới tốt nghiệp đi xin việc chỉ biết than trời khi nhận được những yêu cầu đại loại như: “có kinh nghiệm làm việc trên ba năm”, “ưu tiên ứng viên có kinh nghiệm”... Không ít người tự lui về “đội ngũ dự bị”, nghĩa là bị thất nghiệp. Theo một kết quả điều tra của dự án giáo dục ĐH – Bộ GD – ĐT thì trên 60% sinh viên tốt nghiệp phải đào tạo lại hoặc bổ sung kiến thức khi được tuyển vào doanh nghiệp. Những kiến thức của họ được học ở trường quá khác so với công việc ngoài xã hội. Nhiều nhân viên có hồ sơ rất “đẹp” với bằng chuyên môn khá, giỏi, kết quả thi tuyển cũng rất khả quan nhưng khi được tuyển vào lại không làm được việc hay thái độ làm việc không tích cực. Vì vậy, vấn đề việc làm luôn được quan tâm hàng đầu. Hiện tại, đã có khá nhiều trung tâm tư vấn giới thiệu việc làm cho người lao động. Tuy nhiên, để kiếm được việc làm ở những nơi này bạn phải mất khá nhiều thời gian cho việc làm hồ sơ, đăng kí tìm việc và chờ đợi kết quả sơ tuyển. Không những thế, bạn còn tốn một số phí không nhỏ, mà không đảm bảo là tìm được một công việc phù hợp với khả năng và chuyên môn của ban. Hiện nay, nhờ tiện ích kỳ diệu của Internet, các website hỗ trợ cho tìm kiếm việc làm trực tuyến ra đời như: 24h.com, mangvieclam.com, Jobvietnam.com … Cung cấp khá đầy đủ các thông tin về công việc cho người tìm việc. Nhờ đó, chúng ta có thể ngồi một chỗ mà vẫn tìm được rất nhiều công việc, gửi hồ sơ đi mọi nơi, tham gia vào quá trình sơ tuyển trên các website việc làm. Và để tham gia một cách thiết thực nhất vào thị trường việc làm đang rất sôi động này, chúng em đã thiết kế website kiemviecOnline. Ở đây, bất cứ ai cũng có thể đăng kí tìm kiếm một công việc phù hợp cũng như tìm kiếm các khoá học, thông tin về các công ty hàng đầu mà không mất bất cứ một khoản phí nào. II. Phạm vi của đề tài: Mục tiêu phát triển của đề tài là cung cấp các thông tin cần thiết và chi tiết của các ứng viên, đáp ứng nhu cầu tuyển dụng của các công ty, giúp nhà tuyển dụng chon được các ứng viên xuất sắc cũng như giúp cho các ứng viên có thể tìm được một công việc phù hợp với mình trong thời gian nhanh nhất và hiệu quả nhất. Vì vậy, đề tài được xây dựng và phát triển cho 2 đối tượng sử dụng chính là người xin việc và nhà tuyển dụng. Người tìm việc: Khi tham gia vào ứng dụng có thể thực hiện các chức năng sau: Đăng ký xin việc: cung cấp các thông tin về bản thân cũng như là sở thích, nguyện vọng về công việc mà mình mong muốn. Tìm kiếm các công việc theo khả năng, ngành nghề, nơi làm việc cũng như mức lương yêu cầu. Chỉnh sửa các thông tin về bản thân đã đăng tuyển trước đây. Đăng kí email để nhậ dược các thông báo việc làm, các kĩ năng xin việc… Nhà tuyển dụng có thể: Đăng ký tuyển dụng tất cả các vị trí mà công ty còn thiếu. Xem danh sách các ứng viên đã đăng kí sau khi đã được sơ tuyển để lựa chọn được các ứng viên phù hợp với yêu cầu đặt ra của công ty. Tìm kiếm các ứng viên phù hợp. Chỉnh sửa các thông tin đã đăng. Đăng ký quảng cáo cho công ty của mình. Ngoài ra, để áp dụng các kiến thức đã học vào thực tế, hệ thống được xây dựng dựa trên SQL Server 2005 và C#. Chương II: Khảo sát tình hình việc làm hiện nay Hiện trạng về thị trường việc làm hiện nay Mỗi năm, Việt Nam có khoảng 1,2 triệu người đến tuổi lao động và được bổ sung vào lực lượng lao động của đất nước. Tính chung cả nước, có 10,3% lao động có việc làm trong khu vực kinh tế nhà nước, 88,2% đang làm việc trong khu vực kinh tế ngoài nhà nước và 1,5% làm việc trong khu vực kinh tế có vốn đầu tư nước ngoài. Theo báo cáo kết quả điều tra, trong lực lượng lao động từ độ tuổi 15 trở lên: khu vực thành thị 94,6% có việc làm và 5,4% thất nghiệp, khu vực nông thôn có 98,9% có việc làm và 1,1% thất nghiệp (theo VnExpress.com.vn) Đa số các bạn sinh viên sau khi ra trường thường cố gắng trụ lại các thành phố lớn với mong muốn tìm được một công việc phù hợp, dù hiện nay, ở các tỉnh thành đang có rất nhiều chính sách thu hút nhân tài chất xám với nhiều ưu đãi đặc biệt. Việc ở lại thành phố cũng có nghĩa là họ đã đặt một chân vào công cuộc chạy đua tìm kiếm việc làm, và làm cho thị trường việc làm tại các đô thị trung tâm sôi động và nóng bỏng lên từng ngày. Đáp ứng nhu cầu này, trên thị trường hiện nay có nhiều trung tâm giới thiệu việc làm đã được thành lập. Đa số các trung tâm hiện nay được thành lập không có giấy phép, chỉ có một số trung tâm đáng tin cậy như: trung tâm hỗ trợ việc làm nhà văn hoá thanh niên, trung tâm giới thiệu việc làm bộ thương binh xã hội… Tuy vậy, các công việc ở các trung tâm này chỉ đáp ứng một phần nào nhu cầu công việc của thị trường việc làm. Đối tượng chủ yếu của các trung tâm này là sinh viên học sinh hay các kĩ sư, cử nhân mới ra trường không biết bắt đầu tìm việc từ đâu. Vấn đề chủ yếu là số người tìm việc ngày càng tăng mà công việc ngày càng hạn chế và kén người, do đó số lượng hồ sơ tìm việc rất nhiều. Vì vậy việc quản lý, chọn lọc hồ sơ theo cách thủ công là không thoả đáng, mất nhiều thời gian… II. Mục đích và phương pháp giải quyết Trong số chúng ta, chắc hẳn không ít người đã từng đi xin việc tại các trung tâm giới thiệu việc làm và cũng cảm thấy việc tìm kiếm một công việc phù hợp là gian nan, tốn nhiều thời gian và chi phí. Không chỉ đối với người tìm việc, mà ngay cả những người quản lý cũng khó khăn và phức tạp, nhất là với các trung tâm lớn, đặc biệt là việc tìm kiếm đầu việc, phân loại công việc theo ngành nghề, khu vực… Để hiểu rõ hơn những vấn đề này, chúng ta có thể đi chi tiết một ít về tình hình giới thiệu việc làm tại một trung tâm cụ thể. Qua tiếp xúc thực tế, chúng em nhận thấy, tại trung tâm, có một hệ thống sổ sách lưu trữ về chi tiết về các công việc bao gồm các thông tin về công ty cung cấp công viêc, tính chất công việc, thời gian, kinh nghiệm, lương… Tại các bảng tin, chỉ giới thiệu về công việc thông qua mã số và một vài chi tiết quan trọng. Khi người tìm việc muốn tham gia tuyển dụng công việc đó, có thể liên hệ nhân viên trung tâm, đóng lệ phí (đa số các trung tâm lấy phí bằng 30% tháng lương đầu tiên) và sẽ nhận được các thông tin cụ thể về công việc mà người đó lựa chọn và thông tin của người đó sẽ được lưu trữ lại để phòng trường hợp người đó không đồng ý về công việc thì có thể đến trung tâm lấy lại một phần lệ phí đã đóng. Tuy nhiên, đối với một trung tâm lớn, thì mỗi ngày có hàng trăm công việc được giới thiệu, việc lật lại hồ sơ tìm kiếm các khách hàng đã đăng kí trước đó là cực kì mất thời gian. Hàng tháng, trung tâm phải tổng kết lại số công việc đã giới thiệu trong tháng, tính doanh thu và lập kế hoạch cho tháng sau. Công việc tưởng nhẹ nhàng nhưng trên thực tế là rất phức tạp. Nhân viên phải lật lại các trang lưu trữ theo từng ngày để tìm số liệu và tính toán lại số đầu việc đã giới thiệu, số tiền thu được trong tháng… Trong hầu hết các công việc trên đây, chúng ta cũng thấy những việc làm toán được làm bằng thủ công rất nhiều. Những công việc này được làm đi làm lại một cách thường xuyên, dữ liệu lưu trữ thì khá nhiều và phân phối một cách dày đặc. Nhận thấy vấn đề này chúng ta có thể đưa tin học vào vấn đề nêu trên nhằm giảm tối đa các tính toán không cần thiết, giảm công việc quản lý xuống. Và hơn thế nữa, để giảm thời gian cho người tìm việc, họ có thể tra cứu công việc trên máy, đăng kí dự tuyển và công việc còn lại là của người quản trị. Việc này khá thuận tiện cho cả hai phía, ngoài ra khi chúng ta thực hiện trên mạng còn có các ưu điểm như chúng ta có thể quảng cáo cho công ty đăng tuyển công việc, tư vấn các kinh nghiệm khi đi xin việc…Hơn nữa, đưa ứng dụng lên mạng, người xin việc không phải đi tìm kiếm khó khăn, không mất phí mà cũng có thể tìm được công việc phù hợp. Hiện nay, có hàng loạt trang web việc làm đang tồn tại như: jobvn.com, 24h.com, mangtimviec.com… Với tính năng thuận tiện và dễ sử dung, giao diện dễ nhìn, gần gũi, các trang web này đã và đang thu hút đông đảo số thành viên tham gia. Đồ án ra đời cũng không nằm ngoài mục đích trên: thiết kế website giới thiệu việc làm trực tuyến (kiemviecOnline). Thuận lợi của trang web là giảm tối đa mọi thủ tục rườm rà trong quá trình đi xin việc. III. Nhiệm vụ Luận văn thực hiện các nhiệm vụ sau: Tổng quan về vấn đề việc làm. Khảo sát hiện trạng việc làm và các trung tâm xin việc hiện nay. Phân tích thiết kế cơ sở dữ liệu . Phân tích theo hướng cổ điển. Phân tích hướng đối tượng. Cài đặt website. Đánh giá và hướng phát triển trong tương lai. IV. Phân tích yêu cầu hệ thống Yêu cầu chức năng nghiệp vụ: Hệ thống phục vụ và trao đổi thông tin với các đối tượng sau: Bộ phận nhà tuyển dụng Bộ phận quản lý web Bộ phận người tìm việc Cho phép người dùng đăng kí với vai trò là nhà tuyển dụng hay ứng viên. Lưu trữ thông tin của các đối tượng. Lưu trữ thông tin đăng kí tìm việc của ứng viên và thông tin tuyển dụng của nhà tuyển dụng. Cho phép các ứng viên đăng thông tin tìm việc. Cho phép các ứng viên tìm kiếm thông tin việc làm theo các tiêu chí khác nhau. Cho phép ứng viên hiệu chỉnh các thông tin khi cần thiết. Cho phép nhà tuyển dụng đăng thông tin tuyển dụng và có thể hiệu chỉnh bất cứ lúc nào. Cho phép nhà tuyển dụng đăng thông tin quảng cáo về các dịch vụ của mình. Hỗ trợ cho người quản lý trong việc quản lý hệ thống bao gồm: quản lý thông tin của các đối tượng (ứng viên, nhà tuyển dụng), quản lý các thông tin đăng tìm việc và đăng tuyển dụng và các thông tin liên quan. Hỗ trợ việc trao đổi thông tin lẫn nhau giữa nhà tuyển dụng và ứng viên. Yêu cầu chức năng hệ thống: Cho phép người dùng đăng nhập vào hệ thống với các vai trò khác nhau ứng với từng đối tượng. Đảm bảo tính bảo mật thông tin đăng nhập của người dùng ở xa. Phân cấp quyền hạn của người dùng trong việc truy cập vào các tài nguyên của hệ thống. Yêu cầu phi chức năng: a. Nhằm lợi ích của người dùng: Tính tiện dụng: giao diện thân thiện dễ sử dụng đối với các người dùng window. Tính hiệu quả: đảm bảo việc truy xuất nhanh đến các trang và khả năng kiểm soát lỗi tốt. b. Nhằm lợi ích của việc phát triển dự án Thiết kế theo mô hình three – tiers. Các tham số của hệ thống được thiết kế động, dễ điều chỉnh. Tính dùng lại của code. V. Dữ liệu đưa vào hệ thống quản lý Công việc: Là đối tượng chủ yếu của website phục vụ cho đối tượng người tìm việc. Công việc có nhiều dạng khác nhau. Mỗi loại đòi hỏi một đối tượng, một trình độ phù hợp. Người tìm việc Là đối tượng được phục vụ tại website. Người tìm việc bao gồm nhiều tầng lớp, trình độ học vấn và nghề nghiệp khác nhau. Họ có thể đăng kí để trở thành thành viên (thông tin được lưu trữ và họ có thể đăng nhập), tìm kiếm các công việc, đăng thông tin về bản thân… để có thể tìm kiếm một công việc thích hợp. Nhà tuyển dụng Các nhà tuyển dụng sẽ đăng kí với website để trở thành nhà cung cấp công việc cho website và có thể đăng kí để quảng cáo trên tran..g web. Họ có nhiệm vụ cung cấp các thông tin về công ty họ, các ngành nghề cần tuyển, các yêu cầu… Các thông tin này sẽ được cập nhật vào các thời điểm thích hợp để đảm bảo tính chính xác của thông tin. 4. Các nhà quản trị website: Nhà quản trị có thể đăng nhập để quản trị website ở bất cứ nơi đâu. Họ có quyền kiểm soát tất cả các hoạt động của website cụ thể như xem danh sách đăng kí (các công ty, thành viên), xoá… CHƯƠNG IV: PHÂN TÍCH VÀ THIẾT KẾ Mô hình dữ liệu Diagram III. Xác định các thực thể đưa vào quản lý A. Định nghĩa: Thực thể là một đối tượng trong thế giới thực và có thể tồn tại độc lập mà hệ thống cần lưu trữ dữ liệu về nó. Đối tượng được xác định là một thực thể phải thụ động (vd: người, vật,…) tồn tại độc lập mà không phụ thuộc vào các thực thể khác. Bên trong các thực thể là các thuộc tính, đây là những tính chất không thay đổi của thực thể. Thuộc tính là những thông tin mà ta cần xử lý. B. Các tập thực thể Thực thể nhà tuyển dụng Nhà tuyển dụng là một thực thể cụ thể đại diện cho nhà tuyển dụng tham gia vào trang web Tên thực thể: NHÀ TUYỂN DỤNG Tên viết tắt: tbNHATUYENDUNG Các thuộc tính của thực thể nhà tuyển dụng tbNHATUYENDUNG (MaNTD, TenTaiKhoan, TenNTD, DiaChi, DienThoai, Email, DiaChiWeb, GioiThieu) STT TÊN THUỘC TÍNH TÊN VIẾT TẮT Ý NGHĨA 1 Mã nhà tuyển dụng MaNTD Mã của nhà tuyển dụng tham gia tuyển dụng 2 Tên tài khoản TenTaiKhoan Tên tài khoản của nhà tuyển dụng khi đăng kí 3 Tên nhà tuyển dụng TenNTD Tên của nhà tuyển dụng 4 Địa chỉ DiaChi Địa chỉ nhà tuyển dụng 5 Điện thoại DienThoai Điện thoại nhà tuyển dụng 6 Email Email Email của nhà tuyển dụng 7 Địa chỉ web DiaChiWeb Địa chỉ trang web của nhà tuyển dụng 8 Giới thiệu GioiThieu Giới thiệu về bản thân nhà tuyển dụng Thực thể chuyên ngành Chuyên ngành là một thực thể cụ thể đại diện cho chuyên môn của người xin việc Tên thực thể: CHUYÊN NGÀNH Tên viết tắt: tbCHUYENNGANH Các thuộc tính của thực thể chuyên ngành tbCHUYENNGANH (MaNganh, TenNganh) STT TÊN THUỘC TÍNH TÊN VIẾT TẮT Ý NGHĨA 1 Mã ngành MaNganh Mã chuyên ngành 2 Tên ngành TenNganh Tên chuyên ngành Thực thể trình độ văn hoá Trình độ văn hoá là một thực thể cụ thể đại diện cho trình độ văn hoá của người xin việc Tên thực thể: TRÌNH ĐỘ VH Tên viết tắt: tbTRINHDOVH Các thuộc tính của thực thể trình độ văn hoá tbTRINHDOVH (MaTDVH, TenTDVH) STT TÊN THUỘC TÍNH TÊN VIẾT TẮT Ý NGHĨA 1 Mã trình độ văn hoá MaTDVH Mã trình độ văn hoá 2 Tên trình độ văn hoá TenTDVH Tên trình độ văn hoá Thực thể quảng cáo Quảng cáo là một thực thể cụ thể đại diện cho mục quảng cáo của nhà tuyển dụng Tên thực thể: QUẢNG CÁO Tên viết tắt: tbQUANGCAO Các thuộc tính của thực thể quảng cáo tbQUANGCAO (MaSoQC, TieuDe, HinhAnh, ThoiHanDangQC) STT TÊN THUỘC TÍNH TÊN VIẾT TẮT Ý NGHĨA 1 Mã số quảng cáo MaSoQC Mã số của mục quảng cáo mà nhà tuyển dụng đăng lên trang web 2 Tiêu đề TieuDe Tiêu đề của mục quảng cáo 3 Hình ảnh HinhAnh Hình ảnh của mục quảng cáo 4 Thời hạn đăng quảng cáo ThoiHanDangQC Thời hạn mà nhà tuyển dụng yêu cầu đăng quảng cáo Thực thể chứng chỉ Chứng chỉ là một thực thể cụ thể đại diện cho các chứng chỉ sử dụng trong trang web. Tên thực thể: CHỨNG CHỈ Tên viết tắt: tbCHUNGCHI Các thuộc tính của thực thể chứng chỉ: tbCHUNGCHI (MaCC, TenCC) STT TÊN THUỘC TÍNH TÊN VIẾT TẮT Ý NGHĨA 1 Mã chứng chỉ MaCC Mã chứng chỉ 2 Tên chứng chỉ TenCC Tên chứng chỉ Thực thể hợp đồng quảng cáo Hợp đồng quảng cáo là một thực thể cụ thể đại diện cho sự cam kết về việc đăng quảng cáo giữa nhà tuyển dụng và những người quản lý hệ thống Tên thực thể: HỢP ĐỒNG QUẢNG CÁO Tên viết tắt: tbHOPDONGQUANGCAO Các thuộc tính của thực thể hợp đồng quảng cáo: tbHOPDONGQUANGCAO (SoHD, MaNTD, NgayLap, NoiDungHD) STT TÊN THUỘC TÍNH TÊN VIẾT TẮT Ý NGHĨA 1 Số hợp đồng SoHD Mã số hợp đồng quảng cáo 2 Mã nhà tuyển dụng MaNTD Mã nhà tuyển dụng 3 Ngày lập NgayLap Ngày lập hợp đồng 4 Nội dung hợp đồng NoiDungHD Nội dung của bản hợp đồng Thực thể hồ sơ xin việc Hồ sơ xin việc là một thực thể cụ thể đại diện cho thông tin của người đăng tuyển. Tên thực thể: HỒ SƠ XIN VIỆC Tên viết tắt: tbHOSOXINVIEC Các thực thể của hồ sơ xin việc: tbHOSOXINVIEC(MaHSXV,TenTaiKhoan,MaNganh,MaTDVH,HoUngVien, TenUngVien,GioiTinh,DiaChi,DienThoai,Email,LuongKhoiDiem,NoiLamViec, KinhNghiem, Ngayxinviec). STT TÊN THUỘC TÍNH TÊN VIẾT TẮT Ý NGHĨA 1 Mã hồ sơ xin việc MaHSXV Mã hồ sơ xin việc của ứng viên 2 Tên tài khoản TenTaiKhoan Tên tài khoản khi người ứng viên đăng kí thành viên 3 Mã ngành MaNganh Mã chuyên ngành của ứng viên1 4 Mã trình độ văn hoá MaTDVH Mã trình độ văn hoá của ứng viên 5 Họ ứng viên HoUngVien Họ của ứng viên 6 Tên ứng viên TenUngVien Tên của ứng viên 7 Giới tính GioiTinh Giới tính của ứng viên 8 Địa chỉ DiaChi Địa chỉ của ứng viên 9 Điện thoại DienThoai Điện thoại của ứng viên 10 Email Email Email của ứng cử viên 11 Lương khởi điểm LuongKhoiDiem Lương khởi điểm mà ứng viên yêu cầu 12 Nơi làm việc NoiLamViec Nơi làm việc mà ứng viên yêu cầu 13 Kinh nghiệm KinhNghiem Kinh nghiệm của ứng viên 14 Ngày xin việc NgayXinViec Ngày ứng viên xin việc Thực thể kỹ năng xin việc Kỹ năng xin việc là một thực thể cụ thể cho phép người tuyển dụng có thể tham khảo các kỹ năng cần thiết trong quá trình tìm kiếm việc Tên thực thể: KyNangXinViec Tên viết tắt: tbKyNangXinViec Các thuộc tính của thực thể kỹ năng xin việc: tbKyNangXinViec (MaKyNang, TieuDe, GioiThieu, HinhAnh) STT TÊN THUỘC TÍNH TÊN VIẾT TẮT Ý NGHĨA 1 Mã kỹ năng MaKyNang Mã kỹ năng xin việc 2 Tiêu đề TieuDe Tiêu đề kỹ năng xin việc 3 Giới thiệu GioiThieu Giới thiệu về kỹ năng 4 Hình ảnh HinhAnh Hình ảnh Thực thể phiếu đăng tuyển Phiếu đăng tuyển là một thực thể cụ thể đại diện cho việc đăng tuyển công việc của các nhà tuyển dụng Tên thực thể: PHIẾU ĐĂNG TUYỂN Tên viết tắt: tbPHIEUDANGTUYEN Các thuộc tính của thực thể phiếu đăng tuyển: tbPHIEUDANGTUYEN(MaPDT,MaNTD,NgayDangTuyen,ThoiHanDangTin) STT TÊN THUỘC TÍNH TÊN VIẾT TẮT Ý NGHĨA 1 Mã phiếu tuyển dụng MaPTD Mã phiếu tuyển dụng 2 Mã nhà tuyển dụng MaNTD Mã nhà tuyển dụng 3 Ngày đăng tuyển NgayDangTuyen Ngày đăng tuyển 4 Thời hạn đăng tin ThoiHanDangTin Thời hạn đăng tin mà nhà tuyển dụng yêu cầu C. Các quan hệ Thực thể chi tiết kỹ năng xin việc Đây là thực thể trung gian giữa thực thể kỹ năng xin việc và thực thể nhà tuyển dụng. Một chi tiết kỹ năng xin việc có liên quan đến một mã nhà tuyển dụng duy nhất và một mã kỹ năng xin việc duy nhất. Trong chi tiết đó có thể biết kỹ năng xin việc được cung cấp bởi nhà tuyển dụng nào và nội dung của nó. Tên thực thể: CHI TIẾT KỸ NĂNG XIN VIỆC Tên viết tắt: tbCHITIETKYNANGXINVIEC Các thuộc tính của thực thể chi tiết kỹ năng xin việc.: tbCHITIETKYNANGXINVIEC (MaNTD, MaKyNang, NoiDung) STT TÊN THUỘC TÍNH TÊN VIẾT TẮT Ý NGHĨA 1 Mã kỹ năng MaKyNang Mã kỹ năng xin việc 2 Mã nhà tuyển dụng MaNTD Mã nhà tuyển dụng cung cấp kỹ năng xin việc 3 Nội dung NoiDung Nội dung của kỹ năng Thực thể chi tiết quảng cáo Đây là thực thể trung gian giữa thực thể quảng cáo và thực thể hợp đồng quảng cáo. Một chi tiết quảng cáo có liên quan đến một mã số quảng cáo duy nhất và một số hợp đồng duy nhất. Trong chi tiết đó có thể biết được nội dung và đơn giá của mục quảng cáo. Tên thực thể: CHI TIẾT QUẢNG CÁO Tên viết tắt: tbCHITIETQUANGCAO Các thuộc tính của thực thể chi tiết quảng cáo: tbCHITIETQUANGCAO (MaSoQC,SoHD,NoiDung,DonGia) STT TÊN THUỘC TÍNH TÊN VIẾT TẮT Ý NGHĨA 1 Mã số quảng cáo MaSoQC Mã số của mục quảng cáo 2 Số hợp đồng SoHD Số hợp đồng quảng cáo 3 Nội dung NoiDung Nội dung của mục quảng cáo 4 Đơn giá DonGia Đơn giá của mục quảng cáo Thực thể chi tiết chứng chỉ Đây là thực thể trung gian giữa thực thể hồ sơ xin việc và thực thể chứng chỉ. Một chi tiết chứng chỉ có liên quan đến một mã hồ sơ xin việc duy nhất và một mã chứng chỉ duy nhất. Trong chi tiết đó có thể biết được nơi cấp của chứng chỉ. Tên thực thể: CHI TIẾT CHỨNG CHỈ Tên viết tắt: tbCHITIETCHUNGCHI Các thuộc tính của thực thể chứng chỉ: tbCHITIETCHUNGCHI (MaHSXV,MaCC,NoiCap) STT TÊN THUỘC TÍNH TÊN VIẾT TẮT Ý NGHĨA 1 Mã hồ sơ xin việc MaHSXV Mã hồ sơ xin việc của ứng viên 2 Mã chứng chỉ MaCC Mã chứng chỉ của ứng viên 3 Nơi cấp NoiCap Nơi cấp chứng chỉ Thực thể chi tiết tuyển dụng Đây là thực thể trung gian giữa thực thể phiếu đăng tuyển, thực thể trình độ văn hoá và thực thể chuyên ngành. Một chi tiết tuyển dụng có liên quan đến một mã phiếu đăng tuyển duy nhất, một trình độ văn hoá duy nhất và một chuyên ngành duy nhất. Trong chi tiết đó có thể biết được vị trí tuyển dụng, mô tả công việc, thời hạn nộp hồ sơ, số lượng tuyển dụng, nơi làm việc, yêu cầu kinh nghiệm, mã vị trí, lương khởi điểm Tên thực thể: CHI TIET TUYEN DỤNG Tên viết tắt: tbCHITIETTUYENDUNG Các thuộc tính của thực thể chi tiết tuyển dụng: tbCHITIETTUYENDUNG (MaNTD, MaTDVH, MaNganh, ViTriTuyenDung, MoTaCV, ThoiHanNopHoSo, SoLuongTuyenDung, YeuCauKinhNghiem, LuongkhoiDiem, NoiLamViec, MaViTri) STT TÊN THUỘC TÍNH TÊN VIẾT TẮT Ý NGHĨA 1 Mã nhà tuyển dụng MaNTD Mã nhà tuyển dụng 2 Mã trình độ văn hoá MaTDVH Mã trình độ văn hoá nhà tuyển dụng yêu cầu 3 Mã ngành MaNganh Mã chuyên ngành yêu cầu 4 Vị trí tuyển dụng ViTriTuyenDung Vị trí tuyển dụng 5 Loại hình LoaiHinh Loại hình công việc 6 Mô tả công việc MoTaCV Mô tả công việc 7 ThoiHanNopHoSo ThoiHanNopHoSo Thời hạn nộp hồ sơ 8 SoLuongTuyenDung SoLuongTuyenDung Số lượng tuyển dụng 9 YeuCauKinhNghiem YeuCauKinhNghiem Yêu cầu về kinh nghiệm 10 LuongKhoiDiem LuongKhoiDiem Mức lương khởi điểm 11 NoiLamViec NoiLamViec Nơi làm việc 12 MaViTri MaViTri Mã vị trí tuyển dụng Thực thể yêu cầu chứng chỉ Đây là thực thể trung gian giữa thực thể nhà tuyển dụng, thực thể trình độ văn hoá, thực thể chuyên ngành và thực thể chứng chỉ. Một yêc cầu chứng chỉ có liên quan đến một mã nhà tuyển dụng duy nhất, một mã trình độ duy nhất, một chuyên ngành duy nhất và một chứng chỉ duy nhất. Tên thực thể: YÊU CẦU CHỨNG CHỈ Tên viết tắt: tbYEUCAUCHUNGCHI Các thuộc tính của thực thể yêu cầu chứng chỉ: tbYEUCAUCHUNGCHI (MaNTD, MaTDVH, MaNganh, MaCC) STT TÊN THUỘC TÍNH TÊN VIẾT TẮT Ý NGHĨA 1 Mã nhà tuyển dụng MaNhaTuyenDung Mã nhà tuyển dụng 2 Mã trình độ văn hoá MaTDVH Mã trình độ văn hoá 3 Mã ngành MaNganh Mã chuyên ngành 4 Mã chứng chỉ MaCC Mã chứng chỉ D. Xác định khoá chính cho các thực thể trên tbNHATUYENDUNG(MaNTD,TenTaiKhoan,TenNTD,DiaChi,DienThoai,Email,DiaChiWeb,GioiThieu) tbHOSOXINVIEC(MaHSXV,TenTaiKhoan,MaNganh,MaTDVH,HoUngVien,TenUngVien,GioiTinh,DiaChi,DienThoai,Email,LuongKhoiDiem,NoiLamViec, KinhNghiem,Ngayxinviec) tbHOPDONGQUANGCAO(SoHD,MaNTD,NgayLap,NoiDungHD) tbCHUNGCHI(MaCC,TenCC) tbQUANGCAO(MaSoQC,TieuDe,HinhAnh,ThoiHanDangQC) tbTRINHDOVH(MaTDVH,TenTDVH) tbCHUYENNGANH(MaNganh,TenNganh) tbPHIEUDANGTUYEN(MaPDT,MaNTD,NgayDangTuyen,ThoiHanDangTin) tbKYNANGXINVIEC(MaKyNang,TieuDe,GioiThieu,HinhAnh) tbYEUCAUCHUNGCHI (MaNTD, MaTDVH, MaNganh, MaCC) tbCHITIETTUYENDUNG(MaNTD,MaTDVH,MaNganh, ViTriTuyenDung,MoTaCV,ThoiHanNopHoSo,SoLuongTuyenDung, YeuCauKinhNghiem, LuongkhoiDiem, NoiLamViec, MaViTri) tbCHITIETCHUNGCHI (MaHSXV,MaCC,NoiCap) tbCHITIETQUANGCAO (MaSoQC,SoHD,NoiDung,DonGia) tbCHITIETKYNANGXINVIEC (MaNTD, MaKyNang, NoiDung) IV. Xây dựng mô hình thực thể kết hợp Xét 2 thực thể tbPHIEUDANGTUYEN và tbNHATUYENDUNG ta thấy một phiếu đăng tuyển của một nhà tuyển dụng và một nhà tuyển dụng có thể đăng nhiều phiếu đăng tuyển. Như vậy mối quan hệ giữa hai thực thể tbNHATUYENDUNG và tbPHIEUDANGTUYEN là quan hệ (1, n) Xét 2 thực thể tbHOPDONGQUANGCAO và tbNHATUYENDUNG ta thấy một hợp đồng quảng cáo của một nhà tuyển dụng và một nhà tuyển dụng có thể có nhiều hợp đồng quảng cáo. Như vậy mối quan hệ giữa hai thực thể tbHOPDONGQUANGCAO và tbTNHATUYENDUNG là quan hệ Xét 2 thực thể tbHOSOXINVIEC và tbCHUYENNGANH ta thấy một hồ sơ xin việc có một chuyên ngành và một chuyên ngành thuộc nhiều hồ sơ xin việc. Như vậy mối quan hệ giữa hai thực thể tbHOSOXINVIEC và tbCHUYENNGANH là quan hệ (1, n) Xét 2 thực thể tbHOSOXINVIEC và tbTRINHDOVANHOA ta thấy một hồ sơ xin việc có một trình độ văn hoá và một trình độ văn hoá có thể thuộc nhiều hồ sơ xin việc. Như vậy mối quan hệ giữa hai thực thể tbHOSOXINVIEC và tbTRINHDOVANHOA là quan hệ (1, n) Xét 2 thực thể tbQUANGCAO và tbHOPDONGQUANGCAO ta thấy một mục quảng cáo thuộc nhiều hợp đồng quảng cáo và một hợp đồng quảng cáo chứa nhiều mục quảng cáo. Như vậy mối quan hệ giữa hai thực thể tbHOPDONGQUANGCAO và tbQUANGCAO là quan hệ (1, n) Xét 2 thực thể tbHOSOXINVIEC và tbCHUNGCHI ta thấy một hồ sơ xin việc có nhiều chứng chỉ và một chứng chỉ có thể thuộc nhiều hồ sơ xin việc. Như vậy mối quan hệ giữa hai thực thể tbHOSOXINVIEC và tbCHUNGCHI là quan hệ (n, n) Xét 2 thực thể tbKYNANGXINVIEC và tbNHATUYENDUNG ta thấy một nhà tuyển dụng có thể đưa ra nhiều lời khuyên về kỹ năng xin việc và một kỹ năng xin việc có thể có nhiều nhà tuyển dụng đưa ra. Như vậy mối quan hệ giữa hai thực thể tbNHATUYENDUNG và tbKYNANGXINVIEC là quan hệ (n, n) Xét 3 thực thể tbPHIEUDANGTUYEN, tbTRINHDOVANHOA và tbCHUYENNGANH ta thấy một phiếu đăng tuyển tuyển nhiều trình độ văn hoá và nhiều chuyên ngành, một trình độ văn hoá thuộc nhiều phiếu đăng tuyển và một chuyên ngành thuộc nhiều phiếu đăng tuyển. Vậy quan hệ giữa thực thể tbHIEUDANGTUYEN, tbTRINHDOVANHOA, tbCHUYENNGANH là quan hệ (n, n). Xét 2 thực thể tbCHITIETTUYENDUNG và tbCHUNGCHI ta thấy một chi tiết tuyển dụng có thể yêu cầu nhiều chứng chỉ và một chứng chỉ có thể thuộc nhiều chi tiết tuyển dụng. Như vậy mối quan hệ giữa hai thực thể tbCHITIETTUYENDUNG và tbCHUNGCHI là quan hệ (n, n) V. Các ràng buộc toàn vẹn A. Ràng buộc về khoá Nhà Tuyển Dụng Ràng buộc toàn vẹn về khoá : Mỗi nhà tuyển dụng có một mã duy nhất là khoá và mã này không được trùng nhau "MaNTD i; MaNTD jÎ tbNHATUYENDUNG MaNTD iMaNTD j (i, j = 1,…, n) Ràng buộc về miền giá trị: Thuộc tính MaNTD không được rỗng Ràng buộc toàn vẹn về khoá ngoại: [tbNHATUYENDUNG].[MaNTD]Ê[tbHOPDONGQUANGCAO].[MaNTD] [tbNHATUYENDUNG].[ MaNTD]Ê[tbPHIEUDANGTUYEN].[ MaNTD] Bảng tầm ảnh hưởng Thêm Xoá Sửa tbNhaTuyenDung + - +[MaNTD] Chứng chỉ Ràng buộc toàn vẹn về khoá : Mỗi chứng chỉ có một mã duy nhất là khoá và mã này không được trùng nhau. "MaCC i; MaCC j Î tbCHUNGCHI MaCC i MaCC j (i, j, …, n) Ràng buộc về miền giá trị: Thuộc tính MaCC không được rỗng. Bảng tầm ảnh hưởng: Thêm Xoá Sửa tbCHUNGCHI + - +[MaCC] Trình độ văn hoá Ràng buộc toàn vẹn về khoá: Mỗi trình độ văn hoá có một mã duy nhất là khoá và mã này không được trùng nhau. "MaTDVH i; MaTDVH j Î tbTRINHDOVANHOA MaTDVH i MaTDVH j (i, j, …, n) Ràng buộc toàn vẹn về khoá ngoại: [tbTRINHDOVANHOA].[MaTDVH]Ê[tbHOSOXINVIEC].[MaTDVH] Ràng buộc về miền giá trị: Thuộc tính MaTDVH không được rỗng. Bảng tầm ảnh hưởng: Thêm Xoá Sửa tbTRINHDOVANHOA + - +[MaTDVH] Chuyên ngành Ràng buộc toàn vẹn về khoá : Mỗi ngành có một mã duy nhất là khoá và mã này không được trùng nhau. "MaNganh i; MaNganh j Î tbCHUYENNGANH MaNganh i MaNganh j (i, j, …, n) Ràng buộc toàn vẹn về khoá ngoại: [tbCHUYENNGANH].[MaNganh]Ê[ tbHOSOXINVIEC].[MaNganh] Ràng buộc về miền giá trị: Thuộc tính MaNganh không được rỗng. Bảng tầm ảnh hưởng: Thêm Xoá Sửa tbCHUYENNGANH + - +[MaNganh] Kỹ năng xin việc Ràng buộc toàn vẹn về khoá: Mỗi kỹ năng có một mã duy nhất là khoá và mã này không được trùng nhau. "MaKyNang i; MaKyNang j Î tbKYNANGXINVIEC MaKyNang i MaKyNang j (i, j, …, n) Ràng buộc về miền giá trị: Thuộc tính MaKyNang không được rỗng. Bảng tầm ảnh hưởng: Thêm Xoá Sửa tbKYNANGXINVIEC + - +[MaKyNang] Hồ sơ xin việc Ràng buộc toàn vẹn về khoá : Mỗi hồ sơ xin việc có một mã duy nhất là khoá và mã này không được trùng nhau. "MaHSXV i; MaHSXV j Î tbHOSOXINVIEC MaHSXV i MaHSXV j (i, j, …, n) Ràng buộc về miền giá trị: Thuộc tính MaHSXV không được rỗng. Bảng tầm ảnh hưởng: Thêm Xoá Sửa tbHOSOXINVIEC + - +[ MaHSXV] Hợp đồng quảng cáo Ràng buộc toàn vẹn về khoá: Mỗi hợp đồng quảng cáo có một mã duy nhất là khoá và mã này không được trùng nhau. "SoHD i; SoHD j Î tbHOPDONGQUANGCAO SoHD i SoHD j (i, j, …, n) Ràng buộc về miền giá trị: Thuộc tính SoHD không được rỗng. Bảng tầm ảnh hưởng: Thêm Xoá Sửa tbHOPDONGQUANGCAO + - +[ SoHD] Quảng cáo Ràng buộc toàn vẹn về khoá: Mỗi mục quảng cáo có một mã duy nhất là khoá và mã này không được trùng nhau. "MaSoQC i; MaSoQC j Î tbQUANGCAO MaSoQC i MaSoQC j (i, j, …, n) Ràng buộc về miền giá trị: Thuộc tính MaSoQC không được rỗng. Bảng tầm ảnh hưởng: Thêm Xoá Sửa tbQUANGCAO + - +[ MaSoQC] Phiếu đăng tuyển Ràng buộc toàn vẹn về khoá: Mỗi phiếu đăng tuyển có một mã duy nhất là khoá và mã này không được trùng nhau. "MaPDT i; MaPDT j Î tbPHIEUDANGTUYEN MaPDT i MaPDT j (i, j, …, n) Ràng buộc về miền giá trị: Thuộc tính MaPDT không được rỗng. Bảng tầm ảnh hưởng: Thêm Xoá Sửa tbPHIEUDANGTUYEN + - +[ MaPDT] B. Ràng buộc liên bộ liên quan hệ Xét 2 thực thể tbCHUNGCHI(MaCC,TenCC) tbCHITIETCHUNGCHI(MaHSXV,MaCC,NoiCap,MoTaCC) Mỗi chứng chỉ phải có một chi tiết chứng chỉ. "chungchi Î tbCHUNGCHI $chitietchungchi Î tbCHITIETCHUNGCHI Chitietchungchi.MaCC = chungchi.MaCC Bảng tầm ảnh hưởng Thêm Xoá Sửa tbCHUNGCHI - + - tbCHITIETCHUNGCHI + + + Xét 2 thực thể tbPHIEUDANGTUYEN(MaPDT,MaNTD,NgayDangTuyen,ThoiHanDangTuyen) tbCHITIETTUYENDUNG (MaPDT, MaNganh, MaTDVH, ViTriTuyenDung, MoTaCV, ThoiHanNopHoSo, SoLuongTuyenDung, NoiLamViec, YeuCauKinhNghiem, LuongKhoiDiem) Mỗi phiếu đăng tuyển phải có ít nhất một chi tiết đăng tuyển "phieudangtuyen Î tbPHIEUDANGTUYEN $chitiettuyendung Î tbCHITIETTUYENDUNG phieudangtuyen.MaPDT = chitiettuyendung.MaPTD Bảng tầm ảnh hưởng Thêm Xoá Sửa tbPHIEUDANGTUYEN + - + tbCHITIETTUYENDUNG + - + Xét 2 thực thể TbHOPDONGQUANGCAO (SoHD, MaNTD, NgayLap, NoiDungHD) TbCHITIETQC (SoHD,MaSoQC, NoiDung, DonGia) Mỗi hợp đồng quảng cáo phải có ít nhất một chi tiết quảng cáo "hopdongquangcao Î tbHOPDONGQUANGCAO $chitietqc Î tbCHITIETQC Hopdongquangcao.SoHD = chitietqc.SoHD Bảng tầm ảnh hưởng Thêm Xoá Sửa tbHOPDONGQUANGCAO - + + tbCHITIETQC + + + Xét 2 thực thể tbKYNANGXINVIEC (MaKyNang, TieuDe, GioiThieu, HinhAnh) tbCHITIETKNXV (MaKyNang, MaNTD, NoiDung) Mỗi kỹ năng xin việc phải có ít nhất một chi tiết kỹ năng xin việc "kynangxinviec Î tbKYNANGXINVIEC $chitietknxv Î tbCHITIETKNXV Kynangxinviec.MaKyNang = chtietknxv.MaKyNang Bảng tầm ảnh hưởng Thêm Xoá Sửa tbKYNANGXINVIEC - + - tbCHITIETKNXV + + + C. Ràng buộc do sự hiện diện của chu trình 1. Chu trình 1: tbHOSOXINVIEC (MaHSXV, TenTaiKhoan, MaNganh, MaTDVH, HoUngVien, TenUngVien, GioiTinh, DiaChi, DienThoai, Email, LuongKhoiDiem, NoiLamViec, KinhNghiem, Ngayxinviec) tbTAIKHOAN (TenTaiKhoan, Matkhau) tbNHATUYENDUNG(MaNTD,TenTaiKhoan,TenNTD, DiaChi, DienThoai, Email, DiaChiWeb, GioiThieu) tbPHIEUDANGTUYEN (MaPDT, MaNTD, NgayDangTuyen, ThoiHanDangTin) tbCHITIETTUYENDUNG(MaPDT, MaNganh, MaTDVH, ViTriTuyenDung, MoTaCV, ThoiHanNopHoSo, SoLuongDangTuyen, NoiLamViec, YeuCauKinhNghiem, LuongKhoiDiem) tbCHUYENNGANH (MaNganh, TenNganh) Điều kiện: Nhà tuyển dụng chỉ tuyển những hồ sơ nào có chuyên ngành phù hợp với yêu cầu của nhà tuyển dụng. (tbHOSOXINVIEC tbCHUYENNGANH) [MaNganh] Í (tbNhaTuyenDung tbPhieuDangTuyen) [MaNganh] 2. Chu Trình 2 tbHOSOXINVIEC (MaHSXV, TenTaiKhoan, MaNganh, MaTDVH, HoUngVien, TenUngVien, GioiTinh, DiaChi, DienThoai, Email, LuongKhoiDiem, NoiLamViec, KinhNghiem, Ngayxinviec) tbTAIKHOAN (TenTaiKhoan, Matkhau) tbNHATUYENDUNG(MaNTD,TenTaiKhoan,TenNTD, DiaChi, DienThoai, Email, DiaChiWeb, GioiThieu) tbPHIEUDANGTUYEN (MaPDT, MaNTD, NgayDangTuyen, ThoiHanDangTin) tbCHITIETTUYENDUNG(MaPDT, MaNganh, MaTDVH, ViTriTuyenDung, MoTaCV, ThoiHanNopHoSo, SoLuongDangTuyen, NoiLamViec, YeuCauKinhNghiem, LuongKhoiDiem) tbTRINHDOVANHOA (MaTDVH, TenTDVH) Điều kiện: Nhà tuyển dụng chỉ tuyển những hồ sơ nào có trình độ văn hoá phù hợp với yêu cầu của nhà tuyển dụng. (tbHOSOXINVIEC tbTRINHDOVANHOA) [MaTDVH] Í (tbNhaTuyenDung tbPhieuDangTuyen) [MATDVH] VI. Quy tắc quản lý Chuyên ngành Mỗi chuyên ngành xác định mã chuyên ngành Qua mã chuyên ngành xác định được tên ngành Trình độ văn hoá Mỗi trình độ văn hoá xác định được mã trình độ văn hoá Từ mã ta có thể xác định tên trình độ văn hoá Hồ sơ xin việc Mỗi hồ sơ xin việc xác định một mã hồ sơ xin việc Từ mã hồ sơ xin việc có thể xác định được tài khoản, tên ứng viên, giới tính, địa chỉ … Ngoài ra, ta còn xác định được ứng viên đó thuộc ngành nào, trình độ văn hóa như thế nào. Chứng chỉ 4.1. Chứng chỉ Mỗi chứng chỉ xác định một mã chứng chỉ Từ mã chứng chỉ có thể xác định tên chứng chỉ 4.2. Chi tiết chứng chỉ Từ mã sách và mã hồ sơ xin việc ta biết được các thông tin về chứng chỉ như nơi cấp và một vài mô tả. Nhà tuyển dụng Mỗi nhà tuyển dụng có một mã xác định Từ mã nhà tuyển dụng ta có thể biết được các thông tin như tên nhà tuyển dụng, địa chỉ, email, điện thoại…. Phiếu đăng tuyển 6.1. Phiếu đăng tuyển Mỗi phiếu đăng tuyển có một mã xác định. Từ mã phiếu có thể xác định được nhà tuyển dụng nào đăng tuyển, đăng ngày nào và thời hạn là bao lâu. 6.2. Chi tiết phiếu đăng tuyển Từ mã phiếu đăng tuyển, mã ngành, mã chứng chỉ có thể xác định được vị trí tuyển dụng, thời hạn nộp hồ sơ, số lượng tuyển dụng, nơi làm việc… Quảng cáo Mỗi mục quảng cáo có một mã số quảng cáo. Từ mã quảng cáo ta xác định được tiêu đề, hình ảnh… của mục quảng cáo đó. Hợp đồng quảng cáo Hợp đồng quảng cáo Mỗi hợp đồng quảng cáo có một số hợp đồng. Từ hợp đồng xác định được nhà tuyển dụng nào, ngày lập, tiêu đề. Chi tiết quảng cáo Từ số hợp đồng và mã số quảng cáo xác định được nội dụng và đơn giá. Kỹ năng xin việc Kỹ năng xin việc Mỗi kỹ năng xin việc xác định một mã kỹ năng. Từ mã kỹ năng xác định được tiêu đề, hình ảnh… 9.2. Chi tiết kỹ năng xin việc Từ mã nhà tuyển dụng và mã kỹ năng xin việc xác định được nội dung. VII. Dạng chuẩn của lược đồ quan hệ Hồ sơ xin việc F1: MaHSXV ® TenTaiKhoan, #MaNganh, #MaTDVH, HoUngVien, TenUngVien, GioiTinh, DiaChi, DienThoai, Email, LuongKhoiDiem, NoiLamViec, KinhNghiem, Ngayxinviec ) MaHSXV là khoá chính. Quan hệ hồ sơ xin việc đạt dạng chuẩn BCK Hợp đồng quảng cáo F2: SoHD ® MaNTD, NgayLap, NoiDungHD SoHD là khoá chính. Quan hệ đạt dạng chuẩn BCK. Chứng chỉ F3: MaCC ® TenCC MaCC là khoá chính. Quan hệ đạt dạng chuẩn BCK. Quảng cáo F4: MaSoQC ® TieuDe, HinhAnh, ThoiHanDangQC MaSoQC là khoá chính. Quan hệ đạt dạng chuẩn BCK. Trình độ văn hoá F5: MaTDVH ® TenTDVH MaTDVH hoá là khoá chính. Quan hệ đạt dạng chuẩn BCK. Chuyên ngành F6: MaNganh ® TenNganh MaNganh là khoá chính. Quan hệ đạt dạng chuẩn BCK. Phiếu đăng tuyển F7: MaPDT ® #MaNTD, NgayDangTuyen, ThoiHanDangTin MaPDT là khoá chính. Quan hệ đạt dạng chuẩn BCK Kỹ năng xin việc F8: MaKyNang ® TieuDe, GioiThieu, HinhAnh MaKyNang là khoá chính. Quan hệ đạt dạng chuẩn BCK Nhà tuyển dụng F9: MaNTD ® TenTaiKhoan, TenNTD, DiaChi, DienThoai, Email, DiaChiWeb, GioiThieu MaNTD là khoá chính. Quan hệ đạt dạng chuẩn BCK Chi tiết kỹ năng xin việc F10: (MaKyNang, MaNTD) ® NoiDung MaKyNang, MaNTD là khoá ngoại (khoá phát sinh từ quan hệ giữa hai thực thể tbKYNANGXINVIEC và tbNHATUYENDUNG) Chi tiết quảng cáo F11: (SoHD, MaSoQC) ® NoiDung, DonGia SoHD,MaSoQC là khoá ngoại (khoá phát sinh từ quan hệ giữa hai thực thể tbHOPDONGQUANGCAO và tbQUANGCAO) Chi tiết tuyển dụng F12: (MaPDT, MaNganh, MaTDVH) ® ViTriTuyenDung, MoTaCV, ThoiHanNopHoSo, SoLuongTuyenDung, NoiLamViec, YeuCauKinhNghiem, LuongKhoiDiem. MaPDT, MaNganh, MaCC là khoá ngoại (khoá phát sinh từ quan hệ giữa hai thực thể tbCHUNGCHI, tbNHATUYENDUNG, tbCHUNGCHI). Chi tiết chứng chỉ F13: (MaHSXV, MaCC) ® NoiCap, MoTaCC MaHSXV, MaCC là khoá ngoại (khoá phát sinh từ quan hệ giữa hai thực thể tbHOSOXINVIEC và tbCHUNGCHI) Yêu cầu chứng chỉ F14: (MaNTD,MaTDVH, MaNganh, MaCC) MaNTD, MaTDVH, MaNganh và MaCC là khoá ngoại (khoá phát sinh từ quan hệ giữa 2 thực thể tbCHITIETTUYENDUNG và tbCHUNGCHI) VIII. Từ điển dữ liệu STT TÊN DIỄN GIẢI CẤU TRÚC ĐỘ RỘNG MIỀN GIÁ TRỊ 1 TenTaiKhoan Tên tài khoản Text 100 “0” … “9” “a” … “z” “A” … “Z” 2 MatKhau Mật khẩu Text 100 “0” … “9” “a” … “z” “A” … “Z” 3 MaCC Mã chứng chỉ Number Interger “0” … “9” 4 TenCC Tên chứng chỉ Text 100 “0” … “9” “a” … “z” “A” … “Z” 5 NoiCap Nơi cấp chứng chỉ Text 50 “0” … “9” “a” … “z” “A” … “Z” 6 MaNganh Mã chuyên ngành Number Interger “0” … “9” 7 TenNganh Tên chuyên ngành Text 100 “0” … “9” “a” … “z” “A” … “Z” 8 MaNTD Mã nhà tuyển dụng Number Interger “0” … “9” 9 TenNTD Tên nhà tuyển dụng Text 100 “0” … “9” “a” … “z” “A” … “Z” 10 DiaChi Địa chỉ Text 100 “0” … “9” “a” … “z” “A” … “Z” 11 DienThoai Điện thoại Number Interger “0” … “9” 12 Email Email Text 50 “0” … “9” “a” … “z” “A” … “Z” 13 DiaChiWeb Địa chỉ web Text 50 “0” … “9” “a” … “z” “A” … “Z” 14 GioiThieu Giới thiệu Text 500 “0” … “9” “a” … “z” “A” … “Z” 15 SoHD Số hợp đồng Number Interger “0” … “9” 16 NgayLap Ngày lập hợp đồng Date Short date XX/XX/XX 17 NoiDungHD Nội dung hợp đồng Text 500 “0” … “9” “a” … “z” “A” … “Z” 18 MaPDT Mã phiếu tuyển dụng Number Interger “0” … “9” 19 NgayDangTuyen Ngày đăng tuyển Date Short date XX/XX/XX 20 ThoiHanDangTin Thời hạn đăng tin Number Interger “0” … “9” 21 ViTriTuyenDung Vị trí tuyển dụng Text 50 “0” … “9” “a” … “z” “A” … “Z” 22 MoTaCV Mô tả công việc Text 200 “0” … “9” “a” … “z” “A” … “Z” 23 ThoiHanNopHoSo Thời hạn nộp hồ sơ Date Short date XX/XX/XX 24 SoLuongTuyenDung Số lượng tuyển dụng Number Interger “0” … “9” 25 MaTDVH Mã trình độ văn hoá Number Interger “0” … “9” 26 TenTDVH Tên trình độ văn hoá Text 50 “0” … “9” “a” … “z” “A” … “Z” 27 MaHSXV Mã hồ sơ xin việc Number Interger “0” … “9” 28 TieuDeHoSo Tiêu đề hồ sơ Text 50 “0” … “9” “a” … “z” “A” … “Z” 29 HoUngVien Hồ sơ ứng viên Text 50 “0” … “9” “a” … “z” “A” … “Z” 30 TenUngVien Tên ứng viên Text 50 “0” … “9” “a” … “z” “A” … “Z” 31 NgaySinh Ngày sinh Date Short date XX/XX/XX 32 GioiTinh Giới tính Text 10 “0” … “9” “a” … “z” “A” … “Z” 33 TinhTrangHonNhan Tình trạng hôn nhân Text 20 “0” … “9” “a” … “z” “A” … “Z” 34 LuongKhoiDiem Lương khởi điểm Number Float “0” … “9” 35 NoiLamViec Nơi làm việc Text 50 “0” … “9” “a” … “z” “A” … “Z” 36 KinhNghiem Kinh nghiệm Number Interger “0” … “9” 37 NgayDangHoSo Ngày đăng hồ sơ Date Short date XX/XX/XX 38 NguyenVongLamViec Nguyện vọng làm việc Text 800 “0” … “9” “a” … “z” “A” … “Z” 39 HinhAnh Hình ảnh Text 50 “0” … “9” “a” … “z” “A” … “Z” 40 ThoiGianDangHS Thời gian đăng hồ sơ Number Interger “0” … “9” 41 MaKyNang Mã kỹ năng Number Interger “0” … “9” 42 NoiDung Nội dung Text 800 “0” … “9” “a” … “z” “A” … “Z” 43 TieuDe Tiêu đề Text 100 “0” … “9” “a” … “z” “A” … “Z” 44 MaSoQC Mã số quảng cáo Number Interger “0” … “9” 45 ThoiHanDangQC Thời hạn đăng quảng cáo Number Interger “0” … “9” 46 DonGia Đơn giá Number Float “0” … “9” IX. Mô hình UML 1. Use case diagram. 1.1. Use case diagram – đối với nhóm chức năng thuộc nhà tuyển dụng. Hình 1.1 – Use case diagram – chức năng nhà tuyển dụng. 1.1.1. Actors: NhaTuyenDung (Nhà Tuyển dụng): Nhà tuyển dụng có vai trò quan trọng trong hệ thống, bao gồm đăng tuyển và tìm hồ sơ ứng viên. Mỗi nhà tuyển dụng có thể đăng nhiều hồ sơ tuyển dụng, sau khi đăng tuyển NTD có thể nhận được ngay kết quả so khớp các ứng viên phù hợp (các ứng viên này đã gửi đơn xin việc trực tuyến từ trước). Nhà tuyển dụng cũng có thể đăng các mục quảng cáo về các khoá học và các dịch vụ của công ty mình trên website. NTD có thể ngay lập tức tìm kiếm ứng viên với các lựa chọn thích hợp mà không phải mất thời gian đăng tuyển. 1.1.2. Use-case. 1.1.2.1. Đăng nhập vào hệ thống A. Use case DangNhap Chức năng: Use case này mô tả cách người dùng đăng nhập vào hệ thống với các vai trò khác nhau (nhà quản trị web, nhà tuyển dụng, ứng viên, khách hàng…) Dòng sự kiện (hệ thống yêu cầu gì và sẽ thực hiên như thế nào): Dòng sự kiện chính: Use case này bắt đầu khi một actor muốn đăng nhập vào hệ thống. Các bước thực hiện: Khi người dùng chọn chức năng đăng nhập, hệ thống sẽ hiện thị trang đăng nhập, hệ thống sẽ yêu cầu người dùng nhập các thông tin đăng nhập (username và password) và nhấn nút đăng nhập. Hệ thống sẽ kiểm tra các thông tin đăng nhập và quyết định có cho người dùng đăng nhập hay không. Dòng sự kiện khác Tên/mật khẩu bị sai Nếu trong quá trình đăng nhập, người dùng nhập sai tên hoặc mật khẩu, hệ thống sẽ hiện thị một thông báo lỗi, người dùng có thể chọn nhập lại hoặc huỷ bỏ việc đăng nhập. Nếu huỷ bỏ, use case kết thúc. Điều kiện tiên quyết: Không có Post-Conditions: Nếu use case này thành công, người dùng sẽ đăng nhập vào hệ thống. Nếu không trạng thái hệ thống không thay đổi. B. Sequence diagram DangNhap: 1.1.2.2. Đăng tuyển hồ sơ: A. Use-case DangTuyen: a. Chức năng: Cung cấp chức năng cho nhà tuyển dụng đăng tuyển dụng với những yêu cầu về TDVH, chứng chỉ… Cung cấp chức năng cho nhà tuyển dụng đăng tuyển dụng với những yêu cầu về TDVH, chứng chỉ… b. Dòng sự kiện (Hệ thống yêu cầu gì và sẽ thực hiện như thế nào). Dòng sự kiện chính Use case này bắt đầu khi nhà tuyển dụng muốn đăng tuyển công việc. Các bước thực hiện Hệ thống yêu cầu đăng nhập trước khi thực hiện tác vụ khác. Đăng nhập thành công, hệ thống yêu cầu nhập vào form đăng tuyển với các thông tin cần thiết (Hệ thống đưa ra các yêu cầu bắt buộc phải nhập, khi nhập sai sẽ được cảnh báo). Đăng tuyển thành công, hệ thống sẽ hiển thị trong form danh sách công việc mới nhất. Dòng sự kiện khác Nếu trong quá trình đăng tuyển nhà tuyển dụng chọn chức năng huỷ bỏ thì việc đăng tuyển sẽ kết thúc và trạng thái của hệ thống không thay đổi. c. Điều kiện tiên quyết. Nhà tuyển dụng phải đăng nhập trước khi thực hiện chức năng này. Post-Conditions. Nếu use case này thành công thì thông tin đăng tuyển của nhà tuyển dụng sẽ được cập nhật vào cơ sở dữ liệu và hệ thống sẽ tự động thống kê các ứng viên phù hợp cho công việc vừa được đăng, nếu không thành công thì trạng thái của hệ thống không thay đổi. B. Sequence diagram DangTuyenDung: 1.1.2.3. Đăng quảng cáo A. Use case DangQuangCao Chức năng: Cung cấp chức năng cho nhà tuyển dụng (hoặc công ty) đăng quảng cáo (Quảng cáo bao gồm nội dung và hình ảnh), với số ngày đăng tùy theo yêu cầu. Dòng sự kiện (Hệ thống yêu cầu gì và sẽ thực hiện như thế nào) Dòng sự kiện chính: Use case này bắt đầu khi nhà tuyển dụng người dùng muốn đăng các mục quảng cáo trên trang web. Các bước thực hiện: Nhà tuyển dụng chọn tác vụ đăng quảng cáo. Hệ thống yêu cầu đăng nhập trước khi thực hiện đăng quảng cáo. Đăng nhập thành công, hệ thống yêu cầu nhập vào form đăng quảng cáo các thông tin cần thiết (Hệ thống đưa ra các yêu cầu bắt buộc phải nhập, khi nhập sai sẽ được cảnh báo). Đăng quảng cáo thành công, hệ thống sẽ hiển thị lên thông tin của các mục đăng quảng cáo. Dòng sự kiện phụ: Nếu trong quá trình đăng kí người dùng chọn chức năng huỷ bỏ thì việc đăng quảng cáo sẽ kết thúc và trạng thái của hệ thống sẽ không thay đổi. Điều kiện tiên quyết. Người dùng phải đăng nhập trước khi đăng quảng cáo. Post-Conditions. Nếu việc đăng quảng cáo thành công thì hệ thống sẽ thực hiện việc lưu thông tin về mục quảng cáo đó và mục quảng cáo đó sẽ hiển thị trên trang web. B. Sequence diagram DangQuangCao 1.1.2.4. Xoá thông tin A. Use case XoaTTTuyenDung a. Chức năng: Cho phép nhà tuyển dụng xoá thông tin đã đăng. b. Dòng sự kiện (hệ thống yêu cầu gì và sẽ thực hiện như thế nào) Use case này bắt đầu khi nhà tuyển dụng muốn xoá một mẫu tin đã đăng. Các bước thực hiện: Nhà tuyển dụng đăng nhập vào hệ thống. Nhà tuyển dụng chọn một mẫu tin muốn xoá, nhấp “Delete”. c. Điều kiện tiên quyết Nhà tuyển dụng phải đăng nhập trước khi xoá. d. Post – Condition: Nếu use case này thành công thì hệ thống sẽ mất đi một mẫu tin. B. Sequence diagram XoaTTTuyenDung 1.1.2.5. Chỉnh sửa thông tin A. Use case ChinhSuaThongTin Chức năng: Cho phép nhà tuyển dụng chỉnh sửa thông tin đăng tuyển nếu các thông tin đó có sự thay đổi. Dòng sự kiện (Hệ thống yêu cầu gì và sẽ thực hiện như thế nào) Dòng sự kiện chính Use case này bắt đầu khi nhà tuyển dụng muốn chỉnh sửa các thông tin đã đăng. Nhà tuyển dụng nhấp “chỉnh sửa thông tin”. Hệ thống yêu cầu đăng nhập trước khi chỉnh sửa thông tin. Sau khi đăng nhập thành công hệ thống sẽ hiển thị các thông tin về nhà tuyển dụng đó và nhà tuyển dụng sẽ nhập vào các thông tin cần chỉnh sửa. Chỉnh sửa thông tin thành công, hệ thống sẽ cập nhật các thông tin mới nhất này. Dòng sự kiện khác: Nếu trong quá trình chỉnh sửa thông tin, nhà tuyển dụng chọn chức năng huỷ bỏ thì việc chỉnh sửa thông tin và trạng thái của hệ thống sẽ không thay đổi. Điều kiện tiên quyết: Nhà tuyển dụng phải đăng nhập trước khi chỉnh sửa thông tin. Post – Condition: Nếu use case này thành công thì hệ thống sẽ tự động cập nhật các thông tin mới nhất. Nếu không thành công thì trạng thái hệ thống sẽ không thay đổi. B. Sequence diagram ChinhSuaThongTin: 1.1.2.6. Tìm hồ sơ ứng viên A. Use case TimHoSoUngVien Chức năng: Cung cấp chức năng cho nhà tuyển dụng tìm kiếm những ứng viên phù hợp với mục tiêu tuyển dụng. Dòng sự kiện (Hệ thống yêu cầu gì và sẽ thực hiện như thế nào) Dòng sự kiện chính Use case này bắt đầu khi nhà tuyển dụng muốn tìm kiếm thông tin về các ứng viên theo những tiêu chí nhất định. Các bước thực hiện: Nhà tuyển dụng nhấp nút tìm kiếm. Hệ thống yêu cầu đăng nhập trước khi tìm kiếm hồ sơ ứng viên Khi đăng nhập thành công hệ thống sẽ yêu cầu nhập vào thông tin cần thiết mà nhà tuyển dụng cần tìm kiếm. Sau khi tìm thấy, hệ thống sẽ hiển thị tất cả các thông tin đó cho nhà tuyển dụng xem. Dòng sự kiện phụ: Nếu thông tin mà nhà tuyển dụng cần tìm kiếm không có trong cơ sở dữ liệu thì hệ thống sẽ thông báo không tìm thấy Điều kiện tiên quyết: Nhà tuyển dụng phải đăng nhập nếu muốn tìm kiếm thông tin ứng viên. Post – Conditions: Nếu việc tìm kiếm thành công thì hệ thống sẽ hiển thị các thông tin tìm thấy trên trang tìm kiếm. Ngược lại hiển thị kết quả tìm kiếm thất bại. 1.1.2.6.1. Use-case Tim_Nhanh: Chỉ tìm theo chuyên ngành và nơi làm việc. 1.1.2.6.2. Use-case Tim_NangCao: Cung cấp thêm một số lựa chọn giúp tìm kiếm chi tiết hơn, như: yêu cầu kinh nghiệm, mức lương, trình độ học vấn, chứng chỉ… Use-case diagram – đối với nhóm chức năng thuộc người tìm việc. Hình 1.2 – Use case diagram – chức năng nhà tuyển dụng 1.2.1. Actors: NguoiTimViec (Người Tìm Việc): Nguời tìm việc có vai trò quan trọng trong hệ thống, bao gồm tìm việc, đăng hồ sơ, nộp hồ sơ, nhận thông báo việc làm, nhận kỹ năng xin việc, hỏi tư vấn kỹ năng xin việc. Người tìm việc có thể đăng hồ sơ để tìm kiếm công việc thích hợp với mình mà không phải mất thời gian để đi đến các trung tâm xin việc nộp hồ sơ. Người tìm việc có thể tìm kiếm các công việc phù hợp với ngành nghề, chuyên môn… Người tìm việc có thể hỏi và nhận các kỹ năng xin việc làm hành trang cho mình trong quá trình đi tìm việc. Ngoài ra, họ còn nhận được các thông báo trúng tuyển nếu hồ sơ của họ phù hợp với yêu cầu của nhận tuyển dụng. 1.2.2. Use-case. 1.2.2.1. Đăng hồ sơ A. Use-case DangHoSo Chức năng: Cung cấp cho người xin việc các thức đăng một mẫu tin tìm việc. Dòng sự kiện (Hệ thống yêu cầu gì và sẽ thực hiện ntn): Dòng sự kiện chính: Use case này bắt đầu khi ứng viên muốn đăng thông tin tìm việc Các bước thực hiện: Ứng viên nhấp đăng hồ sơ. Hệ thống yêu cầu đăng nhập trước khi thực hiện tác vụ khác. Đăng nhập thành công, hệ thống yêu cầu nhập vào các thông tin cần thiết (Hệ thống đưa ra các yêu cầu bắt buộc phải nhập, khi nhập sai sẽ được cảnh báo). Đăng ký công việc thành công, hệ thống sẽ hiển thị trong ra danh sách cá ứng viên một cách chi tiết. Dòng sự kiện khác: Ứng viên không nhập đủ các thông tin mà trang web yêu cầu. Trong quá trình đăng hồ sơ, ứng viên chọn chức năng huỷ bỏ thì việc đăng hồ sơ thất bại và trạng thái hệ thống sẽ không thay đổi. Điều kiện tiên quyết: Người tìm việc phải đăng nhập trước khi thực hiện chức năng này. Post-Conditions: Nếu việc đăng hồ sơ thành công thì hệ thống sẽ cập nhật các thông tin về ứng viên đó vào cơ sở dữ liệu và nhà tuyển dụng sẽ có thêm một ứng cử viên để lựa chọn. B. Sequence diagram DangHoSo 1.2.2.2. Hiệu chỉnh hồ sơ Use case HieuChinhHoSo Chức năng: Cho phép ứng viên sửa chữa, thay đổi thông tin về bản thân đã đăng trước đó. Dòng sự kiện (Hệ thống yêu cầu gì và sẽ thực hiện ntn): Dòng sự kiện chính: Use case này bắt đầu khi ứng viên muốn hiệu chỉnh các thông tin đã đăng. Các bước thực hiện: Ứng viên chọn chức năng hiệu chỉnh hồ sơ. Hệ thống yêu cầu đăng nhập trước khi thực hiện hiệu chỉnh hồ sơ. Sau khi đăng nhập thành công hệ thống sẽ hiển thị các thông tin về mà ứng cử viên đã đăng trước đó và ứng viên sẽ nhập vào các thông tin cần chỉnh sửa. Chỉnh sửa thông tin thành công, hệ thống sẽ cập nhật các thông tin mới nhất này. Dòng sự kiên phụ: Nếu trong quá trình chỉnh sửa thông tin, nhà tuyển dụng chọn chức năng huỷ bỏ thì việc chỉnh sửa thông tin thất bại và trạng thái của hệ thống sẽ không thay đổi. Điều kiện tiên quyết: Ứng viên phải đăng nhập trước khi hiệu chỉnh thông tin. Post – Condition: Nếu use case này thành công thì hệ thống sẽ tự động cập nhật các thông tin mới nhất. Nếu không thành công thì trạng thái hệ thống sẽ không thay đổi. B. Sequence diagram HieuChinhHoSo 1.2.2.3. Xoá hồ sơ A. Use case XoaHoSo a. Chức năng: Cho phép người tìm việc xoá thông tin của bản thân đã đăng trước đó. b.Dòng sự kiện (hệ thống yêu cầu gì và sẽ thực hiện như thế nào) Người tìm việc đăng nhập vào hệ thống. Chọn hồ sơ đã đăng và nhấp “Delete”. c. Điều kiện tiên quyết Hệ thống yêu cầu đăng nhập trước khi xoá hồ sơ d. Post – Condition: Hệ thống sẽ mất đi một hồ sơ nếu use case này thành công B. Sequence diagram XoaHoSo() 1.2.2.4. Nộp hồ sơ trực tiếp cho nhà tuyển dụng A. Use case NopHoSoTrucTiepNTD: Chức năng: Cho phép ứng viên gửi mail trực tiếp đến nhà tuyển dụng nếu thấy công việc phù hợp với bản thân. Dòng sự kiện (Hệ thống yêu cầu gì và sẽ thực hiện ntn): Ứng cử viên nhấn gửi mail cho nhà tuyển dụng để tham gian sơ tuyển trực tiếp mà không cần đăng tin tìm việc trên trang web. Điều kiện tiên quyết: Không có Post – Condition: Không có. 1.3. Usecase diagram – đối với chức năng thuộc người quản trị 1.3.1. Actor: Người quản trị (NguoiQuanTri): người quản trị có vai trò quan trọng trong hệ thống, bao gồm quản trị diễn đàn, thống kê danh sách trúng tuyển, xoá thông tin tuyển dụng, sơ khớp điều kiện tuyển dụng và gửi danh sách các ứng cử viên cho nhà tuyển dụng. Người quản trị quản lý diễn đàn, giải đáp thắc mắc đối của các thành viên. Người quản trị thống kê số lượng các ứng cử viên được lựa chọn sau khi nhận được thông báo của nhà tuyển dụng. Người quản trị có thể xoá thông tin tuyển dụng nếu mẫu tin đó tồn tại quá lâu. 1.3.2. Usecase 1.3.2.1. Quản lý nhà tuyển dụng Cho phép nhà tuyển dụng quản lý các thông tin về nhà tuyển dụng 1.3.2.1.1 Tìm kiếm nhà tuyển dụng A. Usecase TimKiemNTD: Chức năng: Cho phép người quản trị tìm kiếm thông tin của nhà tuyển dụng Dòng sự kiện (Hệ thống yêu cầu gì và sẽ thực hiện ntn): Nhà tuyển dụng nhập vào các tiêu chuẩn tìm kiếm Nếu tìm thấy hệ thống sẽ hiển thị các thông tin. Điều kiện tiên quyết: Người quản trị phải đăng nhập trước khi thực hiện tác vụ này. Post – Condition: Nếu use case này thành công hệ thống sẽ hiển thị tất cả các thông tin theo yêu cầu tìm kiếm. Nếu không thành công, hệ thống không thay đổi B Sequence diagram TimKiemNTD 1.3.2.1.2. Xóa thông tin tuyển dụng A. Usecase XoaNTD: Chức năng: Cho phép người quản trị xóa các thông tin của nhà tuyển dụng. Dòng sự kiện (Hệ thống yêu cầu làm gì và sẽ thực hiện ntn): Người quản trị chọn nhà tuyển dụng cần xóa. Chọn “Delete”. Điều kiện tiên quyết: Người quản trị phải đăng nhập trước khi thực hiện tác vụ này. Post – Condition: Nếu use case này thành công hệ thống sẽ mất đi thông tin của nhà tuyển dụng đã chọn. Nếu không thành công, hệ thống không thay đổi B. Sequence diagram XoaNTD 1.3.2.2 Quản lý người tìm việc Cho phép nhà tuyển dụng quản lý các thông tin về các ứng viên. 1.3.2.2.1. Tìm kiếm người tìm việc A. Usecase TimKiemNTV Chức năng: Cho phép người quản trị tìm kiếm thông tin của người tìm việc Dòng sự kiện (Hệ thống yêu cầu gì và sẽ thực hiện ntn): Nhà tuyển dụng nhập vào các tiêu chuẩn tìm kiếm Nếu tìm thấy hệ thống sẽ hiển thị các thông tin. Điều kiện tiên quyết: Người quản trị phải đăng nhập trước khi thực hiện tác vụ này. Post – Condition: Nếu use case này thành công hệ thống sẽ hiển thị tất cả các thông tin theo yêu cầu tìm kiếm. Nếu không thành công, hệ thống không thay đổi B. Sequence diagram TimKiemNTV 1.2.3.2.2. Xóa thông tin NTV A. Usecase XoaNTV Chức năng: Cho phép người quản trị xóa các thông tin của người tìm việc. Dòng sự kiện (Hệ thống yêu cầu làm gì và sẽ thực hiện ntn): Người quản trị chọn người tìm việc cần xóa. Chọn “Delete”. Điều kiện tiên quyết: Người quản trị phải đăng nhập trước khi thực hiện tác vụ này. Post – Condition: Nếu use case này thành công hệ thống sẽ mất đi thông tin của người tìm việc đã chọn. Nếu không thành công, hệ thống không thay đổi B. Sequence diagram XoaNTV 1.3.2.3. Thống kê danh sách trúng tuyển: A. Usecase ThongKeDanhSachTrungTuyen: Chức năng: Cho phép người quản trị thống kê được số lượng các ứng viên trúng tuyển qua sự giới thiệu của website. Dòng sự kiện (Hệ thống yêu cầu gì và sẽ thực hiện ntn): Người quản trị sẽ tổng hợp các thông tin trúng tuyển của ứng viên qua thông báo của nhà tuyển dụng và thể hiện qua một report. Điều kiện tiên quyết: Người quản trị phải đăng nhập trước khi thực hiện tác vụ này. Post – Condition: Không có. 1.4. Usecase diagram – đối với chức năng thuộc người dùng. 1.4.1. Actor: Người dùng (NguoiDung): Người dùng có vai trò quan trọng trong hệ thống, bao gồm đăng đăng kí thành viên và gửi thông tin liên hệ. Mỗi người dùng có thể đăng kí thành viên với nhiều vai trò khác nhau như nhà tuyển dụng hay ứng viên. Người dùng có thể gửi liên hệ, góp ý cho trang web. 1.4.2. Usecase 1.4.2.1. Đăng kí thành viên A. Usecase DangKiThanhVien: Chức năng: Use case này cho phép người sử dụng đăng kí với trang web để trở thành thành viên (có thể là nhà tuyển dụng hay ứng viên). Dòng sự kiện (Hệ thống yêu cầu gì và sẽ thực hiện ntn): Dòng sự kiện chính: Use case này bắt đầu khi người dùng muốn trở thành thành viên của trang web hoặc khi họ muốn sử dụng dịch vụ khi chưa có account. Các bước thực hiện: Người dùng chọn chức năng đăng kí thành viên. Hệ thống sẽ yêu cầu nhập các thông tin (username và password) Hệ thống tiến hành kiểm tra tính hợp lệ của thông tin nhập vào và lưu vào cơ sở dữ liệu. Dòng sự kiện khác: Nếu trong quá trình đăng kí người dùng quyết định huỷ bỏ các thông tin đăng kí thì usecase kết thúc và trạng thái hệ thống không thay đổi. Nếu quá trình kiểm tra phát hiện thông tin nhập vào không hợp lệ thì hệ thống trở về trạng thái trước đó (mở trang nhập liệu với các thông tin nhập trước đó vẫn còn để người dùng có thể chỉnh sửa). Điều kiện tiên quyết: Không có. Post – Condition: Nếu qua trình đăng kí thành công thì các thông tin của người dùng sẽ được lưu vào cơ sở dữ liệu. Nếu không trạng thái của hệ thống không hề thay đổi. B. Sequence diagram DangKiThanhVien 1.4.2.2. Gửi thông tin liên lạc A. Usecase GuiThongTinLienLac: Chức năng: Cho phép người dùng gửi các thông tin đến người quản trị. Dòng sự kiện (Hệ thống yêu cầu gì và sẽ thực hiện ntn): Dòng sự kiện chính: Usecase này bắt đầu khi người dùng muốn gửi thông tin liên hệ đến người quản trị. Các bước thực hiện: Người dùng chọn chức năng liên hệ. Hệ thống yêu cầu nhập thông tin liên hệ. Hệ thống sẽ tiến hành lưu thông tin của người dùng vào cơ sở dữ liệu. Dòng sự kiện khác: Nếu trong quá trình liên hệ, người dùng thực hiện huỷ bỏ thì việc liên hệ sẽ thất bại và trạng thái của hệ thống sẽ không đổi. Điều kiện tiên quyết: Không có. Post – Condition: Nếu qua trình liên hệ thành công thì các thông tin cần liên hệ của người dùng sẽ được lưu vào cơ sở dữ liệu. Nếu không trạng thái của hệ thống không hề thay đổi. Tìm kiếm công việc A. Use case TimViec Chức năng: Cung cấp chức năng cho ứng viên tìm kiếm những công việc phù hợp với khả năng bằng các từ khoá xác định. Dòng sự kiện (Hệ thống yêu cầu gì và sẽ thực hiện ntn) Dòng sự kiện chính: Use case này bắt đầu khi ứng viên muốn tìm kiếm các công việc trên trang web. Các bước thực hiện: Ứng viên chọn chức năng tìm kiếm. Hệ thống yêu cầu nhập vào thông tin cần tìm kiếm. Sau khi tìm thấy, hệ thống sẽ hiển thị tất cả các thông tin đó cho người tìm việc. Dòng sự kiện phụ: Nếu thông tin mà nhà tuyển dụng cần tìm kiếm không có trong cơ sở dữ liệu thì hệ thống sẽ thông báo không tìm thấy Điều kiện tiên quyết: Không có Post – Conditions: Nếu việc tìm kiếm thành công thì hệ thống sẽ hiển thị các thông tin tìm thấy trên trang tìm kiếm. Ngược lại hiển thị kết quả tìm kiếm thất bại. 1.4.2.3.1. Use-case TimNhanh: 1.4.3.2.2. Use-case TimNangCao: 1.4.2.4. Nhận thông báo việc làm: A. Usecase NhanThongBaoViecLam: Chức năng: Cung cấp cho ứng viên các thông tin về việc làm mới nhất của trang web. Dòng sự kiện (Hệ thống yêu cầu gì và sẽ thực hiện ntn): Use case này bắt đầu khi ứng viên đăng kí để nhận các thông báo về việc làm từ trang web. Các bước thực hiện: Hệ thống yêu cầu ứng viên đăng kí địa chỉ email của mình. Hệ thống sẽ tự động gửi các thông tin về việc làm cho ứng viên qua hệ thống email đã đăng kí trước đó khi có thông tin việc làm mới nhất. Điều kiện tiên quyết: Không có. Post – Condition: Không có. 1.4.2.5. Nhận các kỹ năng xin việc A. Use case NhanKyNangXinViec: Chức năng: Cung cấp các thông tin về các kỹ năng cần thiết khi đi xin việc: từ cách thức làm hồ sơ, đến cách trả lời phỏng vấn… Dòng sự kiện: Hệ thống sẽ gửi các thông tin về các kỹ năng xin việc, hướng nghiệp.. về địa chỉ email của người tìm việc Điều kiện tiên quyết: Không có Post – Conditions. Không có Usecase diagram của hệ thống 2.Class diagram 2.1. Phân tích mô hình lớp của toàn hệ thống Hệ thống được thiết kế dựa trên mô hình ba lớp. Toàn bộ các lớp cần thiết cho ứng dụng được chứa trong ba package như sau: User Services package: trong đây chứa toàn bộ các lớp liên quan đến giao diện người dùng. Business Services package: chứa các lớp liên quan đến nghiệp vụ của hệ thống. Business Services package: chứa toàn bộ các lớp liên quan đến dữ liệu của hệ thống như tạo các kết nối với cơ sở dữ liệu, truy xuất các thành phần dữ liệu liên quan… 2.1.1. User Services package Package này bao gồm các lớp liên quan đến giao diện người dùng hệ thống, cụ thể bao gồm các lớp sau đây: Tên Lớp Mô Tả TrangChu Giao diện trang chủ của hệ thống, mặc định hiển thị khi người dùng nhập vào địa chỉ của website.. formQuangCao Trang này giành cho việc các công ty đăng ký, quảng bá thương hiệu của mình formDangKiThanhVien Trang này giành cho việc đăng ký làm thành viên của hệ thống formDangHoSo Trang này cho phép người xin việc tạo ra hồ sơ xin việc của riêng mình. formLogin Yêu cầu người dùng buộc phải đăng nhập trước khi sử dụng các dịch vụ của hệ thống formDangTuyen Trang này giành cho nhà tuyển dụng đăng thông tin đăng tuyển việc làm. formKetQuaTimViec Hiển thị kết quả tìm kiếm việc làm. formChiTietTuyenDung Hiển thị thông tin chi tiết việc làm. formKyNangXinViec Hiển thị thông tin về các kỹ năng xin formTimViec Hiển thị các thông tin tìm kiếm công việc thích hợp với ững viên formTimUngVien HIển thị thông tin tìm kiếm nhân lực thích hợp theo yêu cầu của các thương nghiệp Biểu đồ dưới đây cho thấy tổng quát các quan hệ giữa các trang của site. Đường đứt nét biểu thị cho việc triệu gọi các trang lẫn nhau. Biểu đồ quan hệ giữa các lớp trong user services package Business Services package Package này chứa các lớp liên quan đến nghiệp vụ của hệ thống. Các yêu cầu của người dùng từ lớp giao diện sẽ gởi đến các lớp này yêu cầu xử lý.Các lớp này gọi xử lý yêu cầu và gọi đến các lớp dưới tầng dữ liệu truy lục dữ liệu thích hợp và gởi trả về cho lớp giao diện hiển thị ra cho người dùng. Tên Lớp Thuộc Tính Hàm clsTimViec: chứa các thông tin về việc làm giúp cho việc tìm kiếm việc làm theo nhiều hạng mục khác nhau TuKhoa: string MaNganh: string MaDiaDiem: string MaPDT: string TimKiem (): DataSet LayThongTinChiTietTuyenDung(): DataSet clsTimUngVien: chứa các thông tin nhằm giúp cho việc tìm kiếm ứng viên theo các yêu cầu từ nhà tuyển dụng TuKhoa: string MaNganh: string MaDiaDiem: string TrinhDoVanHoa: string LuongKhoiDiem: string NgayDangHoSo: string TimKiem (): DataSet TimKiemTheoTenCC(): DataSet clsSoKhopTuyenDung: so khớp giữa hồ sơ xin việc của ứng viên và thông tin tuyển dụng từ nhà tuyển dụng nhằm tìm ra những ứng viên thích hợp nhất. ViecLam: clsChiTietTuyenDung UngVien: clsHoSoXinViec SoKhop (): DataSet Data Services package Package này chứa các lớp liên quan đến tầng dữ liệu của hệ thống như kết nối với cơ sở dữ liệu và các lớp liên quan đến việc truy nhập dữ liệu của hệ thống. Chi tiết cụ thể các lớp như sau: Tên Lớp Thuộc Tính Hàm clsTaiKhoan: chứa thông tin về tài khoản của người dùng hệ thống TenTaiKhoan: string MatKhau: string DangKy(): bool XoaTaiKhoan(): void DangNhap(): string DoiMatKhau(): bool clsChuyenNganh: chứa các thông tin về các danh mục ngành nghề MaNganh: int TenNganh: string ThemChuyenNganh(): bool LayTTChuyenNganh(): DataSet LayMaNganh(): int clsTrinhDoVanHoa: 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 Query…Cung 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

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

  • docBaoCao.doc