Bài giảng Nhập môn công nghệ phần mềm - Trương Minh Thái - Chương 1: Giới thiệu về công nghệ phần mềm

Định nghĩa về công nghệ phần mềm

Các giai đoạn trong phát triển phần mềm

Những người tham gia trong dự án phát triển phần mềm

Các yếu tố chính làm thay đổi sự phát triển phần mềm

Thuật ngữ

Phân loại phần mềm

Đặc tính của phần mềm

pdf29 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 2792 | Lượt tải: 3download
Tóm tắt nội dung Bài giảng Nhập môn công nghệ phần mềm - Trương Minh Thái - Chương 1: Giới thiệu về công nghệ phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
NHẬP MÔN 
CÔNG NGHỆ PHẦN MỀM
1
Giảng viên: Trương Minh Thái
tmthai@cit.ctu.edu.vn
Nội dung môn học
1. Giới thiệu về CNPM
2. Các mô hình về tiến trình phần mềm
3. Ước lượng chi phí phần mềm
4. Quản lý nhân sự và tổ chức
5. Quản lý chất lượng
6. Quản lý cấu hình
2
7. Lập kế hoạch và kiểm soát dự án
8. ðặc tả và phân tích yêu cầu
9. Thiết kế 
10. Lập trình
11. Kiểm thử
12. Phân phối
13. Bảo trì
Tài liệu tham khảo
3
Bài giảng nhập môn CNPM của giảng viên Trần Cao ñệ
Bài giảng nhập môn CNPM của giảng viên Huỳnh Xuân Hiêp
Bài giảng nhập môn CNPM của giảng viên Phan Phương Lan
Giảng dạy & ñánh giá
 Giảng dạy:
 Lý thuyết: 20g
 Thực hành trên máy: 10g
 Tự học: 30g
4
 Thi giữa kỳ: (30%)
 Sinh viên tự nghiên cứu và báo cáo các chủ ñề liên 
quan ñến CNPM
 Thi cuối kỳ: (70%)
 Bài tập nhóm: xây dựng một phần mềm theo các yêu 
cầu kỹ thuật phần mềm 
NHẬP MÔN 
CÔNG NGHỆ PHẦN MỀM
5
CHƯƠNG 1 – GIỚI THIỆU VỀ 
CÔNG NGHỆ PHẦN MỀM
Nội dung
 ðịnh nghĩa về CNPM
 Các giai ñoạn trong phát triển phần mềm
 Những người tham gia trong dự án phát triển 
phần mềm
6
 Các yếu tố chính làm thay ñổi sự phát triển phần 
mềm
 Thuật ngữ
 Phân loại phần mềm
 ðặc tính của phần mềm
Công nghệ phần mềm là gì?
 1968/69 NATO conferences: Giới thiệu thuật ngữ 
“Software Engineering”
7
 Ý tưởng: Phát triển phần mềm không phải là nghệ 
thuật hay kế sách
 Xây dựng phần mềm giống như chúng ta xây các 
cây cầu?
Mối quan hệ về phân bổ giá giữa 
phần cứng và phần mềm
Hardware
Development
100
60
P
e
r
c
e
n
t
o
f
t
o
t
a
l
c
o
s
t
8
Software
Maintenance
1955 1970 1985
20
P
e
r
c
e
n
t
o
f
t
o
t
a
l
c
o
s
t
Khủng hoảng phần mềm những 
năm 70
9
ở ñầu thế kỹ 21
10
ðịnh nghĩa về CNPM
 IEEE: CNPM là
(1) Việc áp dụng phương pháp tiếp cận có hệ thống, 
có kỹ luật và ñược lượng hóa trong phát triển, vận 
hành và bảo trì phần mềm; 
11
(2) Nghiên cứu các phương pháp tiếp cận ñược dùng 
trong (1)
 NATO: CNPM là việc thiết lập và dùng các nguyên tắc 
công nghệ ñúng ñắn ñể thu ñược phần mềm một cách 
kinh tế nhất và chạy hiệu quả trên các máy thật.
ðịnh nghĩa về CNPM
 Mục tiêu của CNPM là làm sao ñể tạo ra phần mềm:
 Có chất lượng cao
 ðúng, thỏa yêu cầu khách hàng
 Dễ khai thác, vận hành
12
 Dễ bảo trì
 ðúng kế hoạch thời gian
 Trong phạm vi ngân sách dự kiến
 Giá thành ngày càng hạ
Các giai ñoạn trong phát triển 
phần mềm
Phân tích yêu cầu
Thiết kế
13
Cài ñặt
Kiểm thử
Bảo trì
Các giai ñoạn trong phát triển 
phần mềm
 Phân tích yêu cầu: thu thập mô tả ñầy ñủ của bài 
toán
 Chức năng/tính năng của PM
 Khả năng mở rộng
14
 Các loại tài liệu ñòi hỏi
 Thời gian ñáp ứng hoặc các yêu cầu về chất lượng của 
hệ thống
 Nghiên cứu khả thi
 Thiết kế: mô hình hóa hệ thống, module hóa hệ 
thống
Các giai ñoạn trong phát triển 
phần mềm
 Cài ñặt: tập trung vào từng module riêng lẻ:
 Giải thuật
 Tài liệu
 Coding
15
 Kiểm thử: sự kiểm tra (verification) và sự xác 
nhận tính hợp lệ (validation) của
 Tài liệu ñặc tả
 Thiết kế
 Module
 Chuyển tiếp giữa các giai ñoạn
Các giai ñoạn trong phát triển 
phần mềm
 Bảo trì
 Sửa lỗi(Corrective maintenance): sửa lỗi phần mềm
 Thích ứng (adaptive maintenance): ðáp ứng sự 
thay ñổi về môi trường.
16
 Hoàn thiện (perfective maintenance): ðáp ứng sự 
thay ñổi yêu cầu của người dùng
 Phòng ngừa (preventive maintenance): Tăng cường 
khả năng bảo trì trong tương lai như cập nhật tài 
liệu, thêm chú thích, thay ñổi cấu trúc của hệ 
thống…
Các giai ñoạn trong phát triển 
phần mềm
 Sự phân bổ các hoạt ñộng bảo trì
corrective 21%
17
adaptive 25%
preventive 4%
perfective 50%
Các giai ñoạn trong phát triển 
phần mềm
 Công sức của từng giai ñoạn: 40 – 20 – 40 
Cài ñặt 20%Thiết kế 15%
18
Kiểm thử 45%
ðặc tả 10%
Xác ñịnh yêu cầu 10%
Các giai ñoạn trong phát triển 
phần mềm
 Công sức của từng giai ñoạn
 Hoạt ñộng bảo trì chiếm khoảng 50 – 70% toàn bộ 
công sức
 Các loại bảo trì: Hoàn thiện, Phòng ngừa, Hiệu chỉnh 
19
và Thích ứng 
 Sự phân phối của các loại bảo trì
Hiệu chỉnh 21%
Thích ứng 25%
Phòng ngừa 4%
Hoàn thiện 50%
Những người tham gia trong dự 
án phát triển phần mềm
 Những người tham gia: Khách hàng, Nhà phát 
triển và Người sử dụng.
20
Những người tham gia trong dự 
án phát triển phần mềm
 Các thành viên trong ñội phát triển phần mềm:
 Nhà phân tích yêu cầu: làm việc với khách hàng ñể xác ñịnh 
các yêu câu
 Nhà thiết kế: tạo ra bản mô tả mức hệ thống về cái mà hệ thống 
phải thực hiện
21
 Lập trình viên: viết mã lệnh cài ñặt sự thiết kế
 Nhà kiểm thử: bắt các lỗi và ñáp ứng các thay ñổi
 Người hướng dẫn: chỉ dẫn người dùng cách sử dụng hệ thống
 Nhóm bảo trì: chỉnh sửa các lỗi mà chúng xuất hiện sau này
 Thủ thư: chuẩn bị và lưu giữ các tài liệu chẳng hạn như các ñặc 
tả yêu cầu
 Nhóm quản lý cấu hình: duy trì sự phù hợp giữa các thành phần 
ñược tạo ra
Những người tham gia trong dự 
án phát triển phần mềm
 Các vai trò tiêu biểu ñược thực hiện bởi những thành viên 
trong ñội phát triển phần mềm
22
Các yếu tố chính làm thay ñổi sự 
phát triển phần mềm
 Các yếu tố chính:
23
Các thuật ngữ
24
Phân loại phần mềm
25
Phân loại phần mềm
26
Các ñặc tính của phần mềm
27
Tóm tắc chương
28
Bài tập
Tìm hiểu về các mô hình tiến trình phần mềm
29/27

File đính kèm:

  • pdfBài giảng Nhập môn công nghệ phần mềm - Trương Minh Thái - Chương 1 Giới thiệu về công nghệ phần mềm.pdf