Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 25

Báo cáo bài tập nhóm 06 tuần 05

Quản lý cấu hình phần mềm &

Thực hành với công cụ GIT

Phần I:

Bài 1.1
a) 4. Chương trình máy tính, tài liệu mô tả các chương trình máy tính và dữ liệu là

một phần của đầu ra của quy trình phát triển phần mềm.

b) 1. Khái niệm quản lý cấu hình phần mềm Baselines giúp chúng ta kiếm soát sự

thay đổi mà không cản trở đến những thay đối chính đáng

c) 4. Quá trình System building tập hợp các thành phần chương trình, dữ liệu và thư

viện, sau đó biên dịch và liên kết các thành phần này để tạo ra một hệ thống thực thi.

d) 2. Hoạt động Risk management không phải là hoạt động quản lý cấu hình phần

mềm. (3 đáp án còn lại: Configuration item identification, Release management,

Brach management)

e) 2. Release management là những gì liên quan đến việc chuẩn bị phần mềm để phát

hành bên ngoài và theo dõi các phiên bản hệ thống đã được phát hành cho khách sử

dụng.

Bài 1.2
a) Mục đích chính của Quản lý cấu hình phần mềm (SCM) là:

- Các chi tiết trong hệ thống phần mềm đều được xác định và theo dõi.

- Các thay đổi với các mục khác nhau được ghi lại và theo dõi.

- Tích hợp thích hợp tất cả các mô-đun khác nhau.

b) Quá trình Version management sẽ đảm bảo rằng các phiên bản khác nhau của hệ thống và
các thành phần của nó được ghi lại và duy trì.
c) Những công việc chính của Quản lý cấu hình phần mềm (SCM) là:

- Đặc tả mục cấu hình (Configuration item identification): mô hình hóa hệ thống

như một tập hợp các thành phần đang phát triển.

- Quản lý tiến triển (Promotion management): việc tạo ra các phiên bản cho các nhà

phát triển khác.

- Quản lý phát hành (Release management): việc tạo ra các phiên bản cho khách

hàng và người dùng.

- Quản lý nhánh (Branch management): quản lý của sự phát triển đồng thời.

- Quản lý biến thể (Variant management): việc quản lý các phiên bản dự định cùng

tồn tại.

- Quản lý thay đổi (Change management): việc xử lý, phê duyệt và theo dõi các yêu

cầu thay đổi.

d) Một mô hình kho lữu trữ (Repository) được sử dụng để lưu trữ các Baseline khác

nhau được phát hành để sử dụng chung.

Kho lưu trữ (Repository) là nơi lưu trữ dữ liệu. Kho lưu trữ thường được lưu trữ

trong cơ sở dữ liệu tương quan, nhưng có thể được lưu trữ ở bất kỳ đâu có thể chứa

dữ liệu: bảng tính Excel, thậm chí các tệp văn bản text. Kho lưu trữ thường được sử

dụng để lưu trữ những phiên bản phần mềm khác nhau.

Cơ sở dữ liệu (Database) là nơi lưu trữ dữ liệu thường dưới dạng bảng gồm các hàng

và các cột. Cần hệ quản trị cơ sở dữ liệu để có thể tương tác với dữ liệu bên trong cơ

sở dữ liệu. Thường lưu trữ những dữ liệu có quan hệ với nhau, có thể truy vấn dễ

dàng.

e) Ví dụ về các đối tượng cấu hình cơ bản do kỹ sư phần mềm tạo ra trong một số

giai đoạn của quá trình phát triển phần mềm:

1. Đặc tả mục cấu hình


Trong giai đoạn “xác định yêu cầu”, yêu cầu cần được mô hình hóa và cấu trúc hóa

thành những tập hợp được định nghĩa rõ ràng.

2. Quản lý tiến triển

Có những phần mềm được sử dụng ở nhiều quốc gia khác nhau. Tại mỗi quốc gia cần

một nhà phát hành chịu trách nhiệm riêng. Khi đó việc quản lý các phiên bản cho từng nhà

phát hành là rất quan trọng.

3. Quản lý phát hành

Khi triển khai phần mềm cho người dùng và khách hàng, người làm phần mềm cần

nắm được thông tin phản hồi chính xác nhất và xử lý để đáp ứng những yêu cầu thay đổi.

4. Quản lý nhánh

Dự án lớn, phức tạp cần chia nhỏ thành những Module. Mỗi module đó sẽ cần được

quản lý trong những nhánh khác nhau để phát triển đồng thời. Nếu module đáp ứng đủ yêu

cầu thì sẽ được ghép vào toàn dự án.

5. Quản lý biến thể

Trước khi có bản chính thức, đã tồn tại một số những phiên bản khác như bản cho

Lập trình viên, bản cho Kiêm thử, bản để người dùng test,… Như vậy, cần quản lý nhiều

phiên bản phần mềm cùng tồn tại.

6. Quản lý thay đổi

Trong thời gian vận hành, nếu phát hiện ra lỗi cần phải bảo trì hoặc do những yêu

cầu cải tiến của người dùng thì lập trình có thể tự xử lý những vấn đề nhỏ, còn những vẫn đề

phức tạp hơn cần người quản trị có đủ năng lực phê duyệt và xử lý.

Phần II:

I.Cài đặt Git:


Sau khi cài đặt git thành công:

1.Kiểm tra version:

2.Cấu hình thông tin cá nhân:


3.Tạo và liên kết SSH keys:
II. Tạo Git trong Project
1. Khởi tạo
- git init: khởi tạo thư mục init
- git clone [url] [folder_name]: clone source code từ url

2. Kiểm tra repository


- git remote -v: kiểm tra các liên kết
- git remote set-url origin [url]: thay đổi các liên kết

3. .gitignore: bỏ qua một số file mà bạn không muốn commit.


III. Các lệnh cơ bản và quan trọng

1. Các lệnh cơ bản:


- git add [ -A | . | -u ]: thêm / thay đổi file, thư mục.
- git status: kiểm tra trạng thái của project.

- git commit –m “Content commit”: ghi lại việc thêm / thay đổi.

- git push origin [branch]: thêm commit vào kho lưu trữ
- git pull: cập nhật kho lưu trữ

2. Các lệnh quan trọng


- git merge/ rebase: ghép 2 nhánh
- git reset: xóa những cập nhật hiện tại
+ git reset --soft: hủy commit cuối, con trỏ HEAD sẽ chuyển về commit cha. Đồng thời những
thay đổi của commit cuối được chuyển vào vùng staging nhằm để có cơ hội commit lại hoặc sửa
đổi.
+git reset --hard: giống như --soft, chỉ có một khác biết là nội dung thay đổi của commit cuối
không đưa đưa vào staging mà bị hủy luôn.
- git checkout: chuyển nhánh

- git stash: lưu lại thay đổi chưa commit


- git log: xem lịch sử commit

- git revert: quay lại trạng thái trước đó


IV. Xử lí Merge request

- Merge:
• Tích hợp 2 nhánh

• Tạo ra 1 merge commit và thêm vào nhánh đích

• Cây cực kì rối, khó nhìn

• Tìm kiểm và sửa lỗi dễ dàng

- Rebase:
• History dễ nhìn, thẳng hàng

• Đem từng commit ở nhánh nguồn đặt lên nhánh chính theo đúng thứ tự

• Dễ gây xung đột

Chuyển sang nhánh


feature
Chuyển sang nhánh
master
Merge nhánh
feature vào master
V. Vấn đề conflict
•Xảy ra khi hai hay nhiều người thay đổi cùng một tệp

•Phát hiện khi xử lí merge request

You might also like