Tài liệu Công nghệ phần mềm - Chương I: Tổng quan về CNPM - Nguyễn Văn Danh: 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 ...
                
              
                                            
                                
            
 
            
                 9 trang
9 trang | 
Chia sẻ: putihuynh11 | Lượt xem: 891 | Lượt tải: 0 
              
            Bạn đang xem nội dung tài liệu Công nghệ phần mềm - Chương I: Tổng quan về CNPM - Nguyễn Văn Danh, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
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: 
o Là hệ thống các giai đoạn mà quá trình phát triển phần 
mềm trải qua. 
o Cầ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. 
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. 
16/02/2014 
6 
1.2.1.3 Mô hình thác nước 4 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. 
Phân tích 
Mô tả thế giới thực thông 
qua các mô hình 
Danh sách các yêu cầu 
cùng thông tin liên quan 
Mô hình xử lý( hệ thống các 
công việc cùng với quan hệ 
giữa chúng). 
Mô hình dữ liệu(ERD) 
Thiết kế 
Mô tả các thành phần của 
phần mềm trước khi cài 
đặt 
Mô hình thế giới thực 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. 
1.2.1.4 Mô hình thác nước 5 giai đoạn 
GV: Nguyễn Văn Danh 
Xác định YC 
Phân tích 
Thiết kế 
Triển khai 
Vận hành 
Bảo trì 
Thời gian 
Bước 
1.2.1.4 Mô hình thác nước 5 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. 
Phân tích 
Mô tả thế giới thực thông 
qua các mô hình trước 
khi thiết kế 
Danh sách các yêu cầu 
cùng thông tin liên quan 
Mô hình xử lý( hệ thống các 
công việc cùng với quan hệ 
giữa chúng). 
Mô hình dữ liệu(ERD) 
Thiết kế 
Mô tả các thành phần của 
phần mềm trước khi cài 
đặt 
Mô hình thế giới thực 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. 
Triển khai 
Tạo lập phần mềm mong 
muốn theo yêu cầu. 
Kiểm tra độ tin cậy 
chương trình 
Mô hình phần mềm 
Danh sách các yêu cầu cần 
cho việc kiểm tra PM 
Chương trình phần mềm 
nguồn với cấu trúc cơ sở dữ 
liệu tương ứng. 
Bảo trì 
Đảm bảo phần mềm vận 
hành tốt. 
Phần mềm đã hoàn thành Các phản ảnh của khách 
hàng trong quá trình sử 
dụng phần mềm. 
16/02/2014 
7 
1.2.2 Mô hình bản mẫu phần mềm 
GV: Nguyễn Văn Danh 
Khảo sát, thu thập thông tin sơ bộ 
Xây dựng mẫu ban đầu 
Làm mịn mẫu 
Khảo sát, lấy ý kiến người dùng 
Đánh giá 
Mẫu hoàn chỉnh 
HT đã 
hoàn chỉnh? 
Hoàn chỉnh 
dự án 
 từ mẫu 
Sử dụng 
thêm pp 
vò g đời 
Loại bỏ mẫu 
Hạn chế Tồi 
Tốt 
Chưa Tốt 
1.2.3 Mô hình xoắn ốc 
GV: Nguyễn Văn Danh 
Risk
analysis
Risk
analysis
Risk
analysis
Risk
analysis Proto-
type 1
Prototype 2
Prototype 3
Opera-
tional
protoype
Concept of
Operation
Simulations, models, benchmarks
S/W
requirements
Requirement
validation
Design
V&V
Product
design Detailed
design
Code
Unit test
Integr ation
test
Acceptance
testService Develop, verify
next-level product
Evaluate alternatives
identify, resolve risks
Determine objectives
alternatives and
constraints
Plan next phase
Integration
and test plan
Development
plan
Requirements plan
Life-cycle plan
REVIEW
2. Các phương pháp phát triển phần mềm 
GV: Nguyễn Văn Danh 
2.1 Tổng quan: có nhiều phương pháp phát triển phần mềm. 
Mỗi PP có những hướng dẫn cụ thể các công việc cần thực hiện 
trong từng giai đoạn trong qui trình xây dựng phần mềm. 
16/02/2014 
8 
2. Các phương pháp phát triển phần mềm 
GV: Nguyễn Văn Danh 
2.2 Phân loại: Gồm 2 loại dựa vào tính chất của công việc: 
 Phương pháp xây dựng: 
Phương pháp hướng chức năng. 
Phương pháp hướng dữ liệu. 
Phương pháp hướng đối tượng. 
 Phương pháp tổ chức quản lý: 
Xây dựng phương án 
Tổ chức nhân sự 
Ước lượng rủi ro 
Lập và theo dõi kế hoạch triển khai 
Chúng ta chỉ quan tâm đến các phương pháp xây dựng. Phần còn 
lại anh chị tham khảo giáo trình” Quản lý dự án xây dựng các hệ 
thống thông tin” 
2.3 Các phương pháp xây dựng phần 
mềm 
GV: Nguyễn Văn Danh 
2.3.1 Cách tiếp cận: 
a. Từ trên xuống: Đây là cách giải quyết vấn đề theo 
hướng phân tích. 
Ta bắt đầu từ những thành phần chính của hệ thống sau 
đó các thành phần này sẽ được phân tích thành các phần 
chi tiết và cụ thể hơn. Quá trình này tiếp diễn cho đến 
khi đáp ứng ý muốn của nhà xây dựng phần mềm. 
b. Từ dưới lên: 
Ngược lại với PP trên, giải quyết theo hướng tổng hợp. 
2.3.2 Cách tiến hành: 
GV: Nguyễn Văn Danh 
2.3.2.1 Phương pháp hướng chức năng: 
Áp dụng nguyên lý chia để trị 
Chia các công việc lớn mà hệ thống cần thực hiện 
thành các công việc nhỏ hơn và độc lập nhau. 
2.3.2.2 Phương pháp hướng dữ liệu: 
Chú trọng nhiều đến thành phần dữ liệu trong hệ thống. 
Tách dữ liệu ra khỏi quá trình xử lí. 
Tách biệt cơ sở dữ liệu và các ứng dụng (tổ chức cơ sở 
dữ liệu riêng) 
16/02/2014 
9 
GV: Nguyễn Văn Danh 
2.3.2.3 Phương pháp hướng đối tượng: 
Một hệ thống phần mềm là tập hợp các đối tượng có khả 
năng tương tác với nhau. 
Hệ thống được chia thành các đối tượng bao gồm cả dữ 
liệu và xử lý -> cả hệ thống là sự ghép nối các đối tượng 
bằng truyền thông 
2.3.2 Cách tiến hành: 
3. Công cụ và môi trường phát triển phần mềm 
GV: Nguyễn Văn Danh 
3.1 Khái niệm: Các công cụ và môi trường là các phần mềm 
hỗ trợ chính người phát triển trong quá trình xây dựng phần 
mềm. 
3.2 Phần mềm hỗ trợ thực hiện các giai đoạn: 
3.2.1 Hỗ trợ phân tích: Win A&D, Analyst Pro, 
3.2.2 Phần mềm hỗ trợ thiết kế: Quick UML, Power 
Designer , Oracle Designer, 
3.2.3 Phần mềm hỗ trợ lập trình: 
3.2.4 Phần mềm kiểm chứng 
3.2.5 Phần mềm lập kế hoạch 
            Các file đính kèm theo tài liệu này:
 chuong1_8023_1996698.pdf chuong1_8023_1996698.pdf