
16/02/2014
1
Trường CĐ-KT Lý Tự Trọng
Khoa Công Nghệ Thông Tin
Giáo trình tham khảo: Nhập môn công
nghệ phần mềm của Nguyễn Tiến Huy –
ĐH-KHTN
Môn: Công Nghệ Phần Mềm
GV: Nguyễn Văn Danh
Chương I: Tổng quan về CNPM
Sinh viên biết các khái niệm cơ bản về công nghệ phần mềm,
quy trình xây dựng phần mềm.
Phần mềm và lớp phần mềm
Kiến trúc các thành phần của phần mềm
Công nghệ phần mềm
Qui trình công nghệ phần mềm
Phương pháp và công cụ phát triển phần mềm
GV: Nguyễn Văn Danh
I. Phần mềm và lớp phần mềm
1. Phần mềm.
Định nghĩa: là hệ thống các chương trình được thực
hiện trên máy tính nhằm hỗ trợ 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.( Đây là quan điểm
của các người sử dụng phần mềm).
- Nhà chuyên môn
-Lĩnh vực chuyên nghành
- Thao tác nghiệp vụ
GV: Nguyễn Văn Danh

16/02/2014
2
2. Lớp phần mềm
Là hệ thống các phần mềm trên cùng lĩnh vực hoạt động
nào đó chúng có cấu trúc & chức năng giống nhau.
GV: Nguyễn Văn Danh
3. Phân loại phần mềm
Có nhiều cách phần loại phần mềm khác nhau. Phân loại
dụa trên mục đích của người sử dụng phần mềm( trên
góc độ người sử dụng) & phân loại dựa trên mục đích tạo
lập phần mềm.
Phân loại dựa trên mục đích sử dụng phần mềm:
Phần mềm hệ thống
Phần mềm khoa học kỹ thuật
Phần mềm nhúng
Phần mềm ứng dụng web
Phần mềm thương mại ( Quản lý tiền lương, QL nhân viên)
GV: Nguyễn Văn Danh
II. Phân loại phần mềm
phân loại dựa trên mục đích tạo lập (góc độ người lập
trình)
Phần mềm theo hơp đồng: là phần mềm viết ra cho một khách
hàng cụ thể với các yêu cầu cụ thể, có thời gian và chi phí cụ thể
và phải có trách nhiệm bảo trì phần mềm
Phần mềm khung: Là phần mềm được tạo ra nhằm nhanh chóng
triển khai một phần mềm theo hợp đồng được tiện lợi. Đây là
phần mềm khong đưa cho người sử dụng và có những đăc điểm
như sau: không có khách hàng cụ thể, không có yêu cầu cụ thể.
Phần mềm đóng gói: Là phần mềm đươc làm ra để bán rộng rãi
cho mọi người. Đặc điểm là khong có khách hàng cụ thể, không
có các yêu cầu cụ thể, không bảo trì mà chỉ có phân bản nâng cấp.
GV: Nguyễn Văn Danh

16/02/2014
3
III. Kiến trúc phần mềm
GV: Nguyễn Văn Danh
III. Kiến trúc phần mềm
Bảng tóm tắt các hàm cùng ý nghĩa tương ứng:
STT
Thành
phần Hàm Ý Nghĩa Ghi Chú
1
Thành
phần
giao diện
Hàm nhập
Hàm xuất
Nhập yêu cầu, dữ
liệu nguồn, xuất kết
quả đã xử lý
Cần xác định hình thức
nhập/xuất và tổ chức dữ
liêu tương ứng
2
Thành
phần xử
lý
Hàm kiểm tra
Hàm xử lý
Kiểm
tra tính hợp lệ
dữ liệu. Xử lý tính
toán phát sinh, biến
đổi trên dữ liệu
Sử dụng hàm nhập, hàm
đọc, hàm xuất, hàm ghi
3
Thành
phần dữ
liệu
Hàm đọc
Hàm ghi
Đọc dữ liệu từ bộ
nhớ phụ vào bộ nhớ
chính. Ghi dl từ bộ
nhớ chính vào bộ
nhớ phụ
Cần xác
định cách thức tổ
chức lưu trữ dữ liệu
GV: Nguyễn Văn Danh
IV. Chất lượng phần mềm
Một phần mềm được đánh giá có chất lượng tuỳ vào những
yếu tố sau:
Tính đúng đắn: chạy tốt, chạy đúng theo yêu cầu người sử dụng.
Tính tiến hoá: là khả năng đáp ứng của phần mềm khi qui định
của nghiệp vụ thay đổitheo thời gian, hoặc tốc độ thực hiện theo
máy móc.
Tính hiệu quả: Việc chiếm bộ nhớ trong hay bộ nhớ ngoài sao cho
hiệu quả.
Tính tương thích: Là khả năng tương tác giữa phần mềm với các
phần mềm khác.
Tính tiện dụng: Phần mềm dễ học dễ sử dụng, thân thiện với
người dùng
Trong 5 tính chất trên, tính chất nào là quan trọng nhất.
GV: Nguyễn Văn Danh

16/02/2014
4
V. Công nghệ phần mềm
Bauer(1969): Việc thiết lập và sử dụng các nguyên lý
công nghệ đúng đắn để thu được phần mềm một cách
kinh tế vừa tin cậy vừa làm việc hiệu quả trên các
máy thực.
Ghezzi(1991) Một lĩnh vực của khoa học máy tính
liên quan đến việc xây dựng các phần mềm vừa lớn
vừa phức tạp bởi một hay một số nhóm kỹ sư.
Sommervile(1995): là lĩnh vực liên quan đến lý
thuyết, phương pháp và công cụ dùng cho phát triển
phần mềm.
GV: Nguyễn Văn Danh
V. Công nghệ phần mềm
Kawamura(1995): là lĩnh vực học vấn về các kỹ
thuật, phương pháp luận công nghệ học trong toàn
bộ quy trình phát triển phần mềm nhằm nâng cao cả
chất và lượng của sản xuất phần mềm.
Pressman(1995): là bộ môn tích hợp cả qui trình, các
phương pháp, các công cụ để phát triển phần mềm
máy tính.
Ta có thể đưa định nghĩa tóm tắt như sau:
Công nghệ phần mềm là một nghành khoa học nghiên
cứu về việc xây dựng các phần mềm có chất lượng trong
khoảng thời gian và chi phí hợp lý.
GV: Nguyễn Văn Danh
VI. Đối tượng nghiên cứu
CNPM đưa ra 3 đối tượng nghiên cứu chính:
Quy trình công nghệ phần mềm:
oLà hệ thống các giai đoạn mà quá trình phát triển phần
mềm trải qua.
oCần xác định rõ mục tiêu, kết quả nhận được, kết quả
chuyển giao.
Phương pháp phát triển phần mềm: hệ thống các
hướng dẫn để thực hiện một giai đoạn nào đó.
Công cụ và môi trường phát triển phần mềm: Hệ thống
các phần mềm trợ giúp trong lĩnh vực xây dựng phần
mềm.
GV: Nguyễn Văn Danh

16/02/2014
5
1. Qui trình công nghệ phần mềm
GV: Nguyễn Văn Danh
1.1. Các bước cơ bản xây dựng phần mềm:
1.1.1 Xác định:
Hình thành đề tài ước lượng công việc.
Khách hàng muốn gì?
Thu thập thông tin.
1.1.2 Phát triển:
Xây dựng chương trình.
Kiểm tra tính đúng đắn.
1.1.3 Bảo trì( vận hành)
Giúp chương trình chạy ổn định với điều kiện mới.
Làm phù hợp với hiện tại.
1.2. Một số mô hình triển khai xây dựng
phần mềm
GV: Nguyễn Văn Danh
1.2.1 Mô hình thác nước
1.2.1.1 Mô hình thác nước 2 giai đoạn
Giai đoạn Mục tiêu Kết quả nhận được
Kết
quả chuyển giao
Xác
định yêu
cầu
Xác
định chính xác
các yêu cầu đặt ra cho
phần mềm
Thông
tin về các hoạt
động của thế giới thực.
Danh sách
các yêu cầu,
cùng với các thông tin
mô tả chi tiết về các yêu
cầu.
Lập
trình
Tạo
lập phần mềm
mong muốn theo yêu
cầu
Danh sách
các yêu cầu
cùng thông tin liên quan
Chương
trình thực hiện
được trên máy tính.
Giai đoạn Mục tiêu Kết quả nhận được
Kết
quả chuyển giao
Xác
định yêu
cầu
Xác
định chính xác
các yêu cầu đặt ra cho
phần mềm
Thông
tin về các hoạt
động của thế giới thực.
Danh sách
các yêu cầu,
cùng với các thông tin
mô tả chi tiết về các yêu
cầu.
Lập
trình
Tạo
lập phần mềm
mong muốn theo yêu
cầu
Danh sách
các yêu cầu
cùng thông tin liên quan
Chương
trình thực hiện
được trên máy tính.
1.2.1.2 Mô hình thác nước 3 giai đoạn
GV: Nguyễn Văn Danh
Giai đoạn Mục tiêu Kết quả nhận được
Kết
quả chuyển giao
Xác
định yêu
cầu
Xác
định chính xác
các yêu cầu đặt ra cho
phần mềm
Thông
tin về các hoạt
động của thế giới thực.
Danh sách
các yêu cầu,
cùng với các thông tin
mô tả chi tiết về các yêu
cầu.
Thiết
kế
Mô
tả các thành phần
của phần mềm
Danh sách
các yêu cầu
cùng thông tin liên quan
Mô
tả thành phần giao
diện.
Mô tả thành phần xử lý.
Mô tả thành phần dữ
liệu.
Lập
trình
Tạo
lập phần mềm
mong muốn theo yêu
cầu
Mô
hình phần mềm
Chương
trình phần mềm
nguồn với cấu trúc cơ sở
dữ liệu tương ứng.

