Tham khảo sách giáo trình công nghệ phần mềm, công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Giáo trình công nghệ phần mềmCHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ PHẦN MỀM Mục tiêu Nội dungMục tiêu :Cung cấp các khái niệm cơ bản trong công nghệ phần mềm.Nội dung :1. Lược sử.2. Phần mềm.3. Công nghệ phần mềm.4. Các qui trình công nghệ.5. Các phương pháp phát triển phần mềm.6. Các công cụ và môi trường phát triển phần mềm.7. Các nội dung cơ bản của công nghệ phần mềm.1.1 Lược sửQua các giai đoạn :Giai đoạn I : Thời kỳ thế hệ thứ nhất của MTĐT ( Thập niên 50.) Mô tả dựa vào các đặc trưng:a) Quan điểm : Lập trình là một hoạt động nghệ thuật, dựa trên cảm tính.b) Ngôn ngữ lập trình : NN máy, bậc thấp.c) Phương pháp lập trình : Tuyến tính.d) Năng suất : Thấp1.1 Lược sử (tt)Giai đoạn thứ 2 :1. Thời kỳ khủng hoảng phần mềm ( Trong thập niên 60 )Nguyên nhân: - Chi phí phần mềm cao. - Các dự án phần mềm không có có kết quả tốt do phương pháp xây dựng phần mềm cảm tính, thô sơ, thủ công…2. Giải quyết khủng hoảng: -Thay đổi quan điểm nghiên cứu , đối tượng nghiên cứu, phương pháp nghiên cứu, . . .3. Các thành quả: - Hệ tiên đề chứng minh tính đúng của chương trình (Hoare) - Phương pháp luận lập trình cấu trúc.1.1 Lược sử (tt)Giai đoạn thứ 3 : ( Từ giữa những năm 70 đến nay ) : Đặc trưng : - Hệ thông phân bố - nhiều máy tính, mỗi máy thực hiện m ột ch ức năng tương tranh và liên lạc với máy khác. - Sự phát triển nhanh của các máy tính cá nhân.Giai đoạn thứ 4 : Đặc trưng :- Công nghệ phần mềm hướng đối tượng thay thế nhiều cách tiếp cận phát triển phần mềm.- Phần mềm với kiến trúc tính toán khác về cơ bản như các hệ chuyên gia, phần mềm trí tuệ nhân tạo, mạng Nơron đã chuyển t ừ thí nghiệm vào ứng dụng thực tế.1.2. Phần mềm (Software)1. Khái niệm. Phần mềm là hệ thống các chương trình thực hiện được trên máy tính nhằm hổ trợ cho các nhà chuyên môn trong t ừng lãnh vực chuyên ngành thực hiện tốt các thao tác nghiệp vụ của mình Lĩnh vực chuyên ngành : Mọi mặt trong đời sống xã hội như giáo dục, quốc phòng, giải trí, kinh doanh, . . . Nhà chuyên môn ( nguời sử dụng) : Người hoặc bộ phận tham gia hoạt động vào các lĩnh vực tương ứng. Thao tác nghiệp vụ : Các công việc trong thế giới thực được chuyển vào lĩnh vực tương ứng.2. Các đặc trưng phần mềm. - Không hỏng, chỉ lạc hậu. - Làm theo đơn đặt hàng, ít khi lắp ráp từ các thành phần có sẵn.1.2. Phần mềm (tt)3. Các thành phần phần mềm.a. Thành phần giao diện :- Tiếp nhận các yêu cầu về việc sử dụng phần mềm của người sử dụng ( như chọn công việc,nhập dữ liệu nguồn, …)- Trình bày kết quả phần mềm thực hiện.- Điều khiển phần mềm hoạt động.b. Thành phần xử lý : - Kiểm tra tính hợp lệ của dữ liệu nguồn. - Tra cứu, Tính toán, biến đổi cho ra kết quả.c. Thành phần dữ liệu: - Tổ chức cấu trúc dữ liệu. - Tổ chức lưu trử Cơ sở dữ liệu. - Truy xuất (đọc, ghi) dữ liệu. 1.2. Phần mềm (tt).4. Phân loại :a. Phần mềm hệ thống. Được đặc trưng bởi : Tương tác chủ yếu với phần cứng, dùng chung tài nguyên, . . . Là tập các chương trình phục vụ cho các chương trình khác như : trình biên dịch, các trình tiện ích xử lý tệp, Hệ điều hành. . .b. Phần mềm thời gian thực. Có đặc trưng ràng buộc chặt chẽ với thời gian. Là các phần mềm có các thành phần :- Thu thập dữ liệu.- Phân tích.- Kiểm soát.- Điều phối.Chẳng hạn như các chương trình trò chơi, điều khiển tự động,. . .1.2. Phần mềm (tt)c. Phần mềm nghiệp vụ. Các phần mềm hệ thông tin quản lý.d. Phần mềm khoa học và công nghệ Được đặc trưng bởi thuật toán số như các chương trình tối ưu,. . .e. Phần mềm nhúng. Nằm trong bộ nhớ chỉ đọc và được dùng để điều khiển các sản phẩm và hệ thống cho người dùng.f. Phần mềm máy tính cá nhân. Như phần mềm xử lý văn bản, bảng tính, . .g. Phần mềm trí tuệ nhân tạo : Dùng các thuật toán phi số, như các hệ chuyên gia, m ạng n ơron nhân tạo, . . .1.2. Phần mềm (tt)5. Chất lượng phần mềm (các tiêu chuẩn phần mềm) :a. Tính đúng đắn : Không có sự cố, Đúng với yêu cầu thiết kế.b. Tính tiến hóa : Có thể thay đổi, mở rộng các yêu c ầu, ch ức năng của phần mềm.c. Tính tiện dụng : Dễ học, dễ sử dụng.d. Tính hiệu quả : Kinh tế, tốc độ, bộ nhớ.e. Tính khoa học : Về nội dung, hình thứcf. Tính độc lập : Độc lập với thiết bị, với cấu trúc đối tượng phần mềm quản lý.g. Tính toàn vẹn : Có cơ chế ngăn ngừa việc phát sinh d ữ liệu sai qui cách, phục hồi dữ liệu, . . . ...1.2. Phần mềm (tt).6. Một số thuật ngữ liên quan:- Phát triển phần mềm (Software development). Tiến trình xây dựng phần mềm từ khi bắt đầu lập kế hoạch dự án phần mềm cho đến khi chuyển giao sản phẩm.- Ứng dụng (Application). Tập các chương trình thực hiện tự động trên máy tính một số nh ...