1. Trang chủ
  2. » Giáo án - Bài giảng

Slide-CNPM-Ch1

66 25 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • CÔNG NGHỆ PHẦN MỀM

  • Tài liệu tham khảo

  • Yêu cầu môn học

  • Chương trình

  • Tổng quan

  • Các khái niệm cơ bản

  • Các khái niệm liên quan

  • Tiến hóa của phần mềm

  • Slide 9

  • Khủng hoảng phần mềm và sự ra đời của CNPM

  • Thách thức đối với PT PM Máy tính hiện nay

  • Phần mềm

  • Đặc trưng của phần mềm

  • Đặc trưng của phần mềm (tiếp)

  • Phân loại phần mềm

  • Phân loại phần mềm (tiếp)

  • Tiêu chuẩn phần mềm tốt

  • Tiêu chuẩn phần mềm tốt (tiếp)

  • Kiến trúc phần mềm (Software Architecture)

  • Công nghệ phần mềm - SE

  • Các vấn đề liên quan đến CNPM

  • Slide 22

  • Các yếu tố chủ chốt của CNPM

  • Quy trình phần mềm

  • Mô hình quy trình phần mềm

  • I.Mô hình thác nước

  • Mô hình thác nước (Tiếp)

  • Slide 28

  • II.Mô hình tiến hóa

  • Mô hình tiến hóa (Tiếp)

  • II.1.Mô hình làm bản mẫu

  • II.1.Mô hình làm bản mẫu (tiếp)

  • II.2.Mô hình xoắn ốc

  • II.2.Mô hình xoắn ốc (tiếp)

  • II.3.Mô hình RUP(Rational Unified Process)

  • II.4.Mô hình phát triển tăng dần

  • II.5.Mô hình phát triển ƯD nhanh RAD

  • III.Phát triển HT hình thức hóa

  • III.Phát triển HT hình thức hóa (tiếp)

  • IV.Mô hình hướng thành phần

  • IV.Mô hình hướng thành phần (tiếp)

  • V.Mô hình p/triển lặp lại, tăng lên

  • Phương pháp phát triển p/mềm

  • Slide 44

  • Phương pháp hướng chức năng

  • Phương pháp hướng chức năng (tiếp)

  • Slide 47

  • Phương pháp hướng dữ liệu

  • Phương pháp hướng dữ liệu (tiếp)

  • Slide 50

  • Phương pháp hướng đối tượng

  • Slide 52

  • Phương pháp định hướng tiến trình

  • Slide 54

  • Công cụ, môi trường phát triển phần mềm

  • CASE (Computer-Aided Software Engineering)

  • Slide 57

  • Slide 58

  • Slide 59

  • Môi trường phát triển

  • Môi trường phát triển (tiếp)

  • Slide 62

  • Một số vấn đề lý thuyết – BT lớn

  • Slide 64

  • Slide 65

  • Slide 66

Nội dung

Nhập môn công nghệ phần mềm

CƠNG NGHỆ PHẦN MỀM Số tiết: 45 Trong đó: Lên lớp: 20 tiết Thảo luận: 25 tiết Tài liệu tham khảo  Nguyễn Văn Vỵ, Nguyễn Việt Hà, Giáo trình Kỹ nghệ phần mềm, Khoa CNTT, ĐH Công nghệ  R Pressman, Software Engineering: A Practioner’s Approach 6th Ed., McGraw-Hill, 2004  R Pressman, Kỹ nghệ phần mềm Tập 1, 2, NXB Giáo dục, HàNội, 1997 (Người dịch: Ngô Trung Việt)  I Sommerville, Software Engineering 7th Ed., Addison-Wesley, 2004  Lê Văn Phùng: Giáo trình Kỹ nghệ phần mềm Hà Nội 2010 Yêu cầu môn học  Nắm nguyên lý/khái niệm kỹ nghệ phần mềm  Vận dụng kiến thức vào tập nhóm  Hiểu trình làm phần mềm  Minh họa nguyên lý/kỹ thuật  Chủ động tìm hiểu kiến thức  Tìm hiểu số chủ đề mở rộng Chương trình  Tổng quan phần mềm CNPM  Đặc tả phần mềm  Thiết kế phần mềm  Sơ lược kiểm chứng phần mềm  Bài tập lớn (SV tự chọn đề tài -> thảo luận bảo vệ trước lớp – theo nhóm) Tổng quan Cung cấp khái niệm có liên quan đến CNPM Các khái niệm  Phần mềm (software) – Theo nghĩa hẹp tập hợp câu lệnh viết ngôn ngữ lập trình -> Giải tốn  Cơng nghệ (Engineering) cách sử dụng công cụ, kỹ thuật để giải vấn đề  Công nghệ phần mềm (SE – Software Emgineering): Áp dụng công cụ, KT cách có hệ thống để P/triển ƯD dựa máy tính Các khái niệm liên quan  Kỹ sư phần mềm (Software Engineer)  Phát triển phần mềm (SW Developtment) – trình từ định SX PM đến chuyển giao cho KH  Sử dụng (Operations) – Sử lý, vận hành PM  Bảo trì (Maintenance) – Quá trình khắc phục lỗi, thay đổi logic -> Phần mềm tốt  Loại bỏ (Retirement) – Thay ứng dụng ứng dụng Tiến hóa phần mềm  Những năm đầu (từ 1950 đến 1960):    Mỗi máy sử dụng cho ứng dụng riêng Phương thức xử lý theo lô (batch) Việc phát triển phần mềm chưa quản lý, Mơi trường lập trình có tính chất cá nhân Thời kỳ năm 1960 đến năm 1970:    Các hệ thống đa nhiệm, đa người dùng xuất -> tương tác người máy Tiến lưu trữ trực tuyến làm xuất hệ hệ quản trị CSDL Yêu cầu lớn cơng việc bảo trì phần mềm Tiến hóa phần mềm  Thời kỳ năm 1970 đến đầu năm 1990:     Hệ thống phân tán xuất làm tăng quy mô độ phức tạp phần mềm ứng dụng Mạng máy tính triển mạnh -> nhu cầu truy cập liệu trực tuyến C/nghệ chế tạo máy tính phát triển -> chi phí cho phần mềm tăng Thời kỳ sau 1990:    Kỹ nghệ hướng đối tượng nhanh chóng thay cách tiếp cận phát triển phần mềm truyền thống Sự phát triển Internet -> phát triển nhanh phần cứng phần mềm Phần mềm trí tuệ nhân tạo ứng dụng thuật toán phi số hệ chuyên gia, mạng nơ ron nhân tạo ứng dụng Khủng hoảng phần mềm đời CNPM  Từ tiến hóa phần mềm => thách thức:        Sự tăng quy mơ PM Sự tăng chi phí làm PM Sự kéo dài thời gian PT PM Sự phụ thuộc nhiều vào kinh nghiệm người làm PM Chất lượng PM không ổn đinh Sự thiếu KS làm PM Gánh nặng bảo trì hệ thống cũ để tiếp tục HĐ 10 Phương pháp hướng đối tượng    Ý tưởng khác kế thừa bao gói thơng tin Các đối tượng tổ chức thành lớp Kế thừa cho phép tạo lớp có chung với lớp cũ đặc trưng có đặc trung riêng Đối tượng A Dữ liệu message Đối tượng C Dữ liệu 52 Đối tượng B Dữ liệu Phương pháp định hướng tiến trình   Ra đời thời gian đầu, đặc đặc điểm máy tính cịn chậm -> Chỉ tập trung vào tiến trình Việc xử lý tập trung vào hiệu -> u cầu tự động hóa tiếnHệtrình thống Hệ thống trả lương Dữ liệu dự án quản lý dự án Dữ liệu nhân Dữ liệu nhân 53 Dữ liệu dự án Phương pháp định hướng tiến trình      Các liệu đặc tả dự án xem xét cách tách biệt Các kỹ thuật theo phương pháp không ý đến định thời gian hay kích hoạt bước xử lý Chú ý đến trình tự thực Nhược điểm dư thừa liệu, hao phí cơng sức cho việc thu thập tổ chức liệu Phải tổ chức xây dựng lại CT liệu có thay đổi tiến trình 54 Cơng cụ, mơi trường phát triển phần mềm    Là phần mềm khác xây dựng sở mơ hình phương pháp cụ thể Cung cấp trợ giúp cho việc tự động hay bán tự động hóa hoạt động phát triển Thường tích hợp đến mức: bàn thợ môi trường phát triển, tất gọi kỹ nghệ phần mềm có trợ giúp máy tính (CASE)   Bàn thợ (workbenches): Thơng tin chúng tạo dùng cho công cụ khác hay g/đoạn phát triển tiếp Môi trường (Environment): H/thống trợ giúp p/triển phần mềm 55 CASE (Computer-Aided Software Engineering)  Các hệ thống CASE thường sử dụng để hỗ trợ hoạt động quy trình xây dựng phần mềm Có hai loại CASE:  Upper-CASE: công cụ để hỗ trợ hoạt động đặc tả yêu cầu thiết kế  Lower-CASE: công cụ để hỗ trợ hoạt động sau lập trình, gỡ lỗi kiểm thử 56 CASE (Computer-Aided Software Engineering)  Có nhiều phương pháp sử dụng chúng thiếu quán đồng  Ngơn ngữ mơ hình hóa thống (UML – Unified Modeling Language) cung cấp cho ngôn ngữ chung cho tất giai đoạn phát triển phần mềm hướng đối tượng  Một số công cụ dựa ngôn ngữ ngày Rational Rose, PowerDesigner 57 CASE (Computer-Aided Software Engineering)  Môi trường CASE chuẩn bao gồm:  Một kho chứa (repository)  Công cụ đồ họa (Graphic drawing tools)  Phần mềm soạn thảo văn (Text Definition software)  Phần mềm giao diện kho chứa (Repository interface software)  Phần mềm đánh giá (Evaluative software)  Giao diện người sử dụng (Human Interface) 58 CASE (Computer-Aided Software Engineering) Phân loại công cụ phát triển phần mềm Công nghệ CASE Công cụ đơn Bộ soạn thảo Chương trình dịch Bàn thợ Bộ so sánh tệp Phân tích thiết kế Bàn thợ đa phương pháp Bàn thợ đơn phương pháp Môi trường PT Mơi trường tích hợp Mơi trường theo tiến trình Lập trình Kiểm thử Bàn thợ cho mục đích chung Bàn thợ cho ngôn ngữ cụ thể 59 Môi trường phát triển  Môi trường Microsoft (Visual Studio phiên 6.0 NET)    Mơi trường tích hợp – tập cơng cụ hồn chỉnh xây dựng ứng dụng chạy windows NET Framework – Các chương trình phát triển sử dụng NET khơng biên dịch sang mã máy -> Biên dịch sang mã trung gian MSIL (MS Intermediate Language) CIL(Common Languge Infrastructure) -> Nó chạy Linux MAC OS X Giao diện thân thiện – Kết dính tốt, giao diện kéo thả, tích hợp điều khiển… 60 Mơi trường phát triển (tiếp)  Mơi trường Microsoft (Tiếp)  Tích hợp cơng cụ hỗ trợ phân tích/thiết kế - cung cấp mơ hình lập trình phong phú Sử dụng Visual Paradigm Smart Developtment Environment, chuyển thiết kế hệ thống(Sơ đồ UML) sang mã nguồn  Khả mở rộng – Cho phép viết add-in để mở rộng khả 61 Môi trường phát triển (tiếp)  Môi trường JAVA  Là môi trường sử dụng phổ biến  Khả chạy độc lập hướng đối tượng hoàn toàn  Độ an toàn tái sử dụng mã cao  Sử lý, hoạt động theo cấu trúc dòng lệnh – nhanh đơn giản  Có số tools như: JDK, J2SE, J2EE… 62 Một số vấn đề lý thuyết – BT lớn             CMM and CMMI (www.sei.cmu.edu) ISO 9001,… for SE UML and RUP CBSE Java and JSP ASP and NET PHP and MySQL RAISE Z-Method 10 B-Method 11 rCOS method 12 RTPA 63 Một số vấn đề lý thuyết – BT lớn           13 14 15 16 17 18 19 20 21 22 COCOMO I, II Oracle PM Postgre-SQL FreeBSD Turbo Linux GCC CMS.NET and Related Issues Design Patterns Software Metrics XP (Extreme Progr.) 64 Một số vấn đề lý thuyết – BT lớn         Các mơ hình quy trình phần mềm (2) Các loại phần mềm: thời gian thực, nhúng, trí tuệ nhân tạo, tin sinh học, hệ thống thông minh khác (5) Các phương pháp phát triển phần mềm: Hướng đối tượng, hướng thành phần … (3) Yêu cầu phần mềm, phương pháp đặc tả, thu thập yêu cầu (2) Các công cụ trợ giúp thiết kế tự động (3) Kiểm thử phần mềm: Phương pháp, công cụ - cc (4) Phần mềm nguồn mở (4) Nghề nghiệp lĩnh vực phần mềm (1) 65  Các toán quản lý      Quản lý nhân Quản lý vật tư hàng hóa Bài tốn tối ưu Quản lý bán hàng Vv…… 66

Ngày đăng: 14/10/2020, 20:54