Bài giảng Công nghệ phần mềm: Chương 1 - Hoàng Thị Hà
lượt xem 9
download
Bài giảng Công nghệ phần mềm: Chương 1 Giới thiệu tổng quan về công nghệ phần mềm, cung cấp cho người học những kiến thức như: Lịch sử hình thành và phát triển; Một số khái niệm cơ bản có liên quan trong lĩnh vực công nghệ phần mềm; Trình bày thêm về vấn đề đạo đức nghề nghiệp liên quan tới lĩnh vực công nghệ phần mềm.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Công nghệ phần mềm: Chương 1 - Hoàng Thị Hà
- Chương 1: Giới thiệu tổng quan về công nghệ phần mềm GV: Hoàng Thị Hà Email: htha@vnua.edu.vn
- Nội dung 1. Lịch sử hình thành và phát triển 2. Một số khái niệm cơ bản có liên quan trong lĩnh vực công nghệ phần mềm 3. Trình bày thêm về vấn đề đạo đức nghề nghiệp liên quan tới lĩnh vực công nghệ phần mềm 4. Câu hỏi ôn tập 05/10/2018 2
- 1. Lịch sử hình thành và phát triển Quá trình tiến hóa của phần mềm Những năm 1950s đến những năm 1960s Những năm 1960s đến giữa những năm 1970s Giữa những năm 1970s – 1990s Thời kỳ năm 1990 - nay Sự ra đời của công nghệ phần mềm 05/10/2018 3
- 2. Một số khái niệm cơ bản Phần mềm là gì? Kỹ nghệ phần mềm là gì? Sự khác nhau giữa CNPM và khoa học máy tính? Sự khác nhau giữa công nghệ phần mềm và kỹ nghệ hệ thống. Tiến trình phần mềm là gì? Mô hình tiến trình phần mềm là gì? 05/10/2018 4
- Một số khái niệm cơ bản(1) Chi phí của CNPM là gì? Các phương thức CNPM là gì? CASE (Computer-Aided Software Engineering) là gì? Những thuộc tính tốt của phần mềm là gì? Những thách thức mà CNPM phải đối mặt? 05/10/2018 5
- Phần mềm là gì (2) Các chương trình máy tính kết hợp với các tài liệu như: yêu cầu phần mềm, các mô hình thiết kế và hướng dẫn sử dụng Các sản phẩm phần mềm có thể được phát triển cho từng khách hàng cụ thể hoặc phát triển cho thị trường dùng chung Các sản phẩm phần mềm có thể là Generic – phần mềm được phát triển cho một nhiều đối tượng khách hàng khác nhau (Excel, word..) Bespoke (custom) phát triển cho một khách hàng cụ thể theo mô tả của họ Phần mềm mới có thể được tạo ra bằng việc phát triển một chương trình mới, cấu hình các hệ thống phần mềm chung hoặc tái sử dụng phần mềm đã có 05/10/2018 6
- Kỹ nghệ phần mềm là gì? Kỹ nghệ phần mềm là những kỹ nghệ cơ bản liên quan tới tất cả các khía cạnh của việc sản xuất phần mềm Kỹ nghệ phần mềm dựa trên một phương pháp và cách tiếp cận đã được chuẩn hóa, kết hợp với việc sử dụng các công cụ và kỹ thuật hợp lý để giải quyết, phát triển phần mềm dưới những ràng buộc và nguồn tài nguyên có thể 05/10/2018 7
- Sự khác nhau giữa kỹ nghệ phần mềm và khoa học máy tính Khoa học máy tính liên quan tới những nguyên lý và phương pháp; CNPM liên quan tới các thực tế phát triển và bàn giao các sản phẩm phần mềm hữu ích Những kiến thức về khoa học máy tính là cần thiết cho những kỹ sư phần mềm, giống như những hiểu biết về vật lý cho các kỹ sư điện. 05/10/2018 8
- Sự khác nhau giữa CNPM và kỹ nghệ hệ thống Kỹ nghệ hệ thống liên quan tới tất cả các khía cạnh của việc phát triển các hệ thống dựa trên máy tính, bao gồm phần cứng, phần mềm và tiến trình công nghệ. CNPM là một phần của tiến trình này, liên quan tới việc phát triển cơ sở hạ tầng phần mềm, điều khiển, ứng dụng và CSDL trong hệ thống Các kỹ sư hệ thống liên quan tới việc đặc tả hệ thống, thiết kế kiến trúc, tích hợp và phát triển 05/10/2018 9
- Tiến trình phần mềm là gì? Một tập hợp các hoạt động với mục tiêu phát triển hoặc cải tiến phần mềm Các hoạt động chung trong tiến trình phần mềm là: Đặc tả - hệ thống phải làm gì và những ràng buộc trong việc phát triển Phát triển – sản xuất hệ thống phần mềm Kiểm thử (validation)- kiểm tra xem phần mềm có đáp ứng được những mong muốn của khách hàng Cải tiến (Evolution) – thay đổi phần mềm để đáp ứng được những yêu cầu thay đổi 05/10/2018 10
- Mô hình tiến trình phần mềm là gì? Một cách trình diễn đơn giản một tiến trình phần mềm Một số ví dụ về mô hình tiến trình phần mềm Workflow perspective - sequence of activities; Data-flow perspective - information flow; Role/action perspective - who does what. Các mô hình tiến trình chung Waterfall; Iterative development; Component-based software engineering. 05/10/2018 11
- Chi phí của kỹ nghệ phần mềm Gần 60% chi phí cho việc phát triển phần mềm, 40% chi phí cho kiểm thử phần mềm. Đối với phần mềm riêng, chi phí cho việc cải tiến sản phẩm còn nhiều hơn chi phí phát triển Chi phí khác nhau phụ thuộc và các kiểu phát triển hệ thống và các yêu cầu thuộc tính của hệ thống, chẳng hạn như tính hiệu năng và độ tin cậy. Sự phân phối chi phí của các giai đoạn phụ thuộc vào mô hình phát triển được sử dụng 05/10/2018 12
- Activity cost distribution Waterfall model 0 25 50 75 100 Specification Design Development Integ ration and testing Iterative development 0 25 50 75 1 00 Specification Iterative development Sy stem testing Component-based software eng ineering 0 25 50 75 1 00 Specification Development Integ ration and testing Development and evolution costs for long-lifetime sy st ems 0 10 200 30 400 Sy stem development Sy stem evolution 05/10/2018 13
- Product development costs 0 25 50 75 100 Specification Development Sy stem testing 05/10/2018 14
- Mô hình kỹ nghệ phần mềm là gì? Các cách tiếp cận cấp trúc hóa để phát triển phần mềm bao gồm: các mô hình hệ thống, các định nghĩa, quy tắc, các hướng dẫn thiết kế và các tiến trình đã được chứng minh qua thực tiễn Biểu diễn mô hình Các cách biểu diễn các mô hình dạng hình học Quy tắc Các ràng buộc đối với các mô hình hệ thống; Gợi ý (Recommendations) Lời khuyên từ thực tiễn; Process guidance Những hoạt động nào cần tuân thủ 05/10/2018 15
- CASE (Computer-Aided Software Engineering) là gì? Các hệ thống phần mềm hỗ trợ tự động hóa các hoạt động trong tiến trình phần mềm Các hệ thống CASE thường được sử dụng phân thành 2 loại Upper-CASE Các công cụ hỗ trợ những hoạt động trong giai đoạn đầu của tiến trình phần mềm, chẳng hạn như đặc tả hoặc thiết kế Lower-CASE Các công cụ hỗ trợ cho các hoạt động ở giai đoạn cuối của tiến trình phần mềm, chẳng hạn như lập trình, gỡ lỗi và kiểm thử 05/10/2018 16
- Những thuộc tính tốt của phần mềm Phần mềm được bàn giao đáp ứng được những yêu cầu chức năng và hiệu năng, dễ bảo trì, độ tin cậy và được chấp nhận Maintainability – tính bảo trì Phần mềm có thể được cải tiến để đáp ứng những yêu cầu thay đổi của khách hàng Dependability – Độ tin cậy Phần mềm phải đáng tin cậy; Efficiency - tính hiệu quả Phần mềm phải tính tới việc sr dụng hiệu quả các nguồn tài nguyên hệ thống Acceptability – Tính chấp nhận Phần mềm phải được người sử dụng chấp nhận, điều này có nghĩa là nó cần phải hiểu được, sử dụng được và tương thích với các hệ thống khác. 05/10/2018 17
- Những thách thức mà ngành CNPM phải đối mặt Tính đồng nhất, việc bản giao và độ tin cậy Heterogeneity – tính không đồng nhất Các kỹ thuật sử dụng để phát triển phần mềm phải tính tới tính không đồng nhất của các môi trường thực thi Delivery – bàn giao sản phẩm Phát triển các kỹ thuật giúp bàn giao sản phẩm trong thời gian ngắn nhất Độ tin cậy Phát triển các kỹ thuật để chứng minh rằng phần mềm đáng tin cậy đối với người sử dụng. 05/10/2018 18
- 3. Các chuyên gia và đạo đức nghề nghiệp Những mối quan hệ cần phải quản lý của các chuyên gia công nghệ thông tin: Chuyên gia công nghệ thông tin và người sử dụng lao động Mối quan hệ giữa các chuyên gia CNTT và khách hàng Mối quan hệ giữa các chuyên gia CNTT và nhà cung cấp Mối quan hệ giữa chuyên gia CNTT và các chuyên gia khác Mối quan hệ giữa chuyên gia CNTT và người sử dụng Mối quan hệ giữa các chuyên gia CNTT và cộng đồng 05/10/2018 19
- Các chuyên gia và đạo đức nghề nghiệp Những quy tắc đạo đức của các chuyên gia CNTT Phác thảo về những nguyện vọng cơ bản mà một chuyên gia mong muốn. Danh sách những quy tắc cơ bản mà các thành viên trong tổ chức cần tuân thủ. Cải thiện việc ra quyết định mang tính đạo đức Khuyến khích việc nâng cao ý thức đạo đức trong quá trình thực hiện nhiệm vụ Các quy tắc đạo đức cũng xác định các hành vi có thể chấp nhận và không thể chấp nhận Tăng cường sự tin tưởng và tôn trọng của cộng đồng 05/10/2018 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Công nghệ phần mềm: Chương 1 - ThS. Nguyễn Khắc Quốc
61 p | 143 | 18
-
Bài giảng Công nghệ phần mềm: Bài 1 - TS. Lê Nguyễn Tuấn Thành
142 p | 233 | 17
-
Bài giảng Công nghệ phần mềm nâng cao: Giới thiệu môn học - Phạm Ngọc Hùng
14 p | 167 | 14
-
Tập bài giảng Công nghệ phần mềm - Phạm Hùng Phú, Nguyễn Văn Thẩm (Biên soạn)
291 p | 60 | 13
-
Bài giảng Công nghệ phần mềm: Chương 1 - ĐH Công nghệ TP.HCM
77 p | 37 | 13
-
Bài giảng Công nghệ phần mềm: Bài 1 - Học viện Kỹ thuật Quân sự
45 p | 20 | 11
-
Bài giảng Công nghệ phần mềm: Chương 0 - ThS. Trần Sơn Hải
5 p | 122 | 10
-
Bài giảng Công nghệ phần mềm: Yêu cầu phần mềm
66 p | 107 | 10
-
Bài giảng Công nghệ phần mềm: Chương 1 - ThS. Dương Thành Phết
19 p | 138 | 9
-
Bài giảng Công nghệ phần mềm: Chương 1 - Trường ĐH Công nghiệp TP. HCM
48 p | 42 | 9
-
Bài giảng Công nghệ phần mềm - Phần 1: Giới thiệu chung về công nghệ phần mềm
52 p | 88 | 8
-
Bài giảng Công nghệ phần mềm: Các quy trình phần mềm
31 p | 125 | 8
-
Bài giảng Công nghệ phần mềm: Chương 1 - ThS. Đinh Thị Lương
40 p | 14 | 6
-
Bài giảng Công nghệ phần mềm ứng dụng: Bài 1 - ThS. Thạc Bình Cường
58 p | 60 | 6
-
Bài giảng Công nghệ phần mềm - Chương 1: Tổng quan về CNPM
13 p | 112 | 5
-
Bài giảng Công nghệ phần mềm - Phần 1: Giới thiệu công nghệ phần mềm
52 p | 79 | 5
-
Bài giảng Công nghệ phần mềm: Phần 1 - Vũ Thị Hương Giang
52 p | 49 | 3
-
Bài giảng Công nghệ phần mềm: Chương 1 - ThS. Trần Sơn Hải
52 p | 73 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn