Xem mẫu

  1. BÀI 1 GIỚI THIỆU VỀ CÔNG NGHỆ PHẦN MỀM
  2. Nội dung   Phần mềm   Công nghệ phần mềm  Tiến trình phần mềm © 2008 by  Vinh Trong Le 2/41
  3. I. Phần mềm (PM)  Các nội dung chính  Phần mềm là gì  Các thành phần của PM  Vai trò của PM  Đặc trưng của PM  Phân loại PM  Tiến hóa và thách thức © 2008 by  Vinh Trong Le 3/41
  4. Phần mềm là gì?  Khái niệm và định nghĩa  Lệnh (chỉ thị) instructions: Máy tính thực hiện một thao tác.  Chương trình (program): Một chuỗi các lệnh nhằm thực hiện một tác vụ  cụ thể.  Dữ liệu: Thông tin “thô”­> cần xử lý ­> Thông tin hữu ích.  Phần mềm: Một hay nhiều chương trình để xử lý dữ liệu.  Nói một cách khác:  “Phần mềm là tập các lệnh để chỉ cho máy tính biết xử lý dữ liệu như thế  nào.” Hoặc:  “Phần mềm chạy ­> dữ liệu được xử lý.” © 2008 by  Vinh Trong Le 4/41
  5. Các thành phần của PM  Chương trình máy tính  Mã nguồn  Mã máy  Các cấu trúc dữ liệu  Cấu trúc làm việc (Bộ nhớ trong)  Cấu trúc lưu trữ (Bộ nhớ ngoài)  Tài liệu  Hướng dẫn sử dụng 
  6. Vai trò PM  PM: Linh hồn của các hệ thống máy tính  Nền tảng trong mọi hoạt động của xã hội ngày nay  Sự phụ thuộc của các nền kinh tế  Thu chi từ PM chiếm đáng kể trong GNP; ví dụ: Năm 2006, Ấn độ xuất khẩu  hơn 30 tỷ USD; thế giới có > 7 triệu kỹ sư CNTT và tạo ra 600 tỷ USD/năm;  Thế giới chi phí cho phần mềm trong năm 2000 khoảng 770 tỷ USD.  Phần mềm sai hỏng ­> kinh tế sẽ bị tổn thất: Yahoo mất vài chục tỷ đô la  trong những năm qua  Tạo nên sự khác biệt giữa các tổ chức: Phong cách làm việc và năng  suất lao động  Càng nhiều hệ thống cần phần mềm trợ giúp  Ứng dụng PM có mặt ở mọi nơi, mọi lĩnh vực kinh tế, khoa học, quân sự,  … © 2008 by  Vinh Trong Le 6/41
  7. Đặc trưng của PM  Không mòn cũ, nhưng thoái hóa theo thời gian: Môi trường, nhu cầu  thay đổi ­> ko sử dụng  Không lắp ráp từ mẫu sẵn có:  Ko có danh mục cho trước  Sản phẩn đặt hàng theo yêu cầu riêng  Phức tạp, khó hiểu và vô hình  Hệ thống logic khó hiểu: liên kết logic ko nhìn thấy ­> phải tư duy trừu  tượng  Không nhìn thấy: ko phải là vật thể vật lý © 2008 by  Vinh Trong Le 7/41
  8. Đặc trưng của PM (tiếp)  Thay đổi là bản chất  Theo thế giới thực để đáp ứng nghiệp vụ, nhu cầu con người.  Thay đổi theo môi trường: phần cứng  Cần phát triển theo nhóm  Quy mô lớn  Thời gian © 2008 by  Vinh Trong Le 8/41
  9. Phân loại phần mềm  Hai cách phân loại chính:  Theo chức năng thực hiện  Theo lĩnh vực ứng dụng  Phân loại theo chức năng  Phần mềm hệ thống: Hệ điều hành, tiện ích tổ chức tệp…  Phần mềm nghiệp vụ: Trợ giúp các hoạt động nghiệp vụ  Sản phẩm theo đơn đặt hàng: Hệ thống TT quản lý (thư viện, kế toán…)  Sản phẩm dùng chung: Office  Phần mềm công cụ: Trợ giúp các quá trình phát triển phần mềm (ngôn  ngữ lập trình, quản lý dự án …) © 2008 by  Vinh Trong Le 9/41
  10. Phân loại phần mềm  Phân loại theo lĩnh vực ứng dụng:  Phần mềm hệ thống: Phục vụ cho các PM khác, tương tác với phần  cứng, phục vụ nhiều người dùng  Phần mềm thời gian thực: Thu thập, xử lý các dữ liệu thời gian thực  (dùng điều khiển các hệ thống tự động)  Phần mềm nghiệp vụ: Xử lý các thông tin nghiệp vụ nghiệp vụ  Phần mềm khoa học kỹ thuật: Mô phỏng vật lý…  Phần mềm nhúng: phụ thuộc vào các thiết bị và thực hiện chức năng bị  hạn chế. © 2008 by  Vinh Trong Le 10/41
  11. Sự tiến hóa của PM   Phần mềm tiến hóa theo phần cứng bao gồm cả quy mô, sự phức  tạp, tốc độ  Sự tiến hóa của PM có thể chia làm 4 giai đoạn:  GĐ 1: 1950­> 1960  Chương trình nhỏ, tính toán chuyên dụng  Xử lý số và xử lý theo lô (batch)  Ngôn ngữ: Mã máy, hợp ngữ  Tiêu chí đánh giá: Nhanh, kích cỡ của bài toán  GĐ 2: ­> giữa 1970s  Sản phẩm đa nhiệm, đa người dùng  Xử lý số, ký tự, theo lô và thời gian thực © 2008 by  Vinh Trong Le 11/41
  12. Sự tiến hóa của PM   Ngôn ngữ có cấu trúc  Tiêu chí đánh giá: Nhanh, kích cỡ bài toán, số lượng người dùng.  GĐ 3: ­> 1990  Phần mềm cá nhân, mạng, hệ thống lớn và chia sẻ được  Xử lý số, ký tự, multimedia; theo lô, thời gian thực, phân tán và song song  Ngôn ngữ: bậc cao, hướng đối tượng  Tiêu chí đánh giá: Tiện dụng, tin cậy và dễ bảo trì.  GĐ 4: 1900­> nay  Phần mềm lớn, hướng người dùng  Ngôn ngữ: hướng đối tượng và trực quan (Visual)  Tiêu chí đánh giá: Tiện dụng, tin cậy và dễ bảo trì. © 2008 by  Vinh Trong Le 12/41
  13. Tiêu chi PM tốt   PM tốt được nhìn nhận từ 2 phía  Người dùng:  Đủ chức năng nghiệp vụ  Dễ sử dụng, thông minh  Tin cậy, an toàn  Nhà phát triển  Dễ bảo trì  Dễ nâng cấp mở rộng © 2008 by  Vinh Trong Le 13/41
  14. Khó khăn và thách thức   Thống kê:   16% DA đúng lịch, trong ngân sách, sản phẩm chất lượng  31% DA bị dừng  53% DA vượt ngân sách, quá hạn, ít tính năng  Công nghiệp PM: Ngành khổng lồ  Chi phí cho PM: 770 tỷ USD / Năm  Lý do:  Năng lực máy tính tăng nhanh  Thế giới thay đổi nhanh về nghiệp vụ và CN  Ham muốn của người dùng  © 2008 by  Vinh Trong Le 14/41
  15. Khó khăn và thách thức (tiếp) ­> cần tiến hóa PM  Công nghệ: Cần có các công nghệ, công cụ hiện đại  để phát triển PM  Quản lý: Cần có các phương pháp (CMM­Capability  Maturity Model ; CMMI­Capability Maturity Model  Integration ) © 2008 by  Vinh Trong Le 15/41
  16. II. Công nghệ PM  Các nội dung chính:  Các định nghĩa  Lịch sử phát triển CNPM  Các yếu tố cơ bản  Các bước chung nhất phát triển PM © 2008 by  Vinh Trong Le 16/41
  17. Các định nghĩa về CNPM  Công nghệ phần mềm (Software Engineering: SE)  Bauer (1969): SE là thiết lập và sử dụng các nguyên lý công nghệ đúng đắn  để được PM 1 cách kinh tế, vừa tin cậy vừa làm việc hiệu quả trên các máy  thực  Sommerville (1995): SE là nguyên lý công nghệ liên quan đến tất cả các  mặt lý thuyết, phương pháp và công cụ của PM.  Pressman (1995): SE là bộ môn tích hợp cả qui trình, các phương pháp, các  công cụ để phát triển PM máy tính  3 mặt cơ bản của SE  Quy trình (thủ tục)  Phương pháp  Công cụ © 2008 by  Vinh Trong Le 17/41
  18. Lịch sử của SE  Bắt đầu (1970s): Các phương pháp lập trình và cấu trúc dữ liệu  Tính modul  Sơ đồ khối và top­down  Lập trình có cấu trúc  Chia chương trình thành các modul  Trừu tượng hóa dữ liệu  Tăng trưởng (nửa đầu 1980s)  Phương pháp phát triển hệ thống: CSDL, phân tích thiết kế hướng cấu trúc  Các bộ công cụ phát triển: Trợ giúp phân tích thiết kế, các ngôn ngữ bậc  cao  Bắt đầu quan tâm đến quản lý: Độ đo phần mềm © 2008 by  Vinh Trong Le 18/41
  19. Lịch sử của SE (tiếp)  Phát triển (Từ giữa 1980s)  Hoàn thiện công nghệ cấu trúc  Phát triển công nghệ đối tượng: Kho dữ liệu, đa phương tiện, định hướng sử  dụng lại (thành phần, mẫu, framework)  Phát triển các mô hình quản lý: Chuẩn quản lý được công nhận (CMM­ IS9000­03)  Tổng hợp: SE Là quá trình công nghệ tích hợp  Quá trình  Phương pháp  Công cụ Để tạo ra được PM hiệu quả với các điều kiện cho trước © 2008 by  Vinh Trong Le 19/41
  20. Các yếu tố cơ bản  Quá trình:   Xác định trình tự các công việc cần thực hiện  Xác định các tài liệu, sản phẩm cần bàn giao và cách thức thực hiện  Định ra các mốc thời gian (milestones) và sản phẩm đưa ra  Phương pháp: Cách làm cụ thể để xây dựng PM; thường mỗi công đoạn có một  phương pháp riêng  Phân tích: xác định, đặc tả yêu cầu  Thiết kế: đặc tả kiến trúc, giao diện, dữ liệu, thủ tục  Lập trình  Kiểm thử  Quản lý dự án  Công cụ: Computer Aided Software Engineering (CASE) © 2008 by  Vinh Trong Le 20/41
nguon tai.lieu . vn