




































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ề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 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
