SlideShare uma empresa Scribd logo
1 de 31
Quản Lý Dự Án Phần Mềm 
Đề tài 4 
Nghiên cứu quản lý mã nguồn 
phần mềm với SubVersion 
Giảng viên hướng dẫn : Thầy Bùi Minh Cường - Bộ môn CNPM 
Nhóm : Lương Bá Hợp MSSV 1105068 
: Bùi Thị Xuyên MSSV 1114928 
Lớp : Hệ Thống Thông Tin K52 
1
Mục Lục 
Tìm hiểu chung 
1. Subversion là gì ? 
2. Subversion làm được gì ? 
3. So sánh subversion và các tool khác 
4. Cài đặt subversion cho client 
5. Tổng quát chức năng subversion 
6. Một số action quan trọng trong SVN 
Demo 
1. Ý tưởng dự án 
2. Khởi tạo subversion trên google Code 
3. Thao tác của client với subversion 
2
Tìm hiểu chung 
3
1 Subversion là gì ? 
 Hệ thống SubVersion (SVN) là một hệ thống quản lý phần 
tài nguyên (code , hình ảnh , video…) của một dự án. 
 Hệ thống có khả năng cập nhật, so sánh và kết hợp tài 
nguyên mới vào phần tài nguyên cũ , được giới thiệu 
vào năm 2000 bởi công ty CollabNet 
 Đây là hệ thống hỗ trợ làm việc theo nhóm rất hiệu quả. 
4
1 Subversion là gì ? 
 SVN hoạt động theo phương thức Client/Server, code 
project sẽ được lưu trữ trên server (SVN hosting , 
GoogleCode,…) 
 Các client có thể thao tác, edit trực tiếp trên đó, mọi thay 
đổi của từng client sẽ được lưu lại. 
 Do đó SVN là một giải pháp làm việc nhóm từ xa hiệu 
quả, an toàn 
5
2 Subversion làm được gì ? 
 Khi một nhóm làm việc trên cùng một Project, việc nhiều 
người cùng chỉnh sửa nội dung của một file là điều 
không thể tránh khỏi. 
 SVN cung cấp các chức năng để có thể thực hiện việc 
này một cách đơn giản và an toàn. 
6
2 Subversion làm được gì ? 
Subversion được thiết kế với mục đích thay thế 
hệ thống quản lý phiên bản Concurrent 
Versioning System (CVS) đã cũ và có nhiều 
nhược điểm. 
Subversion có thể được sử dụng để quản lý bất 
cứ hệ thống phiên bản nào. 
7
2 Subversion làm được gì ? 
Subversion là hệ thống quản lý Source Code 
tập trung (Centralized). 
Subversion là hệ thống quản lý phiên bản 
mạnh mẽ, hữu dụng, và linh hoạt. 
8
2 Subversion làm được gì ? 
Subversion quản lý tập tin và thư mục theo 
thời gian. 
SVN giống như một hệ thống file server mà 
các Client có thể Download và Upload file 
một cách bình thường. 
9
2 Subversion làm được gì ? 
 Điểm đặc biệt của SVN là nó lưu lại tất cả những gì 
thay đổi trên hệ thống file: file nào đã bị thay đổi lúc 
nào, thay đổi như thế nào, và ai đã thay đổi nó. 
 SVN cũng cho phép recover lại những version cũ một 
cách chính xác. 
 Các chức năng này giúp cho việc làm việc nhóm trở 
nên hiệu quả và an toàn hơn rất nhiều. 
10
2 Subversion làm được gì ? 
Thông thường, client và server kết nối thông 
qua mạng LAN hoặc Internet. 
Client và server có thể cùng chạy trên một máy 
nếu SVN có nhiệm vụ theo vết lịch sử của dự 
án do các nhà phát triển phần mềm phát triển 
trong nội bộ. 
11
2 Subversion làm được gì ? 
Subversion hỗ trợ khá nhiều giao thức để kết 
nối giữa client và server. 
Việc cho phép server hỗ trợ giao thức nào phụ 
thuộc vào lúc cấu hình. 
12
2 Subversion làm được gì ? 
Ví dụ bạn có thể dùng các giao thức của ứng 
dụng web như : 
• Http:// hoặc https:// 
• Các giao thức của svn như svn:// hoặc svn+ssh:// 
• Hoặc nếu phần mềm client và server cài chung trên 
1 máy thì có thể dùng file://. 
13
3 So sánh Subversion và các tool khác 
14 
Subversion CVS Git 
Là hệ thống quản lý source 
code tập trung 
(Centralized) 
Quản lý source code tập 
trung (Centralized). 
Là một phương pháp quản 
lý phiên bản theo hướng 
phân tán (Distributed). 
Các commit có thể được 
roll-back lại trạng thái 
trước đó. 
Không thể roll-back. Các commit có thể được 
roll-back lại trạng thái 
trước đó. 
Các tập tin được đổi tên 
hoặc loại bỏ vẫn mang 
theo đầy đủ history và 
meta-data của nó trước đó 
Tập tin bị đổi tên hoặc di 
chuyển sẽ bị mất history 
trước đó 
Commit hoặc update trực 
tiếp từ máy của họ mà 
không phải thông qua 
repository gốc trên server 
và mang theo cả history 
Có khả năng đẩy bất cứ 
những thay đổi mới đến 
Repository cha. 
Chỉ có thể đẩy những thay 
đổi mới lên Repository 
con của nó. 
Tất cả thao tác làm việc 
với Git đều ở trên máy của 
local, local repository. Có 
thể những thay đổi push
3 So sánh Subversion và các tool khác 
15 
sử dụng SSH, ngoài ra 
còn bổ sung WebDAV 
DeltaV, giao thức này 
được dựa trên HTTP và 
HTTPS cung cấp cho 
người dùng một tùy chọn 
để kết nối với các SVN 
qua web. 
Sử dụng giao thức SSH để 
truyền tải. 
Sử dụng SSH để truyền 
tải. (SSH là 1 giao thức 
mạng ) 
Làm việc trong mạng 
LAN hay Internet. 
Làm việc trong mạng 
LAN hay Internet. 
Làm việc trong mạng 
LAN hay Internet. 
Nếu server down thì các 
thành viên khác không thể 
update thay đổi từ server - 
> khả năng làm việc 
offline không cao. 
Nếu server down thì các 
thành viên khác không thể 
update thay đổi từ server - 
> khả năng làm việc 
offline không cao. 
Có khả năng làm việc 
offline(server down),vì 
mỗi bản copy của thành 
viên đều là full copy từ 
repository gốc trên máy 
thành viên (update trực 
tiếp không cần server). 
Thao tách trên GUI hay 
Thao tác trên GUI Thao tác trên GUI hay
4 Cài đặt SVN cho Client 
 Download tại trang http://tortoisesvn.joydownload.com/ 
16
4 Cài đặt SVN cho Client 
 Double click vào file để cài -> Next 
17
4 Cài đặt SVN cho Client 
 Chọn như trong hình -> Click Next 
18
4 Cài đặt SVN cho Client 
 Chọn vị trí cài đặt -> Next 
19
4 Cài đặt SVN cho Client 
 Click Install để cài đặt 
20
4 Cài đặt SVN cho Client 
 Quá trình cài đang thực hiện 
21
4 Cài đặt SVN cho Client 
 Cài đặt hoàn thành -> Finish 
22
5 Một số khái niệm chính trong SVN 
 Reposiroty: server chứa SVN và đặt Project 
 HEAD: phiên bản mới nhất trên server 
 Master: thông thường khi tạo SVN, có một branch chính 
được tạo ra và gọi là master, các branch phụ thường 
được đặt theo tên feature mà branch đó được tạo. Với 
hình trên, đường nối các ô màu xanh lá thể hiện master, 
các đường nối ô màu vàng thể hiện branch được tạo ra 
23
5 Một số khái niệm chính trong SVN 
 Change: mô tả sự thay đổi cụ thể của 1 revision so 
với revision trước đó 
 Working copy: bản copy của toàn bộ SVN tại máy của 
developer 
 Conflict: xung đột xảy ra khi có nhiều developer cùng 
làm việc với 1 working copy 
VD : A và B cùng checkout revision 40 của file 
24
5 Một số khái niệm chính trong SVN 
 Config.js Sau đó A sửa function update() rồi commit lên 
revision 41, lúc này B cũng sửa function đó, khi B 
checkout về sẽ xảy ra conflict do SVN không biết được 
phiên bản của A hay B mới là latest 
 Resolve: Lúc này, B sẽ xem xét lại code trong function, 
giữ lại đoạn code của A hoặc sửa nó, đánh 
dấu Conflict đã được Resolve 
25
6 Một số action quan trọng trong SVN 
• Checkout: là khái niệm dùng để chỉ một thành 
viên của dự án ở client sẽ lấy một phiên bản 
copy của các file thuộc project trên server về 
máy cục bộ. 
26
6 Một số action quan trọng trong SVN 
• Commit: thành viên của dự án đưa các thay 
đổi trên các file của project tại máy client lên 
server. 
27
6 Một số action quan trọng trong SVN 
• Update: khi một thành viên muốn cập nhật 
những thay đổi của các file thuộc thành viên 
khác trên Repository về máy cục bộ của mình. 
28
6 Một số action quan trọng trong SVN 
• Merge: nhiều thành viên cùng tiến hành cập 
nhật trên một tập tin. 
29
6 Một số action quan trọng trong SVN 
 Revert: sau khi tiến hành thay đổi, developer cảm thấy họ 
đã sai và muốn xóa đi làm lại từ đầu, việc revert là hành 
động để khôi phục trạng thái của 1 hay nhiều document 
về 1 revision nào đó, thường thì 
sẽ revert về revision hiện tại mà user đang làm việc 
30
Demo 
31

Mais conteúdo relacionado

Mais procurados

Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinVõ Phúc
 
Cơ sở dữ liệu phân tán - phạm thế quế
Cơ sở dữ liệu phân tán - phạm thế quếCơ sở dữ liệu phân tán - phạm thế quế
Cơ sở dữ liệu phân tán - phạm thế quếTran Tien
 
Cơ sở dữ liệu
Cơ sở dữ liệuCơ sở dữ liệu
Cơ sở dữ liệuThành Luân
 
Chuong 3- CSDL phân tán
Chuong 3- CSDL phân tánChuong 3- CSDL phân tán
Chuong 3- CSDL phân tánduysu
 
Quan ly bo nho ngoai trong linux
Quan ly bo nho ngoai trong linuxQuan ly bo nho ngoai trong linux
Quan ly bo nho ngoai trong linuxThu Lam
 
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngPhân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngNguyễn Danh Thanh
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...The Boss
 
Bài 8: Triển khai bảo mật sử dụng chính sách nhóm (Group policy) - Giáo trình...
Bài 8: Triển khai bảo mật sử dụng chính sách nhóm (Group policy) - Giáo trình...Bài 8: Triển khai bảo mật sử dụng chính sách nhóm (Group policy) - Giáo trình...
Bài 8: Triển khai bảo mật sử dụng chính sách nhóm (Group policy) - Giáo trình...MasterCode.vn
 
Hướng dẫn xây dựng mô hình mạng với vmware
Hướng dẫn xây dựng mô hình mạng với vmwareHướng dẫn xây dựng mô hình mạng với vmware
Hướng dẫn xây dựng mô hình mạng với vmwarelaonap166
 
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồBáo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồzDollz Lovez
 
Chương trình Quản lý Nhà Sách
Chương trình Quản lý Nhà SáchChương trình Quản lý Nhà Sách
Chương trình Quản lý Nhà SáchBIC
 
HƯỚNG DẪN SỬ DỤNG PHẦN MỀM SUBVERSION (SVN) TOÀN TẬP
HƯỚNG DẪN SỬ DỤNG PHẦN MỀM SUBVERSION (SVN) TOÀN TẬPHƯỚNG DẪN SỬ DỤNG PHẦN MỀM SUBVERSION (SVN) TOÀN TẬP
HƯỚNG DẪN SỬ DỤNG PHẦN MỀM SUBVERSION (SVN) TOÀN TẬPdvms
 
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)Thuyet Nguyen
 
Báo cáo tốt nghiệp - XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ NHÀ HÀNG VỪA VÀ NHỎ SỬ DỤ...
Báo cáo tốt nghiệp - XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝNHÀ HÀNG VỪA VÀ NHỎ SỬ DỤ...Báo cáo tốt nghiệp - XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝNHÀ HÀNG VỪA VÀ NHỎ SỬ DỤ...
Báo cáo tốt nghiệp - XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ NHÀ HÀNG VỪA VÀ NHỎ SỬ DỤ...Duc Tran
 
BÁO CÁO ĐỒ ÁN MÔN HỌC ĐIỆN TOÁN ĐÁM MÂY ĐỀ TÀI: TÌM HIỂU VÀ SỬ DỤNG AMAZON WE...
BÁO CÁO ĐỒ ÁN MÔN HỌC ĐIỆN TOÁN ĐÁM MÂY ĐỀ TÀI: TÌM HIỂU VÀ SỬ DỤNG AMAZON WE...BÁO CÁO ĐỒ ÁN MÔN HỌC ĐIỆN TOÁN ĐÁM MÂY ĐỀ TÀI: TÌM HIỂU VÀ SỬ DỤNG AMAZON WE...
BÁO CÁO ĐỒ ÁN MÔN HỌC ĐIỆN TOÁN ĐÁM MÂY ĐỀ TÀI: TÌM HIỂU VÀ SỬ DỤNG AMAZON WE...nataliej4
 

Mais procurados (20)

Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tin
 
Cơ sở dữ liệu phân tán - phạm thế quế
Cơ sở dữ liệu phân tán - phạm thế quếCơ sở dữ liệu phân tán - phạm thế quế
Cơ sở dữ liệu phân tán - phạm thế quế
 
Cơ sở dữ liệu
Cơ sở dữ liệuCơ sở dữ liệu
Cơ sở dữ liệu
 
Chuong 3- CSDL phân tán
Chuong 3- CSDL phân tánChuong 3- CSDL phân tán
Chuong 3- CSDL phân tán
 
Quan ly bo nho ngoai trong linux
Quan ly bo nho ngoai trong linuxQuan ly bo nho ngoai trong linux
Quan ly bo nho ngoai trong linux
 
Đề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đ
Đề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đĐề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đ
Đề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đ
 
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngPhân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
 
Bài 8: Triển khai bảo mật sử dụng chính sách nhóm (Group policy) - Giáo trình...
Bài 8: Triển khai bảo mật sử dụng chính sách nhóm (Group policy) - Giáo trình...Bài 8: Triển khai bảo mật sử dụng chính sách nhóm (Group policy) - Giáo trình...
Bài 8: Triển khai bảo mật sử dụng chính sách nhóm (Group policy) - Giáo trình...
 
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đĐề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
 
Chuyên Đề Công Nghệ Phần Mềm PTIT
Chuyên Đề Công Nghệ Phần Mềm PTITChuyên Đề Công Nghệ Phần Mềm PTIT
Chuyên Đề Công Nghệ Phần Mềm PTIT
 
Hướng dẫn xây dựng mô hình mạng với vmware
Hướng dẫn xây dựng mô hình mạng với vmwareHướng dẫn xây dựng mô hình mạng với vmware
Hướng dẫn xây dựng mô hình mạng với vmware
 
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồBáo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
 
Chương trình Quản lý Nhà Sách
Chương trình Quản lý Nhà SáchChương trình Quản lý Nhà Sách
Chương trình Quản lý Nhà Sách
 
HƯỚNG DẪN SỬ DỤNG PHẦN MỀM SUBVERSION (SVN) TOÀN TẬP
HƯỚNG DẪN SỬ DỤNG PHẦN MỀM SUBVERSION (SVN) TOÀN TẬPHƯỚNG DẪN SỬ DỤNG PHẦN MỀM SUBVERSION (SVN) TOÀN TẬP
HƯỚNG DẪN SỬ DỤNG PHẦN MỀM SUBVERSION (SVN) TOÀN TẬP
 
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
 
Báo cáo tốt nghiệp - XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ NHÀ HÀNG VỪA VÀ NHỎ SỬ DỤ...
Báo cáo tốt nghiệp - XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝNHÀ HÀNG VỪA VÀ NHỎ SỬ DỤ...Báo cáo tốt nghiệp - XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝNHÀ HÀNG VỪA VÀ NHỎ SỬ DỤ...
Báo cáo tốt nghiệp - XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ NHÀ HÀNG VỪA VÀ NHỎ SỬ DỤ...
 
BÁO CÁO ĐỒ ÁN MÔN HỌC ĐIỆN TOÁN ĐÁM MÂY ĐỀ TÀI: TÌM HIỂU VÀ SỬ DỤNG AMAZON WE...
BÁO CÁO ĐỒ ÁN MÔN HỌC ĐIỆN TOÁN ĐÁM MÂY ĐỀ TÀI: TÌM HIỂU VÀ SỬ DỤNG AMAZON WE...BÁO CÁO ĐỒ ÁN MÔN HỌC ĐIỆN TOÁN ĐÁM MÂY ĐỀ TÀI: TÌM HIỂU VÀ SỬ DỤNG AMAZON WE...
BÁO CÁO ĐỒ ÁN MÔN HỌC ĐIỆN TOÁN ĐÁM MÂY ĐỀ TÀI: TÌM HIỂU VÀ SỬ DỤNG AMAZON WE...
 
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đ
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đĐề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đ
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đ
 
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đĐề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
 

Semelhante a Quản lý dự án phần mềm bằng SVN

Tim hieugooglecode tortoisesvn
Tim hieugooglecode tortoisesvnTim hieugooglecode tortoisesvn
Tim hieugooglecode tortoisesvnKhong Van Nhat
 
Hdth02 ltudql02-su dungsubversion-2
Hdth02 ltudql02-su dungsubversion-2Hdth02 ltudql02-su dungsubversion-2
Hdth02 ltudql02-su dungsubversion-2Dũng Đinh
 
Huong dan su_dung_subversion
Huong dan su_dung_subversionHuong dan su_dung_subversion
Huong dan su_dung_subversionKhicon Vodanh
 
Netbeans_Subversion
Netbeans_SubversionNetbeans_Subversion
Netbeans_SubversionNguyen Linh
 
Hdth02 ltudql02-su dungsubversion-1
Hdth02 ltudql02-su dungsubversion-1Hdth02 ltudql02-su dungsubversion-1
Hdth02 ltudql02-su dungsubversion-1Dũng Đinh
 
Tortoise svn huong dan
Tortoise svn   huong danTortoise svn   huong dan
Tortoise svn huong danwhitehorse4IT
 
Quan ly cau hinh pm
Quan ly cau hinh pmQuan ly cau hinh pm
Quan ly cau hinh pmNguyen Tran
 
Bao cao-cloud-linux-hosting
Bao cao-cloud-linux-hostingBao cao-cloud-linux-hosting
Bao cao-cloud-linux-hostinglaonap166
 
Giới thiệu NukeViet 5 và Autoweb
Giới thiệu NukeViet 5 và AutowebGiới thiệu NukeViet 5 và Autoweb
Giới thiệu NukeViet 5 và Autowebvinades
 
Các công cụ cần thiết cho quá trình Reverse Engineering .NET (bản đầy đủ)
Các công cụ cần thiết cho quá trình Reverse Engineering .NET (bản đầy đủ)Các công cụ cần thiết cho quá trình Reverse Engineering .NET (bản đầy đủ)
Các công cụ cần thiết cho quá trình Reverse Engineering .NET (bản đầy đủ)Levis Nickaster
 
Hướng dẫn cài đặt & sử dụng git, github
Hướng dẫn cài đặt & sử dụng git, githubHướng dẫn cài đặt & sử dụng git, github
Hướng dẫn cài đặt & sử dụng git, githubnukeviet
 
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)laonap166
 
Bao cao tuan 123
Bao cao tuan 123Bao cao tuan 123
Bao cao tuan 123vu1008
 
Slide Báo Cáo Cuối Kỳ
Slide Báo Cáo Cuối KỳSlide Báo Cáo Cuối Kỳ
Slide Báo Cáo Cuối KỳLy ND
 

Semelhante a Quản lý dự án phần mềm bằng SVN (20)

Tim hieugooglecode tortoisesvn
Tim hieugooglecode tortoisesvnTim hieugooglecode tortoisesvn
Tim hieugooglecode tortoisesvn
 
Subversion Seminar [2010]
Subversion Seminar [2010]Subversion Seminar [2010]
Subversion Seminar [2010]
 
Hdth02 ltudql02-su dungsubversion-2
Hdth02 ltudql02-su dungsubversion-2Hdth02 ltudql02-su dungsubversion-2
Hdth02 ltudql02-su dungsubversion-2
 
Huong dan su_dung_subversion
Huong dan su_dung_subversionHuong dan su_dung_subversion
Huong dan su_dung_subversion
 
Netbeans_Subversion
Netbeans_SubversionNetbeans_Subversion
Netbeans_Subversion
 
Hdth02 ltudql02-su dungsubversion-1
Hdth02 ltudql02-su dungsubversion-1Hdth02 ltudql02-su dungsubversion-1
Hdth02 ltudql02-su dungsubversion-1
 
Clear case
Clear caseClear case
Clear case
 
Tortoise svn huong dan
Tortoise svn   huong danTortoise svn   huong dan
Tortoise svn huong dan
 
Quan ly cau hinh pm
Quan ly cau hinh pmQuan ly cau hinh pm
Quan ly cau hinh pm
 
Linux+03
Linux+03Linux+03
Linux+03
 
Bao cao-cloud-linux-hosting
Bao cao-cloud-linux-hostingBao cao-cloud-linux-hosting
Bao cao-cloud-linux-hosting
 
Giới thiệu NukeViet 5 và Autoweb
Giới thiệu NukeViet 5 và AutowebGiới thiệu NukeViet 5 và Autoweb
Giới thiệu NukeViet 5 và Autoweb
 
Các công cụ cần thiết cho quá trình Reverse Engineering .NET (bản đầy đủ)
Các công cụ cần thiết cho quá trình Reverse Engineering .NET (bản đầy đủ)Các công cụ cần thiết cho quá trình Reverse Engineering .NET (bản đầy đủ)
Các công cụ cần thiết cho quá trình Reverse Engineering .NET (bản đầy đủ)
 
Hướng dẫn cài đặt & sử dụng git, github
Hướng dẫn cài đặt & sử dụng git, githubHướng dẫn cài đặt & sử dụng git, github
Hướng dẫn cài đặt & sử dụng git, github
 
Bang Cuu Chuong Git | NIIT
Bang Cuu Chuong Git | NIITBang Cuu Chuong Git | NIIT
Bang Cuu Chuong Git | NIIT
 
Bien dich nhan linux
Bien dich nhan linuxBien dich nhan linux
Bien dich nhan linux
 
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
 
Bao cao tuan 123
Bao cao tuan 123Bao cao tuan 123
Bao cao tuan 123
 
Slide Báo Cáo Cuối Kỳ
Slide Báo Cáo Cuối KỳSlide Báo Cáo Cuối Kỳ
Slide Báo Cáo Cuối Kỳ
 
Guilde GIT.pptx
Guilde GIT.pptxGuilde GIT.pptx
Guilde GIT.pptx
 

Mais de Lương Bá Hợp

Tìm hiểu Wordpress shortcode
Tìm hiểu Wordpress  shortcodeTìm hiểu Wordpress  shortcode
Tìm hiểu Wordpress shortcodeLương Bá Hợp
 
Cắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshopCắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshopLương Bá Hợp
 
Đồ án tốt nghiệp : Xậy dựng hệ thống quản lý doanh nghiệp đa nền tảng
Đồ án tốt nghiệp : Xậy dựng hệ thống quản lý doanh nghiệp đa nền tảng Đồ án tốt nghiệp : Xậy dựng hệ thống quản lý doanh nghiệp đa nền tảng
Đồ án tốt nghiệp : Xậy dựng hệ thống quản lý doanh nghiệp đa nền tảng Lương Bá Hợp
 
Application PhoneGap with Google Map
Application PhoneGap with Google MapApplication PhoneGap with Google Map
Application PhoneGap with Google MapLương Bá Hợp
 
Tìm đường trên di động (PhoneGap)
Tìm đường trên di động (PhoneGap)Tìm đường trên di động (PhoneGap)
Tìm đường trên di động (PhoneGap)Lương Bá Hợp
 
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android Lương Bá Hợp
 
Thuật Toán BEA (Bond Energy Algorithm)
Thuật Toán BEA (Bond Energy Algorithm) Thuật Toán BEA (Bond Energy Algorithm)
Thuật Toán BEA (Bond Energy Algorithm) Lương Bá Hợp
 
Thuật toán Brich , Khai phá dữ liệu
Thuật toán Brich , Khai phá dữ liệu Thuật toán Brich , Khai phá dữ liệu
Thuật toán Brich , Khai phá dữ liệu Lương Bá Hợp
 

Mais de Lương Bá Hợp (14)

Ngữ âm
Ngữ âmNgữ âm
Ngữ âm
 
Tìm hiểu Wordpress shortcode
Tìm hiểu Wordpress  shortcodeTìm hiểu Wordpress  shortcode
Tìm hiểu Wordpress shortcode
 
Tìm hiểu Wordpress hook
Tìm hiểu Wordpress hookTìm hiểu Wordpress hook
Tìm hiểu Wordpress hook
 
Cắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshopCắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshop
 
Tài liệu HTML5-CSS3
Tài liệu HTML5-CSS3Tài liệu HTML5-CSS3
Tài liệu HTML5-CSS3
 
Bài giảng HTML5-CSS3
Bài giảng HTML5-CSS3Bài giảng HTML5-CSS3
Bài giảng HTML5-CSS3
 
Đồ án tốt nghiệp : Xậy dựng hệ thống quản lý doanh nghiệp đa nền tảng
Đồ án tốt nghiệp : Xậy dựng hệ thống quản lý doanh nghiệp đa nền tảng Đồ án tốt nghiệp : Xậy dựng hệ thống quản lý doanh nghiệp đa nền tảng
Đồ án tốt nghiệp : Xậy dựng hệ thống quản lý doanh nghiệp đa nền tảng
 
Application PhoneGap with Google Map
Application PhoneGap with Google MapApplication PhoneGap with Google Map
Application PhoneGap with Google Map
 
Tìm đường trên di động (PhoneGap)
Tìm đường trên di động (PhoneGap)Tìm đường trên di động (PhoneGap)
Tìm đường trên di động (PhoneGap)
 
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
 
Thuật Toán BEA (Bond Energy Algorithm)
Thuật Toán BEA (Bond Energy Algorithm) Thuật Toán BEA (Bond Energy Algorithm)
Thuật Toán BEA (Bond Energy Algorithm)
 
Tấn Công DDOS
Tấn Công DDOSTấn Công DDOS
Tấn Công DDOS
 
Thuật toán Brich , Khai phá dữ liệu
Thuật toán Brich , Khai phá dữ liệu Thuật toán Brich , Khai phá dữ liệu
Thuật toán Brich , Khai phá dữ liệu
 
Tìm hiểu về Joomla
Tìm hiểu về Joomla Tìm hiểu về Joomla
Tìm hiểu về Joomla
 

Quản lý dự án phần mềm bằng SVN

  • 1. Quản Lý Dự Án Phần Mềm Đề tài 4 Nghiên cứu quản lý mã nguồn phần mềm với SubVersion Giảng viên hướng dẫn : Thầy Bùi Minh Cường - Bộ môn CNPM Nhóm : Lương Bá Hợp MSSV 1105068 : Bùi Thị Xuyên MSSV 1114928 Lớp : Hệ Thống Thông Tin K52 1
  • 2. Mục Lục Tìm hiểu chung 1. Subversion là gì ? 2. Subversion làm được gì ? 3. So sánh subversion và các tool khác 4. Cài đặt subversion cho client 5. Tổng quát chức năng subversion 6. Một số action quan trọng trong SVN Demo 1. Ý tưởng dự án 2. Khởi tạo subversion trên google Code 3. Thao tác của client với subversion 2
  • 4. 1 Subversion là gì ?  Hệ thống SubVersion (SVN) là một hệ thống quản lý phần tài nguyên (code , hình ảnh , video…) của một dự án.  Hệ thống có khả năng cập nhật, so sánh và kết hợp tài nguyên mới vào phần tài nguyên cũ , được giới thiệu vào năm 2000 bởi công ty CollabNet  Đây là hệ thống hỗ trợ làm việc theo nhóm rất hiệu quả. 4
  • 5. 1 Subversion là gì ?  SVN hoạt động theo phương thức Client/Server, code project sẽ được lưu trữ trên server (SVN hosting , GoogleCode,…)  Các client có thể thao tác, edit trực tiếp trên đó, mọi thay đổi của từng client sẽ được lưu lại.  Do đó SVN là một giải pháp làm việc nhóm từ xa hiệu quả, an toàn 5
  • 6. 2 Subversion làm được gì ?  Khi một nhóm làm việc trên cùng một Project, việc nhiều người cùng chỉnh sửa nội dung của một file là điều không thể tránh khỏi.  SVN cung cấp các chức năng để có thể thực hiện việc này một cách đơn giản và an toàn. 6
  • 7. 2 Subversion làm được gì ? Subversion được thiết kế với mục đích thay thế hệ thống quản lý phiên bản Concurrent Versioning System (CVS) đã cũ và có nhiều nhược điểm. Subversion có thể được sử dụng để quản lý bất cứ hệ thống phiên bản nào. 7
  • 8. 2 Subversion làm được gì ? Subversion là hệ thống quản lý Source Code tập trung (Centralized). Subversion là hệ thống quản lý phiên bản mạnh mẽ, hữu dụng, và linh hoạt. 8
  • 9. 2 Subversion làm được gì ? Subversion quản lý tập tin và thư mục theo thời gian. SVN giống như một hệ thống file server mà các Client có thể Download và Upload file một cách bình thường. 9
  • 10. 2 Subversion làm được gì ?  Điểm đặc biệt của SVN là nó lưu lại tất cả những gì thay đổi trên hệ thống file: file nào đã bị thay đổi lúc nào, thay đổi như thế nào, và ai đã thay đổi nó.  SVN cũng cho phép recover lại những version cũ một cách chính xác.  Các chức năng này giúp cho việc làm việc nhóm trở nên hiệu quả và an toàn hơn rất nhiều. 10
  • 11. 2 Subversion làm được gì ? Thông thường, client và server kết nối thông qua mạng LAN hoặc Internet. Client và server có thể cùng chạy trên một máy nếu SVN có nhiệm vụ theo vết lịch sử của dự án do các nhà phát triển phần mềm phát triển trong nội bộ. 11
  • 12. 2 Subversion làm được gì ? Subversion hỗ trợ khá nhiều giao thức để kết nối giữa client và server. Việc cho phép server hỗ trợ giao thức nào phụ thuộc vào lúc cấu hình. 12
  • 13. 2 Subversion làm được gì ? Ví dụ bạn có thể dùng các giao thức của ứng dụng web như : • Http:// hoặc https:// • Các giao thức của svn như svn:// hoặc svn+ssh:// • Hoặc nếu phần mềm client và server cài chung trên 1 máy thì có thể dùng file://. 13
  • 14. 3 So sánh Subversion và các tool khác 14 Subversion CVS Git Là hệ thống quản lý source code tập trung (Centralized) Quản lý source code tập trung (Centralized). Là một phương pháp quản lý phiên bản theo hướng phân tán (Distributed). Các commit có thể được roll-back lại trạng thái trước đó. Không thể roll-back. Các commit có thể được roll-back lại trạng thái trước đó. Các tập tin được đổi tên hoặc loại bỏ vẫn mang theo đầy đủ history và meta-data của nó trước đó Tập tin bị đổi tên hoặc di chuyển sẽ bị mất history trước đó Commit hoặc update trực tiếp từ máy của họ mà không phải thông qua repository gốc trên server và mang theo cả history Có khả năng đẩy bất cứ những thay đổi mới đến Repository cha. Chỉ có thể đẩy những thay đổi mới lên Repository con của nó. Tất cả thao tác làm việc với Git đều ở trên máy của local, local repository. Có thể những thay đổi push
  • 15. 3 So sánh Subversion và các tool khác 15 sử dụng SSH, ngoài ra còn bổ sung WebDAV DeltaV, giao thức này được dựa trên HTTP và HTTPS cung cấp cho người dùng một tùy chọn để kết nối với các SVN qua web. Sử dụng giao thức SSH để truyền tải. Sử dụng SSH để truyền tải. (SSH là 1 giao thức mạng ) Làm việc trong mạng LAN hay Internet. Làm việc trong mạng LAN hay Internet. Làm việc trong mạng LAN hay Internet. Nếu server down thì các thành viên khác không thể update thay đổi từ server - > khả năng làm việc offline không cao. Nếu server down thì các thành viên khác không thể update thay đổi từ server - > khả năng làm việc offline không cao. Có khả năng làm việc offline(server down),vì mỗi bản copy của thành viên đều là full copy từ repository gốc trên máy thành viên (update trực tiếp không cần server). Thao tách trên GUI hay Thao tác trên GUI Thao tác trên GUI hay
  • 16. 4 Cài đặt SVN cho Client  Download tại trang http://tortoisesvn.joydownload.com/ 16
  • 17. 4 Cài đặt SVN cho Client  Double click vào file để cài -> Next 17
  • 18. 4 Cài đặt SVN cho Client  Chọn như trong hình -> Click Next 18
  • 19. 4 Cài đặt SVN cho Client  Chọn vị trí cài đặt -> Next 19
  • 20. 4 Cài đặt SVN cho Client  Click Install để cài đặt 20
  • 21. 4 Cài đặt SVN cho Client  Quá trình cài đang thực hiện 21
  • 22. 4 Cài đặt SVN cho Client  Cài đặt hoàn thành -> Finish 22
  • 23. 5 Một số khái niệm chính trong SVN  Reposiroty: server chứa SVN và đặt Project  HEAD: phiên bản mới nhất trên server  Master: thông thường khi tạo SVN, có một branch chính được tạo ra và gọi là master, các branch phụ thường được đặt theo tên feature mà branch đó được tạo. Với hình trên, đường nối các ô màu xanh lá thể hiện master, các đường nối ô màu vàng thể hiện branch được tạo ra 23
  • 24. 5 Một số khái niệm chính trong SVN  Change: mô tả sự thay đổi cụ thể của 1 revision so với revision trước đó  Working copy: bản copy của toàn bộ SVN tại máy của developer  Conflict: xung đột xảy ra khi có nhiều developer cùng làm việc với 1 working copy VD : A và B cùng checkout revision 40 của file 24
  • 25. 5 Một số khái niệm chính trong SVN  Config.js Sau đó A sửa function update() rồi commit lên revision 41, lúc này B cũng sửa function đó, khi B checkout về sẽ xảy ra conflict do SVN không biết được phiên bản của A hay B mới là latest  Resolve: Lúc này, B sẽ xem xét lại code trong function, giữ lại đoạn code của A hoặc sửa nó, đánh dấu Conflict đã được Resolve 25
  • 26. 6 Một số action quan trọng trong SVN • Checkout: là khái niệm dùng để chỉ một thành viên của dự án ở client sẽ lấy một phiên bản copy của các file thuộc project trên server về máy cục bộ. 26
  • 27. 6 Một số action quan trọng trong SVN • Commit: thành viên của dự án đưa các thay đổi trên các file của project tại máy client lên server. 27
  • 28. 6 Một số action quan trọng trong SVN • Update: khi một thành viên muốn cập nhật những thay đổi của các file thuộc thành viên khác trên Repository về máy cục bộ của mình. 28
  • 29. 6 Một số action quan trọng trong SVN • Merge: nhiều thành viên cùng tiến hành cập nhật trên một tập tin. 29
  • 30. 6 Một số action quan trọng trong SVN  Revert: sau khi tiến hành thay đổi, developer cảm thấy họ đã sai và muốn xóa đi làm lại từ đầu, việc revert là hành động để khôi phục trạng thái của 1 hay nhiều document về 1 revision nào đó, thường thì sẽ revert về revision hiện tại mà user đang làm việc 30