1. Thực trạng và những vấn đề nảy sinh trong hệ thống quản lý kết quả đào tạo tạ
4.3 Biểu đồ trình tự thực thi các ca sử dụng
Biểu đồ trình tự mô tả sự trao đổi thông điệp giữa các đối tƣợng trình tự theo thời gian, thông điệp đƣợc gửi và nhận bởi các đối tƣợng đang hoạt động trong hệ thống. Biểu đồ trình tự đƣợc thể hiện theo hai trục:
(i) Trục dọc trên xuống chỉ thời gian xảy ra các sự kiện, hay sự truyền thông
điệp, đƣợc biểu diễn bằng các đƣờng gạch - gạch thẳng đứng bắt đầu từ đỉnh đến đáy của biểu đồ.
(ii) Trục ngang từ trái qua phải là dãy các đối tƣợng tham gia vào tham gia vào việc trao đổi các thông điệp với nhau theo chiều ngang, có thể có cả các tác nhân.
Đối tƣợng đƣợc biểu diễn bằng hình chữ nhật trong đó có tên đối tƣợng cụ thể và/hoặc tên lớp cùng đƣợc gạch dƣới (hoặc tên lớp đƣợc gạch dƣới biểu diễn cho một đối tƣợng bất kỳ của lớp đó).
Biểu đồ trình tự đƣợc đọc từ trên xuống dƣới, từ trái sang phải. Thứ tự các đối tƣợng trong biểu đồ phải đƣợc sắp xếp sao cho đơn giản nhất có thể để dễ quan sát. Thời gian thực hiện một thông điệp của một đối tƣợng, hay còn gọi là hoạt động của đối tƣợng đƣợc biểu diễn bằng hình chữ nhật hẹp dọc theo trục thẳng đứng của đối tƣợng đó. [20]
+ Biểu đồ trình tự thực thi ca sử dụng nhập hồ sơ sinh viên
: Can bo QL ho so : Can bo QL ho so
: Form Ho so
: Form Ho so : DK Nhap : DK Nhap : Ho so sinh vien : Ho so sinh vien : DK Tim kiem du lieu : DK Tim kiem du lieu : Form Tim kiem : Form Tim kiem
1: Cap nhat()
2: Thong tin()
3: Tim thong tin
4: DK Tim()
5: Ho so rong
6: Ho so rong
7: Ho so
8: Ho so
+ Biểu đồ trình tự thực thi ca sử dụng tìm kiếm hồ sơ sinh viên
: Can bo QL ho so
: Can bo QL ho so : Form Tim kiem : Form Tim kiem : Ho so sinh vien : Ho so sinh vien : DK Tim kiem du lieu : DK Tim kiem du lieu : Form Danh sach : Form Danh sach : Form Ho so : Form Ho so 1: Timhoso() 2: Timthongtin 3: Dieukientim 4: Hoidap 5: Chon ho so 6: Ho so() 7: Lay ho so 8: Ho so() 9: Ho so() 10: Danh sach()
+ Biểu đồ trình tự thực thi ca sử dụng sửa hồ sơ sinh viên
: Can bo QL ho so
: Can bo QL ho so : Form Tim kiem : Form Tim kiem : Ho so sinh vien : Ho so sinh vien : Form Sua ho so : Form Sua ho so : DK Sua ho so : DK Sua ho so : DK Tim kiem du lieu : DK Tim kiem du lieu 1: Sua ho so()
2: Tim thong tin()
3: Tim()
4: Dieu kien tim() 5: Ho so()
6: Ho so() 7: Ho so()
8: Sua ho so()
+ Biểu đồ trình tự thực thi ca sử dụng xóa hồ sơ sinh viên
: Can bo QL ho so
: Can bo QL ho so : Form Tim kiem : Form Tim kiem : Ho so sinh vien : Ho so sinh vien : Form Xoa ho so : Form Xoa ho so : DK Xoa ho so : DK Xoa ho so : DK Tim kiem du lieu : DK Tim kiem du lieu 1: Xoa ho so()
2: TIm kiem ho so()
3: Tim thong tin()
4: Dieu kien tim()
5: Ho so()
6: Ho so()
7: Ho so()
8: Xoa ho so
+ Biểu đồ trình tự thực thi ca sử dụng nhập điểm sinh viên
: Can bo QL diem
: Can bo QL diem : Form nhap diem : Form nhap diem : DK Nhap : DK Nhap : Diem sinh vien : Diem sinh vien : DK Tim kiem du lieu : DK Tim kiem du lieu : Form Tim kiem : Form Tim kiem 1: Cap nhat diem()
2: Tim thong tin
3: Tim thong tin()
4: DK tim()
5: Diem rong()
6: Diem rong()
7: Diem sinh vien()
8: Diem()
+ Biểu đồ trình tự thực thi ca sử dụng sửa điểm sinh viên
: Can bo QL diem
: Can bo QL diem : Form Tim kiem : Form Tim kiem : Diem sinh vien : Diem sinh vien : Form Sua diem : Form Sua diem : DK sua diem : DK sua diem : DK Tim kiem du lieu : DK Tim kiem du lieu 1: Sua diem()
2: Tim thong tin()
3: Tim()
4: Dieu kien tim() 5: Diem sinh vien()
6: Diem sinh vien() 7: Diem sinh vien()
8: Sua diem()
+ Biểu đồ trình tự thực thi ca sử dụng xóa điểm sinh viên
: Can bo QL diem
: Can bo QL diem : Form Tim kiem : Form Tim kiem : Diem sinh vien : Diem sinh vien : Form Sua diem : Form Sua diem : DK sua diem : DK sua diem : DK Tim kiem du lieu : DK Tim kiem du lieu 1: Sua diem()
2: Tim thong tin()
3: Tim()
4: Dieu kien tim()
5: Diem sinh vien()
6: Diem sinh vien()
7: Diem sinh vien()
8: Sua diem()
+ Biểu đồ trình tự thực thi ca sử dụng tính điểm sinh viên
: Can bo QL diem
: Can bo QL diem : Form Tinh diem : Form Tinh diem : DK Tinh diem : DK Tinh diem : Form Tim kiem : Form Tim kiem : DK Tim kiem du lieu : DK Tim kiem du lieu : Diem sinh vien : Diem sinh vien 1: Tinh diem SV()
2: Tim kiem diem()
3: Tim thong tin()
4: Dieu kien tim diem()
5: Diem SV()
6: Diem SV()
7: Diem SV()
8: Tinh diem
+ Biểu đồ trình tự thực thi ca sử dụng in danh sách sinh viên : Can bo QL ho so : Can bo QL ho so : Form In DSSV
: Form In DSSV : DK In DSSV : DK In DSSV : DSSV : DSSV : Form Tim kiem : Form Tim kiem : DK Tim kiem du lieu : DK Tim kiem du lieu 1: Nhap in DSSV()
2: TIm kiem SV()
3: TIm thong tin() 4: DK Tim SV()
5: DSSV() 6: DSSV()
7: DSSV()
8: In DSSV()
Hình 4.20 Biểu đồ tuần tự thực thi ca sử dụng in danh sách sinh viên 4.4 Biểu đồ hoạt động
Biểu đồ hoạt động (Activity Diagram) trong UML gần giống với lƣu đồ (Flow Chart) mà chúng ta đã quen sử dụng trong phân tích thiết kế có cấu trúc. Nó chỉ ra các bƣớc thực hiện, các hành động, các nút quyết định và điều kiện rẽ nhánh để điều khiển luồng thực hiện của hệ thống. Biểu đồ hành động mô tả các hành động và các kết quả của những hành động đó và:
Nhấn mạnh hơn về công việc thực hiện khi cài đặt một thao tác của từng đối tƣợng
Tƣơng tự nhƣ biểu đồ trạng thái, nhƣng khác chủ yếu ở chỗ nó tập trung mô tả về các hoạt động (công việc và những thao tác cần thực thi) cùng những kết quả thu
đƣợc từ việc thay đổi trạng thái của các đối tƣợng.
Trạng thái trong biểu đồ hành động là các trạng thái hoạt động, nó sẽ đƣợc chuyển sang trạng thái sau, nếu hành động ở trạng thái trƣớc đƣợc hoàn thành.
Trạng thái và sự chuyển trạng
Trạng thái và sự chuyển đổi trạng thái đƣợc ký hiệu và cách sử dụng hoàn toàn giống nhƣ trong biểu đồ trạng thái đã nêu ở trên.
Nút quyết định và rẽ nhánh
Một đối tƣợng khi hoạt động thì từ một trạng thái có thể rẽ nhánh sang những trạng thái khác nhau tuỳ thuộc vào những điều kiện, những sự kiện xảy ra để quyết định. Điều kiện rẽ nhánh thƣờng là các biểu thức Boolean. Trong UML, nút quyết định rẽ nhánh đƣợc biểu diễn bằng hình thoi có các đƣờng rẽ nhánh với những điều kiện đi kèm để lựa chọn.
Yeu cau dang nhap
Goi dang nhap
Hien giao dien dang nhap
Yeu cau nhap Username va Password Nhap Username và
Password
Yeu cau ket thuc
Kiem tra dang nhap He thong CSDL Username + Password KT Username+Pass Thuc hien dang nhap
Thong bao loi Dang nhap
T
F
* Biểu đồ hoạt động nhập điểm
Yeu cau giao dien nhap diem
Goi giao dien nhap diem
Hien giao dien nhap diem
Yeu cau nhap Lop+Mon+HK+Khoa Kiem tra Lop+Mon+HK+Khoa Nhap Lop+Mon+HK+Khoa He thong CSDL KT CSDL
Lay Danh sach SV
Yeu cau nhap diem Nhap diem KT Diem nhap Luu diem Khong luu T Nhap sai F T F
4.5 Biểu đồ lớp chi tiết
Hình 4.23 Biểu đồ lớp thực thi gói quản lý hồ sơ và điểm
* Lớp thực thi ca sử dụng nhập mới hồ sơ sinh viên
Hình 4.24 Biểu đồ lớp thực thi ca sử dụng nhập mới hồ sơ sinh viên
Hình 4.25 Biểu đồ lớp thực thi ca sử dụng nhập điểm cho sinh viên
* Lớp thực thi ca sử dụng in danh sách sinh viên
* Lớp thực thi ca sử dụng in bảng điểm sinh viên
Hình 4.27 Biểu đồ lớp thực thi ca sử dụng in bảng điểm sinh viên 4.6 Biểu đồ thành phần
Biểu đồ thành phần (Component Diagram) là biểu đồ mô tả các thành phần và sự phụ thuộc của chúng trong hệ thống. Các thành phần của hệ thống có thể là:
- Thành phần mã nguồn, có ý nghĩa vào thời điểm dịch chƣơng trình. Thông thƣờng nó là tập các chƣơng trình cài đặt các lớp. Ví dụ, trong C++, mỗi tệp .cpp và .h là một thành phần. Trƣớc khi phát sinh mã chƣơng trình, phải thực hiện ánh xạ từng tệp vào thành phần tƣơng ứng, thông thƣờng mỗi lớp đƣợc ánh xạ vào hai tệp (.cpp, và .h). - Thành phần mã nhị phân là mã trình nhị phân đƣợc dịch từ mã chƣơng trình nguồn. Nó có thể là tệp mã đích (.obj), tệp thƣ viện tĩnh (.lib) hay tệp thƣ viện động (.dll). Thành phần nhị phân đƣợc sử dụng để liên kết, hoặc để thực thi chƣơng trình (đối với thƣ viện động). [3]
- Thành phần thực thi là tệp chƣơng trình có thể thực thi đƣợc (các tệp .exe). Nó là kết quả của chƣơng trình liên kết các thành phần nhị phân.
Với biểu đồ thành phần, ngƣời phát triển hệ thống thực hiện dịch, triển khai hệ thống sẽ biết thƣ viện mã trình nào tồn tại và những tệp có thể thực thi (.exe) khi dịch và liên kết thành công. Giữa các thành phần chỉ có một loại quan hệ phụ thuộc đƣợc biểu diễn bằng đƣờng mũi tên đứt nét. Kết nối phụ thuộc cho biết thành phần phụ thuộc phải dịch sau thành phần kia. Lƣu ý, nên tránh phụ thuộc vòng trong biểu đồ thành phần.
Quan ly diem Quan ly ho so sinh vien Giao dien nguoi quan ly Quan ly tot nghiep Co so du lieu Hình 4.28 Biểu đồ thành phần chƣơng trình 4.7 Biểu đồ triển khai
Biểu đồ triển khai (Deployment Diagram) chỉ ra cấu hình các phần tử xử lý lúc chƣơng trình chạy, các nút trên mạng và các tiến trình phần mềm thực hiện trên những phần tử đó. Nó chỉ ra mối quan hệ giữa các phần cứng và phần mềm của hệ thống. Biểu đồ triển khai chỉ ra toàn bộ các nút trên mạng, kết nối giữa chúng và các tiến trình chạy trên chúng. Mỗi nút là một đối tƣợng vật lý (các thiết bị) có tài nguyên tính toán.
Các phần tử (nút) của biểu đồ triển khai:
- Bộ xử lý (Processor): bộ xử lý của máy tính, máy chủ, trạm làm việc,... Các bộ xử lý đƣợc đặc tả chi tiết bằng cách bổ sung thêm các thông tin:
- Thiết bị: là máy móc hay bộ phận phần cứng nhƣng không phải là bộ xử lý trung tâm, nhƣ: màn hình, máy in, máy vẽ, v.v. Thiết bị cũng có thể đặc tả một số thông tin chi tiết nhƣ: Stereotype và một số tính chất vật lý.
- Tiến trình (Process) là luồng thực hiện của một chƣơng trình trong một bộ xử lý. Một chƣơng trình thực thi đƣợc xem nhƣ là một tiến trình. Các tiến trình thƣờng đƣợc gán các mức ƣu tiên và bộ xử lý sẽ thực hiện những tiến trình có mức ƣu tiên cao hơn.
Giao vien Server Phong dao tao Application
Database
CHƢƠNG 5
CÀI ĐẶT CHƢƠNG TRÌNH QUẢN LÝ KẾT QUẢ ĐÀO TẠO 5.1 Ngôn ngữ lập trình C#.
Ngôn ngữ C# khá đơn giản, chỉ khoảng 80 từ khóa và hơn mƣời mấy kiểu dữ liệu đƣợc xây dựng sẵn. Tuy nhiên, ngôn ngữ C# có ý nghĩa cao khi nó thực thi những khái niệm lập trình hiện đại. C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần component, lập trình hƣớng đối tƣợng. Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại. Và ngôn ngữ C# hội đủ những điều kiện nhƣ vậy, hơn nữa nó đƣợc xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java.
Ngôn ngữ C# đƣợc phát triển bởi đội ngũ kỹ sƣ của Microsoft, trong đó ngƣời dẫn đầu là Anders Hejlsberg và Scott Wiltamuth. Cả hai ngƣời này điều là những ngƣời nổi tiếng, trong đó Anders Hejlsberg đƣợc biết đến là tác giả của Turbo Pascal, một ngôn ngữ lập trình PC phổ biến. Và ông đứng đầu nhóm thiết kế Borland Delphi, một trong những thành công đầu tiên của việc xây dựng môi trƣờng phát triển tích hợp (IDE) cho lập trình client/server.
Trong ngôn ngữ C# mọi thứ liên quan đến khai báo lớp điều đƣợc tìm thấy trong phần khai báo của nó. Định nghĩa một lớp trong ngôn ngữ C# không đòi hỏi phải chia ra tập tin header và tập tin nguồn giống nhƣ trong ngôn ngữ C++. Hơn thế nữa, ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn các tag XML để phát sinh tự động các document cho lớp.
C# cũng hỗ trợ giao diện, nó đƣợc xem nhƣ một cam kết với một lớp cho những dịch vụ mà giao diện quy định. Trong ngôn ngữ C#, một lớp chỉ có thể kế thừa từ duy nhất một lớp cha, tức là không cho đa kế thừa nhƣ trong ngôn ngữ C++, tuy nhiên một lớp có thể thực thi nhiều giao diện. Khi một lớp thực thi một giao diện thì nó sẽ hứa là nó sẽ cung cấp chức năng thực thi giao diện.
Trong ngôn ngữ C#, những cấu trúc cũng đƣợc hỗ trợ, nhƣng khái niệm về ngữ nghĩa của nó thay đổi khác với C++. Trong C#, một cấu trúc đƣợc giới hạn, là kiểu dữ liệu nhỏ gọn, và khi tạo thể hiện thì nó yêu cầu ít hơn về hệ điều hành và bộ nhớ so với một lớp. Một cấu trúc thì không thể kế thừa từ một lớp hay đƣợc kế thừa nhƣng một cấu trúc có thể thực thi một giao diện.
Ngôn ngữ C# cung cấp những đặc tính hƣớng thành phần (component oriented), nhƣ là những thuộc tính, những sự kiện. Lập trình hƣớng thành phần đƣợc hỗ trợ bởi CLR cho phép lƣu trữ metadata với mã nguồn cho một lớp. Metadata mô tả cho một lớp, bao gồm những phƣơng thức và những thuộc tính của nó, cũng nhƣ những sự bảo mật cần thiết và những thuộc tính khác. Mã nguồn chứa đựng những logic cần thiết để thực hiện những chức năng của nó.. Do vậy, một lớp đƣợc biên dịch nhƣ là một khối self-contained, nên môi trƣờng hosting biết đƣợc cách đọc metadata của một lớp và mã nguồn cần thiết mà không cần những thông tin khác
để sử dụng nó.
Một lƣu ý cuối cùng về ngôn ngữ C# là ngôn ngữ này cũng hỗ trợ việc truy cập bộ nhớ trực tiếp sử dụng kiểu con trỏ của C++ và từ khóa cho dấu ngoặc [] trong toán tử. Các mã nguồn này là không an toàn (unsafe). Và bộ giải phóng bộ nhớ tự động của CLR sẽ không thực hiện việc giải phóng những đối tƣợng đƣợc tham chiếu bằng sử dụng con trỏ cho đến khi chúng đƣợc giải phóng.
Tại sao phải sử dụng ngôn ngữ C#
Nhiều ngƣời tin rằng không cần thiết có một ngôn ngữ lập trình mới. Java, C++, Perl, Microsoft Visual Basic, và những ngôn ngữ khác đƣợc nghĩ rằng đã cung cấp tất cả những chức năng cần thiết.
Ngôn ngữ C# là một ngôn ngữ đƣợc dẫn xuất từ C và C++, nhƣng nó đƣợc tạo từ nền tảng phát triển hơn. Microsoft bắt đầu với công việc trong C và C++ và thêm vào những đặc tính mới để làm cho ngôn ngữ này dễ sử dụng hơn. Nhiều trong số những đặc tính này khá giống với những đặc tính có trong ngôn ngữ Java. Không dừng lại ở đó, Microsoft đƣa ra một số mục đích khi xây dựng ngôn ngữ này. Những