Bài giảng Nhập môn công nghệ phần mềm

Nắm được các nguyên lý / khái niệm cơ bản của kỹ nghệ phần mềm

Vận dụng kiến thức vào bài tập nhóm

 Hiểu về quá trình làm phần mềm

 Minh họa nguyên lý / kỹ thuật

Chủ động tìm hiểu kiến thức

Tìm hiểu một số chủ đề mở rộng

 

ppt55 trang | Chia sẻ: gaobeo18 | Lượt xem: 1208 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Nhập môn 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
Công nghệ phần mềm - SEa. Mô hình thác nước (tiếp)Ưu điểm : Các pha được xác định rõ ràng (Input/Output)Thấy được trình tự kỹ nghệ từ đầu đến SP cuốiThích hợp khi yêu cầu tìm hiểu tốtNhược điểmRất khó khăn trong việc thay đổi các pha đã được thực hiệnSai sót phát hiện muộn có thể là thảm họaChậm có phiên bản thực hiện được*III. Công nghệ phần mềm - SEb. Mô hình tiến hóaGồm các mô hình:Mô hình làm bản mẫuMô hình xoắn ốcMô hình RUP (Rational Unified Process)Mô hình tăng trưởngMô hình phát triển ứng dụng nhanh RAD*III. Công nghệ phần mềm - SEb. Mô hình tiến hóa (tiếp)Được mô tả chung nhất như sau:*III. Công nghệ phần mềm - SE Mô hình làm bản mẫuXây dựng một mẫu thử (Mô hình thực tế) ban đầu và đưa cho người sử dụng->tinh chỉnh mẫu thử qua nhiều phiên bản cho đến khi thoả mãn yêu cầu của người sử dụng.Có 2 phương pháp thực hiện:Phát triển thăm dò Loại bỏ mẫu thử*III. Công nghệ phần mềm - SE Mô hình làm bản mẫu (tiếp)Mô hình có thể ở 3 dạng:Bản mẫu trên giấy hay trên PC – Bản mô tả YCBản mẫu cài đặt : chỉ một tập con chức năng của phần mềm mong đợi. Bản mẫu là 1 chương trình có thể thực hiện*III. Công nghệ phần mềm - SE Mô hình làm bản mẫu (tiếp)Đây là cách tiếp cận thực tế, thích hợp cho hệ thống vừa và nhỏ, đặc biệt khi YC chưa rõ ràngTập hợpYêu cầuThiết kế nhanhXây dựng bản mẫuĐánh giá của khách hàngLàm mịn yêu cầuSản phẩm cuối cùngKết thúcBắt đầu*III. Công nghệ phần mềm - SE Mô hình xoắn ốcQuá trình được chia làm các bước lặpKế hoạch ban đầuRủi ro ban đầuLập kế hoạchPhân tích giải quyết rủi roKế hoạch dựa trên đánh giá của khách hàngRủi ro dựa trên kế hoạch sửa đổiLàm tiếpĐánh giá của khách hàngĐánh giáPhát triển thẩm định sp ở mức kế tiếpBản mẫu đầu tiênBản mẫu tiếp theo*III. Công nghệ phần mềm - SE Mô hình xoắn ốcGồm có 4 bước hoạt động chính : Lập kế hoạch: xác định mục tiêu, các giải pháp và ràng buộc Phân tích giải quyết rủi ro: phân tích các phương án và xác định/giải quyết rủi ro Thẩm định phát triển sản phẩm “mức tiếp theo” Đánh giá: đánh giá của khách hàng về kết quả của kỹ nghệ Tại một vòng xoắn ốc, phân tích rủi ro phải đi đến quyết định “tiến hành tiếp hay dừng”. Nếu rủi ro quá lớn thì có thể đình chỉ dự án. *III. Công nghệ phần mềm - SE Mô hình xoắn ốcƯu điểm :các vòng xoáy được lặp lại để đáp ứng yêu cầu thay đổi của người dùngKiểm soát rủi ro ở từng mức tiến hóaĐánh giá chi phí chính xác hơn các pp khácNhược điểm :Yêu cầu thay đổi thường xuyên dẫn đến lặp vô hạn và thất bạiĐòi hỏi năng lực quản lý, năng lực phân tích rủi ro cao – CF chuyên giaChưa được dùng rộng rãi*III. Công nghệ phần mềm - SE Mô hình RUP (Rational Unified Process)Là một quy trình vòng lặp phát triển phần mềm được hãng Rational phát triển, thường được dùng trong các dự án phần mềm lớn và phức tạpPhương pháp lặp của Rup là phương pháp phát triển lặp. Một quy trình lặp thể hiện trong một chu trình phát triển từ ý tưởng ban đầu cho tới khi một sản phẩm phần mềm hoàn thiện, ổn định và có chất lượng được chuyển giao tới người dùng cuối.*III. Công nghệ phần mềm - SECác pha của Rup bao gồm :Inception(khởi đầu) : Là giai đoạn thu thập thông tin. Các tình huống nghiệp vụ bao gồm :tiêu thức đánh giá thành công, đánh giá rủi ro, xác định các nguồn lực cần thiết cho DA,..Cuối pha cần kiểm tra mục tiêu của các quá trình phát triển ->Qdinh có phát triển hay không Elaboration(Dự thảo chi tiết) :Phân tích các vấn đề nghiệp vụ, xác định kiến trúc hợp lý, xây dựng kế hoạch cho dự án.. Construction(Xây dựng) : Pha này phát triển một cách tái lập và tăng dần toàn bộ sản phẩm đầy đủ sẵn sàng chuyển gia cho người dùng. Transition (chuyển giao ) : Đưa hệ thống phần mềm tới người sử dụng. Xác định các vấn đề chưa được phát hiện hoàn thiện các chức năng trước đó bị trì hoãn*III. Công nghệ phần mềm - SE Mô hình phát triển lặp, tăng lên	Thay vì phải xây dựng và chuyển giao hệ thống một lần thì sẽ được chia thành nhiều vòng. Mỗi vòng là một phần kết quả của một chức năng yêu cầu. Các yêu cầu của người SD được đánh thứ tự ưu tiên. Yêu cầu nào có thứ tự ưu tiên càng cao thì càng ở trong những vòng phát triển sớm hơn*III. Công nghệ phần mềm - SEƯu điểm :Có sản phẩm dùng trong thời gian ngắnCác vòng trước như là mẫu thử giúp tìm hiểu thêm các yêu cầu ở những vòng sauRủi ro sớm được loại trừNhược điểmTổng chi phí phát triển cao hơn bình thườngTổng thời gian chuyển giao toàn bộ chức năng lớn*III. Công nghệ phần mềm - SE Mô hình phát triển ứng dụng nhanh RAD (Rapid application Development) Là phương pháp luận gộp các HĐ phân tích, thiết kế, xây dựng vào một loạt vòng lặp phát triển ngắn Xây dựng dựa trên hướng thành phần với khả năng tái sử dụng. SD các thành phần có sẵn càng nhiều càng tốt Đáp ứng nhu cầu hiệu quả và chi phí bảo trì thấp*III. Công nghệ phần mềm - SEC. Phát triển hệ thống hình thứcĐược mô tả với các bước:Tư tưởng chính là biểu diễn các đặc tả yêu cầu bằng các ký pháp toán học. Áp dụng các biến đổi khác nhau để chuyển từ đặc tả H Thức ->C trìnhKhi chuyển đổi các biểu diễn của đặc tả được chi tiết dần nhưng luôn được đảm bảo tính đúng đắn => C trình là triển khai đúng của đặc tảXác định yêu cầuĐặc tả hình thứcBiến đổi hình thứcKiểm thử tích hợp và hệ thống*III. Công nghệ phần mềm - SEC. Phát triển hệ thống hình thức (tiếp)Ưu điểm: Có thể áp dụng chứng minh tính đúng đắn của đặc tảChứng minh chương trình đáp ứng được y/cầu của đặc tả đã choNhược điểm: Việc đặc tả đòi hỏi trình độ trừu tượng caoViệc chứng minh sự đúng đắn là khó khănPhương pháp này là tương đối khó*III. Công nghệ phần mềm - SEGắn với những công nghệ hướng đối tượng qua việc tạo các lớp có chứa cả dữ liệu và giải thuật xử lý dữ liệuCó nhiều tương đồng với mô hình xoắn ốcDựa trên kỹ thuật tái sử dụng một cách có hệ thống, trong đó hệ thống được tích hợp từ nhiều thành phần đang tồn tạid. Mô hình hướng thành phần	*III. Công nghệ phần mềm - SEd. Mô hình hướng thành phần	Giao tiếp khách hàngLập kế hoạchPhân tích rủi roKỹ nghệXây dựng & Xuất xưởngKhách hàngđánh giáXác địnhthành phần ứng viênTìmthành phần từ thư việnLấythành phần nếu cóXây dựngthành phần nếu kh.cóĐặtthành phần vào thư việnXây dựngbước lặp thứ ncủa hệ thống*IV. Phương pháp phát triển PM Gồm các thủ tục, kỹ thuật, tiến trình được sử dụng để điều khiển các hoạt động Các phương pháp bao gồm các thành phần:Các khái niệmCác ký phápCác quy tắcQuy trình xây dựngHướng dẫn*IV. Phương pháp phát triển PM Các phương pháp:Hướng chức năngHướng dữ liệuHướng đối tượngĐịnh hướng tiến trình*IV. Phương pháp phát triển PMPhương pháp hướng chức năngDựa trên cơ sở modul hóa các chương trình để dễ theo dõi, quản lý, bảo trìThể hiện bằng quá trình phát triển hệ thống hướng cấu trúcSử dụng phương pháp luận top-down*IV. Phương pháp phát triển PMPhương pháp hướng chức năng (tiếp)Cơ sở dữ liệuTầng dữ liệuTầng ứng dụngỨng dụng 3Ứng dụng 1Ứng dụng 2*IV. Phương pháp phát triển PMPhương pháp hướng chức năng (tiếp)Ưu điểm:Làm giảm sự phức tạpTập trung vào ý tưởngChuẩn hóa tạo ra sự độc lậpCho phép thay đổi dễ dàng (bảo trì)*IV. Phương pháp phát triển PMPhương pháp hướng dữ liệuTập trung vào dữ liệu đặc trưng bằng cách tiếp cận định hướng dữ liệu ( chỉ tập trung vào các thông tin mà hệ thống sẽ giữ)Cơ sở dữ liệuTầng dữ liệuTầng ứng dụngỨng dụng 3Ứng dụng 1Ứng dụng 2*IV. Phương pháp phát triển PMPhương pháp hướng dữ liệu (tiếp)Ưu điểm:Cho phép quản lý dữ liệu tập trung, nhất quánDễ dàng áp dụng các công cụ toán học để xử lý dữ liệuTối ưu hóa về mặt không gian lưu trữ và về mặt sử dụng như: giảm dư thừa, tìm kiếm thuận lợi, truy cập nhanhSử dụng được cho nhiều ứng dụng độc lập khác nhauNhược điểmKhó thay đổi các quy tắc nghiệp vụ*IV. Phương pháp phát triển PMPhương pháp hướng đối tượngĐây là cách tiếp cận mới nhất để PT hệ thốngHệ thống chỉ gồm các thành phần liên kết với nhau được gọi là các đối tượngDữ liệu và các hoạt động dữ liệu đặt trong đối tượngMục tiêu của cách này là làm cho các hệ thống trở nên độc lập tương đối có thể dùng lạiCác đối tượng được tổ chức thành một lớp Kế thừa cho phép tạo ra các lớp mới có chung với lớp cũ các đặc trưng và có đặc trưng riêng*IV. Phương pháp phát triển PMPhương pháp định hướng tiến trìnhRa đời thời gian đầu, do đặc đặc điểm của máy tính còn chậm -> Chỉ tập trung vào tiến trình Việc xử lý chỉ tập trung vào hiệu quả Các dữ liệu đặc tả trong dự án được xem xét 1 cách tách biệtChú ý đến trình tự thực hiện*IV. Phương pháp phát triển PMPhương pháp định hướng tiến trình (tiếp)Nhược điểm là sự dư thừa dữ liệu, hao phí công sức cho việc thu thập và tổ chức dữ liệuPhải tổ chức xây dựng lại CT dữ liệu khi có thay đổi trong tiến trình*V. Đánh giá tổng quát chất lượng hệ thống	Việc đánh giá tổng quát về chất lượng hệ thống bao gồm việc đánh giá chất lượng :Tài liệu đặc tảChất lượng thiết kế Chất lượng kỹ nghệ tốt thông qua các thuộc tính chung.*V. Đánh giá tổng quát chất lượng hệ thốngBốn thuộc tính chủ chốt mà một hệ phần mềm tốt phải có: Có thể bảo trì được: phần mềm tuổi thọ dài phải được viết và được lập tư liệu sao cho việc thay đổi có thể tiến hành được mà không quá tốn kémĐáng tin cậy: phần mềm phải thực hiện được điều mà người tiêu dùng mong mỏi và không thất bại nhiều hơn những điều đã được đặc tả Có hiệu quả: hệ thống phải không lãng phí nguồn lực bộ nhớ, bộ xử lý. Không đòi hỏi phải cực đại hoá độ hiệu quả vì rằng việc đó có thể làm cho phần mềm rất khó thay đổiCó giao diện người sử dụng thích hợp: giao diện người sử dụng phải phù hợp với khả năng và kiến thức của người dùng hệ thống *V. Đánh giá tổng quát chất lượng hệ thốngTổng kết: Phần mềm đã trở thành phần tử chủ chốt của các hệ thống máy tính.. Phần mềm là phần tử lôgíc cho nên việc kiểm soát nó khó hơn nhiều so với phần tử vật lý. Khó có thể tối ưu hóa đồng thời các tính năng cần có của phần mềm. Thách thức lớn đối với việc phát triển phần mềm là chúng ta phải xây dựng phần mềm tốt theo một lịch trình và kinh phí định trước. *Một số vấn đề lý thuyết – BT lớn Các mô hình quy trình phần mềm Các phương pháp phát triển phần mềm Yêu cầu phần mềm Các phương pháp phát triển PM Các công cụ trợ giúp thiết kế tự động Kiểm thử phần mềm Quản lý dự án phần mềm

File đính kèm:

  • pptcong nghe phan mem.ppt
Bài giảng liên quan