TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ─────── ─────── BÀI TẬP LỚN MÔN : PHÂN TÍCH THIẾT KẾ HỆ THỐNG HƯỚNG ĐỐI TƯỢNG Gv hướng dẫn: TS Nguyễn Hữu Đức Nhóm 17 : MSSV Đỗ Văn Dương 20080546 Hoàng Đức Thọ 20082559 Trần Xuân Trường 20082854 Hoàng Thanh Tùng 20082997 ĐỀ TÀI : Quản lý đề tài tốt nghiệp trong trường đại học Bách Khoa Hà Nội Hà Nội, tháng 5 năm 2012 Mục lục Mục lục 2 I. Giới thiệu bài toán quản lý đề tài khóa luận sinh viên 4 1.1 Đặt vấn đề 4 1.2 Phát biểu bài toán 4 II. Phân tích thiết kế hệ thống 6 1. Phân tích chức năng hệ thống. 6 2. Các chức năng của hệ thống được mô tả qua các biểu đồ usecase : 7 3. Biểu đồ Usecase, đặc tả chi tiết và giao diện: 9 3.1 Chức năng chung : User. 9 3.2 Chức năng của giáo viên khi đăng nhập xong : 14 3.3 Chức năng của sinh viên sau khi đăng nhập: 26 3.4 Chức năng của QuanTri sau khi đăng nhập : 33 4. Biểu đồ lớp lĩnh vực 40 5. Biểu đồ lớp cho usecase 42 a. Biểu đồ lớp cho usecase tìm kiếm. 42 b. Biểu đồ lớp cho usecase Xem sinh vien DK. 42 c. Biểu đồ lớp cho usecase DK_Đề Tài. 42 d. Biểu đồ lớp cho usecase QuanLyTaiKhoan 43 e. Biểu đồ lớp cho usecase XemDSDT. 43 f. Biểu đồ lớp cho usecase XemDSGV. 43 g. Biểu đồ lớp cho usecase XoaTaiKhoan 44 6. Biểu đồ tuần tự của hệ thống 45 a. Biểu đồ tuần tự cho usecase Tìm kiếm 45 b. Biểu đồ tuần tự cho usecase Xem thông tin cá nhân 45 c. Biểu đồ tuần tự cho usecase Đăng kí đề tài 46 d. Biểu đồ tuần tự cho usecase Xem DSDT 47 e. Biểu đồ tuần tự cho usecase Xem DSGV 48 f. Biểu đồ tuần tự cho usecase Xem Sinh viên đăng kí 49 g. Biểu đồ tuần tự cho usecase Quản lý tài khoản 50 h. Biểu đồ tuần tự cho usecase XacNhanDK 50 i. Biểu đồ tuần tự cho usecase Thêm đề tài 51 III. Kiến trúc hệ thống 52 1. Kiến trúc 52 1.1 Tầng Presentation 53 1.2 Tầng Business Logic 53 1.3 Tầng Data Access 54 1.4 Data Access Components 54 1.5 Service 54 2. Biểu đồ triển khai hệ thống 54 IV. Tài liệu tham khảo 55
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘIVIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
─────── * ───────
BÀI TẬP LỚN MÔN :PHÂN TÍCH THIẾT KẾ HỆ THỐNG HƯỚNG ĐỐI TƯỢNG
ĐỀ TÀI : Quản lý đề tài tốt nghiệp trong trường đại học Bách Khoa Hà Nội
Trang 2Hà Nội, tháng 5 năm 2012
Trang 3Mục lục
Mục lục 3
I Giới thiệu bài toán quản lý đề tài khóa luận sinh viên 4
1.1 Đặt vấn đề 4
1.2 Phát biểu bài toán 4
II Phân tích thiết kế hệ thống 6
1 Phân tích chức năng hệ thống 6
2 Các chức năng của hệ thống được mô tả qua các biểu đồ usecase : 7
3 Biểu đồ Usecase, đặc tả chi tiết và giao diện: 9
3.1 Chức năng chung : User 9
3.2 Chức năng của giáo viên khi đăng nhập xong : 14
3.3 Chức năng của sinh viên sau khi đăng nhập: 24
3.4 Chức năng của QuanTri sau khi đăng nhập : 30
4 Biểu đồ lớp lĩnh vực 36
5 Biểu đồ lớp cho usecase 38
6 Biểu đồ tuần tự của hệ thống 41
a Biểu đồ tuần tự cho usecase Tìm kiếm 41
b Biểu đồ tuần tự cho usecase Xem thông tin cá nhân 41
III Kiến trúc hệ thống 48
IV Tài liệu tham khảo 51
Trang 4I Giới thiệu bài toán quản lý đề tài khóa luận sinh viên
Từ hiện trạng đó, nhóm em đã đưa ra bài toán quản lý đề tài tốt nghiệpcho cả giáo viên và sinh viên, nhằm giúp tiết kiệm thời gian, công sức cho cảsinh viên và giảng viên
1.2 Phát biểu bài toán
Bài toán quản lý đề tài khóa luận tốt nghiệp của sinh viên được xây dựngtrên nền web nhằm đáp ứng được việc giao tiếp thông tin giữa sinh viên vàgiảng viên được nhanh và thuận tiện nhất
Mỗi sinh viên và giảng viên đều được cấp một tài khoản đăng nhập đểthuận tiện cho việc quản lý đề tài của mình Mỗi sinh viên có thể có một hoặcnhiều giảng viên đồng hướng dẫn thực hiện đề tài của mình Sinh viên có thể đềnghị được hướng dẫn bởi một giảng viên nếu giảng viên đó vẫn còn số ngườihướng dẫn Đối với giảng viên, có thể đưa ra đề tài để sinh viên tham khảo và
Trang 5nhận hướng dẫn Nếu giảng viên đã nhận đủ người để hướng dẫn thì không thểnhận thêm được nữa Tùy vào học vị của giảng viên mà số lượng sinh viên cóthể hướng dẫn sẽ khác nhau.
Do không phải sinh viên nào cũng đủ điều kiện làm khóa luận và khôngphải giảng viên nào cũng hướng dẫn khóa luận, do đó, hệ thống cần có mộtngười quản trị, cấp phát cho sinh viên và giảng viên tài khoản đăng nhập vào hệthống
Trang 6II Phân tích thiết kế hệ thống
1 Phân tích chức năng hệ thống.
Biểu đồ hoạt động:
a Danh sách đề tài tham khảo
Trang 7b Nghiệp vụ sinh viên đăng kí đề tài.
2 Các chức năng của hệ thống được mô tả qua các biểu đồ usecase :
Tác nhân:
- Use case có 3 tác nhân là sinh viên, giáo viên và admin
- Mỗi tác nhân khi đăng nhập vào hệ thống sẽ có những chức năng khácnhau
- Admin có chức năng là người có quyền cao nhất có thể tạo, xóa vàchỉnh sửa các thông tin của các account
- Sinh viên khi đăng nhập vào hệ thống thì chỉ có thể thay đổi password
và không thể thay đổi bất kì thông tin nào của bản thân Sinh viên cóthể xem thông tin về bản thân ,giáo viên và các đề tài.Sinh viên có thểđăng kí nhận giáo viên làm người hướng dẫn và chọn đề án làm tốtnghiệp.Tuy nhiên sinh viên cũng có thể đề nghị đề án
Trang 8- Giáo viên khi đăng nhập có thể xem tất cả các thông tin về giáo viên
và sinh viên.Ngoài ra giáo viên có thể thay đổi 1 số thông tin khôngquan trọng của bản thân như số điện thoại, email …
- Ngoài ra web còn có chức năng tìm kiếm thông tin để có thể giúp giáoviên và sinh viên dễ dàng hơn trong việc sử dụng
uc Actors
User
Trang 93 Biểu đồ Usecase, đặc tả chi tiết và giao diện:
3.1 Chức năng chung : User
uc uc_User
User
Doi mat khau
Xem thong tin ca nhan
Thoat Tim kiem
Trang 10Tên UC Xem thông tin cá nhân
năng xem thông tin cá nhân, khi người dùng chọn chứcnăng này sẽ hiện ra form chứa thông tin tương ứng
thống chọn chức năng thoát Hệ nhắc người dùng cómuốn thoát không Người dùng xác nhận và thoát khỏi
hệ thống
1 Chọn xem TTCN
2 Lấy dữ liệu tương ứng
và hiển thị lên form
Trang 113 Usecase Đổi mật khẩu
hệ thống của mình, chọn chức năng thay đổi mật khẩu
Hệ thống mở form đổi mật khẩu Người dùng gõ mậtkhẩu mới và confirm lại mật khẩu mới đó sau đó lưu lạithông tin Hệ thống sẽ hỏi lại có tiếp tục thay đổi đó haykhông trong trường hợp mật khẩu mới và confirm trùngkhớp ( hợp lệ ) User chọn tiếp tục hệ thống sẽ lưu thôngtin thay đổi lại và trở về form trang chủ, còn nếu khôngtiếp tục hệ thống trả về form Đổi mật khẩu Nếu khôngtrùng, hệ thống thông báo cho user biết mật khẩu mới vàconfirm không khớp
1 Chọn Thoát
2 Nhắc người dùng xácnhận
3 Người dùng xác nhận
4 Hiển thị trang chủ mặcđịnh
Trang 12Tác nhân Sinh viên, Admin, Giảng viên
4 Hỏi xác nhận nếu thôngtin điền hợp lệ Đưa rathông báo khi thông tin kohợp lệ
Trang 13Phương thức thay thế Không
Ngoại lệ
4 Usecase Tìm kiếm
nhập từ khóa tìm kiếm Đưa ra các kết quả tìm kiếmđược
Trang 143.2 Chức năng của giáo viên khi đăng nhập xong :
- Xem sinh viên đăng ký: xem thông tin, xác nhận
- Quản lý đề tài: thêm, xóa, sửa, xem chi tiết
- Xem danh sách sinh viên đã đăng ký
Đặc tả use case:
1 Use case Đăng nhập
người dùng phải đăng nhập đúng tài khoản của GVHD,sau khi đăng nhập thành công, user sẽ được sử dụng cáctính năng tương ứng với quyền account của mình baogồm xem danh sách sinh viên đăng kí, quản lý đề tài và
Trang 15xem danh sách sinh viên đã nhận đề tài Sau khi đăngnhập, hệ thống hiện ra giao diện tương ứng với GVHD(Home).
Phương thức cơ bản
Phương thức thay
thế
Không
dùng nhập lại
2 Use case Xem sinh viên đăng ký
nhập hệ thống thành công Đây là chức năng giúp giảngviên có thể xem danh sách những sinh viên đăng kýmình hướng dẫn Để sử dụng chức năng này, từ giao
Trang 16diện chính (Home) giáo viên chọn Xem sinh viên đăng
ký, hệ thống sẽ trả ra form danh sách các sinh viên.Kích vào mỗi sinh viên sẽ ra thông tin chi tiết về mỗisinh viên đó (họ tên, mssv, lớp…) Bên cạnh mỗi sinhviên sẽ là button xác nhận đăng ký (mô tả trong usecase xác nhận đăng ký)
Kick vào button Xácnhận đăng kí để chấpnhận hay từ chối yêu cầucủa sinh viên đó
4 Trả ra cái form tươngứng với yêu cầu của Giảngviên
Trang 17Kết quả Danh sách sinh viên đăng ký Giảng viên
Ngoại lệ
3 Use case Xem thông tin sinh viên
họ tên, địa chỉ, ngày sinh, email, quê quán, mã số sinhviên, lớp, điểm tổng kết, số tín chỉ nợ
thẳng vào tên mỗi sinh viên
Phương thức cơ bản
Phương thức thay thế Không
1 Kick vào tên mỗi sinhviên trong danh sáchxem sinh viên đăng ký
2.Hiển thị form thông tincủa sinh viên bao gồm: họtên, địa chỉ, ngày sinh,email, quê quán, mã sốsinh viên, lớp, điểm tổngkết, số tín chỉ nợ
Trang 18Ngoại lệ
4 Use case Xác nhận đăng ký
sẽ trả về form bao gồm họ tên sinh viên và đề tài sinhviên đó đăng ký Bên dưới form sẽ là 2 button “Chấpnhận” và “Từ chối” Giảng viên chọn chấp nhận khithấy đề tài của sinh viên phù hợp, và từ chối trongtrường hợp ngược lại Hệ thống sẽ có thông báo xácnhận lại lựa chọn của Giảng viên Sau khi Giảng viênxác nhận ( chấp nhận hoặc từ chối ), hệ thống sẽ gửithông tin đó tới sinh viên (được chấp nhận hay bị từchối)
Trang 19Phương thức cơ bản
Phương thức thay thế Không
chối
Ngoại lệ
1 Chọn xác nhận đăngký
6 Gửi thông tin kết quả tớisinh viên được xem xét
Trang 205 Use case Quản lý đề tài
lý đề tài Hệ thống trả ra form danh sách đề tài củaGiảng viên quản lý Quản lý đề tài gồm các chức năngnhỏ: thêm đề tài, xem chi tiết đề tài, xóa 1 đề tài Trongdanh sách đề tài, kích trực tiếp vào mỗi đề tài để xemchi tiết, hệ thống trả ra form chi tiết đề tài bao gồm: tên
đề tài, yêu cầu nội dung, gợi ý ( các hướng thực hiện ).Bên cạnh mỗi đề tài là button Xóa, chức năng là để xóa
đề tài Bên dưới danh sách là button Thêm để thực hiệnchức năng thêm đề tài Khi giáo viên chọn thêm đề tài,
hệ thống sẽ trả ra form thêm đề tài gồm có: tên đề tài,yêu cầu nội dung đề tài được thêm, gợi ý
Trang 21Tác nhân Giảng viên
Phương thức cơ bản
Phương thức thay thế Không
Ngoại lệ
6 Use case Thêm đề tài
thống Khi giảng viên chọn Thêm đề tài tại form danhsách đề tài quản lý, hệ thống trả ra form mới bảo gồm:tên đề tài, nội dung yêu cầu, gợi ý để giảng viên nhậpvào Chọn lưu lại nếu muốn lưu lại đề tài mới, hoặc hủynếu muốn thoát khỏi form thêm đề tài
1 Chọn quản lý đề tài
2 Trả ra danh sách đề tàivới các chức năng đã mô
tả ở trên
Trang 22Phương thức cơ bản
Phương thức thay thế Không
Ngoại lệ
7 Use case Xem chi tiết đề tài
viên kick thẳng vào tên mỗi đề tài trong danh sách đề tài
1 Chọn thêm đề tài
2 Hiển thị form thêm đềtài bào gồm: tên đề tài (bắtbuộc), nội dung yêu cầu(bắt buộc), gợi ý
3 Nhập các thông tin vàlưu lại
4 Lưu lại đề tài mới nếucác thông tin nhập là hợp
lệ Yêu cầu nhập lại nếuthông tin không hợp lệ
5 Nhập lại nếu hệ thống
từ chối hoặc chọn hủy đểthoát khỏi form thêm đềtài (trở về form danhsách quản lý đề tài )
Trang 23( mục “quản lý đề tài” ) Hệ thống trả về form chi tiết đềtài bao gồm: tên đề tài, nội dung yêu cầu và gợi ý củaGiảng viên về đề tài đó Bên dưới của form là 2 buttonSửa và Lưu lại Giảng viên có thể Sửa và lưu lại thôngtin theo ý muốn.
thẳng vào tên đề tài trong danh sách đề tài quản lý
Phương thức cơ bản
Phương thức thay thế Không
Ngoại lệ
8 Usecase Xem danh sách sinh viên đã nhận
để xem danh sách các sinh viên mà Giảng viên đó đãchấp nhận hướng dẫn
1 Kích thẳng vào tên đềtài muốn xem
2.Hiển thị form chi tiết đềtài
Trang 24Phương thức cơ bản
Phương thức thay thế Không
Ngoại lệ
3.3 Chức năng của sinh viên sau khi đăng nhập:
- Xem danh sách đề tài
- Đăng ký đề tài
1 Chọn xem danh sáchsinh viên đã nhận
2 Trả ra danh sách cácsinh viên đã được đồng ý
Trang 25- Xem danh sách đề tài của giảng viên
- Xem danh sách giảng viên
- Xem thông tin giảng viên
Xem thong tin GV
Xem danh sach de tai cua GV
sách đề tài, hệ thống sẽ hiển thị form chứa danh sách đềtài, cho phép lọc theo giảng viên, chuyên ngành và từkhóa trong tên đề tài, có chức năng nhận đề tài, xem chitiết, xem trạng thái(có thể đăng ký được không)
Trang 26viên, sinh viên chọn chức năng đăng ký đề tài, hệ thống
sẽ thông báo kết quả đăng ký
hoặc danh sách đề tài của giáo viên
Chọn chức năng xemdanh sách đề tài
Hiện danh sách tất cả đềtài
Chọn giảng viên, nhập từkhóa
Lọc danh sách theo tiêuchí đã chọn
Chọn xem thông tin đềtài
Hiển thị form thông tin đềtài
Trang 27năng xem danh sách giáo viên, hệ thống sẽ hiển thịdanh sách giáo viên, có thể lọc theo ngành hoặc tên giáoviên
- Thất bại: Đăng ký thấtbại, đề tài đã hết hạn đăng
ký hoặc số đăng ký tối đa
Trang 28Hiển thị ra danh sách giáoviên
Chọn chuyên ngành vànhập từ khóa
Lọc theo tiêu chí yêu cầu
Trang 294 Use case Xem thông tin giảng viên
xem thông tin giáo viên, hệ thống sẽ hiển thị thông tingiáo viên được chọn bao gồm cả danh sách sinh viên đãnhận hướng dẫn
5 Use case Xem danh sách đề tài của giảng viên
xem danh sách đề tài của 1 giáo viên, hệ thống sẽ hiểnthị danh sách gồm tên đề tài và mô tả ngắn gọn đề tài
Chọn chức năng xemthông tin giáo viên
Hiển thị thông tin giáoviên
Trang 303.4 Chức năng của QuanTri sau khi đăng nhập :
- Quản lý tài khoản: tìm kiếm, xóa tài khoản…
- Thêm tài khoản mới
Chọn chức năng xemdanh sách giáo viên
Hiển thị ra danh sách đềtài
Nhập từ khóa tìm kiếm Lọc theo từ khóa
Trang 31uc uc_Admin
Quan Tri
(from Actors)
Quan ly tai khoan
Them tai khoan moi
Xoa tai khoan
6 Use case Quản lý tài khoản
quản lý tài khản, hệ thống sẽ hiển thị danh sách tàikhoản gồm tên và loại tài khoản, cho phép lọc theo từkhóa và loại tài khoản
Trang 32Hiển thị ra danh sách tàikhoản
Chọn loại tài khoản,nhập từ khóa
Lọc theo tiêu chí yêu cầu
Trang 337 Use case Thêm tài khoản mới
thêm tài khoản mới, hệ thống hiển thị form yêu cầunhập dữ liệu, sau khi nhập xong hệ thống sẽ thông báokết quả
Phương thức cơ bản
Phương thức thay
thế
Không
hệ thống thông báo để quản trị xử lý
Hiển thị thông báo
Trang 348 Use case Xóa tài khoản
bên cạnh tên tài khoản, hệ thống sẽ cảnh báo bằng cáchđưa ra thông tin tài khoản và yêu cầu xác nhận, giáoviên chọn xóa thì hệ thống sẽ thông báo kết quả
Trang 35Phương thức cơ bản
Phương thức thay thế
Không
hướng dẫn
Ngoại lệ
9 Use case Tìm kiếm tài khoản
tài khoản bằng cách chọn loại tài khoản hoặc nhập từkhóa, hệ thống sẽ hiển thị danh sách các tài khoản thỏamãn điều kiện
Chọn xóa tài khoản Hiển thị thông tin tài
khoản và yêu cầu xác nhậnChọn đồng ý Xóa tài khoản và đưa ra
thông báo kết quả
Trang 36Phương thức cơ bản
Phương thức thay
thế
Không
DeAn
- MaDeAn: string
- MoTa: string
- Status: int + GVHD: GVHD
Huong dan 0 10
Hiển thị mục chọn loại tàikhoản và ô nhập từ khóaChọn loại tài khoản và từ
khóa cần tìm
Hiển thị danh sách tàikhoản thỏa mãn
Trang 37- Người dung có các thuộc tính là : HoTen, DiaChi, Email, NgaySinh,
Ma so Là các thông tin cơ bản của người dùng Trong đó MaSo làkhóa chính
- GVHD có các thuộc tính:
MaSoGV, HocHam, HocVi, SoSVHD, TrangThai
Trong đó MaSoGV là khóa chính
Biến TrangThai là để lưu trạng thái của giáo viên : đã nhận hướng dẫnbao nhiêu sinh viên Status < 6
DeTail : là những miêu tả về giáo viên Cái này không quan trọng lắmtrong hệ thống chỉ có tác dụng hiển thị các thông tin của giáo viên nhưchức vụ, bằng cấp…
SoSVHD: Số sinh viên tối đa mà GV hướng dẫn
- Đề án có các thuộc tính là MaDeAn, MieuTaDA,Status
Trong đó MaDeAn là khóa chính Nó có dạng là K51c_abcdef
Vì thế qua 4 kí tự đầu của mã đề án ta có thể biết được là nó là ở khóanào
Thuộc tính Status để biết là đề án này có trạng thái như thế nào : là dosinh viên đề xuất hay của giáo viên Nếu là của sinh viên đề xuất màđược giáo viên nhận thì nó sẽ có trạng thái mới là đề án của giáo viên
Trang 38- Account có các thuộc tính là Acc,Pass,NgayDK,Type.
Trong đó Acc là khóa chính luôn vì không thể có 2 account trùngnhau
Type là để biết loại accout này là gì của giáo viên hay sinh viên hayadmin
- LopSinhVien: gồm các thuộc tính: MaLop, TenLop… là các thông tin
về lớp mà sinh viên theo học
Mối quan hệ :
Mỗi sinh viên và giáo viên chỉ có thể sở hữu 1 account
Mỗi giáo viên có thể hưỡng dẫn từ 0 đến 5 sinh viên
Mỗi sinh viên chỉ có thể làm 1 đề án
Vì thế mỗi đề án có tối đa 2 giáo viên phụ trách
Mỗi giáo viên có ít nhất 5 đề án
5 Biểu đồ lớp cho usecase
a Biểu đồ lớp cho usecase tìm kiếm
Trang 39c Biểu đồ lớp cho usecase DK_Đề Tài.
d Biểu đồ lớp cho usecase QuanLyTaiKhoan
Trang 40e Biểu đồ lớp cho usecase XemDSDT.
f Biểu đồ lớp cho usecase XemDSGV
g Biểu đồ lớp cho usecase XoaTaiKhoan
Trang 416 Biểu đồ tuần tự của hệ thống
a Biểu đồ tuần tự cho usecase Tìm kiếm
b Biểu đồ tuần tự cho usecase Xem thông tin cá nhân
Trang 42KiemTraQuyen(TaiKhoan) :Quyen
LayThongTinGV(MaGV) :GVHD
LayThonTinCoBan(MaGV) :GVHD
HienThi(GVHD)
LayThongTinSV(MaSV) :Sinh vien
LayThonTinCoBan(MaSV) :Sinh vien
HienThi(SinhVien)
LayThongTinCoBan(MaNguoiDung) :Nguoidung
:NguoiDung HienThi(Nguoidung)
c Biểu đồ tuần tự cho usecase Đăng kí đề tài
Trang 43d Biểu đồ tuần tự cho usecase Xem DSDT
Trang 44e Biểu đồ tuần tự cho usecase Xem DSGV
Trang 45sd sd_Xem sinh v ien
Xem DVDK()
XemSVDK()
LayMaGV(TaiKhoan)
String() :MaGV LayCacSinDK(MaGV) :Sinh vien :Sinh vien
:Sinh vien
HienThi(Sinh vien)
f Biểu đồ tuần tự cho usecase Xem Sinh viên đăng kí
Trang 46g Biểu đồ tuần tự cho usecase Quản lý tài khoản
h Biểu đồ tuần tự cho usecase XacNhanDK
sd sd_Quan ly tai khoan
Trang 47i Biểu đồ tuần tự cho usecase Thêm đề tài
Trang 48KiemTraDeTai(MaDeTai) :KQ «boolean»
ThongBaoLoi()
ThemDeTai(DeTai)
:Kq ThongBaoTrangThai()
III Kiến trúc hệ thống
1 Kiến trúc
Mô hình 3 tầng