Bài giảng Công nghệ phần mềm ứng dụng - Bài 1: Giới thiệu chung về công nghệ học phần mềm - Thạc Bình Cường

CÔNG NGHỆ PHẦN MỀM ỨNG DỤNG  
Giảng viên: ThS. Thạc Bình Cường  
BÀI 1  
GIỚI THIỆU CHUNG VỀ  
CÔNG NGHỆ HỌC PHẦN MỀM  
Giảng viên: ThS. Thạc Bình Cường  
2
v1.0015112208  
MỤC TIÊU BÀI HỌC  
• Trình bày được các khái niệm về phần mềm; kỹ  
nghệ phần mềm, xây dựng quy trình phát triển  
phần mềm. Vòng đời phần mềm.  
• Khái quát các trường hợp cụ thể của phần mềm  
hệ thống, phần mềm ứng dụng.  
3
v1.0015112208  
CÁC KIẾN THỨC CẦN CÓ  
• Tin học đại cương;  
• Ngôn ngữ lập trình;  
• Phân tích thiết kế hệ thống thông tin.  
4
v1.0015112208  
HƯỚNG DẪN HỌC  
• Sinh viên đọc tài liệu tham khảo.  
• Tìm hiểu các ví dụ về các doanh nghiệp hiện  
nay sử dụng công nghệ thông tin như thế nào?  
• So sánh giá trị của phần mềm và phần cứng  
ngày càng thay đổi vai trò với nhau  
• Đọc và tìm hiểu các khái niệm trừu tượng thông  
qua các mô hình, các hình vẽ minh họa.  
• Dựa vào các ví dụ như hàng không, thuế, ngân  
hàng, giáo dục... Để thấy rõ vai trò và quy trình  
công nghệ phần mềm.  
5
v1.0015112208  
CẤU TRÚC NỘI DUNG  
1.1  
1.2  
Phần mềm  
Các vấn đề liên quan đến phần mềm  
1.3  
Công nghệ học phần mềm  
6
v1.0015112208  
1.1. PHẦN MỀM  
1.1.1. Định nghĩa chung  
1.1.2. Kiến trúc phần mềm  
về phần mềm  
1.1.4. Đặc tính chung của  
phần mềm  
1.1.3. Khái niệm  
1.1.5. Thế nào là phần  
mềm tốt  
1.1.6. Các ứng dụng  
phần mềm  
7
v1.0015112208  
1.1.1. ĐỊNH NGHĨA CHUNG VỀ PHẦN MỀM  
• Phần mềm (Software - SW) như một khái niệm đối nghĩa với phần cứng (Hardware -  
HW), tuy nhiên, đây là 2 khái niệm tương đối.  
• Từ xưa, SW như thứ được cho không hoặc bán kèm theo máy (HW).  
• Dần dần, giá thành SW ngày càng cao và nay cao hơn HW.  
• Các đặc tính của SW và HW:  
HW  
SW  
Vật “cứng”  
Kim loại  
Vật “mềm”  
Kỹ thuật sử dụng  
Trừu tượng  
Vô hình  
Vật chất  
Hữu hình  
Sản xuất công nghiệp bởi máy móc là chính Sản xuất bởi con người là chính  
Định lượng là chính  
Hỏng hóc, hao mòn  
Định tính là chính  
Không hao mòn  
8
v1.0015112208  
1.1.1. ĐỊNH NGHĨA CHUNG VỀ PHẦN MỀM  
• Định nghĩa 1: Các lệnh (chương trình máy tính) khi được thực hiện thì cung cấp  
những chức năng và kết quả mong muốn. Các cấu trúc dữ liệu làm cho chương  
trình thao tác thông tin thích hợp. Các tư liệu mô tả thao tác và cách sử dụng  
chương trình.  
• SW đối nghĩa với HW:  
Vai trò SW ngày càng thể hiện trội;  
Máy tính là chiếc hộp không có SW;  
Ngày nay, SW quyết định chất lượng một hệ thống máy tính, là chủ đề cốt lõi,  
trung tâm của hệ thống máy tính;  
Hệ thống máy tính gồm HW và SW.  
• Định nghĩa 2: Trong một hệ thống máy tính, nếu trừ bỏ đi các thiết bị và các loại phụ  
kiện thì phần còn lại chính là phần mềm (SW).  
Nghĩa hẹp: SW là dịch vụ chương trình để tăng khả năng xử lý của phần cứng  
của máy tính (như hệ điều hành - OS).  
Nghĩa rộng: SW là tất cả các kỹ thuật ứng dụng để thực hiện những dịch vụ chức  
năng cho mục đích nào đó bằng phần cứng.  
. Không chỉ SW cơ bản và SW ứng dụng.  
. Phải gồm cả khả năng, kinh nghiệm thực tiễn và kỹ năng của kỹ sư (người  
chế ra phần mềm).  
. Là tất cả các kỹ thuật làm cho sử dụng phần cứng máy tính đạt hiệu  
9
quả cao.  
v1.0015112208  
1.1.1. ĐỊNH NGHĨA CHUNG VỀ PHẦN MỀM (tiếp theo)  
• Phần mềm là gì?  
Nhóm các kĩ thuật, phương pháp  
Nhóm các  
kỹ thuật,  
luận:  
. Các khái niệm và trình tự cụ  
phương pháp  
luận  
thể hóa một hệ thống;  
. Các phương pháp tiếp cận  
giải quyết vấn đề;  
. Các trình tự thiết kế và phát  
Nhóm các  
tư liệu  
Nhóm các  
chương trình  
triển được chuẩn hóa;  
. Các phương pháp đặc tả yêu  
cầu, thiết kế hệ thống, thiết kế  
chương trình, kiểm thử, toàn  
bộ quy trình quản lý phát triển  
phần mềm.  
Kinh nghiệm kỹ sư,  
know-how  
10  
v1.0015112208  
1.1.1. ĐỊNH NGHĨA CHUNG VỀ PHẦN MỀM (tiếp theo)  
Nhóm các chương trình:  
. Là phần giao diện với phần cứng, tạo thành từ các nhóm lệnh chỉ thị cho máy  
tính biết trình tự thao tác xử lý dữ liệu.  
. Phần mềm cơ bản: Với chức năng cung cấp môi trường thao tác dễ dàng cho  
người sử dụng nhằm tăng hiệu năng xử lý của phần cứng (ví dụ như OS là  
chương trình hệ thống).  
. Phần mềm ứng dụng: Dùng để xử lý nghiệp vụ thích hợp nào đó (quản lý, kế  
toán…), phần mềm đóng gói, phần mềm của người dùng…  
Nhóm các tư liệu:  
. Những tư liệu hữu ích, có giá trị cao và rất cần thiết để phát triển, vận hành và  
bảo trì phần mềm.  
. Để chế ra phần mềm với độ tin cậy cao cần tạo ra các tư liệu chất lượng cao:  
đặc tả yêu cầu, mô tả thiết kế từng loại, điều kiện kiểm thử, thủ tục vận hành,  
hướng dẫn thao tác.  
Những yếu tố khác:  
. Sản xuất phần mềm phụ thuộc rất nhiều vào con người (kỹ sư phần mềm).  
Phần mềm phụ thuộc nhiều vào ý tưởng (idea) và kỹ năng (know-how) của  
người/nhóm tác giả.  
11  
v1.0015112208  
1.1.2. KIẾN TRÚC PHẦN MỀM  
a. Phần mềm nhìn từ cấu trúc phân cấp  
• Mức trên là hệ thống (system), dưới là các hệ thống con (subsystems).  
• Dưới hệ thống con là các chương trình.  
• Dưới chương trình là các Modules hoặc Subroutines với các đối số (arguments).  
• Kiến trúc phần mềm:  
12  
v1.0015112208  
1.1.2. KIẾN TRÚC PHẦN MỀM  
b. Phần mềm nhìn từ cấu trúc và thủ tục  
• Hai yếu tố cấu thành của phần mềm:  
Phương diện cấu trúc;  
Phương diện thủ tục.  
• Cấu trúc phần mềm: Biểu thị kiến trúc các chức năng mà phần mềm đó có và điều  
kiện phân cấp các chức năng (thiết kế cấu trúc).  
• Thiết kế chức năng: Theo chiều đứng (càng sâu càng phức tạp) và chiều ngang  
(càng rộng càng nhiều chức năng, qui mô càng lớn).  
• C
13  
v1.001511
1.1.2. KIẾN TRÚC PHẦN MỀM  
• Thủ tục (procedure) phần mềm:  
Là những quan hệ giữa các trình tự mà phần mềm đó có.  
Thuật toán với những phép lặp, rẽ nhánh, điều khiển luồng xử lý (quay lùi hay  
bỏ qua).  
Là cấu trúc lôgic biểu thị từng chức năng có trong phần mềm và trình tự thực  
hiện chúng.  
Thiết kế cấu trúc trước rồi sang chức năng.  
14  
v1.0015112208  
1.1.3. KHÁI NIỆM  
Chuẩn phân chia module  
15  
v1.0015112208  
1.1.3. KHÁI NIỆM  
a. Tính Module  
• Là khả năng phân chia phần mềm  
thành các module ứng với các chức  
năng, đồng thời cho phép quản lý  
tổng thể: Khái niệm phân chia và  
trộn (partion and merge).  
• Hai phương pháp phân chia module  
theo chiều:  
Sâu (depth, thẳng đứng): Điều  
khiển phức tạp dần;  
Rộng (width, nằm ngang):  
Module phụ thuộc dần.  
• Quan hệ giữa các module: Qua các  
đối số (arguments).  
16  
v1.0015112208  
1.1.3. KHÁI NIỆM  
b. Chi tiết hóa từng bước  
• Cách tiếp cận từ trên xuống (top-down approach)  
Trừu tượng hóa mức cao:  
Thế giới  
Thế giới bên ngoài;  
bên ngoài  
Trạng thái chưa rõ ràng.  
Chi  
tiết  
hóa  
Trừu tượng hóa mức trung gian:  
Xác định yêu cầu và đặc tả;  
Những định nghĩa yêu cầu.  
Đặc tả yêu cầu  
từng  
bước  
Trừu tượng hóa mức thấp:  
Ngôn ngữ  
Từng lệnh của chương trình được;  
Viết bởi ngôn ngữ thủ tục nào đó.  
chương trình  
17  
v1.0015112208  
1.1.3. KHÁI NIỆM  
• Ví dụ: Trình tự giải quyết vấn đề từ mức thiết kế chương trình đến mức lập trình  
Bài toán: Từ một nhóm N số khác nhau tăng dần, hãy tìm số có giá trị bằng K (nhập  
từ ngoài vào) và in ra vị trí của nó.  
Giải từng bước từ khái niệm đến chi tiết hóa từng câu lệnh bởi ngôn ngữ lập trình  
nào đó.  
Chọn giải thuật tìm kiếm nhị phân (phương pháp nhị phân).  
Cụ thể hóa thủ tục qua chức năng:  
Nhập giá trị K  
Bài toán đã cho  
Nhận giá trị nhóm N số  
Tìm kiếm giá trị (phương pháp nhị phân)  
In ra vị trí (nếu có)  
18  
v1.0015112208  
1.1.3. KHÁI NIỆM (tiếp theo)  
Mức mô tả chương trình (bằng PDL)  
19  
v1.0015112208  
1.1.3. KHÁI NIỆM (tiếp theo)  
Cụ thể hóa bước tiếp theo:  
Bắt đầu  
Đọc K  
Nhận giá trị cho mảng 1 chiều A(I), (I =1, 2, . . . ,.N)  
MIN = 1  
MAX = N  
DO WHILE (Có giá trị bằng K không, cho đến khi MIN > MAX)  
Lấy MID = (MIN + MAX) / 2  
IF A(MID) > K THEN  
MAX = MID - 1  
ELSE  
IF A(MID) < K THEN  
MIN = MID + 1  
ELSE  
In giá trị MID  
ENDIF  
ENDIF  
ENDDO  
Kết thúc  
20  
v1.0015112208  
Tải về để xem bản đầy đủ
pdf 58 trang yennguyen 22140 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Công nghệ phần mềm ứng dụng - Bài 1: Giới thiệu chung về công nghệ học phần mềm - Thạc Bình Cường", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_cong_nghe_phan_mem_ung_dung_bai_1_gioi_thieu_chung.pdf