NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Giảng viên Đỗ Thị Thanh Tuyền Email dothithanhtuyen@gmail com 2 Nhập môn Công nghệ Phần mềm January 15 Nội dung môn học n Tổng quan về Công nghệ phần mềm n Xác định và mô[.]
NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Giảng viên: Đỗ Thị Thanh Tuyền Email : dothithanhtuyen@gmail.com Nội dung môn học n Tổng quan Công nghệ phần mềm n Xác định mô hình hóa u cầu phần mềm n Thiết kế phần mềm n Cài đặt phần mềm n Kiểm thử bảo trì n Đồ án môn học Nhập môn Công nghệ Phần mềm January 15 Một số khái niệm n Phần mềm: tập hợp câu lệnh viết nhiều ngơn ngữ lập trình theo trật tự xác định nhằm tự động thực số chức giải tốn Phần mềm thực thi máy, thường máy tính n Cơng nghệ (engineering): cách sử dụng cơng cụ, kỹ thuật cách giải vấn đề n Cơng nghệ Phần mềm (Software Engineering): việc áp dụng công cụ, kỹ thuật cách có hệ thống việc phát triển ứng dụng dựa máy tính Nhập mơn Cơng nghệ Phần mềm January 15 Một số khái niệm (tt) n Cơng nghệ Phần mềm mơ hình hóa sau: Ø Qui trình phát triển phần mềm: hệ thống giai đoạn mà trình phát triển phần mềm phải trải qua Ø Phương pháp phát triển phần mềm: phương pháp thực cho giai đoạn qui trình phát triển phần mềm Nhập mơn Cơng nghệ Phần mềm January 15 Một số khái niệm (tt) Ø Công cụ môi trường phát triển phần mềm: phương tiện hỗ trợ tự động hay bán tự động cho giai đoạn q trình xây dựng phần mềm Nhập môn Công nghệ Phần mềm January 15 Phân loại phần mềm n Phân loại theo phương thức hoạt động: Ø Phần mềm hệ thống: hệ điều hành, thư viện liên kết động, điều vận (driver) Ø Phần mềm ứng dụng: phần mềm văn phòng, phần mềm doanh nghiệp, phần mềm giáo dục, phần mềm giải trí Ø Phần mềm chuyển dịch mã: bao gồm trình biên dịch trình thơng dịch n Phân loại theo khả ứng dụng: Ø Phần mềm viết theo đơn đặt hàng khách hàng cụ thể: phần mềm hỗ trợ bán hàng, phần mềm điều khiển thiết bị - Ưu điểm: có tính uyển chuyển, tùy biến cao để đáp ứng nhu cầu nhóm người sử dụng Nhập mơn Cơng nghệ Phần mềm January 15 Phân loại phần mềm (tt) n Phân loại theo khả ứng dụng (tt): - Khuyết điểm: ứng dụng chuyên ngành hẹp Ø Phần mềm không viết theo đơn đặt hàng cụ thể, bán cho khách hàng - Ưu điểm: có khả ứng dụng rộng rãi cho nhiều nhóm người sử dụng - Khuyết điểm: thiếu tính uyển chuyển, tùy biến Nhập mơn Cơng nghệ Phần mềm January 15 Cấu trúc phần mềm Người dùng Người dùng Hệ thống giao diện Phần mềm Hệ thống xử lý Phần cứng Hệ thống liệu Phần cứng Nhập môn Công nghệ Phần mềm January 15 Chất lượng phần mềm Chất lượng phần mềm thể qua tính chất sau: Ø Tính đắn Ø Tính tiến hóa Ø Tính tiện dụng Ø Tính hiệu Ø Tính tương thích Nhập mơn Cơng nghệ Phần mềm January 15 Qui trình phát triển phần mềm u Mơ hình thác nước u Mơ hình mẫu u Mơ hình xoắn ốc => Mơ hình thác nước cải tiến Nhập môn Công nghệ Phần mềm 10 January 15 Mơ hình mẫu Nhập mơn Cơng nghệ Phần mềm 12 January 15 Mơ hình xoắn ốc Phân tích rủi ro Nhập môn Công nghệ Phần mềm 13 January 15 Mô hình thác nước cải tiến Xác định yêu cầu Phân tích Thiết kế Cài đặt Kiểm chứng Nhập mơn Cơng nghệ Phần mềm 14 January 15 Phương pháp phát triển phần mềm n Phương pháp hướng chức năng: Ø Xây dựng phần mềm dựa chức mà hệ thống cần thực Ø Phương pháp chung để giải vấn đề áp dụng nguyên lý “chia để trị” Ø Hạn chế: có khả chức hệ thống khơng tương thích với thực thay đổi thông tin hệ thống Nhập môn Công nghệ Phần mềm 15 January 15 Phương pháp phát triển phần mềm (tt) n Phương pháp hướng liệu: Ø Chú trọng đến thành phần liệu hệ thống Ø Dùng mơ hình thực thể kết hợp để biểu diễn thực thể mối liên hệ thực thể Ø Hạn chế: phần mềm có chức lưu trữ thao tác đối tượng liệu, không quan tâm đến chức khác hệ thống nên hệ thống thu sau thiết kế thiếu số chức cần thiết Nhập môn Công nghệ Phần mềm 16 January 15 Phương pháp phát triển phần mềm (tt) n Phương pháp hướng đối tượng: Ø Chú trọng đến thành phần liệu chức hệ thống Ø Hệ thống phần mềm tập hợp đối tượng có khả tương tác với Ø Mỗi đối tượng bao gồm liệu thao tác thực liệu đối tượng Nhập môn Công nghệ Phần mềm 17 January 15 Phần mềm hướng đối tượng n Phần mềm phải tuân thủ ba tính chất hướng đối tượng: Ø Tính đóng gói Ø Tính kế thừa Ø Tính đa hình n Mục đích việc xây dựng phần mềm hướng đối tượng: Ø Giảm gắn kết mã nguồn (spaghetti code) Ø Giảm chi phí xây Ø Dễ bảo trì, nâng cấp Nhập mơn Cơng nghệ Phần mềm 18 January 15 Phần mềm hướng đối tượng (tt) n Làm để xây dựng phần mềm hướng đối tượng? Dựa nguyên lý hướng đối tượng n Nguyên lý SOLID: Ø Nguyên lý đơn nhiệm – S Ø Nguyên lý đóng mở – O Ø Nguyên lý thay – L Ø Nguyên lý phân tách – I Ø Nguyên lý nghịch đảo phụ thuộc – D “Đừng tự làm việc cụ thể, giao việc cụ thể cho đối tượng làm” Nhập môn Công nghệ Phần mềm 19 January 15 Công cụ môi trường phát triển PM n CASE (Computer Aided Software Engineering) tools n CASE tools hỗ trợ phát sinh kết chuyển giao cho giai đoạn n CASE tools hỗ trợ việc lưu trữ, cập nhật kết chuyển giao Nhập môn Công nghệ Phần mềm 20 January 15