Giáo trình Công nghệ phần mềm - Chương 1: Tổng quan về công nghệ phần mềm

Ngày nay, sự phát triển phần mềm ngày càng thực sự khó kiểm soát được; các

dự án phần mềm thường kéo dài và vượt quá chi phí cho phép. Những nhà lập trình

chuyên nghiệp phải cố gắng hoàn thành các dự án phần mềm một cách có chất lượng,

đúng hạn trong chi phí cho phép.

Mục đích của chương này là đưa ra những nhận định cơ bản và tạo nên một bức

tranh cơ sở về những phương pháp tiếp cận khác nhau của công việc tạo nên công

nghệ phần mềm. Các vấn đề cần làm rõ, chi tiết thêm sẽ được trình bày ở các chương

tiếp sau của giáo trình

pdf20 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1416 | Lượt tải: 2download
Tóm tắt nội dung Giáo trình Công nghệ phần mềm - Chương 1: Tổng quan về công nghệ phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
l)
Thông thường, khách hàng sẽ đưa ra mục tiêu của họ một cách chung chung 
mà họ không biết hoặc không đưa ra một cách cụ thể những cái vào, cái ra và các tiến 
trình xử lý chúng. Thêm vào đó, chúng ta cũng không thể không quan tâm đến thuật 
toán sử dụng, tính tương thích của sản phẩm phần mềm với môi trường của nó như: 
phần cứng, hệ điều hành...Trong trường hợp này, mô hình mẫu có thể là sự lựa chọn 
tốt hơn cho người lập trình.
Những điểm chính của mô hình mẫu được tóm tắt theo sơ đồ sau:
19
Phác thảo 
nét chính
Xây dựng 
phần mềm
Sử dụng 
phần mềm
Hệ thống 
thích hợp Chuyển giao 
phần mềm
Đ
S
Phân tích 
yêu cầu
Thiết kế 
Cài đặt và thử 
nghiệm đơn thể
Thử nghiệm 
tổng thể 
Bảo trì và
 phát triển
Chương 1: Tổng quan về công nghệ phần mềm. 
Mô hình mẫu là một cách để phá vỡ sự khắt khe, cứng nhắc trong chu trình tuần 
tự của dự án. Tuy vậy, trong mô hình mẫu, sử dụng sai làm hỏng phân tích và thiết kế, 
không bao giờ hoàn thiện được mẫu thành các ứng dụng thực sự là các vấn đề cần 
quan tâm. Thêm vào đó là hệ thống có thể không bao giờ được chuẩn hóa, chi tiết của 
việc xử lý, việc kiểm tra tính hợp lệ của dữ liệu và các đòi hỏi kiểm toán có thể bị bỏ 
quên trong việc đưa mẫu vào sản xuất.
Trong tương lai, tạo mẫu thích hợp với đánh giá thiết kế, cải tiến cách dùng 
phần cứng và phần mềm mới. Tạo mẫu thường đi đôi với các ngôn ngữ lập trình bậc 
cao và ngày càng có nhiều công cụ đặt mẫu sẽ được tích hợp với CASE.
1.5.3. Mô hình xoắn ốc (The spiral model)
Mô hình này được Boehm đưa ra nên đôi lúc còn được gọi là mô hình Boehm's 
(The Boehm's spiral model). Nó có thể xem là sự kết hợp giữa mô hình thác nước và 
mô hình mẫu và đồng thời thêm một thành phần mới - phân tích rủi ro. Bao gồm bốn 
hoạt động chính:
• Planning: Xác định mục tiêu, tương tác và ràng buộc.
• Risk analysis: Phân tích các lựa chọn và các chỉ định/giải quyết rủi ro.
• Engineering : Phát triển sản phẩm 
• Customer evaluation: Đánh giá kết quả xây dựng.
Mô hình được tóm tắt như sau:
Trong vòng đầu tiên của xoáy ốc, mục đích, lựa chọn, các ràng buộc được định 
nghĩa và các nguy cơ được xác định và phân tích. Nếu phân tích các lỗi chỉ ra rằng có 
một vài yêu cầu không chắc chắn, tạo mẫu có thể dược tiến hành để giúp đỡ nhà phát 
triển và khách hàng. Mô phỏng và các mô hình khác có thể được sử dụng để xác định 
vấn đề và làm mịn các yêu cầu.
20
Kế hoạch Phân tích rũi ro
Khách hàng đánh giá Xây dựng sản phẩm
Lập kế hoạch và thu 
tập yêu cầu ban đầu
Kế hoạch dựa trên
 các đánh giá của 
khách hàng
Đánh giá 
sản phẩm 
Hướng hoàn thiện 
của hệ thống 
Bản mẫu đầu tiên 
Các bản mẫu tiếp theo Tiếp tục phát
 triển hệ thống? 
Phân tích rũi ro trên cơ 
sở các yêu cầu ban đầu 
Phân tích rũi ro trên 
cơ sở các phản ứng 
của khách hàng 
Chương 1: Tổng quan về công nghệ phần mềm. 
Khách hàng đánh giá công việc và đưa ra các gợi ý. Trên cơ sở ý kiến đó, phần 
tiếp theo của lập kế hoạch và phân tích lỗi xuất hiện.
Mô hình xoáy ốc hiện nay là mô hình hướng tiếp cận hiện thực nhất để phát 
triển các hệ thống lớn. Nó sử dụng mô hình mẫu như là cơ chế loại trừ lỗi, cho phép 
nhà phát triển áp dụng mô hình mẫu tại mỗi chu trình phát triển. Nó kế thừa cách tiếp 
cận hệ thống từng bước từ chu kỳ sống cổ điển nhưng kết hợp với quá trình lặp lại phù 
hợp với thực tế.
Giống như các quy trình khác, mô hình xoáy ốc không phải là công cụ vạn 
năng. Đối với những hệ thống lớn, khó có thể điều khiển sự tiến hóa của phần mềm. 
Nó đòi hỏi phải có kỹ năng đánh giá lỗi. Cuối cùng là cần phải có thêm thời gian để 
kiểm nghiệm phương pháp mới này.
1.5.4. Mô hình đài phun nước
Đây là mô hình của cách tiếp cận hướng đối tượng, hệ thống được xem như là 
một hệ thống các thực thể tác động qua lại để đạt được một mục đích nào đó. Mô hình 
này tương ứng với mô hình thác nước trong cách tiếp cận hướng thủ tục ở trên. Ở đây, 
ta thấy trong có những phần lặp và giao nhau giữa các bước phân tích, thiết kế và cài 
đặt.
Các điểm chính của mô hình được tóm tắt như sau:
1.5.5. Mô hình phát triển dựa trên thành phần 
21
Các đối tượng trong 
không gian lời giải
Các đối tượng trong 
chương trình
Bảo trì
Ứng 
dụng Phát triển 
trong tương 
lai
LTHĐT
TKHĐT
PTHĐT
Lập trình hướng đối 
tượng
Thiết kế hướng đối tượng
Phân tích hướng đối 
tượng
Các đối tượng trong 
không gian bài toán
Chương 1: Tổng quan về công nghệ phần mềm. 
Xuất phát từ quan điểm: "Buy do not build", tư tưởng của phát triển dựa trên 
thành phần là lắp ráp hệ thống từ những thành phần đã có. Do vậy, kiến trúc phần 
mềm của hệ thống dựa vào kiến trúc phần mềm của các thành phần phần mềm tiêu 
chuẩn nên hệ thống đạt chất lượng cao hơn.
Phương pháp phát triển dựa trên thành phần gần tương tự như phương pháp 
phát triển hướng đối tượng. Hoạt động công nghệ bắt đầu với sự chỉ ra các lớp tham 
dự để phát triển hệ thống. Nếu các lớp này được tìm thấy trong thư viện và sự thích 
nghi là tốt, chúng sẽ được lấy ra và phát triển hệ thống. Ngược lại, chúng sẽ được phát 
triển để sử dụng và bổ sung vào thư viện sử dụng lại.
Thành phần phần mềm được sử dụng lại có độ chính xác cao và có thể nói là 
không chứa lỗi. Mặc dầu không thường xuyên được chứng minh về mặt hình thức 
nhưng với việc sử dụng lại, lỗi được tìm thấy và loại trừ; chất lượng của thành phần 
được cải thiện như là một kết quả.
Khi những thành phần sử dụng lại được ứng dụng thông qua tiến trình phần 
mềm, chúng ta ít tốn thời gian để tạo ra kế hoạch, mô hình, tài liệu, mã và dữ liệu mà 
chúng là cần thiết để tạo ra hệ thống. Thêm vào, chức năng cùng mức được phân phối 
cho người sử dụng với đầu vào ít công sức hơn, do vậy, hiệu suất phần mềm được cải 
thiện.
Những điểm chính của mô hình được tóm tắt như sau:
1.6. PHƯƠNG PHÁP PHÁT TRIỂN PHẦN MỀM
Khác với thời kỳ đầu của tin học, các chương trình phụ thuộc nhiều vào thiết 
bị và người ta chỉ quan tâm đến các "mẹo vặt" lập trình, thì ngày nay người ta quan 
tâm đến nguyên lý và phương pháp để phát triển phần mềm. Các nguyên lý và phương 
pháp được đề xuất nhằm nâng cao năng suất lao động cho nhóm phát triển phần mềm. 
Năng suất ở đây bao gồm tính đúng đắn của sản phẩm, tính dễ đọc, dễ sửa đổi, dễ thực 
hiện, tận dụng được tối đa khả năng của thiết bị mà vẫn không bị phụ thuộc vào thiết 
bị. 
Có nhiều phương pháp được đề cập như: phương pháp hướng chức năng, 
phương pháp hướng đối tượng, phương pháp ngữ nghĩa,... và thậm chí là không 
22
Kế hoạch
Phân
tích lỗi
Xây dựng hay 
dừng hệ thống 
Đánh giá của 
khách hàng
Giao tiếp với 
khách hàng
Thành phần để 
xây dựng 
hệ thống
Xây dựng nếu 
thành phần 
không thích hợp
Hợp nhất cho 
phiên bản hệ 
thống thứ n
Tìm kiếm 
trong thư viện 
thành phần 
Sử dụng nếu 
thành phần 
thích hợp
Bổ sung thành 
phần mới vào 
thư viện 
Chương 1: Tổng quan về công nghệ phần mềm. 
phương pháp để phát triển phần mềm. Bên cạnh các phương pháp để chỉ định cho việc 
tạo một bản phân tích và thiết kế, người ta còn chú ý đến phương pháp làm thế nào để 
đưa người dùng tham gia vào quy trình gọi là phương pháp luận xã hội.
1.7. VAI TRÒ CỦA NGƯỜI DÙNG TRONG GIAI ĐOẠN PHÁT TRIỂN 
PHẦN MỀM 
Trong những ứng dụng trước kia được xây dựng thường xuyên không có sự bàn 
bạc với người sử dụng, sự cô lập của các công nghệ phần mềm đối với người dùng dẫn 
đến những hệ thống có khả năng làm việc về mặt kỹ thuật, nhưng thông thường không 
đáp ứng được nhu cầu của người sử dụng, và thường xuyên làm gián đoạn quá trình 
làm việc.
Để có sự tham gia của người sử dụng trong quá trình phát triển ứng dụng, 
phương thức này đòi hỏi những cuộc họp ngoài lề của tất cả những người sử dụng có 
liên quan và những người trong hệ thống - thường những người gặp nhau trong từ 5 
đến 10 ngày để phát triển một mô tả chức năng chi tiết của những yêu cầu ứng dụng. 
Các cuộc họp ban ngày được sử dụng về những phân tích mới, những cuộc họp ban 
đêm lập tài liệu về những kết quả ban ngày để xem xét lại và tiếp tục chắt lọc trong 
ngày tiếp theo.
Có rất nhiều lợi ích từ việc tham gia của người sử dụng trong phát triển ứng 
dụng.
• Trước tiên nó xây dựng sự cam kết của những người sử dụng - những người 
đương nhiên đảm nhiệm quyền sở hữu của hệ thống.
• Thứ hai, những người sử dụng là những chuyên gia thực sự của những công 
việc đang được tự động - lại được đại diện hoàn toàn thông qua sự phát 
triển.
• Thứ ba, những nhiệm vụ được người sử dụng thực hiện bao gồm việc thiết 
kế màn hình, các mẫu, các báo cáo, sự phát triển tài liệu của người sử dụng, 
sự phát triển và tiến hành của các cuộc kiểm tra công nhận,...
Sự tham gia của người sử dụng không chỉ là ước muốn mà còn là một mệnh 
lệnh đối với tiến trình và sản phẩm phát triển ứng dụng hoàn toàn hiệu quả. Khía cạnh 
quan trọng nhất của sự tham gia của người sử dụng là nó phải có ý nghĩa. Người sử 
dụng phải là những người quyết định và là những người mong muốn tham gia vào quá 
trình phát triển. Sử dụng đội ngũ nhân viên ở cấp thấp hoặc chỉ định các nhà quản lý 
mở rộng không phải là cách để kéo người sử dụng vào các ứng dụng phát triển.
Mục tiêu của việc tham gia của người sử dụng là cho những người phát triển hệ 
thống và không phát triển hệ thống làm việc cùng với nhau như những đối tác chứ 
không phải như những kẻ thù. Khi những người sử dụng tham gia thì họ sẽ tạo ra 
những quy định không mang tính kỹ thuật. Những kỹ sư phần mềm giải thích và 
hướng dẫn người sử dụng tạo ra những quy định nữa kỹ thuật, ví dụ như việc thiết kế 
màn hình, và giải thích cả những tác động và suy luận của các quy định kỹ thuật chính 
yếu. 
23
Chương 1: Tổng quan về công nghệ phần mềm. 
Việc tham gia của người sử dụng có nghĩa là người sử dụng sẽ điều khiển dự 
án, tạo nên phần lớn quy định và có tính quyết định cuối cùng đối với tất cả các quyết 
định lớn. Các kỹ sư phần mềm và các nhân viên của các hệ thống quản lý thông tin 
khác hoạt động như những kỹ thuật viên phục vụ, như là những chức năng của họ.
24

File đính kèm:

  • pdfGiáo trình Công nghệ phần mềm - Chương 1 Tổng quan về công nghệ phần mềm.pdf