ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN VĂN DUY PHƯƠNG PHÁP PHÁT TRIỂN PHẦN MỀM NHANH AGILE VÀ PHÁT TRIỂN ỨNG DỤNG TRÊN SMARTPHONE LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ TH
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN VĂN DUY
PHƯƠNG PHÁP PHÁT TRIỂN PHẦN MỀM NHANH AGILE VÀ PHÁT TRIỂN ỨNG DỤNG TRÊN
SMARTPHONE
LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN
Hà Nội - 2015
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN VĂN DUY
PHƯƠNG PHÁP PHÁT TRIỂN PHẦN MỀM NHANH AGILE VÀ PHÁT TRIỂN ỨNG DỤNG TRÊN
SMARTPHONE
Ngành: Công nghệ Thông tin
Chuyên ngành: Kỹ Thuật Phần Mềm
Mã số: 60.48.01.03
LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN VIỆT HÀ
Hà Nội - 2015
Trang 3LỜI CẢM ƠN
Để hoàn thành luận văn Thạc sĩ này tôi xin được gửi lời cảm ơn sâu sắc đến thầy PGS.TS Nguyễn Việt Hà về định hướng khoa học, luôn quan tâm và tạo điều kiện thuận lợi trong suốt quá trình nghiên cứu hoàn thành luận văn này
Tôi xin được gửi lời cảm ơn đến các thầy, cô trong Bộ môn Kỹ thuật Phần Mềm Khoa Công nghệ Thông tin đã truyền đạt cho tôi những kiến thức quý giá
và bổ ích trong quá trình theo học tại trường
Tôi cũng xin chân thành cảm ơn đến gia đình tôi về sự quan tâm, động viên của bố - mẹ và các em đã giúp tôi có thêm nghị lực, cố gắng để hoàn thành luận văn
Cuối cùng, xin gửi lời cảm ơn chân thành nhất đến các bạn cùng học K19, K20 đã giúp đỡ tôi trong suốt 3 năm học tập
Do thời gian và kiến thức có hạn nên luận văn chắc không tránh khỏi những thiếu sót nhất định Tôi rất mong nhận được những sự góp ý quý báu của thầy cô và các bạn
Hà Nội, ngày 28 tháng 12 năm 2015
Nguyễn Văn Duy
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Phương pháp phát triển phần mềm nhanh
Agile và phát triển ứng dụng trên Smartphone” là công trình nghiên cứu của
cá nhân tôi dưới sự hướng dẫn của PGS TS Nguyễn Việt Hà, trung thực và
không sao chép của tác giả khác Trong toàn bộ nội dung nghiên cứu của luận
văn, các vấn đề được trình bày đều là những tìm hiểu và nghiên cứu của chính
cá nhân tôi hoặc là được trích dẫn từ các nguồn tài liệu có ghi tham khảo rõ
ràng, hợp pháp
Tôi xin chịu mọi trách nhiệm và mọi hình thức kỷ luật theo quy định cho
lời cam đoan này
Hà Nội, ngày 28 tháng 12 năm 2015
Nguyễn Văn Duy
Trang 5MỤC LỤC
Mục Lục
Danh mục kí hiệu và chữ viết tắt
Danh mục hình vẽ và đồ thị
Chương 1 : Tổng quan về đề tài 1
1.1 Tổng quan về đề tài 1
1.2 Phương pháp nghiên cứu 3
Chương 2: Tổng quan về Agile 5
2.1 Tìm hiểu chung về Agile 5
2.1.1 Giới thiệu về Agile 5
2.1.2 Vì sao nên sử dụng Agile? 5
2.1.3 Các đặc trưng của Agile 6
2.1.4 Ưu điểm và nhược điểm của phương pháp Agile 7
2.1.5 So sánh mô hình phát triển của Agile với các mô hình phát triển phần mềm truyền thống khác 8
2.1.6 Các quy trình phát triển phần mềm sử dụng phương pháp Agile 9
2.2.1 Tổng quan về Scrum 11
2.2.2 Đặc trưng của Scrum 11
2.2.3 Các thành phần của dự án quản lý bằng scrum 12
Chương 3: Quy trình Agile/Scrum trong dự án SMARTPHONE 27
3.1 Đặc điểm của phát triển ứng dụng trên Smartphone 27
3.1.3 Các thành phần khi phát triển một ứng dụng di động 28
3.1.4 Vòng đời phát triển ứng dụng trên Smartphone 29
3.2 Một số phương pháp phát triển phần mềm cho Smartphone 30
3.2.1 Mobile-D (Abrahamsson et al, 2004) 30
3.2.2 MASAM 32
3.3 Ứng dụng Agile/Scrum và phương pháp Scrum of Scrums trong dự án SmartPhone 34
Chương 4: Ứng dụng Agile/Scrum trong dự án phát triển ứng dụng trên smartphone 36 4.1 Giới thiệu tóm tắt về dự án phần mềm cho điện thoại di động thông minh Social SEF 36
4.2 Một số khó khăn khi đội dự án triển khai 36
4.3 Cách thức đội quản lý dự án theo quy trình Agile/Scrum 38
4.3.1 Thiết lập kế hoạch thực hiện 38
4.3.2 Thành lập đội dự án 39
4.3.3 Xây dựng print backlog cho iOs và Website 39
4.3.4 Quy trình thực hiện 44
4.3.5 Họp scrum hàng ngày 45
4.3.6 Tổng hợp kết quả trên biểu đồ 46
Trang 64.4 Đánh giá và nhận xét 47
Kết Luận 49
Tài liệu tham khảo 50
Phụ Lục 51
Trang 7DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT
Product Owner (PO) Chủ sản phẩm Development Team Nhóm Phát Triển
Daily Scrum Meeting Họp Scrum hàng ngày Sprint Planning (Lên) Kế hoạch Sprint Sprint Review Sơ kết Sprint
Phần cải tiến Sprint Event Sự kiện (trong) Sprint
Functionality Chức năng có thể bàn giao
Trang 8DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ
Hình 1.1 Mô tả quá trình phát triển của Smartphone từ năm 2010-2014 (Nguồn
http://techlomedia.in) 1
Hình 1.2: Danh sách 10 quốc gia sử dụng Smartphone nhiều nhất (Nguồn http://blog.gfk.com) 2
Hình 1.3: Biểu đồ thể hiện sự phát triển ứng dụng từ năm 2009-2013 3
Hình 2.1 So sánh giá thành phát triển sản phẩm của Agile và Thác nước 9
Hình 2.2 Ví dụ về một product backlog sử dụng excel 15
Hình 2 3 Quy trình phát triển Scrum 17
Hình 2.4: Phương pháp phát triển Scum of Scrums 23
Hình 2.5: Mô tả việc chia sub-backlog cho mỗi đội dự án 24
Hình 3.1: Các thành phần phát triển của dự án cho Smartphone 28
Hình 3.2: Quy trình phát triển Agile-Scrum cho ứng dụng di động 29
Hình 3.3: Các giai đoạn phát triển của Mobile-D 31
Hình 3.4: Mô tả Scrum dự án phát triển Smartphone 35
Hình 4.1: Những thay đổi của dự án liệt kê trong Excel 37
Hình 4.2: Những thay đổi yêu cầu của dự án từ khách hàng 38
Hình 4.3: Kế hoạch thực hiện dự án 38
Hình 4.4: Chia công việc cho mỗi Scrum Team 40
Hình 4.5: Luồng thực hiện tác nghiệp 43
Hình 4.6: Liệt kê các công việc trong sprint 1 của dự án trong trello 44
Hình 4.7: Chi tiết của Sprint 1 45
Hình 4.8: Biểu đồ mô tả hoạt động của cả dự án 46
Trang 91
Chương 1 : Tổng quan về đề tài
Tóm tắt: Chương này đưa ra lý do thực hiện đề tài và giới thiệu chung về phương
pháp phát triển phần mềm nhanh Agile Thông qua việc tìm hiểu thực tế sự phát triển của Smartphone để đưa ra phương hướng phát triển cho luận văn
1.1 Tổng quan về đề tài
Trong những năm gần đây ngành công nghiệp di động đang chứng kiến sự phát triển nhanh chóng về số lượng thiết bị di động được sử dụng cũng như sự phát triển mạnh mẽ về công nghệ Bảng thống kê bên dưới liệt kê chi tiết tỷ lệ phát triển của thị trường Smartphone từ năm 2010 đến năm 2014
Hình 1.1 Mô tả quá trình phát triển của Smartphone từ năm 2010-2014 (Nguồn
http://techlomedia.in) Cùng với sự phát triển mạnh mẽ của Smartphone ở trên toàn thế giới thì thị trường Smartphone ở Việt Nam cũng đang phát triển Thông qua việc thống kê của tổ chức GFT Forecasts ở năm 2015 thì Việt Nam đang được đứng thứ 9 trên thế giới về
số lượng Smartphone sử dụng
Trang 102
Hình 1.2: Danh sách 10 quốc gia sử dụng Smartphone nhiều nhất (Nguồn
http://blog.gfk.com)
Cùng với sự phát triển về số lượng cũng như về công nghệ của Smartphone các ứng dụng cho Smartphone cũng phát triển không ngừng Cụ thể sự phát triển các ứng dụng cho Smartphone được nhìn thấy rõ rệt trong biểu đồ bên dưới
Trang 1150
TÀI LIỆU THAM KHẢO Tiếng Việt
1 Ken Swchaber - Jeff Sutherland (2013), Hướng dẫn Scrum
Tiếng Anh
1 Anthony I Wasserman (2010), Software Engineering Issues for Mobile Application Development, Carnegie Mellon Silicon Valley, Bldg 23 M/S 23-14 Moffett Field, CA 94035 USA
2 Robert Holler President& CEO, Mobile Application Development: A Natural Fit with Agile Methodologies
3 Andrei Cristian Spataru (2010) , Agile Development Methods for Mobile Applications
4 Alistair Cockburn (2010-2011), Agile Software Development
5 Harleen K Flora1, Dr Swati V Chande, A review and analysis on mobile application development processes using Agile methodologies
6 David Conhen Mikael Lindvall and Patricia Costa (2004), An Introduction to Agile Methods
7 Anthony I Wasserman, Software Engineering Issues for Mobile Application Development
8 Shakira Banu Kalee - Ssowjanya HariShankar (2013), Applying Agile Methodology in Mobile Software Engineering: Android Application Development and its Challenges
9 M Cohn (2006), Agile estimating and planning
10 Abeer M AlMutairi - M Rizwan Jameel Qureshi (2015), The Proposal of Scaling the Roles in Scrum of Scrums for Distributed Large Projects