Công nghệ Engineering là cách sử dụng các công cụ, kỹ thuật để giải quyết vấn đề... Kỹ sư phần mềm Software Engineer Phát triển phần mềm SW Developtment – quá trình t
Trang 1DANH SÁCH THÀNH VIÊN NHÓM
1 NGUYỄN KHÁNH HIỆP
2 NGUYỄN VĂN THOẢN
3 HOÀNG THỊ DUNG
4 LƯƠNG HỮU ĐỨC
5 NGUYỄN THỊ NỤ
6 BÙI VĂN ĐÔ
7 TRẦN HOÀN
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP
HÀ NỘI LỚP TIN 1 – K13 BÀI TẬP THẢO LUẬN
NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
NỘI DUNG : NỬA ĐẦU CHƯƠNG I
VỊ TRÍ : TỪ SLIDE 5 ĐẾN SLIDE 24
Trang 3TỔNG QUAN VỀ CNPM
Các khái niệm cơ bản về phần mềm
Quá trình tiến hóa của phần mềm
Khủng hoảng và thách thức
Phần mềm
Công nghệ phần mềm và các vấn đề liên quanQuy trình phần mềm
Trang 4Các khái niệm cơ bản về phần mềm
Phần mềm (software) – Theo nghĩa hẹp là 1 tập hợp
các câu lệnh được viết bằng ngôn ngữ lập trình -> Giải quyết bài toán
Công nghệ (Engineering) là cách sử dụng các công cụ,
kỹ thuật để giải quyết vấn đề
Công nghệ phần mềm (SE – Software Emgineering): Áp dụng các công cụ, các KT một cách có hệ thống để P/triển các ƯD dựa trên máy tính
Trang 5 Kỹ sư phần mềm (Software Engineer)
Phát triển phần mềm (SW Developtment) – quá trình từ khi quyết định SX PM đến khi chuyển giao cho KH
Trang 6Quá trình tiến hóa của phần mềm
Những năm đầu (từ 1950 – 1960)
Mỗi máy sử dụng cho từng ứng dụng riêng
Xử lý theo lô
LT mang tính cá nhân
Thời kỳ năm 1960 đến giữa những năm 1970
Các hệ thống đa nhiệm, đa người dùng
Thế hệ đầu tiên của hệ quản trị CSDL
Yêu cầu lớn về công việc bảo trì phần mềm
Trang 7Quá trình tiến hóa của phần mềm
Thời kỳ giữa những năm 1970 đến đầu năm 1990
Xuất hiện HT phân tán
Mạng MT ptriển
Công nghệ chế tại vi xử lý phát triển
Thời kỳ sau năm 1990
Kỹ nghệ HĐT phát triển
Sự phát triển của internet
Hệ chuyên gia, mạng nơron nhân tạo được ứng dụng vào thực tế
Trang 8Phần mềm ( Software )
Được thể hiện với 3 bộ phận cấu thành
Tập các lệnh – Chương trình máy tính
Cấu trúc dữ liệu - Được lưu trữ trên bộ nhớ, gồm việc lưu trữ thông tin được mã hóa
Các tài liệu kỹ thuật liên quan – mô tả quá trình và hướng dẫn sử dụng hiệu quả
Trang 9Phần mềm ( Software )
Đặc trưng của phần mềm
Không mòn cũ, nhưng thoái hóa theo thời gian
Do môi trường sử dụng dẫn đến cần thay đổi phần mềm khác
Trang 10Phần mềm ( Software )
Phần mềm là hệ thống logic, không phải là hệ thống vật lý
Được phát triển mà không biết trước được hiệu quả và giá thành cụ thể
Thường được xây dựng theo đơn đặt hàng của khách
Bản chất là có sự phức tạp và tính thay đổi
Hiện nay chủ yếu được phát triển theo nhóm
Trang 11Phần mềm ( Software )
Các thành phần của phần mềm
Thành phần máy thực hiện được:
Các câu lệnh
Các loại ngôn ngữ lập trình
Thành phần máy không thực hiện được:
Các tài liệu phân tích, thiết kế
Các hướng dẫn sử dụng và khai thác nó
Các thành phần giải thích trong PM
Trang 12Phần mềm ( Software )
Phân loại phần mềm
Theo mức độ hoàn thiện:
Sản phẩm:
Có tính phức tạp cao
Nhiều người sử dụng
Đồng bộ, an toàn, có nâng cấp và bảo trì
Có thể nâng cấp từ chương trình thành sản phẩm
Trang 13Phần mềm ( Software )
Theo lĩnh vực ứng dụng:
Phần mềm hệ thống
Phần mềm thời gian thực
Phần mềm nghiệp vụ
Phần mềm khoa học kỹ thuật
Phần mềm nhúng
Phần mềm máy tính cá nhân
Phần mềm trí tuệ nhân tạo
Phần mềm dựa trên nền web
Trang 14Phần mềm ( Software )
Theo vai trò và chức năng:
Phần mềm hệ thống (system software)
Phần mềm công cụ (Tools)
Phần mềm ứng dụng (Application software)
Ngoài ra còn có phần mềm phục vụ kỹ nghệ phần mềm:
Chương trình dịch, phần mềm gỡ rối, các công cụ hỗ trợ phân tích thiết kế (CASE)
Các phần mềm này có thể xuất hiện dưới dạng phần mềm máy tính cá nhân, phần mềm hệ thống hoặc là phần mềm nghiệp vụ
Trang 15Phần mềm ( Software )
GĐ 1:
Tiêu chí đánh giá
Tiêu chí đánh giá
Trang 16Khủng hoảng và thách thức
Từ sự tiến hóa của phần mềm => thách thức:
Sự tăng quy mô của PM
Sự tăng chi phí làm PM
Sự kéo dài thời gian PT 1 PM
Sự phụ thuộc nhiều vào kinh nghiệm của người làm PM
Chất lượng của 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Đ
Khủng hoảng phần mềm và sự ra đời của KNPM
Trang 17Khủng hoảng và thách thức
Thách thức đối với PT PM máy tính hiện nay
Thách thức PTPM gia tăng, nguyên nhân:
Khả năng PM không thể SD hết được tiềm năng của
phần cứng
Khả năng XD phần mềm không bắt nhịp được với nhu cầu SD PM tăng lên, đặc biệt là khi Internet phát triển
Quy mô và độ phức tạp của PM ngày càng tăng
Khả năng bảo trì hệ thống PM cũ tồn tại khó khăn và chi phí lớn
Trang 18Công nghệ phần mềm và các vấn đề liên
quan
Công nghệ phần mềm theo Fritz Bauer:
Kỹ nghệ phần mềm là quá trình sử dụng các nguyên tắc kỹ thuật có cơ sở để xây dựng các phần mềm một cách kinh tế để hoạt động tin cậy và chạy hiệu quả trên hệ thống máy thật
Công nghệ phần mềm theo IEEE:
Việc áp dụng cách nghiên cứu và tiếp cận có hệ thống, quy tắc, có thể xác định số lượng để phát triển, vận hành và bảo trì phần mềm; nghĩa là áp dụng kỹ thuật vào phần mềm
Công nghệ phần mềm - SE
Trang 19Công nghệ phần mềm và các vấn đề liên
quan
Các vấn đề liên quan đến CNPM
Kỹ nghệ phần mềm đề cập đến việc xây dựng các
chương trình lớn
Trung tâm của vấn đề là kiểm soát sự phức tạp
Tiến hóa phần mềm
Quan tâm nhất đến hiệu quả của phát triển phần mềm
Trang 20Công nghệ phần mềm và các vấn đề liên
quan
Sự phối hợp thường xuyên giữa các cá nhân trong là cần
thiết trong các dự án phần mềm lớn
Bản thân phần mềm phải hỗ trợ người dùng hiệu quả
Kỹ nghệ phần mềm là lĩnh vực mà ở đó các thành viên
tạo ra sản phẩm vì lợi ích của lĩnh vực khác
Trang 21Công nghệ phần mềm và các vấn đề liên
quan
Các yếu tố chủ chốt của CNPM
CNPM là công nghệ có phân lớp
Là một quá trình gồm một loạt các bước chứa
đựng 3 yếu tố chủ chốt:
Phương pháp (Method)
Công cụ (Tools)
Thủ tục (Procedure)
Trang 22Quy trình phần mềm
Là một tập hợp các hành động nhằm xây dựng và phát triển phần mềm, thường gồm:
Đặc tả: đặc tả những gì hệ thống phải làm và các ràng buộc trong quá trình xây dựng hệ thống
Phát triển: xây dựng hệ thống phần mềm
Kiểm thử: kiểm tra xem phần mềm có thỏa mãn yêu cầu của khác hàng
Mở rộng: điểu chỉnh và thay đổi phần mềm tương ứng với sự thay đổi yêu cầu
Trang 23NHÓM 1
Thank
You
!!!!!!!!!!!!