Bài tập lớn môn Công nghệ phần mềm | Đại học Công nghệ Tp HCM

Thuyết trình Bài tập lớn môn Công nghệ phần mềm của sinh viên trường Đại học Công nghệ Hồ Chí Minh, tài liệu gồm 37 trang giúp bạn củng cố kiến thức, ôn tập và đạt kết quả cao cuối học phần. Mời bạn đọc đón xem!

NHÓM 6-LỚP :CĐ TIN
31B
1
BÀI TẬP LỚN NHÓM 6
MÔN: CNPM
ĐỀ TÀI: “Thuyết giảng chương 1”
GVHD: Ths.Trương Đình
Thực hiện:
1.Lê Quang Vũ
2.Nguyễn Thị Bích Nguyệt
3.Trần Thị Bích Nguyên
4.Đặng Trần Đại
5.Lê Hùng Quốc
6.Phạm Thị Xuân Nữ
NHÓM 6-LỚP :CĐ TIN
31B
2
Khoa: Công Nghệ Thông Tin
Trường : Cao Đẳng Công Nghiệp Tuy Hòa
PHẦN MỀM VÀ KỸ NGHỆ PHẦN MỀM
NHÓM 6-LỚP :CĐ TIN
31B
3
1.Khái nim chung
1.Khái niệm chung
2. S phát triển ca phn mềm
2. S phát triển ca phn mềm
2. Sự phát triển của phần mềm
2. Sự phát triển của phần mềm
3.
3.
Phn mềm
Phn mềm
3.
3.
Phần mềm
Phần mềm
4.
4.
Kỹ ngh phn mềm
Kỹ ngh phn mềm
4.
4.
Kỹ nghệ phần mềm
Kỹ nghệ phần mềm
5.Các bưc tng quát trong tiến trình k
5.Các bưc tng quát trong tiến trình k
ngh phn mm
ngh phn mm
5.Các bước tổng quát trong tiến trình kỹ
5.Các bước tổng quát trong tiến trình kỹ
nghệ phần mềm
nghệ phần mềm
6.Đánh giá tng quát v cht lượng
h thng
6.Đánh giá tổng quát về chất lượng
hệ thống
Nội dung
NHÓM 6-LỚP :CĐ TIN
31B
4
Mục tiêu của công nghệ phần mềm là tạo ra
những phần mềm tốt, giảm đến tối thiểu những
may rủi có thể gây cho các người liên quan.
Trong quá trình đề cập, chúng ta sử dụng các
thuật ngữ:
Phần mềm :là 1 tập hợp các câu lệnh được viết
bằng 1 hay nhiều ngôn ngữ lập trình(gọi là các
chương trình), nhằm tự động thực hiện một số
các chức năng giải quyết một bài toán.
Công nghệ: là cách sử dụng các công cụ, các
kỹ thuật trong cách giải quyết 1 vấn đề.
1.1-Những khái niệm chung:
NHÓM 6-LỚP :CĐ TIN
31B
5
Công nghệ phần mềm: là sử dụng các công
nghệ một cách có hệ thống trong việc phát triển
ứng dụng dựa trên máy tính(phát triển, đưa vào
hoạt động, bảo trì, và loại bỏ phần mềm một
cách có hệ thống )
Mô hình 3 tầng của công nghệ phần mềm
Quy trình
Phương pháp
Công cụ
1.1-Những khái niệm chung(tt)
NHÓM 6-LỚP :CĐ TIN
31B
6
Chi tiết từng giai đoạn phát triển CNPM như sau:
Giai đoạn 1 (1950 – giữa 1960)
Xử lý theo lô, xử lý tập trung, ít xử lý phân tán, ít sửa đổi phần mềm
Giai đoạn 2 (từ giữa 1960 đến giữa 1970)
Hệ thống đa chương trình và đa nguời dùng
Bắt đầu cuộc “khủng hoảng” phần mềm
Giai đoạn 3 (từ giữa 1970 đến giữa 1980)
Sự phát triển và sử dụng rộng rãi máy tính cá nhân
Sự phát triển của các công ty phần mềm
Giai đoạn 4 (từ giữa 1980 đến nay)
Phần cứng ngày càng phát triển
Hệ thống phần mềm ngày càng đa dạng, phong phú, xử lý ngày
càng phức tạp, công nghệ ngày càng phát triển
1.2 Lịch sử phát triển CNPM
NHÓM 6-LỚP :CĐ TIN
31B
7
1.3.1.Mô tả về phần mềm
Các lệnh (chương trình máy tính) khi được thực
hiện thì đưa ra hoạt độ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ài liệu mô tả thao tác và cách dùng chương
trình
1.3.Phần mềm
NHÓM 6-LỚP :CĐ TIN
31B
8
1.3.2.Các đặc trưng phần mềm :
Phần mềm là phần tử hệ thống logic chứ
không phải là hệ thống vật lý. Do đó phần mềm
có đặc trưng khác biệt đáng kể với các đậc
trưng của phần cứng
Phần mềm được phát triển hay được kỹ nghệ
hoá, nó không được chế tạo theo nghĩa cổ điển
1.3.Phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
9
Vd:
thiết kế chế tạo sản phẩm tốt
HW:
Vd:
thiết kế chế tạo sản phẩm tốt
HW:
Vd:
thiết kế chế tạo sản phẩm tốt
HW:
chất lượng chất lượng
thiết kế sửa đổi sản phẩm tốt
SW:
chất lượng chất lượng
1.3.Phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
10
Phần mềm không "hỏng đi"
Vd:
1.3.Phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
11
Đường cong hỏng hóc cho HW Đường cong hỏng hóc cho SW (lý tưởng)
t
t
t
Tỉ lệ
Hỏng
Thay
đổi
Đường cong hỏng hóc thực tế của phần mềm
Tỉ lệ
Hỏng
t
giữ tỉ
lệ cho
đến
khi lạc
hậu
M
ò
n
c
ũ
Đường cong
thực tế
Đườn
g
cong
tưởng
1.3.Phần mềm (tt)
NHÓM 6-LỚP :CĐ TIN
31B
12
Phần lớn phần mềm đều được xây dựng theo
đơn đặt hàng, chứ ít khi được lắp ráp từ các
thành phần có sẵn :
Phần mềm:
- Không có danh mục các thành phần
-Đặt hàng với đơn vị hoàn chỉnh, không
phải là những thành phần có thể được lắp ráp lại
thành chương trình mới
1.3.Phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
13
1.3.3. Các thành phần của phần mềm
Phần mềm máy tính (gọi tắt là phần mềm ) là thông tin
tồn tại dưới 2 dạng cơ sở: thành phần máy không thực
hiện được và các thành phần máy thực hiện được. ở đây
chỉ xét những thành phần phần mềm trực tiếp đưa tới
các lệnh máy thực hiện được
Thành phần phần mềm được tạo ra thông qua một loạt
những hoạt động chuyển hoá (translation) yêu cầu của
người dùng thành mã máy thực hiện được: một mô hình
yêu cầu (hay bản mẫu)
dịch
thiết kế
dịch
dạng
ngôn ngữ xác định cấu trúc dữ liệu, thuộc tính, thủ tục
phần mềm, các yêu cầu liên quan
dịch
lệnh mã
máy thực hiện được
1.3.Phần mềm (tt)
NHÓM 6-LỚP :CĐ TIN
31B
14
Các thành phần phần mềm được xây dựng
bằng cách nào?
- Dùng ngôn ngữ lập trình
(quy tắc thành lập
chặt chẽ về cú pháp và ngữ nghĩa )
Gồm :
+ Ngôn ng mức má
y: là một biểu diễn ký
hiệu cho tập lệnh của đơn vị xử lý trung tâm
+ Ngôn ng cấp cao:
Cho phép người phát
triển phần mềm và chương trình được độc
lập với máy song từ vựng, văn phạm, cú
pháp, ngữ nghĩa phức tạp hơn nhiều so với
ngôn ngữ máy
1.3.Phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
15
+ Ngôn ngữ phi thủ tục: Có trên một thập kỷ qua,
thay vì phải yêu cầu người phát triển phần mềm
cần xác định chi tiết thủ tục thì các ngôn ngữ
phi thủ tục đưa đến một chương trình bằng cách
"xác định kết quả mong muốn thay vì xác định
hành động cần để đạt được kết quả đó". Phần
mềm hỗ trợ sẽ dịch đặc tả thành chương trình
máy thực hiện được.
1.3.Phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
16
1.3.4.Việc ứng dụng phần mềm :
Phân loại phần mềm ứng dụng (7 loại):
+ Phần mềm hệ thống:
+ Phần mềm thời gian thực:
+ Phần mềm nghiệp vụ:
+ Phần mềm khoa học và công nghệ :
+ Phần mềm nhúng:
+ Phần mềm máy tính cá nhân:
+ 7.Phần mềm trí tuệ nhân tạo
1.3.Phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
17
1.4.1. Định nghĩa:
Kỹ nghệ phần mềm là 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.
Kỹ nghệ phần mềm - sự phát triển của kỹ nghệ
phần cứng và hệ thống :
Gồm 3 yếu tố:
-
Phương pháp
-
Công cụ
-
Thủ tục
1.4. Kỹ nghệ phần mềm
NHÓM 6-LỚP :CĐ TIN
31B
18
+ Các phương pháp (đưa ra các "cách làm" về mặt
kỹ thuật để xây dựng phần mềm ).
+ Các công cụ (cung cấp sự hỗ trợ tự động hay
bán tự động cho từng phương pháp)
+ Các thủ tục (chất keo dán các phương pháp và
công cụ lại với nhau và làm cho chúng được sử
dụng hợp lý và đúng hạn trong quá trình phát
triển phần mềm)
1.4. Kỹ nghệ phần mềm (tt)
NHÓM 6-LỚP :CĐ TIN
31B
19
Tiến trình phát triển phần mềm gồm 4 cách tiếp
cận cơ bản:
1.4.2. Mô hình Vòng đời cổ điển :
- Mô hình vòng đời cổ điển đôi khi còn được
gọi là mô hình thác nước.
1.4. Kỹ nghệ phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
20
Thiết kế hệ
thống và pm
Phân tích &
định rõ yêu cầu
Kỹ nghệ hệ
thống
Mã hoá
Kiểm thử đơn
vị, tích hợp &
hệ thống
Vận hành
và Bảo trì
1.4. Kỹ nghệ phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
21
1.4.3. Mô hình làm bản mẫu:
Mô hình có thể lấy một trong 3 dạng:
1.Bản mẫu trên giấy hay trên PC mô tả giao diện
người-máy dưới dạng làm cho người dùng hiểu
được cách các tương tác xuất hiện
2.Bản mẫu làm việc cài đặt một tập con chức
năng phần mềm mong muốn
3.Một chương trình mà có thực hiện một phần
hay tất cả chức năng mong muốn nhưng cần cải
tiến thêm các tính năng khác tuỳ theo khả năng
phát triển
1.4. Kỹ nghệ phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
22
(vi chỉnh Y/C)
Kết
thúc
Bắt đầu
Tập hợp yêu
cầu làm
mịn xác
định mục tiêu
tổng thể,
khảo sát thêm
để định rõ yêu
cầu
thiết kế
nhanh
(input,
output)
Xây dựng
bản mẫu
Đánh giá
của
khách
hàng về
bản mẫu
Làm mịn
bản mẫu
Sản
phẩm
1.4. Kỹ nghệ phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
23
1.4.4.Mô hình xoắn ốc :
-Xác định bởi 4 hoạt động chính:
Lập kế hoạch: xác định mục tiêu, giải pháp và
ràng buộc
Phân tích rủi ro: phân tích các phương án
xác định/ giải quyết rủi ro
Kỹ nghệ: phát triển sản phẩm “mức tiếp theo”
Đánh giá của khách hàng: khẳng định kết quả
của kỹ nghệ
1.4. Kỹ nghệ phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
24
Tiếp xúc
Tiếp xúc
Khách hàng
Khách hàng
Lập kế hoạch
Lập kế hoạch
Phân tích rủi ro
Phân tích rủi ro
Phân tích, thiết kế
Phân tích, thiết kế
Xây dựng
Xây dựng
và triển khai
và triển khai
Đánh giá
Đánh giá
của khách hàng
của khách hàng
1.4. Kỹ nghệ phần mềm(tt)
1.4.4.Mô hình xoắn ốc (tt):
NHÓM 6-LỚP :CĐ TIN
31B
25
1.5. Các bước tổng quát trong tiến trình kỹ
nghệ phần mềm :
Tiến trình phát triển kỹ nghệ phần mềm chứa 3
giai đoạn chính:
Xác định (trọng tâm là phân tích và xác định yêu
cầu phần mềm )
Phát triển (cấu trúc dữ liệu , kiến trúc phần
mềm , thủ tục thuật toán, giao diện)
Bảo trì (sửa lỗi, thích nghi, nâng cao trong mọi
miền ứng dụng, mọi cỡ dự án, mọi độ phức tạp)
NHÓM 6-LỚP :CĐ TIN
31B
26
1.5.1.Giai đoạn xác định:
Các bước tổng quát cần thực hiện :
B1:Lập kế hoạch phần mềm (bước khởi đầu):
Cần: Xây dựng ra 1 mô tả vắn tắt về phạm vi hoạt động của phần
mềm
Phân tích rủi ro
Dự kiến tài nguyên cần cho việc xây dựng phần mềm
Thiết lập các ước lượng chi phí và lịch biểu
Mục tiêu:
Đưa ra một chỉ dẫn sơ bộ về tính khả thi của dự án với các ràng
buộc về chi phí và lịch biểu mà có thể thiết lập trước
Cần tạo ra được bản kế hoạch dự án phần mềm và được cấp quản
lý dự án xét duyệt
1.5.Các bước tổng quát trong tiến
trình kỹ nghệ phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
27
B2:Phân tích và xác định yêu cầu phần mềm :
Xác định chi tiết phần tử hệ thống được cấp phát cho
phần mềm
Phân tích tổng thể phần mềm
xác định ra những tiêu
chuẩn hợp lệ
phục vụ kế hoạch kiểm thử
tỏ rằng
các yêu cầu được đáp ứng
Do cả người xây dựng phần mềm lẫn khách hàng tiến
hành
1.5.Các bước tổng quát trong tiến
trình kỹ nghệ phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
28
B3:Bản đặc tả yêu cầu phần mềm :
Là tài liệu bàn giao, được tạo ra do kết quả của
bước phân tích yêu cầu và xác định phần mềm
Thể hiện đỉnh điểm kết quả cuộc họp xét duyệt
kỹ thuật giữa khách hàng và người phát triển
phần mềm
1.5.Các bước tổng quát trong tiến
trình kỹ nghệ phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
29
B4: Kế hoạch dự án phần mềm
Hình thành khi các yêu cầu (chấp nhận được)
đã được xác định
Là cơ sở để đánh giá lại tính đúng đắn
Là tài liệu bàn giao của giai đoạn xác định cho
giai đoạn tiếp theo
1.5.Các bước tổng quát trong tiến
trình kỹ nghệ phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
30
1.5.2. Giai đoạn phát triển :
Các bước tổng quát cần được thực hiện :
B1 :cần hoàn thành thiết kế
Mô tả về thiết kế kiến trúc và dữ liệu (tức là xây
dựng một kiến trúc modul xác định giao diện, thiết
lập cấu trúc dữ liệu, các tiêu chí định giá chất lượng)
Thiết kế sơ bộ: xét duyệt tính đầy đủ và khả năng
theo dõi các yêu cầu phần mềm
Đặc tả thiết kế là bản thảo sơ bộ được bàn giao và
trở thành một phần của cấu hình phần mềm
1.5.Các bước tổng quát trong tiến
trình kỹ nghệ phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
31
B2: Thiết kế thủ tục:
Xét thủ tục cuả từng thành phần modul của thiết kế
Các mô tả thủ tục chi tiết được bổ sung vào bản đặc tả
thiết kế
B3: Mã hoá: dùng ngôn ngữ lập trình thích hợp/ công cụ
CASE
Được đánh giá là kết quả của việc thiết kế tốt
Bản in chương trình ngôn n gữ gốc cho từng modul
thành phần phần mềm là cấu hình bàn giao
1.5.Các bước tổng quát trong tiến
trình kỹ nghệ phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
32
B4: Hoạt động kiểm chứng và làm hợp lệ:
Kiểm thử hiệu suất chức năng của từng
modul
Kiểm thử tích hợp chức năng và giao diện
Kiểm thử tính hợp lệ (xác nhận mọi yêu cầu
đã được đáp ứng chưa)
Sau từng bước có thể tiến hành gỡ lỗi-chẩn
đoán-sửa lỗi
B5: Kế hoạch và thủ tục kiểm thử: xây dựng
cho từng bước kiểm thử
1.5.Các bước tổng quát trong tiến
trình kỹ nghệ phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
33
1.5.3. Giai đoạn bảo trì:
Giai đoạn bảo trì tập trung vào những thay đổi.
Thay đổi gắn với việc sửa lỗi, thích ứng khi môi
trường phần mềm tiến hoá và sự nâng cấp
Giai đoạn bảo trì áp dụng lại các bước của giai
đoạn xác định và phát triển nhưng trong hoàn
cảnh phần mềm đã có.
1.5.Các bước tổng quát trong tiến
trình kỹ nghệ phần mềm(tt)
NHÓM 6-LỚP :CĐ TIN
31B
34
Thuộc tính chủ chốt mà một hệ phần mềm tốt
hẳn là phải có:
1 là: Có thể bảo trì được: phần mềm tuổi thọ dài
phải được viết và được lập tư liệu sao cho việc
thay đổi có thể tiến hành được mà không quá
tốn kém
2 là: Đáng tin cậy: phần mềm phải thực hiện được
điều mà người tiêu dùng mong mỏi và không
thất bại nhiều hơn những điều đã được đặc tả
1.6.Đánh giá tổng quát về chất
lượng hệ thống
NHÓM 6-LỚP :CĐ TIN
31B
35
3 là: Có hiệu quả: hệ thống phải không lãng phí
nguồn lực bộ nhớ, bộ xử lý. Không đòi hỏi phải
cực đại hoá độ hiệu quả vì rằng việc đó có thể
làm cho phần mềm rất khó thay đổi
4 là: Có giao diện người sử dụng thích hợp: giao
diện người sử dụng phải phù hợp với khả năng
và kiến thức của người dùng hệ thống
1.6.Đánh giá tổng quát về chất
lượng hệ thống (tt)
NHÓM 6-LỚP :CĐ TIN
31B
36
Ngoài ra chúng ta cũng cần phải chú ý đến một số
yếu tố không thể bỏ qua đó là:
Giá cả phải được tính đến khi xây dựng 1 phần
mềm công trình tốt.
Bảo trì được coi là thuộc tính chủ chốt vì rằng
các chi phí gắn kết với sản phẩm phần mềm chủ
yếu là trong giai đoạn phần mềm đó được đưa vào
sử dụng
Việc tối ưu hoá mọi thuộc tính này là rất khó
khăn. Quan hệ giữa chi phí và sự cải thiện từng
thuộc tính không phải là tuyến tính và các cải thiện
nho nhỏ trong bất kỳ thuộc tính nào cũng là rất đắt.
1.6.Đánh giá tổng quát về chất
lượng hệ thống (tt)
NHÓM 6-LỚP :CĐ TIN
31B
37
| 1/37

Preview text:

BÀI TẬP LỚN NHÓM 6 MÔN: CNPM
ĐỀ TÀI: “Thuyết giảng chương 1” GVHD: Ths.Trương Đình Tú Thực hiện: 1.Lê Quang Vũ
2.Nguyễn Thị Bích Nguyệt 3.Trần Thị Bích Nguyên 4.Đặng Trần Đại 5.Lê Hùng Quốc 6.Phạm Thị Xuân Nữ NHÓM 6-LỚP :CĐ TIN 1 31B
PHẦN MỀM VÀ KỸ NGHỆ PHẦN MỀM Khoa: Công Nghệ Thông Tin
Trường : Cao Đẳng Công Nghiệp Tuy Hòa NHÓM 6-LỚP :CĐ TIN 2 31B Nội dung 1 1 ..K K h h á á ii n n iiệ ệ m m c c h h u u n n g g 2. 2. S S ự ự p p h h á á tt t t rriiển ển c c ủ ủ a a ph ph ầ ầ n n m m ềm ềm 3. 3. P P h h ầ ầ n n mề mề m m 4 4 .. Kỹ Kỹ n n gh gh ệ p ệ p h h ầ ầ n n mề m m ềm 5 5...C C á á c c b b ư ư ớ ớ c c ttổ ổ ng ng quá quá t t ttrro o ng ng ttiiế ế n n tr trììn n h h k k ỹ ngh ngh ệ ệ ph ph ầ ầ n n m m ề ề m m 6 6 ..Đ Đ á á n n h h g g iiá á tổ tổ n n g g q q u u á á t t v v ề ề c c h h ấ ấ t t llượ ượ n n g g h h ệ ệ th th ố ố n n g g NHÓM 6-LỚP :CĐ TIN 3 31B
1.1-Những khái niệm chung:
Mục tiêu của công nghệ phần mềm là tạo ra
những phần mềm tốt, giảm đến tối thiểu những
may rủi có thể gây cho các người liên quan.
Trong quá trình đề cập, chúng ta sử dụng các thuật ngữ:

Phần mềm :là 1 tập hợp các câu lệnh được viết
bằng 1 hay nhiều ngôn ngữ lập trình(gọi là các
chương trình), nhằm tự động thực hiện một số
các chức năng giải quyết một bài toán.

Công nghệ: là cách sử dụng các công cụ, các
kỹ thuật trong cách giải quyết 1 vấn đề. NHÓM 6-LỚP :CĐ TIN 4 31B
1.1-Những khái niệm chung(tt)
Công nghệ phần mềm: là sử dụng các công
nghệ một cách có hệ thống trong việc phát triển
ứng dụng dựa trên máy tính(phát triển, đưa vào
hoạt động, bảo trì, và loại bỏ phần mềm một cách có hệ thống )

Mô hình 3 tầng của công nghệ phần mềm Công cụ Phương pháp Quy trình NHÓM 6-LỚP :CĐ TIN 5 31B
1.2 Lịch sử phát triển CNPM •
Chi tiết từng giai đoạn phát triển CNPM như sau: •
Giai đoạn 1 (1950 – giữa 1960)
– Xử lý theo lô, xử lý tập trung, ít xử lý phân tán, ít sửa đổi phần mềm •
Giai đoạn 2 (từ giữa 1960 đến giữa 1970)
– Hệ thống đa chương trình và đa nguời dùng
– Bắt đầu cuộc “khủng hoảng” phần mềm •
Giai đoạn 3 (từ giữa 1970 đến giữa 1980)
– Sự phát triển và sử dụng rộng rãi máy tính cá nhân
– Sự phát triển của các công ty phần mềm •
Giai đoạn 4 (từ giữa 1980 đến nay)
– Phần cứng ngày càng phát triển
– Hệ thống phần mềm ngày càng đa dạng, phong phú, xử lý ngày
càng phức tạp, công nghệ ngày càng phát triển… NHÓM 6-LỚP :CĐ TIN 6 31B 1.3.Phần mềm
1.3.1.Mô tả về phần mềm
Các lệnh (chương trình máy tính) khi được thực
hiện thì đưa ra hoạt độ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ài liệu mô tả thao tác và cách dùng chương trình NHÓM 6-LỚP :CĐ TIN 7 31B 1.3.Phần mềm(tt)
1.3.2.Các đặc trưng phần mềm :
Phần mềm là phần tử hệ thống logic chứ
không phải là hệ thống vật lý. Do đó phần mềm
có đặc trưng khác biệt đáng kể với các đậc trưng của phần cứng

Phần mềm được phát triển hay được kỹ nghệ
hoá, nó không được chế tạo theo nghĩa cổ điển NHÓM 6-LỚP :CĐ TIN 8 31B Vd: Vd: d 1.3.Phần mềm(tt)
thiết kế chế tạo sản phẩm tốt thiết kế chế c tạo ạ sản ả n phẩ p m hẩ m tốt
HW:  HW: HW :   
chất lượng chất lượng
thiết kế sửa đổi sản phẩm tốt SW:   
chất lượng chất lượng NHÓM 6-LỚP :CĐ TIN 9 31B 1.3.Phần mềm(tt)
Phần mềm không "hỏng đi" Vd: NHÓM 6-LỚP :CĐ TIN 10 31B
1.3.Phần mềm (tt) giữ tỉ lệ cho Mòn đến Tỉ lệ cũ khi lạc hậu Hỏng t t t
Đường cong hỏng hóc cho HW
Đường cong hỏng hóc cho SW (lý tưởng) Đường cong Đườth n ực tế Thay g đổi cong Tỉ lệ lý Hỏng tưởng t
Đường cong hỏng hóc thực tế của phần mềm NHÓM 6-LỚP :CĐ TIN 11 31B 1.3.Phần mềm(tt)
Phần lớn phần mềm đều được xây dựng theo
đơn đặt hàng, chứ ít khi được lắp ráp từ các thành phần có sẵn : Phần mềm:
- Không có danh mục các thành phần
-Đặt hàng với đơn vị hoàn chỉnh, không
phải là những thành phần có thể được lắp ráp lại
thành chương trình mới
NHÓM 6-LỚP :CĐ TIN 12 31B 1.3.Phần mềm (tt)
1.3.3. Các thành phần của phần mềm
Phần mềm máy tính (gọi tắt là phần mềm ) là thông tin
tồn tại dưới 2 dạng cơ sở: thành phần máy không thực
hiện được và các thành phần máy thực hiện được. ở đây
chỉ xét những thành phần phần mềm trực tiếp đưa tới
các lệnh máy thực hiện được
Thành phần phần mềm được tạo ra thông qua một loạt
những hoạt động chuyển hoá (translation) yêu cầu của
người dùng thành mã máy thực hiện được: một mô hình
yêu cầu (hay bản mẫu) dịch thiết kế dịch dạng
ngôn ngữ xác định cấu trúc dữ liệu, thuộc tính, thủ tục
phần mềm, các yêu cầu liên quan dịch lệnh mã
máy thực hiện được NHÓM 6-LỚP :CĐ TIN 13 31B 1.3.Phần mềm(tt)
Các thành phần phần mềm được xây dựng bằng cách nào?
- Dùng ngôn ngữ lập trình (quy tắc thành lập
chặt chẽ về cú pháp và ngữ nghĩa ) Gồm :
+ Ngôn ngữ mức máy: là một biểu diễn ký
hiệu cho tập lệnh của đơn vị xử lý trung tâm
+ Ngôn ngữ cấp cao: Cho phép người phát
triển phần mềm và chương trình được độc
lập với máy song từ vựng, văn phạm, cú
pháp, ngữ nghĩa phức tạp hơn nhiều so với ngôn ngữ máy NHÓM 6-LỚP :CĐ TIN 14 31B 1.3.Phần mềm(tt)
+ Ngôn ngữ phi thủ tục: Có trên một thập kỷ qua,
thay vì phải yêu cầu người phát triển phần mềm
cần xác định chi tiết thủ tục thì các ngôn ngữ
phi thủ tục đưa đến một chương trình bằng cách
"xác định kết quả mong muốn thay vì xác định
hành động cần để đạt được kết quả đó". Phần
mềm hỗ trợ sẽ dịch đặc tả thành chương trình
máy thực hiện được.
NHÓM 6-LỚP :CĐ TIN 15 31B 1.3.Phần mềm(tt)
1.3.4.Việc ứng dụng phần mềm :
Phân loại phần mềm ứng dụng (7 loại): + Phần mềm hệ thống:
+ Phần mềm thời gian thực: + Phần mềm nghiệp vụ:
+ Phần mềm khoa học và công nghệ : + Phần mềm nhúng:
+ Phần mềm máy tính cá nhân:
+ 7.Phần mềm trí tuệ nhân tạo
NHÓM 6-LỚP :CĐ TIN 16 31B
1.4. Kỹ nghệ phần mềm 1.4.1. Định nghĩa:
Kỹ nghệ phần mềm là 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.

Kỹ nghệ phần mềm - sự phát triển của kỹ nghệ
phần cứng và hệ thống : Gồm 3 yếu tố: - Phương pháp - Công cụ - Thủ tục NHÓM 6-LỚP :CĐ TIN 17 31B
1.4. Kỹ nghệ phần mềm (tt)
+ Các phương pháp (đưa ra các "cách làm" về mặt
kỹ thuật để xây dựng phần mềm ).
+ Các công cụ (cung cấp sự hỗ trợ tự động hay
bán tự động cho từng phương pháp)
+ Các thủ tục (chất keo dán các phương pháp và
công cụ lại với nhau và làm cho chúng được sử
dụng hợp lý và đúng hạn trong quá trình phát triển phần mềm)
NHÓM 6-LỚP :CĐ TIN 18 31B
1.4. Kỹ nghệ phần mềm(tt)
Tiến trình phát triển phần mềm gồm 4 cách tiếp cận cơ bản:
1.4.2. Mô hình Vòng đời cổ điển :
- Mô hình vòng đời cổ điển đôi khi còn được

gọi là mô hình thác nước. NHÓM 6-LỚP :CĐ TIN 19 31B
1.4. Kỹ nghệ phần mềm(tt)
Kỹ nghệ hệ thống Phân tích & định rõ yêu cầu Thiết kế hệ thống và pm Mã hoá Kiểm thử đơn
vị, tích hợp & hệ thống Vận hành và Bảo trì NHÓM 6-LỚP :CĐ TIN 20 31B
1.4. Kỹ nghệ phần mềm(tt)
1.4.3. Mô hình làm bản mẫu:
Mô hình có thể lấy một trong 3 dạng:
1.Bản mẫu trên giấy hay trên PC mô tả giao diện

người-máy dưới dạng làm cho người dùng hiểu
được cách các tương tác xuất hiện
2.Bản mẫu làm việc cài đặt một tập con chức năng phần mềm mong muốn
3.Một chương trình mà có thực hiện một phần
hay tất cả chức năng mong muốn nhưng cần cải
tiến thêm các tính năng khác tuỳ theo khả năng phát triển
NHÓM 6-LỚP :CĐ TIN 21 31B
1.4. Kỹ nghệ phần mềm(tt) Bắt đầu Tập hợp yêu cầu và làm mịn xác định mục tiêu Kết tổng thể, thúc khảo sát thêm để định rõ yêu Sản cầu thiết kế phẩm nhanh (input, output) → (vi chỉnh Y/C) Làm mịn Xây dựng bản mẫu bản mẫu Đánh giá của khách hàng về bản mẫu NHÓM 6-LỚP :CĐ TIN 22 31B
1.4. Kỹ nghệ phần mềm(tt)
1.4.4.Mô hình xoắn ốc :
-Xác định bởi 4 hoạt động chính:

Lập kế hoạch: xác định mục tiêu, giải pháp và ràng buộc
Phân tích rủi ro: phân tích các phương án và
xác định/ giải quyết rủi ro
Kỹ nghệ: phát triển sản phẩm “mức tiếp theo”
Đánh giá của khách hàng: khẳng định kết quả của kỹ nghệ NHÓM 6-LỚP :CĐ TIN 23 31B
1.4. Kỹ nghệ phần mềm(tt)
1.4.4.Mô hình xoắn ốc (tt): Lập kế hoạch Tiếp xúc Khách hàng Đánh giá Phân tích rủi ro của khách hàng Phân tích, thiết kế Xây dựng và triển khai NHÓM 6-LỚP :CĐ TIN 24 31B
1.5. Các bước tổng quát trong tiến trình kỹ
nghệ phần mềm :
Tiến trình phát triển kỹ nghệ phần mềm chứa 3 giai đoạn chính:
Xác định (trọng tâm là phân tích và xác định yêu cầu phần mềm )
Phát triển (cấu trúc dữ liệu , kiến trúc phần
mềm , thủ tục thuật toán, giao diện)
Bảo trì (sửa lỗi, thích nghi, nâng cao trong mọi
miền ứng dụng, mọi cỡ dự án, mọi độ phức tạp) NHÓM 6-LỚP :CĐ TIN 25 31B
1.5.Các bước tổng quát trong tiến
trình kỹ nghệ phần mềm(tt)
1.5.1.Giai đoạn xác định:
Các bước tổng quát cần thực hiện :
B1:Lập kế hoạch phần mềm (bước khởi đầu):
Cần: Xây dựng ra 1 mô tả vắn tắt về phạm vi hoạt động của phần
mềmPhân tích rủi ro
Dự kiến tài nguyên cần cho việc xây dựng phần mềm
Thiết lập các ước lượng chi phí và lịch biểu Mục tiêu:
Đưa ra một chỉ dẫn sơ bộ về tính khả thi của dự án với các ràng
buộc về chi phí và lịch biểu mà có thể thiết lập trước
Cần tạo ra được bản kế hoạch dự án phần mềm và được cấp quản

lý dự án xét duyệt NHÓM 6-LỚP :CĐ TIN 26 31B
1.5.Các bước tổng quát trong tiến
trình kỹ nghệ phần mềm(tt)
B2:Phân tích và xác định yêu cầu phần mềm :
Xác định chi tiết phần tử hệ thống được cấp phát cho phần mềm
Phân tích tổng thể phần mềm xác định ra những tiêu
chuẩn hợp lệ phục vụ kế hoạch kiểm thử tỏ rằng
các yêu cầu được đáp ứng
Do cả người xây dựng phần mềm lẫn khách hàng tiến hành NHÓM 6-LỚP :CĐ TIN 27 31B
1.5.Các bước tổng quát trong tiến
trình kỹ nghệ phần mềm(tt)
B3:Bản đặc tả yêu cầu phần mềm :
Là tài liệu bàn giao, được tạo ra do kết quả của
bước phân tích yêu cầu và xác định phần mềm
Thể hiện đỉnh điểm kết quả cuộc họp xét duyệt
kỹ thuật giữa khách hàng và người phát triển phần mềm NHÓM 6-LỚP :CĐ TIN 28 31B
1.5.Các bước tổng quát trong tiến
trình kỹ nghệ phần mềm(tt)
B4: Kế hoạch dự án phần mềm
Hình thành khi các yêu cầu (chấp nhận được)
đã được xác định
Là cơ sở để đánh giá lại tính đúng đắn
Là tài liệu bàn giao của giai đoạn xác định cho
giai đoạn tiếp theo NHÓM 6-LỚP :CĐ TIN 29 31B
1.5.Các bước tổng quát trong tiến
trình kỹ nghệ phần mềm(tt)
1.5.2. Giai đoạn phát triển :
Các bước tổng quát cần được thực hiện :
B1 :cần hoàn thành thiết kế
Mô tả về thiết kế kiến trúc và dữ liệu (tức là xây
dựng một kiến trúc modul xác định giao diện, thiết
lập cấu trúc dữ liệu, các tiêu chí định giá chất lượng)
Thiết kế sơ bộ: xét duyệt tính đầy đủ và khả năng
theo dõi các yêu cầu phần mềm
Đặc tả thiết kế là bản thảo sơ bộ được bàn giao và
trở thành một phần của cấu hình phần mềm NHÓM 6-LỚP :CĐ TIN 30 31B
1.5.Các bước tổng quát trong tiến
trình kỹ nghệ phần mềm(tt)
B2: Thiết kế thủ tục:
Xét thủ tục cuả từng thành phần modul của thiết kế
Các mô tả thủ tục chi tiết được bổ sung vào bản đặc tả thiết kế
B3: Mã hoá: dùng ngôn ngữ lập trình thích hợp/ công cụ CASE
Được đánh giá là kết quả của việc thiết kế tốt
Bản in chương trình ngôn n gữ gốc cho từng modul
thành phần phần mềm là cấu hình bàn giao NHÓM 6-LỚP :CĐ TIN 31 31B
1.5.Các bước tổng quát trong tiến
trình kỹ nghệ phần mềm(tt)
B4: Hoạt động kiểm chứng và làm hợp lệ:
Kiểm thử hiệu suất chức năng của từng modul
Kiểm thử tích hợp chức năng và giao diện
Kiểm thử tính hợp lệ (xác nhận mọi yêu cầu
đã được đáp ứng chưa)
Sau từng bước có thể tiến hành gỡ lỗi-chẩn đoán-sửa lỗi
B5: Kế hoạch và thủ tục kiểm thử: xây dựng
cho từng bước kiểm thử NHÓM 6-LỚP :CĐ TIN 32 31B
1.5.Các bước tổng quát trong tiến
trình kỹ nghệ phần mềm(tt)
1.5.3. Giai đoạn bảo trì:
Giai đoạn bảo trì tập trung vào những thay đổi.
Thay đổi gắn với việc sửa lỗi, thích ứng khi môi
trường phần mềm tiến hoá và sự nâng cấp

Giai đoạn bảo trì áp dụng lại các bước của giai
đoạn xác định và phát triển nhưng trong hoàn
cảnh phần mềm đã có.
NHÓM 6-LỚP :CĐ TIN 33 31B
1.6.Đánh giá tổng quát về chất lượng hệ thống
Thuộc tính chủ chốt mà một hệ phần mềm tốt hẳn là phải có:
1 là: Có thể bảo trì được: phần mềm tuổi thọ dài
phải được viết và được lập tư liệu sao cho việc
thay đổi có thể tiến hành được mà không quá tốn kém
2 là: Đáng tin cậy: phần mềm phải thực hiện được
điều mà người tiêu dùng mong mỏi và không
thất bại nhiều hơn những điều đã được đặc tả NHÓM 6-LỚP :CĐ TIN 34 31B
1.6.Đánh giá tổng quát về chất
lượng hệ thống (tt)
3 là: Có hiệu quả: hệ thống phải không lãng phí
nguồn lực bộ nhớ, bộ xử lý. Không đòi hỏi phải
cực đại hoá độ hiệu quả vì rằng việc đó có thể
làm cho phần mềm rất khó thay đổi
4 là: Có giao diện người sử dụng thích hợp: giao
diện người sử dụng phải phù hợp với khả năng
và kiến thức của người dùng hệ thống NHÓM 6-LỚP :CĐ TIN 35 31B
1.6.Đánh giá tổng quát về chất
lượng hệ thống (tt)
Ngoài ra chúng ta cũng cần phải chú ý đến một số
yếu tố không thể bỏ qua đó là:
Giá cả phải được tính đến khi xây dựng 1 phần
mềm công trình tốt.
Bảo trì được coi là thuộc tính chủ chốt vì rằng
các chi phí gắn kết với sản phẩm phần mềm chủ
yếu là trong giai đoạn phần mềm đó được đưa vào sử dụng
Việc tối ưu hoá mọi thuộc tính này là rất khó
khăn. Quan hệ giữa chi phí và sự cải thiện từng
thuộc tính không phải là tuyến tính và các cải thiện
nho nhỏ trong bất kỳ thuộc tính nào cũng là rất đắt. NHÓM 6-LỚP :CĐ TIN 36 31B NHÓM 6-LỚP :CĐ TIN 37 31B
Document Outline

  • BÀI TẬP LỚN NHÓM 6 MÔN: CNPM ĐỀ TÀI: “Thuyết giảng chương 1”
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37