Bài giảng môn học công nghệ phần mềm phần 2 nguyễn chánh thành

61 354 0
Bài giảng môn học công nghệ phần mềm  phần 2   nguyễn chánh thành

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CHƯƠNG LẬP TRÌNH 4.1 Ngôn ngữ lập trình Ngôn ngữ lập trình phương tiện ñể liên lạc người máy tính Tiến trình lập trình - liên lạc thông qua ngôn ngữ lập trình - hoạt ñộng người Lập trình bước cốt lõi tiến trình công nghệ phần mềm 4.1.1 ðặc trưng ngôn ngữ lập trình Cách nhìn công nghệ phần mềm ñặc trưng ngôn ngữ lập trình tập trung vào nhu cầu xác ñịnh dự án phát triển phần mềm riêng Mặc dầu người ta cần yêu cầu riêng cho chương trình gốc, thiết lập ñược tập hợp tổng quát ñặc trưng công nghệ: - dễ dịch thiết kế sang chương trình, - có trình biên dịch hiệu quả, - khả chuyển chương trình gốc, - có sẵn công cụ phát triển, - dễ bảo trì Bước lập trình bắt ñầu sau thiết kế chi tiết ñã ñược xác ñịnh, xét duyệt sửa ñổi cần Về lý thuyết, việc sinh chương trình gốc từ ñặc tả chi tiết nên trực tiếp Dễ dịch thiết kế sang chương trình ñưa dẫn việc ngôn ngữ lập trình phản xạ gần gũi ñến mức cho biểu diễn thiết kế Một ngôn ngữ cài ñặt trực tiếp cho kết cấu có cấu trúc, cấu trúc liệu phức tạp, vào/ra ñặc biệt, khả thao tác bit, kết cấu hướng vật làm cho việc dịch từ thiết kế sang chương trình gốc dễ nhiều (nếu thuộc tính ñược xác ñịnh thiết kế) Mặc dầu tiến nhanh chóng tốc ñộ xử lý mật ñộ nhớ ñã bắt ñầu làm giảm nhẹ nhu cầu chương trình siêu hiệu quả, nhiều ứng dụng ñòi hỏi chương trình chạy nhanh, gọn (yêu cầu nhớ thấp) Các ngôn ngữ với trình biên dịch tối ưu hấp dẫn hiệu phần mềm yêu cầu chủ chốt Tính khả chuyển chương trình gốc ñặc trưng ngôn ngữ lập trình ñược hiểu theo ba cách khác nhau: - Chương trình gốc ñược chuyển từ xử lý sang xử lý khác từ trình biên dịch sang trình biên dịch với sửa ñổi - Chương trình gốc không thay ñổi môi trường thay ñổi (như việc cài ñặt hệ ñiều hành) 56 - Chương trình gốc ñược tích hợp vào trình phần mềm khác với hay không cần thay ñổi ñặc trưng ngôn ngữ lập trình Trong số ba cách hiểu tính khả chuyển cách thứ thông dụng Việc ñưa chuẩn (do tổ chức tiêu chuẩn quốc tế IFO hay Viện tiêu chuẩn quốc gia Mĩ - ANSI) góp phần làm nâng cao tính khả chuyển Tính sẵn có công cụ phát triển làm ngắn bớt thời gian cần ñể sinh chương trình gốc cải thiện chất lượng chương trình Nhiều ngôn ngữ lập trình cần tới loạt công cụ kể trình biên dịch gỡ lỗi, trợ giúp ñịnh dạng chương trình gốc, tiện nghi soạn thảo có sẵn, công cụ kiểm soát chương trình gốc, thư viện chương trình mở rộng nhiều lĩnh vực ứng dụng, trình duyệt, trình biên dịch chéo cho phát triển vi xử lý, khả xử lý macro, công cụ công nghệ ngược công cụ khác Trong thực tế, khái niệm môi trường phát triển phần mềm tốt (bao hàm công cụ) ñã ñược thừa nhận nhân tố ñóng góp cho công nghệ phần mềm thành công Tính dễ bảo trì chương trình gốc có tầm quạn trọng chủ chốt cho tất nỗ lực phát triển phần mềm không tầm thường Việc bảo trì ñược tiến hành chừng người ta chưa hiểu ñược phần mềm Các yếu tố cấu hình phần mềm (như tài liệu thiết kế) ñưa tảng cho việc hiểu biết, cuối chương trình gốc phải ñược ñọc sửa ñổi theo thay ñổi thiết kế Tính dễ dịch thiết kế sang chương trình yếu tố quan trọng ñể dễ bảo trì chương trình gốc Bên cạnh ñó, ñặc trưng tự làm tài liệu ngôn ngữ (như chiều dài ñược phép tên gọi, ñịnh dạng nhãn, ñịnh nghĩa kiểu, cấu trúc liệu) có ảnh hưởng mạnh ñến tính dễ bảo trì 4.1.2 Lựa chọn ngôn ngữ lập trình Các ñặc trưng ngôn ngữ lập trình ñịnh miền ứng dụng ngôn ngữ Miền ứng dụng yếu tố ñể lựa chọn ngôn ngữ cho dự án phần mềm C thường ngôn ngữ hay ñược chọn cho việc phát triển phần mềm hệ thống Trong ứng dụng thời gian thực hay gặp ngôn ngữ Ada, C, C++ hợp ngữ tính hiệu chúng Các ngôn ngữ Java ñược dùng cho phát triển phần mềm nhúng Trong lĩnh vực khoa học kỹ thuật FORTRAN với khả tính toán với ñộ xác cao thư viện toán học phong phú ngôn ngữ thống trị Tuy vậy, PASCAL C ñược dùng rộng rãi COBOL ngôn ngữ cho ứng dụng kinh doanh khai thác CSDL lớn ngôn ngữ hệ thứ tư ñã chiếm ưu 57 BASIC ñang tiến hóa (Visual Basic) ñược ñông ñảo người dùng máy tính cá nhân ủng hộ ngôn ngữ ñược người phát triển hệ thống dùng Các ứng dụng trí tuệ nhân tạo thường dùng ngôn ngữ LISP, PROLOG hay OPS5, nhiều ngôn ngữ lập trình (vạn năng) khác ñược dùng Xu hướng phát triển phần mềm hướng ñối tượng xuyên suốt phần lớn miền ứng dụng ñã mở nhiều ngôn ngữ dị ngôn ngữ qui ước Các ngôn ngữ lập trình hướng ñối tượng ñược dùng rộng rãi Smalltalk, C++, Java Ngoài có Eiffel, Objectư PASCAL, Flavos nhiều ngôn ngữ khác Với ñặc trưng hướng ñối tượng, tính hiệu thực có nhiều công cụ thư viện, C++ ñang ñược sử dụng rộng rãi lĩnh vực phát triển ứng dụng nghiệp vụ Java ngôn ngữ hướng ñối tượng ñang ñược sử dụng rộng rãi cho phát triển dịch vụ Web phần mềm nhúng lý ñộ an toàn cao, tính sáng, tính khả chuyển hướng thành phần Theo số thống kê tốc ñộ phát triển ứng dụng Java cao ñến lần so với ngôn ngữ truyền thống C hay chí C++ Các ngôn ngữ biên dịch (script) với câu lệnh thư viện mạnh ñang ñược ý ASP, JavaScript, PERL ñang ñược sử dụng rộng rãi lập trình Web 4.1.3 Ngôn ngữ lập trình và ảnh hưởng tới công nghệ phần mềm Nói chung, chất lượng thiết kế phần mềm ñược thiết lập theo cách ñộc lập với ñặc trưng ngôn ngữ lập trình Tuy nhiên thuộc tính ngôn ngữ ñóng vai trò chất lượng thiết kế ñược cài ñặt ảnh hưởng tới cách thiết kế ñược xác ñịnh Ví dụ khả xây dựng mô ñun bao gói chương trình Thiết kế liệu bị ảnh hưởng ñặc trưng ngôn ngữ Các ngôn ngữ lập trình Ada, C++, Smalltalk ñều hỗ trợ cho khái niệm kiểu liệu trừu tượng - công cụ quan trọng thiết kế ñặc tả liệu Các ngôn ngữ thông dụng khác, PASCAL, cho phép ñịnh nghĩa kiểu liệu người dùng xác ñịnh việc cài ñặt trực tiếp danh sách móc nối cấu trúc liệu khác Các tính cung cấp cho người thiết kế phạm vi rộng bước thiết kế sơ chi tiết Các ñặc trưng ngôn ngữ ảnh hưởng tới kiểm thử phần mềm Các ngôn ngữ trực tiếp hỗ trợ cho kết cấu có cấu trúc có khuynh hướng giảm bớt ñộ phức tạp chương trình, ñó làm cho dễ dàng kiểm thử Các ngôn ngữ hỗ trợ cho việc ñặc tả chương trình thủ tục (như FORTRAN) thường làm cho việc kiểm thử tích hợp sinh lỗi 58 4.2 Phong cách lập trình Phong cách lập trình bao hàm triết lý lập trình nhấn mạnh tới tính dễ hiểu chương trình nguồn Các yếu tố phong cách bao gồm: tài liệu bên chương trình, phương pháp khai báo liệu, cách xây dựng câu lệnh kỹ thuật vào/ra 4.2.1 Tài liệu chương trình Tài liệu bên chương trình gốc bắt ñầu với việc chọn lựa tên gọi ñịnh danh (biến nhãn), tiếp tục với vị trí thành phần việc thích, kết luận với cách tổ chức trực quan chương trình Việc lựa chọn tên gọi ñịnh danh có nghĩa ñiều chủ chốt cho việc hiểu chương trình Những ngôn ngữ giới hạn ñộ dài tên biến hay nhãn làm tên mang nghĩa mơ hồ Cho dù chương trình nhỏ tên gọi có nghĩa làm tăng tính dễ hiểu Theo ngôn từ mô hình cú pháp/ngữ nghĩa tên có ý nghĩa làm “ñơn giản hóa việc chuyển ñổi từ cú pháp chương trình sang cấu trúc ngữ nghĩa bên trong” Một ñiều rõ ràng là: phần mềm phải chứa tài liệu bên Lời thích cung cấp cho người phát triển ý nghĩa truyền thông với ñộc giả khác chương trình gốc Lời thích cung cấp hướng dẫn rõ rệt ñể hiểu pha cuối công nghệ phần mềm - bảo trì Có nhiều hướng dẫn ñã ñược ñề nghị cho việc viết lời thích Các thích mở ñầu thích chức hai phạm trù ñòi hỏi cách tiếp cận có khác Lời thích mở ñầu nên xuất ñầu modul ðịnh dạng cho lời thích là: Một phát biểu mục ñích rõ chức mô ñun Mô tả giao diện bao gồm: - Một mẫu cách gọi - Mô tả liệu - Danh sách tất mô ñun thuộc cấp Thảo luận liệu thích hợp (như biến quan trọng hạn chế, giới hạn cách dùng chúng) thông tin quan trọng khác Lịch sử phát triển bao gồm: - Tên người thiết kế modul (tác giả) - Tên người xét duyệt ngày tháng - Ngày tháng sửa ñổi mô tả sửa ñổi Các thích chức ñược nhúng vào bên thân chương trình gốc ñược dùng ñể mô tả cho khối chương trình 4.2.2 Khai báo liệu Thứ tự khai báo liệu nên ñược chuẩn hóa cho dù ngôn ngữ lập trình yêu cầu bắt buộc ñiều ñó Các tên biến việc có nghĩa nên mang thông tin kiểu chúng Ví dụ, nên thống tên biến cho kiểu số nguyên, kiểu số thực 59 Cần phải giải mục ñích ñối với biến quan trọng, ñặc biệt biến tổng thể Các cấu trúc liệu nên ñược giải ñầy ñủ cấu trúc chức năng, ñặc thù sử dụng ðặc biệt ñối với cấu trúc phức tạp danh sách móc nối C hay Pascal 4.2.3 Xây dựng câu lệnh Việc xây dựng luồng logic phần mềm ñược thiết lập thiết kế Việc xây dựng câu lệnh nhiên lại phần bước lập trình Việc xây dựng câu lệnh nên tuân theo qui tắc quan trọng cả: câu lệnh nên ñơn giản trực tiếp Nhiều ngôn ngữ lập trình cho phép nhiều câu lệnh dòng Khía cạnh tiết kiệm không gian tính khó mà biện minh tính khó ñọc nảy sinh Cấu trúc chu trình phép toán ñiều kiện ñược chứa ñoạn ñều bị che lấp cách xây dựng nhiều câu lệnh dòng Cách xây dựng câu lệnh ñơn việc tụt lề minh họa cho ñặc trưng logic chức ñoạn Các câu lệnh chương trình gốc riêng lẻ ñược ñơn giản hóa bởi: - Tránh dùng phép kiểm tra ñiều kiện phức tạp - Khử bỏ phép kiểm tra ñiều kiện phủ ñịnh - Tránh lồng nhiều ñiều kiện hay chu trình - Dùng dấu ngoặc ñể làm sáng tỏ biểu thức logic hay số học - Dùng dấu cách và/hoặc ký hiệu dễ ñọc ñể làm sáng tỏ nội dung câu lệnh - Chỉ dùng tính chuẩn ngôn ngữ ðể hướng tới chương trình dễ hiểu nên ñặt câu hỏi: Liệu hiểu ñược ñiều ta không người lập trình cho không? 4.2.4 Nhập/xuất Vào mô ñun nên tuân thủ theo số hướng dẫn sau: - Làm hợp lệ vào - Kiểm tra tin cậy tổ hợp khoản mục vào quan trọng - Giữ cho ñịnh dạng vào ñơn giản - Dùng báo cuối liệu thay yêu cầu người dùng xác ñịnh “số khoản mục” - Giữ cho ñịnh dạng vào thống ngôn ngữ lập trình có yêu cầu ñịnh dạng nghiêm ngặt 60 4.3 Lập trình tránh lỗi Tránh lỗi phát triển phần mềm vô lỗi dựa yếu tố sau: - Sản phẩm ñặc tả hệ thống xác - Chấp nhận cách tiếp cận thiết kế phần mềm dựa việc bao gói liệu che dấu thông tin - Tăng cường duyệt lại trình phát triển thẩm ñịnh hệ thống phần mềm - Chấp nhận triết lý chất lượng tổ chức: chất lượng bánh lái trình phần mềm - Việc lập kế hoạch cẩn thận cho việc thử nghiệm hệ thống ñể tìm lỗi chưa ñược phát trình duyệt lại ñể ñịnh lượng ñộ tin cậy hệ thống Có hai cách tiếp cận hỗ trợ tránh lỗi là: - Lập trình có cấu trúc: Thuật ngữ ñược ñặt từ cuối năm 60 có nghĩa lập trình mà không dùng lệnh goto, lập trình dùng vòng lặp while phát biểu if ñể xây dựng ñiều khiển thiết kế dùng cách tiếp cận - xuống Việc thừa nhận lập trình có cấu trúc quan trọng bước ñầu tiên bước từ cách tiếp cận không khuôn phép tới phát triển phần mềm Lập trình có cấu trúc buộc người lập trình phải nghĩ cẩn thận chương trình họ, tạo sai lầm phát triển Lập trình có cấu trúc làm cho chương trình ñược ñọc cách ñó dễ hiểu dễ kiểm tra Tuy nhiên bước ñầu tiên việc lập trình nhằm ñạt ñộ tin cậy tốt Có vài khái niệm khác hay dẫn tới lỗi phần mềm: o Các số thực dấu chấm ñộng: phép toán số thực ñược làm tròn khiến cho việc so sánh kết số thực, so sánh hai số thực không khả thi Số thực dấu phẩy ñộng có ñộ xác khác khiến cho kết phép tính không theo mong muốn Ví dụ, phép tính tính phân cần cộng giá trị nhỏ trước với không chúng bị làm tròn o Các trỏ nhớ ñộng: trỏ cấu trúc bậc thấp khó quản lý dễ gây lỗi nghiệm trọng ñối với hệ thống Việc cấp phát thu hồi nhớ ñộng phức tạp nguyên nhân gây lỗi phần mềm o Song song: lập trình song song ñòi hỏi kỹ thuật cao hiểu biết sâu sắc hệ thống Một vấn ñề phức tạp song song quản lý tương tranh o ðệ quy o Các ngắt Các cấu trúc có ích, người lập trình nên dùng chúng cách cẩn thận 61 - Phân quyền truy cập liệu: Nguyên lý an ninh quân ñội cá nhân ñược biết thông tin có liên quan trực tiếp ñến nhiện vụ họ Khi lập trình người ta tuân theo nguyên lý tương tự cho việc truy cập liệu hệ thống Mỗi thành phần chương trình ñược phép truy cập ñến liệu cần thiết ñể thực chức Ưu ñiểm việc che dấu thông tin thông tin bị che dấu bị sập ñổ (thao tác trái phép) thành phần chương trình mà ñược xem không dùng thông tin ñó Tiến hóa phân quyền truy cập che dấu thông tin, hay nói xác che dấu cấu trúc thông tin Khi ñó, thay ñổi cấu trúc thông tin mà thay ñổi thành phần khác có sử dụng thông tin ñó 4.3.1 Lập trình thứ lỗi ðối với hệ thống ñòi hỏi ñộ tin cậy cao hệ thống ñiều khiển bay cần phải có khả dung thứ lỗi (fault tolerance), tức khả ñảm bảo cho hệ thống hoạt ñộng xác có thành phần sinh lỗi Có bốn hoạt ñộng cần phải tiến hành hệ thống thứ lỗi: - Phát lỗi - ðịnh mức ñộ thiệt hại - Hồi phục sau gặp lỗi: Hệ thống phải hồi phục trạng thái mà biết an toàn Cũng chỉnh lý trạng thái bị hủy hoại (hồi phục tiến), lui trạng thái trước mà an toàn (hồi phục lùi) - Chữa lỗi: Cải tiến hệ thống ñể cho lỗi ñó không xuất Tuy nhiên nhiều trường hợp phát ñược ñúng nguyên nhân gây lỗi khó khăn xẩy tổ hợp thông tin vào trạng thái hệ thống Thông thường, thứ lỗi ñược thực cách song song hóa chức năng, kết hợp với ñiều khiển thứ lỗi Bộ ñiều khiển so sánh kết khối chương trình thực nhiệm vụ sử dụng nguyên tắc ña số ñể chọn kết 4.3.2 Lập trình phòng thủ Lập trình phòng thủ cách phát triển chương trình mà người lập trình giả ñịnh mâu thuẫn lỗi chưa ñược phát tồn chương trình Phải có phần mềm kiểm tra trạng thái hệ thống sau biến ñổi phải ñảm bảo biến ñổi trạng thái kiên ñịnh Nếu phát mâu thuẫn việc biến ñổi trạng thái phải rút lại trạng thái phải trở trạng thái ñúng ñắn trước ñó Nói chung lỗi gây sụp ñổ trạng thái: biến trạng thái ñược gán trị không hợp luật Ngôn ngữ lập trình Ada cho phép phát lỗi ñó thời gian biên dịch Tuy nhiên việc kiểm tra biên dịch hạn chế cho giá trị 62 tĩnh vài phép kiểm tra thời gian thực tránh ñược Một cách ñể phát lỗi chương trình Ada dùng chế xử lý bất thường kết hợp với ñặc tả miền trị Hồi phục lỗi trình cải biên không gian trạng thái hệ thống cho hiệu ứng lỗi nhỏ hệ thống tiếp tục vận hành, có lẽ mức suy giảm Hồi phục tiến liên quan ñến việc cố gắng chỉnh lại trạng thái hệ thống Hồi phục lùi liên quan ñến việc lưu trạng thái hệ thống trạng thái ñúng ñã biết Hồi phục tiến thường chuyên biệt ứng dụng Có hai tình chung mà ñó hồi phục tiến thành công: - Khi liệu mã bị sụp ñổ: Việc sử dụng kỹ thuật mã hóa thích hợp cách thêm liệu dư thừa vào liệu cho phép sửa sai phát lỗi - Khi cấu trúc nối bị sụp ñổ: Nếu trỏ tiến lùi ñã có cấu trúc liệu cấu trúc ñó tái tạo ñủ trỏ chưa bị sụp Kỹ thuật thường ñược dùng cho việc sửa chữa hệ thống tệp sở liệu Hồi phục lùi kỹ thuật ñơn giản liên quan ñến việc trì chi tiết trạng thái an toàn cất giữ trạng thái ñó mà sai lầm ñã bị phát Hầu hết hệ quản trị sở liệu ñều có hồi phục lỗi CSDL cập nhật liệu giao dịch ñã hoàn tất không phát ñược vấn ñề Nếu giao dịch thất bại CSDL không ñược cập nhật Một kỹ thuật khác thiết lập ñiểm kiểm tra thường kỳ mà chúng trạng thái hệ thống Khi mà lỗi ñược phát trạng thái an toàn ñó ñược tái lưu kho từ ñiểm kiểm tra gần Trường hợp hệ thống dính líu tới nhiều trình hợp tác dãy giao tiếp ñiểm kiểm tra trình ñó không ñồng ñể hồi phục trình phải trở lại trạng thái ban ñầu 4.4 4.4.1 Lập trình hướng hiệu thực Tính hiệu chương trình Tính hiệu chương trình gốc có liên hệ trực tiếp với tính hiệu thuật toán ñược xác ñịnh thiết kế chi tiết Tuy nhiên, phong cách lập trình có tác ñộng ñến tốc ñộ thực yêu cầu nhớ Tập hợp hướng dẫn sau ñây áp dụng ñược thiết kế chi tiết ñược dịch thành chương trình: - ðơn giản hóa biểu thức số học lôgic trước ñi vào lập trình - Tính cẩn thận chu kỳ lồng ñể xác ñịnh liệu câu lệnh hay biểu thức ñược chuyển hay không 63 - Khi có thể, tránh dùng mảng nhiều chiều - Khi tránh việc dùng trỏ danh sách phức tạp - Dùng phép toán số học “nhanh” - Không trộn lẫn kiểu liệu, cho dù ngôn ngữ có cho phép ñiều ñó - Dùng biểu thức số học logic ñược Nhiều trình biên dịch có tính tối ưu tự ñộng sinh chương trình hiệu cách dồn nén biểu thức lặp, thực tính chu trình, dùng số học nhanh áp dụng thuật toán có hiệu liên quan khác Với ứng dụng ñó tính hiệu có ý nghĩa quan trọng, trình biên dịch công cụ lập trình thiếu ñược 4.4.2 Hiệu nhớ Tính hiệu nhớ phải ñược tính vào ñặc trưng phân trang hệ ñiều hành Nói chung, tính cục chương trình hay việc bảo trì lĩnh vực chức qua kết cấu có cấu trúc phương pháp tuyệt vời làm giảm việc phân trang ñó làm tăng tính hiệu Hạn chế nhớ phát triển phần mềm nhúng mối quan tâm thực tế, nhớ giá thấp, mật ñộ cao ñang tiến hóa nhanh chóng Nếu yêu cầu hệ thống cần tới nhớ tối thiểu (như sản phẩm giá thấp, khối lượng lớn) trình biên dịch ngôn ngữ cấp cao phải ñược trù tính cẩn thận với tính nén nhớ, hay phương kế cuối cùng, phải dùng tới hợp ngữ 4.4.3 Hiệu nhập/xuất Các thiết bị vào thường có tốc ñộ chậm nhiều so với khả tính toán máy tính tốc ñộ truy cập nhớ Việc tối ưu vào làm tăng ñáng kể tốc ñộ thực Một số hướng dẫn ñơn giản ñể tăng cường hiệu vào/ra: - Số yêu cầu vào/ra nên giữ mức tối thiểu - Mọi việc vào/ra nên qua ñệm ñể làm giảm phí tổn liên lạc - Với nhớ phụ (như ñĩa) nên lựa chọn dùng phương pháp thâm nhập ñơn giản chấp nhận ñược - Nên xếp khối vào/ra với thiết bị nhớ phụ - Việc vào/ra với thiết bị cuối hay máy in nên nhận diện tính thiết bị cải tiến chất lượng hay tốc ñộ 64 4.5 Tổng kết Bước lập trình tiến trình dịch (chuyển hóa) thiết kế chi tiết thành chương trình mà cuối ñược biến ñổi thành lệnh mã máy thực ñược Các ñặc trưng ngôn ngữ lập trình có ảnh hưởng lớn ñến trình xây dựng, kiểm thử bảo trì phần mềm Phong cách lập trình ñịnh tính dễ hiểu chương trình gốc Các yếu tố phong cách bao gồm việc làm tài liệu bên trong, phương pháp khai báo liệu, thủ tục xây dựng câu lệnh, kỹ thuật lập trình vào/ra Lập trình cần hướng tới hiệu thực hiện, tức tích kiệm tài nguyên phần cứng (mức ñộ sử dụng CPU, nhớ ) Mặc dầu tính hiệu yêu cầu quan trọng, nên nhớ chương trình hoạt ñộng hiệu mà lại không dễ hiểu dẫn ñến khó bảo trì giá trị bị hạn chế 65 Chỉ có cán ñào tạo ñược phép thay ñổi thông tin sinh viên 8.4.10 Các ràng buộc thiết kế Hệ thống phải tích hợp với hệ thống có sẵn, Hệ thống danh mục học phần, CSDL RDBMS Hệ thống phải cung cấp giao ñiện dựa Windows 102 8.5 Sơ ñồ chức (Use Case Diagram) View Report Card Student Register for Courses Course Catalog Login Select Courses to Teach Professor Submit Grades Registrar Maintain Professor Information Maintain Student Information Close Registration Billing Syst em Hình 8.1 Sơ ñồ chức hệ thống ñăng ký môn học 103 8.6 ðặc tả chức (Use Case Description) 8.6.1 8.6.1.1 Close Registration (Kết thúc ñăng ký) Tóm tắt Use case cho phép cán ñào tạo (Registrar) kết thúc trình ñăng ký Casc học phần không ñủ sinh viên bị hủy Mỗi học phần phải có tối thiểu 30 sinh viên Hệ thống toán (billing system) ñược thông báo sinh viên thuộc học phần không bi hủy, nhờ ñó ñể tính học phí cho sinh viên 8.6.1.2 8.6.1.2.1 Dòng kiện Dòng kiện Use case bắt ñầu cán ñào tạo yêu cầu hệ thống kết thúc trình ñăng ký - Hệ thống kiểm tra xem có ñang ñăng ký không Nếu có thông ñiệp ñược gửi ñến cán ñào tạo use case kết thúc Quá trình kết thúc ñăng ký thực người ñang ñăng ký - Với lớp, hệ thống kiểm tra ñã có giáo sư ñăng ký dạy có 30 sinh viên ñăng ký chưa Sau ñó hệ thống ghi nhận lớp cho lịch học có ñăng ký - Với lịch học, hệ thống làm ñầy lịch học: lịch học chưa ñủ số học phần ñược chọn tối ña, hệ thống cố gắng chọn thêm học phần thay Học phần thay ñầu tiên chỗ ñược chọn Nếu học phần lịch học ñược giữ nguyên - Hệ thống ñóng tất lớp ñang mở Nếu lúc lớp ñủ 30 sinh viên (một số sinh viên ñược thêm vào thông qua trình làm ñầy lịch học), hệ thống hủy lớp Hệ thống hủy lớp tất lịch học có chứa - Hệ thống tính toán học phí sinh viên học kỳ gửi giao dịch ñến Hệ thống toán Hệ thống toán gửi hoá ñơn ñến sinh viên, gồm lịch học họ 8.6.1.2.2 - Các dòng kiện khác Một học phần người ñăng ký dạy o Nếu Dòng kiện giáo sư ñăng ký dạy lớp ñó hệ thống hủy lớp học hủy lớp tất lịch học có chứa - Hệ thống toán (Billing System) không sẵn sàng 104 o Nếu hệ thống liên lạc với Hệ thống toán, hệ thống cố thử gửi lại yêu cầu sau khoản thời gian ñịnh trước Hệ thống tiếp tục cố gửi lại yêu cầu cho ñên kết nối ñược với Hệ thống toán Các yêu cầu ñặt biệt 8.6.1.3 Không có ðiều kiện tiên 8.6.1.4 Cán ñào tạo phải ñăng nhập vào hệ thống ñể use case thực 8.6.1.5 Post-Conditions Nếu use case thực thành công, trình ñăng ký ñược ñóng Nếu không, trạng thái hệ thống giữ nguyên không ñổi ðiểm mở rộng 8.6.1.6 Không có 8.6.2 Login (ðăng nhập) 8.6.2.1 Tóm tắt Use case mô tả cách người dùng ñăng nhập vào Hệ thống ñăng ký học phần 8.6.2.2 8.6.2.2.1 Dòng kiện Dòng kiện Use case bắt ñầu actor muốn ñăng nhập vào Hệ thống ñăng ký học phần - Hệ thống yêu cầu actor nhập tên mật - Actor nhập tên mật - Hệ thống kiểm chứng tên mật ñược nhập cho phép actor ñăng nhập vào hệ thống 8.6.2.2.2 - Các dòng kiện khác Tên/Mật sai o Nếu Dòng kiện chính, actor nhập sai tên mật khẩu, hệ thống hiển thị thông báo lỗi Actor chọn trở ñầu Dòng kiện hủy bỏ việc ñăng nhập, lúc use case kết thúc 8.6.2.3 Các yêu cầu ñặt biệt Không có 8.6.2.4 ðiều kiện tiên Không có 105 8.6.2.5 Post-Conditions Nếu use case thành công, actor lúc ñã ñăng nhập vào hệ thống Nếu không trạng thái hệ thống không thay ñổi ðiểm mở rộng 8.6.2.6 Không có 8.6.3 8.6.3.1 Maintain Professor Information (Quản lý thông tin giáo sư) Tóm tắt Use case cho phép cán ñào tạo trì thông tin giáo sư hệ thống ñăng ký Bao gồm thêm, hiệu chỉnh xóa giáo sư khỏi hệ thống 8.6.3.2 8.6.3.2.1 Dòng kiện Dòng kiện Use case bắt ñầu người cán ñào tạo muốn thêm, thay ñổi, và/hoặc xóa thông tin giáo sư hệ thống - Hệ thống yêu cầu cán ñào tạo chọn chức muốn thực (Add a Professor, Update a Professor, Delete a Professor) - Sau cán ñào tạo cung cấp thông tin ñược yêu cầu, luồng phụ sau ñược thực o Nếu cán ñào tạo chọn “Add a Professor”, luồng phụ Add a Professor ñược thực o Nếu cán ñào tạo chọn “Update a Professor”, luồng phụ Update a Professor ñược thực o Nếu cán ñào tạo chọn “Delete a Professor”, luồng phụ Delete a Professor ñược thực - Add a Professor (Thêm giáo sư) o Hệ thống yêu cầu cán ñào tạo nhập vào thông tin giáo sư Bao gồm: Tên, ngày sinh, số CMND, tình trạng hôn nhân, khoa o Sau cán ñào tạo cung cấp thông tin ñược yêu cầu, hệ thống phát sinh gán số ID ñộc cho giáo sư Giáo sư ñược thêm vào hệ thống o Hệ thống cung cấp cho cán ñào tạo số ID giáo sư - Update a Professor (Hiệu chỉnh thông tin giáo sư) o Hệ thống yêu cầu cán ñào tạo nhập vào số ID giáo sư 106 o Cán ñào tạo nhập số ID giáo sư Hệ thống truy xuất hiển thị thông tin giáo sư o Cán ñào tạo thay ñổi số thông tin giáo sư Gồm thông tin ñược luồng phụ Add a Professor o Sau cán ñào tạo cập nhật xong thông tin cần thiết, hệ thống cập nhật mẩu tin giáo sư - Delete a Professor (Xóa giáo sư) o Hệ thống yêu cầu cán ñào tạo nhập vào số ID giáo sư o Cán ñào tạo nhập số ID giáo sư Hệ thống truy xuất hiển thị thông tin giáo sư Hệ thống nhắc người dùng xác nhận thao tác xóa giáo sư Các ñào tạo xác nhận xóa Hệ thống xóa thông tin giáo sư khỏi hệ thống 8.6.3.2.2 - Các dòng kiện khác Không tìm thấy giáo sư o Nếu luồng phụ Update a Professor Delete a Professor không tồn giáo sư có số ID ñược nhập vào hệ thống hiển thị thông báo lỗi Cán ñào tạo nhập số ID khác hủy bỏ thao tác, lúc use case kết thúc - Thao tác xóa bị hủy o Nếu luồng phụ Delete A Professor người cán ñào tạo ñinh không xóa giáo sư nữa, thao tác xóa bị hủy Dòng kiện ñược bắt ñầu lại từ ñầu 8.6.3.3 Các yêu cầu ñặt biệt Không có 8.6.3.4 ðiều kiện tiên Cán ñào tạo phải ñăng nhập vào hệ thống trước use case bắt ñầu 8.6.3.5 Post-Conditions Nếu use case thành công, thông tin giáo sư ñược thêm, cập nhật xóa khỏi hệ thống Ngược lại, trạng thái hệ thống không thay ñổi 8.6.3.6 ðiểm mở rộng Không có 107 8.6.4 8.6.4.1 Maintain Student Information (Quản lý thông tin sinh viên) Tóm tắt Use case cho phép cán ñào tạo trì thông tin sinh viên hệ thống ñăng ký học phần Bao gồm thêm, hiệu chỉnh xóa sinh viên khỏi hệ thống 8.6.4.2 8.6.4.2.1 Dòng kiện Dòng kiện Use case bắt ñầu người cán ñào tạo muốn thêm, thay ñổi, và/hoặc xóa thông tin sinh viên hệ thống - Hệ thống yêu cầu cán ñào tạo chọn chức muốn thực (Add a Student, Update a Student, Delete a Student) - Sau cán ñào tạo cung cấp thông tin ñược yêu cầu, luồng phụ sau ñược thực o Nếu cán ñào tạo chọn “Add a Student”, luồng phụ Add a Student ñược thực o Nếu cán ñào tạo chọn “Update a Student”, luồng phụ Update a Student ñược thực o Nếu cán ñào tạo chọn “Delete a Student”, luồng phụ Delete a Student ñược thực - Add a Student o Hệ thống yêu cầu cán ñào tạo nhập vào thông tin giáo sư Bao gồm: tên, ngày sinh, số CMND, tình trạng hôn nhân, ngày tốt nghiệp o Sau cán ñào tạo cung cấp thông tin ñược yêu cầu, hệ thống phát sinh gán số ID ñộc cho sinh viên The student is added to the system Sinh viên ñược thêm vào hệ thống o Hệ thống cung cấp cho cán ñào tạo số ID sinh viên - Update a Student o Hệ thống yêu cầu cán ñào tạo nhập vào số ID sinh viên o Cán ñào tạo nhập số ID sinh viên Hệ thống truy xuất hiển thị thông tin sinh viên o Cán ñào tạo thay ñổi số thông tin sinh viên Gồm thông tin ñược luồng phụ Add a Student o Sau cán ñào tạo cập nhật xong thông tin cần thiết, hệ thống cập nhật mẩu tin sinh viên 108 - Delete a Student o Hệ thống yêu cầu cán ñào tạo nhập vào số ID sinh viên o Cán ñào tạo nhập số ID sinh viên Hệ thống truy xuất hiển thị thông tin sinh viên o Hệ thống nhắc người dùng xác nhận thao tác xóa sinh viên o Các ñào tạo xác nhận xóa o Hệ thống xóa thông tin sinh viên khỏi hệ thống 8.6.4.2.2 - Các dòng kiện khác Không tìm thấy sinh viên o Nếu luồng phụ Update a Student Delete a Student không tồn sinh viên có số ID ñược nhập vào hệ thống hiển thị thông báo lỗi Cán ñào tạo nhập số ID khác hủy bỏ thao tác, lúc use case kết thúc - Thao tác xóa bị hủy o Nếu luồng phụ Delete A Student người cán ñào tạo ñinh không xóa giáo sư nữa, thao tác xóa bị hủy Dòng kiện ñược bắt ñầu lại từ ñầu Các yêu cầu ñặt biệt 8.6.4.3 Không có ðiều kiện tiên 8.6.4.4 Cán ñào tạo phải ñăng nhập vào hệ thống trước use case bắt ñầu 8.6.4.5 Post-Conditions Nếu use case thành công, thông tin sinh viên ñược thêm, cập nhật xóa khỏi hệ thống Ngược lại, trạng thái hệ thống không thay ñổi ðiểm mở rộng 8.6.4.6 Không có 8.6.5 8.6.5.1 Register for Courses (ðăng ký học phần) Tóm tắt Use case cho phép sinh viên ñăng ký lớp học ñược mở học kỳ Sinh viên cập nhật xóa lớp học ñã chọn thay ñổi diễn thời gian cho phép thay ñổi ñăng ký vào ñầu học kỳ Hệ thống Danh mục học phần cung cấp danh sách tất lớp ñược mở học kỳ 109 8.6.5.2 8.6.5.2.1 Dòng kiện Dòng kiện Use Case bắt ñầu sinh viên muốn ñăng ký học phần, thay ñổi thời khóa biểu ñã ñăng ký - Hệ thống yêu cầu sinh viên chọn chức muốn thực (Create a Schedule, Update a Schedule, or Delete a Schedule) - Sau sinh vi ên cung cấp thông tin ñược yêu cầu, luồng phụ sau ñược thực o Nếu cán ñào tạo chọn “Creat a Schedule”, luồng phụ Creat a Schedule ñược thực o Nếu cán ñào tạo chọn “Update a Schedule”, luồng phụ Update a Schedule ñược thực o Nếu cán ñào tạo chọn “Delete a Schedule”, luồng phụ Delete a Schedule ñược thực - Create a Schedule o Hệ thống lấy danh sách học phần có mở học kỳ từ hệ thống Course Catalog System thể dạng danh sách cho sinh viên chọn o Sinh viên chọn học phần bắt buộc hai học phần tự chọn từ danh sách o Sau sinh viên chọn, hệ thống tạo thời khóa biểu ñăng ký học phần chứa học phần sinh viên ñã ñăng ký o Sinh viên kiểm tra xác nhận thời khóa biểu, Submit Schedule ñược thực thi - Update a Schedule o Hệ thống lấy hiển thị thời khóa biểu mà sinh viên ñã ñăng ký (trong học kỳ tại) o Hệ thống lấy danh sách học phần có mở học kỳ từ hệ thống Course Catalog System thể dạng danh sách cho sinh viên chọn o Sinh viên cập nhật lại cách xóa tạo Sinh vi ên chọn thêm môn học loại bỏ học phần ñã ñăng ký o Sau sinh viên lựa chọn xong, hệ thống cập nhật lại thời khóa biểu cho sinh viên o Luồng kiệm Submit Schedule ñược thực - Delete a Schedule 110 o Hệ thống lấy hiển thị thời khóa biểu mà sinh viên ñã ñăng ký (trong học kỳ tại) o Hệ thống yêu cầu sinh viên xác nhận việc xóa o Sinh viên xác nhận việc xóa o Hệ thống xóa thời khóa biểu sinh viên o Hệ thống xóa thời khóa biểu sv - Submit Schedule o ðối với học phần thời khóa biểu, chưa ñược ñánh dấu “enrolled in”, hệ thống kiểm tra sinh viên ñã ñủ ñiều kiện tiên chưa, ví dụ học phần ñó có mở mâu thuẫn thời khóa biểu (như trùng ).Hệ thống thêm sinh viên vào học phần ñã chọn Học phần ñược ñánh dấu “enrolled in” thời khóa biểu o Thời khóa biểu ñược lưu vào hệ thống 8.6.5.2.2 - Các dòng kiện khác Save a Schedule o Tại thời ñiểm sinh viên chọn lưu thời khóa biểu trước submit - Unfulfilled Prerequisites, Course Full, or Schedule Conflicts o Nếu luồng kiện phụ Submit Schedule, sinh viên chưa chọn ñủ môn học theo qui ñịnh, học phần ñã ñầy, thời khóa biểu bị xung ñột học phần (trùng ), thông báo lỗi ñược gửi ñến sv.Sinh viên phải chọn học phần khác use case tiếp tục sinh viên hủy việc ñăng ký use case khởi tạo lại từ ñầu - No Schedule Found o Khi hai luồng kiện Update a Schedule Delete a Schedule, hệ thống không nhận ñược thời khóa biểu sinh viên, thông báo lỗi hiễn thị hình - Course Catalog System Unavailable o Nếu không kết nối ñược với hệ thống Course Catalog, hệ thống hiển thị thông báo cho sinh viên - Course Registration Closed o Khi thời gian ñăng ký cho học kỳ ñã kết thúc, sinh viên vào ñăng ký nhận ñược thông báo hệ thống không cho phép sinh viên tiếp tục 111 - Delete Cancelled o Nếu dòng kiện phụ Delete A Schedule, sinh viên ñịnh không xóa thời khóa biểu, lệnh xóa bị huỷ bỏ Dòng kiện ñược re-started lại từ ñầu Các yêu cầu ñặt biệt 8.6.5.3 Không có ðiều kiện tiên 8.6.5.4 Giáo sư phải ñăng nhập vào hệ thống trước use case bắt ñầu 8.6.5.5 Post-Conditions Nếu use case thành công, lớp mà giáo sư chọn dạy ñược cập nhật Ngược lại, trạng thái hệ thống vãn không ñổi ðiểm mở rộng 8.6.5.6 Không có 8.6.6 8.6.6.1 Select Courses to Teach (ðăng ký dạy) Tóm tắt Use case cho phép giáo sư chọn từ danh mục học phần lớp học mà minh dạy ñược muốn dạy học kỳ tới 8.6.6.2 8.6.6.2.1 Dòng kiện Dòng kiện Use case bắt ñầu giáo sư muốn ñăng ký dạy số lớp học kỳ tới - Hệ thống truy xuất hiển thị danh sách lớp mà giáo sư dạy học kỳ Hệ thống truy xuất hiển thị lớp học mà giáo sư ñã ñăng ký dạy - Giáo sư chọn thêm/bỏ bớt lớp mà minh muốn dạy học kỳ tới - Hệ thống xóa giáo sư khỏi lớp bị giáo sư bỏ bớt - Hệ thống kiểm tra lớp học ñược chọn xem có mâu thuẫn với hau không (ví dụ có ngày, dạy) Nếu khong có mâu thuẫn, hệ thống cập nhật thông tin lớp học cho lớp học ñược giáo sư chọn (ví dụ ghi nhận giáo sư người giảng dạy cho lớp này) 8.6.6.2.2 - Các dòng kiện khác Không có lớp học 112 o Nếu Dòng kiện chính, giáo sư không thích hợp ñể dạy môn ñược mở học kỳ tới hệ thống hiển thị thông báo lỗi Giáo sư nhận thông báo use case kết thúc - Mâu thuẫn lịch dạy o Nếu hệ thống thấy mâu thuẫn lịch dạy cố ñăng ký lớp giáo sư dạy, hệ thống hiển thị thông báo lỗi lịch dạy mâu thuẫn Hệ thống lớp học gây mâu thuẫn Giáo sư giải mâu thuẫn (ví dụ hủy dạy số lớp, hủy thao tác Trong trường hợp này, chọn lựa giáo sư bị usee case kết thúc - Hệ thống Danh mục học phần không sẵn sàng o Nếu hệ thống kết nối ñược với Hệ thống Danh mục học phần, hệ thống hiển thị thông báo lỗi ñến sinh viên Giáo sư nhận thông báo lỗi use case kết thúc - ðăng ký học phần ñã bị ñóng o Nếu use case bắt ñầu, xác ñinh ñược trình ñăng ký cho học kỳ ñã bị ñóng, thông báo ñược hiển thị cho giáo sư use case kết thúc Giáo sư thay ñổi lớp dạy sau trình ñăng ký cho học kỳ ñã bị ñóng Nếu thay ñổi giáo sư xảy sau trình ñăng ký bị ñóng ñược xử lý bên pajm vi hệ thống Các yêu cầu ñặt biệt 8.6.6.3 Không có ðiều kiện tiên 8.6.6.4 Giáo sư phải ñăng nhập vào hệ thống trước use case bắt ñầu 8.6.6.5 Post-Conditions Nếu use case thành công, lớp mà giáo sư chọn dạy ñược cập nhật Ngược lại, trạng thái hệ thống vãn không ñổi ðiểm mở rộng 8.6.6.6 Không có 8.6.7 8.6.7.1 Submit Grades (Nộp ñiểm) Tóm tắt Use case cho phép giáo sư nộp ñiểm cúa sinh viên lớp dạy vừa hoàn tất học kỳ trước 113 8.6.7.2 8.6.7.2.1 Dòng kiện Dòng kiện Use case bắt ñầu có giáo sư muốn vào ñiểm cho sinh viên dạy - Hệ thống hiển thị danh sách lớp học ñược giáo sư dạy học kỳ vừa qua - Giáo sư chọn lớp danh sách - Hệ thống lấy danh sách tất sinh viên ñã ñăng ký lớp học Hệ thống hiển thị sinh viên ñiểm số (nếu ñã ñược cho trước ñó) - Với sinh viên, giáo sư nhập ñiểm: A, B, C, D, F, I Hệ thống ghi nhân ñiểm cúa sinh viên lớp học Nếu giáo sư muốn bỏ qua sinh viên ñó, ñiếm số ñể trống nhập vào sau Giáo sư thay ñổi ñiểm cho sinh viên cách nhập vào ñiểm 8.6.7.2.2 - Các dòng kiện khác Không dạy lớp học kỳ vừa qua o Nếu Dòng kiện chính, giáo sư ñã không dạy lớp học kỳ vừa qua hệ thống hiển thị thông báo lỗi Giáo sư xem thông báo use case kết thúc Các yêu cầu ñặt biệt 8.6.7.3 Không có ðiều kiện tiên 8.6.7.4 Giáo sư phải ñăng nhập vào hệ thống trước use case bắt ñầu 8.6.7.5 Post-Conditions Nếu use case thành công, ñiểm sinh viên ñược cập nhật Ngược lại, trang thái hệ thống không thay ñổi ðiểm mở rộng 8.6.7.6 Không có 8.6.8 8.6.8.1 View Report Card (Xem phiếu ñiểm) Tóm tắt Use case cho phép sinh viên xem ñiểm học kỳ vừa hoàn tất trước ñó 8.6.8.2 8.6.8.2.1 Dòng kiện Dòng kiện Use case bắt ñầu sinh viên xem ñiểm học kỳ vừa hoàn tất 114 - Hệ thống truy xuất hiển thị thông tin ñiểm cho lớp học mà sin viên ñã hoàn tất học kỳ trước ñó - Khi sinh viên báo ñã xem xong ñiểm use case kết thúc 8.6.8.2.2 - Các dòng kiện khác Không có thông tin ñiểm o Nếu Dòng kiện hệ thống tìm thấy thông tin ñiểm học kỳ trước sinh viên, thông báo ñược hiển thị Sau sinh viên xem xong thông báo này, use case kết thúc Các yêu cầu ñặt biệt 8.6.8.3 Không có ðiều kiện tiên 8.6.8.4 Sinh viên phải ñăng nhập vào hệ thống trước use case bắt ñầu 8.6.8.5 Post-Conditions Trạng thái hệ thống không thay ñổi sau use case thực ðiểm mở rộng 8.6.8.6 Không có 8.7 Phân tích yêu cầu 8.8 Thiết kế hệ thống 115 TÀI LIỆU THAM KHẢO [1] Kent Beck, Extreme Programming Explained, Addison & Wasley, 2000 [2] Bruce Eckel, Thinking in Java, 3rd ed., 2002 [3] Mike Gancarz, The Unix Philosophy, Digital Press, 1994 [4] Roger S Pressman (dịch: Ngô Trung Việt), Công nghệ phần mềm, Tập I,II,III, NXB Giáo dục, 1997 [5] Walker Royce, Software Project Management - A Unified Framework, AddisonWesley, 1998 [6] Stephen R Schach, Classical and ObjectưOriented Software Engineering with UML and C++, 4th ed., McGrawưHill, 1999 [7] Ian Sommerville, Software Engineering, 6th ed., AddisonưWasley, 2001 [8] Nguyễn Quốc Toản, Bài giảng Nhập môn Công trình học phần mềm, Khoa Công nghệ, 1999 [9] Lê ðức Trung, Công nghệ phần mềm, NXB Khoa học Kỹ thuật, 2001 [10] Ngô Trung Việt, Nguyễn Kim ánh (biên soạn), Nhập môn Công nghệ phần mềm, NXB Khoa học kỹ thuật, 2003 [11] Nguyễn Văn Vỵ, Phân tích thiết kế hệ thống thông tin ñại, NXB Thống kê, 2002 [12] Software Engineering 6th Edition (presentation)- Ian Summerville [13] Bài giảng Nhập môn kĩ nghệ phần mềm - Nguyễn Ngọc Bình - ðại học Công Nghệ, ðại học Quốc Gia Hà Nội 116 [...]... thông tin học phần thông qua một hệ thống khác Ở ñầu mỗi học kỳ, sinh viên có thể yêu cầu danh sách các học phần ñược mở trong học ký ñó Thông tin về mỗi học phần, ví dụ như là tên giáo sư, khoa, và các môn học phần tiên quyết sẽ ñược cung cấp ñể giúp sinh viên chọn lựa Hệ thống mới cho phép sinh viên chọn bốn học phần ñược mở trong học kỳ tới Thêm vào ñó mỗi sinh viên có thể ñưa ra hai môn học thay... 8.1.1 .2 Các ñịnh nghĩa Bảng chú giải này bao gồm các ñịnh nghĩa cho các khái niệm chính trong Hệ thống ñăng ký học phần - Course (Học phần) : Một môn học ñược dạy trong trường - Course Offering (Lớp): Một lớp học cụ thể ñược mở trong một học kỳ cụ thể – cùng một học phần có thể ñược mở song song nhiều lớp trong một học kỳ Thông tin gồm cả ngày học trong tuần và giờ học - Course Catalog (Danh mục học phần) ... tài nguyên phần cứng, phần mềm - Phân công công việc - Lập lịch dự án - Cơ chế kiểm soát và báo cáo 6.4.3 Tổ chức thực hiện dự án 6.4.4 Quản lý quá trình thực hiện dự án 6.4.5 Kết thúc dự án 6.5 ðộ ño phần mềm ðể quản lý chúng ta cần ñịnh lượng ñược ñối tượng quản lý cần quản lý, ở ñây là phần mềm và qui trình phát triển Chúng ta cần ño kích cỡ phần mềm, chất lượng phần mềm, năng suất phần mềm 6.5.1... thấp xây dựng xong 5.5 Bảo trì phần mềm Bảo trì phần mềm (tiếng Anh software maintenance) bao gồm ñiều chỉnh các lỗi mà chưa ñược phát hiện trong các giai ñoạn trước của chu kỳ sống của một phần mềm, nâng cấp tính năng sử dụng và an toàn vận hành của phần mềm Bảo trì phần mềm có thể chiếm ñến 65%-75% công sức trong chu kỳ sống của một phần mềm ([1]) Quá trình phát triển phầm mềm bao gồm rất nhiều giai... tra, triển khai và bảo trì phần mềm Nhiệm vụ của giai ñoạn bảo trì phần mềm là giữ cho phần mềm ñược cập nhật khi môi trường thay ñổi và yêu cầu người sử dụng thay ñổi Theo IEEE (1993), thì bảo trì phần mềm ñược ñịnh nghĩa là việc sửa ñổi một phần mềm sau khi ñã bàn giao ñể chỉnh lại các lỗi phát sinh, cải thiện hiệu năng của phần mềm hoặc các thuộc tính khác, hoặc làm cho phần mềm thích ứng trong một... OS360 của IBM bị chậm 2 năm so với kế hoạch 74 6.4 Các hoạt ñộng của quản lý dự án Các hoạt ñộng chính trong quản lý dự án phần mềm 6.4.1 Xác ñịnh dự án phần mềm cần thực hiện Xác ñịnh yêu cầu chung: - Trước tiên cần xác ñịnh các yêu cầu chức năng (công việc phần mềm thực hiện) cũng như phi chức năng (công nghệ dùng ñể phát triển phần mềm, sử dụng trong hệ ñiều hành nào ) của phần mềm Sau ñó cần xác ñịnh... hình tiến hóa 82 CHƯƠNG 7 QUY TRÌNH PHÁT TRIỂN PHẦN MỀM 7.1 Giới thiệu Cũng như mọi ngành sản xuất khác, qui trình là một trong những yếu tố cực kỳ quan trọng ñem lại sự thành công cho các nhà sản xuất phần mềm, nó giúp cho mọi thành viên trong dự án từ người cũ ñến người mới, trong hay ngoài công ty ñều có thể xử lý ñồng bộ công việc tương ứng vị trí của mình thông qua cách thức chung của công ty, hay... Phát triển phần mềm (Development): tạo ra phần mềm thỏa mãn các yêu cầu ñược chỉ ra trong “ðặc tả yêu cầu” - Kiểm thử phần mềm (Validation/Testing): ñể bảo ñảm phần mềm sản xuất ra ñáp ứng những “ñòi hỏi” ñược chỉ ra trong “ðặc tả yêu cầu” - Thay ñổi phần mềm (Evolution): ñáp ứng nhu cầu thay ñổi của khách hàng 83 Tùy theo mô hình phát triển phần mềm, các nhóm công việc ñược triển khai theo những cách... CASE STUDY BÀI TOÁN ðĂNG KÝ HỌC PHẦN 8.1 Phát biểu bài toán (Vision) Là trưởng ban IT của trường ðại học KHTN, bạn ñược yêu cầu phát triển một hệ thống ñăng ký học phần mới Hệ thống mới cho phép sinh viên ñăng ký học phần và xem phiếu ñiểm từ một máy tính cá nhân ñược kết nối vào mạng nội bộ của trường Các giáo sư cũng có thể truy cập hệ thống này ñể ñăng ký lớp dạy và nhập ñiểm cho các môn học Do kinh... ñể thực hiện dự án, hiện trạng công nghệ thông tin của khách hàng trước khi có dự án, nhu cầu ứng dụng phần mềm của khách hàng, ñặc ñiểm và phạm vi của phần mềm sẽ xây dựng o Mục ñích và mục tiêu của dự án: Xác ñịnh mục ñích tổng thể: Tin học hóa hoạt ñộng nào trong quy trình nghiệp vụ của khách hàng? Xác ñịnh mục tiêu của phần mềm: lượng dữ liệu xử lý, lợi ích phần mềm ñem lại o Phạm vi dự án: Những ... học phần ñược mở song song nhiều lớp học kỳ Thông tin gồm ngày học tuần học - Course Catalog (Danh mục học phần) : Danh mục ñầy ñủ tất học phần ñược dạy trường - Faculty : Khoa hay toàn cán giảng. .. 8 .2. 7 Precedence and Priority - ðăng nhập - ðăng ký học phần - Kết nối với sở liệu - Sửa chữa thông tin sinh viên - Sửa chữa thông tin giáo viên - Xem kết học tập sinh viên - Chọn lớp dạy 8 .2. 8... lịch học có ñăng ký - Với lịch học, hệ thống làm ñầy lịch học: lịch học chưa ñủ số học phần ñược chọn tối ña, hệ thống cố gắng chọn thêm học phần thay Học phần thay ñầu tiên chỗ ñược chọn Nếu học

Ngày đăng: 08/04/2016, 20:04

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan