1. Trang chủ
  2. » Tất cả

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

302 203 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Định dạng
Số trang 302
Dung lượng 1,38 MB

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

Nội dung

Qua môn học này sinh viên cócái nhìn khái quát về qui trình phát tri nể ph nầ mềm, hi uể bi tế và thực hi nệ các giaiđoạn trong qui trình trên một ph nầ m mề cụ thể dựa trên những phương

Trang 1

LỜI NÓI ĐẦU

Nhập môn Công Nghệ Ph nầ Mềm là môn học nh mằ giúp cho sinh viên có kiến thức cơ bản nh tấ trong lĩnh vực công nghệ phần mềm Qua môn học này sinh viên cócái nhìn khái quát về qui trình phát tri nể ph nầ mềm, hi uể bi tế và thực hi nệ các giaiđoạn trong qui trình trên một ph nầ m mề cụ thể dựa trên những phương pháp, kỹ thuật trong quá trình thu th pậ yêu c u,ầ phân tích, thi tế kế và cài đ t,ặ vi tế sưu li uệ

đã được minh họa cụ thể trong giáo trình Mục tiêu giáo trình là sinh viên có thể hiểu được những yêu c uầ công vi cệ c nầ phải làm ở mỗi giai đoạn của qui trình,

để có thể đảm trách công vi cệ ở một trong các giai đo n làmạ phần m m trongềnhững nhóm d án.ự

Trang 2

1

Trang 3

TÀI I U Ệ THAM KH O Ả

1 Software Engineering

By Nguy n Xuân Huy – Institue of Infoễ rmation Technology

2 Nhập môn công ngh pệ hần mềm

Nguy n Ti n Huy – ĐH Khoa h c T Nhiênễ ế ọ ự

3 A Discipline for Software Engineering

Watts S Humphrey

4 Quá trình phát tri n ể ph n ầ m mề thống nh tấ

Nguy n Tu n Huy biên dễ ấ ịch –Nhà xu t b n th ng kêấ ả ố

5 Analyzing Requriements and Defining Solution Architechtures

Ian Lewis – Bruce Nielson

6 MCSD Analyzing Requirements Study Guide

Tata McGraw-Hill Pusblishing Company Limited

7 Software Engineering

Roger S.PressMan

8 Một s tài lố i u thamệ kh o t internet: Khoa CNTT ả ừ ĐH KHTN, ĐH BKHN, ĐH

C n Tầ hơ, và một s bài báo khoa ố học

- A Summary of Principles for User-Interface Design by Talin

- The Foundation for Verifiable Software Process Improvement

- Lecture Notes: Software Engineering I by Joey Paquet

2

Trang 4

Chương 1: TỔNG QUAN V CÔNG Ề NGH Ệ PH N Ầ M M Ề

các nhà chuyên môn trong t ngừ lĩnh v cự chuyên ngành th cự hi nệ tốt nh tấ các thao tác nghiệp

vụ c aủ mình Nhiệm vụ chính y uế c aủ ph nầ mềm là cho phép các nhà chuyên môn th cự hiện các công vi cệ c aủ họ trên máy tính dễ dàng và nhanh chóng h nơ so với khi th cự

hi nệ cùng công vi c đó trong tệ h gế i i ớ th c.ự

Ho tạ đ ngộ c aủ m iọ ph nầ mềm là sự mô ph ngỏ lại các h atọ đ ngộ c aủ thế gi iớ th cự trong m tộ góc độ thu h pẹ nào đó trên máy tính Quá trình sử d ngụ m tộ ph nầ m mề chính là quá trình người dùng th cự hi nệ các công vi cệ trên máy tính để hoàn t tấ m tộ công vi cệ tương đương trong th gế i i ớ th c.ự

L pớ ph nầ m mề là hệ th ngố các ph nầ mềm trên cùng lĩnh v cự h atọ đ ngộ nào đó

Do cùng lĩnh v cự h atọ đ ngộ nên các ph nầ mềm này thường có c uấ trúc và ch cứ năng (công vi c ệ mà người dùng th cự hi nệ trên máy tính) tương tự nhau Mục tiêu c aủ ngành công nghệ phần mềm là hướng đ nế không nh ngữ xây d ngự được các ph nầ mềm có

ch tấ lượng mà còn cho phép xây d ngự dễ dàng m tộ ph nầ m mề m iớ từ các ph nầ m mề đã

Trang 5

3

Trang 6

8 Qu n lý thuê baoả đi n, đi nệ ệ tho i, nạ ước, …

9 Cho mượn sách, truy n, phiệ m, …

B ng 1.1 ả : Các ph n ầ m m và ề l p ớ ph n m m ầ ề tương ng ứ

1.1.2 Phân loại

Ph nầ mềm h th ng là nh ng ph nệ ố ữ ầ mềm đảm nh n công vậ iệc tích h p và đi uợ ề khi nể các thiết bị ph nầ c ngứ đ ngồ th iờ 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ử ụ có thể thao tác trên đó như m tộ kh iố th ngố nh tấ mà không c nầ

ph iả quan tâm đến những chi ti tế kỹ thu tậ ph cứ tạp bên dưới như cách th cứ trao đổi dữ

li uệ gi aữ bộ nhớ chính và đĩa, cách hi nể th văn b n lên ị ả màn hình,

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

Cho phép ti pế nh nậ các yêu c uầ về vi cệ mu nố th cự hi nệ và cung c pấ các dữ li uệ ngu n liên ồ quan đ n ế công việc đó ho c ặ t ừ các thiết b ị thu th p ậ d ữ li u ệ (cân, đo nhi t ệ đ , ộ t ế bào quang h c, …)ọ

Cho phép trình bày các k tế quả c aủ vi cệ th cự hiện các yêu cầu cho người dùng (k tế quả

c aủ công vi cệ khi th cự hi nệ trên máy tính) hoặc đi uề khi nể h atọ đ ngộ các thi tế bị đi uề khiển

(đóng m ở c a, b t ử ậ mở máy…)

Trang 7

4

Trang 8

M tộ cách tổng quát thành ph nầ giao ti pế là hệ th ngố các hàm chuyên về vi cệ

Cho phép lưu trữ l iạ (hàm ghi) các k tế quả đã xử lý (vi cệ mượn sách đã được

ki mể tra h pợ l ,ệ bảng lương tháng đã được tính) trên bộ nhớ phụ v iớ tổ ch cứ l uư trữ được xác định trước (t p tin có c u trúc, t p tin nh phân, c sậ ấ ậ ị ơ ở d lữ i u).ệ

Cho phép truy xu tấ lại (hàm đ c)ọ các dữ li uệ đã l uư trữ ph cụ vụ cho các hàm xử

50 h c sinh, …)ọ

Ti nế hành xử lý cho ra k tế quả mong đ iợ theo quy định tính toán có s nẵ trong thế giới th cự (quy tắc tính ti nề ph tạ khi trả sách tr ,ễ quy t cắ tính tiền đi n,ệ quy t cắ trả góp khi mua nhà…) ho cặ theo thuật gi iả t đ xuự ề ất (x pế th i khóa bi u tờ ể ự đ ng, nén nh…)ộ ả

Vi c ệ x ử lý d a ự trên dữ li u ệ ngu n ồ t ừ người s ử d ng ụ cung c p ấ (tính nghi mệ phương trình b cậ 2 d aự trên các hệ số đã nhập) ho cặ dữ li uệ l uư trữ đã có s nẵ (tính t nồ kho tháng dựa trên các phi uế nh pậ xu tấ đã l uư tr …)ữ ho cặ cả hai (tính tiền ph tạ d aự trên ngày trả sách được nh pậ vào và thông tin về lo iạ sách đã được l uư tr …)ữ tùy vào xử lý cụ

th ể Tương t ,ự vi cệ xử

lý cho ra kết quả có thể dùng để xu tấ cho người dùng xem qua thành ph nầ giao diện (trình bày nghiệm, xu tấ ti nề ph t),ạ hay cùng có thể l uư trữ lại qua thành ph nầ dữ lịêu (sổ sách hiện đang được mượn c aủ m t đ c gi …) ho c c ộ ộ ả ặ ả hai (b ng lả ương, b ng t nả ồ kho…)

M tộ cách tổng quát, thành ph nầ xử lý là hệ thống các hàm chuyên về xử lý tính toán,

Trang 9

bi nế đ iổ dữ li u.ệ Các hàm này sẽ dùng dữ li uệ ngu nồ từ các hàm trong thành ph nầ giao diện

5

Trang 10

(hàm nh p)ậ hay thành ph nầ dữ li uệ (hàm đ cọ dữ li u)ệ ki mể tra tính h pợ lệ (hàm ki mể tra) và sau đó ti nế hành xử lý (hàm xử lý) n uế c nầ thiết để cho ra k tế quả mà sẽ được trình bày cho người dùng xem qua các hàm trong thành ph nầ giao di nệ (hàm xu t)ấ hoặc

l uư trữ l iạ qua các hàm trong thành ph n d lầ ữ i u (hàmệ ghi)

STT Thành ph nầ Hàm Ý nghĩa Ghi chú

1 Thành ph nầ giao di nệ

Hàm nh pậHàm xuất

Nh p yêu cậ ầu,

d lữ i uệ nguồn Xu tấ

k t qu đã xế ả ử lý

C n xácầđịnh hình

th cứ

nh p/xuậ ất

và t ch cổ ứ

d lữ i uệ tương ngứ

2 Thành ph nầ

x lýử

Hàm kiểm tra

Hàm xửlý

Ki mể tra tính

h p l c aợ ệ ủ

d ữ li u.ệ

X lý tínhửtoán, phát sinh, bi n ế đổi trên d li uữ ệ

S d ngử ụ hàm nh p,ậ hàm đ c.ọ

S d ngử ụ hàm nh p,ậ hàm đ c,ọ hàm xu t,ấ hàm ghi

3 Thành ph nầ

d lữ i uệ

Hàm đ cọHàm ghi

Đ c d lọ ữ i uệ

t b nh phừ ộ ớ ụ vào b nhộ ớ chính

Ghi d lữ i uệ

t b nhừ ộ ớ chính vào bộ

nh phớ ụ

C n xácầđịnh cáchh

Trang 11

6

Trang 12

chương trình c n ầ ph i ả th c ự hi n ệ được trong c ả nh ng ữ trường h p ợ mà d ữ li u ệ đ uầ vào là không h p ợ l ệ

Ví d , ụ n u ế m t ộ trong s ố các ch c ứ năng c a ủ ph n ầ mềm là s p ắ x p ế m t ộ t p ậ tin

có số

lượng m u ẫ tin tùy ý theo m tộ c tộ tùy ý theo chi uề tăng hoặc gi mả thì nh ngữ trường h pợ sau

là vi ph mạ tính đúng đ n c a chắ ủ ương trình:

 Không th th c hi n để ự ệ ược (treo máy) khi t p tin ậ r ng (không có ỗ m u tin nào).ẫ

 Không thể th cự hi nệ ho cặ th cự hi nệ nh ngư cho k tế quả sai khi các m u ẫ tin có

h nơ

100 c t ho c có quá nhộ ặ iều m u tin.ẫ

 Không thể th cự hi nệ ho cặ cho k tế quả sai khi các cột có chi uề dài l nớ h nơ 125

bytes

 Không th s p x p theo chi u ể ắ ế ề tăng d n….ầ

Tính đúng đ n c a ắ ủ m t s n ph mộ ả ẩ phần mềm được xác minh qua các căn c sau đây:ứ

 Tính đúng đ n c a thuắ ủ ật toán

 Tính tương đương c aủ chương trình v iớ thuật toán Thu tậ toán có thể đúng

nh ng chư ương trình l pậ ra không tương đương v i thuớ ật toán nên khi th cự hi nệ

S n ph mả ẩ có th ể m r ng, tăng cở ộ ường v ề m t ch c năng ặ ứ m tộ cách d dàng.ễ

1.2.3 Tính hi u ệ quả

Tính hi u qệ u c a ả ủ m t s n ph mộ ả ẩ phần mềm được xác định qua các tiêu chu n sau:ẩ

 Hi u qu kinh t ho c ý nghệ ả ế ặ ĩa, giá tr thu đị ược do áp d ng s nụ ả ph mẩ đó

Trang 13

 T cố độ xử lý c aủ ph nầ mềm (v) tính b ngằ tỉ lệ gi aữ kh iố lượng đ iố tượ c nng ầ

ph i ả x lý (ử m) và t ng thổ ời gian (t) c n thầ i t đ x lý các đ i tế ể ử ố ượng đó

7

Trang 14

 S d ng t i u tài nguyên c a ử ụ ố ư ủ máy tính (CPU, bộ nh …)ớ

1.2.4 Tính ti n ệ dụng

S n ph mả ẩ ph i tính đ nả ế nh ng y u t tâmữ ế ố lý sau đây c a ngủ ười dùng:

 D h c, có giao dễ ọ i nệ tr c quan ự t nhiên.ự

Đến nh ngữ năm 1960, trãi qua 10 năm phát tri n s lể ố ượng các ph nầ mềm đã tăng lên rất nhi uề và được ngứ d ngụ r ngộ rãi trong nhi uề lĩnh v c.ự Vào th iờ đi mể này phát sinh m tộ

- Có quá nhiều khuy t điế ểm trong các ph n ầ mềm được dùng trong xã hội

o Th c hi n không đúng yêu c u (tính toán sai, không n đự ệ ầ ổ ịnh…)

o Th i gian bờ ảo trì, nâng c p quá lâu, ấ t n chi phí cao, hi u quố ệ ả th p.ấ

Trang 15

8

Trang 16

- Vi c tăng vệ ọt c a sủ ố lượng ph n ầ mềm là đi u hề ợp lý và đi u này s còn tề ẽ i p di n.ế ễ

- Các khuy tế đi mể c aủ ph nầ mềm có ngu nồ g cố chính từ phương pháp, cách th cứ tiến hành xây d ng ph n ự ầ mềm:

o Cảm tính: m i ngỗ ười theo m t phộ ương pháp riêng

o Thô s ,ơ đ nơ gi n:ả chỉ tập trung vào vi cệ l pậ trình mà ít quan tâm đ nế các công vi cệ c nầ làm khác trước khi l pậ trình (kh oả sát hi nệ tr ng,ạ phân tích yêu

c u,ầ thiết k …).ế

o Th công: công c h tủ ụ ỗ r chính khi xây ợ d ng ph n ự ầ mềm ch là trình biên ỉ dịch

V iớ các k t ế lu nậ như trên, h iộ nghị đã đề xu tấ khai sinh m tộ ngành khoa h cọ m i:ớ Công nghệ ph nầ mềm v iớ nhi mệ vụ chính là nghiên c uứ về các phương pháp ti nế hành xây dựng ph n ầ mềm

Do quá trình ti nế hóa c aủ ngành công nghệ ph nầ mềm nên khái ni mệ về nó cũng thay

đ iổ theo thời gian H nơ n aữ do đây là m tộ lĩnh v cự m iớ nên các khái niệm v nẫ còn phụ thu cộ

r t nhi u vào quan đi m ch quan cẩ ề ể ủ ủa t ng ngừ ười khác nhau C th nh sau:ụ ể ư

- Bauer[1969]: 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.ự

- Ghezzi[1991]: là m tộ lĩnh v cự c aủ khoa h cọ máy tính liên quan đ nế vi cệ xây dựng các ph n ầ m mề v a l n v a ph c t p b i ừ ớ ừ ứ ạ ở m t hay ộ m t s nhóm k s ộ ố ỹ ư

- IEEE[1993]:

Trang 17

9

Trang 18

1 Vi c ệ áp d ng ụ phương pháp ti p ế c n ậ có h ệ th ng, ố bài b n ả và

đư c ợ lượng hóa trong phát triển, v n hành và b o tậ ả rì ph n ầ mềm

2 Nghiên c u các phứ ương pháp ti pế cận được dùng trong (1)

- Sommervile[1995]: là lĩnh v c ự liên quan đ n ế lý thuy t, ế phương pháp và công cụ

dùng cho phát tri n ph n ể ầ mềm

- Kawamura[1995]: là lĩnh v cự h cọ v nấ về các kỹ thu t,ậ phương pháp lu nậ công ngh h c ệ ọ (lý lu n ậ và k ỹ thu t ậ được hi n ệ th c ự hóa trên các nguyên lý, nguyên t c ắ xác định) trong toàn bộ quy trình phát tri nể ph nầ mềm nhằm nâng cao cả chất và lượng c a s n xuủ ả ất ph n ầ mềm

- Pressman[1995]: là bộ môn tích hợp cả qui trình, các phươ pháp, các công cụ đểngphát tri n pể h n ầ mềm máy tính

Có thể định nghĩa tóm t tắ về công nghệ ph nầ m mề như sau: Công nghệ ph nầ mềm là m t ộ nghà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ý.ợ

M c tiêu nghiên c u đụ ứ ược chia thành 2 ph n rõ nét:ầ

1 Xây d ng ph n ự ầ mềm có ch t lấ ượng

2 Xây d ng ph n ự ầ mềm trong th i gian và chi phí ờ h p lý.ợ

1.3.3 Đối t ượ nghiên c u ng ứ

Hướng đ nế vi cệ xây dựng các ph nầ mềm có ch tấ lượng như đã nêu, ngành công ngh ph n ệ ầ mềm đ a ư ra 3 đ i ố tượng nghiên c u ứ chính: Qui trình công ngh ,ệ Phương pháp phát tri n, Công c và ể ụ môi trường phát tri n ph n ể ầ m m.ề

- Qui trình công nghệ ph nầ mềm: Hệ th ngố các giai đo nạ mà quá trình phát tri nể ph nầ mềm ph iả trải qua V iớ m iỗ giai đo nạ c nầ xác định rõ m cụ tiêu, kết quả nh nậ từ giai

đo nạ trước

đó cũng chính là k t qế u chuy n giao cho giai ả ể đo n k t tiạ ế ếp

- Phương 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 ệ m t giai đo n nào ộ ạ đó trong qui trình công ngh ph n ệ ầ mềm

- 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 chính trong lĩnh v cự xây d ngự ph nầ mềm Các ph nầ m mề này sẽ hỗ trợ các chuyên viên tin h c trong ọ các bước xây d ng ự ph n ầ m m ề theo m t ộ phương pháp nào đó

v i ớ m t ộ qui trình được ch n tọ rước

Trang 19

10

Trang 20

Nói cách khác, chu kỳ s ngố c aủ m tộ ph nầ mềm là kho ngả th iờ gian mà trong đó một

s nả ph mẩ ph nầ mềm được phát triển, sử d ngụ và mở r ngộ cho đ nế khi s nả ph mẩ ph nầ mềm

đó không còn được s d ng n a.ử ụ ữ

Chu kỳ sống c aủ ph nầ mềm được phân chia được phân chia thành các pha chính như: xác định, phát tri n,ể kiểm th ,ử b oả trì (v nậ hành) Ph mạ vi và thứ tự các pha khác nhau tùy theo t ng mô hình c từ ụ h ể

2.1 Các b ướ c b c ơ ản trong xây dựng phần m m ề

2.1.1 Xác định

Đây là bước hình thành bài toán hoặc đề tài Ở bước này thiết kế trưởng ho cặ phân tích viên hệ th ngố ph iả biết được vai trò c aủ ph nầ m mề c nầ phát tri nể trong hệ th ng,ốđồng thời ph i ả ước lượng công việc, l p ậ lịch bi u và phân công công vể i c.ệ

Bên c nhạ đó chúng ta ph iả bi tế người đ tặ hàng mu nố gì Các yêu c uầ c nầ ph iả được thu th pậ đ yầ đủ và được phân tích theo chi uề ngang (r ng)ộ và chi uề d cọ (sâu) Công cụ

sử dụng chủ y uế ở giai đo nạ này là các lược đ ,ồ sơ đồ ph nả ánh rõ các thành ph nầ c aủ

hệ th ngố và m i liên quan gi a chúng v i nhau.ố ữ ớ

2.1.2 Phát tri n ể

D aự vào các n iộ dung đã xác định được, nhóm phát tri nể ph nầ mềm dùng ngôn ngữ đặc

t hình th cả ứ (d a trên các ki n trúc toán h c) ho c phi hình th c (t a ngôn ng t nhự ế ọ ặ ứ ự ữ ự iên)

ho c ặ k t h p c ế ợ ả hai đ ể mô t nh ng y u t sau đây cả ữ ế ố ủa chương trình:

 Giá trị nh p, giá trậ ị xuất

 Các phép bi n đế ổi

 Các yêu c uầ c n đ t đầ ạ ượ ở m i đi mc ỗ ể c a chủ ương trình

Ph nầ đ cặ tả chỉ quan tâm chủ y uế đ nế giá trị vào, ra chứ 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

Trang 21

11

Trang 22

Sau bước thi tế kế là bước tri nể khai các đ cặ tả chương trình thành m tộ s nả ph mẩ phần mềm d aự trên m tộ ngôn ngữ l pậ trình cụ th ể Trong giai đo nạ này các l pậ trình viên sẽ ti n hành cài đế ặt các thao tác c n thầ i t đế ể th c hi n đự ệ úng các yêu c u đã đầ ược đ cặ

t ả

Công vi c ệ cu i ố cùng của giai đo n ạ phát tri n ể là chúng ta c n ầ ph i ả chứng minh tính đúng đ nắ của chương trình sau khi đã ti nế hành cài đặt Tuy nhiên thông thường ở bước này chúng ta coi các chương trình như nh ngữ h pộ đen V nấ đề đ tặ ra là xây d ngự m tộ cách có ch đíchủ các t pậ dữ li uệ nh pậ khác nhau để giao cho chương trình

th cự hi nệ r iồ d aự vào k tế qu thu đả ược để đánh giá chương trình Công vi c ệ nh trênưđược g i là ọ ki mể th chử ương trình

Công vi c kệ i mể th nhử ằm vào các m c tiêu sau:ụ

 Ki mể tra để phát hi nệ l iỗ c aủ chương trình L uư ý r ngằ kiểm thử không đ mả

b o tuy tả ệ đ iố tính đúng đ nắ c aủ chương trình do b nả ch tấ quy n pạ không hoàn toàn c a cách làm.ủ

 Ki mể tra tính n đổ ịnh, hi u qu cũngệ ả nh kh năng t i đa cư ả ố ủa chương trình.Tùy theo m cụ đích mà người ta thi tế kế các tập dữ li uệ thử sao cho có thể phủ h tế các trường h pợ c n quan tâm.ầ

2.1.3 Bảo trì (Vận hành)

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

đư c ợ quan tâm trong qui trình phát tri nể ph nầ mềm Trong quá trình xây d ngự ph nầ mềm, toàn b cácộ k tế qu ph nả ầ tích, thi tế k ,ế cài đặt và hồ sơ liên quan c n ph iầ ả được lưu trữ và quản lý c n ẩ th nậ nh mằ đ mả b oả cho công vi cệ được ti nế hành m tộ cách

hi uệ quả nh tấ và phục vụ cho công vi c bệ ảo trì ph n ầ m mề v sau.ề

Như v yậ công vi cệ quản lý không chỉ d ngừ lại trong quá trình xây d ngự ph nầ mềm

mà trái lại còn ph i đả ược tiến hành liên t c trong suụ ốt quá trình s ng c a nó.ố ủ

2.2 Một s mô ố hình tri n ể khai xây d ng ph ự ần m m ề

Có nhi uề mô hình c nậ khác nhau để tri nể khai các bước cơ b nả 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 theo m tộ cách khác nhau nh mằ đảm b oả qui trình phát tri nể ph nầ mềm sẽ d nẫ đ nế thành công Trong

ph nầ ti pế theo c aủ giáo trình chúng ta sẽ tìm hi uể qua các mô hình phát triển ph nầ mềm tiêu bi uể nh tấ đang được áp d ng.ụ

Trang 23

12

Trang 24

2.2.1 Mô hình thác nước:

Mô hình thác nước là m t ộ trong nh ng ữ mô hình đ u ầ tiên và ph ổ bi n ế được

áp d ng trongụ quá trình phát triển ph nầ mềm Mô hình này chia quá trình phát tri nể ph nầ mềm thành nh ngữ giai đo nạ tu nầ tự n iố ti pế nhau M iỗ giai đo nạ sẽ có m tộ m cụ đích

nh tấ định K tế qu cuả ả giai đoạn trước sẽ là thông tin đ uầ vào cho giai đo nạ tiếp theo sau Tùy theo qui mô của ph n ầ mềm c n phát tri n ầ ể mà mô hình thác nước s có nh ngẽ ữ

bi n th khác nhau nế ể h sau:ư

 Qui trình 2 giai đo n:ạ Là qui trình đ nơ gi nả nhất Theo qui trình này vi cệ phát triển

ph n ầ mềm ch trãi qua 2 giai đoỉ ạn:

o Xác định yêu c u:ầ Được ti nế hành ngay khi có nhu c uầ về vi cệ xây d ngự

o L p trình (cài đ t): ậ ặ Đư c ti n hành ngay sau khi k t thúc vợ ế ế iệc xác định yêu c u.ầ

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

- K t qu nhế ả ận: Danh sách các yêu cầu cùng các thông tin có liên quan

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

cơ s d ở ữ li u ệ tương ng ứ (n u ế c n ầ thiết) và chương trình th c ự hi nệ được trên máy tính (chương trình nguồn đã được biên dịch)

 Qui trình 3 giai đo n:ạ Là qui trình c iả ti nế c aủ qui trình 2 giai đo nạ bằng cách bổ sung thêm m t gộ iai đo n trung gian ạ m i gi a xác đớ ữ ịnh yêu c u và ầ l p trình (có s a đậ ử ổi)

o Xác định yêu c u: ầ được ti n ế hành ngay khi có nhu c u ầ v ề vi c ệ xây dựng

Trang 25

13

Trang 26

- M cụ tiêu: Mô tả các thành ph nầ c aủ ph nầ mềm (mô hình c aủ ph nầ mềm) trước khi ti n hành cài đế ặt.

- K t qu nhế ả ận: Danh sách các yêu cầu và thông tin liên quan

o L p trình (cài đ t): ậ ặ Đư c ti n hành ngay sau khi k t thúc vợ ế ế iệ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ớ c uấ trúc

cơ s d ở ữ li u ệ tương ng ứ (n u ế c n ầ thiết) và chương trình th c ự hi nệ được trên máy tính (chương trình nguồn đã được biên dịch)

 Qui trình 4 giai đo n:ạ Là qui trình c iả ti nế c aủ qui trình phía trước b ngằ cách bổ sung thêm m t gộ iai đo n ạ m i gi a xác đớ ữ ịnh yêu c u và thiầ ết k (có ế s a đử ổi)

o Xác định yêu c u:ầ Được ti nế hành ngay khi có nhu c uầ về vi cệ xây d ngự

o Phân tích: được ti n hành ngay sau khi ế k tế thúc vi c xác ệ định yêu c u.ầ

- M c ụ tiêu: Mô t ả l i ạ th ế gi i ớ th c ự thông qua các mô hình (mô hình thế

gi i ớ th c) tự rước khi thi t kế ế

- K t qu nhế ả ận: Danh sách các yêu cầu cùng các thông tin có liên quan

Trang 27

14

Trang 28

 Các mô hình khác (không gian, thời gian, con người…) n u ế c n thầ iết.

o Thi t kế ế: Được ti n hành ngay sau khi ế k t thúc vế i c phân tích.ệ

- M cụ tiêu: Mô tả các thành ph nầ c aủ ph nầ mềm (mô hình c aủ ph nầ mềm) trước khi ti n hành cài đế ặt

o L p trình (cài đ t): ậ ặ Đư c ti n hành ngay sau khi k t thúc vợ ế ế iệ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ớ c uấ trúc

cơ s d ở ữ li u ệ tương ng ứ (n u ế c n ầ thiết) và chương trình th c ự hi nệ được trên máy tính (chương trình nguồn đã được biên dịch)

 Qui trình 5 giai đo n:ạ Là qui trình c iả ti nế c aủ qui trình phía trước b ngằ cách bổ sung thêm m tộ giai đo nạ m iớ sau giai đo nạ l pậ trình nh mằ tăng cường độ tin c yậ

o Phân tích: được ti n hành ngay sau khi ế k tế thúc vi c xác ệ định yêu c u.ầ

- M c ụ tiêu: Mô t ả l i ạ th ế gi i ớ th c ự thông qua các mô hình (mô hình thế

gi i ớ th c) tự rước khi thi t kế ế

- K t qu nhế ả ận: Danh sách các yêu cầu cùng các thông tin có liên quan

- K t qu chế ả uy n giao:ể

Trang 29

15

Trang 30

 Mô hình xử lý (hệ th ngố các công vi cệ trong thế gi iớ th cự cùng với quan h giệ ữa chúng)

 Mô hình dữ li uệ (hệ thống các loại thông tin được sử d ngụ trong thế

gi iớ th c cự ùng v i quan h gi a chớ ệ ữ úng)

 Các mô hình khác (không gian, thời gian, con người…) n u ế c n thầ iết

o Thi t kế ế: Được ti n hành ngay sau khi ế k t thúc vế i c phân tích.ệ

- M cụ tiêu: Mô tả các thành ph nầ c aủ ph nầ mềm (mô hình c aủ ph nầ mềm) trước khi ti n hành cài đế ặt

o L p trình (cài đ t): ậ ặ Đư c ti n hành ngay sau khi k t thúc vợ ế ế iệ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ớ c uấ trúc

cơ s d ở ữ li u ệ tương ng ứ (n u ế c n ầ thiết) và chương trình th c ự hi nệ được trên máy tính (chương trình nguồn đã được biên dịch)

o Ki mể th :ử Được ti nế hành ngay sau khi đã có k tế quả (từng ph n)ầ của việ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:

 Danh sách yêu c u.ầ

 Mô hình phần mềm

 Ph nầ mềm

- K t qu chế ả uy n giao: Pể h n ầ mềm v i đ tin ớ ộ c yậ cao (đã tìm và s a l i).ử ỗ

o 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ế

- M c tiêu: ụ đ mả b o ph nả ầ mềm v n hành ậ tốt

- K t qu nhế ả ận: ph n ầ mềm đã hoàn thàng

Trang 31

16

Trang 32

- K tế quả chuy nể giao: các ph nả ánh c aủ khách hàng trong quá trình sử dụng

ph n ầ mềm

Nh n xét: ậ

Mô hình thác nước giúp chúng ta có thể dễ dàng phân chia quá trình xây d ngự

ph n ầ mềm thành nh ngữ giai đo nạ hoàn toàn đ cộ l pậ nhau Tuy nhiên, các dự án l nớ hi mế khi tuân theo dòng ch yả tu nầ tự c aủ mô hình vì thường ph iả l pặ l iạ các bước để nâng cao ch tấ lượng H n n a, khách hàng hơ ữ iếm khi tuyên b h t các ố ế yêu c u trong giai đo nầ ạ phân tích

Mô hình này cũng có m tộ h nạ chế là chúng ta r tấ khó th cự hi nệ các thay đ iổ m tộ khi

đã th cự hi nệ xong m tộ gi iạ đo nạ nào đó Đi uề này làm cho vi cệ xây d ngự ph nầ mềm

r tấ khó thay đ iổ các yêu c uầ theo ý mu nố c aủ khách hàng Do đó, phương pháp này chỉ thích h pợ cho nh ng trữ ường h p ợ mà chúng ta đã hi u r t rõ các yêu c u c a khách hàng.ể ấ ầ ủ

Chú ý: 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

Trang 33

17

Trang 34

s ự Ngược l iạ cả hai phải quay l iạ giai đo nạ xác định yêu cầu Công vi cệ này được l pặ l iạ liên t c cho đ n khi ngụ ế ười sử d ng đ ng ý v i các ụ ồ ớ bản m u do nhà phát tri nẫ ể đ a ra.ưNhư v yậ đây là m tộ hướng ti pế c nậ t tố khi các yêu c uầ ch aư rõ ràng và khó đánh giá được tính hi uệ quả c aủ các thuật toán Tuy nhiên, mô hình này cũng có nhược điểm

là tính c u trúc không cao do đó khách hàng d ấ ễ m t tin tấ ưởng

2.2.3 Mô hình xoắn ốc

Mô hình này chính 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.ầ Ở 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 đó

Ở m iỗ l nầ l pặ các yêu c uầ c aủ người sử d ngụ sẽ được hi uể ngày càng rõ ràng

h nơ và các b nả mẫu ph nầ mềm cũng 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 nữa hay không

18

Trang 35

Mô hình này phù h pv 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 Tuy nhiên v nẫ ch aư được sử d ngụ r ngộ rãi như mô hình thác nước hoặc b n ả m u doẫ đòi h i năng l c qu n lý, ỏ ự ả năng l c phân tích r i ro cao.ự ủ

có tính ch tấ như là ngôn ngữ th ngố nh tấ để các thành viên tham gia xây d ngự ph nầ mềm

có thể trao đ i thông tin trong vi c xây ổ ệ d ng ph nự ầ mềm

Trang 36

19

Trang 37

• Ước lượng r i ro, chi phíủ

• L p và theo dõi ậ k ho chế ạ tri n khai.ểTrong ph nầ ti pế theo của giáo trình này, chúng ta chỉ quan tâm đ nế các phương pháp xây d ng.ự Về phương pháp tổ ch cứ qu nả lý chúng ta có thể tham kh oả trong giáo trình “Quản

lý d án xây d ng các hự ự ệ th ng thông tin”.ố

mu nố c aủ nhà xây d ng ph n ự ầ mềm

b) T d ừ ướ i lên

Ngược l iạ v iớ phương pháp từ trên xu ng,ố phương pháp từ dưới lên là cách gi iả quyết v n đ theo hấ ề ướng t ngổ h p V i phợ ớ ương pháp này, chúng ta ti n hành xây d ngế ự

nh ng thành ph nữ ầ chi tiết, cụ thể mà mà chúng ta dự tính là sẽ có trong hệ th ng.ố Sau

đó, các nhà phát tri nể ph nầ mềm sẽ ti nế hành 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 ầ mà h th ng c n ph i có.ệ ố ầ ả

20

Trang 38

3.2.2 Cách ti n hành ế

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

V iớ phương pháp này công vi cệ xây d ngự ph nầ mềm được th cự hi nệ d aự trên các

ch c năngứ mà hệ th ngố c nầ th cự hi n.ệ Hay nói cách khác chúng ta chú tr ngọ đ nế thành

ph nầ xử lý c a h th ng:ủ ệ ố

• Các thao tác tính toán

• Các thao tác phát sinh

• Các thao tác bi n đ i….ế ổ

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

ti n hànhế xây dựng ph nầ mềm theo phương pháp này, chúng ta sẽ chia các công vi cệ lớn mà h ệ th ngố c nầ th cự hi nệ hành các công vi cệ nhỏ h nơ đ cộ l pậ nhau Vi cệ phân chia các công vi c đệ ược ti nế hành cho đ nế khi các công vi cệ thu được đủ nhỏ để chúng

ta có thể ti nế hành xây d ng hoàn chự ỉnh Hình dưới: Minh h a cách tọ i pế c n theo hậ ướng

ch c nứ ăng

Phương pháp hướng ch cứ năng chú tr ngọ đ nế 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 của hệ th ng.ố Đi uề này dẫn đ nế vi cệ các

ch c năngứ trong hệ th ngố không tương thích với nhau trong việc th cự hi nệ thay đ iổ các thông tin trong hệ thống Chính vì v yậ mà 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 Để mô hình hóa cách xử

lý thông tin trong hệ thống dùng lược đ dòng d lồ ữ i u (Data Flow Diagraệ ms)

DFD là m tộ công cụ đ nơ gi nả và h uữ ích để miêu tả cách th cứ ho tạ đ ngộ c aủ hệ

th ng DFD s d ng các ký hố ử ụ iệu sau để mô t h thả ệ ống:

• Ô vuông có góc tròn được dùng để bi u di n các cể ễ h c năngứ c a h th ng.ủ ệ ố

Trang 39

21

Trang 40

• Ô vuông dùng đ bi uể ể di n thành pễ h n d lầ ữ i u trong h th ng.ệ ệ ố

• Hình tròn dùng đ bi uể ể di n các thàễ nh ph n bên ngoài có giao tầ i p vế ới hệ th ng.ố

• D uấ mũi tên dùng đ biể ểu di n hễ ướng di chuy nể c a d lủ ữ iệu

• Các t khóa “and” và “or” dùng đ liên k t các dòng ừ ể ế d lữ i u khi c n thi t.ệ ầ ế

Ngày đăng: 14/12/2021, 20:49

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
7. Nh n xét v phát b ậ ề i u ể sau “M i ph n ọ ầ mềm đ u có yêu c u v ề ầ ề tính ti n d ệ ụng”.- N u đúng: g ế i i ả thích- N u sai: ế gi i thích và ví ả dụ minh h a ọ Sách, tạp chí
Tiêu đề: M i ph n ọ ầ mềm đ u có yêu c u về ầ ề tính ti n dệ ụng
3. Khi ti n ế hành th c ự hi n ệ ph n ầ mềm qua các giai đo n ạ (trong qui trình 5 giai đoạn) có thể phát sinh l i ỗ trong m t ộ giai đo n ạ nào đó (k t ế quả chuy n ể giao không chính xác, thi u ế sót, v.v…). Theo các anh chị l i ỗ (n u ế phát sinh) c a ủ giai đo n ạ nào là nghiêm tr ng nh ọ ất Khác
5. Cho bi t ế sự khác bi t ệ cơ b n ả gi a ữ yêu c u ầ ch c ứ năng (yêu c u ầ nghi p ệ v , ụ yêu c u ầ h ệ th ng) ố và phi ch c ứ năng (yêu c u ầ ch t ấ lượng). Theo anh chị thì loại yêu c u ầ nào là quan tr ng ọ h n ơ Khác
6. Xác định t t c ấ ả các yêu c u ầ ch c ứ năng hệ th ng ố có thể có trong các ph n ầ mềm sau (chi tiết v qui ề đ nh, bi u ị ể mẫu liên quan có trong mô t c a đ ả ủ ề tài) Khác
8. Nh n xét v phát b ậ ề i u sau: “M i p ể ọ hần mềm đ có yêu c u v ề ầ ề tính hi u q ệ uả - N u đúng: g ế i i ả thích Khác

HÌNH ẢNH LIÊN QUAN

Sơ đồ phân rã ch c ứ  năng - Function Decomposition Diagram - FDD: Nêu lên các ch c ứ năng thông qua vi c ệ mô t  các tính ch t c a đ u vào và đ u raảấ ủầầ - Tổng quan về công nghệ phần mềm
Sơ đồ ph ân rã ch c ứ năng - Function Decomposition Diagram - FDD: Nêu lên các ch c ứ năng thông qua vi c ệ mô t các tính ch t c a đ u vào và đ u raảấ ủầầ (Trang 101)
O m c ứ  1: Sơ đồ m c ứ  0 có thể phân rã thành nhi u ề  sơ đồ m c ứ  1, các sơ đồ - Tổng quan về công nghệ phần mềm
m c ứ 1: Sơ đồ m c ứ 0 có thể phân rã thành nhi u ề sơ đồ m c ứ 1, các sơ đồ (Trang 119)

TỪ KHÓA LIÊN QUAN

w