Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 102 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
102
Dung lượng
3,94 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐẶNG THỊ PHƯỚC NGHIÊN CỨU SEMAT VÀ ỨNG DỤNG CÔNG CỤ ESSWORK TRONG PHÁT TRIỂN PHẦN MỀM LUẬN VĂN THẠC SĨ Hà Nội - 2014 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐẶNG THỊ PHƯỚC NGHIÊN CỨ SEMAT VÀ ỨNG DỤNG CÔNG CỤ ESSWORK TRONG PHÁT TRIỂN PHẦN MỀM LUẬN VĂN THẠC SĨ Ngành Chuyên ngành Mã số CÔNG NGHỆ THÔNG TIN KỸ THUẬT PHẦN MỀM 60 48 01 03 NGƯỜI HƯỚNG DẪN KHOA HỌC : TS Mẫn Quang Huy ĐỒNG HƯỚNG DẪN : TS Trương Anh Hoàng Hà Nội - 2014 LỜI CẢM ƠN Trước tiên xin chân thành cảm ơn TS Mẫn Quang Huy TS Trương Anh Hồng tận tình hướng dẫn, giúp đỡ tơi suốt q trình thực luận văn tốt nghiệp Tôi xin chân thành cảm ơn thầy cô giáo khoa Công nghệ Thông tin, trường Đại học Công nghệ, Đại học Quốc gia Hà Nội, người tận tình truyền đạt kiến thức, quan tâm, động viên suốt thời gian học tập nghiên cứu Trường Nhân cho phép tơi gửi lời cảm ơn tới nhóm bạn học lớp K16CNPM3, lớp chuyên ngành công nghệ phần mềm thường xuyên quan tâm, giúp đỡ, chia sẻ kinh nghiệm, cung cấp tài liệu hữu ích suốt thời gian học tập trường Hà Nội, tháng 10 năm 2014 Tác giả luận văn Đặng Thị Phước i LỜI CAM ĐOAN Tôi xin cam đoan luận văn “Nghiên cứu SEMAT ứng dụng công cụ EssWork phát triển phần mềm” cơng trình nghiên cứu hướng dẫn khoa học TS Mẫn Quang Huy, giáo viên đồng hướng dẫn TS Trương Anh Hoàng, tham khảo nguồn tài liệu rõ trích dẫn danh mục tài liệu tham khảo Các nội dung cơng bố kết trình bày luận văn trung thực chưa cơng bố cơng trình Hà Nội, tháng 10 năm 2014 Tác giả luận văn Đặng Thị Phước ii MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN ii MỤC LỤC iii DANH SÁCH CÁC HÌNH VẼ v MỞ ĐẦU Lý chọn đề tài Mục đích nghiên cứu Đối tượng phạm vi nghiên cứu Kết cấu luận văn CHƯƠNG 1- GIỚI THIỆU SEMAT 1.1 Giới thiệu 1.2 Kernel 1.2.1 Giới thiệu Kernel 1.2.2 Kernel Alpha 1.2.3 Một ví dụ áp dụng 19 1.2.4 Activity Space 38 1.2.5 Các kỹ cần thiết (competencies) 41 CHƯƠNG – GIỚI THIỆU ESSWORK [2] 46 2.1 Giới thiệu 46 2.2 Sử dụng EssWork 46 2.2.1 Giao diện EssWork 46 2.2.2 Các thành phần sử dụng EssWork 47 2.2.3 Work Package 50 CHƯƠNG - ỨNG DỤNG CÔNG CỤ ESSWORK 54 3.1 Mơ tả tốn 54 3.2 Giai đoạn khởi đầu 56 3.2.1 Opportunity 56 3.2.2 Requirement 58 iii 3.2.3 System 63 3.2.4 Team 64 3.2.5 Project 65 3.2.6 Way of Work 65 3.3 Giai đoạn phác thảo 66 3.3.1 Opportunity 66 3.3.2 Requirement 67 3.3.3 System 71 3.3.4 Project 75 3.3.5 Team 75 3.3.6 Way of Working 76 3.4 Giai đoạn hoàn thành 77 3.4.1 Opportunity 77 3.4.2 Requirement 77 3.4.3 System 77 3.4.4 Team 78 3.4.5 Project 78 3.4.6 Way of Working 78 3.5 Giai đoạn chuyển giao 79 3.5.1 Opportunity 79 3.5.2 Requirement 79 3.5.3 System 79 3.5.4 Team 80 3.5.5 Project 80 3.5.6 Way of Working 81 CHƯƠNG - NHẬN XÉT, ĐÁNH GIÁ, THẢO LUẬN 82 4.1 Ưu điểm SEMAT 82 4.2 Ưu điểm EssWork 85 4.3 Nhược điểm SEMAT EssWork 86 iv KẾT QUẢ ĐẠT ĐƯỢC 88 TÀI LIỆU THAM KHẢO 89 DANH SÁCH CÁC HÌNH VẼ Hình 1.1: Mối quan hệ Alpha Hình 1.2: Vịng đời Unified Process 21 Hình 1.3: Các trạng thái cần đạt giai đoạn khởi đầu 22 Hình 1.4: Các trạng thái cần đạt giai đoạn dự thảo 27 Hình 1.5: Các trạng thái cần đạt giai đoạn xây dựng 32 Hình 1.6: Các trạng thái cần đạt giai đoạn triển khai 35 Hình 1.7: Activity Space 38 Hình 2.1: Giao diện EssWork 46 Hình 2.2: Tạo Process 48 Hình 2.3: Xây dựng Process từ Practice 49 Hình 2.4: Tạo Work Pack 50 Hình 2.5: Bảng mô tả Alpha Work Package 51 Hình 2.6: Mơ tả mơt ví dụ Work Pad 52 Hình 3.1: Quy trình Essential Unified Process 55 Hình 3.2: Alpha Opportunity giai đoạn khởi đầu 56 Hình 3.3: Công việc cần thực với Opportunity giai đoạn khởi đầu 57 Hình 3.4: Danh mục công việc cần thực để Requirement đạt trạng thái Shared .58 Hình 3.5: Thống kê Use Case EssWork 59 Hình 3.6: Ca sử dụng quản trị hệ thống 61 Hình 3.7: Ca sử dụng quản lý thông tin khách hàng 61 Hình 3.8: Ca sử dụng theo dõi nợ khách hàng 62 Hình 3.9 Cập nhật trạng thái Use Case tới Story Structure Understood 62 Hình 3.10: Các cơng việc cần thực để đạt trạng thái Approach Selected Alpha System 63 Hình 3.11: Xác định Modul cần tạo System 63 v Hình 3.12: Xác định thành viên nhóm 65 Hình 3.13: Opportunity Game Board trạng thái Viability Establish 66 Hình 3.14: Requirement với trạng thái đích Stable 67 Hình 3.15: Các nhiệm vụ cần thực để Requirement đạt đích Stable 67 Hình 3.16: Use Case Slice trạng thái Prepared 68 Hình 3.17: Use Case Slice trạng thái Analyzed 70 Hình 3.18: Bảng Use Case Game Board Requirement đạt trạng thái Stable 71 Hình 3.19: System Game Board với trạng thái đích Production Quality Achieved .71 Hình 3.20: Các nhiệm vụ cần thực để System đạt trạng thái Production Quality Achieve 72 Hình 3.21: Thực phát triển số modul 72 Hình 3.22: Kiểm thử số modul hồn thành 73 Hình 3.23: Xác nhận lỗi 73 Hình 3.24: Cập nhật lại lỗi sửa 74 Hình 3.25: Cập nhật lại test case hoàn thành 74 Hình 3.26: Project Game Board với mục tiêu Development Complete .75 Hình 3.27: Team Game Board với mục tiêu Collaborating 75 Hình 3.28: Trạng thái Team Member nhóm cộng tác tốt 76 Hình 3.29: System với mục tiêu trạng thái Release Candidate Available 77 Hình 3.30: Component với trạng thái đích Reased 78 Hình 3.31: Opportunity đạt trạng thái Problem Addressed 79 Hình 3.32: Requirement đạt trạng thái Fulfilled 79 Hình 3.33: System đạt trạng thái Released 80 Hình3.34: Team đạt trạng thái Disbanded 80 Hình3.35: Project hồn thành việc chuyển giao 81 Hình3.36: Way of Work đạt trạng thái Handed Over 81 Hình 1: Ví dụ việc dùng chung Kernel dự án 85 vi MỞ ĐẦU Lý chọn đề tài Công nghệ phần mềm có 40 năm phát triển đến phương pháp phát triển phần mềm nghiên cứu, thử nghiệm tích cực Chúng ln cải tiến dựa nghiên cứu lý thuyết kinh nghiệm thực tế nhằm giúp dự án phần mềm ngày thành công hơn, giải vấn đề thường trực như: Yêu cầu khách hàng thay đổi, thời gian hồn thành dự án, kinh phí, kỹ làm việc Có nhiều phương pháp phát triển phần mềm như: Quy trình thác nước, phương pháp phát triển linh hoạt (XP, Scrum, RUP) Mỗi phương pháp có ưu nhược điểm riêng phù hợp với dự án Giữa phương pháp có nhiều điểm chung khó nhận khơng thống mặt thuật ngữ khơng phải chung phần mềm phát triển Các phương pháp phát triển ln thay đổi theo thời gian làm cho ta cảm nhận giống ngành thời trang ngành kỹ thuật ví dụ 15 năm trước người ta thường dùng quy trình Rup (Unified Process), sau đến CMMI, đến XP Scrum, Lean Kaban Chúng ta biết ngày mai phương thức nào, có nhiều quy trình làm cho đơi lúc khơng biết chọn quy trình phát triển tốt cho dự án SEMAT lỗ lực nghiên cứu nhằm tạo tảng cho việc thống nhất, kết hợp phương pháp, qui trình phần mềm Nó chứa thành phần bản, chung trình phát triển phần mềm Khi thực SEMAT kết hợp với quy trình phát triển nhờ có hướng dẫn thực chi tiết hơn, giúp cho người làm phần mềm không bỏ qua bước thực việc phát triển, giúp giải khó khăn gặp phải phát triển Ví dụ sử dụng quy trình RUP để phát triển biết đầu giai đoạn, số hướng dẫn tổng qt mà khơng có hướng dẫn cụ thể việc phải làm giai đoạn cách thật rõ ràng, xác định yêu cầu khách hàng gặp phải khó khăn việc khơng thống yêu cầu khách hàng nhóm phát triển người sử dụng sử dụng quy trình RUP khơng có hướng dẫn thực điều này, cịn khí kết hợp với SEMAT lại có hướng dẫn thực có khơng thống SEMAT mẻ giới đặc biệt Việt Nam Vì việc hiểu rõ áp dụng SEMAT để đưa số nhận xét, đánh giá có ý nghĩa lớn việc giúp đơn vị làm phần mềm tiếp cận với SEMAT, đồng thời giúp tổ chức giảng dạy kỹ thuật phần mềm có hướng việc giảng dạy kỹ thuật phần mềm Mục đích nghiên cứu Mục đích nghiên cứu luận văn nhằm tìm hiểu thành phần SEMAT, cụ thể nghiên cứu Kernel, thành phần quan trọng, có quy trình phát triển Nắm vững thành phần quy trình phát triển phần mềm từ ứng dụng cho việc theo dõi quy trình phát triển phần mềm Mục đích thứ hai luận văn nghiên cứu công cụ EssWork, áp dụng công cụ vào dự án cụ thể Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu thành phần SEMAT như: Practice, Method, Kernel, Language Trong luận văn tập trung nghiên cứu sâu thành phần Kernel như: Kernel Alpha, Activity, Competency Đối tượng nghiên cứu thứ hai luận văn công cụ EssWork, ứng dụng chức tạo Work Package công cụ việc theo dõi quy trình phát triển phần mềm Kết cấu luận văn Luận văn trình bày ngồi phần mở đầu, mục lục, danh mục tài liệu tham khảo, kết đạt nội dung luận văn gồm bốn chương Chương nghiên cứu SEMAT Nội dung chương nêu lý thuyết SEMAT, thành phần SEMAT như: Method, Practice, Kernel, Language Đặc biệt sâu trình bày kỹ thành phần Kernel SEMAT đồng thời nêu ví dụ áp dụng 3.3.4 Project Trạng thái đích giai đoạn Rick Under Control: Do dự án nhỏ, nhóm phát triển thành thạo cơng cụ lựa chọn, có vấn đề thời gian thực dự án ngắn nhiên nhóm xác định khắc phục cách làm thêm để đạt tiến độ Nên rủi ro dự án không có, mục tiêu dự án dần hồn thành theo kế hoạch đề ban đầu Do mục tiêu dự án Development Complete Hình 3.26: Project Game Board với mục tiêu Development Complete 3.3.5 Team Trạng thái đích Team giai đoạn Collaborating Hình 3.27: Team Game Board với mục tiêu Collaborating - Focused: Nhóm tập trung hồn thành nhiệm vụ nhóm, thành viên nhóm tích cực hồn thành nhiệm vụ Trong trình làm việc thành viên nhóm anh Long tích cực hỗ trợ mặt kỹ thuật gặp khó khăn 75 - Collaborating: Các thành viên nhóm đồn kết, hỗ trợ giúp đỡ lần hồn thành mục tiêu đề ra, cơng việc ln tiến triển tốt Mỗi hồn thành modul nhóm ln có họp ngắn để rút kinh nghiệm giải đáp khó khăn mà thành viên khách gặp phải Do trạng thái thành viên nhóm đổi thành Integrated Hình 3.28: Trạng thái Team Member nhóm cộng tác tốt 3.3.6 Way of Working Mục tiêu đạt Way of Working giai đoạn trạng thái Essential in Place Mục đích trạng thái xác định lựa chọn công cụ hỗ trợ cho công việc nhóm hỗ trợ việc cộng tác nhóm để đạt mục tiêu đề Để đạt điều nhóm sử dụng cơng cụ quản lý code quản lý lỗi, nhờ mà việc cộng tác trao đổi thành viên dễ dàng Ví dụ: Mỗi nhân viên kiểm thử phát lỗi cập nhật lên bảng quản lý lỗi, người phát triển vào xem chức cịn lỗi để sửa chữa hay phản hồi lỗi 76 3.4 Giai đoạn hoàn thành 3.4.1 Opportunity Lúc số chức hồn thiện tích hợp dần vào hệ thống, người sử dụng dùng thử số chức hoàn thành họ nhận thấy đạt yêu cầu đề ban đầu, giải số khó khăn cơng việc họ Lúc trạng thái Problem Adressed đạt 3.4.2 Requirement Lúc thành viên nhóm hồn thiện nốt chức cịn lại, nhân viên kiểm thử kiểm thử chức lại ứng dụng xem có thỏa mãn yêu cầu đặt ban đầu hay không Kết thúc giai đoạn chức hồn thiện hết kiểm thử, số chức phát lỗi gửi cho nhóm lập trình sửa chữa lại cập nhập lại thành công 3.4.3 System Trạng thái mục tiêu giai đoạn Release Candidate Hình 3.29: System với mục tiêu trạng thái Release Candidate Available Để đạt trạng thái nhóm tích cực hồn thành nốt chức cịn lại Khi chức hồn thiện bảng Component cập nhật lại 77 Hình 3.30: Component với trạng thái đích Reased Thực hiển kiểm thử tích hợp vào hệ thống, kiểm thử toàn hệ thống, trạng thái bảng Test Game Board cập nhật lại thành Evalued Sau Khi hồn thành cơng việc trạng thái đạt đồng thời trạng thái Alpha Requirement đạt Fulfilled Và trạng thái đích hướng tới Alpha System Release 3.4.4 Team Nhóm tiếp tục cộng tác với để hồn thành nốt cơng việc cịn lại Các thành viên nhóm sử dụng cơng cụ nêu để phục vụ cho việc cộng tác tốt hoàn thành mục tiêu đề 3.4.5 Project Lúc dự án gần hồn thành có đầy đủ chức ban đầu đặt ra, đạt tiến độ kế hoạch, trạng thái chuyển sang Development Complete Ứng dụng chuẩn bị đưa vào triển khai chạy thử môi trường thực để nhận phản hồi từ người dùng 3.4.6 Way of Working Trong trình hồn thành nốt chức cịn lại nhóm tiếp tục sử dụng công cụ hỗ trợ cho cơng việc mình, thành viên nhóm sử dụng công cụ cách thành thạo khơng cần suy nghĩ, nhờ có việc sử dụng thành thạo 78 cơng cụ việc phát triển cộng tác làm việc mà công việc tiến triển ngày nhanh chóng Trạng thái đạt giai đoạn Embedded 3.5 Giai đoạn chuyển giao 3.5.1 Opportunity Người sử dụng nhận thấy rõ hiệu hệ thống ứng dụng phục vụ vào công việc mình, giải khó khăn gặp phải cơng việc nhờ mà hiệu cơng việc tốt Hình 3.31: Opportunity đạt trạng thái Problem Addressed 3.5.2 Requirement Tất chức hoàn thành đáp ứng yêu cầu đặt Hình 3.32: Requirement đạt trạng thái Fulfilled 3.5.3 System Hệ thống mang triển khai môi trường thực, đồng thời xây dựng tài liệu hướng dẫn sử dụng, hướng dẫn cài đặt Chị Hòa chịu trách nhiệm hướng dẫn cho người 79 dùng sử dụng ứng dụng giải thắc mắc người dùng, nhận phản hồi người dùng ứng dụng Hình 3.33: System đạt trạng thái Released 3.5.4 Team Lúc nhiệm vụ nhóm triển khai ứng dụng tới người dùng, hoàn thành việc triển khai nhóm giải tán khơng cịn thực nhiệm vụ liên quan đến dự án Nhóm làm việc dự án khác khơng làm việc Hình3.34: Team đạt trạng thái Disbanded 3.5.5 Project Dự án hoàn thành tiến độ hoàn thành chức ban đầu, công việc bàn giao cho người sử dụng tiến hành, người dùng hài lòng với ứng dụng mà nhóm phát triển 80 Hình3.35: Project hồn thành việc chuyển giao 3.5.6 Way of Working Do công việc hoàn thành, ứng dụng bàn giao cho người sử dụng mang vào ứng dụng thực tế nên cách làm việc khơng cịn dùng Tuy nhiên tài liệu dự án lưu giữ lại phịng IT để sau có phát triển tiếp dùng làm tham khảo dùng làm tham khảo cho dự án khác Trạng thái kết thúc Alpha Hand Over Hình3.36: Way of Work đạt trạng thái Handed Over 81 CHƯƠNG - NHẬN XÉT, ĐÁNH GIÁ, THẢO LUẬN Sau trình tìm hiểu vể SEMAT cơng cụ EssWork, tơi có số nhận xét đánh sau: 4.1 Ưu điểm SEMAT Áp dụng SEMAT giảm thiểu rủi ro trước bắt tay vào việc thực dự án Bởi trước xác định yêu cầu hướng dẫn Kernel cần phải xác định loạt điều kiện khác như: Xác định xem liệu giải pháp đưa có thực có lợi ích khơng? Lợi ích gì? Có khả thi khơng? (chính số trạng thái ban đầu Alpha Opportunity) Những người sử dụng có đồng ý với giải pháp nêu khơng? Nếu tất điều kiện đáp ứng tới bước xác định yêu cầu Rõ ràng việc xác định trước điều giúp cho dự án có tính an toàn cao việc thời gian xác định yêu cầu người dùng, xác định xong chức ứng dụng thấy dự án tiến hành lý như: Kinh phí khơng đảm bảo, kỹ thuật q phức tạp mà trình độ đội dự án khơng thể đáp ứng để hoàn thành… Kernel SEMAT giúp theo dõi phát triển dự án cách thuận lợi, người dùng theo dõi cách gắn trạng thái Alpha lên bảng, trạng thái hồn thành chuyển sang bên trái bảng, trạng thái chưa hồn thành để bên phải Nhờ dễ dàng biết họ giai đoạn nào, vị trí dự án đích họ cần đến Việc tới đích lại có hướng dẫn thực công việc trạng thái Các hướng dẫn để đạt trạng thái rõ ràng ngắn gọn Các trạng thái Alpha trình bày thông qua Card, Card chứa hướng dẫn để đạt trạng thái đưa ra, có hai loại Card Card định nghĩa Card chi tiết Nếu người dùng có chỗ chưa rõ tham khảo Card chi tiết Các Card trình bày dạng gạch đầu dịng câu ngắn gọn văn xuôi dài nên người phát triển nắm bắt nhanh chóng hướng dẫn Tuy hướng dẫn 82 ngắn gọn lại chi tiết giúp người phát triển phần mềm không bỏ qua việc làm cần thiết gây sai sót sau Quá trình hồn thành nhóm cơng việc ln dẫn cặn kẽ thông qua tiến triển trạng thái, từ trạng thái bắt đầu đến trạng thái kết thúc Mỗi trạng thái lại có hướng dẫn riêng gọi Checklist, giúp người làm dự án đạt tới đích cách xác mà không bị sai đường bỏ qua công việc dẫn đến kết bị sai lệch Ví dụ để xác định yêu cầu khách hàng khơng phải có việc đưa yêu cầu mà phải trải qua loạt công việc như: Ban đầu xác định điều cần thiết cho hệ thống mới, có nhiều yêu cầu ra người phát triển cần phải xác định yêu cầu cần thiết cần giới hạn lại tập yêu cầu, loại bỏ bớt yêu cầu, tiếp tục làm cơng việc chỉnh sửa, loại bỏ thu tập yêu cầu, nhờ có loại công việc mà yêu cầu khách hàng không bị xác định sai Sử dụng Kernel tránh không thống yêu cầu ứng dụng khách hàng nhóm phát triển có khơng thống u cầu lại có hướng dẫn Alpha Stakeholder trạng thái In Agreement, trạng hướng dẫn có khơng thống yêu cầu chức ứng dụng người phát triển người sử dụng ứng dụng cần phải có thỏa thuận hai nhóm này, người sử dụng có tập yêu cầu tối thiểu cần đạt nhóm phát triển phải hoàn thành yêu cầu thỏa mãn tập tối thiếu cơng việc Những hướng dẫn Alpha Team giúp người quản lý dự án trưởng nhóm làm tốt cơng việc từ bắt đầu thành lập nhóm đến hồn thành dự án thơng qua trạng thái Ví dụ từ bắt đầu việc thành lập nhóm Alpha hướng dẫn rõ ràng công việc cần thực thông qua Checklist trạng thái Seeded như: - Xác định nhiệm vụ nhóm - Xác định ràng buộc hoạt động nhóm - Đưa chế phát triển nhóm - Xác định thành phần nhóm 83 - Xác định hạn chế cách làm việc, nơi làm việc mang đến - Xác định trách nhiệm nhóm - Xác định mức độ trách nhiệm nhóm - Xác định khả bắt buộc nhóm - Xác định quy mơ nhóm - Xác định quy tắc quản lý nhóm Alpha giúp cho người quản lý theo dõi hoạt động nhóm, theo dõi gắn kết thành viên nhóm thơng qua trạng thái Collaborating Áp dụng trạng thái Alpha Work giúp cho công việc tiến triển thuận lợi hơn, Alpha ngồi việc xác định cơng việc cần thực cịn hướng dẫn việc cần làm trước bắt đầu thực công việc, trạng thái Prepared Trạng thái liệt kê công việc chuẩn bị trước bắt tay vào việc phát triển dự án như: Chuẩn bị nguồn tài nguyên, xác định kinh phí, xác đinh rủi ro gặp…Nhờ có chuẩn bị mà thực không bị thụ động gặp phải số vấn đề khó khăn Với quy trình khác khơng phải tất dự án dùng đến nó, có dự án dùng quy trình thác nước, có dự án lại dùng Agile, có dự án lại dùng xoắn ốc với SEMAT dự án giống nhau, chứa những thành phần Kernel hay nói khác thành phần Kernel cố định dự án Do người sử dụng Kernel nhanh thành thạo trình sử dụng Trong ứng dụng thành phần Kernel giống dùng lại mà khơng cần xây dựng lại từ đầu Ví dụ dự án có ba nhóm thực hình 4.1, nhóm sử dụng chung Kernel, dựa vào để thực phát triển phần cơng việc 84 Hình 1: Ví dụ việc dùng chung Kernel dự án Áp dụng Kernel SEMAT giúp thống hóa q trình phát triển phần mềm, giống tiêu chuẩn chung nêu để người việc lấy làm chuẩn, bước trình phát triển việc làm theo hướng dẫn, nhờ khơng bị thiếu, khơng bị bỏ qua bước 4.2 Ưu điểm EssWork Công cụ EssWork giúp cho việc ứng dụng kiến thức Kernel thuận lợi Nhờ có cơng cụ mà người dùng khơng cần dùng thẻ vật lý mà sử dụng tra cứu cơng cụ Mỗi trạng thái đích cần đạt đến phát triển có hướng dẫn cụ thể thơng qua thẻ, cần kích chuột xem nội dung thẻ hoạt động cần thiết để đạt trạng thái đích Giúp theo dõi trình phát triển dự án từ đầu tới cuối, dễ dàng xem lại trình hoạt động dự án hoạt động để đạt trạng thái đích lưu lại Work Pad Các hướng dẫn thực công việc cụ thể so với việc áp dụng hướng dẫn SEMAT, gần với công việc mà người phát triển phải làm thực tế ví dụ phần xác định u cầu khách hàng cơng cụ EssWork 85 hướng dẫn công việc cần thực cụ thể gồm: Đặc tả yêu cầu, tìm tác nhân ca sử dụng, chia nhỏ ca sử dụng, kiểm tra chỉnh sửa ca sử dụng Trong cơng cụ EssWork việc áp dụng kiến thức SEMAT phát triển phần mềm cịn cần kết hợp SEMAT với quy trình khác như: Rup, thác nước, Agile…để tạo quy trình Trong cơng cụ xây dựng sẵn quy trình EssUp kiết hợp giữ SEMAT quy trình RUP (Rationnal Unified Process) Quy trình Rup hướng dẫn tổng quát công việc giai đoạn, kết hợp với SEMAT tạo nên EssUp hướng dẫn chi tiết nhiều, xếp trạng thái Alpha tương ứng vào giai đoạn Mỗi trạng thái Alpha mục đích cần đạt giai đoạn có hướng dẫn cụ thể SEMAT Việc tạo sẵn giúp người dùng không công tạo lại áp dụng kết hợp SEMAT RUP 4.3 Nhược điểm SEMAT EssWork Tất hướng dẫn SEMAT hay EssWork tiếng anh ngôn ngữ tự chọn hiển thị gây khó khăn cho việc người không thành thạo tiếng anh phải tra cứu nhiều thời gian Việc xây dựng quy trình cách kết hợp Kernel quy trình khác như: Thác nước, xoắn ốc hay Agile việc dễ dàng Trong công cụ EssWork lại xây dựng quy trình mẫu EssUp, muốn áp dụng kiết hợp thác nước với nhân Kernel phải nghiên cứu xây lại nhiều công sức việc xây dựng Công cụ EssWork khơng cho người dùng quay lại hình cơng việc trước xem hướng dẫn thực nhiệm vụ Rõ ràng điều khơng gây khó khăn cho người sử dụng Nếu có nút “Back” để quy lại hình trước hồn hảo Cơng cụ EssWork có chức lưu lại công việc thực Work Pad nhiên không lưu theo phân cấp Alpha mà lưu theo lần Submit (tức lưu công việc theo giai đoạn quy trình áp dụng) phần cấp riêng gây khó 86 khăn cho việc tra cứu lại theo Alpha gặp khó khăn Nếu có thêm lựa chọnđể người dùng tra cứu công việc theo Alpha theo giai đoạn tốt việc xem theo lần “Submit” Các cơng việc Work Pad lưu theo dạng lại có hai cấp độ, cơng việc cấp độ sau lại lưu dịng khác, làm cho việc theo dõi công việc thực khó khăn rối mắt Ví dụ giai đoạn xác định yêu cầu gồm nhiệm vụ: Đặc tả yêu cầu, tìm tác nhân ca sử dụng chi nhỏ các ca sử dụng, kiểm tra chỉnh sửa ca sử dụng Thì ca sử dụng chia nhỏ nhiệm vụ thực để đạt ca sử dụng lại đưa dịng khơng phải thuộc cấp độ chia nhỏ ca sử dụng hay mục tìm ca sử dụng tác nhân Các công việc liệt kê từ xuống dưới, có phân biệt công việc làm công việc nét gạch đứt không chia rõ công việc giai đoạn đạt Điều làm cho việc theo dõi khó khăn Lẽ có phân biệt rõ ràng giai đoạn nhìn vào rõ ràng nhiều Về trạng thái công việc tại: Lẽ người dùng đạt trạng thái chuyển sang trạng thái khác ứng dụng tự động chuyển trạng thái cơng việc trước sang “Complete”, người dùng tự lựa chọn, người thực quên mà người khác nhìn vào khơng biết cơng việc hồn thành thực sự, cơng việc chưa hồn thành, giai đoạn dự án 87 KẾT QUẢ ĐẠT ĐƯỢC Đề tài “Nghiên cứu SEMAT ứng dụng công cụ EssWork phát triển phần mềm” đạt số kết sau: - Đã nghiên cứu thành phần SEMAT ứng dụng việc phát triển phần mềm Trong luận văn tập trung nghiên cứu chủ yếu Kernel, thành phần quan trọng SEMAT, có ứng dụng quan trọng phát triển phần mềm - Nghiên cứu sử dụng công cụ EssWork, mô trình sử dụng q trình phát triển xây dựng ứng dụng quản lý khách hàng - Đưa số nhận xét đánh giá thân nghiên cứu áp dụng kiến thức SEMAT công vụ EssWork Khó khăn gặp phải: Bởi nghiên cứu SEMAT giới đặc biệt Việt Nam tơi gặp phải nhiều khó khăn như: Tài liệu để tham khảo nghiên cứu không nhiều, cộng đồng người sử dụng SEMAT Việt Nam chưa có nên khó khăn việc trao đổi thơng tin Đặc biệt có nhiều khái nhiệm mới, ngôn ngữ tiếng anh nên việc đọc tài liệu sử dụng công cụ gặp nhiều khó khăn Hướng nghiên cứu tương lai: Trong luận văn tơi áp dụng quy trình có sẵn, vận dụng để hỗ trợ cho việc phát triển phần mềm Trong tương lại tơi hy vọng xây dựng quy trình riêng để áp dụng cho việc phát triển ứng dụng game ứng dụng web 88 TÀI LIỆU THAM KHẢO http://www.ivarjacobson.com/EssWork/ http://www.ivarjacobson.com/alphastatecards/ http://www.SEMAT.org Fujitsu, AB, I J., & Solution, M D (2012) Essence – Kernel and Language for Software Engineering Methods Initial Submission – Version 1.0 Fujitsu, AB, I J., & Solutions, M D (2014) Essence – Kernel and Language for Software Engineering Methods Essence 1.0 Beta Jacobson, I (2011) Discover the Essence of Software Engineering CSI Communications Jacobson, I., & Meyer, B (2009) Methods Need Theory Dr.Dobb's Jacobson, I., Bertrand, & Richard (2009) Software Engineering Method and Theory - A Vission Statement 1.0 Jacobson, I., Ng, P.-W., E.McMahon, P., Spence, I., & Lidman, I (2013) The Essence of Software Engineering Applying the SEMAT Kernel 10 Jacobson, I., Ng, P.-W., McMahon, P E., Spence, I., & Lidman, S (10 2012) The Essence of Software Engineering: The SEMAT Kernel Acmquece , 1-12 11 Johnson, P., Ekstedt, M., & Jacobson, I (2012) Where’s the Theory for Software Engineering? IEEE Software , 1-3 89 ... nghiên cứu cơng cụ EssWork, tìm hiểu đặc điểm, ứng dụng công cụ EssWork đồng thời trình bày cách sử dụng EssWork Chương áp dụng cơng cụ EssWork vào ví dụ đơn giản, áp dụng giúp người nghiên cứu. .. hai luận văn nghiên cứu công cụ EssWork, áp dụng công cụ vào dự án cụ thể Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu thành phần SEMAT như: Practice, Method, Kernel, Language Trong luận văn... TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐẶNG THỊ PHƯỚC NGHIÊN CỨ SEMAT VÀ ỨNG DỤNG CÔNG CỤ ESSWORK TRONG PHÁT TRIỂN PHẦN MỀM LUẬN VĂN THẠC SĨ Ngành Chuyên ngành Mã số CÔNG NGHỆ THÔNG TIN KỸ THUẬT PHẦN MỀM 60 48