Quản lý cấu hình phần mềm
Seminar QUẢN LÝ CẤU HÌNH PHẦN MỀM GVHD: Thầy Lâm Quang Vũ Nhóm thực hiện: Nhóm C L/O/G/O 08/21/16 Nội dung làm việc • Lý thuyết • Demo giới thiệu tools L/O/G/O 08/21/16 Giới thiệu Định nghĩa Các khái niệm Các phương pháp quản lý cấu hình 08/21/16 Định nghĩa • Thiết lập bảo đảm tính toàn vẹn sản phẩm trung gian sản phẩm sau dự án phần mềm, xuyên suốt chu kỳ sống dự án • Tổ chức, quản lý thay đổi phần mềm xây dựng nhóm lập trình viên 08/21/16 Các khái niệm Software Configuration Item: Đối tượng quản lý QLCH Delivery: Tập hợp mẩu cấu hình bàn giao cho khách hàng phận khác (developer, teser…) Baseline / Milestone: Mốc thời gian mà đạt kết định Vd: Duyệt đặc tả yêu cầu 08/21/16 Phát hành beta Các khái niệm (tt) Repository: Nơi chứa tất tài nguyên (tập tin) quản lý jWorking copy Working copy: Bản (dùng để làm việc) tập tin repository 08/21/16 Các khái niệm (tt) Revision Mỗi thay đổi liên quan đến tập tin tạo revision r20 r21 +delta 08/21/16 Các khái niệm (tt) Check out (update): Tạo copy từ repository workspace để chỉnh sửa 08/21/16 Các khái niệm (tt) Check in (commit): Đưa thay đổi tài liệu từ workspace lên repository 08/21/16 Các khái niệm (tt) Diff (change, delta): Sự khác phiên kề 08/21/16 10 • Source Control: – CVS Source Control – Perforce Source Control – Visual Source Safe Source Control • Build tools – MsBuild – NAnt – Visual Studio 08/21/16 91 • Để cấu hình cho CC.Net ta tiến hành theo bước: Open file ccnet.Config thư mục: C:\Program Files\CruiseControl.NET\server Thêm task cấu hình cho ccnet 08/21/16 92 08/21/16 93 The Theproject projectininthe therepository repositorytotobe bemonitored monitored VSS VSSuser userID IDthat thatCCNet CCNetshould shoulduse usetoto authenticate authenticate.IfIfthe theusername usernameisisunspecified, unspecified, the client toto authenticate theVSS VSS clientwill will attempt authenticate Password for the user ID Password forattempt theVSS VSS user ID The containing IfIf Thedirectory directory containing SRCSAFE.INI using the user using theNT NTSRCSAFE.INI user this SSDIR environment variable isisalready this SSDIR environment variable already Specifies whether the current CCNet label Specifies whether the current CCNet label Controls whether or not VSS gets a clean Controls whether or not VSS gets a clean set then this property may be omitted setbe then this property may files be omitted should totoall under the should beapplied applied allsource source files under the copy (overwrites modified files) when getting copy (overwrites modified files) when getting Specifies whether the of Specifies whether thecurrent current version ofthe the current ininlatest VSS Note: the currentproject project VSS Note:version thespecified specified the source the latest source source should be retrieved from VSS source should be retrieved from VSS VSS username must have write access totothe VSS username must have write access the Specifies whether the most recent version of Specifies whether the most recent version of repository repository the source should be from VSS IfIf The folder into which the should be the source should beretrieved retrieved from VSS The folder intoperiod which the source should be Sets the timeout for the control Sets the timeout period forsource thesource source control not, CCNet will obtain the source as the retrived from VSS IfIfthis not, CCNet will obtain thefolder sourcedoes asof ofnot the retrived from VSS this folder does not operation operation The culture under which VSS running The culture under whichbegan VSSisis running the build exist, itittime will be automatically created time the build began exist, will be automatically created 08/21/16 94 08/21/16 95 08/21/16 96 The directory to run MSBuild this Thelocation directory to MSBuildin in thisisis The of MSBuild.exe executable The location ofthe therun MSBuild.exe executable generally generallythe thedirectory directorycontaining containingyour yourbuild build The name of build project to Any extra arguments to through to The name ofthe the build project torun run Any extra arguments topass pass through to project project AAsemicolon-separated list of to MSBuild semicolon-separated listbefore ofthe thetargets targets to MSBuild Number of to assuming Number ofseconds seconds towait wait before assuming run run that the process has should that the process has hungand and shouldbe be The containing the Thefull fullpath pathto tothe theassembly assembly containing the killed killed to custom customlogger logger touse use 08/21/16 97 BUILD – VISUAL STUDIO 08/21/16 98 BUILD - NANT 08/21/16 99 I.I.Continuous ContinuousIntegration Integration II II.CruiseControl.NET CruiseControl.NET III III.CruiseControl.NET CruiseControl.NETIntegration IntegrationProcess Process IV IV.Tools Tools Configuration ConfigurationExample Example V Demo 08/21/16 VI VI.Advantages Advantagesand andDisadvantages Disadvantages 100 I.I.Continuous ContinuousIntegration Integration II II.CruiseControl.NET CruiseControl.NET III III.CruiseControl.NET CruiseControl.NETIntegration IntegrationProcess Process IV IV.Tools Tools Configuration ConfigurationExample Example V V.Demo Demo 08/21/16 VI Advantages and Disadvantages 101 – You catch build breaks early on – In a distributed development environment where developers not always communicate with one another, continuous integration is a great way to assure the developer that the build he or she is building is the latest one – Continuous integration also causes less regression – The feedback loop is smaller 08/21/16 102 – A developer does not have to wait for the end of the day or week to find out how the check-in affected the build – Integration testing moves up in the chain – Every check-in goes through the integration testing where problems are caught early – Continuous integration enforces better development processes – Each developer is held accountable – You always have a latest-and-greatest build to use in demos, showcases, etc 08/21/16 103 – Maintenance overhead often increases – Some teams find that the level of discipline required for continuous integration causes bottlenecks This often requires a shift in the developer mindset – The immediate impact of a check-in often causes a backup because programmers cannot check in partially completed code 08/21/16 104 Thank You! L/O/G/O 08/21/16 105 [...]... 08/21/16 24 Demo Tools QLCH • Team Foundation Server 2008 • SVN • Quản lý cấu hình miễn phí web hosting services • Tích hợp liên tục 08/21/16 25 Team Foundation Server TFS 08/21/16 26 Nội dung thuyết trình 1 Giới thiệu: • Chuẩn CMMi và Agile 2 Kiến trúc 3 Các khái niệm 4 Demo 08/21/16 27 Giới thiệu • TFS là hệ thống quản lý vòng đời phần mềm: • Lưu trữ, chia xẻ mã nguồn, tích hợp với công cụ lập dự... (tt) Copy – Modify - Merge X 08/21/16 Y 14 Các khái niệm (tt) Copy – Modify - Merge Conflict X 08/21/16 Y 15 Các khái niệm (tt) Copy – Modify - Merge X 08/21/16 Y Merge 16 Các phương pháp quản lý cấu hình PM • Thùng chứa tập trung – Local only – Client – server • Thùng chứa phân tán (Distributed) 08/21/16 17 Local only • Phạm vi hẹp • Dự án nhỏ • Dễ triển khai 08/21/16 18 Local only 08/21/16... luôn yêu cầu lập kế hoạch dự án, đào tạo, giám sát liên tục • Agile: – Yêu cầu vòng đời phiên bản thật ngắn tính bằng tuần 08/21/16 29 Kiến trúc 08/21/16 30 Kiến trúc •Tạo và quản lý dự án Client • chỉ có các web service Quản lý ứng dụng • web services Application • Team Project Portal • kết hợp dữ liệu và tạo báo cáo Data •cung cấp dịch vụ lưu trữ dữ liệu cho thùng chứa tài liệu • SQL Server + Window... thiệu Tính năng Kiến trúc Cài đặt Demo 08/21/16 35 Giới thiệu • Subversion(SVN) là một hệ thống quản lý version (version control system - VCS) được giới thiệu vào năm 2000 bởi công ty CollabNet (http://subversion.tigris.org) • Về mặt khái quát, SVN giống như một hệ thống file server mà các client có thể quản lý và thay đổi cùng một tập hợp dữ liệu Điểm đặc biệt của SVN là nó lưu lại tất cả những gì thay