1. Trang chủ
  2. » Luận Văn - Báo Cáo

MÔN REQUIREMENT ENGINEERING Tìm hiểu các kĩ thuật phân tích yêu cầu phần mềm

23 835 3

Đ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

Định dạng
Số trang 23
Dung lượng 227,12 KB

Nội dung

Đặc điểm: - Phỏng vấn là một kĩ thuật đơn giản và thu được thông tin một cách trực tiếp - Các câu hỏi về phạm vi tự do sẽ giúp được mục đích của cuộc phỏng vấn - Có thể thích hợp để tìm

Trang 1

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

──────── * ───────

BÀI TẬP LỚN

MÔN REQUIREMENT ENGINEERING

Bài tập Tuần NO 2

Tìm hiểu các kĩ thuật phân tích

Trang 2

Contents

Trang 3

Câu1: Tổng hợp, đánh giá và so sánh các kỹ thuật phát hiện yêu cầu phần mềm:

Interviewing là việc tập hợp một số lương ít người – thường với một hoặc hai người – cho một

thời gian cố đinh

Mục đích của Interview là thu nhận từ khách hàng thao tác và các vấn đề trong hệ thống hiện hành, chính sách, nhu cầu và mong muốn trong hệ thống mới Cuối cuộc phỏng vấn ta sẽ cho ra được bản nội dung mô tả công việc người khách hàng làm dựa trên câu hỏi ta có

Khả năng áp dụng:

Phỏng vấn thường diễn ra trước quá trình thiết kế và được sử dụng trong hầu hết các dự án

Đặc điểm:

- Phỏng vấn là một kĩ thuật đơn giản và thu được thông tin một cách trực tiếp

- Các câu hỏi về phạm vi tự do sẽ giúp được mục đích của cuộc phỏng vấn

- Có thể thích hợp để tìm ra những mảng yêu cầu chưa được phát hiện bằng cách thăm dò các tình huống

- Một số nhu cầu thông thường sẽ khởi đầu một “kho chứa các yêu cầu” và sử dụng trong suốt dự án

- Một bản câu hỏi thăm dò ý kiến không thể thay thế cho một buổi phỏng vấn được

Các câu hỏi phạm vi tự do (Context free question):

Làm sao để tránh sự định kiến của người sử dụng khi đáp ứng yêu cầu của các câu hỏi ? Chúng

ta dùng các câu hỏi về các vấn đề tự nhiên của người sử dụng, các câu hỏi chung về bản chất dự

án và môi trường mà sản phẩm sẽ được dùng:

- Ai là người sử dụng?

- Ai là khách hàng?

- Họ có cần một sự thay đổi?

- Có thể tìm giải pháp cho vấn đề này ở đâu?

Quy trình tiến hành một cuộc phỏng vấn

 Tiến hành đặt cuộc hẹn phù hợp với thời gian của phỏng vấn

 Chuẩn bị tốt, tìm hiểu kỹ về người được phỏng vấn

 Đúng giờ

 Có kế hoạch cho cuộc phỏng vấn

Trang 4

- Giới thiệu bản thân và mục đích

- Sử dụng câu hỏi mở để bắt đầu

- Luôn chú ý vào trả lời

- Có kế hoạch cho nội dung chính

- Kết hợp câu hỏi đóng và mở

- Luôn bám sát các trình bày và phát triển chi tiết

- Luôn cung cấp các thông tin phản hồi, ví dụ: “Cho phép tôi trình bày lại điều ông vừa nói…”

- Hạn chế ghi chép nếu không thấy tiện

- Có kế hoạch kết thúc

- Tóm tắt nội dung, yêu cầu hiệu chỉnh

- Yêu cầu làm chính xác, đánh giá lại ghi chép

- Cho biết ngày tháng họ sẽ nhận được báo cáo

- Thống nhất lại ngày lấy lại bản hiệu chỉnh

- Xác nhận lại lịch làm việc

Những điểm lưu ý khi tiến hành phỏng vấn:

- Chuẩn bị trước nội dung cần phỏng vấn Xem lại các câu hỏi trước khi tiến hành phỏng vấn

- Trước khi thực hiện cuộc phỏng vấn, nghiên cứu kinh nghiệm của nhà đầu tư và công ty được phỏng vấn Đừng đẩy cho những người được phỏng vấn những câu hỏi mà bạn có thể đã có câu trả lời

- Ghi lại những câu trả lời trong quá trình phỏng vấn (không có gắng lấy ra thông tin trong lúc này)

- Tham khảo các mẫu (template) trong quá trình phỏng vấn để đảm bảo đặt ra những câu hỏi đúng đắn

Nội dung cuộc phỏng vấn và mẫu văn bản kèm theo:

Part I: Thiết lập tiểu sử người dùng hay khách hàng

Name:

Company:

Industry:

Job title:

(The above information can typically be entered in advance.)

What are your key responsibilities?

What outputs do you produce?

For whom?

How is success measured?

Which problems interfere with your success?

What, if any, trends make your jo easier or more difficult?

Part II: Đi vào vấn đề

For which [application type] problems do you lack good solutions?

What are they? (hint: keep asking, “Anything else?”)

For each problem, ask the following questions:

- Why does this problem exist?

Trang 5

- How do you solve it now?

- How would you like to solve it?

Part III: Tìm hiểu về môi trường người dùng

Who are the users?

What is their educational background?

What is their computer background?

Are users experienced with this type of application?

Which platforms are in use?

What are your plans for future platforms?

Are additional applications in use that are relevant to this application? If so, let’s talk about them

a bit

What are your expectations for training time?

What kinds of user help (for example, hard copy and online documentation) do you need?

Part IV: Tóm tắt lại những gì thu được

You have told me:

(List customer – descrbd problems in your own words.)

-Does this adequately represent the problems you are having with existing solution?

What, if any, other problems are you expretiencing?

Part V: Phân tích đầu vào trên các vấn đề của khách hàng:

(Validate or invalidate assumptions.)

(If not yet addressed) Which, if any, problems are associated with: (List any needs or additional problems you think should concern the customeror user.)

-For each suggested problem, ask the following question

- Is this a real problem?

- What are the reasons for this problem?

- How do you currently solve the problem?

- How would you like to solve the problem?

- How would you rank solving these problems in comparison to others you’ve mentioned?

Part VI: Đi vào giải pháp của mình (nếu thích hợp):

(Summarize the key capabilities of your proposed solution.)

What if you could:

-How would you rank the importance of these?

Part VII: Đi vào cơ hội

Trang 6

Who in your organization needs this application?

How many of these types of users would use the application?

How would you value a successful solution?

Part VIII: Đi vào sự đáng tin cậy, hiệu quả và các nhu cầu hỗ trợ

What are your expectations for reliability?

What are your expectations for performance?

Will you support the product, or will others support it?

Do you have special needs for support?

What about maintenance and service access?

What are the instaliation and configuration requirements?

Are there special licensing requirements?

How will the software be distributed?

Are there labeling and packaging requirements?

Part IX: Các yêu cầu khác

Are there any legal, regulatory, or enviromental requirements or other standards that must be supported?

Can you think of any other requirements we should know about?

Part X: Bao quát lại

Are there any other questions I should be asking you?

If I need to ask follow-up questions, may I give you a call? Would you be willing to participate

in a requirements review?

Part XI: Tổng kết phân tích

After the interview, and while the data is still fresh in your mind, summarize the three priority needs or problems identified by this user/ custormer

Họp nhóm cũng có thể làm lãng phí thời gian Nói chung, họp nhóm càng lớn thì càng ít ý kiến nhất trí và thời gian quyết định càng kéo dài Do vậy, nên có một kế hoạch ban đầu cho họp nhóm Lich trình nên được cung cấp trước cho các thành viên Số lượng các chủ đề nên giữ ở mức độ 1 đến 5 và không mởi những người không thích hợp để tránh lãng phí thời gian Họp nhóm nên có một thời gian cố định và có điểm thống nhất cụ thể với các quyết định cần thiết

Mục đích:

- Gợi ý, phát hiện và tổ chức các yêu cầu

Trang 7

- Khuyến khích sự đồng thuận về các yêu cầu phần mềm giữa các nhà đầu tư trong thời gian ngắn, thường mỗi cuộc họp nhóm không kéo dài quá 2 ngày (48 giờ).

Đặc điểm:

- Có lẽ đây là kĩ thuật hiệu quả nhất trong việc phát hiện yêu cầu phần mềm

- Tập hợp các nhà đầu tư trong một thời gian ngắn nhưng lại thu hút được sự tập trung mạnh mẽ

- Việc sử dụng một người dẫn dắt chương trình bên ngoài có kinh nghiệm trong quản lí yêu cầu có thể bảo đảm thành công cho buổi meeting

- Brainstorming (Thảo luận, góp ý) là phần quan trong nhất của Hội thảo Ký thuật này thật

sự thích hợp trong thiết lập hội thảo Nó khuyến khích tính sáng tạo và bầu không khí tích cực từ tất cả các bên liên quan

 Chuẩn bị vai trò cho facililator (người dẫn chương trình hay chủ tọa)

 Lên lịch trình cho Hội thảo

 Tiến hành hội thảo

Đẩy nhanh công việc

Hỏi tất cả mọi người xem vấn đề chúng ta vừa đưa ra có đặc điểm nào cần bổ sung không trước khi đưa ra vấn đề tiếp theo

Các yêu cầu của một hội thảo có rất nhiều điểm phải phù hợp:

- Nó phải giúp đỡ xây dựng một đội hiệu quả, tần tậm cho một mục đích chung: thành công của dự án

- Tất cả mọi người đều được phát biểu

- Phải tiến tới một sự đồng thuận giữa nhà đầu tư và đội ngũ phát triển về những gì hệ thống phải làm

- Trình bày, giải quyết các vấn đề gây trở ngại cho sự thành công của dự án

- Đưa ra định nghĩa sơ bộ về hệ thống

Chuẩn bị cho hội thảo

- Đưa ra các khái niệm

- Đảm bảo sự đóng góp của mọi người

Trang 8

+ Là người được cả thành viên trong nhóm và ngoài nhóm tôn trọng

+ Có đủ vững vàng đối mặt với những thách thức trong hội thảo

Trách nhiệm của facililator:

• Thiết lập một cuộc gặp mặt

• Bắt đầu và kết thúc đúng thời gian

• Thiết lập và đảm bảo quy tắc của cuộc họp

• Giới thiệu mục đích và lịch công tác của cuộc họp

• Quản lý cuộc họp và giữ đội ngũ đi đúng hướng

• Sự thuận tiện trong quá trình quyết định và sự đồng lòng, tránh các nội dung khác biệt

• Đảm bảo lịch công tác đúng hướng

• Tất cả sự khác biệt giữa các nhà đầu tư phải được lắng nghe

• Kiểm soát các hành vi gây đổ vỡ và không mang lại giá trị

Lên lịch trình cho Workshop

Đảm bảo rằng tất cả thành viên liên quan đến dự án phải nhận được lịch họp Cố gắng sắp xếp sao cho mọi người có thể được

8:00 – 8:30 Introduction Review agenda, facilities, and rules

8:30 – 10:00 Context Present project status, market needs,

results of user interviews, and so on10:00 – 12:00 Brainstorming Brainstorm features of the application

momentum

2:00 – 3:00 Feature definition Write out two – or three sentence

definitions for features3:00 – 4:00 Idea reduction and priorization Prioritize features

addresss “parking lot” items

Figure 1: Mẫu chương trình hội thảo

Đánh giá

 Ưu điểm của Workshop:

• Có thể tạo ra quyết định

• Nhận được các thông tin tổng hợp và chi tiết

• Phương pháp tốt cho các yêu cầu bên ngoài

• Tập hợp được nhiều người dùng liên quan…

 Nhược điểm của Workshop:

Trang 9

• Nếu số đại biểu nhiều sẽ tốn thời gian cho việc ra quyết định.

• Tốn thời gian

• Các ngắt quãng làm phân tán sự chú ý

• Mời không dúng thành viên dẫn tới chậm có kết quả

• Dễ chuyển sang các chủ đề không liên quan như là chính trị, thể thao…

3 Brainstorming (Thảo luận)

Mục đích: đưa ra càng nhiều ý tưởng càng tốt, mục đích mới là bề rộng, chưa cần có chiều sâu

Đặc điểm:

- Brainstorming gồm có 2 pha: Nêu ra các ý tưởng và thâu tóm lại ý tưởng: phân tích các ý tưởng được đưa ra, chọn lọc, tổ chức, đánh giá, mở rộng theo chiều sâu, tinh chỉnh chúng lại thành ý tưởng thích hợp

- Ý tưởng sáng tạo thường do kết hợp nhiều ý tưởng không liên quan lại với nhau

- Các kỹ thuật bỏ phiếu khác nhau có thể được sử dụng để ưu tiên tạo ra các ý tưởng

- Mặc dù Brainstorming rất được ưa chuộng, web-base Brainstorming có thể là một thay thế khả thi trong một vài trường hợp

Kỹ thuật Brainstorming có những lợi ích sau:

- Khuyến khích được 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 hoặc 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 các giải pháp khả thi cho vấn đề

- Khuyến khích các ý tưởng, suy nghĩ sáng tạo, độc đáo

Người điều phối đưa ra các quy đinh của cuộc Thảo luận

- Không được phép tranh cãi, phê bình gay gắt: những người tham gia phải từ bỏ các ý kiến phê bình trong suốt quá trình tìm và phát triển ý tưởng của nhóm

- Tự do sáng tạo, tưởng tượng: các ý tưởng được đưa ra trong bầu không khi thoải mái, cởi

mở Đồng thời ngừoi đề xuất ý tưởng không bị hạn chế về nội dung và không phải chững minh tính chất đúng đắn cũng như hiện thực của ý tưởng Có nhiều ý tưởng ban đầu trong

có vẻ ngớ ngẩn, khác thường nhưng khi thực hiện lại đem lại kết quả vượt trên mong đợi

- Đưa ra càng nhiều ý tưởng càng tốt: khi càng có nhiều ý tưởng thì càng có nhiều khả năng tìm được những giải pháp hữu ích

- Nghiên cứu tổng hợp lại ý tưởng hay

Trang 10

Thêm nữa facililator cũng phải giải thích mục tiêu cần đạt được trong mỗi giai đoạn của cuộc thảo luận Mặc dù các mục tiêu trong có vẻ như là rõ ràng nhưng thực tế thì không phải vậy Ngoài ra các mục tiêu được quy định sẽ ảnh hưởng tới kết quả của buổi họp Ví dụ các câu hỏi sau đây là một cách để nêu bật các mục tiêu:

- Tính năng nào muốn có trong sản phẩm?

- Hệ thống nên cung cấp những dịch vụ gì?

- Những hội chúng ta đã bỏ lỡ trên thị trường?

Trong khi áp dụng Brainstorming tất cả các ý tưởng xuất hiện trong đầu của các thành viên trong nhóm sẽ được viết hay vẽ ra, thông thường là bút chì và giấy trắng

Người ta viết bất cứ thử gì có trong đầu ra mặt giấy (brain dumping), không cần phải suy nghĩ nó

là một ý tưởng tốt hay chỉ là một suy nghĩ thoảng qua trong đầu Người ta cũng chẳng cần bận tâm đến thẩm mỹ của việc trình bày đó Nếu cần diễn tả một hình ảnh, nó sẽ được phác học thật nhanh chóng Khi phát hiện mình viết sai thì cũng chẳng cần quay lại để sửa chữa, mà sẽ để suy nghĩ của mình được liên tục

Phân tích kết quả:

Sau khi kết thúc, hãy lượt lại tất cả và bắt đầu đánh giá các câu trả lời:

- Tìm những ý trùng lặp hay tương tự để thu gọn lại

- Gộp các câu trả lời có sự tương tự hay tương đồng về nguyên tắc, nguyên lí Xóa bỏ những ý kiến hoàn toàn không thích hợp

- Sau khi đã cô lập được danh sách các ý kiến, hãy bàn thêm về câu trả lời chung

Đánh giá:

- Brainstorming giúp tổng hợp được nhiều ý tưởng từ các thành viên

Trang 11

- Phân tích kỹ vấn đề, tự xem xét tất cả vấn đề có thể xảy ra trong khi ta liên tục đặt ra câu hỏi.

- Số lượng người tham gia nhiều sẽ giúp cho phương pháp tìm ra lời giải nhanh hơn hay toàn diện hơn nhờ vào nhiều góc nhìn khác nhau bởi các trình độ, trình tự khác nhau của mỗi người

- Mục đích của storyboarding là phát hiện sớm các tác động “Yes, but…”

- Kỹ thuật này có thể là bị động, chủ động hay là kết hợp cả 2 yếu tố trên

- Storyboards xác định người tham gia, giải thích chuyện gì xảy ra với họ và như thế nào

Tiến hàn storyboard dễ dàng và thường xuyên trên mọi dự án với sự phát triển nội dung mới.

Các loại StoryBoards:

• StoryBoards dạng bị động (Passive storyboards): kể về một câu chuyện của người sử dụng Có thể bao gồm bức phác thảo, bức tranh, ảnh chụp, hay trang thuyết trình dùng PowerPoint hoặc là các mẫu đầu ra thử nghiệm

• StoryBoards dạng chủ động (Active storyboard): là các hoạt cảnh hoặc tự động, có thể bằng một slide trình chiếu được sắp xếp tự động sẵn hoặc một công cụ tạo hoạt cảnh hay thậm chí là cả một bộ phim

• StoryBoards tương tác (Interactive storyboards: để cho người dùng trải nghiệm hệ thống một cách giống với thực tế Cách này đòi hỏi sự tham gia của người sử dụng để thực hiện được Storyboards tương tác có thể giả lập hoặc tạo dựng mô hình hay có thể nâng cao tới mức mã dùng một lần (throwaway code)

Trang 12

Figure 3: Storyboarding continuum

StoryBoards làm những gì (khả năng áp dụng)?

Trong phần mềm, Storyboards được sử dụng thường xuyên để làm việc thông qua các chi tiết của giao diện tương tác người máy Trong lĩnh vực này, mỗi người có thể có ý kiến khác nhau về cách thức giao diện làm việc Storyboards cho hệ thống người dùng xử lý với 3 yếu tố của hoạt động:

• Người tham gia là ai?

• Điều gì xảy ra với họ?

• Nó xảy ra như thế nào?

Những chú ý :

• Không nên đầu tư quá nhiều vào Storyboarding

• Storyboard nên dễ chỉnh sữa

• Không nên làm quá chi tiết, điều đó gây khó khăn khi sử dụng các kỹ thuật hoặc công cụ khác nhau khi cài đặt sau này

• Cố gắng làm cho storyboard liên hệ với nhau, tương tác được với nhau

Ngày đăng: 20/01/2016, 17:29

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w