MỤC LỤC
Trong các dự án thực tế luôn có áp lực làm sao để nhanh chóng bước vào giai đoạn coding (giai đoạn hiện thực chương trình) một cách nhanh nhất và tiến độ các dự án phần mềm có xu hướng được đánh giá bằng số lượng mã nguồn chương trình. Qui trình ICONIX là một cách tiếp cận hợp lý tập trung vào giữa giai đoạn đặc tả các usecase (trường hợp sử dụng) và giai đoạn coding (hiện thực chương trình), nó nhấn mạnh những việc cần và nên làm vào trong thời điểm bắt đẩu của một khâu trong qui trình phát triển phần mềm. Qui trình ICONIX đưa ra cách để làm sao từ bước đặc tả usecase đến bước hiện thực chương trình một cách nhanh và hiệu quả nhất, giảm tải một số khâu chiếm quá nhiều thời gian trong các qui trình lớn khác, ví dụ như qui trình RUP thường xảy ra tình trạng analysis paralysis (tình trạng quá tải trong việc phân tích hay suy nghĩ khiến cho tiến trình phát triển phần mềm bị ngưng trệ dẫn đến không đưa ra được một quyết định hay bất kì hành động nào).
Lược đồ robustness là cầu nối giữa các bản đặc tả usecase và việc vẽ các lược đồ tuần tự, giúp cho người thiết kế tỏch bạch rừ ràng cỏc hành vi của hệ thống, hạn chế sự nhập nhằng và thiếu sút khi vẽ lược đồ tuần tự, bởi vì khi vẽ các robustness diagram chúng ta sẽ khám phá ra các chức năng, hành vi ẩn không nhìn thấy được lúc viết đặc tả usecase.
Lập trình hướng khía cạnh (aspect oriented programing) là một sự bổ sung thêm cho lập trình hướng đối tượng, giúp cho các lập trình viên tập trung vào phần xử lý nghiệp vụ hơn thay vì phải lặp đi lặp lại các đoạn mã cùng thực hiện một chức năng nào đó nhiều lần, ví dụ như: ghi nhật ký (logging), thực thi các giao tác (transaction). Spring Web module: Nằm trên application context module, cung cấp các ngữ cảnh cho các ứng dụng web, hỗ trợ tích hợp với các bộ khung làm việc nổi tiếng khác như Struts, JSF và Webwork… Web module cũng làm giảm bớt các công việc điều khiển nhiều request và gắn các tham số của request vào các đối tượng domain. Với sự hỗ trợ của cơ chế đảo ngược sự kiểm soát này các lập trình viên không cần phải tạo đối tượng ngay trong mã nguồn mà mô tả chúng sẽ được tạo ra thế nào, hơn thế nữa, không cần phải kết nối các thành phần (components) và các dịch vụ (services) một cách trực tiếp mà chỉ cần mô tả thành phần nào cần dịch vụ nào trong một tập tin cấu hình.
Các thành phần này dùng để trình bày các gói giao diện người dùng, quản lý trạng thái của các gói đó, xử lý các sự kiện phát ra từ các gói giao diện khi người dùng thao tác lên các gói giao diện đó, xác thực dữ liệu, chuyển đổi dữ liệu, phân luồng điều hướng giữa các trang, hỗ trợ đa ngôn ngữ và cung cấp các mở rộng cho các gói giao diện người dùng này.
Hoặc nếu các NTD có nhu cầu mở lớp học để bổ sung kỹ năng cho nhân viên công ty mình, NTD có thể gửi yêu cầu này đến các trung tâm đào tạo để được đáp ứng mở các khóa học mới. - Người tìm việc sử dụng hệ thống vừa tìm kiếm việc làm vừa tìm kiếm thông tin các khóa học để đăng kí, giúp rèn luyện thêm những kỹ năng của mình. Nếu chưa có, hệ thống sẽ thêm username vào hệ thống và thông báo đăng kí tài khoản thành công, sau đó chuyển đến trang quản lý thông tin người dùng dựa vào loại tài khoản mà người đó chọn.
- Chức năng: NTD được quyền tạo thông tin của mình trên hệ thống theo mẫu có sẵn để giúp ứng viên tìm kiếm các doanh nghiệp, nộp đơn và xem tin tuyển dụng của họ. - Chức năng: Hệ thống tạo nên một công cụ cho phép các tổ chức đào tạo tự cập nhật các tin đào tạo và thông tin về tổ chức của mình để quảng bá đến người học bao gồm hình ảnh và nội dung giới thiệu về tổ chức cũng như hình ảnh các khóa học. - Luồng cơ bản: Hệ thống hỗ trợ lưu giữ các địa chỉ mail của bạn bè như yahoo, gmail, facebook … Khi chọn chức năng giới thiệu bạn bè, hệ thống sẽ đưa ra danh sách các địa chỉ mail của bạn bè để bạn có thể add vào bằng cách nhấn vào mục “Mail To” có chức năng “Thêm địa chỉ mail của bạn bè”, hệ thống sẽ hiển thị một bảng gồm các check box có địa chỉ mail và hình đại diện để bạn chọn.
- Luồng cơ bản: Nhà tuyển dụng đăng nhập vào hệ thống, nhấn vào nút đăng tin tức tuyển dụng, hệ thống sẽ hiển thị trang web chứa thông tin cần điền vào, nhà tuyển dụng điền đầy đủ thông tin, sau đó chọn nút xem trước để xem thông tin đã đầy đủ chưa. Sau đó nhà tuyển dụng nhấn nút đăng tin, hệ thống sẽ cập nhật tin đã đăng vào cơ sở dữ liệu, gửi email thông báo đến nhân viên quản lý là có tin tuyển dụng mới cần được xét duyệt. - Luồng cơ bản: Nhà tuyển dụng đăng nhập vào hệ thống, nhấn vào liên kết đến mục quản lý tin tức tuyển dụng, hệ thống sẽ hiển thị danh sách các tin tức tuyển dụng đã đăng của nhà tuyển dụng.
Đăng tin: Hệ thống sẽ kiểm tra tính đúng đắn của thông tin người dùng nhập vào, sau đó thêm thông tin khóa học mới vào cơ sở dữ liệu, sau đó hiển thị thông báo đến người dùng và quay về trang danh sách các tin đã đăng (được xếp theo thứ tự ngày tháng năm lùi dần). Xem trước tin sẽ đăng: Nhân viên trung tâm đào sau khi đã nhập xong các thông tin về khóa học có thể xem trước nội dung khóa học sẽ được hiển thị như thế nào bằng cách nhấn nút xem trước (preview). Nội dung hiển thị của trang là danh sách các khóa học đã đăng cùng chức năng tìm kiếm, xem chi tiết, thêm, xóa, sửa, hiển thị hoặc ẩn khóa học….
- Luồng cơ bản: Nhà tuyển dụng nhấn vào đường dẫn liên kết đến chức năng quản trị tài khoản của người quản trị, hệ thống cho phép người quản trị chỉnh sửa các thông tin như mật khẩu, hình đại diện, email liên hệ. Các bài viết đăng lên, khi đã được hệ thống kiểm duyệt, người dùng có thể tùy chọn chỉnh sửa nội dung thông tin của mình như: Hiển thị hay không hiển thị các bài viết của mình, sửa nội dung, …. Nếu ứng viên tham gia khóa học khác ở một trung tâm khác so với dữ liệu của hệ thống thì sẽ lưu trữ ở 2 thuộc tính khác đó là ten_khkhac và ten_ttdt khác.
Hibernate sẽ đối tượng hóa các bảng ở dưới cơ sở dữ liệu, khi đó việc móc nối với các hệ cơ sở dữ liệu trở nên đơn giản hơn với Hibernate. - Thư mục infobean: Chứa các đối tượng hiển thị (view object) nhằm lưu trữ thông tin người dùng nhập và lưu vào session hoặc request và được gửi về cho các backing bean xử lý. - Thư mục bo: Chứa các lớp xử lý chính của chương trình, các lớp này nhận các lời gọi từ các backing bean ở tầng trên và xử lý với sự hỗ trợ của các phương thức ở tầng dưới (tầng DAO).
Để tỏch bạch rừ ràng giữa các cấp (tier), hệ thống trong khóa luận này chia ra làm nhiều tập tin cấu hình nhỏ hơn rồi được liên kết lại trong tập tin applicationContext.xml. Vì đây là bước đầu tạo nền tảng để xây dựng hệ thống lớn, và cũng để dễ dàng hơn trong việc thiết lập kiểm thử trực tiếp trên hệ thống server nên để nhóm đã quyết định sử dụng hệ quản trị cơ dữ liệu MySQL. - Thuộc tính “connection.driver_class”: mỗi hệ cơ sở dữ liệu sẽ có một driver tương ứng để hibernate có thể giao tiếp với hệ cơ sở dữ liệu.
- Mapping là kỹ thuật ánh xạ các bảng của cơ sở dữ liệu thành các tập tin XML và các lớp tương ứng với các bảng (các thuộc tính của lớp sẽ tương ứng với các trường dữ liệu của bảng). Thay vì thao tác trực tiếp với các bảng cơ sở dữ liệu, các lập trình viên bây giờ chỉ cần thao tác với các lớp đã được ánh xạ lên là có thể tiến hành được các truy vấn đến cơ sở dữ liệu. Chọn tab table filters, nhấn nút refresh để đồng bộ dữ liệu với cơ sở dữ liệu, nhấn tiếp nút include để thêm dữ liệu bảng từ database schema qua table filters (Hình 3.62. chọn các bảng sẽ được ánh xạ).
Trong mục này nhóm sẽ trình bày ngắn gọn cách hiện thực chức năng “hiển thị và sửa tài khoản”, chức năng này để hiển thị tên đăng nhập của người dùng và có thể sửa chữa trực tiếp trên đó. Nội dung chỉnh sửa sẽ được cập nhật vào danh sách tài khoản taikhoanBO.capnhatTaikhoan(tk) và sẽ được cập nhật đến tầng hiển thị và hiển thị ra cho người dùng.