4.3 THIẾT KẾ HOÀN THIỆN SẢN PHẨM NHÚNG
4.3.2 Vòng đời phát triển sản phẩm nhúng
4.3.2.2. Các phương pháp tiếp cận EDLC
Thuật toán “Mô hình hóa” trong Vòng đời phát triển sản phẩm nhúng đề cập đến sự kết nối của
305
các giai đoạn khác nhau liên quan đến việc phát triển một sản phẩm nhúng. Các cách tiếp cận khá nhau được áp dụng mô hình được sử dụng trong Mô hình EDLC được mô tả dưới đây.
Mô hình thác nước: Phương pháp tuyến tính hoặc thác nước là phương pháp được áp dụng trong hầu hết các hệ thống cũ vầ trong phương pháp này, mỗi giai đoạn của EDLC được thực hiện theo trình tự. Các mô hình tuyến tính thiết lập mottj phân tích chính thức và phương pháp thiết kế với sự phát triển cấu trúc chặt chẽ giai đoạn. Trong mô hình tuyến tính, các giai đoạn khác nhau của EDLC được thực hiện theo trình tự và luồng là một hướng với đầu ra của một pha đóng vai trò là đầu vào của pha tiếp theo. Trong mô hình tuyến tính, tất cả các hoạt động liên quan đến từng giai đoạn đều được ghi lại rõ ràng, cung cấp cái nhìn sâu sắc về những gì nên được thực hiện trong giai đoạn tiếp theo và làm thế nào nó có thể được thực hiện. Phản hồi của từng giai đoạn có sẵn tại giai đoạn đó và chỉ sau khi chúng được thực hiện. Tuyến tính mô hình thực hiện các cơ chế xem xét mở rộng để đảm bảo quy trình đang đi đúng hướng và xác nhận nỗ lực trong một giai đoạn. Một đặc điểm đáng chú ý của mô hình tuyến tính là ngay cả khi bạn xác định được các lỗi trong thiết kế hiện tại, các hành động khắc phục không được thực hiện ngay lập tức và quá trình phát triển tiến hành với thiết kế hiện tại. Các lỗi cho các lỗi được hoãn cho đến giai đoạn hỗ trợ, đi kèm với giai đoạn triển khai. Ưu điểm của chính của ‘Mô hình tuyến tính’ là việc phát triển sản phẩm rất phong phú về tài liệu, quản lý dự án dễ dàng và kiểm soát tốt chi phí và tiến độ. Các nhược điểm chính của phương pháp này là nó giải định tất cả các phân tích có thể được thực hiện và tất cả mọi thứ sẽ được đúng vị trí mà không làm bất kì thiết kế hoặc thực hiện. Ngoài ra, phân tích rủi ro chỉ được thực hiện một lần trong suốt sự phát triển và rủi ro liên quan đến bất kì thay đổi nào không được cung cấp trong giai đoạn tiếp theo, sản phẩm hoạt động chỉ khả dụng khi kết thúc giai đoạn phát triển và các lỗi và sửa lỗi chỉ được thực hiện ở giai đoạn bảo trì/ hỗ trợ của vòng đời. Mô hình tuyến tính phù hợp nhất cho phát triển sản phẩm, trong đó các yêu cầu được xác định rõ ràng trong phạm vi, dự kiến cho đến khi hoàn thành vòng đời.
Mô hình lặp: Mô hình lặp hoặc đài phun nước tuân theo trình tự - Làm một số phân tích, theo một số thiết kế, sau đó một số thực hiện. Đánh giá nó dựa trên những thiếu sót, quay lại và tiến hành phân tích nhiều hơn, lựa chọn thiết kế và thực hiện mới và lặp lại chu trình cho đến khi các yêu cầu được đáp ứng hoàn toàn. Mô hình lặp/ đài phun nước có thể được xem như một chuỗi các mô hình tuyến tính (thác nước) xếp tầng. Mô hình tăng dần là một siêu mô hình lặp, trong đó các yêu cầu được biết ở đầu và chúng ta được chia thành các nhóm khác nhau. Tập hợp các chức năng cốt
306
lõi cho mỗi nhóm được xác định trong chu kì đầu tiên và được xây dựng và triển khai như là bản phát hành đầu tiên. Nhóm yêu cầu thứ hai cùng với các sửa lỗi và sửa đổi cho bản phát hành đầu tiên được thực hiện trong chu kì thứ hai và quá trình này được lặp lại cho đến khi tất cả các chức năng được thực hiện và chúng đang đáp ứng các yêu cầu. Rõ ràng trong những mô hình lặp/ tăng dần (Hình 15.8), mỗi chu kỳ phát triển đóng vai trò là giai đoạn bảo trì cho chu kì trước (phát hành). Một cách tiếp cận khác cho mô hình lặp/ tăng dần là mô hình “chồng chéo” trong đó các chu kỳ phát triển chống chéo; có nghĩa là chu kỳ lặp lại/ gia tang tiếp theo có thể bắt đầu trước khi hoàn thành chu kì trước đó. Nếu bạn quan sát kĩ mô hình này, bạn có thể thấy rằng mỗi chu kì được kết nối với nhau theo kiểu tương tự của một đài phun nước, nơi nước đầu tiên di chuyển lên rồi chảy xuống, một lần nữa di chuyển lên và xuống. Các lợi thế lớn của mô hình lặp/ đài phun nước là nó cung cấp rất tốt phản hồi chu kì phát triển ở mỗi chức năng/ tính năng thực hiện và do đó các dữ liệu có thể được sử dụng như một tài liệu tham khảo cho sản phẩm tương tự phát triển trong tương lai. Vì mỗi chu kì có thể hoạt động như một giai đoạn bảo trì cho chu kì trước, nên các thay đổi về tính năng có thể dễ dàng được kết hợp trong quá trình phát triển và do đó đáp ứng nhiều hơn nhu cầu thay đổi của người dùng. Mô hình lặp cung cấp một mô hình sản phẩm hoạt động với ít nhất các tính năng tối thiểu ở lần đầu tiên chu kì chính nó. Rủi ro được lan truyền qua từng chu kì riêng lẻ và có thể được giảm thiểu dễ dàng. Quản lý dự án cũng như thử nghiệm đơn giản hơn nhiều so với mô hình tuyến tính. Một lợi thế lớn khác là việc phát triển sản phẩm có thể dừng lại ở bất kì giai đoạn nào với một sản phẩm làm việc tối thiểu. Mặc dù mô hình lặp là một giải pháp tốt để phát triển sản phẩm, nó có nhiều nhược điểm như nhu cầu đánh giá mở rộng ở mỗi chu kỳ, tác động đến các hoạt động do phát hành mới, yêu cầu đào tạo cho mỗi triển khai mới vào cuối mỗi chu kỳ phát triển, được cấu trúc và ghi chép tốt định hướng giao diện trên các mô-đun để phù hợp với những thay đổi. Mô hình lặp/ tăng dần được triển khai trong các phát triển sản phẩm trong đó rủi ro rất cao khi việc phát triển được thực hiện theo mô hình tuyến tính. Bằng cách chọn một mô hình lặp, rủi ro được trải đều qua nhiều chu kỳ. Vì mỗi chu kì tạo ra một mô hình làm việc, mô hình này phù hợp nhất cho việc phát triển sản phẩm trong đó có việc tài trợ liên tục cho mỗi chu kì không được đảm bảo.
Mô hình nguyên mẫu: Mô hình nguyên mẫu/ tiến hóa tương tự như mô hình lặp và sản phẩm được phát triển theo nhiều chu kỳ. Sự khác biệt duy nhất là mô hình này tạo ra một nguyên mẫu tinh tế hơn của sản phẩm vào cuối mỗi chu kì thay vì bổ sung chức năng/ tính năng trong mỗi chu kì như được thực hiện bởi mô hình lặp. Sẽ không có bất kì triển khai thương mại nào về nguyên
307
mẫu của sản phẩm vào cuối mỗi chu kì. Những thiếu sót của mô hình nguyên mẫu sau mỗi chu kì được đánh giá và nó được sửa trong chu kỳ tiếp theo. Sau khi phân tích yêu cầu ban đầu, thiết kế cho nguyên mẫu đầu tiên được thực hiên, quá trình phát triển được bắt đầu. Khi hoàn thành nguyên mẫu, nó được gửi cho khách hàng để đánh giá. Khách hàng đánh giá sản phẩm cho tập hợp các yêu cầu và đưa ra phản hồi của mình cho nhà phát triển về những thiếu sót và cải tiến cần thiết.
Nhà phát triển giới thiệu sản phẩm theo mong đợi chính xác của khách hàng và lặp lại quy trình phát triển nguyên mẫu. Sau một số lần lặp lại, sản phẩm cuối cùng được giao cho khách hàng và ra mắt trong môi trường thị trượng/ hoạt động. Theo cách tiếp cận này, sản phẩm trải qua quá trình tiến hóa đáng kể do kết quả của việc xáo trộn định kì thông tin sản phẩm giữ khách hàng và nhà phát triển. Mô hình nguyên mẫu theo cách tiếp cận- ‘Yêu cầu xác định, phát triển kiểu nguyên mẫu, đánh giá kiểu nguyên mẫu và yêu cầu’ . Do các yêu cầu trải qua quá trình tinh chỉnh sau mỗi mô hình nguyên mẫu, nên dễ dàng kết hợp các yêu cầu mới và thay đổi công nghệ ở bất kì giai đoạn nào và do đó quá trình phát triển sản phẩm có thể bắt đầu với bộ yêu cầu tối thiểu. Mô hình tiến hóa phụ thuộc rất nhiều vào phản hồi của người dùng sau mỗi lần thực hiện và do đó có thể hoàn thiện các yêu cầu cuối cùng. Một ưu điểm lớn khác của mô hình nguyên mẫu là rủi ro được trải đều trên mỗi chu kì phát triển nguyên mẫu và nó được kiểm soát tốt. Những nhược điểm chính của mô hình nguyên mẫu là: sai lệch so với chi phí và tiến độ; quản lý dự án tăng; tài liệu tối thiểu trên mỗi nguyên mẫu có thể tạo ra vấn đề truy xuất nguồn gốc; tăng hoạt động quản lý cấu hình.
Mô hình nguyên mẫu là mô hình phát triển sản phẩm phổ biến nhất được áp dụng trong ngành sản xuất nhúng. Cách tiếp cận này có thể được coi là cách tiếp cận tốt nhất cho các sản phẩm, có yêu cầu không có sẵn đầy đủ và có thể thay đổi. Mô hình này không được khuyến nghị cho các dự án liên qua đến việc nâng cấp sản phẩm hiện có. Có thể có các biến thể nhỏ trong mô hình nguyên mẫu cơ sở tùy thuộc vào quản lý dự án.
Mô hình xoắn ốc: Mô hình xoắn ốc (Hình 15.10) kết hợp các yếu tố của mô hình tuyến tính và tạo mẫu để đưa ra mô hình EDLC giảm thiểu rủi ro tốt nhất có thể. Mô hình xoắn ốc được phát triển bởi Barry Boehm vào năm 1988. Việc phát triển sản phẩm bắt đầu với định nghĩa dự án và đi qua tất cả các giai đoạn của EDLC qua nhiều giai đoạn. Các hoạt động liên quan đến mô hình xoắn ốc có thể được liên kết với bốn góc phần tư của hình xoắn ốc và được liệt kê như sau: xác định mục tiêu, giải pháp thay thế, ràng buộc; đánh giá các lựa chọn thay thế; phát triển và thử nghiệm; kế hoạch. Mô hình xoắn ốc phù hợp nhất cho việc phát triển các sản phẩm nhúng phức tạp và các tình huống trong đó các yêu cầu đang thay đổi từ phía khách hàng. Đánh giá của khách
308
hàng về nguyên mẫu ở mỗi giai đoạn cho phép bổ sung các yêu cầu và thay đổi công nghệ. Đánh giá rủi ro trong từng giai đoạn giúp lập kế hoạch và giảm thiểu rủi ro. Mô hình nguyên mẫu được phát triển ở mỗi giai đoạn được khách hàng đánh giá dựa trên các thông số khác nhau như sức mạnh, điểm yếu, rủi ro, và sản phẩm cuối cùng được xây dựng dựa trên nguyên mẫu cuối cùng theo thỏa thuận với khách hàng.