1 / 15

TÍCH HỢP

TÍCH HỢP. Nhóm 10. Nội dung. Tích hợp. Tích hợp là một kỹ thuật phần mềm, khi source code có thay đổi thì tự động compile lại project, rebuild cơ sở dữ liệu, thực hiện test và báo cáo. Lý do cần tích hợp.

niel
Download Presentation

TÍCH HỢP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TÍCH HỢP Nhóm 10

  2. Nội dung

  3. Tích hợp Tích hợp là một kỹ thuật phần mềm, khi source code có thay đổi thì tự động compile lại project, rebuild cơ sở dữ liệu, thực hiện test và báo cáo.

  4. Lý do cần tích hợp Commit code thường xuyên: commit code đến công cụ quản lý phiên bản ít nhất 1 lần 1 ngày. Khi commit sẽ hạn chế làm lỗi code. Tự động build và sửa lỗi build ngay lập tức Tự động thực hiện các bộ test. Tất cả bộ test và thanh tra cần được thông qua Run private builds: ngăn chặn tích hợp lỗi, lấy sự thay đổi cuối cùng từ thùng chứa và chạy tích hợp build đầy đủ Tránh được trường hợp lấy code lỗi.

  5. Lý do cần tích hợp Giảm thiểu rủi ro. Giảm thiểu sự lập lại cho quá trình. Triển khai phần mềm mọi lúc mọi nơi. Cho phép project hiển thị tốt hơn. Thiết lập sự tự tin trong sản phẩm phần mềm từ đội phát triển phần mềm. Cải thiện chất lượng phần mềm.

  6. Các phương pháp tích hợp Phased integration. Incremental integration. Top-down integration. Bottom-up integration. Sandwich integration. Risk – oriented integration.

  7. Phased integration • Tấtcảcácgiaiđoạnpháttriểncủadựánsẽđược tích hợp tại cùng 1 thời điểm và gồm các bước sau: • Thiết kế, code, test và debug các class trong chương trình • Kết hợp các class mã nguồn thành 1 hệ thống lớn (tích hợp) • Kiểm thử và debug hệ thống này. Nhược điểm: Khi tích hợp nhiều class như vậy sẽ làm cho chuơng trình phát sinh nhiều bug và phải mất nhiều thời gian để sửa lỗi chương trình

  8. Phased integration (tt) • Ưu điểm: dễ áp dụng và đặc biệt là tiết kiệm nhiều thời gian cho các hệ thống nhỏ • Nhược điểm:Khi tích hợp cùng lúc nhiều class như vậy sẽ làm cho chương trình phát sinh nhiều bug và phải mất nhiều thời gian để sửa lỗi chương trình và vì thế phased intergration được gọi là “Big bang intergration’’ • Chỉ sử dụng cho các dự án nhỏ nhưng rất hạn chế

  9. Incremental integration • Trong Incremental intergration bạn sẽ viết và test 1 phần chức năng của chương trình sau đó kết hợp các chức năng nhỏ lại thành hệ thống hoàn chỉnh . Thông qua các bước sau: • Phát triển 1 chức năng nhỏ của chương trình sau đó test và là bộ khung cho chương trình ban đầu • Thiết kế, code, test và debug các class • Gắn class mới vào chương trình ban đầu. Test và debug chương trình. Đảm bảo rằng chương trình vừa mới tích hợp không còn lỗi thì mới gắn các class kế tiếp vào cho đến khi hoàn thành các chức năng thành 1 chương trình hoàn chỉnh.

  10. Incremental integration (tt) • Đây là phương pháp tích hợp được sử dụng phổ biến ngày nay vì nó có nhiều ưu điểm: • Dễ phát hiện và sửa lỗi chương trình • Tiết kiệm thời gian và chi phí cho việc kiểm thử • Cái thiện và đạt hiệu quả cho quá trình kiểm tra. • Từng phần của hệ thống được kiểm tra đầy đủ hơn • Xây dựng chương trình sớm hơn kế hoạch dự kiến.

  11. Tích hợp liên tục (Continuous Integration) Tích hợp liên tục là cung cấp phản hồi nhanh chóng do đó nếu 1 lỗi được phát hiện trong code, nó có thể được xác định và sửa chửa càng sớm càng tốt có thể. Tích hợp liên tục là các công cụ phần mềm được dùng để tự động test và build.

  12. Tích hợp liên tục (tt) Maintain a Single Source Repository. Automate the Build Make Your Build Self-Testing Everyone Commits To the Mainline Every Day Every Commit Should Build the Mainline on an Integration Machine Keep the Build Fast Test in a Clone of the Production Environment Make it Easy for Anyone to Get the Latest Executable Everyone can see what's happening Automate Deployment

  13. CÁC CÔNG CỤ HỖ TRỢ • AnthillPro www.urbancode.com/products/anthillpro/ • Apache Continuum http://maven.apache.org/continuum/ • Bamboo www.atlassian.com/software/bamboo/ • BuildForge http://www306.ibm.com/software/awdtools/buildforge/enterprise/ • Continuous Integration Server Matrix http://damagecontrol.codehaus.org/Continuous+Integration+Server+Feature+Matrix • CruiseControl http://cruisecontrol.sourceforge.net • Hudson http://hudson-ci.org

  14. CÁC CÔNG CỤ HỖ TRỢ • CruiseControl.NET http://ccnet.thoughtworks.com • Draco.NET http://draconet.sourceforge.net/ • Gauntlet www.borland.com/us/products/silk/gauntlet/ • Luntbuild http://luntbuild.javaforge.com/ • ParaBuild www.viewtier.com/products/parabuild/index.htm • PMEase QuickBuild www.pmease.com/ • Sin http://sin.tigris.org/

  15. Thank you!

More Related