1 Nghiên cứu Semat và ứng dụng công cụ EssWork trong phát triển phần mềm A study about SEMAT and using EssWork Tool In Software Development NXB H.. SEMAT là một trong những lỗ lực nghi
Trang 11
Nghiên cứu Semat và ứng dụng công cụ
EssWork trong phát triển phần mềm
A study about SEMAT and using EssWork Tool In Software Development
NXB H : ĐHCN, 2014 Số trang 84 tr +
Đặng Thị Phước
Đại học Công nghệ Luận văn ThS ngành: Kỹ thuật phần mềm; Mã số: 60 48 01 03
Người hướng dẫn: TS Mẫn Quang Huy và TS Trương Anh Hoàng
Năm bảo vệ: 2014
Keywords: Kỹ thuật phần mềm; SEMAT; EssWork; Phát triển phần mềm
Content
Lý do chọn đề tài
Công nghệ phần mềm đã có hơn 40 năm phát triển nhưng đến nay các phương pháp phát triển phần mềm vẫn đang được nghiên cứu, thử nghiệm tích cực Chúng luôn được cải tiến dựa trên cả nghiên cứu lý thuyết và kinh nghiệm thực tế nhằm giúp các dự án phần mềm ngày càng thành công hơn, giải quyết được những vấn đề thường trực như: Yêu cầu khách hàng thay đổi, thời gian hoàn thành dự án, kinh phí, kỹ năng làm việc Có rất 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ó những ưu nhược điểm riêng phù hợp với từng dự án Giữa các phương pháp này cũng có nhiều điểm chung nhưng khó nhận ra hoặc không thống nhất về mặt thuật ngữ và
đó không phải là cái chung nhất của mọi phần mềm khi phát triển Các phương pháp phát triển thì luôn thay đổi theo thời gian làm cho ta cảm nhận nó giống như một ngành thời trang chứ không phải là một ngành kỹ thuật ví dụ như 15 năm trước đây thì người ta thường dùng quy trình Rup (Unified Process), rồi sau đó đến CMMI, tiếp theo là đến XP và bây giờ là Scrum, Lean và Kaban Chúng ta không thể biết ngày mai sẽ là phương thức nào, có quá nhiều quy trình làm cho đôi lúc chúng ta cũng không biết chọn quy trình phát triển nào là tốt nhất cho dự
án của mình
SEMAT là một trong những lỗ lực nghiên cứu nhằm tạo ra nền tảng cho việc thống nhất, kết hợp các phương pháp, qui trình phần mềm Nó chứa những thành phần cơ bản, chung nhất trong quá trình phát triển của bất kỳ phần mềm nào Khi thực hiện SEMAT sẽ kết hợp với một trong các quy trình phát triển nhờ đó sẽ có những hướng dẫn thực hiện chi tiết hơn, giúp cho người mới làm phần mềm không bỏ qua một bước nào trong khi thực hiện việc phát triển, giúp giải quyết các khó khăn gặp phải khi phát triển Ví dụ nếu chúng ta chỉ sử dụng quy trình RUP
để phát triển chúng ta chỉ biết đầu ra của từng giai đoạn, một số hướng dẫn tổng quát mà không có những hướng dẫn cụ thể từng việc phải làm trong từng giai đoạn một cách thật rõ ràng, như khi xác định yêu cầu khách hàng gặp phải khó khăn về việc không thống nhất giữa yêu cầu khách hàng giữa nhóm phát triển và người sử dụng thì nếu chỉ sử dụng mỗi quy trình RUP thì không có hướng dẫn nào thực hiện điều này, còn khí kết hợp nó với SEMAT thì lại có hướng dẫn thực hiện khi có sự không thống nhất này
SEMAT cũng đang còn khá mới mẻ trên thế giới và đặc biệt ở Việt Nam Vì vậy việc hiểu
rõ và áp dụng được SEMAT để đưa ra một số nhận xét, đánh giá có ý nghĩa rất lớn trong việc
Trang 22
giúp các đơn vị làm phần mềm tiếp cận với SEMAT, đồng thời cũng giúp các tổ chức giảng dạy về kỹ thuật phần mềm có những hướng đi mới trong việc giảng dạy về kỹ thuật phần mềm
Mục đích nghiên cứu
Mục đích nghiên cứu trong luận văn nhằm tìm hiểu các thành phần của SEMAT, cụ thể
ở đây là nghiên cứu về Kernel, một thành phần quan trọng, cơ bản nhất đều có trong quy trình phát triển Nắm vững các thành phần cơ bản trong quy trình phát triển phần mềm và từ đó ứng dụng nó cho việc theo dõi quy trình phát triển phần mềm Mục đích thứ hai trong luận văn là nghiên cứu về công cụ EssWork, áp dụng công cụ này vào một dự án cụ thể
Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu ở đây là các thành phần của SEMAT như: Practice, Method, Kernel, Language Trong luận văn này tôi tập trung nghiên cứu sâu về các thành phần của Kernel như: Kernel Alpha, Activity, Competency Đối tượng nghiên cứu thứ hai trong luận văn
là công cụ EssWork, ứng dụng chức năng tạo Work Package trong công cụ này trong việc theo dõi quy trình phát triển phần mềm
Kết cấu của luận văn
Luận văn của tôi trình bày ngoài phần mở đầu, mục lục, danh mục tài liệu tham khảo,
kết quả đạt được thì nội dung của luận văn gồm bốn chương Chương 1 sẽ nghiên cứu về
SEMAT Nội dung trong chương sẽ nêu ra những lý thuyết về SEMAT, từng thành phần trong SEMAT như: Method, Practice, Kernel, Language Đặc biệt sẽ đi sâu trình bày kỹ về thành phần Kernel trong SEMAT đồng thời nêu ra một ví dụ áp dụng khi sử dụng Kernel Alpha trong quá trình phát triển phần mềm Chương 2 sẽ nghiên cứu về công cụ EssWork, sẽ tìm hiểu những đặc điểm, ứng dụng của công cụ EssWork đồng thời cũng trình bày cách sử dụng
EssWork Chương 3 sẽ áp dụng công cụ EssWork vào một ví dụ đơn giản, những áp dụng này
giúp người nghiên cứu về SEMAT cũng như công cụ EssWork hiểu rõ hơn về SEMAT và EssWork, hình dung về ứng dụng của SEMAT rõ ràng hơn nhờ có những mô tả từng bước thực hiện công cụ Sau khi sử dụng công cụ EssWork thì luận văn sẽ đưa ra một số nhân xét, đánh giá, thảo luận về những ưu điểm, nhược điểm của SEMAT cũng như công cụ EssWork trong chương 4 Nhờ những đánh giá này mà người phát triển sẽ có những quyết định trong việc có nên dùng SEMAT trong việc phát triển dự án của mình hay không
References
1 http://www.ivarjacobson.com/EssWork/
2 http://www.ivarjacobson.com/alphastatecards/
3 http://www.SEMAT.org
4 Fujitsu, AB, I J., & Solution, M D (2012) Essence – Kernel and Language for
Software Engineering Methods Initial Submission – Version 1.0
5 Fujitsu, AB, I J., & Solutions, M D (2014) Essence – Kernel and Language for
Software Engineering Methods Essence 1.0 Beta 2
6 Jacobson, I (2011) Discover the Essence of Software Engineering CSI
Communications
7 Jacobson, I., & Meyer, B (2009) Methods Need Theory Dr.Dobb's
8 Jacobson, I., Bertrand, & Richard (2009) Software Engineering Method and Theory -
A Vission Statement 1.0
9 Jacobson, I., Ng, P.-W., E.McMahon, P., Spence, I., & Lidman, I (2013) The Essence
of Software Engineering Applying the SEMAT Kernel
Trang 33
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