Form đề, các dạng câu hỏi ôn tập KỸ NGHỆ PHẦN MỀM_Neu

19 31 2
Form đề, các dạng câu hỏi ôn tập KỸ NGHỆ PHẦN MỀM_Neu

Đ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

Kỹ nghệ phần mềm là một học phần quan trọng trong chương trình đào tạo các ngành công nghệ thông tin, hệ thống thông tin quản lý, khoa học máy tính,... trường Đại học Kinh tế quốc dân.Giúp các bạn có một kỳ ôn tập hiệu quả nhất, các dạng câu hỏi ôn tập môn Kỹ nghệ phần mềm tập trung rất sát những câu hỏi có thể ra trong kỳ thi kết thúc học phần.Chúc các bạn có kỳ ôn tập hiệu quả.

ÔN TẬP THI KỸ NGHỆ PHẦN MỀM I Nội dung ôn thi ● Đề thi sẽ bao gồm 2 câu + Câu 1: trình bày tóm tắt 1 vấn đề lý thuyết và cho VD minh họa, ôn theo hệ thống câu hỏi ở dưới + Câu 2: Trình bày kết quả phân tích thiết kế 1 phần mềm bao gồm các nội dung sau: Tóm tắt rất ngắn gọn quy trình nghiệp vụ xử lý của phần mềm: ví dụ quy trình bán hàng, quản lý nhân sự phần mềm sẽ thực hiện Nêu các kết quả phân tích thiết kế bao gồm: sơ đồ BFD, sơ đồ ngữ cảnh, sơ đồ DFD mức 0, mức 1, sơ đồ quan hệ thực thể nếu chọn thiết kế từ thực thể (nếu dung phân tích thiết kế hướng đối tượng thì nêu các sơ đồ theo hướng đối tượng) II Câu hỏi ôn tập 1 Trình bày khái niệm phần mềm theo quan điểm của Roger Pressman Các đặc trưng cơ bản của phần mềm? Roger Pressman: là một tập hợp gồm 3 thành tố: + Chương trình máy tính + Các kiểu cấu trúc dữ liệu vận hành các chương trình ấy + Tài liệu hướng dẫn sử dụng phần mềm Các đặc trưng cơ bản: 1- Phần mềm được kỹ nghệ hóa 2- Phần mềm không bị hỏng đi trong quá trình sử dụng 3- Phần mềm được sáng chế theo đơn đặt hàng chứ không được lắp ráp từ các thành phần có sẵn 2 Mô hình vòng đời phát triển của phần mềm Nội dung của mỗi công đoạn trong mô hình này? Vòng đời phát triển của phần mềm là quá trình từ khi phần mềm ra đời cho đến khi đưa vào sử dụng và cuối cùng là kết thúc hoạt động của nó + Thời kỳ hình thành: Đây là giai đoạn đưa ra ý tưởng xây dựng phần mềm, tiến hành xác định yêu cầu phần mềm, đánh giá tính khả thi về dự án xây dựng phần mềm trên các góc độ kinh tế, kỹ thuật, tổ chức + Thời kỳ phát triển: Giai đoạn này biến ý tưởng trở thành thực tế Nhà phân tích hệ thống, người lập trình và người sử dụng cùng làm việc với nhau để phân tích các nhu cầu xử lý thông tin và thiết kế ra phần mềm Đặc tả thiết kế được chuyển thành các chương trình và phần mềm được thiết kế và cài đặt + Thời kỳ triển khai: Sau khi cài đặt, phần mềm bước vào giai đoạn vận hành phục vụ cho nhu cầu xử lý thông tin của công ty Giai đoạn khai thác là giai đoạn dài nhất trong cả 4 giai đoạn (thường kéo dài từ 4-7 năm) Trong giai đoạn này phần mềm liên tục được sửa đổi hoặc bảo trì để nó đáp ứng được nhu cầu sử dụng của doanh nghiệp + Thời kỳ thoái hoá: Hệ thống quản lý ngày càng phát triển lên một qui mô mới, các quá trình tính toán ra quyết định và quy trình xử lý thông tin trở nên rất phức tạp đã ảnh hưởng đến tính hiệu quả của phần mềm Phần mềm không thể bảo trì được nữa và việc duy trì nó không còn kinh tế và hiệu quả nữa Lúc này nó sẽ bị loại bỏ và chấm dứt vòng đời hoạt động Người ta phải xây dựng hệ thống mới Tuy vậy, có thể một số mô đun của nó được tái sử dụng Xác định vòng đời phát triển của phần mềm dẫn tới việc cần xem xét đưa cả yếu tố loại bỏ nó ngay trong quá trình xây dựng và phát triển của nó 3 Phương pháp phân loại phần mềm tin học? 4 Khái niệm kỹ nghệ phần mềm, mô hình 3 tầng của kỹ nghệ phần mềm? Roger Pressman: Kỹ nghệ phần mềm là một tổ hợp gồm 3 thành tố là công cụ, phương pháp, thủ tục giúp cho kỹ sư phần mềm và nhà quản lý dự án có các chuẩn mực chung làm cơ sở nhằm sản xuất ra được các sản phẩm phần mềm có chất lượng cao 5 Khái niệm đặc tả yêu cầu phần mềm? Mô hình xác định đặc tả yêu cầu phần mềm? Đặc tả yêu cầu phần mềm SRS (Software Requirement Specification- SRS) chỉ rõ phạm vi của sản phẩm, các chức năng cần có, đối tượng người sử dụng phần mềm và các ràng buộc khi sử dụng sản phẩm Đây là tài liệu chính thức cho người phát triển phần mềm Nhà khoa học Henninger [5] đã đưa ra 6 yêu cầu cho một tài liệu yêu cầu phần mềm như sau: - Chỉ mô tả hoạt động của hệ thống từ bên ngoài - Phải chỉ ra được các ràng buộc của hệ thống khi vận hành - Dễ thay đổi - Là tài liệu tham khảo cho người bảo trì hệ thống - Dự toán trước được vòng đời của hệ thống - Mô tả được các đáp ứng đối với những sự cố, thay đổi ngoài dự tính - Mô hình xác định đặc tả yêu cầu phần mềm 6 Khái niệm trừu tượng trong thiết kế phần mềm? Cho ví dụ minh họa? Tính trừu tượng (Abstraction) là một trong bốn tính chất cơ bản của Lập trình hướng đối tượng (Object-oriented programming – viết tắt là OOP) Hiểu đơn giản, Tính trừu tượng dùng để chỉ quá trình ẩn việc triển khai thực tế của một ứng dụng khỏi người dùng Thay vào đó, lập trình viên chỉ nhấn mạnh vào cách sử dụng ứng dụng - Ví dụ minh họa: - Một chiếc xe hoạt động cần rất nhiều bộ phận bên trong làm việc, nhưng tất cả những thông tin đó không cần thiết với người lái Người lái chỉ cần sử dụng những công cụ như: bàn đạp ga, phanh, vô lăng, đèn nháy Các kỹ thuật phức tạp đều được ẩn khỏi trình điều khiển Nghĩa là bạn chỉ cần biết cách lái xe, chứ không cần quan tâm những chi tiết về cách thức động cơ hoạt động Tương tự, có rất nhiều cách để máy tính của bạn kết nối với một mạng cục bộ, như Ethernet, Wi-Fi, modem quay số,… Tuy nhiên, trình duyệt Web không phải bận tâm đến việc bạn dùng mạng nào, bởi vì các phần mềm sẽ cung cấp một khái niệm trừu tượng chung để trình duyệt hiểu Trong trường hợp này, “kết nối mạng” là sự trừu tượng, còn Ethernet và Wi-Fi,… là những triển khai cho sự trừu tượng đó 7 Khái niệm mô đun hóa trong thiết kế phần mềm? Cho ví dụ minh họa? 8 Phương pháp Top Down Design Cho ví dụ minh họa? + Xác định mô đun tổng quát mà bài toán cần giải quyết + Tiến hành phân rã các mô đun, tức là chuyển dần từ mô đun chính đến các mô đun con từ trên xuống dưới + Tích hợp hệ thống 9 Phương pháp Bottom Up Design Cho ví dụ minh họa? + Ghép các mô đun thành nhóm có cùng chức năng + Tiến hành phát triển thêm các mô đun trong mỗi nhóm + Tích hợp hệ thống 10 Khái niệm kiến trúc phần mềm Mô hình chuyển từ P => S (Từ vấn đề sang giải pháp phần mềm)? Cho ví dụ minh họa? Kiến trúc phần mềm Kiến trúc phần mềm nói lên hai đặc trưng quan trọng của chương trình máy tính: + Cấu trúc cấp bậc của các mô đun + Cấu trúc dữ liệu 11 Trình bày mô hình How- What và các nội dung trong mỗi công đoạn của mô hình này? 12 Trình bày mô hình tổng thể của phương pháp phân tích và thiết kế có cấu trúc SADT (Structured Analysis and Design Technology)? + SADT dựa trên nguyên lý sử dụng mô hình và phân tích từ đỉnh xuống (Top down) + SADT sử dụng 3 công cụ kinh điển trong phân tích hệ thống có cấu trúc: - Biểu đồ ngữ cảnh CD - Biểu đồ chức năng BFD - Biểu đồ luồng dữ liệu DFD 13 Trình bày mục đích, ký pháp của biểu đồ ngữ cảnh CD (Context Diagram)? Cho ví dụ minh họa? Ví dụ quản lý siêu thị: 14 Trình bày mục đích, ký pháp của biểu đồ chức năng BFD (Business Function Diagram)? Cho ví dụ minh họa? Ví dụ: QL siêu thị 15 Trình bày mục đích, ký pháp của biểu đồ luồng dữ liệu DFD (Data Flow Diagram)? Cho ví dụ minh họa? Ví dụ : QL siêu thị 16 Trình bày nội dung cơ bản của các giai đoạn thiết kế? (Thiết kế kiến trúc hệ thống, thiết kế dữ liệu, thiết kế giải thuật, thiết kế giao diện) - Kiến trúc phần mềm (Software Architecture) xác định một cấu trúc tổng thể của phần mềm và qua đó cung cấp một sự tích hợp về mặt khái niệm cho một hệ thống đang xem xét - Vai trò của thiết kế kiến trúc phần mềm - Kiến trúc phần mềm là công cụ giao tiếp giữa những người có liên quan trong quy trình sản xuất phần mềm - Kiến trúc phần mềm là cơ sở để tiến hành phân tích hệ thống - Kiến trúc phần mềm là cơ sở để sử dụng lại phần mềm cho các hệ thống có yêu cầu tương tự Giải thuật là các quy trình xử lý dữ liệu, các phương thức tính toán trong hệ thống Trong phần này người ta tiến hành thiết kế các giải thuật chính của chương trình như giải thuật đăng nhập, giải thuật nạp dữ liệu, các giải thuật xử lý, giải thuật in ấn các kết quả tính toán dưới dạng các bản báo cáo Dưới đây là ví dụ minh họa một số giải thuật THIẾT KẾ GIAO DIỆN Giao diện là công cụ giao tiếp giữa người sử dụng và máy tính Các nguyên tắc thiết kế giao diện: + Khuôn dạng màn hình nhập liệu phải được thiết kế giống như khuôn dạng của tài liệu gốc Không yêu cầu người sử dụng phải ghi nhớ thông tin từ màn hình này sang màn hình khác + Nên nhóm các trường thông tin trên màn hình theo một trật tự có ý nghĩa tự nhiên, theo tần số sử dụng, theo chức năng hoặc tầm quan trọng + Không bắt người dùng phải nhập các thông tin thứ sinh tức là những thông tin có thể tính toán được hoặc suy luận được từ những thông tin đã có + Tự động cập nhật những giá trị ngầm định nếu có thể + Sử dụng phím Tab, phím Enter để chuyển đến các trường thông tin tiếp theo Các phương pháp thiết kế giao diện: + Phương pháp thiết kế đối thoại + Phương pháp thiết kế thực đơn + Phương pháp thiết kế kiểu điền mẫu 17 Trình bày khái niệm quản lý dự án phần mềm? Nội dung các giai đoạn trong quản lý dự án phần mềm? Quản lý dự án phần mềm là tập hợp các công việc được thực hiện bởi một tập thể (có thể có chuyên môn khác nhau, thực hiện công việc khác nhau, thời gian tham gia dự án khác nhau) nhằm đạt được mục tiêu ban đầu đã đề ra 1 Khởi tạo dự án (Initiating): Giai đoạn này thực hiện việc định nghĩa một dự án mới hoặc một phát sinh (hoặc trộn lẫn) mới của một dự án có sẵn như: Xác định yêu cầu của dự án, mức độ ưu tiên của dự án, phân tích các yêu cầu đầu tư, phân công trách nhiệm cho các bộ phận triển khai 2 Lập kế hoạch dự án (Planning): Giai đoạn này yêu cầu thiết lập phạm vi công viêc của dự án, điều chỉnh lại mục tiêu và xác định đường đi tới mục tiêu đó 3 Triển khai (Executing): Giai đoạn này thực hiện hoàn thành các công việc được xác định trong phần lập kế hoạch để đảm bảo các yêu cầu của dự án 4 Giám sát và kiểm soát (Monitoring & Control): Giai đoạn này yêu cầu việc theo dõi, rà soát và điều chỉnh lại tiến độ và khả năng thực hiện của dự án Theo dõi các rủi ro, thay đổi, phát sinh trong quá trình thực hiện và có những đề xuất điều chỉnh kịp thời 5 Đóng dự án (Closing): Giai đoạn này thực hiện để kết thúc tất cả các hoạt động của dự án để chính thức đóng lại dự án 18 Trình bày nội dung lập lịch quản lý tiến trình dự án phần mềm? 19 Trình bày phương pháp KLOC xác định qui mô phần mềm? Cho ví dụ minh họa? - Phương pháp đo theo số dòng lệnh KLOC: đây là cách đo trực tiếp cho một sản phẩm phần mềm bao gồm việc đo về chi phí và công sức phải bỏ ra các đo trực tiếp cho một sản phẩm phần mềm bao gồm số dòng lệnh chương trình (LOC) hay ngàn dòng lệnh chương trình (KLOC) được tạo ra, tổng số tiền cần chi phí và những khiếm khuyết được phát hiện ra trong quá trình sử dụng phần mềm Có 3 chỉ tiêu quan trọng nhất để đánh giá trực tiếp 1 phần mềm: - Chỉ tiêu 1: Hiệu năng = KLOC/ngườitháng - Chỉ tiêu 2: Chất lượng = (100 - Khiếm khuyết / KLOC)/100 - Chỉ tiêu 3: Chi phí = Tổng số tiền /KLOC Ví dụ minh họa: 20 Kiểm thử phần mềm là gi? Khái niệm kiểm thử hộp trắng và kiểm thử hộp đen? - Kiểm thử phần mềm (kiểm tra, thử nghiệm) là quy trình được tiến hành để đánh giá chất lượng của sản phẩm phần mềm Kiểm thử cung cấp cho doanh nghiệp một cách nhìn độc lập về phần mềm để từ đó có thể đánh giá và thấu hiểu được những rủi ro trong quá trình triển khai phần mềm - Kiểm thử hộp trắng hay còn gọi là kiểm thử cấu trúc (Structural testing) là hình thức kiểm thử dựa trên giải thuật, cấu trúc các lệnh bên trong của chương trình với đảm bảo rằng tất cả các câu lệnh và điều kiện sẽ được thực hiện ít nhất một lần - Kiểm thử hộp đen hay còn gọi là kiểm thử chức năng (Functional Testing) là một phương pháp kiểm thử phần mềm được thực hiện mà không biết được cấu tạo bên trong của phần mềm và người ta coi hệ thống như một chiếc hộp đen không nhìn thấy được bên trong của nó 21 Trình bày khái niệm bảo trì phần mềm và nội dung 4 loại bảo trì phần mềm? - Khái niệm bảo trì phần mềm: Theo IEEE (1993), bảo trì phần mềm (Software maintenance) là việc sửa đổi một phần mềm sau khi đã bàn giao để điều chỉnh lại các lỗi phát sinh, cải thiện hiệu năng của phần mềm hoặc các thuộc tính khác, hoặc làm cho phần mềm thích ứng trong một môi trường đã thay đổi - 4 loại bảo trì phần mềm: ● Bảo trì sửa đổi (Corrective): sửa các lỗi hoặc hỏng hóc phát sinh do lỗi thiết kế, lỗi logic hoặc lỗi coding sản phẩm, lỗi xử lý dữ liệu, lỗi phát sinh trong quá trình hoạt động của hệ thống ● Bảo trì thích nghi (Adaptative): Bảo trì thích nghi là hoạt động sửa chữa phần mềm để thích ứng được với những thay đổi của môi trường bên ngoài nhằm duy trì và quản lý phần mềm theo vòng đời của nó ● Bào trì hoàn thiện (Complete): hoạt động sửa đổi phần mềm theo các yêu cầu ngày càng hoàn thiện hơn, đầy đủ hơn và hợp lý hơn của người sử dụng Loại bảo trì này tập trung nâng cao chức năng của hệ thống, hoặc các hoạt động tăng cường hiệu năng của hệ thống ● Bào trì phòng ngừa (Preventive): mục đích là làm cho hệ thống dễ dàng bảo trì hơn trong những lần tiếp theo Bảo trì phòng ngừa là hoạt động chỉnh sửa chương trình có tính đến tương lai của hệ thống sẽ được mở rộng và thay đổi như thế nào ... phát triển phần mềm dẫn tới việc cần xem xét đưa yếu tố loại bỏ q trình xây dựng phát triển Phương pháp phân loại phần mềm tin học? Khái niệm kỹ nghệ phần mềm, mơ hình tầng kỹ nghệ phần mềm? Roger... Roger Pressman: Kỹ nghệ phần mềm tổ hợp gồm thành tố công cụ, phương pháp, thủ tục giúp cho kỹ sư phần mềm nhà quản lý dự án có chuẩn mực chung làm sở nhằm sản xuất sản phẩm phần mềm có chất... lái cần sử dụng công cụ như: bàn đạp ga, phanh, vô lăng, đèn nháy Các kỹ thuật phức tạp ẩn khỏi trình điều khiển Nghĩa bạn cần biết cách lái xe, không cần quan tâm chi tiết cách thức động hoạt

Ngày đăng: 25/01/2022, 08:26

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan