Mô tả chi tiết các thuộc tính
1. Đối tƣợng Đội bóng
Stt Thuộc tính Kiểu Miền giá trị Ghi chú
1 Tên Chuỗi Giá trị rời rạc 2 Thành Phố ĐT phụ
3 Sân nhà ĐT phụ
4 Địa chỉ Chuỗi
5 Trạng thái Số Giá trị rời rạc 6 Huấn luyện viên ĐT phụ Nhiều
2. Đối tƣợng Cầu thủ
Stt Thuộc tính Kiểu Miền giá trị Ghi chú
1 Họ Tên Chuỗi
2 Ngày sinh Ngày
3 Vị trí ĐT phụ
4 Số Áo Số >=0
5 Chiều cao Số >1.5 6 Trạng thái Số Rời rạc
3. Đối tƣợng Trận đấu
Stt Thuộc tính Kiểu Miền giá trị Ghi chú
1 Loại trận đấu Số Giá trị rời rạc
2 Ngày NGAY >=0
3 Giờ
4 Thời gian Số >=0
5 Sân ĐT phụ
6 Trọng tài ĐT phụ Nhiều
7 Số khán giả Số Ít hơn sức chứa của sân
4. Quan hệ Thi đấu
Stt Thuộc tính Kiểu Miền giá trị Ghi chú
1 Số bàn thắng Số Giá trị rời rạc Tính toán
2 Số bàn thua NGAY >=0 Tính toán 3 Thẻ phạt ĐT phụ Nhiều Tính toán
5. Quan hệ Ra sân
Stt Thuộc tính Kiểu Miền giá trị Ghi chú
1 Thời điểm Số >=0
2 Vị trí ĐT phụ
3 Bàn thắng ĐT phụ Nhiều 4 Thẻ phạt ĐT phụ Nhiều
Mô tả chi tiết thuộc tính
Đội bóng
Stt Thuộc tính Kiểu Ràng buộc Ghi chú
1 MDBTên Chuỗi Khóa chính
2 MTP Chuỗi Khóa ngoại
3 HoTen Chuỗi
4 Diachi Chuỗi
5 DienThoai Chuỗi
Cầu thủ:
Stt Thuộc tính Kiểu Ràng buộc Ghi chú
1 MCT Chuỗi Khóa chính
2 MDB Chuỗi Khóa ngoại
3 MVT Chuỗi Khóa ngoại
4 HoTen Chuỗi
5 Ngaysinh NGAY
6 SoAo Số >0
7 TrangThai Logic
Trận đấu:
Stt Thuộc tính Kiểu Ràng buộc Ghi chú
1 MTRD Chuỗi Khóa chính
2 MLTRD Chuỗi Khóa ngoại
3 MSAN Chuỗi Khóa ngoại
4 Ngay NGAY
5 GIO GIO
6 Thoigian Số >0 7 Sokhangia Số >0
Thi đấu:
Stt Thuộc tính Kiểu Ràng buộc Ghi chú
1 MTD Chuỗi Khóa chính
2 MTRD Chuỗi Khóa ngoại
3 MDB Chuỗi Khóa ngoại
4 Ketqua Số
Ra Sân
Stt Thuộc tính Kiểu Ràng buộc Ghi chú
1 MRS Chuỗi Khóa chính
2 MTD Chuỗi Khóa ngoại
3 MCT Chuỗi Khóa ngoại
4 MVT Chuỗi Khóa ngoại
5 Thoidiem Số
Ghi bàn:
Stt Thuộc tính Kiểu Ràng buộc Ghi chú
1 MRS Chuỗi Khóa chính, khóa ngoại 2 MTD Chuỗi Khóa chính, Khóa ngoại 3 Thoidiem Số Phạt
Stt Thuộc tính Kiểu Ràng buộc Ghi chú
1 MRS Chuỗi Khóa chính,
khóa ngoại
2 MTHE Chuỗi Khóa chính,
Khóa ngoại
3 Thoidiem Số
Điều khiển:
Stt Thuộc tính Kiểu Ràng buộc Ghi chú
1 MTRD Chuỗi Khóa chính, khóa ngoại 2 MTTAI Chuỗi Khóa chính,
Khóa ngoại
3 MVTRO Chuỗi Khóa ngoại
Loại trận đấu:
Stt Thuộc tính Kiểu Ràng buộc Ghi chú
1 MLTRD Chuỗi Khóa chính 2 Tên Chuỗi 3 Ghichu Chuỗi 4 Sobanthang Số >0 tính tóan 5 SoThe Số >0 tính toán Vị trí:
Stt Thuộc tính Kiểu Ràng buộc Ghi chú
1 MVT Chuỗi Khóa chính
2 Tên Chuỗi
3 Ghichu Chuỗi
Trách nhiệm:
Stt Thuộc tính Kiểu Ràng buộc Ghi chú
1 MTN Chuỗi Khóa chính
2 Tên Chuỗi
3 Ghichu Chuỗi
Vai trò:
Stt Thuộc tính Kiểu Ràng buộc Ghi chú
1 MVTRO Chuỗi Khóa chính
2 Tên Chuỗi
3 Ghichu Chuỗi
4 Soluong Số tính toán
Loại bàn thắng:
Stt Thuộc tính Kiểu Ràng buộc Ghi chú
1 MLBT Chuỗi Khóa chính
2 Tên Chuỗi
3 Ghichu Chuỗi
4 Soluong Số tính toán
Thẻ phạt:
Stt Thuộc tính Kiểu Ràng buộc Ghi chú
1 MTHE Chuỗi Khóa chính
2 Tên Chuỗi
3 Ghichu Chuỗi
4 Soluong Số tính toán
Trọng tài:
Stt Thuộc tính Kiểu Ràng buộc Ghi chú
1 MTTAI Chuỗi Khóa chính
2 Tên Chuỗi
3 Ghichu Chuỗi
Huấn luyện viên:
Stt Thuộc tính Kiểu Ràng buộc Ghi chú
1 MHLV Chuỗi Khóa chính
2 MDB Chuỗi Khóa ngoại
3 MTN Chuỗi Khóa ngoại
4 Ten Chuỗi
5 Ghichu Chuỗi
Thành phố:
Stt Thuộc tính Kiểu Ràng buộc Ghi chú
1 MTP Chuỗi Khóa chính
2 Tên Chuỗi
3 Ghichu Chuỗi
Sân:
Stt Thuộc tính Kiểu Ràng buộc Ghi chú
1 MSAN Chuỗi Khóa chính
2 MTP Chuỗi Khóa ngoại
2 Tên Chuỗi
3 Succhua Số >0
MỤC LỤC
Chƣơng 1: TỔNG QUAN VỀ CÔNG NGHỆ PHẦN MỀM ... 1
1. CÁC KHÁI NIỆM CƠ BẢN... 3
1.1. Phần mềm ... 3 1.1.1. Các khái niệm ... 3 1.1.2. Phân loại ... 4 1.1.3. Kiến trúc phần mềm ... 4 1.2. Chất lƣợng phần mềm ... 6 1.2.1. Tính đúng đắn ... 6 1.2.2. Tính tiến hóa ... 7 1.2.3. Tính hiệu quả ... 7 1.2.4. Tính tiện dụng... 8 1.2.5. Tính tƣơng thích ... 8 1.2.6. Tính tái sử dụng ... 8 1.3. Công nghệ phần mềm ... 8 1.3.1. Sự ra đời ... 8 1.3.2. Định nghĩa ... 9
1.3.3. Đối tƣợng nghiên cứu ... 10
2. QUI TRÌNH CÔNG NGHỆ PHẦN MỀM ... 11
2.1. Các bƣớc cơ bản trong xây dựng phần mềm ... 11
2.1.1. Xác định... 11 2.1.2. Phát triển... 11 2.1.3. Bảo trì (Vận hành) ... 12 2.2. Các qui trình xây dựng phần mềm... 12 2.2.1. Mô hình thác nƣớc ... 12 2.2.2. Mô hình bản mẫu phần mềm ... 17 2.2.3. Mô hình xoắn ốc ... 18 3. CÁC PHƢƠNG PHÁP XÂY DỰNG PHẦN MỀM ... 19 3.1. Tổng quan ... 19 3.1.1. Khái niệm ... 19 3.1.2. Phân loại ... 19 3.2. Các phƣơng pháp xây dựng phần mềm ... 20 3.2.1. Cách tiếp cận ... 20 3.2.2. Cách tiến hành ... 21
4.1. Mở đầu... 24
4.1.1. Khái niệm ... 24
4.2. Phần mềm hỗ trợ thực hiện các giai đoạn... 24
4.2.1. Phần mềm hỗ trợ phân tích ... 24
4.2.2. Phần mềm hỗ trợ thiết kế... 24
4.2.3. Phần mềm hỗ trợ lập trình ... 25
4.2.4. Phần mềm hỗ trợ kiểm chứng... 25
4.3. Phần mềm hỗ trợ tổ chức, quản lý việc triễn khai ... 25
4.3.1. Xây dựng phƣơng án ... 25
4.3.2. Lập kế hoạch... 25
Chƣơng 2: PHÂN TÍCH VÀ ĐẶC TẢ YÊU CẦU... 26
1. Tổng quan ... 26
1.1 Quá trình phân tích ... 26
1.1.1 Phân tích phạm vi dự án ... 26
1.1.2 Phân tích mở rộng yêu cầu nghiệp vụ ... 27
1.1.3.Phân tích yêu cầu bảo mật ... 28
1.1.4.Phân tích yêu cầu tốc độ ... 30
1.1.5 Phân tích yêu cầu vận hành ... 31
1.1.6 Phân tích khả năng mở rộng yêu cầu... 32
1.1.7. Phân tích những yêu cầu sẵn có... 32
1.1.8. Phân tích yêu tố con ngƣời ... 33
1.1.9. Phân tích yêu cầu tích hợp... 33
1.1.10. Phân tích thực tiễn nghiệp vụ tồn tại ... 34
1.1.11.Phân tích yêu cầu khả năng quy mô ... 34
1.2 Xác định yêu cầu ... 35
1.2.1 Yêu cầu và mô tả yêu cầu ... 35
1.2.2 Phân loại yêu cầu ... 37
1.2.3 Các bƣớc xác định yêu cầu ... 42
1.2.3.1 Khảo sát hiện trạng ... 43
1.2.3.2 Lập danh sách các yêu cầu ... 44
1.2.4 Khảo sát một số phần mềm tiêu biểu ... 54
Tra cứu... 57
2. Mô hình hóa yêu cầu hệ thống... 58
2.1 Các nguyên lý mô hình hóa ... 58
2.3 Sơ đồ phân rã chức năng ... 59
2.3 Mô hình bản mẫu (protoype) ... 59
2.4 Sơ đồ luồng dữ liệu... 60
2.5 Mô hình hƣớng đối tƣợng... 60
2. 6 Ví dụ minh họa từ yêu cầu sang mô hình hóa ... 61
Chƣơng 3: THIẾT KẾ PHẦN MỀM ... 64
1.Tổng quan về thiết kế ... 64
1.1.Kỹ thuật thiết kế ... 65
1.1.1.Thiết kế trên xuống (Top-down) ... 65
1.1.2.Thiết kế từ dƣới lên (Bottom–up)... 65
1.1.3.Thiết kế hệ thống ... 65
1.1.4.Thiết kế bản mẫu (prototype) ... 66
1.1.5.Phân rã thiết kế ... 66
1.1.5.1 Phân rã hƣớng chức năng ... 66
1.1.5.2 Phân rã hƣớng dữ liệu... 67
1.1.5.3 Phân rã hƣớng đối tƣợng ... 73
1.2. Thiết kế giao diện ngƣời dùng... 74
1.3.Cửa sổ hội thoại (dialog window): ... 74
1.4 Thiết kế hƣớng chức năng ... 75
1.5.Thiết kế hƣớng đối tƣợng ... 75
2.Kiến trúc phần mềm ... 76
3.Phƣơng pháp thiết kế phần mềm ... 77
4.Ví dụ minh họa ... 77
Chƣơng 4: THIẾT KẾ DỮ LIỆU ... 84
1.Tổng quan ... 84
2.Kết quả của thiết kế ... 84
3.Quá trình thiết kế ... 86
4.Phƣơng pháp thiết kế dữ liệu ... 90
4.1.Phƣơng pháp trực tiếp ... 90
4.2.Phƣơng pháp gián tiếp ... 92
4.2.1.Lập sơ đồ lớp ... 92
4.2.2.Ánh xạ sơ đồ lớp... 93
4.2.3.Ánh xạ quan hệ ... 93
4.2.4.Hoàn chỉnh sơ đồ logic ... 93
5.Thiết kế dữ liệu với tính đúng đắn... 95
6.Thiết kế dữ liệu và yêu cầu chất lƣợng... 95
6.1.Xem xét tính tiến hóa ... 96
6.2.Xem xét tính hiệu quả (tốc độ) ... 97
6.3.Xem xét tính hiệu quả (lƣu trữ) ... 98
Chƣơng 5 : THIẾT KẾ GIAO DIỆN... 102
1.Tổng quan ... 102
1.1.Kết quả thiết kế... 102
1.2.Phân loại màn hình giao diện ... 104
1.3.Quá trình thiết kế ... 105
2.Thiết kế màn hình ... 112
2.1.Mô tả màn hình chính ... 112
2.2.Thiết kế màn hình chính dùng thực đơn (menu) ... 113
3.Thiết kế màn hình tra cứu ... 114
3.1.Mô tả màn hình tra cứu... 114
3.2.Thể hiện tiêu chuẩn tra cứu ... 114
3.2.1.Tra cứu với biểu thức logic ... 114
3.2.2.Tra cứu với hình thức cây... 114
3.2.3.Tích hợp... 114
3.3.Thể hiện kết quả tra cứu ... 115
3.3.1.Kết quả tra cứu dùng thông báo... 115
3.3.2.Kết quả tra cứu dùng danh sách đơn ... 115
3.3.3.Kết quả tra cứu dùng xâu các danh sách ... 115
3.3.4.Cây các danh sách ... 115
3.4.Thao tác ngƣời dùng và xử lý của phần mềm ... 115
4.Thiết kế màn hình nhập liệu ... 116
4.1.Mô tả màn hình nhập liệu ... 116
4.2.Các hình thức trình bày màn hình nhập liệu... 117
4.2.1.Thiết kế màn hình nhập liệu dạng danh sách... 117
4.2.2.Thiết kế màn hình nhập liệu dạng hồ sơ... 118
4.2.3.Thiết kế màn hình nhập liệu dạng phiếu... 118
Chƣơng 6: CÀI ĐẶT ... 119
1.Tổng quan ... 119
2.Môi trƣờng lập trình ... 120
2.1.Chất lƣợng đòi hỏi cho một ngôn ngữ lập trình: ... 120
2.2.Khả năng Mô đun hóa của ngôn ngữ lập trình ... 120
2.3.Giá trị sƣu liệu của ngôn ngữ lập trình ... 121
2.4.Cấu trúc dữ liệu trong ngôn ngữ lập trình ... 121
2.5.Ví dụ minh họa ... 122
3.Phong cách lập trình ... 122
3.1.Tính cấu trúc ... 123
3.2.Thế mạnh của diễn đạt... 123
3.3.Cách thức trình bày bên ngoài ... 124
4.Đánh giá chất lƣợng công việc ... 125
4.1.Hiện thực tăng cƣờng ... 125
4.2.Đánh giá lại thiết kế và chƣơng trình (Design and Code Review) ... 126
5.Ví dụ minh họa ... 126
Chƣơng 7: KIỂM THỬ PHẦN MỀM ... 129
1.Tổng quan ... 129
2.Yêu cầu đối với kiểm thử ... 129
3.Các kỹ thuật kiểm thử... 130
3.1.Phƣơng pháp hộp đen (Kiểm thử chức năng)... 130
3.2.Phƣơng pháp hộp trắng (Kiểm thử cấu trúc) ... 131
4.Các giai đoạn và chiến lƣợc kiểm thử ... 132
4.1.Kiểm thử đơn vị ... 132 4.2.Kiểm thử tích hợp ... 133 4.2.1.Trên xuống... 133 4.2.2.Dƣới lên ... 134 4.3.Kiểm thử chấp nhận... 135 4.4.Kiểm thử beta ... 135 4.5.Kiểm thử hệ thống ... 135 5.Ví dụ minh họa ... 135 172
Chƣơng 8: SƢU LIỆU ... 137
1.Tổng quan ... 137
2.Sƣu liệu ngƣời dùng ... 137
2.1.Mô tả chức năng ... 138
2.2.Bảng Giới thiệu ... 138
2.3.Bảng tham khảo ... 138
2.4.Sƣu liệu cài đặt ... 138
3.Sƣu liệu hệ thống ... 139
4.Chất lƣợng của sƣu liệu ... 140
5.Bảotrì sƣu liệu ... 141
6.Các mẫu sƣu liệu cho qui trình làm phần mềm ... 141
6.1.Xác định yêu cầu (SRS) ... 141
6.2.Thiết kế ... 142
6.2.1.Mô tả thiết kế phần mềm (SDD) ... 142
6.2.2.System Design Rationale Document (SDRD)... 143
Phụ Lục A ... 144
1.Câu hỏi lý thuyết ... 144
2.Nội dung và yêu cầu bài tập ... 145
2.1.Quản lý thuê bao điện thoại ... 145
2.2.Quản lý học sinh trƣờng phổ thông trung học ... 146
2.3.Quản lý các tài khoản trong ngân hàng ... 147
2.4.Theo dõi kế hoạch sản lƣợng cao su... 147
2.5.Quản lý giải vô địch bóng đá... 148
2.6.Thi trắc nghiệm trên máy tính ... 148
2.7.Quản lý trung tâm giới thiệu việc làm sinh viên ... 149
2.8.Phần mềm quản lý bán sách ... 150
2.9.Phần mềm quản lý bán vé chuyến bay ... 150
2.10. Phần mềm quản lý phòng mạch... 150
3.Bài tập nâng cao ... 150
3.1. Đăng ký môn học và học phí ... 150
3.1. Quản lý đồ án – Niên luận ... 152
3.2. Quản lý cơ sở sản xuất và chất lƣợng sản phẩm... 153
3.3. Quản lý lƣơng sản phẩm... 154
3.4. Quản lý công tác thực hành tin học ... 155
3.5. Công tác tổ chức thi học kỳ ... 156
4. Biểu mẫu thực hiện đồ án môn học ... 157
PHỤC LỤC B ... 160
1. Phần mềm quản lý thƣ viên ... 160
2. Phần mềm quản lý giải vô địch bóng đá... 163