Cac cach tiep can PT phan mem
Chia sẻ bởi Nguyễn Văn Bình |
Ngày 18/03/2024 |
9
Chia sẻ tài liệu: Cac cach tiep can PT phan mem thuộc Lịch sử
Nội dung tài liệu:
CÁC CÁCH TIẾP CẬN TRONG PHÁT TRIỂN PHẦN MỀM
A. Cách tiếp cận hướng chức năng
Dựa vào chức năng, nhiệm vụ là chính.
Tập trung trước hết nghiên cứu các yêu cầu của bài toán để xác định các chức năng chính của hệ thống.
Ví dụ xây dựng “hệ thống quản lý thư viện”: nghiên cứu, khảo sát trao đổi và phỏng vấn xem những người thủ thư, bạn đọc cần phải thực hiện những công việc gì để phục vụ được bạn đọc và quản lý tốt được các tài liệu.
→ các nhiệm vụ chính của hệ thống: quản lý bạn đọc, cho mượn sách, nhận trả sách, thông báo nhắc trả sách, v.v.
2. Phân rã chức năng và làm mịn dần theo cách từ trên xuống (Top/Down)
Một hệ thống được phân tích dựa trên các chức năng hoặc quá trình sẽ được chia thành các hệ thống con và tạo ra cấu trúc phân cấp các chức năng.
Ví dụ, hệ thống quản lý thư viện có thể phân chia từ trên xuống như sau:
Hệ thống quản lý TV :
Quản lý bạn đọc
Cho mượn tài liệu
Nhận trả tài liệu
Nhắc trả tài liệu
3. Các đơn thể chức năng trao đổi với nhau bằng cách truyền tham số hay sử dụng dữ liệu chung.
Một hệ thống phần mềm bao giờ cũng phải được xem như là một thể thống nhất, do đó các đơn thể chức năng phải có quan hệ trao đổi thống tin, dữ liệu với nhau.
Trong một chương trình gồm nhiều hàm (thực hiện nhiều chức năng khác nhau) muốn trao đổi dữ liệu được với nhau thì nhất thiết phải sử dụng dữ liệu liệu chung hoặc liên kết với nhau bằng cách truyền tham biến.
Mỗi đơn thể chức năng không những chỉ thao tác, xử lý trên những biến dữ liệu cục bộ mà còn phải sử dụng các biến chung, thường đó là các biến toàn cục.
3. Các đơn thể chức năng trao đổi với nhau bằng cách truyền tham số hay sử dụng dữ liệu chung.
Bất lợi: Đối với những dự án lớn, phức tạp có nhiều nhóm tham gia, mỗi nhóm chỉ đảm nhận một số chức năng nhất định và như thế khi một nhóm có yêu cầu thay đổi về dữ liệu chung đó thì sẽ kéo theo tất cả các nhóm khác có liên quan cũng phải thay đổi theo.
Khi có yêu cầu thay đổi của một đơn thể chức năng: sẽ ảnh hưởng tới các chức năng khác và do đó sẽ ảnh hưởng tới hiệu suất lao động của các nhóm cũng như của cả dự án.
Mặt khác, các chức năng của hệ thống có nhu cầu phải thay đổi là tất yếu và rất thường xuyên.
4.Tính mở và thích nghi của hệ thống được xây dựng theo cách tiếp cận này là thấp
Hệ thống được xây dựng dựa vào chức năng là chính mà trong thực tế thì chức năng, nhiệm vụ của hệ thống lại hay thay đổi.
Các bộ phận của hệ thống phải sử dụng biến toàn cục để trao đổi với nhau, do vậy khả năng thay đổi, mở rộng của chúng và của cả hệ thống là bị hạn chế.
5. Khả năng tái sử dụng bị hạn chế và không hỗ cơ chế kế thừa.
Một trong cơ chế chính hỗ trợ để dễ có được tính thích nghi là kế thừa thì cách tiếp cận hướng chức năng lại không hỗ trợ.
B. Cách tiếp cận hướng đối tượng
Đặt trọng tâm vào dữ liệu (thực thể)
Phân tích hệ thống không tập trung vào nhiệm vụ mà tìm hiểu xem hệ thống gồm những thực thể nào.
Thực thể hay còn gọi là đối tượng: người, sự vật, sự kiện… ta đang quan tâm hay xử lý.
2. Xem hệ thống như là tập các thực thể, các đối tượng.
Phân tách hệ thống thành các đơn thể đơn giản hơn.
Quá trình này được lặp lại cho đến khi thu được những đơn thể tương đối đơn giản, dễ hiểu và thực hiện cài đặt chúng mà không tăng thêm độ phức tạp khi liên kết chúng trong hệ thống.
B. Cách tiếp cận hướng đối tượng
3. Các lớp đối tượng trao đổi với nhau bằng các thông điệp (Message).
Theo nghĩa thông thường: Lớp (Class) là nhóm một số người, vật có những đặc tính tương tự nhau hoặc có những hành vi ứng xử giống nhau.
Trong mô hình đối tượng: lớp là cấu trúc mô tả hợp nhất các thuộc tính (Attribute), dữ liệu thành phần (Data Member) thể hiện đặc tính của mỗi đối tượng và các phương thức (Method) hay hàm thành phần (Member Function) thao tác trên dữ liệu riêng và là giao diện trao đổi với các đối tượng khác để xác định hành vi của chúng trong hệ thống.
B. Cách tiếp cận hướng đối tượng
Khi có yêu cầu dữ liệu để thực hiện 1 nhiệm vụ nào đó, 1 đối tượng sẽ gửi 1 thông điệp (gọi 1 phương thức) cho đối tượng khác.
Đối tượng nhận thông điệp yêu cầu sẽ thực hiện 1 số công việc trên dữ liệu mà nó sẵn có hoặc lại tiếp tục yêu cầu những đối tượng khác hỗ trợ để có những thông tin trả lời cho đối tượng yêu cầu.
B. Cách tiếp cận hướng đối tượng
4. Tính mở và thích nghi của hệ thống cao hơn vì:
Hệ thống được xây dựng dựa vào các lớp đối tượng nên khi có yêu cầu thay đổi thì chỉ thay đối những lớp đối tượng có liên quan hoặc bổ sung thêm một số lớp đối tượng mới (có thể kế thừa từ những lớp có trước) để thực thi những nhiệm vụ mới mà hệ thống cần thực hiện.
Ví dụ: Giám đốc thư viện cần bổ sung chức năng theo dõi những tài liệu mới mà bạn đọc thường xuyên yêu cầu để đặt mua: bổ sung thêm lớp mới để theo dõi yêu cầu: lớp Yêu cầu.
B. Cách tiếp cận hướng đối tượng
5. Hỗ trợ sử dụng lại và cơ chế kế thừa.
Các lớp đối tượng được tổ chức theo nguyên lý bao gói và che giấu thông tin, điều này làm tăng thêm hiệu quả của kế thừa và độ tin cậy của hệ thống. Các ngôn ngữ lập trình hướng đối tượng như: C++, Java, C#, Delphi, v.v. đều hỗ trợ quan hệ kế thừa.
B. Cách tiếp cận hướng đối tượng
2. Các mô hình chu trình phát triển phần mềm
Mô hình thác nước:
Quá trình phần mềm được chia thành dãy các bước liên tiếp từ phân tích yêu cầu, phân tích, thiết kế hệ thống, lập trình đến thử nghiệm và triển khai hệ thống.
Bước sau chỉ được bắt đầu khi bước trước đã hoàn thành. Mô hình này được thiết lập theo cách tiếp cận hướng chức năng và phù hợp cho những dự án lớn, phức tạp.
a. Mô hình thác nước
Ưu điểm:
Thích hợp cho những dự án lớn.
Dự án thực hiện lần lượt theo các pha của một tiến trình nên việc quản lý dự án sẽ dễ dàng và thuận tiện.
Nhược điểm:
Các yêu cầu của NSD (người sử dụng) không phản ánh, trao đổi được với nhóm phát triển cho đến khi hoàn tất từng giai đoạn phát triển.
Không cho phép thay đổi nhiều theo các đặc tả yêu cầu của hệ thống.
b. Mô hình thăm dò (hình xoắn ốc)
Phát triển càng nhanh càng tốt một hệ thống rồi cải tiến hệ thống đó cho tới khi nó đáp ứng được các yêu cầu của khách hàng.
Các bước thực hiện cũng giống như mô hình thác nước nhưng luôn có xét tới các yếu tố khả thi, các sự cố tác động vào hệ thống, nghĩa là phân tích các yêu tố rủi ro và những yêu cầu mới, thay đổi của NSD nhằm tạo ra những phần mềm gần với những yêu cầu thực tế hơn.
Quá trình phát triển được chia thành nhiều thời kỳ, mỗi thời kỳ bắt đầu bằng việc phân tích, rồi tạo nguyên mẫu, các công đoạn để cải tạo, duyệt lại và cứ thế tiếp tục cho tới khi đạt được muc đích.
Ưu điểm:
Linh hoạt hơn trong quá trình phát triển hệ thống cho thích hợp với những thay đổi trong đặc tả yêu cầu.
Các pha thực hiện bị lặp nhiều trong cả quá trình phát triển hệ thống.
Khuyết điểm:
Các pha thực hiện bị lặp nhiều trong cả quá trình phát triển hệ thống.
b. Mô hình thăm dò (hình xoắn ốc)
3. Tạo nguyên mẫu (bản mẫu)
Phát triển một hệ thống cho người dùng thử nghiệm, rồi thiết lập các yêu cầu và tạo ra nguyên mẫu mới cho tới khi sản phẩm đạt yêu cầu.
NSD và những người phát triển hệ thống có thể trao đổi với nhau để thống nhất về những yêu cầu trong quá trình phát triển phần mềm.
Xây dựng một phương án thô để phát triển một nguyên mẫu rồi đem cho NSD dùng thử. Nếu phát hiện được chỗ NSD chưa bằng lòng, thì chỉnh sửa lại và hoàn thiện để có nguyên mẫu tiếp theo. Cứ thế thành lập một dãy các nguyên mẫu, rốt cuộc người ta đạt được hệ thống đáp ứng các yêu cầu NSD.
Ưu điểm:
Cho phép xây dựng những hệ thống thực hiện hiệu quả các chức năng mà NSD yêu cầu.
Trong quá trình thực hiện cho phép kiểm tra các yêu cầu của NSD có cần thiết, có đáp ứng thực tế hay không, do vậy cho phép bổ sung kịp thời và đồng thời loại bỏ đi những điểm không cần thiết.
Khuyết điểm:
- Không thích hợp cho những dự án lớn, chỉ thích hợp cho những dự án vừa và nhỏ.
3. Tạo nguyên mẫu
4. Biến đổi hình thức
Phát triển một đặc tả hình thức cho một hệ thống và phân tích để biến đổi các đặc tả đó (đảm bảo tính đúng đắn của các phép biến đổi) cho tới khi có được một chương trình thoả mãn các yêu cầu.
5. Tập hợp các thành phần dùng lại được
Tập hợp các thành phần dùng lại được để xây dựng phần mềm thoả các yêu cầu.
Việc tạo lập hệ thống được thực hiện bằng cách lắp ráp các thành phần có sẵn.
Theo Hooper, Chester và Kang thì quá trình tập hợp các thành phần gồm 6 bước: nhận thức bài toán, hình thành giải pháp, tìm kiếm các thành phần, điều chỉnh và thích ứng các thành phần, tích hợp chúng và đánh giá hệ thống được tuyển chọn.
A. Cách tiếp cận hướng chức năng
Dựa vào chức năng, nhiệm vụ là chính.
Tập trung trước hết nghiên cứu các yêu cầu của bài toán để xác định các chức năng chính của hệ thống.
Ví dụ xây dựng “hệ thống quản lý thư viện”: nghiên cứu, khảo sát trao đổi và phỏng vấn xem những người thủ thư, bạn đọc cần phải thực hiện những công việc gì để phục vụ được bạn đọc và quản lý tốt được các tài liệu.
→ các nhiệm vụ chính của hệ thống: quản lý bạn đọc, cho mượn sách, nhận trả sách, thông báo nhắc trả sách, v.v.
2. Phân rã chức năng và làm mịn dần theo cách từ trên xuống (Top/Down)
Một hệ thống được phân tích dựa trên các chức năng hoặc quá trình sẽ được chia thành các hệ thống con và tạo ra cấu trúc phân cấp các chức năng.
Ví dụ, hệ thống quản lý thư viện có thể phân chia từ trên xuống như sau:
Hệ thống quản lý TV :
Quản lý bạn đọc
Cho mượn tài liệu
Nhận trả tài liệu
Nhắc trả tài liệu
3. Các đơn thể chức năng trao đổi với nhau bằng cách truyền tham số hay sử dụng dữ liệu chung.
Một hệ thống phần mềm bao giờ cũng phải được xem như là một thể thống nhất, do đó các đơn thể chức năng phải có quan hệ trao đổi thống tin, dữ liệu với nhau.
Trong một chương trình gồm nhiều hàm (thực hiện nhiều chức năng khác nhau) muốn trao đổi dữ liệu được với nhau thì nhất thiết phải sử dụng dữ liệu liệu chung hoặc liên kết với nhau bằng cách truyền tham biến.
Mỗi đơn thể chức năng không những chỉ thao tác, xử lý trên những biến dữ liệu cục bộ mà còn phải sử dụng các biến chung, thường đó là các biến toàn cục.
3. Các đơn thể chức năng trao đổi với nhau bằng cách truyền tham số hay sử dụng dữ liệu chung.
Bất lợi: Đối với những dự án lớn, phức tạp có nhiều nhóm tham gia, mỗi nhóm chỉ đảm nhận một số chức năng nhất định và như thế khi một nhóm có yêu cầu thay đổi về dữ liệu chung đó thì sẽ kéo theo tất cả các nhóm khác có liên quan cũng phải thay đổi theo.
Khi có yêu cầu thay đổi của một đơn thể chức năng: sẽ ảnh hưởng tới các chức năng khác và do đó sẽ ảnh hưởng tới hiệu suất lao động của các nhóm cũng như của cả dự án.
Mặt khác, các chức năng của hệ thống có nhu cầu phải thay đổi là tất yếu và rất thường xuyên.
4.Tính mở và thích nghi của hệ thống được xây dựng theo cách tiếp cận này là thấp
Hệ thống được xây dựng dựa vào chức năng là chính mà trong thực tế thì chức năng, nhiệm vụ của hệ thống lại hay thay đổi.
Các bộ phận của hệ thống phải sử dụng biến toàn cục để trao đổi với nhau, do vậy khả năng thay đổi, mở rộng của chúng và của cả hệ thống là bị hạn chế.
5. Khả năng tái sử dụng bị hạn chế và không hỗ cơ chế kế thừa.
Một trong cơ chế chính hỗ trợ để dễ có được tính thích nghi là kế thừa thì cách tiếp cận hướng chức năng lại không hỗ trợ.
B. Cách tiếp cận hướng đối tượng
Đặt trọng tâm vào dữ liệu (thực thể)
Phân tích hệ thống không tập trung vào nhiệm vụ mà tìm hiểu xem hệ thống gồm những thực thể nào.
Thực thể hay còn gọi là đối tượng: người, sự vật, sự kiện… ta đang quan tâm hay xử lý.
2. Xem hệ thống như là tập các thực thể, các đối tượng.
Phân tách hệ thống thành các đơn thể đơn giản hơn.
Quá trình này được lặp lại cho đến khi thu được những đơn thể tương đối đơn giản, dễ hiểu và thực hiện cài đặt chúng mà không tăng thêm độ phức tạp khi liên kết chúng trong hệ thống.
B. Cách tiếp cận hướng đối tượng
3. Các lớp đối tượng trao đổi với nhau bằng các thông điệp (Message).
Theo nghĩa thông thường: Lớp (Class) là nhóm một số người, vật có những đặc tính tương tự nhau hoặc có những hành vi ứng xử giống nhau.
Trong mô hình đối tượng: lớp là cấu trúc mô tả hợp nhất các thuộc tính (Attribute), dữ liệu thành phần (Data Member) thể hiện đặc tính của mỗi đối tượng và các phương thức (Method) hay hàm thành phần (Member Function) thao tác trên dữ liệu riêng và là giao diện trao đổi với các đối tượng khác để xác định hành vi của chúng trong hệ thống.
B. Cách tiếp cận hướng đối tượng
Khi có yêu cầu dữ liệu để thực hiện 1 nhiệm vụ nào đó, 1 đối tượng sẽ gửi 1 thông điệp (gọi 1 phương thức) cho đối tượng khác.
Đối tượng nhận thông điệp yêu cầu sẽ thực hiện 1 số công việc trên dữ liệu mà nó sẵn có hoặc lại tiếp tục yêu cầu những đối tượng khác hỗ trợ để có những thông tin trả lời cho đối tượng yêu cầu.
B. Cách tiếp cận hướng đối tượng
4. Tính mở và thích nghi của hệ thống cao hơn vì:
Hệ thống được xây dựng dựa vào các lớp đối tượng nên khi có yêu cầu thay đổi thì chỉ thay đối những lớp đối tượng có liên quan hoặc bổ sung thêm một số lớp đối tượng mới (có thể kế thừa từ những lớp có trước) để thực thi những nhiệm vụ mới mà hệ thống cần thực hiện.
Ví dụ: Giám đốc thư viện cần bổ sung chức năng theo dõi những tài liệu mới mà bạn đọc thường xuyên yêu cầu để đặt mua: bổ sung thêm lớp mới để theo dõi yêu cầu: lớp Yêu cầu.
B. Cách tiếp cận hướng đối tượng
5. Hỗ trợ sử dụng lại và cơ chế kế thừa.
Các lớp đối tượng được tổ chức theo nguyên lý bao gói và che giấu thông tin, điều này làm tăng thêm hiệu quả của kế thừa và độ tin cậy của hệ thống. Các ngôn ngữ lập trình hướng đối tượng như: C++, Java, C#, Delphi, v.v. đều hỗ trợ quan hệ kế thừa.
B. Cách tiếp cận hướng đối tượng
2. Các mô hình chu trình phát triển phần mềm
Mô hình thác nước:
Quá trình phần mềm được chia thành dãy các bước liên tiếp từ phân tích yêu cầu, phân tích, thiết kế hệ thống, lập trình đến thử nghiệm và triển khai hệ thống.
Bước sau chỉ được bắt đầu khi bước trước đã hoàn thành. Mô hình này được thiết lập theo cách tiếp cận hướng chức năng và phù hợp cho những dự án lớn, phức tạp.
a. Mô hình thác nước
Ưu điểm:
Thích hợp cho những dự án lớn.
Dự án thực hiện lần lượt theo các pha của một tiến trình nên việc quản lý dự án sẽ dễ dàng và thuận tiện.
Nhược điểm:
Các yêu cầu của NSD (người sử dụng) không phản ánh, trao đổi được với nhóm phát triển cho đến khi hoàn tất từng giai đoạn phát triển.
Không cho phép thay đổi nhiều theo các đặc tả yêu cầu của hệ thống.
b. Mô hình thăm dò (hình xoắn ốc)
Phát triển càng nhanh càng tốt một hệ thống rồi cải tiến hệ thống đó cho tới khi nó đáp ứng được các yêu cầu của khách hàng.
Các bước thực hiện cũng giống như mô hình thác nước nhưng luôn có xét tới các yếu tố khả thi, các sự cố tác động vào hệ thống, nghĩa là phân tích các yêu tố rủi ro và những yêu cầu mới, thay đổi của NSD nhằm tạo ra những phần mềm gần với những yêu cầu thực tế hơn.
Quá trình phát triển được chia thành nhiều thời kỳ, mỗi thời kỳ bắt đầu bằng việc phân tích, rồi tạo nguyên mẫu, các công đoạn để cải tạo, duyệt lại và cứ thế tiếp tục cho tới khi đạt được muc đích.
Ưu điểm:
Linh hoạt hơn trong quá trình phát triển hệ thống cho thích hợp với những thay đổi trong đặc tả yêu cầu.
Các pha thực hiện bị lặp nhiều trong cả quá trình phát triển hệ thống.
Khuyết điểm:
Các pha thực hiện bị lặp nhiều trong cả quá trình phát triển hệ thống.
b. Mô hình thăm dò (hình xoắn ốc)
3. Tạo nguyên mẫu (bản mẫu)
Phát triển một hệ thống cho người dùng thử nghiệm, rồi thiết lập các yêu cầu và tạo ra nguyên mẫu mới cho tới khi sản phẩm đạt yêu cầu.
NSD và những người phát triển hệ thống có thể trao đổi với nhau để thống nhất về những yêu cầu trong quá trình phát triển phần mềm.
Xây dựng một phương án thô để phát triển một nguyên mẫu rồi đem cho NSD dùng thử. Nếu phát hiện được chỗ NSD chưa bằng lòng, thì chỉnh sửa lại và hoàn thiện để có nguyên mẫu tiếp theo. Cứ thế thành lập một dãy các nguyên mẫu, rốt cuộc người ta đạt được hệ thống đáp ứng các yêu cầu NSD.
Ưu điểm:
Cho phép xây dựng những hệ thống thực hiện hiệu quả các chức năng mà NSD yêu cầu.
Trong quá trình thực hiện cho phép kiểm tra các yêu cầu của NSD có cần thiết, có đáp ứng thực tế hay không, do vậy cho phép bổ sung kịp thời và đồng thời loại bỏ đi những điểm không cần thiết.
Khuyết điểm:
- Không thích hợp cho những dự án lớn, chỉ thích hợp cho những dự án vừa và nhỏ.
3. Tạo nguyên mẫu
4. Biến đổi hình thức
Phát triển một đặc tả hình thức cho một hệ thống và phân tích để biến đổi các đặc tả đó (đảm bảo tính đúng đắn của các phép biến đổi) cho tới khi có được một chương trình thoả mãn các yêu cầu.
5. Tập hợp các thành phần dùng lại được
Tập hợp các thành phần dùng lại được để xây dựng phần mềm thoả các yêu cầu.
Việc tạo lập hệ thống được thực hiện bằng cách lắp ráp các thành phần có sẵn.
Theo Hooper, Chester và Kang thì quá trình tập hợp các thành phần gồm 6 bước: nhận thức bài toán, hình thành giải pháp, tìm kiếm các thành phần, điều chỉnh và thích ứng các thành phần, tích hợp chúng và đánh giá hệ thống được tuyển chọn.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Văn Bình
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)