tài liệu Công nghệ Phần mềm (Software Engineering) - Pdf 25

1
CNPM/NN
Công nghệ Phần mềm (Software Engineering)
Tài liệu tham khảo
 Software Engineering - A practitioner’s approach, R.S. Pressman,
McGraw-Hill (ebook)
 Ian Sommerville’s , “Software Engineering 7th Ed.”
 Nhập môn kỹ nghệ phần mềm; Ngô Trung Việt, Nguyễn kim Ánh;
NXB Khoa học và kỹ thuật
 http://www.mhhe.com/pressman
2
CNPM/NN
Mục tiêu
 Những luồng công việc và sự kiện trong nỗ lực phát triển phần
mềm
 Vai trò của kỹ sư phần mềm trong việc xây dựng phần mềm
 Cung cấp những kiến thức nền tảng, tạo điều kiện cần thiết để
sinh viên vận dụng trong thực tế sản xuất phần mềm: phân
tích, thiết kế, tạo code, kiểm thử và bảo trì, cũng như các công
việc hỗ trợ như: Quản lý chất lượng, quản lý dự án…
3
CNPM/NN
Kế hoạch học
 Thời gian: 45 tiết (9 tuần x 5)
 Kiểm tra
 Điểm giữa học kỳ được tính 20% (tuần 5 – tự luận)
 Điểm tiểu luận được tính 30% (nhận vào tuần thứ 2)
 Điểm thi kết thúc học phần được tính 50% (trắc nghiệm)
4
CNPM/NN
Yêu cầu

bản…
 Ngoài việc cung cấp phần mềm, đơn vị sản xuất thường kèm
theo các công việc như: cài đặt, bảo trì, nâng cấp, huấn
luyện…
8
CNPM/NN
Phần mềm dùng làm gì?
 Phần mềm là một sản phẩm
 Dùng cho tính toán.
 Tạo, quản lý, thu nhận, biến đổi, thể hiện hay là truyền thông tin.
 Phần mềm là một phương tiện tạo sản phẩm
 Hỗ trợ hay cung cấp trực tiếp các chức năng cho hệ thống.
 Điều khiển những chương trình khác (HĐH).
 Thực hiện truyền thông (PM Mạng).
 Giúp cho việc tạo các chương trình khác (Tool, Framework).
9
CNPM/NN
Phần mềm gồm những gì?
Phần mềm là tập hợp những mục hay là
đối tượng mà hình thành một cấu hình bao
gồm:
• Chương trình.
• Tài liệu.
• Dữ liệu…
10
CNPM/NN
source
codes
object
object

Phần mềm
 Phần mềm không sờ thấy được.
 Phần mềm dễ dàng nhân bản.
 Phần mềm khó đánh giá về chất lượng.
 Phần mềm dễ dàng thay đổi.
 Phần mềm không hao mòn.
Nhận xét
 Nhiều phần mềm thiết kế nghèo nàn đang gây lỗi.
 Nhu cầu phần mềm không ngừng gia tăng.
 Chúng ta đang ở trong tình trạng khủng hoảng không
ngừng (‘SW crisis’)
 Chúng ta phải học để phát triển phần mềm
14
CNPM/NN
Hai loại sản phẩm phần mềm
 Các sản phẩm phần mềm được chia thành 2 nhóm:
 Sản phẩm đại trà (Generic Product)
 Sản phẩm theo đơn hàng (Bespoke Product hoặc
Customised Product)
 Một phần mềm mới có thể được tạo ra bằng cách phát
triển các chương trình mới, thay đổi và điều chỉnh các hệ
thống phần mềm đại trà hoặc tái sử dụng lại các phần
mềm đã tồn tại…
15
CNPM/NN
Những loại phần mềm
 Phần mềm hệ thống.
 Phần mềm ứng dụng.
 Phần mềm khoa học kỹ thuật.
 Phần mềm nhúng.

19
Phần mềm
(Hệ thống)
(Chương trình, Tài liệu,
cấu hình )
Kỹ sư
Phần mềm
Phát triển
sản phẩm phần mếm
Công nghệ phần mềm
Nguyên tắc :
1. Tập trung vào vào việc phát triển hệ thống phần mềm chất lượng
cao với chi phí hiệu quả.
2. Tập trung vào tất cả các khía cạnh của sản phẩm phần mềm
•Từ: Đặc tả.
•Tới: Phát hành và sử dụng.
20
CNPM/NN
 Chi phí phần mềm chiếm phần lớn trong những hệ
thống dựa vào phần mềm.
 Đối với những hệ thống có chu kỳ sống dài chi phí
bảo trì có thể cao hơn chi phí phát triển nhiều lần.
 Công nghệ phần mềm thì bị chi phối bởi lợi nhuận.
Tại sao phải kỹ nghệ phần mềm?
21
CNPM/NN
Công nghệ học trong CNPM ?
 Như các ngành công nghệ học khác, CNPM cũng lấy các
phương pháp khoa học làm cơ sở.
 Các kỹ thuật về thiết kế, chế tạo, kiểm thử và bảo trì phần

học của CNPM.
 Vận dụng những lý luận trong sản xuất phần mềm và áp dụng
các phương pháp luận một cách nhất quán.
 Tăng cường nghiên cứu và tạo công cụ trợ giúp sản xuất phần
mềm.
24
CNPM/NN
Sự tiến triển của các phương pháp phát triển PM
 1970.
 Phương pháp luận về quy trình thiết kế phần mềm với phương
pháp phân chia môđun và thiết kế trong từng môđun.
 Phát triển: nửa đầu 1980.
 Ngôn ngữ đối thoại đơn giản (4GL, DB SQL).
 Hệ trợ giúp: Hệ trợ giúp kiểm thử; Hệ trợ giúp quản lý thư viện
mã; Hệ trợ giúp tái sử dụng.
 Biến đổi: nửa cuối 1980 đến nay.
 Đưa ra các môi trường mới về phát triển phần mềm. Triển khai
mới về kết hợp giữa CNPM và CN Tri thức (Knowledge
Engineering).
 Triển khai những môi trường bậc cao về phát triển phần mềm;
Tự động hóa sản xuất phần mềm; Tạo bản mẫu (Prototyping);
Lập trình hướng đối tượng - OOP; Hướng sử dụng thành phần
(component).
25
CNPM/NN
4. Những thách thức đối với CNPM…
 Cứ 6 đề án triển khai thì có 2 bị huỷ bỏ.
 Trung bình thời gian thực hiện thực tế bị kéo dài 50% (cá biệt
200-300%).
 Các đề án lớn dễ thất bại.


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status