Phân tích và thiết kế hệ thống đăng kí học online

Các lớp biên: Nhằm chuyển đổi thông tin giao tiếp giữa CB tuyển sinh và hệ thống. Lớp điều khiển: chứa các qui tắc nghiệp vụ và đứng trung gian giữa các lớp biên và các lớp thực thể. Cho phép từ màn hình có thể truy xuất được các thông tin chứa đựng trong thực thể sinh viên. Các lớp thực thể: Lớp MonHoc cung cấp thông tin cho CB tuyển sinh để cập nhật thông tin cho môn học.

pdf61 trang | Chia sẻ: lylyngoc | Lượt xem: 2537 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Phân tích và thiết kế hệ thống đăng kí học online, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
trợ việc hiển thị lịch giảng dạy của từng Giảng viên và lịch học cho từng Sinh viên. - 4 - - Hệ thống sẽ tạo ra cho mỗi Sinh viên, Giảng viên một tài khoản đăng nhập. Căn cứ vào đó hệ thống có thể nhận biết Sinh viên, Giảng viên đó thuộc khoa nào, ngành nào… để hiển thị thông tin về môn học cho phù hợp. - Khi hết hạn đăng kí, danh sách các Môn học mà Sinh viên đã đăng kí sẽ được gửi cho Hệ thu học phí để tính học phí. - Thông tin đăng kí Môn học của sinh viên, thông tin đăng kí Môn dạy của giảng viên và thông tin chi tiết về môn học sẽ được gửi cho Hệ quản lý TKB để xếp thời khoá biểu, tổ chức lớp học, tổ chức thi. II. Xác định các tác nhân của hệ thống Dựa vào văn bản mô tả bài toán, ta xác định được các tác nhân của hệ thống như sau:  Tác nhân Giảng viên: sử dụng hệ thống để chọn các môn học mà mình sẽ dạy trong một kì.  Tác nhân Hệ thu học phí: là một hệ thống ngoài có chức năng:  Xác định số tiền phải thu trong kỳ dựa trên số tín chỉ sinh viên đăng ký học đã được xác nhận của nhà trường và đơn giá, hệ số tính theo môn học.  Thu (học phí của kỳ) nhiều đợt (trong thời gian cho phép) đối với một sinh viên.  Thu học phí có đối chiếu với danh sách sinh viên được giảm, miễn học phí.  Trả lại số tiền học sinh đã nộp (theo đăng ký môn học), nhưng không theo học (được nhà trường chấp nhận).  Tác nhân Hệ quản lý TKB: là một hệ thống ngoài có chức năng:  Hỗ trợ sắp xếp thời khóa biểu tự động, tổ chức các lớp giảng, xếp phòng học.  Hỗ trợ việc tổ chức các lớp giảng cho mỗi môn học trong từng học kì. Một môn học có thể có nhiều lớp giảng, mỗi lớp giảng có thể được tổ chức học theo cả tuần hoặc từng đợt. Mỗi lớp giảng có từ 20 đến 40 sinh viên.  Hỗ trợ quản lý thời khóa biểu thi, phân bổ phòng thi, số lượng sinh viên thi, kiểm tra việc thi chính thức, thi lại của sinh viên.  Tác nhân Sinh viên: sử dụng hệ thống để đăng kí các môn học.  Tác nhân CB tuyển sinh: Có nhiệm vụ duy trì thông tin giảng viên, thông tin - 5 - sinh viên, thông tin môn học và lập bản giới thiệu các môn học. III. Xác định các ca sử dụng của hệ thống Dựa trên văn bản mô tả bài toán và việc phân tích để tìm ra các tác nhân, ta xác định được các ca sử dụng như sau:  Đăng nhập hệ thống  Đăng kí môn học  Chọn môn học để giảng dạy  Duy trì thông tin sinh viên  Duy trì thông tin giảng viên  Duy trì thông tin môn học  Lập bản giới thiệu các môn học Các tác nhân Các ca sử dụng Sinh viên Đăng nhập hệ thống Đăng kí môn học Giảng viên Đăng nhập hệ thống Chọn môn học để giảng dạy CB tuyển sinh Đăng nhập hệ thống Duy trì thông tin sinh viên Duy trì thông tin giảng viên Duy trì thông tin môn học Lập bản giới thiệu các môn học Hệ quản lý thời TKB Đăng kí môn học Chọn môn học để giảng dạy Hệ thu học phí Đăng kí môn học - 6 - Vẽ biểu đồ ca sử dụng Duy tr× th«ng tin gi¶ng viªn Duy tr× th«ng tin sinh viªn LËp b¶n gií i thiÖu c¸c m«n häc CB TuyÓn sinh § ¨ng nhËp hÖ thèng HÖ thu häc phÝ Sinh vien Gi¶ng viªn § ¨ng ki m«n häc Chän m«n häc ®Ó gi¶ng d¹y Duy tr× th«ng tin m«n häc HÖ qu¶n lý TKB IV. Đặc tả các ca sử dụng 1. Ca sử dụng Đăng nhập hệ thống a. Mô tả tóm tắt Tên ca sử dụng: Đăng nhập hệ thống Mục đích: Mô tả cách một người sử dụng đăng nhập vào hệ thống. Tác nhân: Sinh viên, Giảng viên, Bộ CB tuyển sinh. b. Các luồng sự kiện  Luồng sự kiện chính  Ca sử dụng này bắt đầu khi tác nhân muốn đăng nhập vào hệ thống.  Hệ thống yêu cầu tác nhân nhập tài khoản và mật khẩu đăng nhập.  Tác nhân nhập tài khoản và mật khẩu đăng nhập của mình. - 7 -  Hệ thống xác nhận tài khoản và mật khẩu đăng nhập có hợp lệ không, nếu không hợp lệ thì thực hiện luồng A1.  Hệ thống ghi lại quá trình đăng nhập.  Các luồng rẽ nhánh  Luồng A1: Nhập sai tài khoản/mật khẩu đăng nhập - Hệ thống hiển thị một thông báo lỗi. - Người sử dụng có thể chọn hoặc là đăng nhập lại hoặc là huỷ bỏ đăng nhập, khi đó ca sử dụng kết thúc . c. Tiền điều kiện Không d. Hậu điều kiện Nếu việc đăng nhập thành công, người sử dụng sẽ đăng nhập được vào hệ thống. 2. Ca sử dụng Đăng kí môn học a. Mô tả tóm tắt Tên ca sử dụng: Đăng kí môn học Mục đích: - Giúp cho Sinh viên có thể đăng kí những môn học mà mình có thể học trong một học kì. - Sinh viên chọn các môn học để đăng kí hoặc có thể huỷ bỏ, thay đổi các môn học mà mình đã đăng kí trong khoảng thời gian cho phép trước khi bắt đầu kì học. Tác nhân: Sinh viên b. Các luồng sự kiện  Luồng sự kiện chính  Ca sử dụng này bắt đầu khi sinh viên muốn đăng kí môn học hoặc thay đổi môn học đã đăng kí.  Hệ thống yêu cầu Sinh viên chọn học kỳ.  Sinh viên chọn một học kỳ.  Hệ thống hiển thị các lựa chọn: - Thêm - 8 - - Xoá - Xem - In - Thoát  Hệ thống yêu cầu sinh viên lựa chọn chức năng mà họ muốn thực hiện. - Nếu Sinh viên lựa chọn “Thêm một môn học” thì luồng sự kiện con Thêm sẽ được thực hiện. - Nếu Sinh viên lựa chọn “Xoá một lớp giảng đã đăng kí theo học” thì luồng sự kiện con Xoá sẽ được thực hiện. - Nếu Sinh viên chọn “Xem lịch học” thì luồng sự kiện con Xem sẽ được thực hiện. - Nếu Sinh viên chọn “In lịch học” thì luồng sự kiện con In sẽ được thực hiện.  Thêm - Nếu hết hạn đăng kí, thực hiện luồng A2. - Hệ thống hiển thị một danh sách các môn học có trong học kì đó để Sinh viên lựa chọn. - Sinh viên chọn một môn học. Nếu việc lựa chọn của sinh viên không thoả mãn điều kiện tiên quyết hoặc là môn học đó đã đủ số lượng Sinh viên đăng kí thì thực hiện luồng A1. - Hệ thống hiển thị các lớp giảng sẽ tổ chức cho môn học đó. - Sinh viên chọn một lớp giảng và xác nhận. Nếu Sinh viên chọn Huỷ (không đăng kí nữa), ca sử dụng bắt đầu lại. - Hệ thống sẽ kết nối Sinh viên với lớp giảng đó.  Xoá lớp giảng đã đăng kí học - Hệ thống hiển thị danh sách các lớp giảng mà Sinh viên đã đăng kí theo học. - Sinh viên lựa chọn một lớp giảng và xác nhận xoá. Nếu sinh viên chọn Huỷ (không xoá nữa), ca sử dụng bắt đầu lại. - Hệ thống xoá bỏ kết nối giữa Sinh viên và lớp giảng đó.  Xem lịch học - Hệ thống hiển thị danh sách các lớp giảng mà Sinh viên đã đăng kí theo học. - Sinh viên lựa chọn một lớp giảng. - 9 - - Hệ thống sẽ hiển thị lịch của lớp giảng đó gồm các thông tin sau: tên môn học, mã môn học, mã số lớp giảng, các ngày lên lớp trong tuần, thời gian, địa điểm.  In lịch học - Hệ thống hiển thị danh sách các lớp giảng mà Sinh viên đã đăng kí theo học. - Sinh viên lựa chọn một lớp giảng và chọn In. - Hệ thống sẽ in lịch học của lớp giảng đó. Nếu không in được lịch học, thực hiện luồng A3.  Các luồng rẽ nhánh  Luồng A1: Môn học mà Sinh viên đăng kí không thoả mãn các điều kiện tiên quyết, hoặc là môn học đó đã đủ số lượng sinh viên đăng kí. - Hệ thống hiển thị thông báo lỗi. - Sinh viên có thể lựa chọn một môn học khác và đăng kí lại hoặc là thoát khỏi ca sử dụng này.  Luồng A2: Hết hạn đăng kí. - Hệ thống hiển thị thông báo lỗi. - Ca sử dụng kết thúc.  Luồng A3: Lịch học không in được. - Hệ thống hiển thị thông báo cho người dùng. - Ca sử dụng bắt đầu lại. c. Tiền điều kiện Sinh viên phải đăng nhập thành công vào hệ thống. d. Hậu điều kiện Nếu ca sử dụng được thực hiện thành công thì danh sách các môn học mà Sinh viên đã đăng kí sẽ được tạo ra. Sinh viên có thể thay đổi hoặc xóa những môn học đã đăng kí, trong trường hợp khác hệ thống ở trong trạng thái không thay đổi. 3. Ca sử dụng Chọn môn học để giảng dạy a. Mô tả tóm tắt: Tên ca sử dụng : Chọn môn học để giảng dạy Mục đích: - Giúp Giảng viên chọn môn học mà mình sẽ giảng dạy trong một học kì nào - 10 - đó. - Giảng viên có thể thực hiện thêm, xóa, xem, hoặc in danh sách các lớp giảng mà mình đã đăng kí dạy trong khoảng thời gian cho phép trước khi bắt đầu kì học. Tác nhân: Giảng viên b. Các luồng sự kiện  Luồng sự kiện chính  Ca sử dụng này bắt đầu khi một Giảng viên muốn chọn môn học mình sẽ giảng dạy cho học kì sắp tới.  Hệ thống yêu cầu Giảng viên chọn học kỳ.  Giảng viên chọn một học kỳ.  Hệ thống hiển thị các lựa chọn: - Thêm - Xoá - Xem - In - Thoát  Hệ thống nhắc Giảng viên chọn chức năng mà họ muốn thực hiện: - Nếu Giảng viên lựa chọn Thêm thì luồng sự kiện con Thêm một lớp giảng được thực hiện. - Nếu Giảng viên chọn Xoá thì luồng sự kiện con Xoá một lớp giảng được thực hiện. - Nếu Giảng viên chọn Xem thì luồng sự kiện con Xem lịch giảng dạy của từng lớp giảng được thực hiện. - Nếu Giảng viên chọn In thì luồng sự kiện con In lịch giảng dạy cho từng lớp giảng sẽ được thực hiện.  Thêm một lớp giảng - Hệ thống hiển thị một danh sách các môn học có trong kì đó để Giảng viên lựa chọn. Nếu Giảng viên không lựa chọn được môn giảng dạy, thực hiện luồng A1. - Giảng viên chọn một môn mà mình có thể giảng dạy và xác nhận việc lựa - 11 - chọn. Nếu Giảng viên lựa chọn Huỷ, ca sử dụng bắt đầu lại. - Hệ thống hiển thị các lớp giảng đối với môn học đã chọn. - Giảng viên chọn một lớp giảng. - Hệ thống sẽ tạo kết nối giữa Giảng viên và lớp giảng đó.  Xoá một lớp giảng - Hệ thống hiển thị danh sách các lớp giảng mà Giảng viên đã đăng kí. - Giảng viên chọn một lớp giảng và xác nhận xoá. Nếu giảng viên chọn Huỷ, ca sử dụng bắt đầu lại. - Hệ thống sẽ huỷ bỏ liên kết giữa giảng viên và lớp giảng đó.  Xem lịch giảng dạy - Hệ thống hiển thị danh sách các lớp giảng mà Giảng viên đã đăng kí. - Giảng viên chọn một lớp giảng. - Hệ thống sẽ hiển thị lịch giảng dạy của lớp giảng đó gồm các thông tin sau: tên môn học, mã môn học, mã số lớp giảng, các ngày lên lớp trong tuần, thời gian, địa điểm.  In lịch giảng dạy - Hệ thống hiển thị danh sách các lớp giảng mà Giảng viên đã đăng kí. - Giảng viên chọn một lớp giảng. - Hệ thống sẽ in lịch giảng dạy của Giảng viên. Nếu không in được lịch giảng dạy, thực hiện luồng A2.  Các luồng rẽ nhánh:  Luồng A1: Giảng viên không lựa chọn được môn giảng dạy. - Giảng viên chọn Thoat. - Ca sử dụng kết thúc.  Luồng A2: Lịch giảng dạy không in được. - Hệ thống hiển thị thông báo cho người dùng. - Ca sử dụng bắt đầu lại. c. Tiền điều kiện Giảng viên phải đăng nhập thành công vào hệ thống. Ca sử dụng này chỉ có thể thực hiện được khi đã có thời khoá biểu dự kiến (do Hệ quản lý TKB cung cấp). - 12 - d. Hậu điều kiện Nếu ca sử dụng được thực hiện thành công, môn học mà Giảng viên lựa chọn sẽ được thêm vào hay bị xoá khỏi danh sách chọn. Trong các trường hợp khác, hệ thống ở trong trạng thái chưa thay đổi. 4. Ca sử dụng Duy trì thông tin giảng viên a. Mô tả tóm tắt Tên ca sử dụng: Duy trì thông tin giảng viên. Mục đích: Ca sử dụng này cho phép cán bộ tuyển sinh duy trì thông tin của Giảng viên trong hệ thống. Cán bộ tuyển sinh có thể thực hiện việc Thêm, Sửa, và Xoá thông tin Giảng viên từ hệ thống. Tác nhân: CB tuyển sinh. b. Các luồng sự kiện  Luồng sự kiện chính: Ca sử dụng này bắt đầu khi CB tuyển sinh muốn thêm, sửa, hoặc xóa thông tin Giảng viên trong hệ thống.  Hệ thống hiển thị các lựa chọn: - Thêm - Sửa - Xoá  Hệ thống yêu cầu CB tuyển sinh chọn công việc mà họ muốn thực hiện.  Nếu CB tuyển sinh chọn “Thêm một giảng viên”, luồng sự kiện con Thêm một giảng viên sẽ được thực hiện.  Nếu CB tuyển sinh chọn “Sửa thông tin giảng viên”, luồng sự kiện con Sửa thông tin giảng viên sẽ được thực hiện.  Nếu CB tuyển sinh chọn “Xoá một giảng viên”, luồng sự kiện con Xoá một giảng viên sẽ được thực hiện.  Thêm một giảng viên  Hệ thống yêu cầu CB tuyển sinh nhập thông tin giảng viên, bao gôm: - Họ tên - Ngày sinh - Giới tính - 13 - - Khoa - Nhóm ngành giảng dạy - Số điện thoại - Email  CB tuyển sinh nhập thông tin được yêu cầu. Hệ thống tạo ra mã số tự động (duy nhất) và gán cho giảng viên. Trong đó mã giảng viên được qui định như sau: - Mã Giảng viên có độ dài tối đa 7 kí tự: - 2 kí tự đầu qui định mã khoa - 3 kí tự tiếp theo qui định mã nhóm ngành - 2 kí tự cuối qui định số thứ tự của giảng viên trong nhóm ngành đó.  Giảng viên được thêm vào hệ thống.  Hệ thống cung cấp cho CB tuyển sinh mã số mới của giảng viên.  Sửa đổi thông tin giảng viên  Hệ thống yêu cầu CB tuyển sinh nhập mã số giảng viên.  CB tuyển sinh nhập vào mã số giảng viên.  Hệ thống kiểm tra mã số giảng viên vừa nhập có tồn tại hay không? Nếu không tồn tại thì thực hiện luồng A1.  Hệ thống hiển thị thông tin về giảng viên có mã số vừa nhập.  CB tuyển sinh sửa những thông tin cần thiết về giảng viên và xác nhận việc sửa đổi.  Hệ thống cập nhật những thay đổi vừa được thực hiện.  Xoá một giảng viên  Hệ thống yêu cầu CB tuyển sinh nhập mã số giảng viên.  CB tuyển sinh nhập vào mã số giảng viên.  Hệ thống kiểm tra mã số giảng viên vừa nhập có tồn tại hay không? Nếu không tồn tại thì thực hiện luồng A1.  Hệ thống hiển thị thông tin về giảng viên có mã số vừa nhập.  Hệ thống nhắc CB tuyển sinh xác nhận việc xoá giảng viên.  CB tuyển sinh xác nhận việc xoá. - 14 -  Giảng viên đó sẽ bị xoá khỏi hệ thống.  Các luồng rẽ nhánh  Luồng A1: Nhập mã số giảng viên không tồn tại.  Hệ thống thông báo lỗi.  Hệ thống yêu cầu CB tuyển sinh nhập vào một mã số giảng viên khác hoặc huỷ bỏ thao tác xoá hoặc sửa.  Nếu CB tuyển sinh nhập mã số giảng viên khác thì quay lại luồng Xoá hoặc Sửa.  Nếu CB tuyển sinh chọn Huỷ, ca sử dụng kết thúc. c. Tiền điều kiện CB tuyển sinh phải đăng nhập thành công vào hệ thống. d. Hậu điều kiện Nếu ca sử dụng này được thực hiện thành công, thông tin về giảng viên sẽ được thêm vào, sửa đổi, hay xoá khỏi hệ thống. Trong các trường hợp khác, hệ thống ở trong trạng thái chưa thay đổi. 5. Ca sử dụng Duy trì thông tin sinh viên a. Mô tả tóm tắt Tên ca sử dụng: Duy trì thông tin sinh viên. Mục đích: Ca sử dụng này cho phép cán bộ tuyển sinh duy trì thông tin của Sinh viên trong hệ thống. Cán bộ tuyển sinh có thể thực hiện việc Thêm, Sửa, và Xoá thông tin sinh viên từ hệ thống. Tác nhân: CB tuyển sinh. b. Các luồng sự kiện  Luồng sự kiện chính: Ca sử dụng này bắt đầu khi CB tuyển sinh muốn thêm, sửa, hoặc xóa thông tin sinh viên từ hệ thống.  Hệ thống hiển thị các lựa chọn: - Thêm - Sửa - Xoá  Hệ thống yêu cầu CB tuyển sinh chọn công việc mà họ muốn thực hiện. - 15 -  Nếu CB tuyển sinh chọn “Thêm một sinh viên”, luồng sự kiện con Thêm một sinh viên sẽ được thực hiện.  Nếu CB tuyển sinh chọn “Sửa thông tin sinh viên”, luồng sự kiện con Sửa thông tin sinh viên sẽ được thực hiện.  Nếu CB tuyển sinh chọn “Xoá một sinh viên”, luồng sự kiện con Xoá một sinh viên sẽ được thực hiện.  Thêm một sinh viên  Hệ thống yêu cầu CB tuyển sinh nhập thông tin sinh viên, bao gôm: - Họ tên - Ngày sinh - Giới tính - Khoa - Khoá học - Ngành học - Số điện thoại - Email  CB tuyển sinh nhập thông tin được yêu cầu.  Hệ thống tạo ra mã số tự động (duy nhất) và gán cho sinh viên, trong đó mã số Sinh viên được qui định như sau: - Độ dài tối đa 10 kí tự - 2 kí tiếp theo qui định khoá Sinh viên đó nhập học - 2 kí tự tiếp theo qui định khoa quản lý Sinh viên đó - 3 kí tự tiếp theo qui định ngành học - 3 kí tự tiếp theo qui định số thứ tự của Sinh viên trong ngành học đó.  Sinh viên được thêm vào hệ thống.  Hệ thống cung cấp cho CB tuyển sinh mã số mới của sinh viên.  Sửa đổi thông tin sinh viên  Hệ thống yêu cầu CB tuyển sinh nhập mã số sinh viên.  CB tuyển sinh nhập vào mã số sinh viên.  Hệ thống kiểm tra mã số sinh viên vừa nhập có tồn tại hay không? Nếu không - 16 - tồn tại thì thực hiện luồng A1.  Hệ thống hiển thị thông tin về sinh viên có mã số vừa nhập.  CB tuyển sinh sửa những thông tin cần thiết về sinh viên và xác nhận việc sửa đổi.  Hệ thống cập nhật những thay đổi vừa được thực hiện.  Xoá một sinh viên  Hệ thống yêu cầu CB tuyển sinh nhập mã số sinh viên.  CB tuyển sinh nhập vào mã số sinh viên.  Hệ thống kiểm tra mã số sinh viên vừa nhập có tồn tại hay không? Nếu không tồn tại thì thực hiện luồng A1.  Hệ thống hiển thị thông tin về sinh viên có mã số vừa nhập.  Hệ thống nhắc CB tuyển sinh xác nhận việc xoá sinh viên.  CB tuyển sinh xác nhận việc xoá.  Sinh viên đó sẽ bị xoá khỏi hệ thống.  Các luồng rẽ nhánh  Luồng A1: Nhập mã số sinh viên không tồn tại.  Hệ thống thông báo lỗi.  Hệ thống yêu cầu CB tuyển sinh nhập vào một mã số sinh viên khác hoặc huỷ bỏ thao tác xoá hoặc sửa.  Nếu CB tuyển sinh nhập mã số Sinh viên khác thì quay lại luồng Xoá hoặc Sửa.  Nếu CB tuyển sinh chọn Huỷ, ca sử dụng kết thúc. c. Tiền điều kiện CB tuyển sinh phải đăng nhập thành công vào hệ thống. d. Hậu điều kiện Nếu ca sử dụng này được thực hiện thành công, thông tin về sinh viên sẽ được thêm vào, sửa đổi, hay xoá khỏi hệ thống. Trong các trường hợp khác, hệ thống ở trong trạng thái chưa thay đổi. 6. Ca sử dụng Duy trì thông tin môn học a. Mô tả tóm tắt - 17 - Tên ca sử dụng: Duy trì thông tin môn học. Mục đích: Ca sử dụng này cho phép cán bộ tuyển sinh duy trì thông tin các môn học trong hệ thống. Cán bộ tuyển sinh có thể thực hiện việc Thêm, Sửa, và Xoá thông tin môn học từ hệ thống. Tác nhân: CB tuyển sinh. b. Các luồng sự kiện  Luồng sự kiện chính: Ca sử dụng này bắt đầu khi CB tuyển sinh muốn thêm, sửa, hoặc xóa thông tin môn học từ hệ thống.  Hệ thống hiển thị các lựa chọn: - Thêm - Sửa - Xoá  Hệ thống yêu cầu CB tuyển sinh chọn công việc mà họ muốn thực hiện. - Nếu CB tuyển sinh chọn “Thêm một môn học”, luồng sự kiện con Thêm một môn học sẽ được thực hiện. - Nếu CB tuyển sinh chọn “Sửa thông tin môn học”, luồng sự kiện con Sửa thông tin môn học sẽ được thực hiện. - Nếu CB tuyển sinh chọn “Xoá một môn học”, luồng sự kiện con Xoá một môn học sẽ được thực hiện.  Thêm một môn học  Hệ thống yêu cầu CB tuyển sinh nhập thông tin môn học, bao gôm: - Tên môn học - Thuộc chuyên ngành - Thuộc nhóm ngành - Số tín chỉ - Loại môn học (tự chọn hay bắt buộc)  CB tuyển sinh nhập thông tin được yêu cầu.  Hệ thống tạo ra mã số tự động (duy nhất) và gán cho môn học đó.  Môn học được thêm vào hệ thống.  Hệ thống cung cấp cho CB tuyển sinh mã số của môn học.  Sửa đổi thông tin môn học - 18 -  Hệ thống yêu cầu CB tuyển sinh nhập mã số môn học.  CB tuyển sinh nhập vào mã số môn học.  Hệ thống kiểm tra mã số môn học vừa nhập có tồn tại hay không? Nếu không tồn tại thì thực hiện luồng A1.  Hệ thống hiển thị thông tin về môn học có mã số vừa nhập.  CB tuyển sinh sửa những thông tin cần thiết về môn học và xác nhận việc sửa đổi.  Hệ thống cập nhật những thay đổi vừa được thực hiện.  Xoá một môn học  Hệ thống yêu cầu CB tuyển sinh nhập mã số môn học.  CB tuyển sinh nhập vào mã số môn học.  Hệ thống kiểm tra mã số môn học vừa nhập có tồn tại hay không? Nếu không tồn tại thì thực hiện luồng A1.  Hệ thống hiển thị thông tin về môn học có mã số vừa nhập.  Hệ thống nhắc CB tuyển sinh xác nhận việc xoá môn học.  CB tuyển sinh xác nhận việc xoá.  Môn học đó sẽ bị xoá khỏi hệ thống.  Các luồng rẽ nhánh:  Luồng A1: Nhập mã số môn học không tồn tại.  Hệ thống thông báo lỗi.  Hệ thống yêu cầu CB tuyển sinh nhập vào một mã số môn học khác hoặc huỷ bỏ thao tác xoá hoặc sửa.  Nếu CB tuyển sinh nhập mã số môn học khác thì quay lại luồng Xoá hoặc Sửa.  Nếu CB tuyển sinh chọn Huỷ, ca sử dụng kết thúc. c. Tiền điều kiện CB tuyển sinh phải đăng nhập thành công vào hệ thống. d. Hậu điều kiện Nếu ca sử dụng này được thực hiện thành công, thông tin về môn học sẽ được thêm vào, sửa đổi, hay xoá khỏi hệ thống. Trong các trường hợp khác, hệ thống ở - 19 - trong trạng thái chưa thay đổi. 7. Ca sử dụng Lập bản giới thiệu các môn học a. Mô tả tóm tắt Tên ca sử dụng: Lập bản giới thiệu các môn học. Mục đích: Ca sử dụng này cho phép cán bộ tuyển sinh lập bản giới thiệu các môn học có trong học kì để sinh viên có căn cứ lựa chọn. Thông tin về mỗi môn học bao gồm: tên môn học, thời gian học, số tín chỉ, thời lượng học, giáo viên giảng dạy, điều kiện tiên quyết, nội dung môn học, số lượng sinh viên tối đa. Tác nhân: CB tuyển sinh. b. Các luồng sự kiện  Luồng sự kiện chính: Ca sử dụng này bắt đầu khi CB tuyển sinh muốn thêm, sửa, hoặc xóa thông tin liên quan đến môn học (như thời gian học, thời lượng học, số lượng sinh viên tối đa, nội dung môn học, tài liệu tham khảo, điều kiện tiên quyết của mỗi môn học).  Hệ thống hiển thị các lựa chọn: - Thêm - Sửa - Xoá  Hệ thống yêu cầu CB tuyển sinh chọn công việc mà họ muốn thực hiện: - Nếu CB tuyển sinh chọn “Thêm thông tin chi tiết cho mỗi môn học”, luồng sự kiện con Thêm sẽ được thực hiện. - Nếu CB tuyển sinh chọn “Sửa thông tin chi tiết cho mỗi môn học”, luồng sự kiện con Sửa sẽ được thực hiện. - Nếu CB tuyển sinh chọn “Xoá thông tin chi tiết của mỗi môn học”, luồng sự kiện con Xoá sẽ được thực hiện.  Thêm thông tin chi tiết cho mỗi môn học  Hệ thống yêu cầu CB tuyển sinh nhập mã số môn học.  CB tuyển sinh nhập mã môn học cần thêm thông tin. Nếu mã số môn học không tồn tại, thực hiện luồng A1.  Hệ thống hiển thị các thông tin về môn học như tên môn học, số tín chỉ, giáo - 20 - viên giảng dạy, điều kiện tiên quyết.  CB tuyển sinh chỉ có thể thêm, sửa, hoặc xoá các thông tin như: thời gian học, thời lượng học, số lượng sinh viên tối đa, nội dung môn học, tài liệu tham khảo, điều kiện tiên quyết.  CB tuyển sinh nhập thông liên quan cho mỗi môn học.  Thông tin chi tiết về môn học được thêm vào hệ thống.  Sửa đổi thông tin chi tiết cho mỗi môn học  Hệ thống yêu cầu CB tuyển sinh nhập mã số môn học.  CB tuyển sinh nhập vào mã số môn học. Nếu mã số môn học không tồn tại, thực hiện luồng A1.  Hệ thống hiển thị thông tin về môn học có mã số vừa nhập.  CB tuyển sinh được phép sửa những thông tin chi tiết như: thời gian học, thời lượng học, số lượng sinh viên tối đa, nội dung môn học, tài liệu tham khảo, điều kiện tiên quyết và xác nhận việc sửa đổi.  Hệ thống cập nhật những thay đổi vừa được thực hiện.  Xoá thông tin chi tiết của mỗi môn học  Hệ thống yêu cầu CB tuyển sinh nhập mã số môn học.  CB tuyển sinh nhập vào mã số môn học. Nếu mã số môn học không tồn tại, thực hiện luồng A1.  Hệ thống hiển thị thông tin chi tiết về môn học có mã số vừa nhập.  CB tuyển sinh được phép xoá những thông tin như: thời gian học, thời lượng học, số lượng sinh viên tối đa, nội dung môn học, tài liệu tham khảo, điều kiện tiên quyết.  CB tuyển sinh xác nhận việc xoá.  Thông tin chi tiết về môn học đó sẽ bị xoá khỏi hệ thống.  Các luồng rẽ nhánh  Luồng A1: Nhập mã số môn học không tồn tại.  Hệ thống thông báo lỗi.  Hệ thống yêu cầu CB tuyển sinh nhập vào một mã số môn học khác hoặc huỷ bỏ thao tác thêm, xoá hoặc sửa. - 21 -  Nếu CB tuyển sinh nhập mã số môn học khác thì quay lại luồng Thêm, Xoá hoặc Sửa.  Nếu CB tuyển sinh chọn Huỷ, ca sử dụng kết thúc. c. Tiền điều kiện CB tuyển sinh phải đăng nhập thành công vào hệ thống. d. Hậu điều kiện Nếu ca sử dụng này được thực hiện thành công, thông tin chi tiết về môn học sẽ được thêm vào, sửa đổi, hay xoá khỏi hệ thống. Trong các trường hợp khác, hệ thống ở trong trạng thái chưa thay đổi. V. Tìm lớp 1. Xác định các lớp dựa vào các khái niệm của lĩnh vực ứng dụng Dựa vào các khái niệm của lĩnh vực ứng dụng và dựa văn bản mô tả bài toán, ta xác định được các lớp thực thể như sau: - Lớp Tài khoản (TaiKhoan) gồm có các thông tin sau:  Tài khoản đăng nhập (taiKhoanDN)  Mật khẩu (matKhau) - Lớp Giảng viên (GiangVien) gồm có các thông tin:  Mã giảng viên (maGV): Là tổ hợp giá trị của các thuộc tính sau: maKhoa, maNganh, maNN, stt_GV.  Họ tên giảng viên (tenGv)  Ngày sinh (ngaySinh)  Giới tính (gioiTinh)  Số điện thoại (soDT)  Email (email) - Lớp Sinh viên (SinhVien) gồm có các thông tin sau:  Mã sinh viên (maSV): Là tổ hợp giá trị của các thuộc tính sau: maKhoaHoc, maKhoa, maNganh, stt_SV.  Họ tên sinh viên (tenSV)  Ngày sinh (ngaySinh)  Giới tính (gioiTinh) - 22 -  Số điện thoại (soDT)  Email (email) - Lớp Môn học (MonHoc) gồm có các thông tin sau:  Mã môn học (maMH)  Tên môn học (tenMH)  Số tín chỉ (soTC)  Loại môn học (loaiMH)  Học kỳ (hocKy) - Lớp Lớp giảng (LopGiang) gồm có các thông tin sau:  Mã lớp (maLop): ghi mã lớp học.  Lịch (lich): ghi ngày học, thời gian học, thời lượng học.  Địa điểm (diaDiem): ghi địa điểm học. - Lớp Khoa gồm có các thông tin sau:  Mã khoa (maKhoa)  Tên khoa (tenKhoa) - Lớp Ngành (Nganh) gồm có các thông tin sau:  Mã ngành (maNganh)  Tên ngành (tenNganh) - Lớp Nhóm ngành (NhomNganh) gồm có các thông tin sau:  Mã nhóm ngành (maNN)  Tên nhóm ngành (tenNN)  Gán trách nhiệm cho các lớp vừa tìm được  Lớp Giảng viên (GiangVien) Giảng viên là người đăng ký các lớp giảng để giảng dạy trước khi kì học bắt đầu. Cung cấp các thông tin cần thiết để đăng kí các môn giảng dạy. Cung cấp thông tin cho CB tuyển sinh để quản lý thông tin giảng viên.  Lớp Sinh viên (SinhVien) Sinh viên là người được đăng ký theo học các lớp giảng trước khi kì học bắt đầu. Cung cấp các thông tin cần thiết để đăng kí các môn học và tính học phí. - 23 - Cung cấp thông tin cho CB tuyển sinh để quản lý thông tin Sinh viên.  Lớp Môn học (MonHoc) Cung cấp thông tin về các môn học để Sinh viên và Giảng viên đăng kí Cung cấp thông tin cho CB tuyển sinh để quản lý thông tin môn học và để lập bản giới thiệu cho các môn học.  Lớp Lớp giảng (LopGiang) Cung cấp các thông tin về các lớp giảng để Giảng viên và Sinh viên đăng kí.  Lớp Tài khoản (TaiKhoan) Chứa thông tin tài khoản đăng nhập của người sử dụng. 2. Xác định các lớp tham gia vào các ca sử dụng Dựa vào văn bản mô tả bài toán và dựa vào văn bản đặc tả các ca sử dụng, ta xác định các lớp tham gia vào các ca sử dụng như sau: a. Ca sử dụng Đăng nhập hệ thống  Các lớp biên gồm:  Lớp W_NSD: Là giao diện chính giao tiếp với tác nhân Sinh viên, Giảng viên, CB tuyển sinh và hệ thống.  Lớp điều khiển: C_NSD.  Lớp thực thể: TaiKhoan b. Ca sử dụng Đăng kí môn học  Các lớp biên gồm:  Lớp W_SVDKi: Là giao diện chính giao tiếp với tác nhân Sinh viên và hệ thống.  Lớp W_SV_Them/Xoa: Là giao diện phụ tương ứng với việc thêm/xoá một môn học.  Lớp W_SV_Xem/In: Là giao diện phụ tương ứng với việc Xem/In lịch môn học.  Lớp điều khiển: C_SV.  Lớp thực thể: SinhVien, LopGiang, MonHoc  Gán trách nhiệm cho các lớp vừa tìm được Các lớp biên: Nhằm chuyển đổi thông tin giao tiếp giữa Sinh viên và hệ thống. - 24 - Lớp điều khiển: chứa các qui tắc nghiệp vụ và đứng trung gian giữa các lớp biên và các lớp thực thể. Cho phép từ màn hình có thể truy xuất được các thông tin chứa đựng trong các thực thể. Các lớp thực thể: lớp MonHoc, LopGiang và lớp SinhVien đã được mô tả như trên. c. Ca sử dụng Chọn môn học để giảng dạy  Các lớp biên gồm:  Lớp W_GV: Là giao diện chính giao tiếp với tác nhân giảng viên và hệ thống.  Lớp W_GV_Them/Xoa: Là giao diện phụ tương ứng với việc thêm/xoá một môn học.  Lớp W_GV_Xem/In: Là giao diện phụ tương ứng với việc Xem/In lịch môn học.  Lớp điều khiển: C_GV  Lớp thực thể: GiangVien, LopGiang, MonHoc.  Gán trách nhiệm cho các lớp vừa tìm được Các lớp biên: Nhằm chuyển đổi thông tin giao tiếp giữa Giảng viên và hệ thống. Lớp điều khiển: chứa các qui tắc nghiệp vụ và đứng trung gian giữa các lớp biên và các lớp thực thể. Cho phép từ màn hình có thể truy xuất được các thông tin chứa đựng trong các thực thể. Các lớp thực thể: lớp MonHoc, LopGiang, GiangVien. d. Ca sử dụng Duy trì thông tin giảng viên.  Các lớp biên gồm:  Lớp W_CBTS: Là giao diện chính giao tiếp với tác nhân CB tuyển sinh và hệ thống.  Lớp W_CBTS_Them/Xoa: Là giao diện phụ tương ứng với việc thêm/xoá một giảng viên.  Lớp W_CBTS_Sua: Là giao diện phụ tương ứng với việc sửa thông tin giảng viên.  Lớp điều khiển: C_CBTS. - 25 -  Lớp thực thể: Khoa, NhomNganh, GiangVien.  Gán trách nhiệm cho các lớp vừa tìm được Các lớp biên: Nhằm chuyển đổi thông tin giao tiếp giữa CB tuyển sinh và hệ thống. Lớp điều khiển: chứa các qui tắc nghiệp vụ và đứng trung gian giữa các lớp biên và các lớp thực thể. Cho phép từ màn hình có thể truy xuất được các thông tin chứa đựng trong thực thể giảng viên. Các lớp thực thể: Lớp GiangVien cung cấp thông tin cho CB tuyển sinh để cập nhật thông tin cho giảng viên. e. Ca sử dụng Duy trì thông tin sinh viên.  Các lớp biên gồm:  Lớp W_CBTS: Là giao diện chính giao tiếp với tác nhân CB tuyển sinh và hệ thống.  Lớp W_CBTS_Them/Xoa: Là giao diện phụ tương ứng với việc thêm/xoá một sinh viên.  Lớp W_CBTS_Sua: Là giao diện phụ tương ứng với việc sửa thông tin sinh viên.  Lớp điều khiển: C_CBTS.  Lớp thực thể: Khoa, Nganh, SinhVien.  Gán trách nhiệm cho các lớp vừa tìm được Các lớp biên: Nhằm chuyển đổi thông tin giao tiếp giữa CB tuyển sinh và hệ thống. Lớp điều khiển: chứa các qui tắc nghiệp vụ và đứng trung gian giữa các lớp biên và các lớp thực thể. Cho phép từ màn hình có thể truy xuất được các thông tin chứa đựng trong thực thể sinh viên. Các lớp thực thể: Lớp SinhVien cung cấp thông tin cho CB tuyển sinh để cập nhật thông tin cho sinh viên. f. Ca sử dụng Duy trì thông tin môn học.  Các lớp biên gồm:  Lớp W_CBTS: Là giao diện chính giao tiếp với tác nhân CB tuyển sinh và hệ thống. - 26 -  Lớp W_CBTS_Them/Xoa: Là giao diện phụ tương ứng với việc thêm/xoá một môn học.  Lớp W_CBTS_Sua: Là giao diện phụ tương ứng với việc sửa thông tin môn học.  Lớp điều khiển: C_CBTS.  Lớp thực thể: Nganh, NhomNganh, MonHoc.  Gán trách nhiệm cho các lớp vừa tìm được Các lớp biên: Nhằm chuyển đổi thông tin giao tiếp giữa CB tuyển sinh và hệ thống. Lớp điều khiển: chứa các qui tắc nghiệp vụ và đứng trung gian giữa các lớp biên và các lớp thực thể. Cho phép từ màn hình có thể truy xuất được các thông tin chứa đựng trong thực thể sinh viên. Các lớp thực thể: Lớp MonHoc cung cấp thông tin cho CB tuyển sinh để cập nhật thông tin cho môn học.  Gán trách nhiệm cho các lớp vừa tìm được Các lớp biên: Nhằm chuyển đổi thông tin giao tiếp giữa NSD và hệ thống. Lớp điều khiển: chứa các qui tắc nghiệp vụ và đứng trung gian giữa các lớp biên và các lớp thực thể. Cho phép từ màn hình có thể truy xuất được các thông tin chứa đựng trong thực thể sinh viên. Các lớp thực thể: Lớp TaiKhoan chứa thông tin về tài khoản của NSD. VI. Xây dựng biểu đồ trình tự Dựa vào văn bản đặc tả các ca sử dụng và dựa vào việc phân tích để tìm ra các lớp (phần IV), ta xây dựng biểu đồ trình tự cho mỗi kịch bản của từng ca sử dụng như sau: - 27 - 1. Ca sử dụng Đăng nhập hệ thống Biểu đồ trình tự cho kịch bản đăng nhập : NSD : W_NSD : C_NSD : TaiKhoan dangNhap(tenDN, matKhau) y/c ®¨ ng nhËp kiemTra(tenDN, matKhau) kiemTra(tenDN, matKhau) kÕt qu¶ kÕt qu¶ hiÓn thÞ th«ng b¸o 2. Ca sử dụng Đăng kí môn học Với ca sử dụng Đăng kí môn học, ta xác định được các kịch bản chính như sau: - Thêm một môn học - Xoá một lớp giảng đã đăng kí học. - Xem lịch học. - In lịch học. - 28 - a. Biểu đồ trình tự cho kịch bản Thêm một môn học : Sinh_Vien : W_SVDKi : W_SV_Them/Xoa : C_SV : MonHoc : LopGiang y/c chon HK chon 1 HK y/c chän viÖc chän thªm lí p gi¶ng chän 1 lí p gi¶ng them(maSV, maLop ) them( maSV, maLop) chän thªm kiÓm tra ®¨ ng kÝ hiÓn thÞ kÕt qu¶ hiÓn thÞ c¸ c lí p gi¶ng kÕt qu¶ hiÓn thÞ c¸c lí p gi¶ng kÕt qu¶ chän 1 m«n häc Chän them hiÓn thÞ hiÓn thÞ y/c danh s¸ ch m«n häc kÕt qu¶ y/c danh s¸ ch m«n häc kÕt qu¶ - 29 - b. Biểu đồ trình tự cho kịch bản Xoá một lớp giảng đã đăng kí học : Sinh_Vien : W_SVDKi : W_SV_Them/Xoa : C_SV : LopGiang y/c chän häc k× chän 1 HK y/c chän c«ng viÖc chän xo¸ lí p gi¶ng xoa(maSV, maLop) xoa(maSV,maLop ) chän 1 lí p gi¶ng Chän xo¸ lí p gi¶ng hiÓn thÞ y/c hiÓn thÞ lí p gi¶ng kÕt qu¶ hiÓn thÞ y/c hiÓn thÞ lí p gi¶ng kÕt qu¶ - 30 - c. Biểu đồ trình tự cho kịch bản Xem lich học : Sinh_Vien : W_SVDKi : W_SV_Xem/In : C_SV : LopGiang y/c chän häc k× chän 1 HK y/c chän c«ng viÖc Chän xem lÞch hiÓn thÞ hiÓn thÞ c¸c lí p gi¶ng kÕt qu¶ hiÓn thÞ chän 1 lí p gi¶ng chän xem lÞch y/c xem lÞch kÕt qu¶ hiÓn thÞ lÞch hiÓn thÞ c¸c lí p gi¶ng kÕt qu¶ y/c xem lÞch kÕt qu¶ - 31 - d. Biểu đồ trình tự cho kịch bản In lich học : Sinh_Vien : W_SVDKi : W_SV_Xem/In : C_SV : LopGiang y/c chän häc k× chän 1 HK y/c chän c«ng viÖc chän in lÞch chän 1 lí p gi¶ng Chän in lich häc hienThi y/c hiÓn thÞ lí p gi¶ng kÕt qu¶ hiÓn thÞ kÕt qu¶ y/c hiÓn thÞ lí p gi¶ng kÕt qu¶ inLÞch() inLich() kÕt qu¶ kÕt qu¶ hiÓn thÞ 3. Ca sử dụng Chọn môn học để giảng dạy Với ca sử dụng Chọn môn học để giảng dạy, ta xác định được các kịch bản chính như sau: - Thêm một lớp giảng - Xoá một lớp giảng. - Xem lịch giảng dạy. - In lịch giảng dạy. - 32 - a. Biểu đồ trình tự cho kịch bản Thêm một lớp giảng : Giang_Vien : W_GV : W_GV_Them/Xoa : C_GV : MonHoc : LopGiang y/c chän häc k× chän 1 HK y/c chän c«ng viÖc chän thªm lí p gi¶ng them(maGv,maLop) them(maGV, maLop ) chän 1 lí p gi¶ng chän 1 m«n häc hiÓn thÞ y/c hiÓn thÞ c¸c l í p gi¶ng y/c hiÓn thÞ c¸c l í p gi¶ng kÕt qu¶ chän thªm l í p gi¶ng hiÓn thÞ hiÓn thÞ hiÓn thÞ DSMH kÕt qu¶ hiÓn thÞ DSMH kÕt qu¶ - 33 - b. Biểu đồ trình tự cho kịch bản Xoá một lớp giảng : Giang_Vien : W_GV : W_GV_Them/Xoa : C_GV : LopGiang y/c chän häc k× chän 1 HK y/c chän c«ng viÖc chän xo¸ lí p gi¶ng xoa(maGv,maLop) xoa(maGV,maLop ) chän 1 lí p gi¶ng chän xo¸ lí p gi¶ng hiÓn thÞ hiÓn thÞ y/c hiÓn thÞ lí p gi¶ng kÕt qu¶ y/c hiÓn thÞ lí p gi¶ng kÕt qu¶ - 34 - c. Biểu đồ trình tự cho kịch bản Xem lịch giảng : Giang_Vien : W_GV : W_GV_Xem/In : C_GV : LopGiang y/c chän häc k× chän 1 HK y/c chän c«ng viÖc chän xem lÞch hiÓn thÞ chän 1 lí p gi¶ng chän xem lÞch y/c xem lÞch y/c hiÓn thÞ lí p gi¶ng kÕt qu¶ hiÓn thÞ y/c hiÓn thÞ lí p gi¶ng kÕt qu¶ kÕt qu¶ hiÓn thÞ y/c xem lÞch kÕt qu¶ - 35 - d. Biểu đồ trình tự cho kịch bản In lịch giảng : Giang_Vien : W_GV : W_GV_Xem/In : C_GV : LopGiang y/c chän häc k× chän 1 HK y/c chän c«ng viÖc chän in lÞch hienThi() inLich() kÕt qu¶ inLich( ) kÕt qu¶ chän 1 lí p gi¶ng chän in lÞch hiÓn thÞ y/c hiÓn thÞ lí p gi¶ng kÕt qu¶ hiÓn thÞ y/c hiÓn thÞ lí p gi¶ng kÕt qu¶ - 36 - 4. Ca sử dụng Duy trì thông tin giảng viên Với ca sử dụng Duy trì thông tin giảng viên, ta xác định được các kịch bản chính như sau: - Thêm một giảng viên - Xoá một giảng viên. - Sửa thông tin giảng viên. a. Biểu đồ trình tự cho kịch bản Thêm một giảng viên : CBtuyensinh : W_CBTS : W_CBTS_Them/Xoa : C_CBTS : GiangVien y/c chän c«ng viÖc chän thªm gi¶ng viªn hiÓn thÞ nhËp TT gi¶ng viªn y/c t¹o m· Gv y/c t¹o m· Gv y/c t¹o m· Gv taoMaGV() kÕt qu¶ kÕt qu¶ hiÓn thÞ chän thªm 1 gi¶ng viªn them(maGv) them(maGV) - 37 - b. Biểu đồ trình tự cho kịch bản Xoá một giảng viên. : CBtuyensinh : W_CBTS : W_CBTS_Them/Xoa : C_CBTS : GiangVien y/c chän c«ng viÖc chän xo¸ GV hiÓn thÞ nhËp m· GV kiemTra(maGV) hiÓn thÞ TTGV y/c nhËp m· GV hiÓn thÞ TTGV kÕt qu¶ kÕt qu¶ hiÓn thÞ chän xoa(maGv) xoa(maGv) xoa(maGV) - 38 - c. Biểu đồ trình tự cho kịch bản Sửa thông tin giảng viên. : CBtuyensinh : W_CBTS : W_CBTS_Sua : C_CBTS : GiangVien y/c chän c«ng viÖc chän suaTT(maGV) hiÓn thÞ suaTT(maGV) kÕt qu¶ suaTT(maGV) kÕt qu¶ nhËp m· GV y/c hiÓn thÞ TTGV y/c hiÓn thÞ TTGV kÕt qu¶ kÕt qu¶ hiÓn thÞ kiemTra(maGV) chän söa TTGV hiÓn thÞ y/c nhËp m· GV - 39 - 5. Ca sử dụng Duy trì thông tin Sinh viên Với ca sử dụng Duy trì thông tin Sinh viên, ta xác định được các kịch bản chính như sau: - Thêm một Sinh viên - Xoá một Sinh viên. - Sửa thông tin Sinh viên. a. Biểu đồ trình tự cho kịch bản Thêm một Sinh viên : CBtuyensinh : W_CBTS : W_CBTS_Them/Xoa : C_CBTS : SinhVien y/c chän c«ng viÖc chän thªm SV hiÓn thÞ nhËp TTSV y/c t¹o m· Sv hiÓn thÞ y/c t¹o m· SV y/c t¹o m· SV taoMaSV( ) kÕt qu¶ kÕt qu¶ them(maSv) them(maSv) - 40 - b. Biểu đồ trình tự cho kịch bản Xoá một Sinh viên : CBtuyensinh : W_CBTS : W_CBTS_Them/Xoa : C_CBTS : SinhVien y/c chän c«ng viÖc chän xo¸ sinh viªn hiÓn thÞ nhËp m· sinh viªn kiemTra(maSV) y/c nhËp m· SV chän xoa(maSv) hiÓn thÞ TTSV xoa(maSv) hiÓn thÞ TTSV kÕt qu¶ kÕt qu¶ hiÓn thÞ xoa(maSv) - 41 - c. Biểu đồ trình tự cho kịch bản Sửa thông tin Sinh viên : CBtuyensinh : W_CBTS : W_CBTS_Sua : C_CBTS : SinhVien y/c chän c«ng viÖc chän söa TTSV hiÓn thÞ y/c nhËp m· SV nhËp m· SV kiemTra(maSV) chän suaTT(maSv) hiÓn thÞ TTSV suaTT(maSv) hiÓn thÞ TTSV kÕt qu¶ kÕt qu¶ hiÓn thÞ suaTT(maSv) kÕt qu¶ kÕt qu¶ hiÓn thÞ - 42 - 6. Ca sử dụng Duy trì thông tin môn học Với ca sử dụng Duy trì thông tin môn học, ta xác định được các kịch bản chính như sau: - Thêm một môn học - Xoá một môn học - Sửa thông tin môn học a. Biểu đồ trình tự cho kịch bản Thêm một môn học : CBtuyensinh : W_CBTS : W_CBTS_Them/Xoa : C_CBTS : MonHoc y/c chän c«ng viÖc chän thªm MH hiÓn thÞ nhËp TT m«n häc chän thªm 1 m«n häc them(maMH) hiÓn thÞ y/c t¹o m· MH them(maMH) y/c t¹o m· MH y/c t¹o m· MH taoMaMH() kÕt qu¶ kÕt qu¶ - 43 - b. Biểu đồ trình tự cho kịch bản Xoá một môn học : CBtuyensinh : W_CBTS : W_CBTS_Them/Xoa : C_CBTS : MonHoc y/c chän c«ng viÖc chän xo¸ m«n häc hiÓn thÞ y/c nhËp m· MH nhËp m· m«n häc kiemTra(maMH) hiÓn thÞ TTMH hiÓn thÞ TTMH kÕt qu¶ kÕt qu¶ hiÓn thÞ chän xoa(maMH) xoa(maMH) xoa(maMH) - 44 - c. Biểu đồ trình tự cho kịch bản Sửa thông tin môn học : CBtuyensinh : W_CBTS : W_CBTS_Sua : C_CBTS : MonHoc y/c chän c«ng viÖc chän söa TTMH hiÓn thÞ y/c nhËp m· MH nhËp m· MH kiemTra(maMH) hiÓn thÞ TTMH hiÓn thÞ TTMH kÕt qu¶ kÕt qu¶ hiÓn thÞ chän suaTT(maMH) suaTT(maMH) suaTT(maMH) kÕt qu¶ kÕt qu¶ hiÓn thÞ VII. Vẽ biểu đồ lớp Căn cứ vào biểu đồ trình tự và các lớp tìm được ở phần IV, ta xây dựng biểu đồ lớp cho từng ca sử dụng như sau: - 45 - 1. Biểu đồ lớp cho ca sử dụng Đăng kí môn học 0..40 W_SVDKi hocKy themMonHoc() xoaLopGiang() xemLich() inLich() W_SV_Xem/In hienThi() chonLopGiang() xemLich() inLich() 1 1 W_SV_Them/Xoa hienThi() chonMon() kiemTraDK() themMonHoc() chonLopGiang() themLopGiang() xoaLopGiang() 1 1 C_SV hienThi() them() xoa() xemLich() inLich() 1 1 1 1 MonHoc maMH : String tenMH : String soTC : Integer loaiMH : String hocKy : String getMaMH() setmaMH() gettenMH() settenMH() getsoTC() setsoTC() getloaiMH() setloaiMH() gethocKy() sethocKy() taoMaMH() them() xoa() suaTT() hienThi() LopGiang maLop : String lich : String diaDiem : String getmaLop() setmaLop() getLich() setLich() getdiaDiem() setdiaDiem() hienThi() them() xoa() xemLich() inLich() 1..* 1 SinhVien maSV : Struct tenSV : String ngaySinh : Date gioiTinh : String soDT : Integer email : String getmaSV() setmaSV() gettenSV() settenSV() getngaySinh() setngaySinh() getgioiTinh() setgioiTinh() getsoDT() setsoDT() getemail() setemail() taoMaSV() them() xoa() suaTT() hienThi() 0..8 - 46 - 2. Biểu đồ lớp cho ca sử dụng Chọn môn học để giảng dạy W_GV maLop lich themLopGiang() xoaLopGiang() xemLich() inLich() W_GV_Them/Xoa maMon maLop hienthi() chonmon() themLopGiang() 1 1 W_GV_Xem/In maLop lich hienThi() chonLopGiang() xemLich() inLich() 1 1 C_GV hienthi() them() xoa() xemlich() inlich() 1 1 1 1 MonHoc maMH : String tenMH : String soTC : Integer loaiMH : String hocKy : String getMaMH() setmaMH() gettenMH() settenMH() getsoTC() setsoTC() getloaiMH() setloaiMH() gethocKy() sethocKy() taoMaMH() them() xoa() suaTT() hienThi() LopGiang maLop : String lich : String diaDiem : String getmaLop() setmaLop() getLich() setLich() getdiaDiem() setdiaDiem() hienThi() them() xoa() xemLich() inLich() 1..* 1 GiangVien maGV : Struct tenGV : String ngaySinh : Date gioiTinh : String soDT : Integer email : String getmaGV() setmaGV() gettenGV() settenGV() getngaySinh() setngaySinh() getgioiTinh() setgioiTinh() getsoDT() setsoDT() getemail() setemail() taoMaGV() them() xoa() suaTT() hienThi() 0..1 0..4 - 47 - 3. Biểu đồ lớp cho ca sử dụng Duy trì thông tin giảng viên W_CBTS maGV maSV maMH them() xoa() suaTT() W_CBTS_Them/Xoa maGV maSV maMH hienThi() kiemTra() them() xoa() 1 1 W_CBTS_Sua maGV hienThi() kiemTra() suaTT() 1 1 C_CBTS hienThi() kiemTra() them() xoa() suaTT() 1 1 1 1 GiangVien maGV : Struct tenGV : String ngaySinh : Date gioiTinh : String soDT : Integer email : String getmaGV() setmaGV() gettenGV() settenGV() getngaySinh() setngaySinh() getgioiTinh() setgioiTinh() getsoDT() setsoDT() getemail() setemail() taoMaGV() them() xoa() suaTT() hienThi() 11 - 48 - 4. Biểu đồ lớp cho ca sử dụng Duy trì thông tin Sinh viên W_CBTS_Them/Xoa maGV maSV maMH hienThi() kiemTra() them() xoa() W_CBTS_Sua maGV hienThi() kiemTra() suaTT() W_CBTS maGV maSV maMH them() xoa() suaTT() 1 1 1 1 C_CBTS hienThi() kiemTra() them() xoa() suaTT() 11 SinhVien maSV : Struct tenSV : String ngaySinh : Date gioiTinh : String soDT : Integer email : String getmaSV() setmaSV() gettenSV() settenSV() getngaySinh() setngaySinh() getgioiTinh() setgioiTinh() getsoDT() setsoDT() getemail() setemail() taoMaSV() them() xoa() suaTT() hienThi() 11 - 49 - 5. Biểu đồ lớp cho ca sử dụng Duy trì thông tin môn học MonHoc maMH : String tenMH : String soTC : Integer loaiMH : String hocKy : String getMaMH() setmaMH() gettenMH() settenMH() getsoTC() setsoTC() getloaiMH() setloaiMH() gethocKy() sethocKy() taoMaMH() them() xoa() suaTT() hienThi() W_CBTS_Sua maGV hienThi() kiemTra() suaTT() W_CBTS maGV maSV maMH them() xoa() suaTT() 1 1 C_CBTS hienThi() kiemTra() them() xoa() suaTT() 11 1 1 W_CBTS_Them/Xoa maGV maSV maMH hienThi() kiemTra() them() xoa() 1 1 1 1 - 50 - 6. Các lớp chính của hệ thống đăng kí môn học TaiKhoan taiKhoanDN : String matKhau : String taoTaiKhoan() kiemTra(tenDN : String, matKhau : String) gettenDN() settenDN() getmatKhau() setmatKhau() Khoa maKhoa : String tenKhoa : String getmaKhoa() setmaKhoa() gettenKhoa() settenKhoa() NhomNganh maNN : String tenNN : String getmaNN() setmaNN() gettenNN() settenNN() Nganh maNganh : String tenNganh : String getmaNganh() setmaNganh() gettenNganh() settenNganh() MonHoc maMH : String tenMH : String soTC : Integer loaiMH : String hocKy : String getMaMH() setmaMH() gettenMH() settenMH() getsoTC() setsoTC() getloaiMH() setloaiMH() gethocKy() sethocKy() taoMaMH() them() xoa() suaTT() hienThi() 1 * 1..* * SinhVien maSV : Struct tenSV : String ngaySinh : Date gioiTinh : String soDT : Integer email : String getmaSV() setmaSV() gettenSV() settenSV() getngaySinh() setngaySinh() getgioiTinh() setgioiTinh() getsoDT() setsoDT() getemail() setemail() taoMaSV() them() xoa() suaTT() hienThi() 1 *1 * GiangVien maGV : Struct tenGV : String ngaySinh : Date gioiTinh : String soDT : Integer email : String getmaGV() setmaGV() gettenGV() settenGV() getngaySinh() setngaySinh() getgioiTinh() setgioiTinh() getsoDT() setsoDT() getemail() setemail() taoMaGV() them() xoa() suaTT() hienThi() 1 * 1* LopGiang maLop : String l ich : String diaDiem : String getmaLop() setmaLop() getLich() setLich() getdiaDiem() setdiaDiem() hienThi() them() xoa() xemLich() inLich() 1..* 1 0..8 0..40 0..4 0..1 - 51 - VIII. Xây dựng biểu đồ thành phần Biểu đồ thành phần mô tả các thành phần của hệ thống và mối quan hệ phụ thuộc giữa chúng. Giữa các thành phần chỉ có một mối quan hệ phụ thuộc được biểu diễn bằng mũi tên đứt nét. 1. Biểu đồ thành phần cho ca sử dụng Chọn môn học để giảng dạy Server_GV.Jar Interface_GV.Jar W_GV .Class W_GV_Them/Xoa. Class W_GV_Xem/ In.Class MonHoc. Class LopGiang. Class GiangVien .ClassGVDK.Class C_GV. Class Với ca sử dụng Chọn môn học để giảng dạy có 2 thành phần chính là: Interface_GV.Jar và Server_GV.Jar. Trong 2 thành phần này lại chứa các thành phần khác. Chiều mũi tên thể hiện sự phụ thuộc giữa các thành phần. Ví dụ: Thành phần MonHoc phụ thuộc vào thành phần LopGiang, thành phần LopGiang sẽ được biên dịch trước thành phần MonHoc. Sau khi xây dựng các thành phần, ta cần ánh xạ các lớp vào các thành phần tương ứng. - 52 - 2. Biểu đồ thành phần cho ca sử dụng Đăng kí môn học Interface_SV.Jar W_SVDKi .Class W_SV_Them/ Xoa.Class W_SV_Xem /In.Class Server_SV.Jar C_SV.Class LopGiang. Class MonHoc. Class SVDK.Class SinhVien. Class 3. Biểu đồ thành phần cho các ca sử dụng Duy trì thông tin giảng viên, sinh viên và môn học. Interface_CBTS.Jar W_CBT S.Class W_CBTS_Them /Xoa.ClassW_CBTS_Sua.Class Sever_CBTS.Jar MonHoc. Class SinhVien. Class GiangVien .Class C_CBTS.Class - 53 - IX. Biểu đồ triển khai của hệ thống Đăng kí môn học theo tín chỉ Client_GV Inteface_GV.Jar Server Application Sever_GV.Jar Server_CBTS.Jar Server_SV.Jar Database Server > > Client_SV Interface_SV.Jar Client_CBTS InterfaceCBTS.Jar > > X. Thiết kế cơ sở dữ liệu Các đối tượng thực thể là các đối tượng cần phải lưu trữ lâu dài trên bộ nhớ. Trong hệ thống Đăng kí môn học theo tín chỉ, qua phân tích, thiết kế ta tìm được các lớp thực thể như biểu đồ lớp (VI.6). Ở đây, chúng tôi lựa chọn hệ quản trị cơ sở dữ liệu quan hệ để lưu trữ dữ liệu 1. Ánh xạ các lớp sang bảng Mỗi lớp thực thể sẽ tương ứng với một bảng. 2. Ánh xạ các liên kết  Liên kết 1- 1: Đưa khoá chính của 1 bảng vào bảng kia để nó trở thành khoá ngoài.  Liên kết 1 – n: Đưa khoá chính của bảng bên 1 vào bảng bên nhiều để nó trở thành khoá ngoài.  Giữa bảng SinhVien và bảng Khoa: đưa khoá chính (maKhoa) của bảng Khoa vào bảng SinhVien.  Giữa bảng GiangVien và bảng Khoa: đưa khoá chính (maKhoa) của - 54 - bảng Khoa vào bảng GiangVien.  Giữa bảng GiangVien và bảng NhomNganh: đưa khoá chính (maNN) của bảng NhomNganh vào bảng GiangVien.  Giữa bảng SinhVien và bảng Nganh: đưa khoá chính (maNganh) của bảng Nganh vào bảng SinhVien.  Giữa bảng MonHoc và bảng NhomNganh: đưa khoá chính (maNN) của bảng NhomNganh vào bảng MonHoc.  Giữa bảng LopGiang và bảng MonHoc: đưa khoá chính (maMH) của bảng MonHoc vào bảng LopGiang .  Liên kết n – n: Tạo ra một bảng kết nối, khoá chính của bảng kết nối là khoá bội hợp từ 2 khoá chính của 2 bảng.  Ta thấy giữa lớp MonHoc và Nganh có liên kết n –n. Tạo ra một bảng kết nối MonHoc-Nganh. Đưa khoá chính của hai bảng trên vào bảng mới.  Giữa lớp SinhVien và LopGiang, lớp GiangVien với LopGiang có kiểu liên kết n-n, ta tạo ra một bảng liên kết chung DangKi  Với quan hệ kết nhập được mô hình hoá như một liên kết bình thường. 3. Ánh xạ mối liên quan khái quát hoá Dùng một khoá chung cho mọi bảng trong cùng một phả hệ kế thừa. 4. Cơ sở dữ liệu của hệ thống Đăng ký môn học theo tín chỉ Gồm các bảng sau: a. Bảng TaiKhoan Tên thuộc tính Kiểu dữ liệu Ghi chú maTaikhoan text Khoá chính tenDN text matKhau text b. Bảng SinhVien  Thuộc tính maSV là thuộc tính phức hợp (gồm: maKhoaHoc, maKhoa, maNganh, stt_SV) khi chuyển sang bảng sẽ được biểu diễn bởi các thuộc tính - 55 - đơn. Tên thuộc tính Kiểu dữ liệu Ghi chú maTaiKhoan text Khoá chính maKhoaHoc text maKhoa text maNganh text Stt_SV Int tenSV text ngaySinh date gioiTinh text soDT Int email text c. Bảng GiangVien  Thuộc tính maGV là thuộc tính phức hợp (gồm: maKhoa, maNN, stt_GV) khi chuyển sang bảng sẽ được biểu diễn bởi các thuộc tính đơn. Tên thuộc tính Kiểu dữ liệu Ghi chú maTaiKhoan text Khoá chính maKhoa text maNN text stt_GV Int tenGv text ngaySinh date gioiTinh text soDT Int email text d. Bảng MonHoc Tên thuộc tính Kiểu dữ liệu Ghi chú - 56 - maMH text Khoá chính maNN text tenMH text soTC Int loaiMH text hocKy text e. Bảng LopGiang Tên thuộc tính Kiểu dữ liệu Ghi chú maLop text Khoá chính maMH text lich text diaDiem text f. MonHoc-Nganh Tên thuộc tính Kiểu dữ liệu Ghi chú maMH text Khoá chính maNganh text Khoá chính g. Bảng DangKi Giữa bảng SinhVien và bảng LopGiang, bảng GiangVien voi bảng LopGiang có kiểu liên kết n-n ta tạo ra một bảng liên kết như sau: Tên thuộc tính Kiểu dữ liệu Ghi chú taiKhoanDN text Khoá chính maLop text Khoá chính h. Bảng Khoa Tên thuộc tính Kiểu dữ liệu Ghi chú maKhoa text Khoá chính - 57 - tenKhoa text i. Bảng Nganh Tên thuộc tính Kiểu dữ liệu Ghi chú maNganh text Khoá chính tenNganh text j. Bảng NhomNganh Tên thuộc tính Kiểu dữ liệu Ghi chú maNN text Khoá chính tenNN text XI. Thiết kế giao diện 1. Trang chủ - 58 - 2. Màn hình đăng nhập 3. Trang đăng ký hoc phần 4. Trang thống kê - 59 - TÀI LIỆU THAM KHẢO [1]. Nguyễn Thị Tĩnh, Bài giảng môn Phân tích và thiết kế hệ thống hướng đối tượng [2]. Đoàn Văn Ban, Phân tích thiết kế hướng đối tượng bằng UML, NXB Khoa học và Kỹ thuật, 2004 [3]. Đặng Văn Đức, Phân tích thiết kế hướng đối tượng bằng UML (Thực hành với Rational Rose), NXB Khoa học và Kỹ thuật, 2002 [4]. Dương Kiều Hoa - Tôn Thất Hoà An, Phân tích và thiết kế hệ thống thông tin với UML [5]. Dương Anh Đức, Bài giảng về ngôn ngữ UML [6]. Arthur - 60 -

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

  • pdfbai_tieu_luan_pttk_ht_uml_thang_lam_ha_trung_huyen__8225.pdf