Professional Documents
Culture Documents
com
Do nguồn tài trợ liên bang giảm, trường không đủ khả năng thay thế toàn bộ hệ thống cùng một lúc. Trường sẽ lưu
giữ cơ sở dữ liệu danh mục khóa học hiện có, nơi lưu giữ tất cả thông tin về khóa học. Cơ sở dữ liệu này là cơ sở dữ
liệu quan hệ Ingres chạy trên DEC VAX. May mắn thay trường đã đầu tư vào một giao diện SQL mở cho phép truy cập
vào cơ sở dữ liệu này từ các máy chủ Unix của trường. Hiệu suất của hệ thống cũ khá kém, vì vậy hệ thống mới phải
đảm bảo rằng việc truy cập dữ liệu trên hệ thống cũ diễn ra kịp thời. Hệ thống mới sẽ truy cập thông tin khóa học từ
cơ sở dữ liệu cũ nhưng sẽ không cập nhật nó. Văn phòng đăng ký sẽ tiếp tục duy trì thông tin khóa học thông qua
một hệ thống khác.
Vào đầu mỗi học kỳ, sinh viên có thể yêu cầu một danh mục khóa học có chứa danh sách các khóa học được cung cấp cho
học kỳ đó. Thông tin về mỗi khóa học, chẳng hạn như giáo sư, khoa và điều kiện tiên quyết, sẽ được đưa vào để giúp sinh
viên đưa ra quyết định sáng suốt.
Hệ thống mới sẽ cho phép sinh viên chọn bốn khóa học cho học kỳ tới. Ngoài ra, mỗi học sinh sẽ chỉ ra
hai lựa chọn thay thế trong trường hợp học sinh không thể được chỉ định vào lựa chọn chính. Các khóa
học sẽ có tối đa mười sinh viên và tối thiểu ba sinh viên. Khóa học có ít hơn ba sinh viên sẽ bị hủy. Đối với
mỗi học kỳ, có một khoảng thời gian mà sinh viên có thể thay đổi lịch học của mình. Sinh viên phải có
khả năng truy cập vào hệ thống trong thời gian này để thêm hoặc bỏ các khóa học. Sau khi quá trình
đăng ký của sinh viên hoàn tất, hệ thống đăng ký sẽ gửi thông tin đến hệ thống thanh toán để sinh viên
có thể được lập hóa đơn cho học kỳ. Nếu một khóa học đã đầy trong quá trình đăng ký thực tế,
Vào cuối học kỳ, sinh viên sẽ có thể truy cập vào hệ thống để xem phiếu báo cáo điện tử. Vì điểm số của học sinh là
thông tin nhạy cảm nên hệ thống phải sử dụng các biện pháp bảo mật bổ sung để ngăn chặn truy cập trái phép.
Các giáo sư phải có khả năng truy cập hệ thống trực tuyến để cho biết họ sẽ giảng dạy những khóa học nào.
Họ cũng sẽ cần xem sinh viên nào đã đăng ký khóa học của họ. Ngoài ra, các giáo sư sẽ có thể ghi điểm cho
học sinh trong mỗi lớp.
Khóa học
Một lớp học được cung cấp bởi trường đại học.
Danh mục đầy đủ của tất cả các khóa học được cung cấp bởi trường đại học.
Khoa
Tất cả các giáo sư giảng dạy tại trường đại học.
Cấp
Việc đánh giá một sinh viên cụ thể cho một khóa học cụ thể.
Giáo sư
Một người đang giảng dạy tại trường đại học.
Danh sách
Tất cả các sinh viên đăng ký vào một khóa học cụ thể.
Học sinh
Một người đăng ký vào các lớp học tại trường đại học.
Lịch trình
Các khóa học mà sinh viên đã chọn cho học kỳ hiện tại.
Bảng điểm
Lịch sử điểm của tất cả các khóa học, của một sinh viên cụ thể được gửi đến hệ thống tài chính, hệ thống này sẽ gửi hóa đơn
cho sinh viên.
Thông số bổ sung
Mục tiêu
Mục đích của tài liệu này là xác định các yêu cầu của Hệ thống đăng ký khóa học. Đặc tả bổ sung này liệt kê
các yêu cầu chưa được nắm bắt dễ dàng trong các trường hợp sử dụng của mô hình usecase. Thông số kỹ
thuật bổ sung và mô hình ca sử dụng cùng nhau nắm bắt một bộ yêu cầu hoàn chỉnh trên hệ thống.
Phạm vi
Đặc tả bổ sung này áp dụng cho Hệ thống đăng ký khóa học sẽ được phát triển bởi các sinh
viên OOAD.
Đặc tả này xác định các yêu cầu phi chức năng của hệ thống; chẳng hạn như độ tin cậy, khả năng sử
dụng, hiệu suất và khả năng hỗ trợ, cũng như các yêu cầu chức năng phổ biến trong một số trường hợp
sử dụng. (Các yêu cầu chức năng được xác định trong Thông số ca sử dụng.)
Không có.
Chức năng
Nhiều người dùng phải có khả năng thực hiện công việc của họ đồng thời.
Nếu khóa học đã kín chỗ trong khi sinh viên đang xây dựng lịch trình bao gồm khóa học đó thì sinh viên đó phải được
thông báo.
Giao diện người dùng trên máy tính để bàn phải tuân thủ Windows 95/98.
độ tin cậy
Hệ thống phải hoạt động 24 giờ một ngày, 7 ngày một tuần, với thời gian ngừng hoạt động không quá 10%.
Hiệu suất
Hệ thống sẽ hỗ trợ tối đa 2000 người dùng đồng thời đối với cơ sở dữ liệu trung tâm tại bất kỳ thời điểm nào và tối đa 500
người dùng đồng thời đối với các máy chủ cục bộ tại một thời điểm bất kỳ.
Hệ thống sẽ cung cấp quyền truy cập vào cơ sở dữ liệu danh mục khóa học cũ với độ trễ không quá 10 giây.
Lưu ý: Các nguyên mẫu dựa trên rủi ro đã phát hiện ra rằng cơ sở dữ liệu danh mục khóa học cũ không thể đáp ứng nhu cầu
về hiệu suất của chúng tôi nếu không sử dụng sức mạnh xử lý cấp trung một cách sáng tạo
Hệ thống phải có khả năng hoàn thành 80% tất cả các giao dịch trong vòng 2 phút.
Bảo vệ
Hệ thống phải ngăn chặn sinh viên thay đổi bất kỳ lịch trình nào khác ngoài lịch học của họ và các giáo sư sửa đổi
các khóa học được chỉ định cho các giáo sư khác.
Chỉ có Nhà đăng ký mới được phép thay đổi bất kỳ thông tin nào của sinh viên.
Mô hình ca sử dụng
Hệ thống đăng ký khóa học Sơ đồ chính của mô hình ca sử dụng
Học sinh
Giáo sư
Gửi điểm
Đóng đăng ký
Hệ thống thanh toán
Đóng đăng ký
Mô tả ngắn gọn
Ca sử dụng này cho phép Nhà đăng ký đóng quá trình đăng ký. Các khóa học không đủ học viên sẽ bị hủy. Các
khóa học phải có tối thiểu ba sinh viên trong đó. Hệ thống thanh toán được thông báo cho từng sinh viên
trong mỗi khóa học mà không bị hủy, do đó sinh viên có thể được lập hoá đơn cho khóa học đó.
Dòng sự kiện
Luồng cơ bản
Ca sử dụng này bắt đầu khi Nhà đăng ký yêu cầu hệ thống đóng đăng ký.
1. Hệ thống kiểm tra xem việc đăng ký có đang được tiến hành hay không. Nếu đúng như vậy thì một thông báo sẽ được hiển thị cho Nhà đăng ký và
trường hợp sử dụng sẽ chấm dứt. Việc xử lý Đóng đăng ký không thể được thực hiện nếu quá trình đăng ký đang diễn ra.
2. Đối với mỗi khóa học, hệ thống sẽ kiểm tra xem giáo sư đã đăng ký giảng dạy khóa học đó chưa và có ít nhất ba sinh viên
đã đăng ký hay chưa. Nếu vậy, hệ thống sẽ cam kết cung cấp khóa học cho từng lịch trình có chứa khóa học đó.
3. Đối với mỗi lịch học, hệ thống “xếp cấp” lịch học: nếu lịch học không có số lượng khóa học chính tối đa được chọn, hệ
thống sẽ cố gắng chọn các môn học thay thế từ danh sách các môn học thay thế của lịch trình. Các khóa học thay thế có
sẵn đầu tiên sẽ được chọn. Nếu không có sự thay thế nào thì sẽ không có sự thay thế nào được thực hiện.
4. Với mỗi khóa học được cung cấp, hệ thống sẽ đóng tất cả các khóa học được cung cấp. Nếu khóa học được cung cấp không
có ít nhất ba sinh viên tại thời điểm này (một số có thể đã được thêm vào do việc lên cấp), thì hệ thống sẽ hủy việc cung
cấp khóa học. Hệ thống hủy việc cung cấp khóa học cho từng lịch trình có chứa nó.
5. Hệ thống tính toán số tiền học phí mà mỗi sinh viên phải nộp theo lịch học kỳ hiện tại của mình và gửi giao dịch đến Hệ
thống thanh toán. Hệ thống thanh toán sẽ gửi hóa đơn cho sinh viên, trong đó sẽ bao gồm bản sao lịch trình cuối cùng
của họ.
Nếu hệ thống không thể liên lạc với Hệ thống thanh toán, hệ thống sẽ cố gắng gửi lại yêu cầu sau một
khoảng thời gian nhất định. Hệ thống sẽ tiếp tục cố gắng gửi lại cho đến khi Hệ thống thanh toán khả
dụng.
Nhà đăng ký phải đăng nhập vào hệ thống để bắt đầu ca sử dụng này.
Điểm mở rộng
Không có.
Đăng nhập
Mô tả ngắn gọn
Ca sử dụng này mô tả cách người dùng đăng nhập vào Hệ thống đăng ký khóa học.
Dòng sự kiện
Luồng cơ bản
Ca sử dụng này bắt đầu khi người tham gia muốn đăng nhập vào Hệ thống đăng ký khóa học.
2. Hệ thống xác thực tên và mật khẩu đã nhập và đăng nhập tác nhân vào hệ thống.
Hệ thống đang ở trạng thái đăng nhập và hiển thị màn hình đăng nhập.
Điểm mở rộng
Không có.
Dòng sự kiện
Luồng cơ bản
Ca sử dụng này bắt đầu khi Nhà đăng ký muốn thêm, thay đổi và/hoặc xóa thông tin giáo sư trong hệ thống.
1. Hệ thống yêu cầu Nhà đăng ký chỉ định chức năng mà mình muốn thực hiện (Thêm giáo sư,
Cập nhật giáo sư hoặc Xóa giáo sư)
2. Sau khi Nhà đăng ký cung cấp thông tin được yêu cầu, một trong các luồng phụ sẽ được thực thi.
Nếu Nhà đăng ký chọn “Thêm giáo sư”, thìThêm một giáo sưluồng con được thực thi. Nếu Nhà
đăng ký chọn “Cập nhật giáo sư”, thìCập nhật một giáo sưluồng con được thực thi. Nếu Nhà đăng
ký chọn “Xóa một giáo sư”, thìXóa một giáo sưluồng con được thực thi.
- phòng
1. Sau khi Nhà đăng ký cung cấp thông tin được yêu cầu, hệ thống sẽ tạo và gán một số id duy
nhất cho giáo sư. Giáo sư được thêm vào hệ thống.
2. Hệ thống cung cấp cho Nhà đăng ký id giáo sư mới.
4. Sau khi Nhà đăng ký cập nhật các thông tin cần thiết, hệ thống sẽ cập nhật hồ sơ giáo sư.
Xóa Đã hủy
Nếu, trongXóa một giáo sưluồng con, Nhà đăng ký quyết định không xóa giáo sư, việc
xóa bị hủy vàLuồng cơ bảnđược bắt đầu lại từ đầu.
Nhà đăng ký phải đăng nhập vào hệ thống trước khi ca sử dụng này bắt đầu.
Điểm mở rộng
Không có.
Dòng sự kiện
Luồng cơ bản
Ca sử dụng này bắt đầu khi Nhà đăng ký muốn thêm, thay đổi và/hoặc xóa thông tin sinh viên trong hệ thống.
1. Hệ thống yêu cầu Nhà đăng ký chỉ định chức năng mình muốn thực hiện (Thêm sinh viên, Cập nhật
sinh viên hoặc Xóa sinh viên)
2. Sau khi Nhà đăng ký cung cấp thông tin được yêu cầu, một trong các luồng phụ sẽ được thực thi. Nếu
Nhà đăng ký chọn “Thêm sinh viên”, thìThêm một sinh viênluồng con được thực thi. Nếu Nhà đăng
ký chọn “Cập nhật một sinh viên”, thìCập nhật một sinh viênluồng con được thực thi. Nếu Nhà đăng
ký chọn “Xóa một sinh viên”, thìXóa một sinh viênluồng con được thực thi.
1. Hệ thống yêu cầu Nhà đăng ký nhập thông tin sinh viên. Điêu nay bao gôm:
- tên
- ngày sinh
- số an sinh xã hội
- trạng thái
2. Sau khi Nhà đăng ký cung cấp thông tin được yêu cầu, hệ thống sẽ tạo và gán một số id duy nhất
cho sinh viên. Sinh viên được thêm vào hệ thống.
3. Hệ thống cung cấp cho Nhà đăng ký mã sinh viên mới.
4. Sau khi Nhà đăng ký cập nhật các thông tin cần thiết, hệ thống sẽ cập nhật thông tin học sinh.
Nếu, trongCập nhật một sinh viênhoặcXóa một sinh viênLuồng con, sinh viên có mã số xác định
không tồn tại, hệ thống hiển thị thông báo lỗi. Sau đó, Nhà đăng ký có thể nhập số id khác hoặc hủy
thao tác, lúc đó ca sử dụng kết thúc.
Xóa Đã hủy
Nếu, trongXóa một học sinhluồng phụ, Nhà đăng ký quyết định không xóa sinh viên, việc xóa bị hủy
vàLuồng cơ bảnđược bắt đầu lại từ đầu.
Nhà đăng ký phải đăng nhập vào hệ thống trước khi ca sử dụng này bắt đầu.
Điểm mở rộng
Không có.
Dòng sự kiện
Luồng cơ bản
Ca sử dụng này bắt đầu khi Sinh viên muốn đăng ký các khóa học hoặc thay đổi lịch trình khóa học hiện tại của
mình.
1. Sinh viên cung cấp chức năng để thực hiện (một trong các luồng phụ được thực thi):
Nếu Học sinh chọn “Tạo lịch trình”, thìTạo lịch trìnhluồng con được thực thi. Nếu
Sinh viên chọn “Cập nhật lịch học”, thìCập nhật lịch trìnhluồng con được thực thi.
Nếu Sinh viên chọn “Xóa lịch học”,Xóa lịch biểuluồng con được thực thi.
3. Sinh viên có thể cập nhật các lựa chọn khóa học trên lựa chọn hiện tại bằng cách xóa và thêm
các khóa học mới. Sinh viên chọn các khóa học để thêm từ danh sách các khóa học có sẵn.
Học sinh cũng chọn bất kỳ khóa học nào để xóa khỏi lịch trình hiện có.
4. Sau khi sinh viên đã lựa chọn, hệ thống sẽ cập nhật lịch học cho Sinh viên bằng cách sử dụng các
khóa học đã chọn.
5. Luồng con Lịch trình Gửi được thực hiện.
Chọn ưu đãi
Học sinh chọn 4 khóa học chính và 2 khóa học thay thế từ danh sách các khóa học có sẵn.
Sau khi sinh viên đã thực hiện các lựa chọn của mình, hệ thống sẽ tạo lịch trình cho Sinh viên bao gồm các
khóa học đã chọn.
Sau đó, hệ thống sẽ thêm Sinh viên vào khóa học đã chọn. Khóa học được cung cấp được đánh dấu là “đã
đăng ký” trong lịch trình.
Các khóa học không được đánh dấu là “đã đăng ký” sẽ được đánh dấu là “đã chọn” trong lịch
Các điều kiện tiên quyết chưa được đáp ứng, Toàn bộ khóa học hoặc Xung đột về lịch trình
Nếu, trongGửi lịch trìnhtrong luồng phụ, hệ thống xác định rằng Sinh viên chưa đáp ứng các điều kiện tiên
quyết cần thiết hoặc khóa học đã chọn đã đầy hoặc có xung đột về lịch trình, một thông báo lỗi sẽ hiển thị.
Sinh viên có thể chọn một khóa học khác được cung cấp và trường hợp sử dụng tiếp tục, lưu lịch trình như
cũ (xemLưu lịch trìnhluồng con) hoặc hủy thao tác, tại thời điểm đóLuồng cơ bảnđược bắt đầu lại từ đầu.
Nếu, trongCập nhật lịch trìnhhoặcXóa lịch biểuluồng con, hệ thống không truy xuất được lịch học
của Sinh viên, hiển thị thông báo lỗi. Học sinh thừa nhận sai sót vàLuồng cơ bảnđược khởi động lại
lúc đầu.
Xóa Đã hủy
Nếu, trongXóa lịch trìnhluồng con, Học sinh quyết định không xóa lịch trình, việc xóa bị
hủy vàLuồng cơ bảnđược bắt đầu lại từ đầu.
Sinh viên phải đăng nhập vào hệ thống trước khi ca sử dụng này bắt đầu.
Điểm mở rộng
Không có.
Dòng sự kiện
Luồng cơ bản
Ca sử dụng này bắt đầu khi Giáo sư muốn đăng ký giảng dạy một số khóa học cho học kỳ sắp tới.
1. Hệ thống truy xuất và hiển thị danh sách các môn học mà giáo sư đủ điều kiện giảng dạy cho học kỳ hiện tại.
Hệ thống cũng truy xuất và hiển thị danh sách các khóa học mà giáo sư đã chọn giảng dạy trước đó.
2. Giáo sư chọn và/hoặc bỏ chọn các môn học mà mình muốn dạy cho học kỳ sắp tới.
3. Hệ thống loại bỏ giáo sư khỏi việc giảng dạy các khóa học đã bỏ chọn.
4. Hệ thống xác minh rằng các khóa học đã chọn không xung đột (tức là có cùng ngày và giờ) với nhau hoặc với bất kỳ
khóa học nào mà giáo sư đã đăng ký giảng dạy trước đó. Nếu không có xung đột, hệ thống sẽ cập nhật thông tin
cung cấp khóa học cho mỗi khóa học mà giáo sư chọn (tức là ghi nhận giáo sư là người hướng dẫn cho khóa học
đó).
Giáo sư phải đăng nhập vào hệ thống trước khi ca sử dụng này bắt đầu.
Điểm mở rộng
Không có.
Gửi điểm
Mô tả ngắn gọn
Ca sử dụng này cho phép Giáo sư nộp điểm của sinh viên cho một hoặc nhiều lớp đã hoàn thành trong học kỳ
trước.
Dòng sự kiện
Luồng cơ bản
Ca sử dụng này bắt đầu khi Giáo sư muốn gửi điểm của sinh viên cho một hoặc nhiều lớp đã hoàn thành trong
học kỳ trước.
1. Hệ thống hiển thị danh sách các môn học mà Giáo sư đã giảng dạy ở học kỳ trước.
Giáo sư phải đăng nhập vào hệ thống trước khi ca sử dụng này bắt đầu.
Điểm mở rộng
Không có.
Dòng sự kiện
Luồng cơ bản
Ca sử dụng này bắt đầu khi Sinh viên muốn xem phiếu điểm của mình cho học kỳ đã hoàn thành trước đó.
1. Hệ thống truy xuất và hiển thị thông tin điểm cho từng khóa học mà Sinh viên đã hoàn thành trong
học kỳ trước.
2. Khi Học sinh cho biết rằng mình đã xem điểm xong, ca sử dụng sẽ chấm dứt.
Sinh viên phải đăng nhập vào hệ thống trước khi ca sử dụng này bắt đầu.
Điểm mở rộng
Không có.
Hệ thống mới sẽ là hệ thống hiện đại và có giao diện máy tính để bàn dựa trên Windows để cho phép nhân viên nhập thông tin
thẻ chấm công, nhập đơn đặt hàng, thay đổi tùy chọn của nhân viên (chẳng hạn như phương thức thanh toán) và tạo nhiều báo
cáo khác nhau. Hệ thống sẽ chạy trên máy tính để bàn của từng nhân viên trong toàn bộ công ty. Vì lý do bảo mật và kiểm tra,
nhân viên chỉ có thể truy cập và chỉnh sửa thẻ chấm công và đơn đặt hàng của riêng mình.
Hệ thống sẽ lưu giữ thông tin về tất cả nhân viên trong công ty (Acme hiện có khoảng 5.000 nhân viên trên toàn thế
giới). Hệ thống phải trả cho mỗi nhân viên đúng số tiền, đúng hạn, theo phương thức mà họ chỉ định (xem các
phương thức thanh toán có thể được mô tả sau). Acme, vì lý do chi phí, không muốn thay thế một trong những cơ sở
dữ liệu cũ của họ, Cơ sở dữ liệu quản lý dự án, chứa tất cả thông tin liên quan đến dự án và số phí. Hệ thống mới
phải hoạt động với Cơ sở dữ liệu quản lý dự án hiện có, đây là cơ sở dữ liệu DB2 chạy trên máy tính lớn của IBM. Hệ
thống tính lương sẽ truy cập nhưng không cập nhật thông tin được lưu trữ trong Cơ sở dữ liệu quản lý dự án.
Một số nhân viên làm việc theo giờ và được trả lương theo giờ. Họ gửi phiếu chấm công ghi lại ngày và số giờ làm
việc cho một số khoản phí cụ thể. Nếu ai đó làm việc hơn 8 giờ, Acme sẽ trả cho họ gấp 1,5 lần mức bình thường cho
số giờ làm thêm đó. Công nhân theo giờ được trả lương vào thứ Sáu hàng tuần.
Một số nhân viên được trả lương cố định. Mặc dù họ được trả mức lương cố định nhưng họ vẫn gửi bảng chấm công ghi
ngày và giờ làm việc. Điều này là để hệ thống có thể theo dõi số giờ làm việc dựa trên các số điện tích cụ thể. Họ được trả
lương vào ngày làm việc cuối cùng của tháng.
Một số nhân viên làm công ăn lương còn nhận được hoa hồng dựa trên doanh số bán hàng của họ. Họ gửi đơn đặt hàng
phản ánh ngày và số tiền bán hàng. Tỷ lệ hoa hồng được xác định cho mỗi nhân viên và là một trong 10%, 15%, 25% hoặc
35%.
Một trong những tính năng được yêu cầu nhiều nhất của hệ thống mới là báo cáo nhân viên. Nhân viên sẽ có thể truy vấn hệ
thống về số giờ đã làm việc, tổng số giờ được tính cho một dự án (tức là số khoản phí), tổng số tiền nhận được từ đầu năm đến
nay, thời gian nghỉ phép còn lại, v.v.
Nhân viên có thể lựa chọn phương thức thanh toán của mình. Họ có thể yêu cầu gửi tiền lương đến địa chỉ bưu điện
mà họ lựa chọn hoặc họ có thể yêu cầu gửi tiền trực tiếp và gửi tiền lương vào tài khoản ngân hàng mà họ chọn.
Nhân viên cũng có thể chọn nhận lương tại văn phòng.
Người quản trị tiền lương lưu giữ thông tin nhân viên. Quản trị viên tính lương chịu trách nhiệm thêm nhân
viên mới, xóa nhân viên và thay đổi tất cả thông tin nhân viên như tên, địa chỉ và phân loại thanh toán (theo
giờ, lương, hoa hồng), cũng như chạy các báo cáo hành chính.
Ứng dụng tính lương sẽ tự động chạy vào thứ Sáu hàng tuần và vào ngày làm việc cuối cùng của tháng. Nó sẽ trả lương cho
những nhân viên thích hợp vào những ngày đó. Hệ thống sẽ cho biết ngày nào nhân viên sẽ được trả lương, do đó, nó sẽ
tạo các khoản thanh toán cho hồ sơ từ lần cuối cùng nhân viên được trả lương cho đến ngày được chỉ định. Hệ thống mới
đang được thiết kế sao cho bảng lương luôn được tạo tự động và không cần bất kỳ sự can thiệp thủ công nào.
Bất kỳ (các) ngân hàng nào mà giao dịch gửi tiền trực tiếp được gửi tới.
Người làm việc cho công ty sở hữu và vận hành hệ thống trả lương (Acme, Inc.)
Cơ sở dữ liệu quản lý dự án
Cơ sở dữ liệu kế thừa chứa tất cả thông tin liên quan đến dự án và số phí.
Đồng hồ hệ thống
Đồng hồ hệ thống nội bộ theo dõi thời gian. Đồng hồ nội bộ sẽ tự động chạy bảng lương vào những thời
điểm thích hợp.
Tiền lương
Bản ghi về số tiền mà một nhân viên được trả trong Kỳ lương được chỉ định.
Cách nhân viên được trả lương, nhận hàng, gửi thư hoặc gửi tiền trực tiếp.
Bản ghi số giờ làm việc của nhân viên trong một kỳ lương cụ thể.
Thông số bổ sung
Mục tiêu
Mục đích của tài liệu này là xác định các yêu cầu của Hệ thống tính lương. Đặc tả bổ sung này liệt kê các yêu cầu
chưa được nắm bắt dễ dàng trong các trường hợp sử dụng của mô hình trường hợp sử dụng. Thông số kỹ thuật
bổ sung và mô hình ca sử dụng cùng nhau nắm bắt một bộ yêu cầu hoàn chỉnh trên hệ thống.
Phạm vi
Đặc tả bổ sung này áp dụng cho Hệ thống tính lương, hệ thống này sẽ được phát triển bởi các sinh viên
OOAD.
Đặc tả này xác định các yêu cầu phi chức năng của hệ thống; chẳng hạn như độ tin cậy, khả năng sử dụng,
hiệu suất và khả năng hỗ trợ cũng như các yêu cầu chức năng phổ biến trong một số trường hợp sử dụng.
(Các yêu cầu chức năng được xác định trong Thông số ca sử dụng.).
Không có.
Chức năng
Không có.
Không có.
độ tin cậy
Hệ thống chính phải chạy 98% thời gian. Điều bắt buộc là hệ thống phải hoạt động trong thời
gian tính lương (Thứ Sáu hàng tuần và ngày làm việc cuối cùng của tháng).
Hiệu suất
Hệ thống sẽ hỗ trợ tối đa 2000 người dùng đồng thời đối với cơ sở dữ liệu trung tâm tại bất kỳ thời điểm nào và tối đa 500
người dùng đồng thời đối với các máy chủ cục bộ tại một thời điểm bất kỳ.
Bảo vệ
Hệ thống phải ngăn nhân viên thay đổi bất kỳ thẻ chấm công nào khác ngoài thẻ của họ. Ngoài ra, vì lý do
bảo mật, chỉ Quản trị viên tính lương mới được phép thay đổi bất kỳ thông tin nhân viên nào ngoại trừ
phương thức gửi thanh toán.
Mô hình ca sử dụng
Sơ đồ chính của mô hình trường hợp sử dụng hệ thống tính lương
Dòng sự kiện
Luồng cơ bản
Ca sử dụng bắt đầu khi Quản trị viên tính lương yêu cầu hệ thống tạo báo cáo quản trị.
1. Hệ thống yêu cầu Quản trị viên tính lương chỉ định các tiêu chí báo cáo sau:
- Loại Báo cáo (tổng số giờ làm việc hoặc lương tính đến thời điểm hiện tại),
- Ngày bắt đầu và ngày kết thúc của báo cáo,
- Tên nhân viên
2. Sau khi Quản trị viên tính lương cung cấp thông tin được yêu cầu, hệ thống sẽ cung cấp cho Quản trị viên
tính lương một báo cáo đáp ứng các tiêu chí báo cáo.
3. Sau đó, Quản trị viên tính lương có thể yêu cầu hệ thống lưu báo cáo. Lúc này hệ thống yêu cầu Quản
trị viên tính lương cung cấp tên và vị trí lưu báo cáo.
4. Sau khi Quản trị viên tính lương cung cấp thông tin được yêu cầu và xác nhận quyết định lưu báo cáo, hệ
thống sẽ lưu báo cáo vào tên và vị trí được chỉ định.
5. Nếu Quản trị viên Bảng lương không chọn lưu báo cáo thì báo cáo sẽ bị loại bỏ.
Nếu, trongLuồng cơ bản, Quản trị viên tính lương chưa chỉ định đủ thông tin để tạo báo cáo đã
chọn, hệ thống sẽ nhắc tác nhân bổ sung thông tin còn thiếu. Quản trị viên tính lương có thể
nhập thông tin còn thiếu hoặc chọn hủy thao tác, lúc này ca sử dụng sẽ kết thúc.
Quản trị viên tính lương phải đăng nhập vào hệ thống để bắt đầu trường hợp sử dụng này.
Điểm mở rộng
Không có.
Dòng sự kiện
Luồng cơ bản
Ca sử dụng này bắt đầu khi Nhân viên muốn tạo báo cáo “Tổng số giờ đã làm việc”, “Tổng số giờ đã làm việc cho một
dự án”, “Nghỉ phép/Nghỉ ốm” hoặc “Tổng lương từ đầu năm đến nay”.
1. Hệ thống yêu cầu Nhân viên chỉ định các tiêu chí báo cáo sau:
- Loại Báo cáo ("Tổng số giờ đã làm việc", "Tổng số giờ đã làm việc cho một dự án", "Nghỉ phép/Nghỉ ốm" hoặc "Tổng lương
tính đến thời điểm hiện tại")
- Ngày bắt đầu và ngày kết thúc của báo cáo
2. Nếu Nhân viên chọn báo cáo “Tổng số giờ đã làm việc cho một dự án”, hệ thống sẽ truy xuất và hiển
thị danh sách các số phí có sẵn từ Cơ sở dữ liệu quản lý dự án. Sau đó, hệ thống sẽ yêu cầu Nhân
viên chọn số khoản phí.
3. Sau khi Nhân viên cung cấp thông tin được yêu cầu, hệ thống sẽ cung cấp cho Nhân viên một báo cáo đáp
ứng các tiêu chí báo cáo.
4. Sau đó, Nhân viên có thể yêu cầu hệ thống lưu báo cáo. Khi đó, hệ thống yêu cầu Nhân viên
cung cấp tên và vị trí lưu báo cáo.
5. Sau khi Nhân viên cung cấp thông tin được yêu cầu và xác nhận quyết định lưu báo cáo, hệ thống sẽ
lưu báo cáo theo tên và vị trí được chỉ định.
6. Nếu Nhân viên không chọn lưu báo cáo, báo cáo sẽ bị loại bỏ.
Nếu, trongLuồng cơ bản, Nhân viên chưa chỉ định đủ thông tin để tạo báo cáo đã chọn, hệ
thống sẽ nhắc nhở tác nhân bổ sung thông tin còn thiếu. Nhân viên có thể nhập thông tin còn
thiếu hoặc chọn hủy thao tác, lúc đó ca sử dụng kết thúc.
Nhân viên phải đăng nhập vào hệ thống trước khi use case này bắt đầu.
Điểm mở rộng
Không có.
Đăng nhập
Mô tả ngắn gọn
Ca sử dụng này mô tả cách người dùng đăng nhập vào Hệ thống tính lương.
Dòng sự kiện
Luồng cơ bản
Ca sử dụng này bắt đầu khi tác nhân muốn Đăng nhập vào Hệ thống tính lương.
2. Hệ thống xác thực tên và mật khẩu đã nhập và đăng nhập tác nhân vào hệ thống.
Hệ thống đang ở trạng thái đăng nhập và hiển thị màn hình đăng nhập.
Điểm mở rộng
Không có.
Dòng sự kiện
Luồng cơ bản
Ca sử dụng này bắt đầu khi Quản trị viên tính lương muốn thêm, thay đổi và/hoặc xóa thông tin nhân viên khỏi hệ
thống.
1. Hệ thống yêu cầu Quản trị viên tính lương chỉ định chức năng mà mình muốn thực hiện (Thêm
nhân viên, Cập nhật nhân viên hoặc Xóa nhân viên)
2. Sau khi Quản trị viên tính lương cung cấp thông tin được yêu cầu, một trong các luồng phụ sẽ được thực thi. Nếu
Quản trị viên tính lương chọn “Thêm nhân viên“, thìThêm nhân viênluồng con được thực thi. Nếu Quản trị viên tính
lương chọn “Cập nhật nhân viên“, thìCập nhật một nhân viênluồng con được thực thi. Nếu Quản trị viên tính lương
chọn “Xóa nhân viên“, thìXóa một nhân viênluồng con được thực thi.
- tiền lương (đối với nhân viên được trả lương và được ủy quyền)
- Tỷ lệ hoa hồng (đối với nhân viên được ủy quyền)
- giới hạn giờ (một số nhân viên có thể không thể làm thêm giờ)
3. Sau khi Quản trị viên tính lương cung cấp thông tin được yêu cầu, hệ thống sẽ tạo và gán một số id nhân
viên duy nhất cho nhân viên đó và đặt phương thức gửi séc lương thành mặc định là "nhận". Nhân viên
được thêm vào hệ thống.
4. Hệ thống cung cấp cho Quản trị viên tính lương id nhân viên mới.
4. Sau khi Quản trị viên tính lương cập nhật thông tin cần thiết, hệ thống sẽ cập nhật hồ sơ nhân
viên với thông tin cập nhật.
2. Quản trị viên tính lương nhập id nhân viên. Hệ thống truy xuất và hiển thị thông tin nhân
viên.
3. Hệ thống nhắc Quản trị viên tính lương xác nhận xóa nhân viên.
4. Quản trị viên tính lương xác minh việc xóa.
5. Hệ thống đánh dấu hồ sơ nhân viên để xóa. Lần tính lương tiếp theo, hệ thống sẽ tạo phiếu
lương cuối cùng cho nhân viên đã xóa và xóa nhân viên đó khỏi hệ thống.
Xóa Đã hủy
Nếu trongXóa một nhân viênluồng phụ, Quản trị viên tính lương quyết định không xóa nhân viên,
việc xóa bị hủy vàLuồng cơ bảnđược bắt đầu lại từ đầu.
Quản trị viên tính lương phải đăng nhập vào hệ thống trước khi ca sử dụng này bắt đầu.
Điểm mở rộng
Không có.
Dòng sự kiện
Luồng cơ bản
Ca sử dụng này bắt đầu khi Nhân viên được ủy quyền muốn thêm, thay đổi và/hoặc xóa thông tin đơn
đặt hàng khỏi hệ thống.
1. Hệ thống yêu cầu Nhân viên được ủy quyền chỉ định chức năng mà mình muốn thực hiện (Tạo Đơn
đặt hàng, Cập nhật Đơn đặt hàng hoặc Xóa Đơn đặt hàng)
2. Sau khi Nhân viên được ủy quyền cung cấp thông tin được yêu cầu, một trong các quy trình phụ sẽ được thực thi.
Nếu Nhân viên được ủy quyền chọn “Tạo đơn đặt hàng”, thìTạo đơn đặt hàngluồng con được thực thi.
Nếu Nhân viên được ủy quyền chọn “Cập nhật đơn đặt hàng”, thìCập nhật đơn đặt hàngluồng con được thực
thi.
Nếu Nhân viên được ủy quyền chọn “Xóa đơn đặt hàng”, thìXóa đơn đặt hàngluồng con được thực
thi.
2. Sau khi Nhân viên được ủy quyền cung cấp thông tin được yêu cầu, hệ thống sẽ tạo và chỉ định một
số đơn đặt hàng duy nhất cho đơn đặt hàng đó. Đơn đặt hàng được thêm vào hệ thống dành cho
Nhân viên được ủy quyền.
3. Hệ thống cung cấp cho Nhân viên được ủy quyền id đơn đặt hàng mới.
7. Sau khi Nhân viên được ủy quyền cập nhật các thông tin cần thiết, hệ thống sẽ cập nhật đơn đặt
hàng với thông tin cập nhật.
Nếu, trongCập nhật Đơn đặt hàng hoặc Xóa Đơn đặt hàngcác luồng phụ, Nhân viên được ủy quyền cố
gắng truy cập vào đơn đặt hàng không phải của mình, hệ thống sẽ hiển thị thông báo lỗi. Sau đó, Nhân viên
được ủy quyền có thể nhập một số id khác hoặc hủy thao tác, lúc đó ca sử dụng kết thúc.
Xóa Đã hủy
Nếu, trongXóa đơn đặt hàngluồng phụ, Nhân viên được ủy quyền quyết định không xóa
đơn đặt hàng, việc xóa bị hủy vàLuồng cơ bảnđược bắt đầu lại từ đầu.
Nhân viên được ủy quyền phải đăng nhập vào hệ thống trước khi ca sử dụng này bắt đầu.
Điểm mở rộng
Không có.
Mô tả ngắn gọn
Ca sử dụng này cho phép Nhân viên cập nhật và gửi thông tin phiếu chấm công. Nhân viên làm theo giờ và được trả lương phải nộp
phiếu chấm công hàng tuần ghi lại tất cả số giờ đã làm việc trong tuần đó và số giờ được tính cho dự án nào. Nhân viên chỉ có thể
thực hiện các thay đổi đối với thẻ chấm công cho kỳ lương hiện tại và trước khi thẻ chấm công được gửi.
Dòng sự kiện
Luồng cơ bản
Ca sử dụng này bắt đầu khi Nhân viên muốn nhập số giờ đã làm việc vào thẻ chấm công hiện tại của mình.
1. Hệ thống truy xuất và hiển thị bảng chấm công hiện tại của Nhân viên. Nếu thẻ chấm công không tồn tại cho Nhân viên
trong kỳ lương hiện tại, hệ thống sẽ tạo một thẻ mới. Ngày bắt đầu và ngày kết thúc của bảng chấm công do hệ thống
đặt và Nhân viên không thể thay đổi.
2. Hệ thống truy xuất và hiển thị danh sách số phí hiện có từ Cơ sở dữ liệu quản lý dự án.
3. Nhân viên chọn số tính phí thích hợp và nhập số giờ đã làm việc vào bất kỳ ngày mong muốn nào (trong phạm vi
ngày của thẻ chấm công).
4. Sau khi Nhân viên nhập thông tin, hệ thống sẽ lưu bảng chấm công.
3. Hệ thống xác thực thẻ chấm công bằng cách kiểm tra số giờ đã làm việc đối với từng mã số phí.
Tổng số giờ làm việc so với tất cả các khoản phí không được vượt quá bất kỳ giới hạn nào được
thiết lập cho Nhân viên (ví dụ: Nhân viên có thể không được phép làm thêm giờ).
4. Hệ thống lưu giữ số giờ làm việc của từng mã số cước trong thẻ chấm công.
5. Hệ thống lưu bảng chấm công.
6. Hệ thống đặt thẻ chấm công ở chế độ chỉ đọc và không được phép thay đổi thêm sau khi thẻ chấm công
được gửi.
Nhân viên phải đăng nhập vào hệ thống trước khi use case này bắt đầu.
Điểm mở rộng
Không có.
Mô tả ngắn gọn
Ca sử dụng mô tả cách tính lương vào thứ Sáu hàng tuần và ngày làm việc cuối cùng của tháng.
Dòng sự kiện
Luồng cơ bản
1. Ca sử dụng bắt đầu khi đến lúc chạy bảng lương. Việc tính lương được thực hiện tự động vào thứ sáu hàng tuần và ngày làm việc
cuối cùng của tháng.
2. Hệ thống truy xuất tất cả nhân viên cần được trả lương vào ngày hiện tại.
3. Hệ thống tính toán lương bằng cách sử dụng thẻ chấm công, đơn đặt hàng, thông tin nhân viên đã nhập (ví dụ: tiền lương, phúc lợi,
v.v.) và tất cả các khoản khấu trừ hợp pháp.
4. Nếu phương thức gửi thanh toán là gửi qua đường bưu điện hoặc nhận hàng, hệ thống sẽ in phiếu lương.
5. Nếu phương thức thanh toán là gửi tiền trực tiếp, hệ thống sẽ tạo giao dịch ngân hàng và gửi đến Hệ thống ngân
hàng để xử lý.
6. Ca sử dụng kết thúc khi tất cả nhân viên nhận lương vào ngày mong muốn đã được xử lý.
Nếu Hệ thống Ngân hàng ngừng hoạt động, hệ thống sẽ cố gắng gửi lại giao dịch ngân hàng sau một khoảng thời
gian nhất định. Hệ thống sẽ tiếp tục cố gắng truyền lại cho đến khi Hệ thống Ngân hàng khả dụng.
Không có.
Điểm mở rộng
Không có.
Mô tả ngắn gọn
Ca sử dụng này cho phép Nhân viên chọn phương thức thanh toán. Phương thức thanh toán kiểm soát cách Nhân viên
sẽ được thanh toán. Nhân viên có thể chọn: trực tiếp nhận séc, nhận séc qua đường bưu điện hoặc gửi trực tiếp vào tài
khoản ngân hàng được chỉ định.
Dòng sự kiện
Luồng cơ bản
Ca sử dụng này bắt đầu khi Nhân viên muốn chọn phương thức thanh toán.
1. Hệ thống yêu cầu Nhân viên chỉ định phương thức thanh toán mà anh ta muốn (có thể: “nhận”, “gửi thư” hoặc “gửi tiền
trực tiếp”).
3. Nếu Nhân viên chọn phương thức thanh toán “nhận hàng” thì không cần thêm thông tin gì.
Nếu Nhân viên chọn phương thức thanh toán “gửi thư”, hệ thống sẽ yêu cầu Nhân viên chỉ định địa chỉ
mà tiền lương sẽ được gửi đến.
Nếu Nhân viên chọn phương thức “gửi tiền trực tiếp”, hệ thống sẽ yêu cầu Nhân viên chỉ định tên ngân
hàng và số tài khoản.
4. Sau khi Nhân viên cung cấp thông tin được yêu cầu, hệ thống sẽ cập nhật thông tin Nhân viên để phản ánh phương thức
thanh toán đã chọn.
Nhân viên phải đăng nhập vào hệ thống trước khi use case này bắt đầu.
Điểm mở rộng
Không có.
Trong một số phần của tài liệu này, kiến trúc được thể hiện bằng văn bản. Học viên, như một phần của các bài
tập trong suốt khóa học, sẽ tạo ra các sơ đồ UML liên quan. Do đó, để biết cách trình bày kiến trúc UML, hãy xem
Giải pháp bài tập tính lương.
Lưu ý: MỘT TẬP HỢP CON CỦA HỆ THỐNG TRẢ LÃI ĐƯỢC CUNG CẤP. Tập trung vào các yếu tố cần thiết để hỗ trợ các trường
hợp sử dụng Đăng nhập, Duy trì Thẻ chấm công và Chạy Bảng lương.
Giao diện kế thừa: Một phương tiện để truy cập hệ thống cũ với giao diện hiện có.
Lưu ý: Gọi phương thức từ xa (RMI) là một cơ chế dành riêng cho Java cho phép các đối tượng máy khách gọi các hoạt động
trên đối tượng máy chủ như thể chúng là cục bộ. Java RMI gốc đi kèm với Java 1.1 của Sun.
Bảo vệ
<<Giao diện>>
Truy cập bảo mật
Dữ liệu an toàn
(từ Giao diện an toàn)
(từ Giao diện an toàn)
+ isReadable() : Boolean
+ getUniqueId() : UniqueId
+ isWriteable() : Boolean
+ isDeleteable() : Boolean
Id duy nhất + makeReadable()
(từ Giao diện an toàn) + makeWriteable()
<< vai trò >> + makeDeleteable()
MẫuSecureClass + tạo e() : UniqueId + mới()
+ asSt ring() : Chuỗi
+ getUniqueID() + UniqueId(giá trị: Chuỗi)
Mô tả lớp học
Dữ liệu an toàn:Cơ chế phân tích:
- Bảo vệ
MẫuSecureClass:
Biểu mẫu ứng dụng chính:Yêu cầu truy xuất nguồn gốc:
- Khả năng sử dụng: Giao diện người dùng trên máy tính để bàn phải tương thích với Windows 95/98.
1. bắt đầu( )
1.1. mở( )
4.2. setupSecurityContext( )
Các
5. setupSecurityContext( ) Ứng dụng chính nForm
giữ lại giây ừ
Hiển thị ừ 5.1. getUserContext( ) bối cảnh người dùng cho r sau
hoạt độngation/chức năng xử lý bằng t Anh ta
tôiayAvailOperations( )
7. hiển thị
Chắc chắn : :
khách hàng Bảo mậtTruy cập
VÀ/O
4.
Đối với JDBC, máy khách sẽ làm việc với DBClass để đọc và ghi dữ liệu liên tục.
DBClass chịu trách nhiệm truy cập cơ sở dữ liệu JDBC bằng lớp DriverManager.
Khi kết nối cơ sở dữ liệu được mở, DBClass có thể tạo các câu lệnh SQL sẽ
được gửi đến RDBMS cơ bản và được thực thi bằng cách sử dụng lớp
Statement. Kết quả của truy vấn SQL được trả về trong đối tượng lớp
ResultSet.
1 (từ java.sql)
Sự liên quan
(từ java.sql) + getConnection()
+ createSt atement()
Tuyên bố
(từ java.sql)
+ thực thiQuery()
Bộ kết quả
(từ java.sql)
+ thực thiUpdate()
+ getString()
Mô tả lớp học
Tính kiên trì của khách hàng:Một ví dụ về một khách hàng của một lớp kiên trì.
Tuyên bố:Lớp được sử dụng để thực thi một câu lệnh SQL tĩnh và thu được kết quả do nó tạo ra. Các câu lệnh SQL
không có tham số thường được thực thi bằng cách sử dụng các đối tượng Statement.
Lớp DB:Một mẫu của một lớp chịu trách nhiệm làm cho một lớp khác tồn tại lâu dài. Mỗi
Lớp liên tục sẽ có một DBClass tương ứng (ví dụ: Sinh viên sẽ có một lớp DBStudent).
Với RDBMS, bạn cần ánh xạ các đối tượng/lớp tới các bảng và bạn phải tạo lại các cấu trúc (liên kết/
tập hợp). DBClass là lớp giao diện cơ sở dữ liệu hiểu ánh xạ OO-to-RDBMS và có hành vi giao tiếp với
RDBMS. Lớp giao diện cơ sở dữ liệu này được sử dụng bất cứ khi nào một lớp liên tục cần được tạo,
truy cập hoặc xóa. Lớp giao diện cơ sở dữ liệu làm phẳng đối tượng và ghi nó vào RDBMS, đồng thời
đọc dữ liệu đối tượng từ RDBMS và xây dựng đối tượng.
Sự liên quan:Một kết nối (phiên) với cơ sở dữ liệu cụ thể. Trong ngữ cảnh của Kết nối, các câu lệnh
SQL được thực thi và kết quả được trả về.
Bộ kết quả:Bộ kết quả cung cấp quyền truy cập vào một bảng dữ liệu. Đối tượng ResultSet thường được tạo bằng cách
thực thi một Câu lệnh.
Trình quản lý trình điều khiển:Dịch vụ cơ bản để quản lý một bộ trình điều khiển JDBC.
vì vậy nó có thể
1.2. createStatement(
thực thi SQL
tuyên bố
1.3.
Để cập nhật một lớp, máy khách yêu cầu DBClass cập nhật. Truy xuất DBClass từ đối
tượng PersistentClass hiện có và tạo một Tuyên bố mới bằng cách sử dụng thao tác
createStatement() của lớp kết nối. Sau khi Câu lệnh được xây dựng, câu lệnh được
thực thi và cơ sở dữ liệu được cập nhật với dữ liệu mới từ
1. tạo( )
1.1. mới( )
1.3. createStatement( )
Để tạo một lớp mới, máy khách yêu cầu DBClass tạo lớp mới. DBClass tạo một
phiên bản mới của Lớp liên tục với các giá trị mặc định. Sau đó, DBClass tạo một
Tuyên bố mới bằng cách sử dụng thao tác createStatement() của lớp Connection.
Câu lệnh được thực thi và dữ liệu được chèn vào cơ sở dữ liệu.
1. xóa (PersistentClass)
Để xóa một lớp, máy khách yêu cầu DBClass xóa một thể hiện của
lớp cụ thể. DBClass tạo một câu lệnh mới bằng cách sử dụng thao
tác createStatement() của lớp Connection và xây dựng câu lệnh
SQL chính xác cho phiên bản đối tượng được truyền vào. Câu lệnh
được thực thi và dữ liệu sẽ bị xóa khỏi cơ sở dữ liệu.
: DBClass :
Trình quản lý trình điều khiển
Để khởi tạo kết nối, DBClass phải tải trình điều khiển thích
hợp bằng cách gọi thao tác DriverManager getConnection()
bằng URL, người dùng và mật khẩu.
Thông số:
url - Url cơ sở dữ liệu có dạng jdbc:subprotocol:subname
user - Người dùng cơ sở dữ liệu thay mặt họ thực hiện
Kết nối
mật khẩu - Mật khẩu của người dùng
Giao diện khách hàng với lớp SampleDBManager, lớp này kiểm soát quyền truy
<< vai trò >> cập vào các đối tượng PersistentClas trong cơ sở dữ liệu. SampleDBManager
Tính kiên trì của khách hàng cũng kiểm soát quyền truy cập, đăng ký và quản lý phiên của người dùng.
(từ SamplePersistency Client) SampleDBManager có thể chạy như một máy chủ ứng dụng hoạt động phía
sau máy chủ web và cung cấp quyền truy cập vào cơ sở dữ liệu.
0..*
Để truy cập một đối tượng liên tục, máy khách làm việc với c lass
1
SampleDBManager. Máy khách có thể tạo một phiên bản mới của
<< vai trò >>
PersistentClass bằng toán hạng " newPersistentClass()" hoặc gọi một
Trình quản lý mẫuDB
lệnh trên PersistentClass bằng toán hạng "command( )". Trong ứng
dụng thực tế, thao tác "lệnh()" sẽ được thay thế bằng các thao tác từ
Persis tentClass.
+ khởi tạo()
+ lệnh() Máy khách chịu trách nhiệm khởi tạo kích thước và tắt cơ sở dữ liệu
+ tắt máy()
thông qua lớp SampleDBManager, tuy nhiên máy khách không cần
+ mớiLều PersisClass() biết bất kỳ chi tiết nào của cơ sở dữ liệu ObjectStore.
+ RemovePers istentClass()
+ getPers istentClassData()
Trong ngữ cảnh của cơ sở dữ liệu ObjectStore, Pers istentClass được
coi là "lớp gốc". Nếu có các lớp gốc khác, sẽ có các lớp bổ sung có
quan hệ liên kết với SampleDBManager.
<< vai trò >>
Lớp liên tục
Từ hướng dẫn sử dụng ObjectStore: "Các đối tượng trở thành các đối tượng bền vững
(từ SamplePersistentClass)
khi chúng được tham chiếu bởi các đối tượng bền vững khác. Ứng dụng xác định các
gốc liên tục và khi nó cam kết khi giao dịch, PSE/PSE Pro sẽ tìm thấy tất cả các đối
+ getData()
tượng có thể truy cập được từ các gốc liên tục và lưu trữ chúng trong cơ sở dữ liệu.
+ setData()
+ lệnh()
Đây là tính năng được dẫn dắt bởi khả năng tiếp cận và nó giúp duy trì
+ mới()
ngữ nghĩa quản lý lưu trữ tự động của Java. "
Bạn xác định PersistentClass cho việc sử dụng lều kiên trì giống như cách
bạn xác định nó để sử dụng tạm thời. Ngoài câu lệnh import com.odi.* bắt
buộc, hầu như không có mã đặc biệt nào cho việc sử dụng liên tục Persis
tentClass.
Mô tả lớp học
Tính kiên trì của khách hàng:Một ví dụ về một khách hàng của một lớp kiên trì.
Trình quản lý mẫuDB:Chịu trách nhiệm cung cấp quyền truy cập vào các đối tượng liên tục.
SampleDBManager là một ví dụ về lớp mà người dùng ObjectStore sẽ viết. Nó là một lớp điều khiển cung cấp một điểm
vào duy nhất vào cơ sở dữ liệu ObjectStore cụ thể. Người dùng sẽ thêm các thao tác thích hợp vào lớp để truy cập các thực
thể trong cơ sở dữ liệu. Nó thường được triển khai dưới dạng đơn lẻ, nhưng không nhất thiết phải như vậy (nếu một ứng
dụng cần mở nhiều phiên bản của cơ sở dữ liệu cùng một lúc thì mỗi phiên bản sẽ có SampleDBManager riêng). Cả hai giải
pháp đều hoạt động, nó chỉ phụ thuộc vào cách bạn muốn thực hiện.
Lớp DBManager chứa hầu hết mã dành riêng cho cơ sở dữ liệu, chẳng
hạn như bắt đầu và kết thúc giao dịch. Không có đối tượng DBManager
nào được lưu trữ trong cơ sở dữ liệu, điều đó có nghĩa là lớp DBManager
không bắt buộc phải có khả năng duy trì lâu dài.
+ khởi tạo()
+ lệnh()
+ tắt máy()
+ newPersistentClass() : PersistentClass
1
+ RemovePersistentClass(theClass : PersistentClass)
+ getPersistentClassData() : PersistentClass
Phiên họp
(từ com.odi) 1 Quặng đối tượng
1 1 1 (từ com.odi)
1
1
+ tạo()
+ hủy (đối tượng: Đối tượng)
+ tham gia()
Mô tả lớp học
Phiên họp:Lớp đại diện cho một phiên cơ sở dữ liệu. Một phiên phải được tạo để truy cập cơ sở dữ liệu
và mọi dữ liệu liên tục.
Phiên là bối cảnh trong đó cơ sở dữ liệu PSE/PSE Pro được tạo hoặc mở và các giao dịch có thể được thực thi.
Mỗi lần chỉ có một giao dịch có thể tồn tại trong một phiên.
Bản đồ:Một lớp chứa bản đồ liên tục lưu trữ các cặp khóa/giá trị.
Trước khi bắt đầu tạo các đối tượng cố định, bạn phải tạo cơ sở dữ liệu để lưu giữ các đối tượng đó. Trong các quy trình
tiếp theo, bạn mở cơ sở dữ liệu để cho phép quy trình đọc hoặc sửa đổi các đối tượng. Để tạo cơ sở dữ liệu, bạn gọi
phương thức create() tĩnh trên lớp Cơ sở dữ liệu và chỉ định tên cơ sở dữ liệu cũng như chế độ truy cập.
Giao dịch:Một giao dịch ObjectStore. Quản lý một đơn vị công việc hợp lý. Tất cả các đối tượng liên tục phải được truy
cập trong một giao dịch.
Cửa hàng đối tượng:Xác định các hoạt động cấp hệ thống không dành riêng cho bất kỳ cơ sở dữ liệu nào.
Trình quản lý mẫuDB:Chịu trách nhiệm cung cấp quyền truy cập vào các đối tượng liên tục.
SampleDBManager là một ví dụ về lớp mà người dùng ObjectStore sẽ viết. Nó là một lớp điều khiển cung cấp một điểm
vào duy nhất vào cơ sở dữ liệu ObjectStore cụ thể. Người dùng sẽ thêm các thao tác thích hợp vào lớp để truy cập các thực
thể trong cơ sở dữ liệu. Nó thường được triển khai dưới dạng đơn lẻ, nhưng không nhất thiết phải như vậy (nếu một ứng
dụng cần mở nhiều phiên bản của cơ sở dữ liệu cùng một lúc thì mỗi phiên bản sẽ có SampleDBManager của riêng nó). Cả
hai giải pháp đều hoạt động, nó chỉ phụ thuộc vào cách bạn muốn thực hiện.
1. newPersistentClass( )
1.1. bắt đầu( ) constructor
gọi
Gốc là
1.2. mới( ) mục nhập
chỉ vào thứ e
Cơ sở dữ liệu.
1.3. put(chuỗi, đối tượng)
Để tạo một phiên bản mới của PersistentClass trong cơ sở dữ liệu, trước tiên
SampleDBManager tạo một giao dịch rồi gọi hàm tạo cho PersistentClass. Khi lớp
đã được xây dựng, lớp đó sẽ được thêm vào cơ sở dữ liệu thông qua thao tác "put()"
gốc. Giao dịch sau đó được cam kết.
Tính kiên trì của khách hàng Trình quản lý mẫuDB Bản đồ Lớp liên tục
manuôitôi
tôi
đã xóa. Cái này đã được
essary vì đó không
không cần thiết
đã xóa, lại di chuyển
Để xóa một đối tượng khỏi cơ sở dữ liệu, SampleDBManager trước tiên tạo một giao dịch mới, xóa
mọi phần cấu thành và sau đó xóa đối tượng bằng thao tác "remove()" gốc cơ sở dữ liệu. Sau đó,
đối tượng sẽ bị xóa hoàn toàn khỏi cơ sở dữ liệu ObjectStore ngay lập tức thông qua
ObjectStore.destry(). Khi đối tượng đã bị xóa, giao dịch được thực hiện.
Do đó, trong ObjectStore, việc xóa thực sự có hai bước -- xóa khỏi lớp container là cơ sở dữ liệu trong
bộ nhớ và xóa khỏi cơ sở dữ liệu vật lý. đó là vì bạn muốn việc xóa diễn ra ngay lập tức, thay vì được lưu
vào bộ nhớ đệm.
Gốc là
1. getPersistentClassData( ) mục nhập
Tìm đối tượng TRONG điểm int ot Anh ta
1.1. bắt đầu( )
kho dữ liệu; vượt qua Cơ sở dữ liệu.
trong k duy nhất ôi
Bắt đầu một chỉ đọc
t giao dịch Tôi
vào để đảm bảo
rằng đối tượng không phải
1.2. lấy (chuỗi)
thay đổi d trong khi chúng ta
đọc Nó
1.3. getDa ta(Chuỗi)
Để đọc một đối tượng, trước tiên SampleDBManager tạo một giao dịch chỉ đọc mới, sau đó tra cứu đối
tượng bằng thao tác Map "get()". Khi đối tượng đã được tìm thấy, nó có thể được đọc bằng thao tác
"getData()" và giao dịch đã được thực hiện. RETAIN_HOLLOW được chỉ định cho cam kết,. vì vậy các
tham chiếu đến đối tượng và dữ liệu được truy xuất có thể được sử dụng bên ngoài giao dịch truy xuất.
Sau khi giao dịch được thực hiện, đối tượng có thể được cập nhật.
Lưu ý: Mặc dù RETAIN_HOLLOW được chỉ định nhưng nó không đảm bảo tính toàn vẹn của tham chiếu
bên ngoài giao dịch. Vẫn có một số rủi ro rằng tài liệu tham khảo có thể đã lỗi thời. RETAIN_HOLLOW về
cơ bản có nghĩa là "Tôi cố tình chấp nhận rủi ro như vậy". Nếu tùy chọn đó không được sử dụng thì tài
liệu tham khảo sẽ không có sẵn.
1. lệnh( ) Gốc là
mục nhập
1.1. bắt đầu( ) chỉ vào
Cơ sở dữ liệu.
Tìm t anh phản đối
cơ sở dữ liệu S
trong ae; nhập
duy nhất phím e 1.2. lấy (chuỗi)
Gọi sự vật
yêu cầu
1.3. yêu cầu( )
1.4. làm
Để cập nhật một đối tượng, trước tiên SampleDBManager tạo một giao
dịch mới sau đó tra cứu đối tượng bằng thao tác Map "get ()". Một khi
đối tượng đã được tìm thấy, một lệnh có thể được thực hiện trên nó.
Khi lệnh hoàn tất, giao dịch được thực hiện.
Một put () tot a Map riêng biệt là không cần thiết vì thao tác get () trả về một
tham chiếu đến đối tượng liên tục và mọi thay đổi đối với đối tượng đó, nếu
được thực hiện trong ngữ cảnh khi giao dịch, sẽ được tự động thực hiện tot
anh cơ sở dữ liệu.
1.7. làm ()
Khi phiên đã được tạo và tham gia, SampleDBManager phải mở và tạo cơ sở dữ liệu mới.
Để tạo cơ sở dữ liệu, SampleDBManager tạo một giao dịch mới và tạo "gốc" của cơ sở dữ liệu bằng thao
tác "createRoot()".
Root là điểm vào Cơ sở dữ liệu (lớp gốc là lớp cấp cao nhất trong cơ sở dữ liệu đối tượng). Đó là cấu trúc dữ
liệu "đặc biệt" (trong ví dụ trên là Bản đồ chứa các phiên bản của lớp gốc và tất cả các lasses c "có thể truy
cập"). Bất kỳ thay đổi nào đối với cấu trúc dữ liệu này xảy ra trong bối cảnh giao dịch sẽ được áp dụng cho
Cơ sở dữ liệu ObjectStore được liên kết. Có thể có nhiều cơ sở dữ liệu gốc.
1. tắt máy( )
1.1. đóng( )
Mô tả lớp học
Đặt tên.:
* Đây là cơ chế khởi động để thu thập các tham chiếu tới điều khiển từ xa
* các đối tượng dựa trên cú pháp Bộ định vị tài nguyên thống nhất (URL). URL
* đối với một đối tượng ở xa được chỉ định bằng cách sử dụng máy chủ, cổng và
* tên:
* <br> rmi://host:port/name
* <br> máy chủ = tên máy chủ của sổ đăng ký (mặc định là máy chủ hiện tại)
* <br> port = số cổng đăng ký (mặc định là số cổng đăng ký) name =
* <br> tên cho đối tượng từ xa
Xa:
* Giao diện Remote dùng để xác định tất cả các đối tượng từ xa.
* Bất kỳ đối tượng nào là đối tượng ở xa đều phải thực hiện trực tiếp hoặc gián tiếp
* giao diện này. Chỉ những phương thức được chỉ định trong giao diện từ xa mới được
* có sẵn từ xa. <p>
* Các lớp triển khai có thể triển khai bất kỳ số lượng giao diện từ xa nào
* và có thể mở rộng các lớp triển khai từ xa khác.
Đối với tất cả các lớp nhận ra giao diện Từ xa, một sơ khai từ xa và một khung từ xa sẽ được
tạo. Các lớp này xử lý giao tiếp phải xảy ra để hỗ trợ phân phối.
Dữ liệu mẫu đã qua:Một ví dụ về dữ liệu được truyền đến/từ một lớp phân tán.
ISampleDistributedClassInterface:Một ví dụ về giao diện được xác định cho lớp phân tán.
Có thể tuần tự hóa:Bất kỳ lớp Java nào bạn muốn chuyển làm đối số cho một thao tác trên giao diện từ xa đều
phải nhận ra giao diện Serializable.
2. làm gì đó
Sơ đồ này mô tả những gì xảy ra “dưới mui xe”, nhưng trên thực tế,
bạn không thực sự cần lập mô hình RemoteStub và RemoteSkeleton
vì chúng được tạo tự động bởi các công cụ của Sun.
: : Đặt tên. : :
MẫuDistributedClassClient ISampleDist phân nhánhClassInterface MẫuPhân phốiLớp
2. làm gì đó
Tất cả các cuộc gọi tới giao diện lớp học bị hủy hoại
Vùng chứa được chọn là Bản đồ, trong đó khóa duy nhất để truy cập Nhân viên là ID nhân viên.
Có một lớp DBManager cho mỗi phiên bản cơ sở dữ liệu ObjectStore. Đối với Hệ thống tính lương, có một cơ sở dữ
liệu ObjectStore, Cơ sở dữ liệu tính lương, chứa thông tin nhân viên, bao gồm phiếu chấm công, đơn đặt hàng và
thông tin về phiếu lương. Do đó, có một PayrollDBManager tồn tại trong gói Hỗ trợ OODBMS mới.
Đối với cơ chế liên tục của ObjectStore, lớp DBManager bao gồm các hoạt động để truy cập các thực thể liên tục
OODBMS trong cơ sở dữ liệu. Đối với lớp PayrollDBManager, các hoạt động đã được thêm vào để truy cập thông tin
Nhân viên, Thẻ chấm công, Đơn đặt hàng và Phiếu lương vì điều đó là bắt buộc đối với chức năng hệ thống cốt lõi.
Trong Xác định Cơ chế Thiết kế, kiến trúc sư cung cấp hướng dẫn cho người thiết kế và đảm bảo rằng kiến
trúc có cơ sở hạ tầng cần thiết để hỗ trợ cơ chế. Do đó, PayrollDBManager và các gói và mối quan hệ kiến
trúc hỗ trợ (Hỗ trợ OODBMS) đã được xác định trong Xác định Cơ chế Thiết kế. Tuy nhiên, việc phát triển các
sơ đồ tương tác mô tả các hoạt động này và nơi chúng phù hợp với việc thực hiện ca sử dụng hiện có đã bị trì
hoãn cho đến khi thiết kế chi tiết (ví dụ: Ca sử dụng và Thiết kế hệ thống con).
Sơ đồ sau đây thể hiện các hoạt động đã được xác định cho PayrollDBManager trong quá trình Xác
định Cơ chế Thiết kế:
<<lớp>>
Ứng dụng
<<lớp>>
Việc kinh doanh
Dịch vụ
<<lớp>>
Phần mềm trung gian
Tái sử dụng cơ sở
toàn cầu
Mô tả lớp
Lớp ứng dụng:Lớp Ứng dụng chứa các thành phần thiết kế dành riêng cho ứng dụng.
Lớp dịch vụ kinh doanh:Lớp Dịch vụ nghiệp vụ chứa các phần tử dành riêng cho nghiệp vụ được sử dụng trong
một số ứng dụng.
Lớp phần mềm trung gian:Cung cấp các tiện ích và dịch vụ độc lập với nền tảng.
Khi OODBMS
cơ chế được kết hợp, sự phụ
thuộc vào
Hỗ trợ ObjectStore sẽ được thêm
vào
Hỗ trợ ObjectStore
(từ Dịch vụ kinh doanh )
Khung GUI
(từ Bảo mật)
Bảo vệ
(từ Dịch vụ kinh doanh)
com.odi java.sql
java.rmi java.awt (từ Phần mềm trung gian) (từ Phần mềm trung gian)
Tái sử dụng cơ sở
java.lang
toàn cầu
(từ Phần mềm trung gian)
Mô tả gói
Hoạt động của nhân viên:Chứa các yếu tố thiết kế hỗ trợ các ứng dụng của Nhân viên.
Sự quản lý:Chứa các yếu tố thiết kế hỗ trợ các ứng dụng của Quản trị viên bảng lương.
Lương bổng:Chứa các yếu tố thiết kế hỗ trợ việc thực hiện xử lý bảng lương.
Hiện vật bảng lương:Chứa các bản tóm tắt bảng lương cốt lõi.
Hệ thống con hệ thống ngân hàng:Đóng gói thông tin liên lạc với tất cả các hệ thống ngân hàng bên ngoài.
Giao diện hệ thống bên ngoài:Chứa các giao diện hỗ trợ truy cập vào hệ thống bên ngoài. Điều này là để các lớp giao
diện hệ thống bên ngoài có thể được kiểm soát phiên bản một cách độc lập với các hệ thống con hiện thực hóa chúng.
Hệ thống con dịch vụ in:Cung cấp các tiện ích để tạo bản cứng.
Hệ thống con cơ sở dữ liệu quản lý dự án:Đóng gói giao diện tới cơ sở dữ liệu kế thừa chứa thông
tin liên quan đến các dự án và số phí.
java.awt:Gói java.awt chứa các thành phần thiết kế GUI cơ bản cho java.
com.odi:Gói com.odi chứa các thành phần thiết kế hỗ trợ cơ chế bền vững OODBMS. Tên của gói
trong mô hình phản ánh quy ước đặt tên cho phần mềm Java của bên thứ 3. Quy ước là sử dụng tên
miền ngược lại, vì vậy nếu Rational có gói Java có tên là "util" thì họ sẽ gọi nó là "com.rational.util".
Com.odi này không liên quan gì đến Microsoft COM/DCOM; chúng hoàn toàn tách biệt. Không có gì
liên quan đến COM/DCOM khi sử dụng CORBA, RMI hoặc ObjectStore.
Bảo vệ:Chứa các phần tử thiết kế thực hiện cơ chế bảo mật.
Khung GUI:Gói này bao gồm toàn bộ khuôn khổ để quản lý giao diện người dùng.
Nó có ViewHandler quản lý việc mở và đóng các cửa sổ, cộng với giao tiếp giữa các cửa
sổ để các cửa sổ không cần phụ thuộc trực tiếp vào nhau.
Khung này có tính năng nhận biết bảo mật, nó có một cửa sổ đăng nhập sẽ tạo đối tượng ngữ cảnh người dùng thường trú trên máy
chủ. Lớp ViewHandler quản lý một điều khiển đối tượng ngữ cảnh của người dùng.
ViewHandler cũng khởi động các lớp trình điều khiển cho từng trình quản lý ca sử dụng.
Giao diện an toàn:Chứa các giao diện cung cấp cho khách hàng quyền truy cập vào các dịch vụ bảo mật.
Hệ thống con quản lý bảo mật:Cung cấp việc triển khai các dịch vụ bảo mật cốt lõi.
Hỗ trợ ObjectStore:Chứa các thành phần thiết kế dành riêng cho doanh nghiệp hỗ trợ cơ chế bền
vững OODBMS. Điều này bao gồm DBManager. Lớp DBManager phải chứa các thao tác cho mọi lớp
liên tục OODBMS.
java.rmi:Gói java.rmi chứa các lớp triển khai cơ chế phân phối RMI. Gói này có sẵn trên thị
trường với hầu hết các IDE JAVA tiêu chuẩn.
java.sql:Gói chứa các thành phần thiết kế hỗ trợ tính ổn định của RDBMS.
Quy trình
Các quy trình của Hệ thống tính lương sẽ như sau:
Một quy trình trên mỗi giao diện chính hoặc nhóm biểu mẫu (ví dụ: Ứng dụng nhân viên):
- Ứng dụng Nhân viên: Điều khiển giao diện của ứng dụng Nhân viên. Kiểm soát nhóm biểu mẫu mà nhân viên
sử dụng.
Có một quy trình cho mỗi giao diện chính vì những quy trình này hiện được coi là các ứng dụng riêng biệt, loại trừ lẫn nhau
và sẽ chạy đồng thời với nhau.
Một quy trình cho mỗi bộ điều khiển dịch vụ kinh doanh:
- Quy trình kiểm soát tiền lương
- Quy trình điều khiển thẻ thời gian
Có một quy trình cho mỗi bộ điều khiển vì các hoạt động này sẽ cần chạy đồng thời với nhau.
- Quản lý dự ánDBAccess
- Truy cập hệ thống ngân hàng
- Truy cập máy in
Có một quy trình cho mỗi hệ thống bên ngoài. Các quy trình này quản lý quyền truy cập vào các hệ thống đó. Việc truy cập như vậy có thể
chậm, vì vậy điều này cho phép các chức năng khác tiếp tục trong khi các quy trình hệ thống bên ngoài chờ đợi trên hệ thống bên ngoài. Các
quy trình này cũng đồng bộ hóa quyền truy cập vào các hệ thống bên ngoài từ các quy trình hệ thống khác.
Để cải thiện hơn nữa thông lượng và quay vòng, chuỗi Giao dịch Ngân hàng đã được xác định để cho phép nhiều quyền truy cập vào
Hệ thống Ngân hàng xảy ra đồng thời. Mỗi lần một giao dịch cần được gửi đến Hệ thống Ngân hàng, một luồng khác sẽ được sử
dụng. Chuỗi Giao dịch Ngân hàng sẽ chạy trong bối cảnh của quy trình Truy cập Hệ thống Ngân hàng.
Nhìn chung, các quy trình và luồng trên được xác định để hỗ trợ thời gian phản hồi nhanh hơn và tận dụng
nhiều bộ xử lý.
- Máy tính để bàn được kết nối với Máy chủ tính lương thông qua mạng LAN của Công ty
- Máy in được kết nối với Máy chủ tính lương thông qua mạng LAN Công ty
- Máy chủ tính lương được kết nối với Hệ thống Ngân hàng bên ngoài thông qua Internet.
- Máy chủ tính lương được kết nối với Cơ sở dữ liệu quản lý dự án thông qua mạng LAN Công ty
Các quy trình sau chạy trên Máy chủ tính lương:
- Quy trình kiểm soát tiền lương
- Quy trình điều khiển thẻ thời gian
- Quản lý dự ánDBAccess
- Truy cập hệ thống ngân hàng
- Truy cập máy in