Phương pháp phân tích, thiết kế hướng đối tượng giúp chúng ta hiểu rõ những công việc phải làm, những yêu cầu thực tế về số liệu cần phải đáp ứng, và trên cơ sở xây dựng các mô hình cần
Trang 1MỤC LỤC
LỜI CẢM ƠN Error! Bookmark not defined LỜI CAM ĐOAN Error! Bookmark not defined
MỤC LỤC 1
MỞ ĐẦU 4
CHƯƠNG 1 5
TỔNG QUAN VỀ PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG VÀ NGÔN NGỮ MÔ HÌNH HÓA THỐNG NHẤT UML 5
1.1 Tổng quan về phương pháp hướng đối tượng .5
1.1.1 Đối tượng 5
1.1.2 Lớp đối tượng 6
1.1.3 Thuộc tính (property) 7
1.1.4 Phương thức (Method) 7
1.1.5 Trừu tượng hoá dữ liệu 7
1.1.6 Bao bọc và che giấu thông tin 8
1.1.7 Sự mở rộng, kế thừa giữa các lớp 8
1.1.8 Đa xạ (tương ứng bội) và nạp chồng 9
1.1.9 Liên kết động 9
1.1.10 Truyền thông điệp 9
1.1.11 Ưu điểm chính của phương pháp hướng đối tượng 9
1.2 Tổng quan về phân tích thiết kế hướng đối tượng 10
1.2.1 Phân tích hướng đối tượng 10
1.2.2 Thiết kế hướng đối tượng 11
1.3 Tổng quan về ngôn ngữ mô hình hóa thống nhất UML (Unified Modeling Language) 12
1.3.1 Sơ lược về mốc lịch sử phát triển 12
1.3.2 Các ưu điểm chính của UML 13
1.3.3 Các mô hình biểu đồ 18
CHƯƠNG 2 21
PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG CHO HỆ THỐNG QUẢN LÝ THI TRẮC NGHIỆM CHO TRƯỜNG THPT 21
QUỲNH CÔI – QUỲNH PHỤ - THÁI BÌNH 21
2.1 Pha khởi đầu (khảo sát hệ thống) 22
2.1.1 Quy trình tổ chức thi trắc nghiệm 22
2.1.1.1 Tạo nội dung môn học và đề thi 22
2.1.1.2 Cấp password để học sinh dự thi 23
2.1.1.3 Tổ chức thi 23
2.1.1.4 Chấm điểm 24
2.1.2 Mô tả chương trình thi trắc nghiệm 26
2.1.3 Pha triển khai (phân tích hệ thống) 26
2.2 Biểu đồ UC (Use Case – Trường hợp sử dụng) 27
2.2.1 Đặc tả các ca sử dụng liên quan đến tác nhân “Quan tri he thong” 29
Trang 22.2.1.1 Ca sử dụng “Dang nhap he thong” 29
2.2.1.2 Ca sử dụng “Doi mat khau” 30
2.2.1.3 Ca sử dụng “Quan ly cac tai khoan” 31
2.2.1.4 Ca sử dụng “Cham thi” 31
2.2.2 Đặc tả các ca sử dụng liên quan đến tác nhân “Giao vien ra de” 32
2.2.2.1 Ca sử dụng “Tao de thi” 33
2.2.2.2 Ca sử dụng “Thiet lap de thi” 34
2.2.3 Đặc tả các ca sử dụng liên quan đến tác nhân “Giao vu khoa” 35
2.2.3.1 Ca sử dụng “Cap nhat khoa hoc” 35
2.2.3.2 Ca sử dụng “Cap nhat lop hoc” 36
2.2.3.3 Ca sử dụng “Cap nhat môn hoc” 37
2.2.3.4 Ca sử dụng “Cap nhat hoc sinh” 37
2.2.3.5 Ca sử dụng “Cap nhat nhom thi” 38
2.2.4 Đặc tả các ca sử dụng liên quan đến tác nhân “Hoc sinh” 40
2.2.4.1 Ca sử dụng “Dang nhap he thong” 40
2.2.4.2 Ca sử dụng “Thuc hien lam bai thi” 41
2.2.4.3 Ca sử dụng “Kiem tra thoi gian lam bai” 41
2.2.4.4 Ca sử dụng “Xem ket qua thi” 42
2.3 Biểu đồ trình tự 42
2.3.1 Biểu đồ trình tự liên quan đến tác nhân “Quan tri he thong” 42
2.3.1.1 Biểu đồ trình tự mô tả ca sử dụng “Dang nhap he thong” 42
2.3.1.2 Biểu đồ trình tự mô tả ca sử dụng “Quan ly cac tai khoan” 43
2.3.1.3 Biểu đồ trình tự mô tả ca sử dụng “Cham thi” 44
2.3.2 Biểu đồ trình tự liên quan đến tác nhân “Hoc sinh” 45
2.3.2.1 Biểu đồ trình tự mô tả ca sử dụng “Dang nhap he thong” 45
2.3.2.2 Biểu đồ trình tự mô tả ca sử dụng “Thuc hien lam bai thi” 46
2.3.2.3 Biểu đồ trình tự mô tả ca sử dụng “Xem ket qua” 47
2.3.3 Biểu đồ trình tự liên quan đến tác nhân “giao vien ra de” 47
2.3.3.1 Biểu đồ trình tự mô tả ca sử dụng “Tao de thi” 47
2.3.3.2 Biểu đồ trình tự mô tả ca sử dụng “Thiet lap de thi" 48
2.3.4 Biểu đồ trình tự liên quan đến tác nhân “truong bo mon” 49
2.3.5 Biểu đồ trình tự liên quan đến tác nhân “giao vu khoa” 50
2.3.5.1 Biểu đồ trình tự mô tả ca sử dụng “Cap nhat khoa hoc” 50
2.3.5.2 Biểu đồ trình tự mô tả ca sử dụng “Cap nhat lop hoc” 51
2.3.5.2 Biểu đồ trình tự mô tả ca sử dụng “Cap nhat mon hoc” 52
2.3.5.3 Biểu đồ trình tự mô tả ca sử dụng “Cập nhật học sinh” 54
2.4 Biểu đồ trạng thái 55
2.4.1 Biểu đồ trạng thái quá trình thực hiện thi của học sinh 55
2.4.2 Biểu đồ trạng thái quá trình thiết lập đề thi của giáo viên ra đề 55
2.4.3 Biểu đồ trạng thái của quản trị hệ thống 55
2.5 Biểu đồ lớp thực thể 56
2.6 Biểu đồ lớp phân tích 56
2.6.1 Đăng nhập hệ thống 57
2.6.2 Quản trị hệ thống thực hiện quản lý tài khoản 57
2.6.3 Cập nhật khóa học 57
2.6.3 Cập nhật môn thi 58
2.6.4 Cập nhật lớp học 58
Trang 32.6.5 Cập nhật học sinh 58
2.6.6 Cập nhật câu hỏi thi 59
2.6.7 Quản trị hệ thống thực hiện chấm thi 59
2.6.8 Học sinh thực hiện làm bài thi 59
2.6.9 Xem kết quả thi 60
CHƯƠNG 3 61
THIẾT KẾ CÀI ĐẶT CHƯƠNG TRÌNH 61
3.1 Giới thiệu bài toán 61
3.2 Thiết kế giao diện chương trình 61
KẾT LUẬN 68
TÀI LIỆU THAM KHẢO 69
Trang 4MỞ ĐẦU
Với sự phát triển của công nghệ phần mềm, nhiều công cụ lập trình đã được phát triển và có khả năng hỗ trợ mạnh cho người sử dụng Khi triển khai tin học hóa các bài toán trong thực tế, chúng ta không còn gặp nhiều khó khăn ở khâu viết chương trình mà vấn đề chính là ở khâu thực hiện phân tích, thiết kế hệ thông cho bài toán đó Phương pháp phân tích, thiết kế hướng đối tượng giúp chúng ta hiểu rõ những công việc phải làm, những yêu cầu thực tế về số liệu cần phải đáp ứng, và trên cơ sở xây dựng các mô hình cần thiết để mô tả mối tương quan giữa các thành phần trong hệ thống Từ đó dễ dàng hơn rất nhiều trong việc triển khai lập trình cũng như bảo trì, nâng cấp cho hệ thống hoạt động tốt, đáp ứng các yêu cầu hoặc thay đổi của người sử dụng
Hiện nay, ngôn ngữ mô hình hóa thống nhất UML (Unified Modeling language - UML) được tổ chức OMG (Object Management Group) công nhận là
chuẩn công nghiệp đã trở thành công cụ phổ dụng và hữu hiệu cho phương pháp
mới này
Cùng với việc phát triển của công nghệ phần mềm là sự cần thiết của quá trình tin học hóa trong công tác quản lý của các cơ quan, các tổ chức v.v…Việc quản lý thi trắc nghiệm trong trường PTTH cũng không năm ngoài xu thế ấy Trên đây là những lý do khiến em quyết định chọn phương pháp phân tích hướng đối tượng và ngôn ngữ UML để phát triển chương trình quản lý thi trắc nghiệm PHTH Chương trình được cài đặt bằng ngôn ngữ Visual Basic.Net là một trong những công cụ lập trình hướng đối tượng mạnh mẽ nhất hiện nay Đồ
án “Phân tích thiết kế và xây dựng chương trình quản lý thi trắc nghiệm cho trường PTTH Quỳnh Côi – Thái Bình” bao gồm các nội dung sau:
- Chương 1: Tổng quan về phương pháp hướng đối tượng và ngôn ngữ mô hình hóa thống nhất UML
- Chương 2: Phân tích thiết kế hướng đối tượng cho hệ thống quản lý thi trắc nghiệm cho trường PTTH Quỳnh Côi – Quỳnh Phụ - Thái Bình
- Chương 3: Thiết kế cài đặt chương trình
Trang 5CHƯƠNG 1 TỔNG QUAN VỀ PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG VÀ NGÔN NGỮ MÔ HÌNH HÓA THỐNG NHẤT UML
1.1 Tổng quan về phương pháp hướng đối tượng
Phương pháp hướng đối tượng đặt trọng tâm vào các đối tượng, yếu tố quan trọng trong quá trình phát triển chương trình và nó không cho phép dữ liệu tách biệt, chuyển động tự do trong hệ thống Dữ liệu được gắn chặt với các hàm thành phần và chúng được tổ chức, quản lý truy nhập theo nhiều mức khác nhau Phương pháp hướng đối tượng cho phép chúng ta phân tích bài toán thành tập các thực thể được gọi là các lớp đối tượng, sau đó xây dựng các dữ liệu thành phần cùng với hàm thành phần thao tác trên các dữ liệu đó và trao đổi với những đối tượng khác để thực hiện nhiệm vụ được giao
Một chương trình, một hệ thống được xem như là một tập các lớp đối tượng và các đối tượng đó trao đổi với nhau thông qua việc truyền và nhận thông điệp Vậy một chương trình hướng đối tượng có thể không cần sử dụng hoặc hạn chế sử dụng biến chung, nên dễ dàng tạo ra hệ thống có tính mở cao hơn
Phương pháp hướng đối tượng dựa chủ yếu vào các đối tượng nên khi có nhu cầu thay đổi thì chỉ cần thay đổi ở một số lớp có liên quan, hoặc có thể bổ sung một số lớp mới trên cơ sở kế thừa và sử dụng lại nhiều nhất có thể Do đó, một chương trình hướng đối tượng có thể không cần sử dụng biến chung
1.1.1 Đối tượng
Đối tượng là khái niệm cơ sở, quan trọng nhất của cách tiếp cận hướng đối tượng
Đối tượng là thực thể của hệ thống, của cơ sở dữ liệu và được xác định
thông qua định danh của chúng Mỗi đối tượng có tập các đặc trưng bao gồm cả các phần tài sản thường là các dữ liệu thành phần hay các thuộc tính mô tả các
Trang 6tính chất và các phương thức, các thao tác trên các dữ liệu để xác định hành vi
trên các đối tượng đó
Đối tượng là các thực thể được xác định trong thời gian hệ thống hướng đối tượng hoạt động
Như vậy đối tượng có thể biểu diễn cho người, vật hay một bảng dữ liệu hoặc bất kỳ một hạng thức nào đó cần xử lý trong chương trình
Đối tượng cũng có thể là các dữ liệu được định nghĩa bởi người sử dụng (người lập trình)
Nhiệm vụ của phân tích hướng đối tượng là phân tích bài toán thành các đối tượng và xác định bản chất của sự trao đổi thông tin giữa chúng Đối tượng trong chương trình cần phải được chọn sao cho nó thể hiện được một cách gần nhất với những thực thể có trong hệ thống thực
Vậy, đối tượng được định nghĩa một cách trừu tượng như là một khái niệm, một cấu trúc gộp chung cả phần dữ liệu (thuộc tính) với các hàm (phương thức) thao tác trên những dữ liệu đó và có thể trao đổi với những đối tượng khác
1.1.2 Lớp đối tượng
Lớp là cấu trúc mô tả hợp nhất các thuộc tính (Attributes), hay dữ liệu thành phần (Data Member) thể hiện các đặc tính của mỗi đối tượng và các phương thức (Methods), hay hàm thành phần (Member Function) thao tác trên
các dữ liệu riêng và là giao diện trao đổi với các đối tượng khác để xác định hành
vi của chúng trong hệ thống
Đối tượng chính là hiện thực(cá thể) của một lớp xác định
Phương pháp lập trình hướng đối tượng là cách phân chia chương trình thành các đơn thể (các lớp) bằng cách tạo ra các vùng bộ nhớ cho cả dữ liệu lẫn hàm và chúng sẽ được sử dụng như các mẫu để tạo ra bản sao từng đối tượng khi chúng được tạo ra trong hệ thống
Như vậy, lớp chính là tập các đối tượng có cùng các thuộc tính và hành vi giống nhau
Lớp bao gồm các loại cơ bản sau:
Trang 7- Lớp biên (boundary): Chuyển đổi thông tin giao tiếp giữa đối tác và hệ
thống như các giao diện, các báo biểu
- Lớp điều khiển (control): Điều hành sự diễn biến trong một ca sử dụng
Các lớp này đứng giữa lớp biên và lớp thực thể cho phép bên ngoài giao tiếp được thông tin với lớp thực thể
- Lớp thực thể (entity): Là các lớp mà dữ liệu và các mối liên quan của
chúng còn được lưu lại trong cơ sở dữ liệu hay trên tệp, sau khi ca sử dụng của chúng đã kết thúc
Trong UML lớp biên, lớp điều khiển, lớp thực thể được ký hiệu như sau:
Hình 1.1 Lớp biên, lớp điều khiển, lớp thực thể
1.1.3 Thuộc tính (property)
Là một tính chất của một lớp và nó nhận một giá trị cho mỗi đồi tượng thuộc tính đó tại mỗi thời điểm Mỗi thuộc tính đều có tầm nhìn cho biết thuộc tính đó được thấy và dùng từ các lớp khác như thế nào Tầm nhìn có thể là:
- public: Thuộc tính có thể thấy và dùng được cả lớp bên ngoài
- private: Thuộc tính chỉ có thể dùng được bên trong lớp
- protected: Thuộc tính chỉ có thể thấy và dùng được từ các lớp kế thừa
- package: Thuộc tính chỉ có thể thấy và dùng được từ các lớp cùng gói
1.1.4 Phương thức (Method)
Thao tác là một hàm hay thủ tục có thể áp dụng (gọi hàm) cho hoặc bởi
các đối tượng trong một lớp
Một phương thức là một cách thức cài đặt của một thao tác trong một lớp
Tầm nhìn của phương thức tương tự như tầm nhìn của thuộc tính
1.1.5 Trừu tượng hoá dữ liệu
Trang 8Trừu tượng hoá là cách biểu diễn những đặc tính chính và bỏ qua những chi tiết Trừu tượng hoá là việc mở rộng khái niệm kiểu dữ liệu và cho phép định nghĩa những phép toán trừu tượng trên các cơ sở trừu tượng
1.1.6 Bao bọc và che giấu thông tin
Việc đóng gói dữ liệu và các hàm vào một đơn vị cấu trúc (gọi là lớp) được xem như một nguyên tắc bao bọc thông tin Kỹ thuật này cho phép xác định các vùng đặc trưng riêng, công khai hay được bảo vệ bao gồm cả dữ liệu và phương thức nhằm điều khiển hoặc hạn chế những truy nhập tuỳ tiện của những đối tượng khác
Dữ liệu được tổ chức sao cho thế giới bên ngoài (các đối tượng ở lớp khác) không truy nhập được vào những thuộc tính riêng và chỉ cho phép các hàm trong cùng lớp hoặc trong những lớp có quan hệ kế thừa với nhau được quyền truy nhập đến cùng được bảo vệ Vùng công khai của lớp thì cho phép mọi đối tượng được phép truy nhập
Nguyên tắc bao bọc dữ liệu để ngăn cấm sự truy nhập trực tiếp trong lập trình được gọi là che giấu thông tin
1.1.7 Sự mở rộng, kế thừa giữa các lớp
Nguyên lý kế thừa cho phép các đối tượng của lớp này được quyền sử dụng một số tính chất (cả dữ liệu và các ham thành phần) của các lớp khác Một lớp có thể là lớp con (lớp dẫn xuất) của một lớp khác, nghĩa là có thể bổ sung thêm một số tính chất để thu hẹp phạm vi xác định các đối tượng trong lớp mới cho phù hợp với ngữ cảnh trong thực tế
Theo nguyên lý chung của kế thừa thì chỉ những thuộc tính, hàm thành phần được bảo vệ và công khai được quyền kế thừa, còn những thuộc tính, hàm thành phần riêng thì không được phép kế thừa
Phương pháp hướng đối tượng nói chung hỗ trợ hai nguyên lý kế thừa: kế thừa đơn và kế thừa bội
Kế thừa đơn là một lớp có thể kế thừa từ một lớp cơ sở
Kế thừa bội là một lớp có thể kế thừa nhiều hơn một lớp cơ sở
Trang 91.1.8 Đa xạ (tương ứng bội) và nạp chồng
Đa xạ là kỹ thuật được sử dụng để mô tả khả năng gửi một thông điệp chung tới nhiều đối tượng mà mỗi đối tượng lại có cách xử lý riêng
Đa xạ đóng một vai trò quan trọng trong việc tạo ra các đối tượng có cấu trúc với những nội dung thực hiện khác nhau mà lại có khả năng sử dụng chung một giao diện (cùng một tên gọi)
Đa xạ cũng có thể là sự mở rộng khái niệm sử dụng lại trong nguyên lý kế thừa
Nạp chồng là một trường hợp của đa xạ Nạp chồng là khả năng của một khái niệm (như các phép toán chẳng hạn) có thể được sử dụng với nhiều nội dung khác nhau tùy theo ngữ cảnh
1.1.9 Liên kết động
Liên kết động là dạng liên kết các hàm, chức năng khi chương trình thực hiện các lời gọi hàm, chức năng đó
1.1.10 Truyền thông điệp
Truyền thông điệp cho một đối tượng tức là báo cho nó phải thực hiện một việc, một yêu cầu nào đó
Đối tượng nhận được thông điệp yêu cầu sẽ phải thực hiện một số công việc trên các dữ liệu mà nó sẵn có hoặc lại tiếp tục yêu cầu những đối tượng khác
hỗ trợ để có những thông tin trả lời cho đối tượng yêu cầu
1.1.11 Ưu điểm chính của phương pháp hướng đối tượng
Đối tượng là cơ sở để kết hợp các đơn thể có thể sử dụng lại thành hệ thống lớn hơn, tạo ra những sản phẩm có chất lượng cao
Qui ước truyền thông điệp giữa các đối tượng đảm bảo cho việc mô tả các giao diện giữa các đối tượng thành phần bên trong hệ thống và những hệ thống bên ngoài trở nên dễ dàng hơn Điều đó giúp cho việc phân chia những dự án lớn, phức tạp để phân tích, thiết kế theo cách chia nhỏ bài
Trang 10toán thành các lớp đối tượng hoàn toàn tương ứng với quan điểm hướng tới lời giải phù hợp với thế giới thực một các tự nhiên
Nguyên lý bao bọc, che giấu thông tin hỗ trợ cho việc xây dựng những hệ thống thông tin an toàn
Nguyên lý kế thừa dựa chính vào dữ liệu rất phù hợp với ngữ nghĩa của
mô hình trong cài đặt Chúng ta có thể loại bỏ được những đoạn chương trình lặp lại, dư thừa trong mô tả các lớp và mở rộng khả năng sử dụng các lớp đã được xây dựng
Lập trình hướng đối tượng, đặc biệt là kỹ thuật kế thừa cho phép dễ dàng xác định các đơn thể và sử dụng ngay khi chúng chưa thực hiện đầy đủ các chức năng (đơn thể mở) và sau đó mở rộng được mà không làm ảnh hưởng tới các đơn thể khác
Có thể quản lý được độ phức tạp của những sản phẩm phần mềm
Định hướng hướng đối tượng cung cấp những công cụ, môi trường mới, hiệu quả để phát triển phần mềm theo hướng công nghiệp và hỗ trợ để tận dụng được những khả năng kế thừa, sử dụng lại ở phạm vi diện rộng để xây dựng được những hệ thống phức tạp, nhạy cảm như: hệ thống động, hệ thống thời gian thực, …
Xoá bỏ được hố ngăn cách giữa các pha phân tích, thiết kế và cài đặt trong quá trình xây dựng phần mềm
1.2 Tổng quan về phân tích thiết kế hướng đối tượng
1.2.1 Phân tích hướng đối tượng
Phân tích hướng đối tượng (Object Oriented Analysis - OOA): là một giai đoạn của quá trình phát triển phần mềm, trong đó mô hình khái niệm được mô tả chính xác, súc tích thông qua các đối tượng thực và các khái niệm của bài toán ứng dụng
Trang 11Phân tích hướng đối tượng tập trung vào việc tìm kiếm các đối tượng, khái niệm trong lĩnh vực bài toán và xác định mối quan hệ của chúng trong hệ thống Nhiệm vụ của người phân tích là nghiên cứu kỹ các yêu cầu của hệ thống
và phân tích các thành phần của hệ thống cùng các mối quan hệ của chúng Trong khâu phân tích hệ thống chủ yếu trả lời câu hỏi:
Hệ thống gồm những thành phần, bộ phận nào?
Hệ thống cần thực hiện những cái gì?
Kết quả chính của pha phân tích hệ thống hướng đối tượng là biểu đồ trường hợp sử dụng, biểu đồ lớp, biểu đồ trạng thái, biểu đồ trình tự, biểu đồ cộng tác
1.2.2 Thiết kế hướng đối tượng
Dựa vào các đặc tả yêu cầu và các kết quả phân tích để thiết kế hệ thống Thiết kế hướng đối tượng (Object Oriented Design – OOD) là một giai đoạn trong quá trình phát triển phần mềm, trong đó hệ thống được tổ chức thành tập các đối tượng tương tác với nhau và mô tả được cách để hệ thống thực thi nhiệm vụ của bài toán ứng dụng
Trong khâu thiết kế hướng đối tượng chủ yếu trả lời câu hỏi “làm như thế nào?”
Trong hệ thống có những lớp đối tượng nào, trách nhiệm của chúng là gì?
Các đối tượng tương tác với nhau như thế nào?
Các nhiệm vụ mà mỗi lớp đối tượng phải thực hiện?
Dữ liệu nghiệp vụ và các giao diện được xây dựng như thế nào?
Kiến trúc và cấu hình của hệ thống ?
Nhiệm vụ chính của thiết kế hệ thống là:
Xây dựng các thiết kế chi tiết mô tả các thành phần của hệ thống ở mức cao hơn (khâu phân tích) để phục vụ cho việc cài đặt Nghĩa là, các lớp đối tượng được
Trang 12định nghĩa chi tiết gồm đầy đủ các thuộc tính, các thao tác phục vụ cho việc cài đặt bằng ngôn ngữ lập trình hướng đối tượng được lựa chọn ở các bước sau
Đồng thời đưa ra được kiến trúc (là trọng tâm) của hệ thống để đảm bảo cho hệ thống có thể thay đổi, có tính mở, dễ bảo trì, thân thiện với NSD, v.v Nghĩa là tổ chức các lớp thành các gói hoặc các hệ thống con theo một kiến trúc phù hợp với nhu cầu phát triển của công nghệ (mạng, phân tán, v.v.) đồng thời phù hợp với xu thế phát triển của lĩnh vực ứng dụng
1.3 Tổng quan về ngôn ngữ mô hình hóa thống nhất UML (Unified Modeling Language)
UML là ngôn ngữ mô hình hoá, trước hết nó mô tả ký pháp thống nhất, ngữ nghĩa các định nghĩa trực quan tất cả các thành phần của mô hình
UML được sử dụng để hiển thị, đặc tả, tổ chức, xây dựng và làm tài liệu
các vật phẩm (artifacts) của quá trình phát triển phần mềm hướng đối tượng, đặc
biệt là phân tích, thiết kế dưới dạng các báo cáo, biểu đồ, bản mẫu hay các trang web, v.v
UML là ngôn ngữ và nó chỉ là một phần của tiến trình phát triển phần mềm, độc lập với tiến trình Tuy nhiên ngôn ngữ UML rất phù hợp với các tiến
trình trường hợp sử dụng (Use Case - UC), lấy kiến trúc làm trung tâm, tương tác
và tăng dần
1.3.1 Sơ lược về mốc lịch sử phát triển
Khi các ngôn ngữ hướng đối tượng đã được sử dụng rộng rãi, thì nhu cầu
về công cụ để xây dựng và phát triển phần mềm hướng đối tượng trở nên cấp bách
Vào đầu những năm 90 của thế kỷ XX đã xuất hiện các phương pháp hướng đối tượng sau đây:
Phương pháp Booch (Booch Approach)
Kỹ thuật mô hình hóa đối tượng (OMT – Object Modeling Technique) của Rumbaugh
Trang 13 Kỹ nghệ phần mềm hướng đối tượng (OOSE – Object-Oriented Software
Engineering) của Jacobson
Fusion và Coad/Yourdon
Mỗi phương pháp có ký pháp, tiến trình và công cụ hỗ trợ riêng Chúng có những ưu điểm và nhược điểm riêng Tùy từng điều kiện mà mỗi phương pháp có thể được chọn phù hợp
Do nhận thức được các vấn đề này, vào năm 1994 các tác giả của những phương pháp này đã hợp tác với nhau để tạo ra một phương pháp mới
Bắt đầu là sự thống nhất phương pháp Booch với OMT-2 của Rumbaugh
để hình thành Unified Method tại Rational Rose Corporation Năm 1995, Ivar Jacobson (tác giả của OOSE/Objectory) ra nhập với họ Từ đó nhóm phát triển phương pháp hướng đối tượng nói trên đã tạo ra ngôn ngữ mô hình hoá thống nhất cho cộng đồng hướng đối tượng Do đó họ đã đổi tên thành Unified Modeling Language- UML (ngôn ngữ mô hình hoá thống nhất)
Họ đã đưa ra nhiều phiên bản UML, trong đó phiên bản UML 1.0 xuất hiện vào năm 1997 Phần lớn UML được xây dựng trên nền tảng của các phương pháp Booch, OMT và OOSE, nhưng UML còn bao gồm cả các khái niệm có nguồn gốc từ các phương pháp khác, như David Harel, Gamma-Helm Johnson Vlissides và Fusion
UML còn là kết quả đóng góp từ nhiều hãng lớn như: Digital Equipment Corporation (DEC), Hewlett-Packard (HP), I-Logix, Intellicorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle
1.3.2 Các ưu điểm chính của UML
UML là ngôn ngữ mô hình
Một ngôn ngữ nói chung phải cung cấp một bảng từ vựng và các qui tắc
cú pháp để tổ hợp các từ tạo nên các khối từ vựng có ngữ nghĩa để có thể giao tiếp
Ngôn ngữ mô hình hoá là ngôn ngữ mà các từ vựng và các qui tắc tập trung vào biểu diễn các khái niệm và biểu diễn các vật lý của hệ thống
Trang 14UML là ngôn ngữ mô hình hoá chuẩn để thiết kế các hệ thống phần mềm UML là ngôn ngữ chuẩn công nghiệp để lập kế hoạch chi tiết phần mềm Không có mô hình nào là thoả mãn cho toàn bộ hệ thống Thường thì ta phải xây dựng nhiều mô hình cho một hệ thống, cho nên ngôn ngữ phải cho phép biểu diễn nhiều khung nhìn khác nhau của kiến trúc hệ thống trong suốt quá trình phát triển phần mềm Từ vựng và các qui tắc của UML cho ta cách thức xây dựng và đọc mô hình, nhưng không cho cho biết mô hình nào cần phải được lập và khi nào lập chúng Điều đó là vai trò của qui trình phát triển phần mềm
UML là ngôn ngữ để hiển thị
UML giúp xây dựng ngôn ngữ để dễ dàng giao tiếp Một số công việc phù hợp với mô hình hóa bằng văn bản, một số công việc khác lại phù hợp với mô hình hóa đồ họa
UML là ngôn ngữ đồ họa Với nhiều hệ thống ngôn ngữ đồ họa dễ hiểu hơn so với ngôn ngữ lập trình Sau mỗi biểu tượng đồ họa của ngôn ngữ UML là ngữ nghĩa Do vậy khi xây dựng mô hình trong UML thì người phát triển khác hay các công cụ hỗ trợ mô hình hoá có thể hiểu mô hình một cách rõ ràng
UML là ngôn ngữ đặc tả
Đặc tả có nghĩa là xây dựng lên các mô hình một cách chính xác, đầy đủ
và không mập mờ Trong thực tế, UML hướng tới đặc tả của tất cả các phân tích, thiết kế và các quyết định triển khai quan trọng cần phải thực hiện khi xây dựng
và phát triển một hệ thống phần mềm chuyên sâu
UML là ngôn ngữ để xây dựng
UML không phải là ngôn ngữ lập trình trực quan, nhưng các mô hình của
nó có thể kết hợp trực tiếp với nhiều ngôn ngữ lập trình khác nhau Điều đó có nghĩa là có thể ánh xạ từ một mô hình của UML vào các ngôn ngữ lập trình khác nhau, như: C++, Java, Visual Basic hay các bảng trong cơ sở dữ liệu quan hệ hoặc hướng đối tượng Ánh xạ này có khả năng chuyển đổi thuận từ mô hình của UML sang ngôn ngữ lập trình và ngược lại từ cài đặt bởi một ngôn ngữ lập trình
Trang 15về mô hình của UML Có nghĩa rằng nó cho khả năng làm việc với văn bản hay
đồ họa một cách nhất quán
UML là ngôn ngữ tài liệu
UML hướng tới làm tài liệu kiến trúc hệ thống và các chi tiết của nó UML cho khả năng biểu diễn các yêu cầu, thử nghiệm, mô hình hoá các hoạt động, lập kế hoạch và quản lý các sản phẩm
UML trước hết dành cho các hệ thống phần mềm chuyên sâu Nó được sử dụng hiệu quả cho các lĩnh vực: các hệ thống thông tin xí nghiệp, các dịch vụ tài chính ngân hàng, điện tử, viễn thông, giao thông vận tải, y học, khoa học kĩ thuật, các dịch vụ phân tán trên Web
UML không hạn chế trong việc mô hình hoá phần mềm Thực tế nó biểu diễn rất hiệu quả mô hình hoá các hệ thống không phải phần mềm như luồng công việc trong hệ thống pháp luật, cấu trúc và hành vi của hệ thống sức khoẻ và thiết kế phần cứng
Đối với việc phát triển phần mềm hướng đối tượng, UML có các khả năng sau:
Cho phép mô tả toàn bộ các sản phẩm phân tích và thiết kế
Trợ giúp tự động hoá quá trình thiết kế trên máy tính
Trợ giúp dịch xuôi và dịch ngược các thiết kế
Các phần tử cơ bản của UML
Phần tử là trừu tượng căn bản trong mô hình
Trong UML có 4 loại phần tử mô hình: Phần tử cấu trúc, phần tử hành vi, phần tử nhóm và chú thích
Trang 16 Lớp: Là mô tả tập các đối tượng cùng có chung thuộc tính, thao tác, quan
hệ và ngữ nghĩa Một lớp thực hiện một hay nhiều ghép nối
Giao diện: Là tập hợp các thao tác làm dịch vụ của lớp hay thành phần
Mô tả hành vi thấy được từ ngoài của thành phần
Biểu diễn toàn bộ hay một phần hành vi của lớp
Định nghĩa tập đặc tả thao tác chứ không định nghĩa hành vi
của chúng
Hình 1.2 Lớp Hình 1.3 Giao diện
Sự cộng tác (collaboration): xác định các hoạt động bên trong hệ thống và
là một bộ các nguyên tắc và các phần tử khác cùng làm việc để cung cấp một hành vi hợp tác lớn hơn tổng hành vi của tất cả các phần tử Bởi vậy, sự cộng tác
biểu diễn sự thực hiện của các phần làm nên hệ thống (Hình 3)
Ca sử dụng (Use Case): mô tả tập các dãy hành động mà hệ thống thực
hiện để cho một két quả được các giá trị đối với một tác nhân Một ca sử dụng
được ký hiệu bằng một hình elip nét liền bên trong bao gồm tên của nó (Hình 4)
Hình 1.4 Cộng tác Hình 1.5 Use Case
Lớp tích cực (Active class): là lớp có các đối tượng làm chủ một hay nhiều
tình huống Nó được xem như lớp thông thường nhưng đối tượng của nó biểu diễn các thành phần có hành vi đang tương tranh với các thành phần khác
Ký pháp đồ hoạ của lớp tích cực như lớp thông thường nhưng đường biên chữ nhật được tô đậm
Trang 17 Thành phần (Component): biểu diễn vật lý mã nguồn, các tệp nhị phân
trong quá trình phát triển hệ thống Mỗi thành phần biểu diễn một gói vật lý các phần tử logic khác như các lớp, các giao diện và sự cộng tác
Nút (Node): thể hiện thành phần vật lý, tồn tại khi chương trình chạy và
biểu diễn các tài nguyên tính toán, thường có ít nhất một bộ nhớ và khả năng máy chủ xử lý Nút có thể là máy tính, thiết bị phần cứng
Sự tương tác (Interaction): Sự tương tác là hành vi bao gồm tập các thông
báo được trao đổi giữa tập các đối tượng trong một ngữ cảnh cụ thể để thực hiện một mục đích cụ thể Hành vi của nhóm đối tượng hay của mỗi thao tác có thể được chỉ ra bằng các tương tác Một thông báo được biểu diễn đồ hoạ bằng một đường thẳng có hướng, thường bao gồm tên của tác vụ
Máy trạng thái (State machine): Máy trạng thái bao gồm một số các
phần tử biểu diễn các trạng thái, các chuyển dịch từ trạng thái này sang trạng thái khác, các sự kiện kích hoạt chuyển dịch Nó biểu diễn một dãy các trạng thái liên tục mà một đối tượng hay một t ơng tác trải qua trong vòng đời tương ứng với các sự kiện Ký pháp đồ hoạ của trạng thái là hình chữ nhật góc tròn trong đó có tên của trạng thái và các trạng thái con của nó (nếu có)
Trang 18Phần tử chú thích là bộ phận chú giải của mô hình UML Nó có thể dùng
để mô tả, giải thích cho một phần tử bất kỳ trong mô hình và được gọi là lời ghi chú (note)
Ký pháp đồ hoạ của nó là một hình chữ nhật có góc gấp cùng với một lời bình luận
Hình 1.11 Lời ghi chú
1.3.3 Các mô hình biểu đồ
Biểu đồ là đồ thị biểu diễn đồ họa về tập các phần tử trong mô hình Biểu
đồ chứa đựng các nội dung của các quan sát dưới các góc độ khác nhau và một
Trang 19thành phần của hệ thống có thể xuất hiện trong một hay nhiều biểu đồ UML cung cấp những biểu đồ trực quan để biểu diễn các khía cạnh khác nhau của hệ thống, bao gồm:
Biểu đồ ca sử dụng (Use Case Diagram): mô tả sự tương tác giữa các tác nhân ngoài (External Actor) và hệ thống thông qua các ca sử dụng
Các ca sử dụng (UC): là những nhiệm vụ chính, các dịch vụ, những trường hợp sử dụng cụ thể mà hệ thống cung cấp cho người sử dụng và ngược lại
Tác nhân: là con người hay hệ thống khác cung cấp hay thu nhận thông tin từ hệ thống đang được xây dựng
Biểu đồ UC tập trung vào quan sát trạng thái tĩnh của các UC trong
hệ thống Nó đặc biệt quan trọng trong việc tổ chức và mô hình hóa
hệ thống Vì UC biểu diễn yêu cầu hệ thống từ góc độ người dùng, cho nên UC là chức năng mà hệ thống phải có
Biểu đồ UC chỉ ra tác nhân nào khởi động UC và khi nào tác nhân nhận thông tin từ hệ thống
Biểu đồ UC chỉ ra chức năng tổng thể của hệ thống đang phát triển Khách hàng, quản lý dự án, phân tích viên, lập trình viên, kỹ sư kiểm tra chất lượng và những ai quan tâm tổng thể đến hệ thống đều có thể biết được hệ thống sẽ hỗ trợ những gì thông qua biểu đồ này
Biểu đồ trình tự (Sequence Diagram): thể hiện sự tương tác của các đối
tượng với nhau, chủ yếu là trình tự gửi và nhận thông điệp (message) để thực thi
các yêu cầu, các công việc theo thời gian
Biểu đồ cộng tác (Collaboration Diagram): tương tự như biểu đồ trình tự
nhưng nhấn mạnh vào sự tương tác của các đối tượng trên cơ sở cộng tác với
nhau bằng cách trao đổi các thông điệp để thực hiện các yêu cầu theo ngữ cảnh công việc
Trang 20Biểu đồ cộng tác giúp kỹ sư kiểm tra chất lượng và kiến trúc sư hệ thống thấy được việc phân bổ tiến trình giữa các đối tượng thông qua biểu đồ này
Biểu đồ lớp (Class Diagram): mô tả cấu trúc tĩnh, mô tả mô hình khái
niệm bao gồm các lớp đối tượng và các mối quan hệ của chúng trong hệ thống hướng đối tượng
Người phát triển sử dụng biểu đồ lớp để xây dựng các lớp Kiến trúc sư quan sát thiết kế hệ thống thông qua biểu đồ lớp
Nếu trên biểu đồ lớp thấy một lớp có quá nhiều chức năng thì phải chia chúng ra nhiều lớp khác
Biểu đồ trạng thái (State Diagram): thể hiện chu kỳ hoạt động của các
đối tượng, của các hệ thống con và của cả hệ thống Nó là một loại ôtômát hữu hạn trạng thái, mô tả các trạng thái, các hành động mà đối tượng có thể có và các
sự kiện gắn với các trạng thái theo thời gian
Biểu đồ hành động (Activity Diagram): chỉ ra dòng hoạt động của hệ
thống, bao gồm các trạng thái hoạt động, trong đó từ một trạng thái hoạt động sẽ chuyển sang trạng thái khác sau khi một hoạt động tương ứng được thực hiện Nó chỉ ra trình tự các bước, tiến trình thực hiện cũng như các điểm quyết định và sự
rẽ nhánh theo luồng sự kiện
Biểu đồ thành phần (Component Diagram): chỉ ra cấu trúc vật lý của các
thành phần trong hệ thống, bao gồm: các thành phần mã nguồn, mã nhị phân, thư viện và các thành phần thực thi
Biểu đồ triển khai (Deployment Diagram): chỉ ra cách bố trí vật lý các
thành phần theo kiến trúc được thiết kế của hệ thống
Thông qua biểu đồ triển khai mà người quản lý dự án, người sử dụng, kiến trúc sư và đội ngũ triển khai hiểu phân bổ vật lý của hệ thống và các hệ thống con sẽ được đặt ở đâu?
Trang 21CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG CHO HỆ THỐNG QUẢN LÝ THI TRẮC NGHIỆM CHO TRƯỜNG THPT
QUỲNH CÔI – QUỲNH PHỤ - THÁI BÌNH
Trang 222.1 Pha khởi đầu (khảo sát hệ thống)
2.1.1 Quy trình tổ chức thi trắc nghiệm
2.1.1.1 Tạo nội dung môn học và đề thi
- Nhập, sửa, xóa môn thi, mỗi môn thi bao gồm 2 thông tin là: Số câu hỏi trong một đề thi và thời gian làm bài tương ứng
- Tạo các chương cho từng môn học
- Cập nhật các câu hỏi và từng chương để tạo ngân hàng câu hỏi Mỗi câu hỏi cần chú ý đến lựa chọn đúng và mức độ ( dễ, trung bình, khó ) của câu hỏi
- Tạo lập đề thi bằng cách lấy ngẫu nhiên câu hỏi từ ngân hàng câu hỏi tương ứng với từng môn học để thành lập đề thi Mỗi đề thi có số câu hỏi
và thời gian làm bài tương ứng như đã thiết lập cho môn thi
- Đề thi do giáo viên dạy môn học đó ra đề Đề thi gồm:
Thời gian thi
Tên môn thi
Thời gian làm bài
Các câu hỏi
Câu hỏi bao gồm: Phần hỏi, phần thông tin trả lời và điểm của câu hỏi
Các loại câu hỏi trắc nghiệm:
- Câu hỏi có nhiều lựa chọn với một câu trả lời đúng
- Câu hỏi chỉ có lựa chọn đúng sai
- Câu hỏi có nhiều lựa chọn với nhiều câu trả lời đúng (những loại câu hỏi như vậy không nên sử dụng, vì chúng không những làm cho học sinh bối rối mà các chương trình máy tính không tương thích với câu hỏi loại này)
Một số điều cần lưu ý khi giáo viên thiết lập câu hỏi thi
Trang 23- Khẳng định vấn đề một cách rõ ràng và chính xác nhất Tránh theo kiểu chung chung, tối nghĩa, không có đủ những thông tin liên quan Điều cốt yếu là học sinh cần biết chính xác họ cần phải làm gì
- Câu hỏi cần bao gồm tất cả các từ ngữ chi tiết, làm giảm thời gian đọc
- Tránh dùng các dạng phủ định, nếu không được thì các từ ngữ phủ định cần được đánh dấu bằng cách gạch chân hoặc viết in hoa
- Các câu trả lời phải tương đương nhau về độ dài
- Tránh dùng cụm từ “ Tất cả những câu trên” (một số phân tích cho thấy
rằng những câu hỏi loại này thường là dễ nhất)
- Dùng cụm từ “ không có câu nào trong số trên” một cách cẩn thận ( một
số phân tích cho thấy rằng những câu hỏi loại này thường khó hơn Mặt khác, chúng sẽ làm giảm khả năng phán đoán của sinh viên mà không có
lý do rõ ràng)
Mỗi đề thi đều có phần đáp án, bao gồm:
Tên môn thi
Đáp án cho từng câu hỏi
Như vậy một môn thi có thể thành lập được nhiều đề thi với mức độ ngẫu nhiên các câu hỏi khác nhau ở 3 cấp độ dễ, trung bình, khó
2.1.1.2 Cấp password để học sinh dự thi
2.1.1.3 Tổ chức thi
- Học sinh đăng nhập và làm bài thi Bài thi được thực hiện trong khoảng thời gian cho phép được người quản trị thiết lập trước
- Thực hiện thi bằng cách chọn đáp án đúng, sai
- Trong khi học sinh thi, người quản trị có thể kiểm tra được kết quả làm bài
và quan sát quá trình thi của học sinh để từ đó điều chỉnh cách dạy và đưa
ra những kinh nghiệm làm bài thi trắc nghiệm
- Kết thúc bằng cách chọn nộp bài hoặc hệ thống tự kết thúc khi hết thời gian làm bài
- Học sinh có thể xem điểm và đáp án ngay sau khi kết thúc một môn thi
Trang 24- Tại chức năng xem điểm, người quản trị có thể đưa ra điểm của học sinh theo danh sách lớp, theo môn thi, để từ đó có thể in ấn dễ dàng
- Bài thi có thể được chấm điểm theo thang điểm 100 (hoặc thang điểm 10)
Mức điểm của từng câu hỏi có thể dựa theo mức độ khó của câu hỏi hoặc các câu hỏi đều có số điểm bằng nhau
- Phương pháp chấm điểm trước đây là một câu trả lời đúng sẽ được tính điểm, câu trả lời sai không được cộng cũng như không bị trừ điểm Như vậy việc lựa chọn ngẫu nhiên các phương án trả lời sẽ dẫn đến tình trạng các câu trả lời đúng là do sự tình cờ Ví dụ:
Có 1000 câu hỏi chỉ với 2 lựa chọn đúng/ sai, thì sẽ có gần 1 nửa là câu trả lời đúng, nửa còn lại sẽ là câu trả lời sai Nếu ta dành 1 điểm cho câu trả lời đúng, và 0 điểm cho câu trả lời sai thì kết qủa cuối cùng sẽ là 500/1000, chiếm 50%, đây là mức điểm đạt ! Rõ ràng là đây là tình huống không mong đợi
- Vì vậy có thể khắc phục vấn đề này bằng cách áp dụng cách tính điểm trừ vào từng câu hỏi Chúng ta có thể khắc phục được vấn đề này bằng cách thưởng
1 điểm cho mỗi câu trả lời đúng và trừ đi 1 điểm cho mỗi câu trả lời sai Theo cách này, những sinh viên có chuẩn bị tốt sẽ đạt được 100% còn những sinh viên không chuẩn bị kỹ sẽ là 0% còn những sinh viên khác sẽ đạt được mức % điểm tuỳ thuộc vào mức độ chuẩn bị của họ Và điều này, sau cùng chính là mục tiêu của bất kỳ bài trắc nghiệm nào
Ví dụ nêu trên đề cập đến 2 trường hợp Bây giờ chúng ta sẽ xem xét tới 3 trường hợp
Trang 25Nếu câu hỏi có 3 sự trả lời lựa chọn, sẽ không công bằng nếu thưởng 1 điểm cho câu trả lời đúng, trừ đi 1 điểm đối với câu trả lời sai và tổng số điểm bị trừ của câu trả lời sai sẽ bù cho số điểm được thưởng của câu trả lời đúng Vì vậy, nếu một câu trả lời đúng được thưởng 1 điểm, thì mỗi câu trả lời sai sẽ bị trừ
đi 0.5 điểm ( Thay vì dùng 0.5 điểm, sẽ dễ dàng tính điểm tổng thể hơn nếu mỗi câu trả lời đúng được thưởng 2 điểm và mỗi câu trả lời sai sẽ bị trừ đi 1 điểm) Theo logic trên nếu chúng ta tăng số phương án lựa chọn lên, ta sẽ có bảng sau:
TL đúng
Tổng số câu
TL sai
Số điểm trừ cho mỗi câu
TL sai
Tổng số điểm trừ cho các câu TL sai
Tổng số phương án trả lời cho từng câu hỏi có ký hiệu bằng chữ “ n”
Bởi vì số phương án trả lời đúng cho mỗi câu hỏi luôn luôn là 1 nên tổng số phương án trả lời sai sẽ có ký hiệu là “ n-1”
Số điểm thưởng cho câu trả lời đúng sẽ ký hiệu bằng chữ “ C” (correct)
Số điểm bị trừ cho câu trả lời sai sẽ ký hiệu bằng chữ “ I ”.(incorrect) Nhìn vào cột 3 và 6, có thể thấy rằng trong tất cả các trường hợp, tổng số điểm thưởng cho câu trả lời đúng sẽ bù cho tổng số điểm trừ của câu trả lời sai; Đạt được điều này bằng cách luôn đảm bảo sao cho số điểm trừ đi của mỗi câu trả lời sai sẽ được điều chỉnh khi số câu trả lời sai tăng lên
Cuối cùng, chúng ta tính giá trị của I ( cột 5) theo cách sau:
4) (cot sai chon lua cau cac So
3) (cot dung loi tra cau cho thuong Diem
I
Sử dụng các ký hiệu, công thức sẽ là I = C/( n-1)
Trang 26Chính vì vậy, nếu không dùng cách tính điểm trừ thì kết quả điểm ghi
được cuối cùng của một sinh viên sẽ bao gồm:
Số điểm = số điểm đạt được chính đáng + số điểm do đoán mò
Để khắc phục tình trạng này, chúng tôi xin giới thiệu một cách tương tự như công thức nêu trên, và số điểm giờ đây sẽ là:
Số điểm = số điểm đạt được chính đáng + số điểm do đoán mò trừ đi I
- Điểm sẽ được làm tròn theo quy định sau:
0.25 điểm thành 0.5 điểm 0.50 điểm vẫn giữ nguyên 0.75 điểm thành 1 điểm
- Điểm của bài thi sẽ được lưu lại theo từng môn thi của học sinh
2.1.2 Mô tả chương trình thi trắc nghiệm
Chương trình phải có các chức năng cập nhật thông tin khóa học, môn học, lớp học và thí sinh
Ngân hàng câu hỏi do giáo viên ra đề cập nhật trước khi thi
Khi ra đề câu hỏi được lấy ngẫu nhiên trong ngân hàng câu hỏi Đề thi cũng được lấy ngẫu nhiên trong ngân hàng đề
Khi thí sinh đăng ký thi, chương trình phải kiểm tra được tài khoản, mật khẩu của thí sinh
Thí sinh thi xong có thể biết điểm ngay
Các bài thi được lưu để giải quyết thắc mắc của thí sinh
Chương trình có các chức năng in ấn: danh sách thí sinh, danh sách nhóm thi, điểm thi, đề thi…
2.1.3 Pha triển khai (phân tích hệ thống)
Mô hình hóa môi trường và nhu cầu
Mục đích
- Đáp ứng được các yêu cầu từ quản lý ngân hàng câu hỏi đến việc tổ chức thi và lấy điểm
- Đáp ứng quy trình thi chặt chẽ
Trang 27- Dễ dàng sử dụng cũng như tổ chức thi
- Đánh giá kết quả khách quan và chính xác
- Tiết kiệm thời gian và chi phí
Ưu điểm của phương pháp thi trắc nghiệm
- Rất dễ cho điểm hoặc tính điểm, cách tính điểm này chính xác và khách quan Đặc biệt có thể được tính điểm bằng máy vi tính
- Có thể thiết lập đánh giá nhiều mức trình độ khác nhau Ví dụ, một câu hỏi này có thể kiểm tra lại trí nhớ của học sinh về những sự kiện trong quá khứ, trong khi những câu hỏi khác có thể kiểm tra khả năng của học sinh trong việc áp dụng những kiến thức thực tế vào từng tình huống cụ thể, hoặc ở một mức cao hơn, một câu hỏi có thể kiểm tra khả năng của sinh viên trong việc đánh giá các thông tin có sẵn
- Việc hiểu sai câu hỏi hoặc câu trả lời lựa chọn sẽ có thể làm mất một số điểm, việc hiểu sai một câu hỏi dưới dạng luận, kèm theo một kỹ năng viết kém sẽ bị mất một số điểm thông thường
- Những bài kiểm tra được tiến hành thường xuyên sẽ giúp cho cả giáo viên
và học sinh những thông tin về mức độ nắm vững kiến thức và kỹ năng của học sinh để từ đó giáo viên có thể sắp xếp câu hỏi theo mức độ phức tạp khả năng thực hiện của từng học sinh
- Có nội dung rộng hơn hình thức kiểm tra bằng bài luận, vì vậy có thể kiểm tra được độ rộng của kiến thức Những bài kiểm tra này được kết cấu gồm những câu hỏi có mức độ phức tạp khác nhau và có khả năng phân loại
- Giáo viên chủ động “lên chương trình” và học sinh không thể học tủ và học lệch được như có thể xảy ra đối với thi tự luận
2.2 Biểu đồ UC (Use Case – Trường hợp sử dụng)
Danh sách các tác nhân
Quản trị hệ thống: Có các quyền và chức năng:
Trang 28- Tạo và quản lý các tài khoản của “Giáo viên ra đề”, “Học sinh”, “Giáo vụ khoa”, “Trưởng bộ môn”, “Cán bộ coi thi”
- Yêu cầu hệ thống chấm điểm bài thi theo từng môn học (đề thi)
- Thiết lập thời gian bắt đầu thi một đề thi nào đó của một lớp, để khi học sinh đăng nhập vào làm bài thi chỉ có một đề thi duy nhất để làm bài
Giáo viên ra đề: Sau khi đăng nhập hệ thống có quyền nhập đề thi cho môn học mình dạy
- Đề thi của môn học có thể dùng chung cho nhiều lớp mà giáo viên dạy hoặc riêng mỗi lớp một đề, điều này do giáo viên quy định
- Giáo viên ra đề có thể quản lý cấu trúc của bài thi: Bài thi gồm bao nhiêu câu, điểm số, thời gian cho môn thi là bao lâu
- Cùng với việc ra đề giáo viên phải nhập thông tin đáp án
Giáo vụ khoa:
- Là người quản lý thông tin môn học, khóa, lớp, học sinh
- Phân công học sinh vào các nhóm thi và in phiếu dự thi
Học sinh: Đăng nhập hệ thống để thực hiện làm bài thi, xem đáp án và xem điểm thi
Cán bộ coi thi: Khởi tạo thi và quản lý phòng thi
Trang 292.2.1 Đặc tả các ca sử dụng liên quan đến tác nhân “Quan tri he thong”
Hình 2.1 Biểu đồ UC của tác nhân “Quản trị hệ thống”
2.2.1.1 Ca sử dụng “Dang nhap he thong”
Mô tả: Đây là trường hợp sử dụng quản trị hệ thống thay đăng nhập hệ thống
Tác nhân: Quản trị hệ thống
Luồng sự kiện
Luồng sự kiện chính
Hành động của tác nhân Hành động của hệ thống
1 Quản trị viên chọn chức năng đăng
nhâp hệ thống
2 Hệ thống hiển thị giao diện
3 Quản lý hê thống nhập ID,
+ Quản lý hệ thống hủy yêu cầu đăng nhập
+ Hệ thống thị gian diện ban đầu của hệ thống
Trang 302.2.1.2 Ca sử dụng “Doi mat khau”
Mô tả: Đây là trường hợp sử dụng quản trị hệ thống thay đổi mật khẩu đăng nhập hệ thống
Tác nhân: Quản trị hệ thống
Luồng sự kiện
Luồng sự kiện chính
Hành động của tác nhân Hành động của hệ thống
1 Quản trị viên chọn chức năng đổi
mật khẩu
2 Hệ thống hiển thị giao diện
3 Quản lý hê thống nhập ID,
password cũ, password mới
+ Quản lý hệ thống hủy yêu cầu đăng nhập
+ Hệ thống bỏ qua hộp thoại đăng nhập, hiển thị gian diện ban đầu của hệ thống
+ Kết thúc UC
Luồng sự kiện rẽ nhánh thứ 2
+ Tài khoản và mật khẩu không hợp lệ, hệ thống từ chối đăng nhập
Trang 31+ Hiển thị thông báo và hộp thoại đăng nhập
+ Kết thúc UC
2.2.1.3 Ca sử dụng “Quan ly cac tai khoan”
Mô tả: Đây là trường hợp sử dụng quản lý hệ thống tạo hoặc thay đổi thông tin tài khoản của người sử dụng hệ thống
Tác nhân: Quản lý hệ thống
Luồng sự kiện
Luồng sự kiện chính
Hành động của tác nhân Hành động của hệ thống
1.Chọn quản lý tài khoản
2 Hiển thị giao diện nhập thông tin
3 Nhập ID đăng nhập (tạo mới), mật
khẩu, các thông tin chi tiết khác
4 Chọn chức năng lưu thông tin
4 Hệ thống xác nhận lại thông tin
5 Hệ thống lưu thông tin
6 Kết thúc UC
Luồng sự kiện rẽ nhánh thứ nhất
+ Quản lý hệ thống hủy yêu cầu
+ Hệ thống hiển thị giao diện quản lý hệ thống
+ Kết thúc UC
Luồng sự kiện rẽ nhánh thứ nhất
+ Thông tin nhập vào không hợp lệ, ID đăng nhập đã tồn tài
+ Hệ thống từ chối lưu thông tin, hiển thị thông báo
Trang 32 Luồng sự kiện
Luồng sự kiện chính
Hành động của tác nhân Hành động của hệ thống
1 Quản trị hệ thống chọn “Cham thi”
2 Hệ thống hiển thị giao diện
3 Quản trị hệ thống chọn kỳ thi, lớp,
môn thi, ID đề thi
4 Quản trị hệ thống yêu cầu chấm
2.2.2 Đặc tả các ca sử dụng liên quan đến tác nhân “Giao vien ra de”
Hình 2.2 Biểu đồ UC của tác nhân “Giáo viên ra đề”
Trang 33Hành động của tác nhân Hành động của hệ thống
1 Giáo viên ra đề chọn chức năng tạo
5 Giáo viên chọn một môn
6 Hệ thống hiển thị giao diện tạo đề thi cùng danh sách các lớp
7 Giáo viên nhập thông tin của đề thi:
Thời gian làm bài, từng câu hỏi, các
phương án lựa chọn câu trả lời, đáp án
cho từng câu hỏi, điểm số
8 Giáo viên chọn lưu thông tin
9 Hệ thống xác nhận yêu cầu, lưu thông tin
9 Kết thúc UC
Luồng sự kiện rẽ nhánh thứ nhất
+ Giáo viên hủy yêu cầu tạo đề thi + Hệ thống chuyển sang giao diện chức năng của giáo viên ra đề + Kết thúc UC
Trang 34 Luồng sự kiện rẽ nhánh thứ hai
+ Các thông tin giáo viên nhập vào không hợp lệ + Hệ thống hiển thị thông báo lỗi khi dữ liệu không hợp lệ + Kết thúc UC
2.2.2.2 Ca sử dụng “Thiet lap de thi”
Mô tả: Đây là trường hợp sử dụng giáo viên ra thiết lập đề thi
Tác nhân: Giáo viên ra đề
Luồng sự kiện
Luồng sự kiện chính
Hành động của tác nhân Hành động của hệ thống
1 Giáo viên ra đề chọn chức năng
thiết lập đề thi
2 Hệ thống hiển thị giao diện chức năng thiết lập đề thi
3 Giáo viên ra đề chọn kỳ thi, lớp
4 Giáo viên chọn các câu hỏi cho
từng đề thi
5 Nhập ngày thi cho đề thi
6 Giáo viên chọn lưu thông tin
Trang 352.2.3 Đặc tả các ca sử dụng liên quan đến tác nhân “Giao vu khoa”
Hình 2.3 Biểu đồ UC của tác nhân “Giáo vụ khoa”
2.2.3.1 Ca sử dụng “Cap nhat khoa hoc”
Mô tả: Đây là trường hợp sử dụng giáo vụ khoa tạo hoặc thay đổi thông tin khóa học
Tác nhân: Giáo vụ khoa
Luồng sự kiện
Luồng sự kiện chính
Hành động của tác nhân Hành động của hệ thống
1.Chọn thay đổi thông tin (tạo mới)
một khóa học
2 Hiển thị thông tin khóa học (giao diện nhập thông tin)
3 Nhập thông tin: ID khóa học (tạo
mới), tên khóa học