Phần mềm• Phần mềm là hệ thống các chương trình thực hiện được trên máy tính • Nhằm hỗ trợ nhanh, chính xác và tiện dụng cho các nhà chuyên môn trong từng lĩnh vực chuyên ngành • Thực h
Trang 1TỔNG QUAN VỀ CÔNG NGHỆ PHẦN MỀM
GVHD: Phạm Minh Đương Email: duongmtvu@yahoo.com
Trang 3Phần mềm
• Phần mềm là hệ thống các chương trình thực hiện được trên máy tính
• Nhằm hỗ trợ nhanh, chính xác và tiện dụng cho các nhà chuyên môn trong từng lĩnh vực chuyên ngành
• Thực hiện tốt các thao tác nghiệp vụ của mình.
Chọn công việc Xử lý Kết quả
Trang 49/4/2016 Công nghệ phần mềm 4
Lớp phần mềm
• Lớp phần mềm là hệ thống các phần mềm có cùng lĩnh vực hoạt động nào đó
• Thường có cấu trúc và chức năng tương tự nhau
STT Lớp phần mềm Các phần mềm
1 QL học sinh Mầm non, tiểu học, THPT, ĐH…
2 Bán hàng Siêu thị, máy tính, thuốc tây…
3 Xếp lịch TKB lớp, lịch thi đấu.
4 Trò chơi Ca rô, cờ vua…
5 Cho mượn Thuê băng, sách, truyện…
Trang 5Kiến trúc các thành phần của PM
• Thành phần giao tiếp.
• Thành phần xử lý.
• Thành phần dữ liệu.
Trang 6• Là hệ thống các chức năng chuyên về việc nhập/xuất dữ liệu
• Trình bày và tổ chức lưu trữ dữ liệu tương ứng
• Nhiệm vụ của thành phần giao tiếp:
– Tiếp nhận các yêu cầu sử dụng:
Người dùng Các thiết bị thu thập dữ liệu, cung cấp dữ liệu nguồn liên quan đến công việc.
− Trình bày các kết quả của việc thực hiện các yêu cầu:
Người dùng Điều khiển hoạt động các thiết bị điều khiển.
Thành phần giao tiếp
Trang 7• Là hệ thống các chức năng chuyên về xử lý tính toán, biến đổi dữ liệu
• Các chức năng này sẽ dùng dữ liệu nguồn từ các chức năng
− Thành phần giao tiếp hay thành phần dữ liệu
− Kiểm tra tính hợp lệ, sau đó tiến hành xử lý cho ra kết quả *
• Kết quả trình bày thông qua các chức năng trong thành phần giao tiếp hoặc lưu trữ lại qua các chức năng của thành phần dữ liệu
*Tiến trình xử lý để cho ra kết quả mong đợi theo quy định tính toán có sẵn trong thế giới thực hoặc theo thuật giải tự đề xuất
Thành phần xử lý
Trang 8• Là hệ thống các chức năng chuyên về đọc và ghi dữ liệu
• Cùng với mô hình tổ chức lưu trữ dữ liệu tương ứng
• Mục tiêu chính là chuyển đổi dữ liệu giữa bộ nhớ chính và
bộ nhớ phụ
Thành phần dữ liệu
Trang 9Kiểm tra Kiểm tra tính hợp lệ
Xử lý Tính toán, phát sinh, biến
đổi dữ liệu3
Trang 11• Khoảng 1960 cuộc khủng hoảng phần mềm do số lượng
phần mềm tăng, chất lượng phần mềm thì giảm
• 1975 Hội nghị ICSE (International Conference on Software Engineering) ngành khoa học công nghệ phần mềm
Trang 12• Tính đúng đắn: Đầy đủ, chính xác yêu cầu của người dùng
• Tính tiến hóa: Cho phép người dùng có thể khai báo các thay đổi về quy định của phần mềm theo các thay đổi của thế giới thực
• Tính tiện dụng: Dễ học, dễ sử dụng, giao diện trực quan, tự nhiên
• Tính hiệu quả: Sử dụng tối ưu các tài nguyên trên máy tính
• Tính tương thích: Trao đổi dữ liệu được với các phần mềm khác có liên quan
Chất lượng phần mềm
Trang 13Ba đối tượng nghiên cứu chính:
• Quy trình công nghệ phần mềm: Hệ thống các giai đoạn
mà quá trình phát triển phần mềm phải trải qua
• Phương pháp phát triển phần mềm: Hệ thống các hướng dẫn cho phép từng bước thực hiện một giai đoạn nào đó
Trang 15Công nghệ phần mềm là gì?
công nghệ
Trang 17Mô hình phát triển phần mềm
Các công đoạn chính tổng quát
Giai đoạn đặc tả: Xác định các tính năng và điều kiện hoạt động của hệ thống (thu thập
yêu cầu và phân tích).
Giai đoạn phát triển: Thiết kế phần mềm (software design), viết code (code generation
Giai đoạn kiểm tra: Kiểm tra phần mềm (software testing), kiểm tra tính hợp lý của phần mềm
Giai đoạn bảo trì: Sửa lỗi (correction), thay đổi môi trường
thực thi (adaptation), tăng cường
(enhancement).
Trang 189/4/2016 Công nghệ phần mềm 18
Mô hình WaterFall
• Mô hình phát triển phần mềm đầu tiên
• Các công việc tiếp nối nhau một cách tuần tự
• Đặt nền móng cho các phương pháp phân tích, thiết kế, kiểm tra…
Thiết kế hệ thống
& phần mềm
Thực hiện và kiểm tra moduls
Tích hợp và kiểm tra tổng thể
Chuyển giao
và Bảo trì Phân tích
yêu cầu
Trang 19và đầy đủ ngay từ ban đầu
• Khách hàng thường phải chờ đợi rất lâu để thấy được phiên bản đầu tiên của sản phẩm
• Tồn tại “delay” tích lũy trong nhóm làm việc dự
án thường bị trễ.
• Chỉ phù hợp cho dự án nhỏ, đơn giản.
Trang 21Mô Hình Prototype
• Prototype như là một cơ chế để nhận diện chính xác yêu cầu của khách hàng
– Bản thân khách hàng chưa hiểu rõ yêu
cầu của mình, cũng như các quy trình
chưa được xác lập rõ ràng.
– Khách hàng chưa hiểu rõ khả năng hỗ trợ của hệ thống máy tính
Trang 229/4/2016 Công nghệ phần mềm 22
Mô Hình Prototype
• Kích thích sự thích thú của người dùng với dự án
• Prototype có thể bị “throw-away” Lãng phí
• Các process không được phân định rõ ràng
• Hệ thống thông thường có cấu trúc lỏng lẻo
• Cần có những kỹ năng đăc biệt trong quản lý và phát triển
• Khách hàng hối thúc nhà phát triển hoàn thành sản phẩm một khi thấy được các prototype đầu tiên
Trang 23Mô Hình Prototype – Ứng dụng
• Dùng cho các hệ thống nhỏ Các chi phí khi thay đổi hệ thống là không quá lớn
• Cần sự cấp bách về thời gian triển khai
ngắn Hệ thống cần được đưa vào ứng dụng từng phần trong khoảng thời gian nhất định.
• Trong trường hợp những hệ thống mà việc đặc tả các yêu cầu là rất khó và không rõ
ràng ngay từ đầu.
Trang 24Xác định công việc
Trang 25• Phụ thuộc vào công nghệ phát triển có tính reusable cao.
Trang 26Phương pháp phát triển phần mềm
• Là hệ thống các hướng dẫn cho phép từng bước
thực hiện các công việc trong một giai đoạn nào đó.
• 2 hình thức chính:
– Đề xuất cách biểu diễn kết quả chuyển giao
trong một giai đoạn (thường là sơ đồ).
– Đưa ra các bước chi tiết cụ thể trong quá trình đi
từ kết quả nhận đến kết quả chuyển giao.
• Một số phương pháp biểu diễn kết quả chuyển giao trong các giai đoạn:
Trang 27STT Tên P/pháp Giai đoạn B/diễn kết quả chuyển giao
1 Phân tích
cấu trúc
Phân tích Dùng sơ đồ luồng dữ liệu
(DFD – Data Flow Diagram) biểu diễn mô hình xử lý của thế giới thực
3 Mô hình
quan hệ Codd
Thiết kế Dùng lược đồ quan hệ biểu
diễn tổ chức lưu trữ dữ liệu trên bộ nhớ phụ
(Object Modeling Technique)
Phân tích Dùng sơ đồ lớp, sơ đồ trạng
thái, sơ đồ luồng dữ liệu biểu diễn mô hình dữ liệu, trạng thái, xử lý của thế giới thực
Trang 28phát triển phần mềm – SDE ( Software Develop
Environment).
• Một số chức năng của các CASE Tools trong từng giai đoạn:
Trang 291 Phân tích - Soạn thảo các mô hình DFD, ERD
- Phát sinh sơ đồ quan hệ
2 Thiết kế - Soạn thảo sơ đồ quan hệ (logic)
- Phát sinh CSDL
3 Lập trình - Soạn thảo chương trình nguồn
- Các hàm thư viện
- Trình biên dịch
4 Kiểm chứng - Công cụ gỡ rối (Debug)
- Công cụ phát sinh dữ liệu thữ nghiệm
Công cụ phát triển phần mềm
Trang 31Q&A