1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Công nghệ phần mềm: Chương 1 - ĐH Công nghệ TP.HCM

77 17 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giới thiệu tổng quan về công nghệ phần mềm
Tác giả Jens Martensson
Trường học ĐH Công nghệ TP.HCM
Chuyên ngành Công nghệ phần mềm
Thể loại bài giảng
Thành phố TP.HCM
Định dạng
Số trang 77
Dung lượng 4,47 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Công nghệ phần mềm: Chương 1 Giới thiệu tổng quan về công nghệ phần mềm cung cấp cho người học những kiến thức như: Các khái niệm cơ bản; Quy trình công nghệ phần mềm; Các phương pháp xây dựng phần mềm; Công cụ & môi trường phát triển phần mềm; Yêu cầu đối với kỹ sư phần mềm. Mời các bạn cùng tham khảo!

Trang 1

BÀI GIẢNG CÔNG NGHỆ PHẦN MỀM

Trang 2

GIỚI THIỆU TỔNG QUAN VỀ CÔNG NGHỆ PHẦN

MỀM

Trang 3

1. Các khái niệm cơ bản

NỘI DUNG

Trang 5

Các khái niệm

Chương trình máy tính: Các chỉ thị để máy tính làm việc

Phần mềm: Các chương trình hỗ trợ thực hiện công iệc theo lĩnh vực chuyên ngành

Nhiệm vụ chính yếu của phần mềm: Thực hiện các công việc dễ dàng và nhanh chóng

Hoạt động của phần mềm: Mô phỏng lại các họat động của thế giới thực

Quá trình sử dụng một phần mềm: Thực hiện các công việc trên máy tính PHẦN MỀM

Trang 6

Mục tiêu của ngành công nghệ phần mềm: Xây dựng được các phần mềm có chất lượng, dễ

dàng tích hợp

PHẦN MỀM

Trang 7

Phân loại:

Nhóm 1: Phần mềm hệ thống

• Đảm nhận công việc tích hợp và điều khiển các thiết bị phần cứng,

• Tạo ra môi trường thuận lợi để các phần mềm khác và người sử dụng

thao tác trên đó

Nhóm 2: Phần mềm ứng dụng:

• Được dùng để thực hiện công việc xác định,

PHẦN MỀM

Trang 8

Phân loại:

Ngoài ra, phần mềm còn được chia làm 2 loại:

Sản phẩm đại trà: Phát triển để bán ra ngoài thị trường

Sản phẩm theo đơn đặt hàng: Phát triển theo yêu cầu cho

khách hàng riêng lẻ Ví dụ: Phần mềm chuyên dụng cho doanh nghiệp

PHẦN MỀM

Trang 9

Kiến trúc phần mềm: gồm 3 thành phần

PHẦN MỀM

Trang 10

Kiến trúc phần mềm: gồm 3 thành phần

Thành phần Giao tiếp (giao diện)

• Các phương thức nhập/xuất dữ liệu và hình thức trình bày, tổ chức lưu trữ dữ liệu

• Mục tiêu đưa dữ liệu từ thế giới bên ngoài vào phần mềm và ngược lại

• Tiếp nhận yêu cầu, cung cấp nguồn dữ liệu liên quan đến việc thực hiện

yêu cầu

• Trình bày các kết quả thực hiện các yêu cầu cho người dùng

PHẦN MỀM

Trang 11

Kiến trúc phần mềm: gồm 3 thành phần

Thành phần dữ liệu

• Các chức năng đọc ghi dữ liệu và mô hình tổ chức dữ liệu tương ứng

• Mục tiêu chính là chuyển đổi dữ liệu giữa bộ nhớ chính và bộ nhớ phụ, bao gồm:

ü Lưu trữ các kết quả đã xử lý

ü Truy xuất lại các dữ liệu đã lưu trữ phục vụ cho các hàm xử lý tương PHẦN MỀM

Trang 12

Kiến trúc phần mềm: gồm 3 thành phần

Thành phần xử lý:

• Các chức năng về xử lý tính toán, biến đổi dữ liệu

• Kiểm tra tính hợp lệ của dữ liệu nguồn theo ràng buộc

• Xử lý tạo kết quả mong đợi theo quy định

• Xuất kết quả qua giao diện hay lưu trữ lại

PHẦN MỀM

Trang 13

«Phần mềm chất lượng là phần mềm phải đáp ứng các chức năng theo yêu cầu, có hiệu năng tốt, có

khả năng bảo trì, đáng tin cậy, và được người sử dụng chấp nhận»

1.1.2 CHẤT LƯỢNG PHẦN MỀM

Trang 14

1.1.2 CHẤT LƢỢNG PHẦN MỀM

Trang 15

Tính đúng đắn:

• Thực hiện đầy đủ và chính xác các yêu cầu

• Tính đúng đắn được xác định trên cơ sở:

• Tính đúng đắn của giải pháp xử lý / thuật toán,

• Tính đúng đắn của tập mã lệnh hoặc nội dung của chương trình,

• Tính đúng đắn qua kiểm thử, việc áp dụng chương trình trong một

khoảng thời gian dài, trên diện rộng và với tần suất sử dụng cao

1.1.2 CHẤT LƯỢNG PHẦN MỀM

Trang 16

Tính tiến hóa

• Sản phẩm có thể mở rộng, cập nhật thêm chức năng mới dễ dàng

• Dễ dàng cập nhật các quy trình nghiệp vụ

Tính hiệu quả

• Hiệu quả kinh tế, ý nghĩa, giá trị thu được

• Hiệu quả sử dụng (tốc độ xử lý của phần mềm …)

• Hiệu quả kỹ thuật (tối ưu tài nguyên của máy tính: CPU, bộ nhớ, không

gian xử lý )

1.1.2 CHẤT LƢỢNG PHẦN MỀM

Trang 17

Tính tiện dụng và thân thiện

1.1.2 CHẤT LƢỢNG PHẦN MỀM

Trang 18

Tính tương thích:

• Khả năng trao đổi dữ liệu với các phần mềm khác (như: nhận danh sách

nhân viên từ tập tin Excel …)

• Gồm Giao tiếp nội bộ và giao tiếp bên ngoài

Tính tái sử dụng:

• Có thể áp dụng cho nhiều lĩnh vực theo nhiều chế độ làm việc khác nhau,

• Áp dụng về mặt kỹ thuật hay phối hợp về mặt sử dụng với các phần mềm

khác

1.1.2 CHẤT LƢỢNG PHẦN MỀM

Trang 19

Sự ra đời của công nghệ phần mềm

• Từ 1950, máy tính điện tử ra đời, các phần mềm được tạo với số lượng rất

ít, chủ yếu cho quốc phòng

• Đến 1960, phần mềm được ứng dụng rộng rãi trong nhiều lĩnh vực

• Năm 1968 “khủng hoảng phần mềm” do:

• Nhu cầu số lượng phần mềm tăng nhanh do sự phát triển của phần cứng

• Các phần mềm dùng mắc nhiều khuyết điểm như: Thiếu chính xác, không ổn

định, bảo trì nâng cấp khó khăn, khó chuyển đổi dữ

1.1.3 CÔNG NGHỆ PHẦN MỀM

Trang 20

Sự ra đời của công nghệ phần mềm

Hội nghị được triệu tập và đưa ra kết luận:

• Tăng số lượng phần mềm trong tương lai

• Khắc phục các khuyết điểm của phương pháp xây dựng phần mềm hiện

tại:

(khảo sát hiện trạng, phân tích yêu cầu, thiết kế …)

dịch (compiler)

1.1.3 CÔNG NGHỆ PHẦN MỀM

Trang 21

• CNPM là một lĩnh vực nghiên cứu của tin học nhằm đề xuất các nguyên lý, phương pháp, công cụ,

cách tiếp cận phục vụ cho việc thiết kế, hiện thực các phần mềm đạt được đầy đủ các yêu cầu về chất

lượng phần mềm” Hay:

• CNPM là một ngà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ý

Định nghĩa

Trang 22

Định nghĩa 1: Công nghệ phần mềm là là một lĩnh vực nghiên cứu của tin học nhằm đề xuất các

mềm đạt được đầy đủ các yêu cầu về chất lượng phần mềm.

Định nghĩa

Định nghĩa 2: CNPM là một ngà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ý.

Trang 23

Quy trình CNPM: Hệ thống các giai đoạn phát triển phần mềm, xác định rõ mục tiêu, kết quả chuyển

giao cho giai đoạn kết tiếp

Phươnng pháp phát triển phần mềm: Hệ thống các hướng dẫn cho phép từng bước thực hiện các

giai đoạn trong quy trình CNPM

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

ĐỐI TƯỢNG NGHIÊN CỨU

Trang 24

• Khi phần mềm càng được phát triển mạnh 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 hoàn thiện cho CNPM

Khác nhau giữa CN PHẦN MỀM & KH MÁY TÍNH

Trang 25

Bước xác định:

• Đây là bước hình thành dự án

• Xác định được vai trò của phần mềm , ước lượng công việc, lập lịch

biểu và phân chia công việc

• Xác định được yêu cầu của khách hàng Các yêu cầu được thu thập đầy

đủ, phân tích rộng và sâu

• Công cụ sử dụng: Là các sơ đồ phản ánh các thành phần của hệ thống và

mối liên quan giữa chúng

1.2 QUY TRÌNH CÔNG NGHỆ PHẦN MỀM

Trang 26

Bước phát triển

Đặc tả: Dùng ngôn ngữ đặc tả mô tả những yếu tố của chương

trình: Giá trị nhập/ xuất/biến đổi Chỉ quan tâm giá trị vào/ra không

quan tâm đến cấu trúc và nội dung các thao tác cần thực hiện

Xây dựng: Chuyển các đặc tả chương trình thành sản phẩm phần mềm dựa trên NNLT cụ thể

Kiểm thử: Chứng minh tính đúng đắn của chương trình với các tập

dữ liệu thử nghiệm khác nhau dựa vào kết

1.2 QUY TRÌNH CÔNG NGHỆ PHẦN MỀM

Trang 27

Bước bảo trì (Vận hành)

• Công tác quản lý việc triển khai và sử dụng phần mềm

• Tất cả kết quả phân tích, thiết kế, hiện thực và hồ sơ liên quan phải được

lưu trữ và quản lý phục vụ cho công việc bảo trì phần mềm, trong suốt quá

trình sống.

1.2 QUY TRÌNH CÔNG NGHỆ PHẦN MỀM

Trang 28

• Có nhiều dạng mô hình khác nhau để triển khai các bước trong quá trình phát triển phần mềm

• Mỗi mô hình sẽ chia vòng đời của phần mềm khác nhau, để đảm bảo quy trình phát triển thành công

Trang 29

• Chia quá trình phát triển PM thành những giai đoạn tuần tự nối tiếp Kết quả của giai đoạn trước là

đầu vào cho giai đoạn kế tiếp

Mô hình thác nước có 5 giai đoạn

MÔ HÌNH THÁC NƯỚC

Trang 30

Xác định yêu cầu: Tiến hành khi có nhu cầu xây dựng PM

Mục tiêu : Xác định chính xác các yêu cầu của P.Mềm

Kết quả nhận : Thông tin về hoạt động của thế giới thực

Kết quả chuyển giao : Các yêu cầu (công việc sẽ thực hiện trên

máy tính) cùng với các thông tin mô tả chi tiết về các yêu cầu

(cách thức thực hiện)

MÔ HÌNH THÁC NƯỚC

Trang 31

Phân tích: Tiến hành ngay sau việc xác định yêu cầu.

Mục tiêu: Mô tả yêu cầu bằng mô hình

Kết quả nhận: Các yêu cầu cùng thông tin liên quan

Kết quả chuyển giao:

• Mô hình xử lý (các công việc và Quan hệ)

• Mô hình dữ liệu (các thông tin được sử dụng và QH)

• Mô hình khác (không gian, thời gian, con người…)

MÔ HÌNH THÁC NƯỚC

Trang 32

Thiết kế: Tiến hành sau khi kết thúc việc phân tích

Mục tiêu: Mô tả các thành phần của phần mềm

Kết quả nhận: Mô hình thế giới thực

Kết quả chuyển giao:

MÔ HÌNH THÁC NƯỚC

Trang 33

Hiện thực: Tiến hành ngay sau kết thúc việc thiết kế

Mục tiêu: Tạo lập phần mềm theo yêu cầu

Kết quả nhận: Mô hình phần mềm

Kết quả chuyển giao: Chương trình nguồn của phần mềm với

CTDL tương ứng và chương trình thực hiện.

MÔ HÌNH THÁC NƯỚC

Trang 34

Kiểm thử: Tiến hành sau kết quả hiện thực (lập trình)

Mục tiêu: Tăng độ tin cậy của phần mềm

Kết quả nhận: các yêu cầu, mô hình phần mềm,…

Kết quả chuyển giao: Phần mềm có độ tin cậy cao.

MÔ HÌNH THÁC NƯỚC

Trang 35

Bảo trì: Công việc của giai đoạn bao gồm việc cài đặt và vận hành phần mềm trong thực tế

Trang 36

Nhận xét:

• Dễ phân chia quá trình xây dựng PM thành những giai đoạn độc lập

• Các dự án lớn ít khi tuân theo dòng chảy tuần tự của mô hình (cần lặp lại

các bước để nâng chất lượng, khách hàng ít tuyên bố hết các yêu cầu

trong giai đoạn phân tích)

• Rất khó thay đổi khi đã thực hiện xong một giai đoạn, khó thay đổi các yêu

cầu theo ý khách hàng

• Phương pháp này chỉ thích hợp đã hiểu rất rõ các yêu cầu của khách

hàng, những thay đổi sẽ được giới hạn

MÔ HÌNH THÁC NƯỚC

Trang 37

Mô hình thác nước cải tiến: Mô hình thác nước có thể được cải tiến bằng cách cho phép quay lui khi

phát hiện lỗi trong giai đoạn phía trước.

MÔ HÌNH THÁC NỨỚC

Trang 38

• Tương tự như mô hình thác nước nhưng bổ sung thêm giai đoạn thực hiện phần mềm mẫu

• Có thể tiến hành lặp lại mà không nhất thiết theo trình tự nhất định.

MÔ HÌNH BẢN MẪU

Trang 39

• Sau giai đoạn Xác định yêu cầu phân tích, đưa ra một bản thiết kế sơ bộ

• Tiếp theo, tiến hành hiện thực bản mẫu đầu tiên và chuyển cho người sử dụng

• Bản mẫu này chỉ nhằm để mô tả cách thức phần mềm hoạt động và tương tác với người dùng

MÔ HÌNH BẢN MẪU

Trang 40

• Người dùng sau khi xem xét bản mẫu sẽ phản hồi thông tin cần thiết lại cho nhóm phát triển

• Nếu người dùng đồng ý với bản mẫu, nhóm phát triển sẽ tiến hành hiện thực Ngược lại, phải quay lại

giai đoạn xác định yêu cầu

• Lặp lại liên tục cho đến khi người sử dụng đồng ý với bản mẫu do nhà phát triển đưa ra.

MÔ HÌNH BẢN MẪU

Trang 41

• Nhận xét

• Là một hướng tiếp cận tốt khi các yêu cầu chưa rõ ràng

• Tính cấu trúc không cao dễ mất tin tưởng của khách hàng, và thiếu tầm

nhìn của cả quy trình;

• Chỉ nên áp dụng với những hệ thống có tương tác ở mức độ nhỏ/vừa; một

phần của hệ thống lớn; hoặc có thời gian chu kỳ tồn tại ngắn

MÔ HÌNH BẢN MẪU

Trang 42

• Là sự kết hợp của mô hình bản mẫu thiết kế và mô hình thác nước được lặp lại nhiều lần.

MÔ HÌNH XOẮN ỐC

Trang 43

• Ở lần lặp tiếp theo, hệ thống sẽ được tìm hiểu và xây dựng hoàn thiện hơn ở lần lặp trước đó

• Yêu cầu của người dùng ngày càng rõ ràng hơn, và các bản mẫu phần mềm ngày một hoàn thiện hơn.

• Ngoài ra, ở cuối mỗi lần lặp sẽ có thêm công đoạn phân tích mức độ rủi ro để quyết định xem có nên

đi tiếp theo hướng này hay không

• Mô hình này phù hợp với các hệ thống phần mềm lớn do có khả năng kiểm soát rủi ro ở từng bước

tiến hóa.

MÔ HÌNH XOẮN ỐC

Trang 44

Khái niệm

• Có thể áp dụng nhiều phương pháp xây dựng phần mềm Mỗi phương pháp có

• Ưu khuyết điểm riêng, phù hợp riêng từng loại phần mềm

• Các hướng dẫn cụ thể những công việc cần thực hiện trong từng giai

đoạn của quá trình phát triển phần mềm

• Quy định những cách thức khác nhau để trình bày các kết quả thu được;

để các thành viên tham gia có thể trao đổi thông tin trong việc xây dựng

PM

1.4 CÁC PHƯƠNG PHÁP XÂY DỰNG P.MỀM

Trang 45

Phân loại

năng; hướng dữ liệu; hướng đối tượng

Theo cách thức 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, chi phí, lập kế hoạch và theo dõi quá trình triển khai.

1.4 CÁC PHƯƠNG PHÁP XÂY DỰNG P.MỀM

Trang 46

Cách tiếp cận từ trên xuống (top-down)

• Cách giải quyết vấn đề theo hướng phân tích

• Bắt đầu với những thành phần chính của hệ thống

• Sau đó, được phân tích thành các thành phần chi tiết và cụ thể hơn

• Quá trình phân tích sẽ kết thúc khi kết quả thu được có mức độ phức tạp

đúng với ý muốn

1.4 CÁC PHƯƠNG PHÁP XÂY DỰNG P.MỀM

Trang 47

Cách tiếp cận từ dưới lên (bottom-up)

• Cách giải quyết vấn đề theo hướng tổng hợp (ngược lại với phương pháp từ trên xuống)

• Tiến hành xây dựng những thành phần chi tiết dự tính là sẽ có trong hệ

thống

• Sau đó, sẽ kết hợp các thành phần chi tiết này lại với nhau để tạo nên các

thành phần chính

1.4 CÁC PHƯƠNG PHÁP XÂY DỰNG P.MỀM

Trang 48

Phương pháp hướng chức năng

• Thực hiện dựa trên các chức năng mà hệ thống cần thực hiện, chú trọng

đến thành phần xử lý với các thao tác tính toán, phát sinh, biến đổi …

• Phương pháp chung để giải quyết vấn đề là áp dụng nguyên lý “chia để

trị”

• Chia các công việc lớn thành các công việc nhỏ hơn để ta có thể tiến hành

xây dựng hoàn chỉnh

1.4 CÁC PHƯƠNG PHÁP XÂY DỰNG P.MỀM

Trang 49

Phương pháp hướng chức năng

• Chú trọng cách giải quyết vấn đề nhưng không có khả năng che dấu các

thông tin trạng thái

• Dẫn đến các chức năng trong hệ thống sẽ không tương thích khi thực hiện

thay đổi các thông tin

Cách tiếp cận này chỉ thích hợp khi trong hệ thống có rất ít thông tin cần

phải quản lý và chia sẻ giữa các chức năng với nhau.

1.4 CÁC PHƯƠNG PHÁP XÂY DỰNG P.MỀM

Trang 50

Phương pháp hướng chức năng

• Để mô hình hóa cách xử lý thông tin, ta dùng lược đồ dòng dữ liệu (DFD, Data Flow Diagrams)

1.4 CÁC PHƯƠNG PHÁP XÂY DỰNG P.MỀM

Trang 51

Phương pháp hướng dữ liệu

• Phương pháp Hướng DL chú trọng nhiều đến thành phần DL cần phải xử

lý là tổ chức dữ liệu, khối lượng lưu trữ, tốc độ truy xuất …

• Bắt đầu với việc thiết kế các CTDL, sau đó mới tiến hành thiết kết các thao

tác để vận hành

• Chỉ thích hợp cho loại phần mềm có chức năng chính là lưu trữ và thao

tác trên các loại dữ liệu

• Hạn chế là không quan tâm đến các chức năng mà hệ thống cần phải đáp

1.4 CÁC PHƯƠNG PHÁP XÂY DỰNG P.MỀM

Trang 52

Phương pháp hướng dữ liệu

• Kết quả thu được sau khi thiết kế theo phương pháp hướng dữ liệu là mô

hình thực thể kết hợp (Entity Relationship Diagram, ERD)

1.4 CÁC PHƯƠNG PHÁP XÂY DỰNG P.MỀM

Trang 53

Phương pháp hướng đối tượng

• Là sự kết hợp của PP Hướng Dữ liệu PP Hướng Chức năng

• Chú trọng đến cả thành phần dữ liệu chức năng của hệ thố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 Các đối tượng chính là những sự vật và hiện tượng vật lý

thực hiện

1.4 CÁC PHƯƠNG PHÁP XÂY DỰNG P.MỀM

Trang 54

• Các đối tượng giao tiếp nhau bằng cách gửi các thông điệp các thông điệp xử lý được gọi là giao

diện của đối tượng.

• Khi đó mọi thao tác liên quan đến các đối tượng được phải thực hiện thông qua giao diện của đối

tượng.

• Điều này giúp ta đảm bảo rằng các thông tin bên trong các đối tượng đưọc bảo vệ một cách chắc chắn

1.4 CÁC PHƯƠNG PHÁP XÂY DỰNG P.MỀM

Trang 55

1.4 CÁC PHƯƠNG PHÁP XÂY DỰNG P.MỀM

Trang 56

Mở đầu

• Là các phần mềm hỗ trợ trong quá trình xây dựng PM (CASE - Computer Aided Software Engineering)

• Hỗ trợ cho một/một số giai đoạn gọi là môi trường phát triển phần mềm

(SDE, Software Development Environment), gồm 2 hình thức chính:

• Cho phép lưu / cập nhật kết quả chuyển giao với phương pháp nào đó

• Phát sinh ra kết quả chuyển giao cho giao đoạn sau

1.5 C.CỤ & M.TRƯỜNG PHÁT TRIỂN P.MỀM

Trang 57

Phần mềm hỗ trợ phân tích

• Soạn thảo các mô hình khái niệm, Ánh xạ vào mô hình luận lý , các phần

mềm thông dụng: WinA&D, Analyst Pro, Rational Rose, Enterprise

Architect…

Phần mềm hỗ trợ thiết kế

• Soạn thảo các mô hình luận lý, Ánh xạ vào mô hình vật lý, các phần mềm

1.5 C.CỤ & M.TRƯỜNG PHÁT TRIỂN P.MỀM

Ngày đăng: 20/06/2021, 09:10

🧩 Sản phẩm bạn có thể quan tâm