Chapter3
Quá trình Phần mềm
học tập Mục tiêu
Sau khi nghiên cứu chương này, bạn sẽ có thể
• Giải thích lý do tại sao hai chiều mô hình vòng đời rất quan trọng.
• Mô tả các fi ve OWS workfl cốt lõi của quá trình ed Unifi.
• Danh sách các hiện vật được thử nghiệm trong các kiểm tra workfl ow.
• Mô tả bốn giai đoạn của quá trình ed Unifi.
• Giải thích sự khác biệt giữa các OWS workfl và các giai đoạn của ed Unifi
Process.
• Đánh giá cao tầm quan trọng của quá trình cải tiến phần mềm.
• Mô tả các mô hình trưởng thành năng lực (CMM) .
74
Các quá trình phần mềm là cách chúng tôi sản xuất phần mềm. Nó kết hợp các phương pháp
(Mục 1.11) với phần mềm cơ bản mô hình của nó trong chu kỳ (Chương 2) và kỹ thuật,
các công cụ chúng tôi sử dụng (mục 5.6 thông qua 5,12), và quan trọng nhất của tất cả, các cá nhân
xây dựng phần mềm.
tổ chức khác nhau có khác nhau quy trình phần mềm. Ví dụ, hãy xem xét các
vấn đề của tài liệu. Một số tổ chức xem xét các phần mềm mà họ sản xuất được selfdocumenting; đó là, sản phẩm có thể được hiểu đơn giản bằng cách đọc mã nguồn.
Các tổ chức khác, tuy nhiên, là tài liệu hướng dẫn chuyên sâu. Họ punctiliously lập
cation specifi và kiểm tra xem chúng có phương pháp. Sau đó, họ thực hiện các hoạt động thiết kế cẩn thận, kiểm tra và kiểm tra lại thiết kế của họ trước khi bắt đầu mã hóa, và cung cấp cho rộng
các mô tả của mỗi mã vật để các lập trình viên. Trường hợp thử nghiệm được preplanned, kết quả
của mỗi lần chạy thử nghiệm được đăng nhập, và các dữ liệu thử nghiệm là fi tỉ mỉ dẫn đi. Một khi sản phẩm
đã được chuyển giao và cài đặt trên máy tính của khách hàng, bất kỳ đề nghị thay đổi phải được đề nghị bằng văn bản, với lý do chi tiết cho việc thực hiện các thay đổi. Các thay đổi được đề xuất có thể được
thực hiện chỉ với sự cho phép bằng văn bản, và các cation modifi không được tích hợp vào các sản phẩm
cho đến khi các tài liệu đã được cập nhật và thay đổi các tài liệu đã được phê duyệt.
sch76183_ch03_074-106.indd 74 04/06/10 18:35
Chương 3 Phần mềm Process 75
Cường độ của thử nghiệm là một biện pháp mà các tổ chức có thể được so sánh. Một số
tổ chức dành đến một nửa ngân sách phần mềm của họ để kiểm thử phần mềm, trong khi những người khác
cảm thấy rằng chỉ có người dùng hoàn toàn có thể thử nghiệm một sản phẩm. Do đó, một số công ty dành
thời gian tối thiểu và công sức để thử nghiệm các sản phẩm nhưng chi tiêu một số tiền đáng kể thời gian
vấn đề fi xing báo cáo của người dùng.
Postdelivery bảo trì là một mối bận tâm lớn của nhiều tổ chức phần mềm.
Phần mềm đó là 10, 15, hoặc thậm chí 20 tuổi liên tục được tăng cường để đáp ứng sự thay đổi
nhu cầu; ngoài ra, lỗi còn lại tiếp tục xuất hiện, ngay cả sau khi các phần mềm đã được duy trì thành công trong nhiều năm. Hầu như tất cả các tổ chức di chuyển các phần mềm của họ để mới hơn
phần cứng mỗi 3-5 năm; này, quá, tạo thành bảo trì postdelivery.
Ngược lại, chưa tổ chức khác về cơ bản có liên quan với nghiên cứu, để
phát triển, hãy để một mình bảo trì cho người khác. Điều này đặc biệt áp dụng cho các trường đại học
ngành khoa học máy tính, nơi sinh viên đại học xây dựng phần mềm để chứng minh rằng một thiết kế hoặc kỹ thuật đặc biệt là khả thi. Việc khai thác thương mại của khái niệm xác nhận còn lại cho các tổ chức khác. (Xem Chỉ trong trường hợp bạn muốn biết về Box 3.1
. sự khác biệt lớn trong cách tổ chức khác nhau phát triển phần mềm)
Tuy nhiên, bất kể các thủ tục chính xác, quá trình phát triển phần mềm được
xây dựng xung quanh các fi ve OWS workfl của Hình 2.4: yêu cầu, phân tích (cation specifi), thiết kế, thực hiện và kiểm tra. Trong chương này, các OWS workfl được
mô tả, cùng với những thách thức tiềm năng có thể phát sinh trong mỗi workfl ow.
Solutions với những thách thức liên quan đến việc sản xuất các phần mềm thường là không tầm thường, và phần còn lại của cuốn sách này được dành để mô tả kỹ thuật phù hợp. Trong
phần đầu tiên của chương fi này, chỉ có những thách thức đang nổi bật, nhưng người đọc được hướng dẫn
đến các bộ phận liên quan hoặc chương cho các giải pháp. Theo đó, phần này của chương
không chỉ là một cái nhìn tổng quan của quá trình phần mềm, nhưng một hướng dẫn để nhiều phần còn lại của
cuốn sách. Chương này kết thúc với những sáng kiến quốc gia và quốc tế để cải thiện các
quy trình phần mềm.
Bây giờ chúng ta xem xét quá trình ed Unifi.
Chỉ trong trường hợp bạn muốn biết Box 3.1
Tại sao quá trình phần mềm khác nhau rất quyết liệt từ các tổ chức để tổ chức? Một
nguyên nhân chính là thiếu các kỹ năng kỹ thuật phần mềm. Tất cả các chuyên phần mềm quá nhiều
chỉ đơn giản là không kịp cập nhật. Họ tiếp tục phát triển phần mềm Ye Olde Fashioned
Way, bởi vì họ biết không có cách nào khác.
Một lý do khác cho sự khác biệt trong quá trình phần mềm là nhiều nhà quản lý phần mềm
là các nhà quản lý xuất sắc nhưng biết quý chút về phát triển phần mềm, bảo trì. Họ thiếu kiến thức về kỹ thuật có thể dẫn đến các dự án trượt rất tệ đằng sau
lịch trình mà không có điểm trong việc tiếp tục. Điều này thường là lý do tại sao nhiều
dự án phần mềm không bao giờ được hoàn thành.
Tuy nhiên, một lý do cho sự khác biệt giữa các quá trình là triển vọng quản lý. Ví
dụ, một tổ chức có thể quyết định rằng nó là tốt hơn để cung cấp một sản phẩm về thời gian, thậm chí nếu
nó không được kiểm tra đầy đủ. Trong bối cảnh như giống hệt nhau, một tổ chức khác nhau có thể
kết luận rằng nguy cơ của việc cung cấp sản phẩm mà không cần kiểm tra toàn diện sẽ là
lớn hơn nhiều so với thời gian để kiểm tra các sản phẩm kỹ lưỡng và do đó cung cấp
nó muộn.
sch76183_ch03_074-106.indd 75 04/06/10 18:35
76 Part A Engineering Software Các khái niệm
3.1 Quá trình ed Unifi
Như đã nêu ở phần đầu của chương này, phương pháp luận là một trong những thành phần của một phần mềm
quá trình. Các đối tượng theo định hướng phương pháp chính hôm nay là Process ed theUnifi. Như
đã giải thích trong Chỉ trong trường hợp bạn muốn biết Box 3.2, Unifi ed "Process" thực sự là
một phương pháp, nhưng tên Unifi ed Phương pháp đã được sử dụng như là tên
của phiên bản đầu tiên của fi theUnified Modeling Language (UML). Ba tiền thân của
các Unified Process (OMT, phương pháp Booch, và Objectory) không còn được hỗ trợ, và
các phương pháp hướng đối tượng khác đã có rất ít hoặc không có sau. Kết quả là, các
Process ed Unifi thường là sự lựa chọn chính ngay hôm nay để sản xuất phần mềm hướng đối tượng. May mắn thay, như sẽ được chứng minh trong phần B của cuốn sách này, các Process ed Unifi là một
phương pháp hướng đối tượng xuất sắc trong hầu hết mọi thứ.
Quá trình ed Unifi không phải là một loạt c specifi các bước, nếu theo sau, sẽ dẫn đến việc
xây dựng một sản phẩm phần mềm. Trong thực tế, không có như vậy đơn "một kích thước ts fi tất cả" phương pháp
có thể tồn tại vì sự đa dạng của các loại sản phẩm phần mềm. Ví dụ, có
rất nhiều lĩnh vực ứng dụng khác nhau, chẳng hạn như bảo hiểm, hàng không vũ trụ, và sản xuất.
Ngoài ra, một phương pháp đổ xô một gói COTS ra thị trường trước đối thủ cạnh tranh của nó là
khác nhau từ một trong những sử dụng để xây dựng một bảo mật cao quỹ điện tử chuyển mạng. Trong
Ngoài ra, các kỹ năng của các chuyên gia phần mềm có thể rất khác nhau.
Thay vào đó, quá trình ed Unifi nên được xem như là một phương pháp thích nghi. Nghĩa là, nó
là ed modifi cho các sản phẩm phần mềm c specifi được phát triển. Như sẽ thấy trong Phần B,
một số tính năng của Process ed Unifi là không áp dụng cho nhỏ và thậm chí quy mô vừa
mềm. Tuy nhiên, phần lớn các Process ed Unifi được sử dụng cho các sản phẩm phần mềm của tất cả các kích cỡ.
Sự nhấn mạnh trong cuốn sách này là tập hợp con trên này phổ biến của quá trình ed Unifi, nhưng các khía cạnh
của quá trình ed Unifi chỉ áp dụng cho phần mềm quy mô lớn cũng được thảo luận , để đảm bảo
rằng những vấn đề cần được giải quyết khi các sản phẩm phần mềm lớn hơn được xây dựng được
đánh giá cao kỹ lưỡng.
3.2Iteration và incrementation trong
các Object-Oriented Paradigm
Mô hình hướng đối tượng sử dụng mô hình trong suốt. Amodel là một tập hợp các sơ đồ UML đại diện cho một hoặc nhiều khía cạnh của sản phẩm phần mềm được phát triển. (UML
sơ đồ được giới thiệu trong chương 7). Nhớ lại rằng UML là viết tắt của Unifi edModeling Language. Đó là, UML là công cụ mà chúng tôi sử dụng để đại diện (mô hình) các sản phẩm phần mềm tiêu.
Một lý do chính để sử dụng một đại diện đồ họa như UML tốt nhất là thể hiện bằng cũ
câu tục ngữ, một bức tranh trị giá một ngàn chữ. Sơ đồ UML cho phép các chuyên gia phần mềm
để giao tiếp với nhau một cách nhanh chóng hơn và chính xác hơn nếu chỉ bằng lời
giới thiệu đã được sử dụng.
Các mô hình hướng đối tượng là một phương pháp lặp đi lặp lại-và-gia tăng. Mỗi ow workfl bao gồm một số bước, và để thực hiện điều đó workfl ow, các bước của ow workfl
được thực hiện liên tục cho đến khi các thành viên của nhóm phát triển là ed satisfi rằng
họ có một mô hình UML chính xác của sản phẩm phần mềm mà họ muốn để phát triển. Đó là,
ngay cả những chuyên gia phần mềm có kinh nghiệm nhất lặp và lặp lại cho đến khi họ fi nally
satisfi ed rằng các sơ đồ UML là chính xác. Hàm ý là kỹ sư phần mềm, không
sch76183_ch03_074-106.indd 76 10/06/10 14:11
Chỉ trong trường hợp bạn muốn biết Box 3.2
Cho đến gần đây, các phương pháp phát triển phần mềm hướng đối tượng phổ biến nhất là
đối tượng mô hình kỹ thuật (OMT ) [Rumbaugh et al., 1991] và phương pháp Grady Booch của
[Booch, 1994]. OMT được phát triển bởi Jim Rumbaugh và nhóm của ông tại Trung tâm Nghiên cứu và Phát triển General Electric ở Schenectady, New York, trong khi Grady Booch
phát triển phương pháp của mình tại Rational, Inc., tại Santa Clara, California. Tất cả các phương pháp phát triển phần mềm hướng đối tượng cơ bản là tương đương, vì vậy sự khác nhau giữa
phương pháp OMT và Booch em rất nhỏ. Tuy nhiên, luôn luôn là một sự cạnh tranh thân thiện
giữa những người ủng hộ của hai phe.
Điều này đã thay đổi trong tháng 10 năm 1994, khi gia nhập Rumbaugh Booch tại Rational. Hai
methodologists ngay lập tức bắt đầu làm việc cùng nhau để phát triển một phương pháp mà sẽ
kết hợp phương pháp OMT và Booch của. Khi một phiên bản sơ bộ của công việc của họ được công bố, nó đã chỉ ra rằng họ đã không phát triển một phương pháp mà chỉ là một ký hiệu
để biểu diễn một đối tượng orie
đang được dịch, vui lòng đợi..
