Công nghệ phần mềm - Chương 1: Giới thiệu công nghệ phần mềm
Phần mềm (Software)
Phần mềm: là một tập hợp những câu
lệnh được viết bằng một hoặc nhiều
ngôn ngữ lập trình theo một trật tự xác
định nhằm tự động thực hiện một số
chức năng hoặc giải quyết một bài
toán nào đó.
Người sử dụng (User)
Phần mềm: là công cụ hỗ trợ nhà
chuyên môn thực hiện tốt công việc
trên máy tính.
Người phát triển (Developer)
Phần mềm: là một hệ thống các đơn
thể. Trong đó mỗi một đơn thể là một
hệ thống các thủ tục và hàm.
M - SOFTWARE Phần mềm (Software) Phần mềm: là một tập hợp những câu lệnh được viết bằng một hoặc nhiều ngôn ngữ lập trình theo một trật tự xác định nhằm tự động thực hiện một số chức năng hoặc giải quyết một bài toán nào đó. Người sử dụng (User) Phần mềm: là công cụ hỗ trợ nhà chuyên môn thực hiện tốt công việc trên máy tính. Người phát triển (Developer) Phần mềm: là một hệ thống các đơn thể. Trong đó mỗi một đơn thể là một hệ thống các thủ tục và hàm. Chương 01 - 4 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 2. SỬ DỤNG PHẦN MỀM Sử dụng phần mềm là tiến trình ra quyết định gồm ba bước như sau: Bước 1: Chọn công việc cần thực hiện. Bước 2: Cung cấp thông tin để công việc có thể thực hiện. Bước 3: Xem kết quả thực hiện công việc trên thiết bị xuất. Chương 01 - 5 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 3. YÊU CẦU PHẦN MỀM SOFTWARE REQUIREMENT Chương 01 - 6 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 3. YÊU CẦU PHẦN MỀM SOFTWARE REQUIREMENT Yêu cầu phần mềm (Software Requirement). Trong các ngành kỹ thuật, một yêu cầu (requirement) là một đòi hỏi được tài liệu hóa về các chức năng và đặc điểm của một sản phẩm hoặc dịch vụ Yêu cầu phần mềm là các công việc, các nghiệp vụ được hỗ trợ thực hiện trên máy tính với phần mềm. Chương 01 - 7 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 4. PHÂN LOẠI YÊU CẦU PHẦN MỀM Phân loại yêu cầu phần mềm (Software Requirement Classification) Yêu cầu chức năng (Functional Requirement) Yêu cầu phi chức năng (Non-Functional Requirement) Chương 01 - 8 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 4. PHÂN LOẠI YÊU CẦU PHẦN MỀM Yêu cầu chức năng (Functional Requirement) Yêu cầu chức năng là các yêu cầu mô tả chức năng của một hệ thống phần mềm. Yêu cầu chức năng mô tả phần mềm phải làm gì. Nghĩa là phần mềm phải có khả năng thực hiện những công việc gì. Một chức năng được mô tả thông qua các dữ liệu đầu vào, cách thức xử lý và dữ liệu được kết xuất. Chương 01 - 9 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 4. PHÂN LOẠI YÊU CẦU PHẦN MỀM Yêu cầu phi chức năng (Non-Functional Requirement) Yêu cầu phi chức năng là các yêu cầu mô tả về tính dễ sử dụng, độ tin cậy, độ ổn định, tốc độ xử lý của phần mềm cũng như yêu cầu về sự sẵn sàng hỗ trợ trong quá trình triển khai đối với nhà cung cấp phần mềm. Chương 01 - 10 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 4. PHÂN LOẠI YÊU CẦU PHẦN MỀM Yêu cầu phi chức năng (Non-Functional Requirement) Chương 01 - 11 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 4. PHÂN LOẠI YÊU CẦU PHẦN MỀM Liệu có còn cách thức phân loại yêu cầu phần mềm nào khác không? Chương 01 - 12 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 4. PHÂN LOẠI YÊU CẦU PHẦN MỀM Chương 01 - 13 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 4. PHÂN LOẠI YÊU CẦU PHẦN MỀM Chương 01 - 14 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 4. PHÂN LOẠI YÊU CẦU PHẦN MỀM Chương 01 - 15 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 4. PHÂN LOẠI YÊU CẦU PHẦN MỀM Chương 01 - 16 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 4. PHÂN LOẠI YÊU CẦU PHẦN MỀM Chương 01 - 17 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 4. PHÂN LOẠI YÊU CẦU PHẦN MỀM Chương 01 - 18 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 4. PHÂN LOẠI YÊU CẦU PHẦN MỀM Chương 01 - 19 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 4. PHÂN LOẠI YÊU CẦU PHẦN MỀM Chương 01 - 20 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 4. PHÂN LOẠI YÊU CẦU PHẦN MỀM Chương 01 - 21 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 4. PHÂN LOẠI YÊU CẦU PHẦN MỀM Chương 01 - 22 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 4. PHÂN LOẠI YÊU CẦU PHẦN MỀM Chương 01 - 23 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 4. PHÂN LOẠI YÊU CẦU PHẦN MỀM Chương 01 - 24 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 4. PHÂN LOẠI YÊU CẦU PHẦN MỀM Nghiệp vụ Ghi chép Nghiệp vụ Tìm kiếm Nghiệp vụ Tính toán Nghiệp vụ Lập báo cáo, thống kê Yêu cầu pm Lưu trữ Yêu cầu pm Tra cứu Yêu cầu pm Xử lý Yêu cầu pm Lập báo biểu THẾ GIỚI THỰC THẾ GIỚI MÁY TÍNH Chương 01 - 25 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 5. PHÂN LOẠI PHẦN MỀM (Type) Có bao nhiêu loại phần mềm nhỉ? Chương 01 - 26 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 5. PHÂN LOẠI PHẦN MỀM (Type) Chương 01 - 27 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 5. PHÂN LOẠI PHẦN MỀM (Type) Chương 01 - 28 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 5. PHÂN LOẠI PHẦN MỀM (Type) Chương 01 - 29 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 5. PHÂN LOẠI PHẦN MỀM (Type) Phân loại theo phương thức hoạt động. Phần mềm hệ thống (System Software). Phần mềm ứng dụng (Application Software). Phần mềm lập trình (Programming Software). Phân loại dưới góc độ người phát triển phần mềm. Phần mềm đóng gói. Phần mềm khung. Phần mềm hợp đồng. Chương 01 - 30 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 6. CHẤT LƯỢNG PHẦN MỀM Efficiency – Tính hiệu quả Correctness – Tính đúng đắn. Reliability – Tính tin cậy. Evolutionary – Tính tiến hóa. Usability – Tính tiện dụng. Understandability – Tính dễ hiểu. Portability – Tính khả chuyển. Maintainability – Tính bảo trì. Reuseability – Tính tái sử dụng. Interoperability – Tính thao tác giữa các thành phần – Tính tương thích. Chương 01 - 31 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 7. KIẾN TRÚC PHẦN MỀM Chương 01 - 32 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 7. KIẾN TRÚC PHẦN MỀM Người Dùng Hệ Thống Giao Diện Hệ Thống Xử Lý Hệ Thống Dữ Liệu Phần Cứng Mô Hình 3 Lớp Người Dùng Phần Cứng Phần Mềm Chương 01 - 33 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 8. CÔNG NGHỆ PHẦN MỀM Công nghệ phần mềm (Software Engineering) Định nghĩa 1: Công Nghệ Phần Mềm là một ngành khoa học nghiên cứu về việc xây dựng phần mềm có chất lượng cao trong khoảng thời gian và với chi phí hợp lý. Chương 01 - 34 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 8. CÔNG NGHỆ PHẦN MỀM Công nghệ phần mềm (Software Engineering) Định nghĩa 2: Công nghệ phần mềm hay kỹ nghệ phần mềm là sự áp dụng một cách tiếp cận có hệ thống, có kỷ luật, và định lượng được cho việc phát triển, hoạt động và bảo trì phần mềm. Chương 01 - 35 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 8. CÔNG NGHỆ PHẦN MỀM Ngành học công nghệ phần mềm bao trùm kiến thức, các công cụ, và các phương pháp cho việc xác định yêu cầu phần mềm, và thực hiện các tác vụ thiết kế phần mềm, xây dựng phần mềm, kiểm thử phần mềm, và bảo trì phần mềm. Kỹ nghệ phần mềm còn sử dụng kiến thức của các lĩnh vực như kỹ thuật máy tính, khoa học máy tính, quản lý, toán học, quản lý dự án, quản lý chất lượng, công thái học phần mềm và kỹ nghệ hệ thống..[2] Chương 01 - 36 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 9. QUI TRÌNH CÔNG NGHỆ PHẦN MỀM Qui trình công nghệ phần mềm (Software Development Method) Qui trình công nghệ phần mềm là tổ hợp các bước, các giai đoạn phải trải qua khi thực hiện việc sản xuất phần mềm. Chương 01 - 37 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 10. MÔ HÌNH THÁC NƯỚC Xác định yêu cầu Thiết kế Phân tích Cài đặt Kiểm chứng Chương 01 - 38 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 10. CÁC ĐỐI TƯỢNG NGHIÊN CỨU CỦA SE Các đối tượng nghiên cứu của ngành công nghệ phần mềm. Đối tượng 1: Đối tượng 2: Đối tượng 3: Chương 01 - 39 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 11. CÁC KIẾN THỨC CỦA SE Kinh tế học kỹ thuật chuyên nghiệp Những yêu cầu phần mềm Thiết kế phần mềm. Xây dựng phần mềm và sự thi hành. Kiểm tra phần mềm. Bảo trì phần mềm. Quản lý cấu hình phần mềm. Quản lý công nghệ phần mềm. Tiến trình công nghệ phần mềm. Công cụ công nghệ phần mềm và những phương pháp. Chất lượng phần mềm. Chương 01 - 40 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 12. CÁC CHUẨN ĐƯỢC CHỨNG NHẬN TRONG CNPM IEEE Std 610.12-1990, IEEE Standard Glossary of Software Engineering Terminology IEEE Std 1062, 1998 Edition, IEEE Recommended Practice for Software Acquisition ISO/IEC 12207:1995 — Information Technology — Software Life-Cycle Processes IEEE/EIA 12207 — US standard implementation of ISO/IEC std 12207:1995: IEEE/EIA Std 12207.0-1996, Software Life Cycle Processes IEEE/EIA Std 12207.1-1997, Software Life Cycle Processes — Life Cycle Data IEEE/EIA Std 12207.2-1997, Software Life Cycle Processes — Implementation Considerations IEEE Std 1228-1994, IEEE Standard for Software Safety Plans …. Chương 01 - 41 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 13. CHI PHÍ THỜI GIAN CỦA KỸ SƯ PHẦN MỀM Ít hơn 10% trong số thời gian để viết code. Nhiều hơn 90% thời gian thực hiện các công việc sau: Gợi ra những yêu cầu. Phân tích những yêu cầu. Viết những tài liệu yêu cầu phần mềm. Xây dựng và phân tích những nguyên mẫu. Phát triển những thiết kế phần mềm. Viết tài liệu thiết kế phần mềm. Kỹ thuật công nghệ phần mềm tìm kiếm hay việc thu được thông tin về miền ứng dụng Việc phát triển những chiến lược kiểm tra và những trường hợp kiểm tra. Kiểm tra phần mềm và ghi lại những kết quả. Cô lập những vấn đề và giải quyết chúng. Học sử dụng hay cài đặt và định hình phần mềm mới và.những công cụ phần cứng. Viết tài liệu sử dụng. Tham dự những cuộc họp với những đồng nghiệp, những khách hàng, và những giám sát viên. Đạt được phần mềm sẵn sàng phân phối Chương 01 - 42 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 14. TÀI LIỆU THAM KHẢO Chương 01 - 43 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 14. TÀI LIỆU THAM KHẢO Chương 01 - 44 CNPMKhoa CNTT ThS. Nguyễn Tấn Trần Minh Khang 14. TÀI LIỆU THAM KHẢO
File đính kèm:
- Chuong_01_CNPM.pdf