Bài tập Nhập môn công nghệ phần mềm - Tuần 3: Phương pháp Agile và các hoạt động của Agile
- Tiếp theo kết quả của bài tập tuần 02, các nhóm đã xác định được thông tin cơ bản:
đầu vào (input), các xử lý chính (process) và kết quả (output).
- Biểu đồ phân cấp chức năng (BFD - Bussiness Function Diagram): phân rã có thứ bậc
đơn giản các chức năng của hệ thống thành các chức năng nhỏ hơn, cuối cùng thu
được một cây chức năng.
- Biểu đồ này thể hiện các đầu việc mà hệ thống cần thực hiện để đạt được mục tiêu
quản lý (quản lý cái gì?), xây dựng dựa trên cơ sở của bước khảo sát và phân tích cơ
bản trước đó.
- Các ký hiệu chính:
• Ký hiệu chức năng là một hình chữ nhật bên trong là tên chức năng, Tên chức
năng là động từ - bổ ngữ và động từ nên ở dạng thức mệnh lệnh. Các chức năng
cần đánh số thể hiện sự phân cấp.
• Liên kết các chức năng là đường thẳng
5 trang |
Chia sẻ: hachi492 | Ngày: 05/01/2022 | Lượt xem: 480 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bài tập Nhập môn công nghệ phần mềm - Tuần 3: Phương pháp Agile và các hoạt động của Agile, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm
Software Engineering Department - SoICT/HUST Trang 1 / 5
Bài tập tuần 03
Phương pháp Agile &
Các hoạt động của Agile
Mục tiêu
- Thực hiện các bài tập (câu hỏi) về nội dung Phương pháp Agile
- Phân tích các yêu cầu chức năng cho bài toán (case study)
- Bài tập về 4 hoạt động chính của Agile
Đánh giá
- Hoàn thành các bài tập về nội dung Phương pháp Agile, nắm được tư tưởng của
phương pháp Agile và các hoạt động chính. Phân biệt phương pháp Agile với các
mô hình phát triển phần mềm khác
- Xác định các yêu cầu chức năng chính cho bài toán (case study) xây dựng được
biểu đồ phân cấp chức năng và liệt kê một số yêu cầu phi chức năng
- Hoàn thành bài tập về 4 hoạt động chính của Agile
Phần I:
Bài 1.1
a) Nội dung nào sau đây được chuyển giao vào cuối Sprint?
1. Một tài liệu chứa các trường hợp kiểm thử cho sprint hiện tại
2. Một thiết kế kiến trúc của giải pháp
3. Một phiên bản gia tăng của phần mềm hoàn thành
4. Thiết kế giao diện người dùng
b) Product Backlog chứa những thông tin cơ bản gì?
1. Danh sách đầy đủ các yêu cầu hiện không có trong bản phát hành sản phẩm
2. Danh sách nhật ký các hoạt động của nhóm phát triển sản phẩm
3. Danh sách các trường hợp kiểm thử
4. Danh sách các sơ đồ thiết kế của sản phẩm
c) Chuỗi hoạt động nào sau đây là đúng cho Extreme Programming (XP)?
1. Write code, write test, refactor
2. Write code, refactor, write test
3. Write test, write code, refactor
4. Design, write code, write test
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm
Software Engineering Department - SoICT/HUST Trang 2 / 5
Bài 1.2
Hãy so sánh mô hình thác nước (Waterfall modell) và phương pháp Scrum:
Mô hình thác nước (Waterfall
modell)
Phương pháp Scrum
Đặc điểm chính
Đặc điểm các pha
phát triển
Kích thước nhóm
phát triển (team
size)
Phong cách quản lý
(management style)
Quan điểm về sự
thay đổi trong dự
án
Vấn đề xây dựng tài
liệu
Đối phó với các
nguy cơ / rủi ro
(risk)
Tình huống áp dụng
phù hợp
Phần II: Bài tập về 4 hoạt động chính của Agile
a. Dailly meeting
- Tất cả các thành viên báo cáo công việc hàng ngày
b. Sprint Planning
- Lên kế hoạch công việc làm trong 1 sprint
c. Sprint Reiview
- Xem xét lại các công việc đã làm trong sprint, phần nào có thể release/delivriable
Dưới đây là 1 template ví dụ cho 3 hoạt động trên
Tên chức năng
Người phụ
trách Trạng thái Start Finish Duration (day)
Sprint 1 (6/7-10/7) Quản lý bài giảng
Feature 1
Danh sách bài giảng
theo tài liệu Dev done
Feature 2 Chi tiết bài giảng Test
Thảo luận
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm
Software Engineering Department - SoICT/HUST Trang 3 / 5
Feature 3 Danh sách thảo luận
Feature 4 Tạo câu hỏi mới, reply
Feature 5 Tối ưu UI
Feature 6 Fix bugs tồn đọng
Sprint 3 (20/7-
24/7) Tối ưu
Feature 1 Tối ưu học phần Doing
Feature 2
Tối ưu danh sách lớp
học Doing
Feature 5 Tối ưu UI Doing
Feature 6 Xử lý các task phát sinh Doing
d. Restrospective
- Tổng kết điểm mạnh/yếu, điểm cần chỉnh sửa trong công việc (mọi người đều
nói)
- Ví dụ1:
1. Nguyen Van A (Leader)
### Positive
- Complete converting from python 2 to python 3 for Coupon.
- Understanding more detail about writing test case.
### Negative
- Skill for writing test case not good. Take long time for writing test case.
### Review of Last Month's Try
- More understanding about clean code.
### Next Month's Try
- Improve programing skill of kiwi members. Read book:
https://www.amazon.co.jp/Art-Readable-Code-Practical-
Techniques/dp/0596802293
- Train new bridge SE for understanding system => cần output và quá trình. Phần này cần xong vào tuần sau.
2. Nguyen Van B (dev)
### Positive
- Complete action of message list
### Negative
- Too long of review time
### Last month's try
- Reference current design to apply my code to reduce review time (Continue)
### Revew of Last Month's Try
- Review time is still long
### Next month's try
- Confirm design before code
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm
Software Engineering Department - SoICT/HUST Trang 4 / 5
- Add comment to MR to explain the intention
- Ví dụ 2:
Good
(đã làm được gì, học hỏi được
gì, ...)
Bad
(có gì không vừa ý,
làm chưa tốt, ...)
Try
(có thể cải thiện thế
nào, mong muốn, đề
xuất, ...)
Nguyen Van A Teamwork tốt
Chưa xác định thời gian
hoàn thành cho từng task cụ
thể
Xác định thời gian hoàn thành
cụ thể cho từng task, tạo grant
chart để quản lý tiến độ các task
và plan
Trao đổi giữa team A và team B tốt
Team B review và support nhiệt tình
Kế hoạch làm việc rõ ràng, cụ thể
Nguyen Van B - học thêm docker
- cơ hội dùng tool redash
Không hài lòng với tool
Redash
Nguyen Van C Làm việc với nhiều công nghê: Code chưa viết test
Tiếp tục tìm hiểu về Amazon
Web Service
- AWS Fargate, SQS, Lambda, IAM, RDS,
ECS Hiều sâu về devops process
- Google cloud storage, credential
Làm việc nhiều hơn với Tem B
Backend side
- Terraform , apex, docker
Làm việc devops : CI, CD , Automation
Phần III: Phân tích chức năng cho bài toán (case study)
- Tiếp theo kết quả của bài tập tuần 02, các nhóm đã xác định được thông tin cơ bản:
đầu vào (input), các xử lý chính (process) và kết quả (output).
- Biểu đồ phân cấp chức năng (BFD - Bussiness Function Diagram): phân rã có thứ bậc
đơn giản các chức năng của hệ thống thành các chức năng nhỏ hơn, cuối cùng thu
được một cây chức năng.
- Biểu đồ này thể hiện các đầu việc mà hệ thống cần thực hiện để đạt được mục tiêu
quản lý (quản lý cái gì?), xây dựng dựa trên cơ sở của bước khảo sát và phân tích cơ
bản trước đó.
- Các ký hiệu chính:
• Ký hiệu chức năng là một hình chữ nhật bên trong là tên chức năng, Tên chức
năng là động từ - bổ ngữ và động từ nên ở dạng thức mệnh lệnh. Các chức năng
cần đánh số thể hiện sự phân cấp.
• Liên kết các chức năng là đường thẳng
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm
Software Engineering Department - SoICT/HUST Trang 5 / 5
- Ví dụ:
Mô tả các chức năng trong biểu đồ:
Tên chức năng Mô tả
Đánh giá khả năng thực
hiện (nhân lúc, thời gian,
công nghệ, môi trường)
Yêu cầu: Hãy xây dựng biểu đồ phân cấp chức năng cho cho nhóm yêu cầu nghiệp
vụ của bài toán (case study) mà nhóm đã lựa chọn. Mô tả các chức năng đó.
Nội dung bài tập tự làm
HẾT
Các file đính kèm theo tài liệu này:
- bai_tap_nhap_mon_cong_nghe_phan_mem_tuan_3_phuong_phap_agile.pdf