1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(LUẬN văn THẠC sĩ) 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

59 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề 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
Tác giả Nguyễn Văn Duy
Người hướng dẫn PGS.TS. Nguyễn Việt Hà
Trường học Đại học Quốc gia Hà Nội
Chuyên ngành Công nghệ thông tin
Thể loại luận văn thạc sĩ
Năm xuất bản 2015
Thành phố Hà Nội
Định dạng
Số trang 59
Dung lượng 1,75 MB

Cấu trúc

  • Chương 1 Tổng quan về đề tài (9)
    • 1.1 Tổng quan về đề tài (9)
    • 1.2 Phương pháp nghiên cứu (11)
  • Chương 2: Tổng quan về Agile (13)
    • 2.1 Tìm hiểu chung về Agile (13)
      • 2.1.1 Giới thiệu về Agile (13)
      • 2.1.2 Vì sao nên sử dụng Agile? (13)
      • 2.1.3 Các đặc trưng của Agile (0)
      • 2.1.4 Ưu điểm và nhược điểm của phương pháp Agile (15)
      • 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 (16)
      • 2.1.6 Các quy trình phát triển phần mềm sử dụng phương pháp Agile (17)
      • 2.2.1 Tổng quan về Scrum (19)
      • 2.2.2 Đặc trưng của Scrum (0)
      • 2.2.3 Các thành phần của dự án quản lý bằng scrum (20)
  • Chương 3: Quy trình Agile/Scrum trong dự án SMARTPHONE (35)
    • 3.1 Đặc điểm của phát triển ứng dụng trên Smartphone (35)
      • 3.1.3 Các thành phần khi phát triển một ứng dụng di động (36)
      • 3.1.4 Vòng đời phát triển ứng dụng trên Smartphone (37)
    • 3.2 Một số phương pháp phát triển phần mềm cho Smartphone (38)
      • 3.2.1 Mobile-D (Abrahamsson et al, 2004) (38)
      • 3.2.2 MASAM (40)
    • 3.3 Ứng dụng Agile/Scrum và phương pháp Scrum of Scrums trong dự án SmartPhone (42)
  • Chương 4: Ứng dụng Agile/Scrum trong dự án phát triển ứng dụng trên smartphone . 36 (44)
    • 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 (44)
    • 4.2 Một số khó khăn khi đội dự án triển khai (44)
    • 4.3 Cách thức đội quản lý dự án theo quy trình Agile/Scrum (46)
      • 4.3.1 Thiết lập kế hoạch thực hiện (46)
      • 4.3.2 Thành lập đội dự án (47)
      • 4.3.3 Xây dựng print backlog cho iOs và Website (47)
      • 4.3.4 Quy trình thực hiện (52)
      • 4.3.5 Họp scrum hàng ngày (53)
      • 4.3.6 Tổng hợp kết quả trên biểu đồ (54)
    • 4.4 Đánh giá và nhận xét (55)
  • Kết Luận (57)
  • Tài liệu tham khảo (58)
  • Phụ Lục (59)

Nội dung

Tổng quan về đề tài

Tổng quan về đề tài

Trong những năm gần đây, ngành công nghiệp di động đã chứng kiến sự tăng trưởng nhanh chóng về số lượng thiết bị di động cũng như sự tiến bộ vượt bậc trong công nghệ Dưới đây là bảng thống kê chi tiết tỷ lệ phát triển của thị trường smartphone từ năm 2010 đến 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)

Thị trường Smartphone tại Việt Nam đang phát triển mạnh mẽ, đồng thời đứng thứ 9 trên thế giới về số lượng người dùng, theo thống kê của tổ chức GFT Forecasts năm 2015.

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)

Sự phát triển nhanh chóng của smartphone không chỉ về số lượng mà còn về công nghệ đã thúc đẩy sự gia tăng không ngừng của các ứng dụng dành cho thiết bị này Biểu đồ dưới đây minh họa rõ nét sự tiến bộ trong phát triển ứng dụng cho smartphone.

Hình 1.3: Biểu đồ thể hiện sự phát triển ứng dụng từ năm 2009-2013

Ngành công nghiệp di động đang đối mặt với sự cạnh tranh cao và tính năng động lớn Để phát triển ứng dụng cho smartphone, các công ty phần mềm cần có quy trình phát triển nhanh chóng và đáp ứng tốt yêu cầu của khách hàng.

Agile là quy trình phát triển phần mềm nhanh gọn và linh hoạt, giúp thích ứng nhanh chóng với sự thay đổi công nghệ Phương pháp này đặc biệt quan trọng trong phát triển ứng dụng trên Smartphone, nơi yêu cầu người dùng thường xuyên thay đổi Đối với các đội ngũ tập trung vào nhu cầu khách hàng, Agile là giải pháp lý tưởng để phát triển ứng dụng hiệu quả và đáp ứng kịp thời yêu cầu thị trường.

Phương pháp nghiên cứu

Phương pháp phát triển phần mềm Agile đang ngày càng trở nên phổ biến nhờ tính linh hoạt và khả năng thích ứng nhanh với thay đổi So với các quy trình phát triển phần mềm truyền thống, Agile tập trung vào việc phân chia dự án thành các giai đoạn ngắn, cho phép nhóm phát triển nhận phản hồi liên tục từ khách hàng và điều chỉnh sản phẩm kịp thời Điều này giúp nâng cao chất lượng sản phẩm và sự hài lòng của khách hàng, đồng thời giảm thiểu rủi ro và chi phí phát triển Việc áp dụng Agile không chỉ cải thiện hiệu suất làm việc của nhóm mà còn thúc đẩy sự sáng tạo và đổi mới trong quá trình phát triển phần mềm.

Quy trình phát triển phần mềm Agile-Scrum là một phương pháp phát triển phần mềm nhanh nhẹn, tập trung vào việc cải tiến hiệu suất và sự linh hoạt trong từng giai đoạn phát triển Agile-Scrum cho phép nhóm phát triển thích ứng nhanh chóng với các thay đổi và yêu cầu mới, mang lại sản phẩm chất lượng cao hơn.

Nghiên cứu các đặc điểm của thiết bị Smartphone và các dự án liên quan giúp hiểu rõ hơn về quy trình phát triển phần mềm cho Smartphone, bao gồm các phương pháp như Mobile D, MASAM và SLeSS.

Nghiên cứu cách thực hiện dự án Smartphone theo mô hình Agile-Scrum nhằm áp dụng vào dự án phát triển ứng dụng SEF trên Website và nền tảng iOS Mục tiêu là cung cấp đánh giá và nhận xét chi tiết về quy trình phát triển ứng dụng cho Smartphone sử dụng phương pháp Agile-Scrum.

Tổng quan về Agile

Tìm hiểu chung về Agile

Phương pháp Agile đã trở thành xu hướng phổ biến trong phát triển phần mềm, đặc biệt từ tháng 2 năm 2015 theo khảo sát của Scrum Alliance Nguồn gốc của Agile bắt nguồn từ các phương pháp lặp của Lean Manufacturing (1940) và Agile Manufacturing (1990), nhấn mạnh khả năng thích nghi của doanh nghiệp trong môi trường năng động Những đặc điểm nổi bật của phương pháp này được thể hiện trong "Agile Manifesto", trong đó đề cao giá trị cá nhân và tương tác hơn quy trình, cũng như sản phẩm chất lượng hơn tài liệu đầy đủ.

Phát triển phần mềm linh hoạt (Agile) là triết lý và phương pháp phát triển dựa trên nguyên tắc lặp và tăng trưởng, cho phép nhu cầu và giải pháp tiến hóa thông qua sự hợp tác giữa các nhóm tự quản và liên chức năng Agile áp dụng lập kế hoạch thích ứng và phát triển theo hướng tiến hóa, sử dụng khung thời gian ngắn và linh hoạt để nhanh chóng phản hồi với các thay đổi trong quá trình phát triển.

2.1.2 Vì sao nên sử dụng Agile?

- Sản phẩm của một dự án phần mềm là khác nhau nên việc áp dụng một quy trình để phát triển hàng loạt là rất khó khăn

Khách hàng thường gặp khó khăn trong việc hình dung rõ ràng các yêu cầu cho sản phẩm ngay từ đầu Do đó, việc linh hoạt ứng phó với những thay đổi trong yêu cầu là rất cần thiết, giúp giảm thiểu rủi ro cho dự án.

- Đảm bảo sản phẩm đầu ra đúng theo nhu cầu của khách hàng

2.1.3 Các đặc trƣng của Agile

Phương pháp Agile có nhiều cách tiếp cận khác nhau, bao gồm tổ chức công việc và thiết lập quy trình Ngoài ra, Agile còn sử dụng các công cụ và kỹ thuật đặc thù như kiểm thử đơn vị, công cụ tích hợp liên tục, mẫu thiết kế, tái cấu trúc, phát triển hướng kiểm thử, phát triển hướng hành vi và lập trình theo cặp Những yếu tố này giúp đảm bảo và gia tăng tính linh hoạt trong quá trình phát triển phần mềm.

Dự án sẽ được thực hiện qua các phân đoạn lặp lại, gọi là Sprint, với khung thời gian ngắn từ một đến bốn tuần Trong mỗi Sprint, nhóm phát triển tiến hành các công việc cần thiết như lập kế hoạch, phân tích yêu cầu, thiết kế, triển khai và kiểm thử, nhằm tạo ra các phần nhỏ của sản phẩm.

Cuối mỗi phân đoạn phát triển, nhóm thường cung cấp các phần nhỏ của sản phẩm cuối cùng, những phần này được kiểm thử kỹ lưỡng, có khả năng chạy tốt và sẵn sàng sử dụng Qua thời gian, các phần chạy được này sẽ tích lũy và phát triển, cho đến khi toàn bộ yêu cầu của khách hàng được đáp ứng.

Với các phân đoạn ngắn và kế hoạch linh hoạt, quá trình phát triển có thể dễ dàng điều chỉnh để đáp ứng các thay đổi như yêu cầu mới, công nghệ tiến bộ và định hướng mục tiêu khác nhau.

 Ràng buộc về thời gian (Time - Bound)

Thời gian đóng vai trò quan trọng trong phát triển phần mềm theo phương pháp Agile, xác định thời hạn hoàn thành dự án cũng như từng sprint, nhằm đảm bảo sản phẩm được bàn giao cho khách hàng để kiểm tra tính đúng yêu cầu và chức năng.

 Quản lý thực nghiệm (Empirical Process Control)

Các nhóm Agile đưa ra quyết định dựa trên dữ liệu thực tế thay vì lý thuyết hay giả định Việc chia nhỏ dự án thành các phân đoạn ngắn giúp tăng cường các điểm mốc, từ đó nhóm phát triển có thể thu thập thông tin để điều chỉnh chiến lược phát triển Qua thời gian, các chiến lược này sẽ ngày càng tối ưu, giúp nhóm kiểm soát tiến trình và nâng cao năng suất lao động.

 Dựa trên giá trị (value - based)

Một trong những nguyên tắc cơ bản của Agile là phần mềm hoạt động tốt là thước đo tiến độ, giúp nhóm loại bỏ các công việc không mang lại giá trị cho sản phẩm Để thực hiện cơ chế “làm việc dựa trên giá trị”, nhóm Agile thường xuyên làm việc trực tiếp với khách hàng hoặc đại diện của họ, từ đó xác định được những yêu cầu ưu tiên cao hơn cho dự án Nhờ vậy, Agile không chỉ tối ưu hóa giá trị của dự án mà còn gia tăng đáng kể sự hài lòng của khách hàng.

2.1.4 Ưu điểm và nhược điểm của phương pháp Agile

Có một số lý do khiến Agile được sử dụng rộng rãi và bàn giao được một sản phẩm hoàn thiện theo đúng yêu cầu của khách hàng

Một trong những ưu điểm nổi bật là sự hài lòng của khách hàng, nhờ vào việc liên tục phát hành các bản cập nhật và cung cấp sản phẩm có giá trị để người dùng có thể trải nghiệm sớm.

Sự tương tác giữa con người trong quá trình phát triển dự án được đặt lên hàng đầu, vượt qua việc tuân thủ quy trình và sử dụng công cụ Điều này thể hiện rõ qua việc trao đổi liên tục giữa các thành viên như development và tester, development và tech leader, cũng như giữa team phát triển và khách hàng thông qua email và Skype suốt quá trình thực hiện dự án.

- Sẵn sàng thích ứng với những thay đổi thường xuyên xảy ra, kể cả khi đó là sự thay đổi rất muộn

- Khó khăn hơn để xác định một trường hợp kinh doanh cho dự án và để đàm phán các dự án giá cố định

- Đôi khi sự tương tác giữa con người quá nhiều dẫn đến việc thiếu tập trung vào thiết kế và các tài liệu cần thiết

Để đảm bảo quá trình phát triển phần mềm diễn ra suôn sẻ, cần thiết phải có một đội ngũ phát triển với năng lực cao, kinh nghiệm phong phú, cùng với sự năng động và linh hoạt Đội ngũ này sẽ có khả năng đưa ra những quyết định kịp thời và hiệu quả khi đối mặt với các khó khăn và trở ngại trong quá trình phát triển.

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 Đặc điểm Waterfall Spiral Scrum

Xác định các giai đoạn phát triển

Trong giai đoạn lập kế hoạch và kết thúc, sản phẩm cuối cùng được xác định rõ ràng Quá trình lập kế hoạch đóng vai trò quan trọng trong việc xác định các yếu tố cần thiết để đạt được kết quả mong muốn.

Xác định trong quá trình xây dựng dự án

Chi phí sản phẩm Được xác định trong quá trình lập kế hoạch

Thay đổi cục bộ Xác định trong quá trình xây dựng dự án

Ngày hoàn thành sản phẩm Được xác định trong quá trình lập kế hoạch

Thay đổi cục bộ Xác định trong quá trình xây dựng dự án Đáp ứng với môi trường sử dụng

Trong kế hoạch ban đầu

Trong kế hoạch ban đầu

Từ giai đoạn lập kế hoạch cho đến khi hoàn thành dự án, kinh nghiệm trao đổi và đào tạo trước là rất quan trọng Việc chuẩn bị kỹ lưỡng và thực hiện đúng quy trình sẽ giúp đảm bảo thành công cho dự án.

Thực hiện trong quá trình làm dự án Khả năng thành công Thấp Trung bình thấp Cao

So sánh về giá thành phát triển phần mềm

Quy trình Agile/Scrum trong dự án SMARTPHONE

Đặc điểm của phát triển ứng dụng trên Smartphone

3.1.1 Đặc điểm của thiết bị Smartphone Đặc điểm của thiết bị SmartPhone được xác định bởi 3 đặc điểm riêng biệt

Thiết bị di động nổi bật với khả năng di chuyển linh hoạt, cho phép người dùng sử dụng chúng mọi lúc, mọi nơi Mỗi thiết bị di động đều được thiết kế để hoạt động liên tục, đảm bảo hiệu suất tối ưu ngay cả khi đang di chuyển.

Thiết bị di động với màn hình nhỏ và tính năng cảm ứng cho phép người dùng thao tác bằng một tay Để tối ưu trải nghiệm, các ứng dụng di động cần có thiết kế phù hợp, giúp cấu trúc thông tin được trình bày một cách rõ ràng và dễ sử dụng.

Thiết bị di động có khả năng giao tiếp với nhiều loại thiết bị khác, bao gồm máy tính văn phòng, hệ thống mạng và điện thoại di động Hầu hết điện thoại di động đều hỗ trợ truy cập Internet qua Bluetooth hoặc Wi-Fi, và nhiều mẫu còn tích hợp mạng di động và dữ liệu không dây Email và nhắn tin là phương thức giao tiếp tiêu chuẩn trên các thiết bị này, bên cạnh khả năng gọi điện, trong khi một số thiết bị chuyên dụng có thể giao tiếp trực tiếp với thiết bị trung tâm.

3.1.2 Đặc điểm của phát triển ứng dụng trên Smartphone

Hầu hết các dự án ứng dụng di động thường là những dự án nhỏ, với chỉ vài nghìn dòng mã nguồn và đội ngũ phát triển hạn chế Tuy nhiên, phát triển ứng dụng di động có nhiều điểm tương đồng với việc phát triển phần mềm cho các ứng dụng nhúng khác.

Các ứng dụng trên Smartphone đối mặt với một số thách thức như tích hợp phần cứng, an ninh truyền thông, hiệu suất, độ tin cậy và hạn chế lưu trữ Ngoài ra, chúng còn có những yêu cầu đặc thù mà ít thấy ở các ứng dụng truyền thống khác.

- Chu kì phát triển ngắn

- Thường xuyên thay đổi nhu cầu sử dụng

- Phải dễ dàng cập nhập

- Tương tác với các ứng dụng khác trong thiết bị di động như là camera, voice

Xử lý cảm biến là một yếu tố quan trọng trong hầu hết các ứng dụng trên smartphone, bao gồm việc theo dõi chuyển động của thiết bị, phản hồi của màn hình cảm ứng với nhiều cử chỉ khác nhau và hệ thống định vị chính xác.

- Ứng dụng Native và Hybrid

- Sự phức tạp khi thử nghiệm

3.1.3 Các thành phần khi phát triển một ứng dụng di động

Hình 3.1: Các thành phần phát triển của dự án cho Smartphone

Hiện nay, có nhiều hệ điều hành cho điện thoại di động như Android, iOS, Windows Phone và BlackBerry Để phát triển một ứng dụng di động đáp ứng nhu cầu của đa số người dùng, cần xây dựng ứng dụng riêng cho từng nền tảng Điều này đồng nghĩa với việc mỗi hệ điều hành cần một đội ngũ phát triển riêng, chẳng hạn như đội iOS chịu trách nhiệm cung cấp ứng dụng cho hệ điều hành iOS thông qua các gói phát triển chuyên biệt.

Xcode là một môi trường phát triển tích hợp (IDE) của Apple, bao gồm giao diện Builder và giả lập iPhone, phục vụ cho việc phát triển ứng dụng trên tất cả các sản phẩm của Apple.

Android Team cung cấp ứng dụng cho hệ điều hành Android, ở nhóm này sử dụng các công cụ phát triển Android plugin cho môi trường lập trình Eclipse

WindowPhone Team sử dụng Visual Studio của Microsofts.… và cần một

Đội ngũ Backend chịu trách nhiệm xử lý cơ sở dữ liệu bằng cách phát triển các API để hỗ trợ các đội mobile Hình ảnh minh họa cho thấy sự trao đổi dữ liệu giữa các đội Mobile và đội Backend diễn ra như thế nào.

Backend API cung cấp dịch vụ cho ứng dụng di động, cho phép truy cập cơ sở dữ liệu và xử lý các quy trình liên quan Các nhóm phát triển ứng dụng di động xác định nhu cầu dịch vụ, trong khi đội ngũ Backend API phục vụ như nhà cung cấp cho họ Do đó, đội phát triển nền tảng di động có thể được xem là khách hàng của đội Backend API.

3.1.4 Vòng đời phát triển ứng dụng trên Smartphone

Phương pháp phát triển phần mềm truyền thống đã được điều chỉnh để phù hợp với đặc điểm linh hoạt của ứng dụng di động Việc áp dụng các phương pháp này vào vòng đời phát triển ứng dụng di động giúp tối ưu hóa quy trình và nâng cao hiệu quả.

Hình 3.2: Quy trình phát triển Agile-Scrum cho ứng dụng di động

Phương pháp này gồm các giai đoạn cụ thể là:

Giai đoạn 1: Yêu cầu phân tích (Requirement Analysis)

Giai đoạn 2: Thiết kế và phát triển (Design & Development)

Giai đoạn 3: Kiểm tra và đảm bảo chất lượng (Test & Quality)

Giai đoạn 4: Nghiệm thu sản phẩm (Product Acceptance)

Giai đoạn 5: Phát hành vào thị trường (Release to Market)

Khi khách hàng yêu cầu thiết kế ứng dụng trên Smartphone, giai đoạn đầu tiên cần phân tích thị trường và thiết bị để giảm thiểu rủi ro kỹ thuật Trong giai đoạn 2 và 3, mỗi Sprint kéo dài từ 1-4 tuần, nơi tái sử dụng trong phát triển phần mềm được áp dụng hiệu quả Cuộc họp Sprint hàng ngày là yếu tố quan trọng giúp các đội chia sẻ thông tin cập nhật về tiến độ công việc, lập kế hoạch cho các nhiệm vụ tiếp theo và giải quyết vấn đề còn tồn đọng.

Giai đoạn 4 là giai đoạn quyết định, nơi thực hiện phản hồi nhanh chóng và hiệu quả đối với các yêu cầu của khách hàng, đồng thời so sánh sản phẩm với các tiêu chí ban đầu bằng cách gửi yêu cầu cho khách hàng.

Giai đoạn 5 là bước quan trọng trong việc hoàn thiện sản phẩm, đảm bảo đáp ứng đầy đủ yêu cầu của khách hàng trước khi ra mắt chính thức Mỗi nền tảng di động có một cửa hàng ứng dụng riêng, nơi người dùng có thể tải về ứng dụng Cụ thể, trên Android, người dùng truy cập Google Play, trong khi trên iOS, ứng dụng có sẵn trên App Store.

Một số phương pháp phát triển phần mềm cho Smartphone

Một số phương pháp phát triển phần mềm cho Mobile

3.2.1 Mobile-D (Abrahamsson et al, 2004) Được biết đến vào năm 2004 bởi Abrahamsson, Mobile D là cách tiếp cận dựa trên Rational Unified Process RUP, eXtreme Programming XP (Phương pháp phát triển phần mềm) và phương pháp Crystal (khả năng mở rộng) Nghiên cứu này cung cấp một cái nhìn tổng thể về phát triển ứng dụng di động, về những đặc điểm và hạn chế ảnh hưởng đến quá trình phát triển phần mềm di động Nghiên cứu này cũng giới thiệu một cách tiếp cận phát triển phần mềm được rút ra từ phát triển phần mềm linh hoạt Agile

Có 9 yếu tố liên quan đến các hoạt động khác nhau trong suốt chu trình phát triển

Mobile-D gồm 5 giai đoạn: Explore, Initialize, Productionize, Stabilize, and System System Test & Fix Mỗi giai đoạn liên quan đến một giai đoạn thực tiễn

Hình 3.3: Các giai đoạn phát triển của Mobile-D

Trong giai đoạn đầu tiên Explore, nhóm phát triển xây dựng kế hoạch và xác định các đặc điểm của dự án thông qua ba giai đoạn: thiết lập các bên liên quan, định nghĩa phạm vi và thành lập dự án Nhiệm vụ chính trong giai đoạn này bao gồm lập kế hoạch dự án và thu thập yêu cầu từ khách hàng.

Trong giai đoạn tiếp theo, nhóm phát triển và các bên liên quan tích cực tìm hiểu về sản phẩm đang được phát triển, bao gồm các nguồn lực vật chất, công nghệ và truyền thông Giai đoạn này được chia thành ba phân đoạn chính: thiết lập dự án, lập kế hoạch ban đầu và ngày thử nghiệm.

Giai đoạn Productionize bao gồm các hoạt động triển khai thực hiện, với mục tiêu hoàn tất hầu hết các công việc cần thiết Giai đoạn này được chia thành ba phần: ngày lập kế hoạch, ngày làm việc và ngày phát hành.

Giai đoạn cuối cùng của quá trình phát triển sản phẩm bao gồm Stabilize và System Test & Fix, nhằm hoàn thiện sản phẩm và thực hiện các thử nghiệm cần thiết Đồng thời, giai đoạn này cũng cho phép thực hiện các sửa đổi cần thiết để xây dựng tài liệu hướng dẫn và kiểm tra hệ thống một cách hiệu quả.

Mobile-D được sử dụng trong các dự án phát triển để cải thiện khả năng nhận diện quy trình, giúp phát hiện sớm và khắc phục các vấn đề kỹ thuật cũng như giảm thiểu sai lệch trong sản phẩm cuối cùng.

Jeong et al đề xuất rằng phương pháp Agile trong phát triển phần mềm ứng dụng di động cho phép quy trình phát triển diễn ra nhanh chóng Phương pháp này dựa trên các khung như Extreme Programming (XP), Agile Unified Process, RUP và Software and Systems Process Engineering Metamodel (SPEM) MASAM áp dụng kiến trúc GUI trung tâm và kết hợp tri thức miền, đồng thời thể hiện sự ràng buộc với phương pháp Mobile – D, giới thiệu các thay đổi trong quản lý dự án và tích hợp các công cụ theo dõi với Eclipse Process Framework.

MASAM được mô tả theo ba loại tài sản quy định sau

Role Nó định nghĩa tập hợp các kĩ năng liên quan, năng lực và trách nhiệm của từng cá nhân

Planner, Manager, UI designer, Developer,

Development team, Initial development team,

Tester là một đơn vị chuyển nhượng được gán cho vai trò cụ thể trong quy trình làm việc Mỗi nhiệm vụ thường kéo dài từ vài giờ đến vài ngày và có thể ảnh hưởng đến nhiều sản phẩm công việc khác nhau.

Product Summary, Initial Planning, User

Definition, Initial Analysis, Select Resource,

Select Process, Establish Environment, Write

Story Card, UI Design, Define Architecture,

Planning, Iteration plan, Face-to-face Meeting,

Incremental Design, TDD, Refactoring, Release

Plan, Feedback, Pattern Manage, Pair

User Test Figure Work Product Là một thuật ngữ chung cho các đầu vào công việc và kết quả đầu ra

UI Model, UI pattern, Architecture Pattern,

Application Pattern, Story Card, Task Card,

Architecture Model, Component Model, Test

MASAM đề xuất quy trình phát triển ứng dụng di động gồm 4 giai đoạn: Giai đoạn chuẩn bị, nơi tạo tóm tắt và xác định khái niệm sản phẩm cùng vai trò trách nhiệm; Giai đoạn Embodiment, tập trung vào việc hiểu nhu cầu người dùng và cấu trúc sản phẩm phần mềm; Giai đoạn phát triển, áp dụng nguyên tắc nhanh nhẹn với quy trình Extreme Programming lặp đi lặp lại thông qua Test-Driven Development, Pair Programming, Refactoring và Continuous Integration; và cuối cùng, giai đoạn Commercialization, chú trọng vào việc ra mắt và bán sản phẩm.

Preparation Phase Grasping Product Product summary

Pre-planning Product Concept Sharing User Definition

Initial product analysis Project Set-up Development process coordination Project resource coordination

Pre study Embodiment Phase User Need Understanding Story card workshop

UI design Architecting Non-functional requirement analysis Architecture definition Pattern management Development Phase Implementation &

Environment setup Development Planning Release Cycle Release Planning

Commercialization Phase System Test Acceptance Test

User Test Product Selling Launching Test

Ứng dụng Agile/Scrum và phương pháp Scrum of Scrums trong dự án SmartPhone

Trong dự án phát triển Smartphone, các nền tảng di động như Android, iOS và Windows Phone sẽ được chia thành các đội Scrum, bao gồm cả đội xây dựng API Quy trình phát triển Scrum bắt đầu với việc Product Owner tạo ra Product Backlog và phân chia thành các Sub-Backlog cho các đội phát triển Sau khi nhận Sub-Backlog, các đội phát triển sẽ phân tích yêu cầu và thiết kế giả lập màn hình để hiểu rõ hơn về yêu cầu dự án Những giả lập này sẽ được gửi cho đội API, giúp họ nắm bắt các yêu cầu cơ bản và xác định các API cần cung cấp cho bên Mobile.

Hình 3.4: Mô tả Scrum dự án phát triển Smartphone

Ứng dụng Agile/Scrum trong dự án phát triển ứng dụng trên smartphone 36

Ngày đăng: 27/06/2022, 15:44

HÌNH ẢNH LIÊN QUAN

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) - (LUẬN văn THẠC sĩ) 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
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) (Trang 9)
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) - (LUẬN văn THẠC sĩ) 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
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) (Trang 10)
Hình 1.3: Biểu đồ thể hiện sự phát triển ứng dụng từ năm 2009-2013  (Nguồn https://research2guidance.com) - (LUẬN văn THẠC sĩ) 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
Hình 1.3 Biểu đồ thể hiện sự phát triển ứng dụng từ năm 2009-2013 (Nguồn https://research2guidance.com) (Trang 11)
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 - (LUẬN văn THẠC sĩ) 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
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 (Trang 16)
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 Theo “The Money Pit”, tổ chức Standish Group đã nghiên cứu 2 dự án phần mềm  lớn giống nhau, thực hiện ở hai công ty có kích thước tương tự nhau - (LUẬN văn THẠC sĩ) 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
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 Theo “The Money Pit”, tổ chức Standish Group đã nghiên cứu 2 dự án phần mềm lớn giống nhau, thực hiện ở hai công ty có kích thước tương tự nhau (Trang 17)
Hình 2.2 Ví dụ về một product backlog sử dụng excel - (LUẬN văn THẠC sĩ) 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
Hình 2.2 Ví dụ về một product backlog sử dụng excel (Trang 23)
Hình 2.3 Quy trình phát triển Scrum - (LUẬN văn THẠC sĩ) 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
Hình 2.3 Quy trình phát triển Scrum (Trang 25)
Hình 2.4: Phương pháp phát triển Scum of Scrums - (LUẬN văn THẠC sĩ) 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
Hình 2.4 Phương pháp phát triển Scum of Scrums (Trang 31)
ở hình trên. Các PO dưới sẽ tương tác với khách hàng và cộng tác với các PO mỗi đội để hoàn thành Product Backlog - (LUẬN văn THẠC sĩ) 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
h ình trên. Các PO dưới sẽ tương tác với khách hàng và cộng tác với các PO mỗi đội để hoàn thành Product Backlog (Trang 32)
Smartphone, như là việc di chuyển thiết bị, màn hình cảm ứng đáp ứng nhiều các cử chỉ khác nhau, hệ thống định vị … - (LUẬN văn THẠC sĩ) 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
martphone như là việc di chuyển thiết bị, màn hình cảm ứng đáp ứng nhiều các cử chỉ khác nhau, hệ thống định vị … (Trang 36)
Hình 3.2: Quy trình phát triển Agile-Scrum cho ứng dụng di động Phương pháp này gồm các giai đoạn cụ thể là: - (LUẬN văn THẠC sĩ) 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
Hình 3.2 Quy trình phát triển Agile-Scrum cho ứng dụng di động Phương pháp này gồm các giai đoạn cụ thể là: (Trang 37)
Hình 3.3: Các giai đoạn phát triển của Mobile-D - (LUẬN văn THẠC sĩ) 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
Hình 3.3 Các giai đoạn phát triển của Mobile-D (Trang 39)
Hình 3.4: Mô tả Scrum dự án phát triển Smartphone - (LUẬN văn THẠC sĩ) 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
Hình 3.4 Mô tả Scrum dự án phát triển Smartphone (Trang 43)
Hình 4.1: Những thay đổi của dự án liệt kê trong Excel. - (LUẬN văn THẠC sĩ) 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
Hình 4.1 Những thay đổi của dự án liệt kê trong Excel (Trang 45)
Hình 4.1: Những thay đổi của dự án liệt kê trong Excel. - (LUẬN văn THẠC sĩ) 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
Hình 4.1 Những thay đổi của dự án liệt kê trong Excel (Trang 45)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w