Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 42 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
42
Dung lượng
569 KB
Nội dung
12/13/13 Bàigiảngmôn CNPM 1 12/13/13 Bàigiảngmôn CNPM 4 1.1. Kỹ thuật lập trình giai đoạn thế hệ thứ nhất của máy tính điện tử. 1.2. Cuộc khủng hoảng lập trình những năm 60. 1.3. Côngnghệphầnmềm là gì? 1.4. Những nội dung cơ bản của Côngnghệphần mềm. !" 12/13/13 Bàigiảngmôn CNPM 5 ""#$%&'%(')%*+ !,-,./0 %12%3 4%56-789 %: .,2 %; Năng suất làm các sản phẩm phầnmềm là thấp nhất so với các hoạt động trí tuệ khác. Việc kiểm tra, tìm lỗi và hoàn thiện sản phẩm mất rất nhiều thời gian. Trước những năm 60 người ta coi lập trình như là hoạt động nghệ thuật nhuốm màu sắc tàinghệ cá nhân hơn là khoa học. 12/13/13 Bàigiảngmôn CNPM 6 "<"&=5>6 !/? !(')%*+ @ ! A7BC Chi phí cho tin học quá lớn, trong đó chi phí cho phầnmềm chiếm tỷ lệ cao và ngày càng tăng so với chi phí kỹ thuật tin học (phần cứng). Rất nhiều đề án lớn nhằm ứng dụng tin học bị thất bại liên tiếp. Nguyên nhân thất bại chủ yếu là do phần đảm bảo chương trình. 12/13/13 Bàigiảngmôn CNPM 7 "D"E ! !2)F 7G7(H!+I Khi tìm hiểu về côngnghệphần mềm, chúng ta thường đặt ra một số câu hỏi sau: – Phầnmềm là gì? – Côngnghệphầnmềm là gì? – Sự khác biệt giữa côngnghệphầnmềm và khoa học máy tính? – Sự khác biệt giữa côngnghệphầnmềm và côngnghệ hệ thống? – Quy trình phầnmềm là gì? – Mô hình quy trình phát triển phầnmềm là gì? – Chi phí của côngnghệphầnmềm bao gồm những gì? – Các phương pháp côngnghệphầnmềm là gì? – CASE (Computer-Aided Software Engineering) là gì? – Thế nào là một phầnmềm tốt? 12/13/13 Bàigiảngmôn CNPM 8 "D"E ! !2)F 7G7(H!+IJ<K 1.3.1. Định nghĩa 1.3.2. Triển khai phầnmềm theo sắc thái công nghệ. 1.3.3. Đảm bảo sự thông hiểu lẫn nhau. 1.3.4. Tận dụng quỹ thuật toán và chương trình. 1.3.5. Phầnmềm cho côngnghệphần mềm. 12/13/13 Bàigiảngmôn CNPM 9 "D""LM !N- Khái niệm về côngnghệphầnmềm được đưa ra lần đầu tiên vào năm 1968 tại hội nghị thảo luận về khủng hoảng phần mềm. Côngnghệphầnmềm đề cập tới các lý thuyết, phương thức và công cụ để xây dựng phầnmềm chuyên nghiệp, mang lại lợi nhuận cao. 12/13/13 Bàigiảngmôn CNPM 10 "D""LM !N-J<K Côngnghệphầnmềm (Software Engineering) là lĩnh vực nghiên cứu của Tin học nhằm đề xuất các nguyên lý, phương pháp, công cụ, cách tiếp cận và phương tiện phục vụ cho việc thiết kế và cài đặt các sản phẩm phầnmềm nhằm đạt được các chỉ tiêu cơ bản sau đây một cách tốt nhất: – Tính đúng đắn, – Tính khoa học, – Tính dễ học và dễ sửa đổi, cải tiến, – Tính dễ sử dụng, – Tính phổ dụng, – Tính độc lập với thiết bị. 12/13/13 Bàigiảngmôn CNPM 11 "D"<"*,O >-,%P/QR5%8,5E ! !2 Côngnghệ sản xuất một mặt hàng nào đó thường gồm các giai đoạn sau: 1. Tìm hiểu nhu cầu của khách hàng. 2. Xác định các chức năng cần có của sản phẩm. 3. Chia các chức năng thành những nhóm độc lập tương đối với nhau. Mỗi nhóm ứng với một bộ phận hợp thành sản phẩm. 4. Giao việc thiết kế và sản xuất từng bộ phận cho từng người hoặc nhóm người. 5. Các nhóm triển khai công việc: Thực hiện các bước thiết kế, sản xuất, thử nghiệm. 12/13/13 Bàigiảngmôn CNPM 12 "D"<"*,O >-,%P/QR5%8,5E ! !2J<K Côngnghệ sản xuất một mặt hàng nào đó thường gồm các giai đoạn sau: 6. Ghép nối các bộ phận, chi tiết thành sản phẩm. 7. Thử nghiệm sản phẩm, sửa nếu cần. 8. Bán hoặc giao lô sản phẩm đầu tiên cho khách hàng. 9. Thu thập thông tin phản hồi từ phía người sử dụng. Quyết định sửa lại sản phẩm, cải tiến hoặc hủy bỏ việc sản xuất sản phẩm này. [...]... 12/13/13 Bàigiảngmôn CNPM BÀI TẬP CHƯƠNG 1 1 Sự khác biệt giữa công nghệphầnmềm và khoa học máy tính? Khoa học máy tính đề cập tới lý thuyết và những vấn đề cơ bản; Còn công nghệphầnmềm đề cập tới các nguyên lý, phương thức và công cụ để xây dựng phầnmềm chuyên nghiệp, hữu ích 23 12/13/13 Bàigiảngmôn CNPM BÀI TẬP CHƯƠNG 1 2 Sự khác biệt giữa côngnghệphầnmềm và côngnghệ hệ thống? Công nghệ. .. gọi là kỹ nghệ hệ thống) liên quan tới tất cả các khía cạnh của quá trình phát triển hệ thống dựa máy tính bao gồm: phần cứng, phần mềm, và côngnghệ xử lý; Còn Công nghệphầnmềm chỉ là một phần của quy trình này, nó có liên quan tới việc phát triển hạ tầng phần mềm, điều khiển, các ứng dụng và cơ sở dữ liệu trong hệ thống 24 12/13/13 Bàigiảngmôn CNPM BÀI TẬP CHƯƠNG 1 3 Quy trình phầnmềm là gì... những chi phí nào ? 27 12/13/13 Bàigiảngmôn CNPM BÀI TẬP CHƯƠNG 1 5 Xây dựng một sản phẩm phầnmềm phải đầu tư những chi phí nào ? 28 12/13/13 Bàigiảngmôn CNPM BÀI TẬP CHƯƠNG 1 6 Các mô hình phát triển phần mềm: Năm mô hình phát triển phầnmềm phổ biến thường được sử dụng: – Mô hình thác nước – Mô hình xoắn ốc – Mô hình xây dựng tiến triển – Công nghệphầnmềm dựa thành phần – Mô hình phát triển lặp... Đảm bảo việc cung cấp các phầnmềm trợ giúp cho hoạt động của nhóm thiết kế 17 12/13/13 Bàigiảngmôn CNPM MỘT CÁCH NHÌN TỔNG QUAN VỀ QUY TRÌNH PHÁT TRIỂN PHẦNMỀM Gồm 3 giai đoạn lớn: – – – 18 Giai đoạn định nghĩa: Phân tích hệ thống, Hoạch định đề tài, Phân tích yêu cầu Giai đoạn phát triển: Thiết kế phần mềm, Sinh mã, Kiểm tra phầnmềm Giai đoạn bảo trì 12/13/13 Bàigiảngmôn CNPM Ví dụ: Trình tự... một quy trình phần mềm, nó được biểu diễn từ một góc độ cụ thể Ví dụ: – – – – – 26 Mô hình luồng dữ liệu (data-flow) Mô hình Vai trò/Hành động (Role/action) Mô hình thác nước (waterfall) Mô hình phát triển lặp lại (Iterative development) Mô hình công nghệphầnmềm dựa thành phần (Component-based software engineering) 12/13/13 Bàigiảngmôn CNPM BÀI TẬP CHƯƠNG 1 5 Xây dựng một sản phẩm phầnmềm phải đầu... gì ? Quy trình phầnmềm là một tập hợp các hành động mà mục đích của nó là xây dựng và phát triển phầnmềm Những hành động thường được thực hiện trong các quy trình phầnmềm bao gồm: – – – – 25 Đặc tả Phát triển Kiểm thử Mở rộng Những loại hệ thống khác nhau sẽ cần những quy trình phát triển khác nhau 12/13/13 Bàigiảngmôn CNPM BÀI TẬP CHƯƠNG 1 4 Mô hình quy trình phát triển phầnmềm là gì? Là một... hình phát triển lặp lại, tăng thêm 29 12/13/13 Bàigiảngmôn CNPM MÔ HÌNH THÁC NƯỚC 30 12/13/13 Bàigiảngmôn CNPM Ưu điểm: – Kỷ luật cao, quy định tốt về tàiliệu cho mỗi giai đoạn, được kiểm chứng cẩn thận Nhược điểm: – – – – 32 MÔ HÌNH THÁC NƯỚC (2) Rất khó khăn trong việc thay đổi các pha đã được thực hiện Quá nhiều kiểm thử, thẩm tra và tàiliệuTàiliệu khó hình dung và khó hiểu với khách hàng... Từng lệnh của chương trình được viết bởi ngôn ngữ thủ tục nào đó Bàigiảngmôn CNPM 1.3.4 Tận dụng quỹ thuật toán và chương trình 15 Tìm và sử dụng lại những module, thủ tục hoặc thuật toán đã có sẵn Hãy làm việc theo nguyên tắc “mình vì mọi người, mọi người vì mình” 12/13/13 Bàigiảngmôn CNPM 1.3.5 Phầnmềm cho côngnghệphầnmềm CASE (Computer-Aided Software Engineering) là những hệ chương... được sử dụng để hỗ trợ các hoạt động trong quy trình xây dựng phầnmềm CASE trợ giúp các nhóm làm phầnmềm trong tất cả các giai đoạn Có 2 loại CASE: – – 16 Upper-CASE: công cụ để hỗ trợ các hoạt động đầu tiên như đặc tả yêu cầu và thiết kế Lower-CASE: công cụ để hỗ trợ các hoạt động sau như lập trình, gỡ lỗi và kiểm thử 12/13/13 Bàigiảngmôn CNPM 1.4 Những nội dung cơ bản của CNPM 1.4.1 Tìm hiểu và... ro Kỹ nghệ: Xây dựng một hay một số biểu diễn của ứng dụng Xây dựng và xuất xưởng: xây dựng, kiểm thử, cài đặt và cung cấp hỗ trợ người dùng (tư liệu, huấn luyện, ) Đánh giá của khách hàng: Nhận các phản hồi của người sử dụng về biểu diễn phầnmềm trong giai đoạn kỹ nghệ và cài đặt 12/13/13 Bàigiảngmôn CNPM MÔ HÌNH XOẮN ỐC (2) Lập kế hoạch Phân tích rủi ro Giao tiếp khách hàng Khái niệm Kỹ nghệ . – Phần mềm là gì? – Công nghệ phần mềm là gì? – Sự khác biệt giữa công nghệ phần mềm và khoa học máy tính? – Sự khác biệt giữa công nghệ phần mềm và công. Công nghệ phần mềm là gì? 1.4. Những nội dung cơ bản của Công nghệ phần mềm. !" 12/13/13 Bài giảng