Tải bản đầy đủ (.doc) (37 trang)

Báo cáo môn học phân tích và yêu cầu phần mềm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (579.23 KB, 37 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
––––––––––––––––––––––––*––––––––––––––––––––––

Báo cáo bài tập tuần

Môn học: Phân tích yêu cầu phần mềm
Tuần 2

Nhóm 3
Danh sách sinh viên:
Lê Trung Hiếu

20111568

CNTT-TT 2.3 K56

Đàm Văn Hoài

20111600

CNTT-TT 2.3 K56

Nguyễn Đức Cương

20111203

CNTT-TT 2.3 K56

Đoàn Văn Đạt


20111370

CNTT-TT 2.3 K56

Giảng viên: PGS.TS. Huỳnh Quyết Thắng
Hà Nội Ngày 10 tháng 4 năm 2014


Tóm tắt
Báo cáo trình bày về các nội dung: “Các kỹ thuật liên quan đến phương pháp xác định các yêu
cầu phần mềm (Requirement Elicitation) truyền thống”, “Các kỹ thuật liên quan đến phương
pháp xác định các yêu cầu phần mêm (Requirement Elicitation) nâng cao”, “Model-Driven
Requirements Engineering (MDRE)”, “Tìm hiểu về các kỹ thuật và phương pháp thương lượng
và thỏa thuận các yêu cầu phần mềm” và so sánh một số công cụ UML và lựa chọn công cụ của
chúng em.


Mục lục
Contents
1.1.Phương pháp phỏng vấn (Interviewing customers and domain experts).............................8
1.1.1.Khái niệm........................................................................................................................8
1.1.2.Bản chất, đặc thù của phỏng vấn....................................................................................8
1.1.3.Bảng câu hỏi và ghi nhận trả lời......................................................................................9
1.1.4.Các phương pháp phỏng vấn........................................................................................10
Phỏng vấn với câu hỏi đóng...................................................................................10
Ưu điểm:.......................................................................................................10
Nhược điểm:.................................................................................................10
Phỏng vấn với câu hỏi mở......................................................................................10
Ưu điểm:.......................................................................................................11
Nhược điểm:.................................................................................................11

1.2.Phương pháp bảng hỏi (Questionnaires).............................................................................11
1.2.1.Bảng hỏi làm gì?............................................................................................................11
1.2.2.Sử dụng bảng hỏi khi....................................................................................................11
1.2.3.Các kỹ thuật thực hiện..................................................................................................11
1.2.4.Ưu / nhược điểm..........................................................................................................12
Ưu điểm..................................................................................................................12
Nhược điểm...........................................................................................................12
1.2.5.Những lưu ý khi thực hiện phương pháp bảng hỏi......................................................12
1.2.6.Một số mẫu...................................................................................................................12
1.3.Phương pháp Quan sát (Observation).................................................................................13
1.3.1.Bản chất, đặc thù..........................................................................................................13
1.3.2.Phân loại.......................................................................................................................13
1.3.3.Các kỹ thuật thực hiện..................................................................................................13
1.3.4.Ưu/ nhược điểm...........................................................................................................13
Ưu điểm:.................................................................................................................13
Nhược điểm:..........................................................................................................13
1.4.Phương pháp Nghiên cứu tài liệu và các Hệ thống phần mềm tương tự...........................14
1.4.1.Bản chất đặc thù...........................................................................................................14
1.4.2.Ưu diếm/ nhược điểm của phương pháp.....................................................................14
Ưu điểm..................................................................................................................14


Nhược điểm...........................................................................................................14
2.1.Phương pháp nguyên mẫu (Prototyping)............................................................................14
2.1.1.Khái niệm, đặc thù........................................................................................................14
2.1.2.Các trường hợp thường dùng.......................................................................................15
2.1.3.Các kỹ thuật thực hiện..................................................................................................15
“Throw-away” prototype.......................................................................................15
Evolutionnary prototype........................................................................................15
2.1.4.Ưu/ nhược điểm...........................................................................................................15

Ưu điểm..................................................................................................................15
Nhược điểm...........................................................................................................15
2.2.Phương pháp Brainstrorming..............................................................................................16
2.2.1.Đặc thù..........................................................................................................................16
2.2.2.Các kỹ thuật thực hiện..................................................................................................16
Nêu ý tưởng...........................................................................................................16
Thâu tóm ý tưởng...................................................................................................16
2.2.3.Ưu nhược điểm.............................................................................................................16
Ưu điểm..................................................................................................................16
Nhược điểm...........................................................................................................16
2.3.Phương pháp Joint application development (JAD)............................................................16
2.3.1.Khái niệm và đặc thù....................................................................................................16
2.3.2.Các kỹ thuật thực hiện..................................................................................................17
2.3.3.Ưu/ nhược điểm...........................................................................................................17
2.4.Phương pháp Rapid application development (RAD)..........................................................17
2.4.1.Khái niệm và đặc thù....................................................................................................17
2.4.2.Các kỹ thuật thực hiện..................................................................................................17
2.4.3.Ưu/ nhược điểm...........................................................................................................17
Ưu điểm..................................................................................................................17
Nhược điểm...........................................................................................................17
3.1.Phương pháp luận...............................................................................................................18
3.2.Một số kĩ thuật điển hình....................................................................................................20
3.3.Các công cụ phần mềm hỗ trợ.............................................................................................21
3.3.1.GME(Generic Modeling Environment).........................................................................21
Tổng quan kỹ thuật.................................................................................................22
GME - giao diện người dùng..................................................................................23
3.3.2.DSL TOOLS ( Domain-Specific Language Tools).............................................................24
3.3.3.EMF(Eclipse Modeling Framework)..............................................................................25



3.4.Các dự án phần mềm thành công đã thực hiện dựa trên MDRE........................................26
3.4.1.DMAN project...............................................................................................................26
3.4.2.OPENPROD Project.( Open Model-Driven Whole-Product Development and
Simulation Environment).......................................................................................................26
4.1.Các phương pháp chung của thương lượng, thỏa thuân yêu cầu phần mềm....................28
Trước khi thương lượng, thỏa thuân:...................................................................................28
+ Định nghĩa vấn đề................................................................................................28
+ Xác định các bên liên quan..................................................................................28
+ Phát hiên mục tiêu..............................................................................................28
+ Phân tích mục tiêu...............................................................................................28
Trong khi thương lượng, thỏa thuân:....................................................................................29
Sau khi thương lượng, thỏa thuân:.......................................................................................29
4.2.Các khia cạnh của thương lượng, thỏa thuân yêu cầu........................................................29
4.2.1.Chiến lược giải quyết xung đôt.....................................................................................29
4.2.2.Các hình thức công tác (Collaboration situations)........................................................31
4.2.3.Các công cụ hỗ trợ thương lượng thỏa thuân..............................................................31
4.3.Vi dụ về các hê thống thương lượng, thỏa thuân...............................................................32
4.3.1.Aspire............................................................................................................................32
4.3.2.Negoisst........................................................................................................................32
4.3.3.EasyWinWin..................................................................................................................32
4.3.4.SmartSettle...................................................................................................................33
5.1.ArgoUML..............................................................................................................................35
5.1.1.Tinh năng của ArgoUML................................................................................................35
Các biểu đồ UML mà Argo hỗ trợ...........................................................................35
Hỗ trợ XMI :............................................................................................................35
Sinh mã :.................................................................................................................35
Chỉnh sửa biểu đồ :................................................................................................35
Ngôn ngữ:...............................................................................................................35
Một số định dạng biểu đồ :....................................................................................36
5.1.2.Ưu điểm:.......................................................................................................................36

5.1.3. Nhược điểm:................................................................................................................36
5.2.StarUML...............................................................................................................................36
5.2.1.Tinh năng của StarUML :...............................................................................................36
5.2.2.Ưu điểm:.......................................................................................................................37
5.2.3.Nhược điểm của StarUML:...........................................................................................37
5.3.Visual Paradigm....................................................................................................................37


Các ưu điểm của VP-Paradigm...............................................................................................38


Hình vẽ, bảng biểu


1. Các kỹ thuật liên quan đến phương pháp xác định các
yêu cầu phần mềm (Requirement Elicitation) truyền
thống.
1.1.
Phương pháp phỏng vấn (Interviewing customers and
domain experts).
1.1.1. Khái niệm.
Phỏng vấn (interviewing) là một kỹ thuật quan trọng để phát hiện thông tin yêu cầu một cách
chi tiết từ một cá nhân. Như là một kĩ sư phần mềm, bạn sẽ sử dụng nó trong việc phát hiện yêu
cầu phần mềm cho một hệ thống lớn. Trong những dự án nhỏ, ta có thể sử dụng phương pháp
này như một công cụ phát hiện yêu cầu phần mềm duy nhất.
1.1.2. Bản chất, đặc thù của phỏng vấn
Phỏng vấn để phát hiện thông tin về:
• Các ý kiến của người được phỏng vấn
• Các cảm nghĩ của người được phỏng vấn
• Tình trạng hiện tại của phần mềm

• Các mục tiêu về tổ chức và nhân sự
• Các thủ tục không chinh thức
• Các văn bản mẫu (template) trợ giúp thực hiện phương pháp.
Kế hoạch phỏng
vấn tổng quan
Hệ thống: Đại lý
băng đĩa ABC...
Người lập: Nguyễn
Hải Nam
Ngày lập:
01/09/2008
STT
Chủ đề
Yêu cầu
Ngày bắt đầu

Ngày kết thúc

1

Qui trình
băng đĩa

bánNắm rõ tất qui trình về bán lẻ, bán02/09/2008
sỉ, và qui trình xử lý đơn đặt hàng

02/09/2008

2


Qui trình đặt muaNắm qui trình khách hàng đặt03/09/2008
băng đĩa
mua băng đĩa với đại lý

03/09/2008

3

Quản lý nhập
xuất tồn kho

05/09/2008

05/09/2008


4

Hệ thống máyTìm hiểu kỹ về tài nguyên máy10/09/2008
móc, phần mềm móc, trang thiết bị, phần mềm, hệ
điều hành đang sử dụng của tổ
chức

10/09/2008

Hình 1. Kế hoạch phỏng vấn tổng quan.

Bảng kế hoạch phỏng vấn
Hệ thống:………………………
Người được phỏng vấn:…………….


Phân tích viên:……………..

Vị tri/ phương tiện
Văn phòng, phòng họp, điện thoại,…

Thời gian: - Bắt đầu:
- Kết thúc:

Mục tiêu:
Dữ liệu cần thu thập?
Lãnh vực nào?

Lưu ý: - Kinh nghiệm
- Ý kiến đánh giá, nhận xét của người được
phỏng vấn

Chi tiết buổi phỏng vấn
Giới thiệu
Tổng quan về hệ thống
Tổng quan về buổi phỏng vấn
Chủ đề 1
Các câu hỏi
Chủ đề 2
Các câu hỏi
...
Tóm tắt các điểm chinh
Câu hỏi của người trả lời phỏng vấn
Kết thúc
Quan sát tổng quan


Thời gian ước lượng (? phút)
Tổng:

Phát sinh ngoài dự kiến
Hình 2. Bảng kế hoạch phỏng vấn.

1.1.3. Bảng câu hỏi và ghi nhận trả lời
Người được phỏng vấn: Hoàng Oanh…

Ngày: 03/09/2008

Câu hỏi

Ghi nhận

Câu hỏi 1:
Khách hàng đặt hàng dưới hình thức nào?

Trả lời:
Gọi điện thoại, đến tận đại lý, gởi fax
Kết quả quan sát:


Đáng tin cậy

Câu hỏi 2:
Trả lời:
Tất cả đơn đặt hàng của khách hàng phải được Phải thanh toán trước hoặc ngay khi giao.
thanh toán trước rồi mới giao hàng?

Kết quả quan sát:
Thái độ không chắc chắn
Câu hỏi 3:
Trả lời
Chị muốn hệ thống mới sẽ giúp cho Chị điều gì? Dữ liệu chỉ nhập một lần và hệ thống tự động
phát sinh báo cáo các loại
Kết quả quan sát
Không tin tưởng lắm, hình như đã triển khai thất
bại một lần

Hình 3. Bảng câu hỏi và ghi nhận trả lời.

1.1.4. Các phương pháp phỏng vấn.
Phỏng vấn với câu hỏi đóng.
Là câu hỏi mà các đáp án thường nằm trong các tình huống được xác định trước.
Câu hỏi đóng thich hợp cho việc tạo các dữ liệu chinh xác, tin cậy để dễ dàng phân tích.
Hiệu quả và đỏi hỏi người phỏng vấn phải có kỹ năng để điều khiển cuộc phỏng vấn.
Ưu/nhược điểm:
Ưu điểm:
• Tiết kiệm thời gian phỏng vấn
• Dễ dàng so sánh các cuộc phỏng vấn
• Đề cập đến một phạm vi rộng một cách nhanh chóng
• Chủ động trong cuộc phỏng vấn
• Đạt được dữ liệu thich hợp
Nhược điểm:
• Buồn chán cho người được phỏng vấn
• Khó có được nhiều thông tin chi tiết
• Thiếu các ý tưởng
• Mất thời gian chuẩn bị các câu hỏi
• Không tạo mối quan hệ giũa những người phỏng vấn và những người được phỏng vấn

Phỏng vấn với câu hỏi mở.
Là loại câu hỏi với phạm vi trả lời tự do. Câu hỏi thich hợp khi người phân tích quan tâm đến
câu trả lời rộng và sâu. Câu hỏi mởi làm cho câu trả lời không bị gò bó và không gượng ép.


Ưu/nhược điểm:
Ưu điểm:
• Người được phỏng vấn dễ dàng trả lời
• Không ràng buộc câu trả lời
• Có thể phát sinh ý tưởng mới.
• Cung cấp nhiều chi tiết hơn
• Có ich cho người phỏng vấn không được chuẩn bị trước.
• Tinh linh hoạt cao
• Tinh chinh xác
• Tinh tiện lợi
Nhược điểm:
• Thời gian hỏi kéo dài.
• Nội dung có thể vượt qua phạm vi câu hỏi.
• Ưu điểm / nhược điểm của phương pháp.
• Nguồn thông tin phụ thuộc vào người được phỏng vấn.
• Người phỏng vấn phải có kỹ năng giao tiếp tốt
• Nếu không chuẩn bị tốt dễ bị thất bại
• Có thể bất đồng về ngôn ngữ khái niệm

1.2.

Phương pháp bảng hỏi (Questionnaires)

1.2.1. Bảng hỏi làm gì?
Bảng hỏi có ich cho việc thu nhập thông tin từ các thành viên chinh trong công ty về:

• Các quan điểm
• Các hiểu biết
• Các tác động
• Các đặc điểm







1.2.2. Sử dụng bảng hỏi khi
Thu thập thông tin ở nhiều người với các điạ điểm khác nhau
Nhiều người tham gia vào dự án.
Cần thực hiện việc tham dò
Cần giải quyết vấn đề trước khi phỏng vấn
1.2.3. Các kỹ thuật thực hiện
Các câu hỏi mở
Phù hợp cho việc thu thập các ý kiến
Các câu hỏi đóng.
Được sử dụng khi có một danh sách các tùy chọn.


1.2.4. Ưu / nhược điểm.
Ưu điểm.
• Thu thập được nhiều thông tin theo chủ ý của người thiết kế bảng hỏi
• Thông tin tập trung, có tính định hướng.
• Dễ thu thập và xử lý.
Nhược điểm.
• Thu thập thông tin cứng nhắc do được thiết kế trước, kém linh hoạt.

• Người lập bảng hỏi phải có kinh nghiệm và kỹ năng đặt câu hỏi.
• Trả lời thụ động dễ điền không chinh xác.






1.2.5. Những lưu ý khi thực hiện phương pháp bảng hỏi.
Bắt đầu bằng những câu hỏi thú vị và dễ trả lời
Ngắn gọn chinh xác, tránh viết tắt
Cách diễn đạt đơn giản để tránh hiểu nhầm
Tránh các câu hỏi đề nghị
Chọn các câu hỏi phù hợp với người trả lời.
1.2.6. Một số mẫu

Hình 4. Bảng hỏi với câu hỏi mở.


Hình 5. Bảng với câu hỏi đóng.

1.3.

Phương pháp Quan sát (Observation)

1.3.1. Bản chất, đặc thù
Là phương pháp ghi lại có kiểm soát các sự kiện hoặc hành vi ứng xử của con người.
Thường kết hợp với các phương pháp khác để kiểm tra chéo độ chinh xác của thu thập dữ liệu.
1.3.2. Phân loại
Quan sát thụ động : Người quan sát ngồi tại chỗ và ghi chép lại các hoạt động, các bước xử lý

công việc. Các băng video đôi khi có thể được dùng. Ghi chép hoặc băng thu hình được phân
tích các sự hiện, các hoạt động công việc hoặc thông tin về công việc.
Quan sát chủ động: tham gia trực tiếp vào các hoạt đông xử lý.
1.3.3.
Bước 1.
Bước 2.
Bước 3.
Bước 4.

Các kỹ thuật thực hiện
Xác định mục đich quan sát.
Lựa chọn đối tượng quan sát.
Tổ chức và hướng dẫn quan sát.
Báo cáo kết quả quan sát

1.3.4. Ưu/ nhược điểm
Ưu điểm:
Dễ thực hiện đối với người quan sát
Theo dõi trực tiếp hoạt động của hệ thống thực tế
Nhược điểm:
Kết quả mang tính chủ quan.


Tâm lý của người bị quan sát có những phản ứng nhất định
Sự bị động của phương pháp quan sát.
Tốn kém thời gian
Thông tin bề ngoài, hạn chế không đầy đủ.

1.4.
Phương pháp Nghiên cứu tài liệu và các Hệ thống phần

mềm tương tự
1.4.1. Bản chất đặc thù.
Nghiên cứu tài liệu là nghiên cứu các cẩm nang, quy định, các thao tác chuẩn mà tổ chức cung
cấp như là hướng dẫn cho các nhà quản lý và nhân viên
Tài liệu có thể là tài liệu nội bộ, có thể là các ấn phẩm kỹ thuật, các báo cáo nghiên cứu, … Các
tài liệu thực sự có ý nghĩa với kỹ sư phần mềm để tìm hiểu các lĩnh vực mà họ chưa từng có kinh
nghiệm. Nó hữu ich cho việc xác định các câu hỏi về quá trình thao tác và sản xuất.
Nghiên cứu phần mềm: Một cách thường xuyên, các ứng dụng phải thay thế các phần mềm cũ.
Hệ thống hiện tại có thể đã có phần mềm hỗ trợ từ trước. Nghiên cứu các phần mềm đã tồn tại
cung cấp cho chúng ta các thông tin về quá trình xử lý công việc hiện thời và các mở rộng có
ràng buộc bởi thiết kế phần mềm. Khiếm khuyết của việc thu nhận thông tin từ việc xem xét
phần mềm là tài liệu có thể không chinh xác hoặc kịp thời, mà có thể không đọc được và thời
gian có thể lãng phi nếu ứng dụng đã bị xóa bỏ.
1.4.2. Ưu diếm/ nhược điểm của phương pháp.
Ưu điểm
• Tìm được các vấn đề còn tồn tại trong hệ thống
• Có cái nhìn tổng quan về các chức năng mà hệ thống cần phải có
Nhược điểm.




Thiếu tài liệu
Tài liệu hết hạn
Các tài liệu là nguồn cung cấp thông tin không đúng, trùng lặp.

2. Các kỹ thuật liên quan đến phương pháp xác định các
yêu cầu phần mêm (Requirement Elicitation) nâng cao.
2.1.


Phương pháp nguyên mẫu (Prototyping).

2.1.1. Khái niệm, đặc thù
Khái niệm.
Phương pháp nguyên mẫu là phương pháp xác định yêu cầu bằng cách đưa ra các mẫu thử.
Khách hàng sẽ đánh giá tính năng của các mẫu.
Prototyping là một hệ thống có tính trình diễn.


Một mô hình làm việc “nhanh và thô” của giải pháp cho hệ thống nhằm kiểm tra một số chức
năng nào đó.
Có thể miêu tả GUI chi các ứng xử khác nhau của hệ thống.
Nội dung có thể mã cứng hơn là truy cập động CSDL.
Không thể thiếu trong quy trình phát triển phần mềm.
Tinh khả thi và hữu dụng của hệ thống có thể ước lượng qua Prototype trước khi thực sự được
cài đặt.





2.1.2. Các trường hợp thường dùng.
Hệ thống xây dựng chi các chức năng thương mại mới.
Dùng trong quá trình xây dựng các kịch bản cho use case.
Các yêu cầu xung đột.
Có vấn đề truyền thông giữa khách hàng và người phát triển.
2.1.3. Các kỹ thuật thực hiện.

“Throw-away” prototype.
Bỏ đi khi tiến trình tìm kiếm yêu cầu hoàn tất

Tập trung vào các yêu cầu it hiểu biết nhất
Thường thực hiện ở bước xác định yêu cầu
Evolutionnary prototype.
Được giữ lại sau khi tiến trình tìm kiếm hoàn tất.
Thường đưa ra cho sản phẩm cuối cùng
Hướng đến việc phát triển nhanh hệ thống bằng cách tập trung vào các yêu cầu đã hiểu biết
nhất
2.1.4. Ưu/ nhược điểm
Ưu điểm.
• Phương pháp hữu dụng khi:
• Yêu cầu của người dùng không rõ ràng.
• Ít người liên quan
• Các thiết kế phức tạp và đòi hỏi mẫu cụ thể.
• Vấn đề truyền thông giữa phân tích và người dùng
• Sẵn công cụ để xây dựng mẫu
Nhược điểm.
• Khó thich ứng cho nhiều loại người dùng
• Chia sẻ dữ liệu với các hệ thống khác thường không được xem xét.
• Kiểm tra vòng đời phát triển hệ thống thường bị bỏ qua.
• Hình thành xu hướng không chuẩn mực trong việc tạo ra tài liệu hình thức về yêu cầu hệ
thống
• Các mẫu thường xây dựng trên các hệ thống đơn => chưa xét tương tác với hệ thống
khác.


2.2.

Phương pháp Brainstrorming

2.2.1. Đặc thù

BrainStorming là kỹ thuật sáng tạo hỗ trợ việc tìm ý tưởng. Việc sử dụng Brainstorming cho
phép tìm được nhiều ý tưởng đặc sắc nhất trong thời gian it nhất nhờ vào việc không bị phán
xét hay đánh giá. Việc nhận xét hay đánh giá sẽ chỉ được thực hiện sau khi đã thu thập đủ nhiều
ý tưởng.
Brainstorming giúp cho cá nhân hoặc tập thể có thể duy trì luồng suy nghĩ, tư duy một cách liên
tục và ý tưởng này có thể là gợi ý cho những người kia nghĩ ra ý mới. Giai đoạn tìm ý tưởng kết
thúc khi số lượng ý tưởng tương đối nhiều thì mới chuyển sang giai đoạn đánh giá các ý tưởng
đã được nêu ra để đưa ra kết luận.
2.2.2. Các kỹ thuật thực hiện
Nêu ý tưởng.
• Hạn chế xung đột, chê bai ý tưởng trong nhóm
• Tìm thật nhiều ý tưởng trong thời gian ngắn nhất
• Khuyến khich tổ hợp các ý kiến thành viên
• Tìm ý tưởng mới dựa trên ý của các thành viên
Thâu tóm ý tưởng.
• Chọn ra các ý tưởng khả thi nhất theo yêu cầu ban đầu.
• Biến các ý tưởng chọn lọc thành giải pháp.
• Chọn các giải pháp khả thi, thực tiễn và phù hợp nhất với hoàn cảnh.
• Công cụ điển hình thực hiện phương pháp.
2.2.3. Ưu nhược điểm.
Ưu điểm.
Khuyến khich mọi thành viên tham gia.
Cho phép các thành viên tranh luận với nhau về các ý kiến đề xuất.
Người điều phối hay thư ký duy trì cuộc hội thảo không bị gián đoạn.
Diễn ra nhanh chóng
Đưa ra giải pháp khả thi cho vấn đề.
Khuyến khich ý tưởng, suy nghĩ sáng tạo độc đáo.
Nhược điểm.
Phụ thuộc vào ý tưởng
Có thể không thu được kết quả.


2.3.

Phương pháp Joint application development (JAD)

2.3.1. Khái niệm và đặc thù.
Phương pháp Joint application development (JAD) là hình thức phỏng vấn nhóm theo một
chương trình và phân tích viên điều khiển thứ tự câu hỏi.


Thành viên tham dự gồm người tổ chức, người sử dụng, nhà quản lý, phân tích viên hệ thống…
2.3.2. Các kỹ thuật thực hiện.
Tổ chức cuộc họp từ 10 đến 20 người
Thời gian diễn ra từ 5 đến 10 ngày
Lưu giữ các ý kiến bằng băng ghi âm
Quản trị các xung đột
Công cụ điển hình thực hiện phương pháp
2.3.3. Ưu/ nhược điểm.
Ưu điểm.
Hiệu quả
Cho kết quả nhanh.
Giảm đáng kể thời gian, chi phi và lỗi dự án
Nhiều vấn đề được thảo luận đến thống nhất.
Nhiều thông tin được bổ sung và làm chinh xác.
Nhược điểm.
Chi phi lớn, tốn kém.
Cần có văn phòng đặc biệt để tổ chức.
Cần người có kinh nghiệm lãnh đạo

2.4.


Phương pháp Rapid application development (RAD)

2.4.1. Khái niệm và đặc thù.
Phương pháp Rapid application development (RAD) là quy trình phát triển ứng dụng trong thời
gian ngắn, tăng dần từng bước với mỗi chu kỳ.
Xây dựng dựa trên hướng thành phần, tái sử dụng.
Gồm một số nhóm, mỗi nhóm đảm nhiệm một pha trong RAD.
2.4.2. Các kỹ thuật thực hiện.
Business modeling
Process and Data modeling
Application Generation and Testing
2.4.3. Ưu/ nhược điểm.
Ưu điểm.
• Quy trình được hoàn thành nhanh.
• Khả năng tái sử dụng mã nguồn
Nhược điểm.
• Yêu cầu có thể bị lặp lại.
• Cần nguồn nhân lực dồi dào
• Sự xung đột của các thông tin có thể dẫn đến thất bại
• Không phù hợp với các ứng dụng khó module hóa hoặc đòi hỏi tính năng cao


3. Model-Driven Requirements Engineering (MDRE).
3.1.

Phương pháp luận.

MDRE được đề xuất để đối phó với sự phức tạp ngày càng tăng của kỹ thuật hệ thống theo ý
nghĩa của việc cung cấp thông số kỹ thuật yêu cầu như mô hình chinh thức cần phải chinh xác ,

đầy đủ, phù hợp , rõ ràng và dễ đọc và dễ dàng để duy trì. Một vấn đề quan trọng trong lĩnh vực
này là thiếu một mô hình tổng thể và tiêu chuẩn hóa ngôn ngữ mô hình trong đó bao gồm toàn
bộ các yêu cầu quy trình kỹ thuật từ đặc tả yêu cầu , phân bổ để xác minh. SysML đang được đề
xuất để áp ứng các yêu cầu này . Trong bài báo này một mô hình điều khiển yêu cầu quy trình kỹ
thuật cho các ứng dụng công nghiệp trong lĩnh vực hệ thống tự động được mô tả để tiết lộ
những thiếu sót trong công cụ mô hình gần đây và mô hình hóa ngôn ngữ. Đặc biệt tập trung
được layed vào định nghĩa yêu cầu và việc xác minh tự động của thiết kế chống lại các yêu cầu
sử dụng mô hình thực thi. Dựa trên phân tích một hồ sơ mới của Unified Modeling Language
(UML) được gọi là Model Driven Yêu cầu kỹ thuật cho Bosch Rexroth ( MDRE4BR ) được trình
bày nhằm mục đich góp phần vào cuộc điều tra mới nhất trong lĩnh vực này.
Model-Driven Engineering (MDE) dịch theo tiếng Việt có nghĩa là công nghệ hướng mô hình.
MDE là hệ thống phương pháp luận (Methodology) phát triển phần mềm. Hệ thống phương
pháp luận này nghiên cứu về: quy trình phát triển phần mềm (Process), các loại mô hình dùng
để mô tả hệ thống, ngôn ngữ mô hình hóa (Modeling Laguage), vá các công cụ hỗ trợ (CASE
Tool) theo các cách tiếp cận khác nhau.
Một yếu tố thành công quan trọng trong việc phát triển hệ thống thông tin là sự liên kết của hệ
thống với mục tiêu kinh doanh , ngữ nghĩa kinh doanh và quy trình kinh doanh . Phát triển nên
được giải thoát khỏi mối quan tâm lập trình và có thể tập trung vào những vấn đề liên kết . Phát
triển hệ thống mô hình điều khiển (MDD- Model-driven system development ) không chỉ cung
cấp một cách tiếp cận có cấu trúc và có hệ thống để phát triển hệ thống , mà còn cung cấp các
nhà phát triển khả năng sử dụng công nghệ mô hình chuyển đổi để lấy mô hình của một mức độ
trừu tượng thấp hơn có thể được tiếp tục tinh chế, và thậm chi tạo ra phần mềm mã tự động.
Kỹ thuật định hướng mô hình (MDE) đã được chứng minh là có khả năng để đối phó với sự
phức tạp trong lĩnh vực công nghệ phần mềm. Một xu hướng trong mô hình hóa và mô phỏng
là để áp dụng các MDE mô hình các hệ thống kỹ thuật bao gồm các thành phần trong phần
cứng và phần mềm. Ngày càng phức tạp hệ thống kỹ thuật đã nêu ra nhiều thách thức như giữ
thiết kế phù hợp và phê duyệt tương rectness đối với các yêu cầu của khách hàng với. nghiên
cứu tại Tập đoàn Bosch đã chỉ ra rằng hơn 50% của lĩnh vực vấn đề là do không đủ yêu cầu kỹ
thuật (RE). RE đi kèm với sự phát triển sản phẩm toàn bộ quá trình, trong đó các ngành kỹ
thuật khác nhau được tham gia. Do đó, một mô hình phổ biến và được tiêu chuẩn hóa ngôn

ngữ là yêu cầu mà chia sẻ sự hiểu biết giữa các kỹ sư từ các ngành khác nhau. chung này ngôn
ngữ sẽ cho phép xây dựng các yêu cầu mô hình, mô hình thiết kế hệ thống, mô hình truy xuất
nguồn gốc cũng như xác minh mô hình có chứa thông tin chi tiết tên miền cụ thể.
Trong các ngành kỹ thuật hệ thống và kỹ nghệ phần mềm, phân tích yêu cầu là công việc bao
gồm các tác vụ xác định các yêu cầu cho một hệ thống mới hoặc được thay đổi, dựa trên cơ sở
là các yêu cầu (có thể mâu thuẫn) mà những người có vai trò quan trọng đối với hệ thống,


chẳng hạn người sử dụng, đưa ra. Việc phân tích yêu cầu có ý nghĩa quan trọng đối với thành
công của một dự án.
Việc phân tích yêu cầu một cách có hệ thống còn được gọi là kỹ nghệ yêu cầu (requirements
engineering). Đôi khi nó còn được gọi một cách không thật chinh xác bằng những cái tên
như thu thập yêu cầu (requirements gathering, requirements capture), hoặc đặc tả yêu
cầu(requirements specification). Thuật ngữ "phân tích yêu cầu" còn được áp dụng cụ thể cho
công việc thuần túy phân tích (thay vì các việc khác chẳng hạn như làm rõ yêu cầu hay viết tài
liệu yêu cầu).
Các yêu cầu phải có tính đo được, kiểm thử được, có liên quan đến các nhu cầu hoặc cơ hội
doanh nghiệp đã được xác định, và các yêu cầu phải được định nghĩa ở một mức độ chi tiết đủ
cho việc thiết kế hệ thống.


3.2.

Một số kĩ thuật điển hình.

Về khái niệm, việc phân tích yêu cầu bao gồm ba loại hoạt động sau:
Làm rõ yêu cầu (Eliciting requirements): giao tiếp với khách hàng và người sử dụng để xác định
các yêu cầu của họ.
Xem xét yêu cầu (Analyzing requirements): xác định xem các yêu cầu được đặt ra có ở tình trạng
không rõ ràng, không hoàn chỉnh, đa nghĩa, hoặc mâu thuẫn hay không, và giải quyết các vấn đề

đó.
Làm tài liệu yêu cầu (Recording requirements): các yêu cầu có thể được ghi lại theo nhiều hình
thức, chẳng hạn các tài liệu ngôn ngữ tự nhiên, các tình huống sử dụng (use case), câu chuyện
sử dụng (user story), hoặc các đặc tả tiến trình.
Pha phân tích yêu cầu có thể là một quá trình dài và khó khăn, cần đến nhiều kĩ năng tâm lý
khéo léo. Các hệ thống mới làm thay đổi môi trường và các mối quan hệ giữa con người, do đó
điều quan trọng là phải xác định được tất cả những người có vai trò quan trọng, xem xét tất cả
các nhu cầu của họ và đảm bảo rằng họ hiểu được các hàm ý của hệ thống mới. Các nhà phân
tích có thể sử dụng một số kĩ thuật để làm rõ các yêu cầu của khách hàng. Trong lịch sử, các kỹ
thuật này bao gồm các cuộc phỏng vấn, thành lập các nhóm trọng tâm (focus group) với các
cuộc họp bàn về yêu cầu (requirements workshops), và tạo ra các danh sách yêu cầu.
Các kỹ thuật hiện đại hơn gồm có tạo nguyên mẫu (prototyping), và tình huống sử dụng. Khi cần
thiết, nhà phân tích sẽ kết hợp các phương pháp này để thiết lập các yêu cầu chinh xác của
những người có vai trò quan trọng, nhằm mục đich xây dựng một hệ thống thỏa mãn các yêu
cầu doanh nghiệp.


3.3.

Các công cụ phần mềm hỗ trợ

3.3.1. GME(Generic Modeling Environment)
GME là một bộ công cụ cấu hình để tạo ra các mô hình và tổng hợp chương trình môi trường
miền cụ thể. Cấu hình được thực hiện thông qua metamodels xác định mô hình mẫu (ngôn ngữ
mô hình) của miền ứng dụng. Các sơ đồ mô hình có chứa tất cả các thông tin cú pháp, ngữ
nghĩa, và trình bày liên quan đến tên miền, mà khái niệm này sẽ được sử dụng để xây dựng các
mô hình, những gì các mối quan hệ có thể tồn tại giữa những khái niệm, làm thế nào các khái
niệm có thể được tổ chức và được xem bởi người xây dựng mô hình, và các quy tắc chi phối xây
dựng các mô hình. Các mô hình mô hình định nghĩa các gia đình của các mô hình có thể được
tạo ra bằng cách sử dụng môi trường mô hình kết quả.

Ngôn ngữ metamodeling được dựa trên sơ đồ lớp UML ký hiệu và hạn chế OCL. Các
metamodels xác định mô hình mô hình được sử dụng để tự động tạo ra các môi trường miền cụ
thể mục tiêu. Môi trường miền cụ thể được tạo ra sau đó được sử dụng để xây dựng mô hình
miền được lưu trữ trong cơ sở dữ liệu mô hình hoặc trong định dạng XML. Những mô hình này
được sử dụng để tự động tạo ra các ứng dụng hoặc tổng hợp vào các công cụ phân tích COTS
khác nhau.
GME có một kiến trúc mở rộng mô-đun có sử dụng MS COM cho hội nhập. GME là dễ dàng mở
rộng; thành phần bên ngoài có thể được viết bằng bất kỳ ngôn ngữ hỗ trợ COM (C + +, Visual
Basic, C #, Python, vv.) GME có nhiều tính năng tiên tiến. Một người quản lý hạn chế xây dựng
trong thực thi tất cả những hạn chế trong quá trình xây dựng mô hình miền. GME hỗ trợ mô
hình nhiều khia cạnh. Nó cung cấp thành phần metamodel cho tái sử dụng và kết hợp các ngôn
ngữ mô hình hiện tại và các khái niệm ngôn ngữ. Nó hỗ trợ các thư viện mô hình để tái sử dụng
ở mức độ mô hình. Tất cả ngôn ngữ mô hình GME cung cấp loại thừa kế. Mô hình trực quan là
tùy chỉnh thông qua giao diện trang tri


Tổng quan kỹ thuật
GME có một kiến trúc thành phần dựa trên mô-đun mô tả trong hình bên dưới.

Hình 6. Quá trình cấu trúc của RESCUE.

Kiến trúc thành phần của GME
Các lớp lưu trữ bao gồm các thành phần cho các định dạng lưu trữ khác nhau. Hiện nay, một
định dạng tập tin nhị phân độc quyền nhanh chóng và một định dạng XML được hỗ trợ.
Các thành phần cốt lõi thể hiện qua hai khối xây dựng cơ bản của một môi trường mô hình: các
đối tượng và các mối quan hệ. Trong số các dịch vụ của mình được phân phối truy cập (tức là
khóa) và undo / redo.
Hai thành phần sử dụng các dịch vụ của Core: các MgaMeta và MgaModel. Các MgaMeta xác
định mô hình mẫu, trong khi MgaModel thực hiện các khái niệm mô hình GME cho các mô hình
nhất định. Các MgaModel sử dụng thành phần MgaMeta rộng rãi thông qua giao diện COM

công. Thành phần MgaModel thấy nhiều dịch vụ của mình thông qua một tập hợp các giao diện
COM là tốt.
Người dùng tương tác với các thành phần ở trên cùng của kiến trúc: các GME giao diện người
dùng, mô hình trình duyệt, quản lý chế, thông dịch viên và Add-ons.
Tiện ich là mô hình thông dịch viên hướng sự kiện. Thành phần MgaModel cho thấy một tập
hợp các sự kiện, chẳng hạn như "Đối tượng bị xóa", "Thiết lập thành viên nhập", "Thuộc tính
thay đổi", vv thành phần bên ngoài có thể đăng ký để nhận được một số hoặc tất cả các sự
kiện. Chúng sẽ được tự động gọi bởi MgaModel khi sự kiện xảy ra. Tiện ich cực kỳ hữu ich cho


việc mở rộng khả năng của GME giao diện người dùng. Khi một tên miền cụ thể gọi cho một số
hoạt động đặc biệt, chúng có thể được hỗ trợ mà không sửa đổi GME chinh nó.
Các chế quản lý có thể được coi như một thông dịch viên và một add-on cùng lúc. Nó có thể
được gọi một cách rõ ràng bởi người sử dụng và nó cũng được gọi khi chế hướng sự kiện có mặt
trong các mô hình nhất định. Tùy thuộc vào mức độ ưu tiên của một hạn chế, các hoạt động gây
ra vi phạm hạn chế được hủy bỏ. Đối với hành vi vi phạm it nghiêm trọng, Giám đốc Hạn chế chỉ
đưa ra một thông điệp cảnh báo.
Các GME thành phần giao diện người dùng không có đặc quyền đặc biệt trong kiến trúc này. Bất
kỳ thành phần khác (thông dịch viên, add-on) có quyền truy cập cùng và sử dụng cùng một bộ
giao diện COM cho GME. Bất kỳ hoạt động có thể được thực hiện thông qua giao diện đồ họa,
cũng có thể được thực hiện thông qua giao diện lập trình. Kiến trúc này là rất linh hoạt và hỗ trợ
mở rộng của toàn bộ môi trường.
GME - giao diện người dùng
Giao diện người dùng đồ họa gốc của GME được thể hiện trong hình bên dưới. Hình ảnh cho
thấy một mô hình của một đồ thị dòng tín hiệu nạp. Trong mô hình đơn giản này, chỉ có mô
hình, nguyên tử và kết nối được sử dụng. Cửa sổ ở phia bên tay phải cho thấy trình duyệt mẫu
để hiển thị toàn bộ dự án trong một thời trang giống như cây. Tab Aggragate hiển thị hệ thống
phân cấp ngăn chặn, trong khi các tab thừa kế cho thấy các loại hệ thống phân cấp thừa kế. Tab
Meta cung cấp một tổng quan về các chi tiết kỹ thuật mô hình mẫu. Cửa sổ phia dưới là phần
trình duyệt mà tất cả các phần có sẵn trong các khia cạnh hiện tại của mô hình hiện tại được

hiển thị. Chú ý rằng hai tab chỉ ra các khia cạnh của mô hình dòng chảy tín hiệu: SignalFlow và
thông số.


Hình 7. Giao diện người dùng của GME.

3.3.2. DSL TOOLS ( Domain-Specific Language Tools)
Domain-Specific Language Tools ,như bạn đã biết, cho phép xây dựng các nhà thiết kế đồ họa
tùy chỉnh và thế hệ của mã nguồn sử dụng ký hiệu sơ đồ miền cụ thể. Nói cách khác, nó sẽ cho
phép bạn tạo ra một thiết kế đồ họa UML giống như trong Visual Studio 2005, mà sẽ tạo ra
một yourLanguageName. tập tin.
Sử dụng công cụ DSL là khá đơn giản, và bạn có thể tạo ra ngôn ngữ UML như của riêng bạn
tương đối nhanh, nhưng khi bạn muốn làm một số nhiệm vụ phức tạp hơn (giống như thêm
một thuộc tính tùy chỉnh cho một tài sản tên miền, hoặc làm công cụ tùy chỉnh của riêng mình
thay vì sử dụng các mẫu văn bản), nó có thể nhận được tối hơn và đặc biệt là với việc thiếu các
tài liệu hướng dẫn.
Đây là những gì bài viết này là tất cả về: sáng tạo ngôn ngữ của riêng bạn tên miền cụ thể và
một số chi tiết điều khiển thân thiện với người sử dụng, cũng như tạo mã của riêng bạn. Trong
mã nguồn kèm theo bài viết, bạn sẽ tìm thấy một dự án công cụ vi dụ DSL đã được bắt đầu từ
các mẫu ngôn ngữ tối thiểu, và mà tôi thêm hai tính năng tôi sẽ để lộ cho bạn. Cuối cùng, dự án
đã được tạo ra với Visual Studio SDK 1.0 được phát hành vào tháng 9.
Bây giờ trước khi bắt đầu, tôi sẽ nhanh chóng giới thiệu các công cụ DSL. Mùa hè này, Công cụ
DSL được sáp nhập với SDK Visual Studio (họ sử dụng để được hai phần riêng biệt), nhưng
không pha trộn chúng lên vì Công cụ DSL thực sự là một lớp trên vì nó sử dụng Visual Studio


SDK để cho phép bạn tạo các ứng của bạn -in. Chúng ta có thể thấy được mối quan hệ giữa
Visual Studio SDK, Công cụ DSL, và Visual Studio 2005 là ba lĩnh vực như thế này:

Nhờ vào các công cụ DSL, bạn sẽ có thể sản xuất một gói người dùng có thể cài đặt trên máy

tính của mình và đó sẽ bổ sung thêm chức năng mới cho Visual Studio của mình, các chức năng
mới là tính năng liên quan ngôn ngữ của bạn (hộp công cụ của mình, nhà thiết kế đồ họa mới
của nó, nó mới mở rộng tập tin, vv).
3.3.3. EMF(Eclipse Modeling Framework)
Eclipse EMF có thể được sử dụng để mô hình mô hình tên miền của bạn. EMF có một sự phân
biệt giữa các siêu mô hình và các mô hình thực tế. Meta mô hình mô tả cấu trúc của mô
hình. Một mô hình sau đó là thể hiện của siêu mẫu này. EMF cung cấp một khuôn khổ plugable
để lưu trữ các thông tin mô hình, mặc định sử dụng XMI (XML Metadata Interchange) để vẫn
tồn tại định nghĩa mô hình.
EMF cho phép để tạo ra các siêu mô hình thông qua phương tiện khác nhau, vi dụ như XMI, chú
thich Java, UML hoặc một lược đồ XML. Mô tả sau đây sẽ sử dụng các công cụ EMF trực tiếp để
tạo ra một mô hình EMF.
Một khi EMF meta-mô hình được quy định bạn có thể tạo ra tương ứng Java triển khai các lớp
học từ mô hình này.EMF cung cấp khả năng rằng các mã được tạo ra có thể được mở rộng một
cách an toàn bằng tay.
Ưu điểm: Với EMF bạn thực hiện mô hình tên miền của bạn rõ ràng, giúp cung cấp khả năng
hiển thị rõ ràng của mô hình. EMF cũng cung cấp chức năng thông báo thay đổi mô hình trong
trường hợp thay đổi mô hình. EMF sẽ tạo ra các giao diện và nhà máy sản xuất để tạo ra đối
tượng của bạn, do đó nó giúp bạn giữ cho ứng dụng của bạn sạch từ các lớp học
implementaiton cá nhân.Lợi thế khác là bạn có thể tạo mã Java từ mô hình tại bất kỳ thời điểm
nào.
Cài đặt EMF bằng Eclipse: chọn Help → Install New Software... . Chọn Modeling and install EMF
- Eclipse Modeling Framework SDK .
Tham khảo địa chỉ: xem cách cài đặt,
và tạo một project.


×