Tải bản đầy đủ (.ppt) (326 trang)

Bài giảng Công nghệ phần mềm - ThS. Đinh Thị Lương

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.1 MB, 326 trang )

CÔNG NGHỆ PHẦN MỀM
ThS. Đinh Thị Lương


05/10/21

1


Giới thiệu
 Số tiết: 45
 Điểm tổng kết



05/10/21

Semina giữa kỳ: 30%
Thi cuối kỳ: 70%

2


Tài liệu tham khảo
 R.
Pressman,
"Software
Engineering A
Practitioner's Approach", 2001
 Ian Sommerville’s , “Software Engineering 7th
Ed.”, 2005


 Các giáo trình, bài giảng môn Công nghệ Phần
mềm của Khoa Công nghệ Thông tin của các
trường Đại học trên thế giới.

05/10/21

3


Tài liệu tham khảo
 R.
Pressman,
"Software
Engineering A
Practitioner's Approach", 2001
 Ian Sommerville’s , “Software Engineering 7th
Ed.”, 2005
 Các giáo trình, bài giảng môn Công nghệ Phần
mềm của Khoa Công nghệ Thông tin của các
trường Đại học trên thế giới.

05/10/21

4


Các vấn đề liên quan
 Điều kiện tiên quyết:







Có kiến thức về ngơn ngữ lập trình và đã từng lập
trình các ứng dụng cơ bản
Có khả năng áp dụng những cấu trúc dữ liệu và giải
thuật.
Có hiểu biết về kiến trúc máy tính, mạng máy tính.

5


Các vấn đề liên quan (tt1)
 Mục tiêu môn học: giúp sinh viên








05/10/21

Hiểu và giải thích được quy trình phát triển phần mềm
Phân tích được các yêu cầu của người sử dụng
Lựa chọn một mơ hình quy trình phát triển phần mềm
thích hợp cho một sản phẩm cụ thể.
Giải thích tầm quan trọng của các hoạt động đánh giá

chất lượng phần mềm.
Biết được phải tạo ra những kết quả gì trong từng
giai đoạn của quy trình phát triển phần mềm.
Áp dụng các mơ hình thiết kế hệ thống thích hợp cho
từng sản phẩm cụ thể.
Sử dụng các CASE Tool để hỗ trợ quá trình phát triển
phần mềm.

6


Nội dung chương trình
 Chương 1 Tổng quan về cơng nghệ phần mềm



Giới thiệu về một số khái niệm cơ bản
Thế nào là một phần mềm tốt?





05/10/21

Thách thức đối với cơng nghệ phần mềm?

Vấn đề về tính chun nghiệp và đúng quy tắc
Bài tập


7


Nội dung chương trình (tt1)
 Chương 2 Quy trình xây dựng phần mềm




05/10/21

Một số mơ hình phát triển phần mềm
Các hoạt động trong quy trình phần mềm
Bài tập

8


Nội dung chương trình (tt2)
 Chương 3





05/10/21

Yêu cầu hệ thống

Yêu cầu hệ thống

Yêu cầu của người sử dụng
Tài liệu đặc tả yêu cầu
Bài tập

9


Nội dung chương trình (tt3)
 Chương 4






05/10/21

Quy trình xác định yêu cầu

Phân tích khả thi
Phát hiện và phân tích yêu cầu
Đánh giá yêu cầu
Lập kế hoạch quản lý yêu cầu
Bài tập

10


Nội dung chương trình (tt5)
 Chương 5








05/10/21

Các mơ hình hệ thống

Mơ hình ngữ cảnh
Mơ hình ứng xử
Mơ hình dữ liệu
Mơ hình đối tượng
Phương pháp hướng cấu trúc
Bài tập

11


Nội dung chương trình (tt6)
 Chương 6 Thiết kế kiến trúc








05/10/21

Thiết kế kiến trúc là gì?
Tổ chức hệ thống
Phân rã hệ thống
Các chiến lược điều khiển
Các kiến trúc tham chiếu
Bài tập

12


Nội dung chương trình (tt7)
 Chương 7




05/10/21

Thiết kế giao diện người dùng

Giao diện người dùng
Quy trình thiết kế giao diện người dùng
Bài tập

13


Nội dung chương trình (tt8)

 Chương 8





05/10/21

Cải tiến phần mềm

Bảo trì phần mềm
Các quy trình cải tiến phần mềm
Tái kỹ nghệ hệ thống
Bài tập

14


Nội dung chương trình (tt9)
 Chương 9




05/10/21

Kiểm thử phần mềm

Quy trình kiểm thử
Kiểm thử hệ thống

Bài tập

15


Nội dung chương trình (tt10)
 Chương 10







05/10/21

Quản lý dự án

Định nghĩa về quản lý dự án
Các hoạt động quản lý
Lập kế hoạch dự án
Lịch biểu của dự án
Quản lý rủi ro
Bài tập

16


Nội dung chương trình (tt11)
 Chương 11

Chuẩn và các quy trình hoạt
động trong cơng nghiệp phần mềm



Các quy trình hoạt động
Các vai trò trong hoạt động sản xuất phần mềm





05/10/21

Khái niệm vai trị
Các vai trị

Hệ thống chuẩn trong cơng nghiệp phần mềm

17


Chương 1

Tổng quan về
công nghệ phần mềm


Giới thiệu
 Ngày nay, tất cả các nước phát triển đều phụ

thuộc chủ yếu vào các hệ thống phần mềm. Và
càng ngày càng có nhiều hệ thống được kiểm
sốt bởi phần mềm. Do đó, việc xây dựng và bảo
trì hệ thống phần mềm một cách hiệu quả là yêu
cầu cần thiết đối với nền kinh tế toàn cầu và của
từng quốc gia.
 Khái niệm về công nghệ phần mềm được đưa ra
lần đầu tiên vào năm 1968 tại hội nghị thảo luận
về khủng hoảng phần mềm. Công nghệ phần
mềm đề cập tới các lý thuyết, phương thức và
công cụ để xây dựng phần mềm chuyên nghiệp,
mang lại lợi nhuận cao.
05/10/21

19


Giới thiệu (tt1)
 Trong chương đầu tiên, chúng ta sẽ tìm hiểu về
một số khái niệm cơ bản có liên quan tới phần
mềm và công nghệ phần mềm. Để từ đó, chúng
ta có những hiểu biết cơ bản để tiếp tục nghiên
cứu các chương tiếp theo.
 Ngồi ra, quy trình xây dựng phần mềm đòi hỏi
phải tuân thủ các nguyên tắc vơ cùng chặt chẽ.
Do đó, trong phần cuối chương này, chúng ta sẽ
tìm hiểu về những yêu cầu căn bản đối với một
kỹ sư phần mềm.

05/10/21


20


Mục tiêu
 Hiểu rõ các khái niệm liên quan đến phần mềm
và cơng nghệ phần mềm được trình bày trong
phần 1.
 Biết được một số nguyên tắc cơ bản về tính
chuyên nghiệp và đúng nguyên tắc đối với kỹ sư
phần mềm.
 Có thể tham khảo thêm về một số nguyên tắc của
“Code of Ethics” để hiểu rõ hơn về các nguyên
tắc đối với một kỹ sư phần mềm.

05/10/21

21


Một số khái niệm cơ bản
 Khi tìm hiểu về công nghệ phần mềm, chúng ta
thường đặt ra một số câu hỏi sau:













05/10/21

Phần mềm là gì?
Cơng nghệ phần mềm là gì?
Sự khác biệt giữa cơng nghệ phần mềm và khoa học máy
tính?
Sự khác biệt giữa cơng nghệ phần mềm và cơng nghệ hệ
thống?
Quy trình phần mềm là gì?
Mơ hình quy trình phát triển phần mềm là gì?
Chi phí của cơng nghệ phần mềm bao gồm những gì?
Các phương pháp cơng nghệ phần mềm là gì?
CASE (Computer-Aided Software Engineering) là gì?
Thế nào là một phần mềm tốt?
Những thách thức chính đối với công nghệ phần mềm?
22


Một số khái niệm cơ bản (tt1)
 Phần mềm là gì?




Phần mềm là các chương trình máy tính và những tài liệu

liên quan đến nó như: các u cầu, mơ hình thiết kế, tài liệu
hướng dẫn sử dụng… Do đó, chúng ta thấy rằng đặc điểm
của phần mềm là trừu tượng và vơ hình.
Các sản phẩm phần mềm được chia thành 2 loại:


Sản phẩm đại trà (Generic Product):




Sản phầm theo đơn đặt hàng (Bespoke Product hoặc
Customised Product):


05/10/21

được phát triển để bán ra ngoài thị trường, đối tượng người sử dụng
là tương đối đa dạng và phong phú. Những sản phẩm phần mềm
thuộc loại này thường là những phần mềm dành cho máy PC.

được phát triển cho một khách hàng riêng lẻ theo yêu cầu. Ví dụ:
Những hệ thống phần mềm chuyên dụng, hỗ trợ nghiệp vụ cho một
doanh nghiệp riêng lẻ …

23


Một số khái niệm cơ bản (tt2)
 Công nghệ phần mềm là gì?





05/10/21

Cơng nghệ phần mềm là những quy tắc cơng nghệ
(engineering discipline) có liên quan đến tất cả các
khía cạnh của quá trình sản xuất phần mềm.
Các kỹ sư phần mềm nên tuân theo một phương
pháp luận có hệ thống và có tổ chức trong cơng việc
của họ. Đồng thời, họ nên sử dụng các công cụ và kỹ
thuật thích hợp với vấn đề cần giải quyết, các ràng
buộc và tài nguyên sẵn có.

24


Một số khái niệm cơ bản (tt3)
 Sự khác biệt giữa cơng nghệ phần mềm và khoa
học máy tính?




05/10/21

Khoa học máy tính đề cấp tới lý thuyết và những vấn
đề cơ bản; cịn cơng nghệ phần mềm đề cập tới các
hoạt động xây dựng và đưa ra một phần mềm hữu

ích.
Khi sự phát triển của phần mềm trở lên mạnh mẽ thì
các lý thuyết của khoa học máy tính vẫn khơng đủ để
đóng vai trị là nền tảng hồn thiện cho công nghệ
phần mềm.

25


×