Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 52 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
52
Dung lượng
1,61 MB
Nội dung
1.Trình bày khái niệm phầnmềm KNPM? -2 2.Phương pháp phân loại phần mềm? 3.Trình bày tổng quan ngơn ngữ lập trình? 4.Trình bày khái niệm mơ hình thác nước biểu diễn vòng đời phát triển phần mềm? -7 5.Trình bày quy trình làm mẫu phầnmềmPhân tích bước quy trình này? -8 6.Trình bày phương pháp thu thập thông tin cho trình phân tích KNPM? -10 7.Khái niệm mơ hình BFD, thành phần BFD Cho ví dụ minh họa? -11 8.Khái niệm sơ đồ ngữ cảnh, thành phần sơ đồ ngữ cảnh Cho ví dụ minh họa? 13 9.Khái niệm sơ đồ luồng liệu DFD Cho ví dụ minh họa? -14 10.Vai trò thiết kế phầnmềm KNPM? 15 11.Ký pháp lưu đồ KNPM Cho ví dụ minh họa? 15 12.Tiến trình thiết kế phầnmềm Mối liên hệ khía cạnh quản lý khía cạnh kỹ thuật thiết kế phần mềm? -17 13.Trình bày khái niệm kiến trúc phần mềm? Mối liên hệ vần đề cần giải P giải pháp phầnmềm S Cho ví dụ minh họa? 18 14.Trình bày phương pháp thiết kế Top Down Design Cho ví dụ minh hoạ? -19 15.Trình bày phương pháp thiết kế Bottom Up Design Cho ví dụ minh hoạ? -21 16.Trình bày vấn đề thiết kế liệu KNPM Cho ví dụ minh họa? -23 17.Trình bày khái niệm thiết kế giải thuật KNPM Cho ví dụ minh họa? -24 18.Trình bày khái niệm thiết giao diện KNPM Cho ví dụ minh họa? -26 19.Trình bày mục đích, dấu hiệu, lưu đồ hoạt động quy trình xác định yêu cầu người sử dụng KNPM? -28 20.Trình bày mục đích, dấu hiệu, lưu đồ hoạt động quy trình xây dựng quản lý hợp đồng phần mềm? 29 21.Trình bày mục đích, dấu hiệu, lưu đồ hoạt động quy trình thiết kế phần mềm? 31 22.Trình bày mục đích, dấu hiệu, lưu đồ hoạt động quy trình lập trình? -33 23.Trình bày mục đích, dấu hiệu, lưu đồ hoạt động quy trình Test phần mềm?- -35 24.Trình bày mục đích, dấu hiệu, lưu đồ hoạt động quy trình triển khai phần mềm? -38 25.Trình bày mục đích, dấu hiệu, lưu đồ hoạt động quy trình quản lý dự án phần mềm? -39 26.Trình bày phương pháp KLOC xác định quy mô phần mềm? 44 27.Trình bày phương pháp FP xác định quy mơ phần mềm? -45 28.Trình bày phương pháp lập lịch thực dự án phần mềm? -47 29.Vấn đề quản lý rủi ro KNPM? 48 30.Trình bày mơ hình tổng qt quy trình sản xuất phầnmềm quy mơ cơng nghiệp? Phân tích mối liên hệ quy trình? -50 1 Trình bày khái niệm phầnmềm KNPM? a Khái niệm phầnmềmPhầnmềmtập hợp câu lệnh viết nhiều ngơn ngữ lập trình theo trình tự xác định nhằm tự động thực số chức giải vấn đề tính tốn * Theo quan điểm nhà tin học người Mỹ Regor Pressman phầnmềm tổ hợp gồm thành tố: - Chương trình máy tính: mã nguồn, mã máy - Các cấu trúc liệu: Cấu trúc làm việc (bộ nhớ trong); Cấu trúc lưu trữ (bộ nhớ ngoài) - Các tài liệu liên quan: Hướng dẫn sử dụng (người dùng); Tham khảo kỹ thuật (người bảo trì); Tài liệu phát triển (nhà phát triển) Trong - Các thành phần vận hành -> Mã nguồn, mã máy, cấu trúc liệu: tự động hóa - Các thành phần không không vận hành – phần lại: chưa tự động hóa * Cấu hình phầnmềm bao gồm: Kế hoạch phần mềm, Đặc tả yêu cầu, Thiết kế, Kiểm thử, Chương trình Kế hoạch phầnmềm Đặc tả yêu cầu Thiết kế Lập trình Chươn g trình làm việc Tiêu chuẩn kiểm thử * Đặc trưng: - Phầnmềmkỹnghệ hóa, khơng chế tạo theo nghĩa cổ điển - Phầnmềm không bị hỏng trình sử dụng - Phầnmềm sáng chế theo đơn đặt hàng không lắp ráp từ thành phần có sẵn * Các giai đoạn quy trình phát triển phần mềm: phầnmềm khơng phục thuộc vào quy mô, lĩnh vực ứng dụng chức đa dạng nóm tồn quy trình thực phát triển phầnmềm bao gồm công đoạn: Giai đoạn 1: XÁC ĐỊNH => Cái gì? Giai đoạn 2: PHÁT TRIỂN => Như nào? Giai đoạn 3: BẢO TRÌ => Thay đổi - Giai đoạn 1: Xác định (Phân tích hệ thống, kế hoạch, phân tích yêu cầu): Trả lời cho câu hỏi gì? - đặc biệt quan trọng đưa mục tiêu dự án cần đạt được, phương tiện cơng cụ để đạt tới mục tiêu Thực tế cho thấy mục tiêu dự án cần phải đặt cách rõ ràng, cụ thể - Giai đoạn 2: Phát triển (thiết kế, mã hóa, kiểm thử): Trả lời cho câu hỏi nào?- thực nội dung dự án - Giai đoạn 3: Bảo trì (sửa đổi, thích nghi, hồn thiện): Trả lời cho câu hỏi Thay đổi sao? - thực tiễn cho thấy cơng việc có vai trò định đến doanh thu sản phẩm công ty phầnmềm b Khái niệm kỹnghệphầnmềm - Kỹnghệphầnmềm lĩnh vực nghiên cứu tin học nhằm đề xuất nguyên lý, phương pháp, công cụ, cách tiếp cận phương tiện phục vụ cho việc thiết kế cài đặt sản phẩm phầnmềm nhằm đạt tiêu sau: • Tính đắn • Tính khoa học • Tính dễ đọc tính dễ sửa đổi, cải tiến • Tính dễ sử dụng • Tính phổ thơng • Tính độc lập thiết bị - Kỹnghệphầnmềm việc áp dụng công cụ, kỹ thuật cách có hệ thống việc phát triển ứng dụng dựa máy tính - Theo Roger Pressman kỹnghệphầnmềm tổ hợp gồm thành tố công cụ, phương pháp, thủ tục nhằm giúp cho quản trị viên dự án nắm xu tổng quát phát triển dự án phầnmềm giúp cho kỹ sư lập trình có tảng để triển khai định hướng phầnmềm Cấu trúc kỹnghệphầnmềm - KNPM ĐN rõ giai đoạn phầnmềm trở thành ngành CN giai đoạn q trình sx phầnmềm chun mơn hóa cao độ thành chức danh, chức danh thực nhiệm vụ cụ thể có vai trò quan trọng đến chất lượng sản phẩm phầnmềm tung thị trường ***** Phương pháp phân loại phần mềm? Có nhiều cách phân loại phầnmềm khác phân loại theo thời gian xuất hiện, phân loại theo chức ứng dụng, phân loại theo tiến hóa ngơn ngữ biểu diễn phầnmềm * Phân loại theo chức năng: cách phân loại sử dụng phổ biến - Phầnmềm hệ thống + Hệ điều hành: DOS, WIN, UNIX + Ngơn ngữ lập trình + Chương trình dịch - Phầnmềm ứng dụng Phầnmềm ứng dụng đa + Hệ soạn thảo + Bảng tính: Excel, Lotus + Quản trị CSDL: FoxPro, Access PM chuyên dụng + Ngân hàng + Kế toán + Quản trị DN * Phân loại theo khả ứng dụng - Phầnmềm viết theo đơn đặt hàng khách hàng cụ thể: phầnmềm hỗ trợ bán hàng, phầnmềm điều khiển thiết bị - Phầnmềm không viết theo đơn đặt hàng cụ thể, bán cho khách hàng ***** Trình bày tổng quan ngơn ngữ lập trình? a Khái niêm: Ngơn ngữ lập trình cơng cụ để thiết kế nên phầnmềm Ngơn ngữ lập trình hệ thống ký hiệu hóa để miêu tả tính tốn (qua máy tính) dạng mà người máy đọc hiểu Việc lựa chọn NNLT có ý nghĩa lớn Khi đánh giá ngơn ngữ lập trình, người ta thường tiêu chuẩn sau đây: - Lĩnh vực ứng dụng tổng quát - Độ phức tạp thuật toán ngôn ngữ - Môi trường hoạt động phầnmềm - Hiệu phầnmềm - Độ phức tạp cấu trúc chương trình - Trr thức cán phát triển phầnmềm - Có chương tình dịch tốt b Phân loại: Hiện có nhiều ngôn ngữ thiết kế phầnmềm khác chia thành nhóm gọi hệ: - Thế hệ 1: năm 50 kỷ trước, máy tính điện tử đời phầnmềm chưa thương mại hóa, giai đoạn chủ yếu sử dụng ngôn ngữ máy Ngôn ngữ máy – ngôn ngữ mà máy tính “hiểu được” (được viết dạng nhị phân hệ đếm 16) dãy lệnh máy mà CPU thực trực tiếp Việc lập trình ngơn ngữ máy làm cho máy tính hiểu mà khơng cần chương trình dịch tốn nhiều cơng sức lập trình viên - Thế hệ 2: Người ta sử dụng số từ tiếng anh để chuyển việc lập trình từ ngơn ngữ máy cụ thể sang câu lệnh viết tiếng anh, nhờ việc lập trình trở nên đơn giản thân máy tính khơng hiểu câu lệnh tiếng anh Vì phầnmềm hệ thống phải bố trí chương trình dịch để dịch câu lệnh từ tiếng anh thành ngôn ngữ máy Trong hệ liệt kê đại diện tiêu biểu: • FORTRAN (FORTRAN chuẩn, FORTRAN - 77): ngôn ngữ chuyên dụng cho khối kỹ thuật cơng nghệ • COBOL: chủ yếu giải toán kinh tế thương mại, nhờ khả mơ tả bảng biểu cách đọng • BASIC: ngơn ngữ lập trình phi cấu trúc, thuận tiện cho người sử dụng với phiên máy tính - Thế hệ 3: gọi hệ ngơn ngữ lập trình vạn mà ngôn ngữ tiêu biểu Pascal sử dụng rộng rãi trường đại học giới để biểu diễn giải thuật nhờ khả cấu trúc cao ngơn ngữ Sau vào năm 60 xuất thêm ngôn ngữ ALGOL-60, sở ngôn ngữ người ta phát triển thành nhiều loại ngôn ngữ khác ứng dụng kỹ thuật kinh tế, phải kể đến ngôn ngữ ứng dụng rộng C++ phát triển từ phòng làm việc Mỹ có tên A Ngơn ngữ C++ cho phép người sử dụng can thiệp vào phần cứng máy tảng xây dựng lên hệ điều hành UNIX => Tóm lại nghiên cứu ngôn ngữ thiết kế phầnmềm ta thấy có xu hướng ngơn ngữ ngày đa dạng, tính nâng cao đơn giản hóa cho người sử dụng c Đặc điểm: - Mỗi ngơn ngữ lập trình xem tập hợp chi tiết kỹ thuật trọng đến cú pháp, từ vựng, ý nghĩa ngôn ngữ Những chi tiết kỹ thuật thường bao gồm: • Dữ liệu cấu trúc liệu • Câu lệnh dòng điều khiển • Các tên tham số • Các chế tham khảo tái sử dụng - Các ngơn ngữ có kiểu động ngôn ngữ mà kiểu gán lên liệu thời gian chương trình thực thi (ngôn ngữ Objective-C, Lisp, JavaScript, Tcl, Prolog, Python Ruby ) - Các ngơn ngữ có kiểu mạnh không cho phép dùng giá trị kiểu kiểu khác Việc phát xảy thời gian thi hành ngơn ngữ có kiểu động xảy thời gian dịch ngơn ngữ có kiểu tĩnh (ngôn ngữ ADA, Java, ML Oberon) - Ngôn ngữ có kiểu yếu khơng q khắt khe quy tắc kiểu cho phép chế tường minh để xử lý vi phạm ( C, ASM, C++, Tcl Lua ) e Vai trò NNLT vừa công cụ giúp nhà tin học giải vấn đề thực tế đồng thời nơi mà nghiên cứu tin học đưa vào Lĩnh vực vừa mang tính truyền thống vừa mang tính đại f Lợi ích việc nghiên cứu NNLT - Cho phép lựa chọn NNLT phù hợp vs dự án thực tế - Sử dụng cách có hiệu cơng cụ ngơn ngữ - Làm tăng vốn kinh nghiệm xây dựng chương trình - Tạo dễ dàng để học ngôn ngữ - Tạo tiền đềđể thiết kế ngơn ngữ ***** Trình bày khái niệm mơ hình thác nước biểu diễn vòng đời phát triển phần mềm? a Trình bày khái niệm vòng đời phát triển phầnmềm mơ hình thác nước biểu diễn vòng đời phát triển phầnmềm - Vòng đời phát triển phần mềm(SDLC), tảng phát triển sản phẩm phầnmềm Là tập hợp thao tác kết tương quan để sản xuất sản phẩm phầnmềm Hầu hết thao tác tiến hành kỹ sư phầnmềm - Theo nhà tin học người Mỹ Roger Pressman, bao gồm công đoạn biểu diễn mơ hình gọi mơ hình thác nước Tiếp cận hệ thống Phân tích Thiết kế Mã hóa Kiểm thử Bảo trì + Tiếp cận hệ thống: - Đây q trình mơ hình thác nước -> tác động đến q trình lại - Đây quan điểm bao trùm giải tốn cơng cụ phần mềm, tiếp cận hệ thống tức phải xem xét tổng thể có liên quan mật thiết với nhau, không tách rời biệt lập, quan điểm chung giải vấn đề kinh tế - xã hội + Phân tích: Bản chất phân tích kỹnghệphầnmềm khác với khái niệm phân tích thơng thường, phân tích hiểu thu thập thơng tin từ đối tượng mơ hình hóa thực thể đối tượng Mục đích phân tích tìm hiểu kỹ HT, đưa nhìn tổng thể HT xây dựng phần mềm, phân tích hệ thống có cấu trúc bao gồm sử dụng công cụ BFD, DFD, IFD, sơ đồ thơng tin ma trận, mơ hình liệu, ngơn ngữ có cấu trúc + Thiết kế Bản chất giải vấn đề, chuyển từ toán đặt thành giải pháp phầnmềm Thiết kế tập trung vào bốn thuộc tính phân biệt chương trình: cấu trúc liệu, kiến trúc phần mềm, thủ tục, đặc trưng giao diện Trong quy trình người ta tiến hành bước quan trọng: • B1: Thiết kế kiến trúc phầnmềm • B2: Thiết kế chi tiết phận (như thiết kế liệu, giải thuật, giao diện) Kết giai đoạn thiết kế hồ sơ thiết kế hoàn chỉnh + Mã hóa - Mã hóa KNPM hiểu vs khái niệm mã hóa thơng thường - Bản chất mã hóa KNPM coding tức lập trình viên sử dụng hồ sơ thiết kế lựa chọn ngơn ngữ lập trình để cung cấp từ hồ sơ thiết kế thành phầnmềm + Kiểm thử: giai đoạn trước triển khai phầnmềm cho khách hàng ND thuộc giai đoạn kiểm tra lỗi sửa lỗi thuộc chương trình mà xây dựng kịch đế đánh giá chức phầnmềm tùy vào toán khác + Bảo trì Đây cơng đoạn cuối cùng, gọi cơng đoạn hậu mãi, cơng việc sau bán hàng cho khách hàng Thực tế Việt Nam cho thấy tính phầnmềm khơng chênh nhiều, nên cơng ty có chế độ hậu tốt khách hàng ưa chuộng Nội dung bảo trì gồm: - Bảo trì sửa đổi để sửa chữa lỗi nhỏ thuộc phầnmềm cài đặt cho khách hàng - Bảo trì thích nghi máy tính để sản xuất phầnmềm thuộc cơng ty tin học máy tính thuộc khách hàng đơi có cấu hình khác phải tiến hành bảo trì thích nghi đểphầnmềm hoạt động tốt máy tính thuộc khách hàng - Bảo trì hồn thiện: cán thuộc cơng ty phầnmềm nâng cấp mức độ sản phẩm PM cho KH => Tồn q trình thuộc vòng đời phầnmềm có mối liên quan mật thiết vs công ty PM phân chia thành chức giao cho phòng ban thực **b Vai trò việc nghiên cứu vòng đời phát triển phầnmềm - Nghiên cứu SDLC cho thấy mối quan hệ mật thiết, thống không tách rời giai đoạn Các công đoạn phải chịu tác động giai đoạn phía -> Từ giúp nhà xây dựng PM có cách nhìn đắn việc quy chuẩn hóa giai đoạn phát triển PM nhằm đưa giải pháp vận dụng hiệu trước giai đoạn ***** Trình bày quy trình làm mẫu phầnmềmPhân tích bước quy trình này? a Trình bày quy trình làm mẫu phầnmềm * KN: Bản mẫu phầnmềm mơ hình thuộc PM xây dựng gồm chức để KH đánh giá sơ đểkỹ sư phầnmềm có phiên để tiếp tục hoàn thiện sản phẩm - Bản mẫu phầm mềm thực theo phương án + Bản mẫu vẽ giấy + Bản mẫu mơ hình bao gồm vài chức tiêu biểu phầnmềm tương lai + Bản mẫu chương trình bao gồm chức phầnmềm cần chi tiết thêm tùy trình độ tin học khách hàng mà kỹ sư phầnmềm sử dụng hình thức cho phù hợp * Quy trình làm mẫu b Phân tích bước quy trình (1) u cầu khách hàng: cơng đoạn KH đến công ty phầnmềmđể đặt vấn đềký kết hợp đồng trình bày nguyện vọng Khách hàng đưa yêu cầu sản phẩm mình, kỹ sư phầnmềm ghi nhận cố gắng đáp ứng tối đa yêu cầu khách hàng Cán KD cần phải nắm bắt vấn đề trước mong muốn KH để nhanh chóng đưa mẫu cho phương án thích hợp (2) Thiết kế nhanh: Sau thống với KH trình xây dựng phầnmềmkỹ sư phầnmềm tiến hành thiết kế nhanh mẫu thuộc phương án nêu trên, vào trình độ hiểu biết tin học KH Yêu cầu quan trọng đơn giản, dễ hiểu dễ sử dụng cho khách hàng (3) Xây dựng mẫu: giai đoạn này, kỹ sư phầnmềm tiến hành xây dựng mẫu bao gồm nét phầnmềm tương lai Yêu cầu: cố gắng trình bày cho KH nhìn thấy hình dáng bên ngồi PM mà không vào vấn đềkỹ thuật (4) KH đánh giá mẫu: Kỹ sư phầnmềm trình bày mẫu để KH xem xét, đánh giá quan điểm người sử dụng, đồng thời ghi nhận yêu cầu KH vấn đề liên quan đến mẫu để chỉnh sửa để đáp ứng tối đa nguyện vọng KH (5) Làm mịn mẫu: quy trình chi tiết hóa chức từ tổng quát đến cụ thể, chi tiết (6) Sản phẩm mẫu PM: kết thúc trình làm mẫu phầnmềm thu sản phẩm gọi mẫu phầnmềm - phiên sp phầnmềm đó, tiếp tục hoàn thiện cho phiên đưa vào thị trường => Tóm lại, sản xuất phầnmềm quy mơ cơng nghiệp, quy trình làm mẫu đặc trung riêng, có vai trò quan trọng kinh doanh phầnmềm **c Vai trò mẫu sản xuất phầnmềm cơng nghiệp • Bản mẫu phiên phầnmềm giúp phần hỗ trợ cho việc phân tích, thiết kế xây dựng phầnmềm sau • Giúp kỹ sư phầnmềm nắm bắt nguyện vọng khách -> Tăng khả thuyết phục khách hàng ký hợp đồng sản xuất phầnmềm công ty -> Như vậy, làm mẫu pm quy trình đặc thù việc sản xuất phầnmềm quy mơ cơng nghiệp có vai trò định đến hoạt động doanh nghiệp phầnmềm cơng đoạn thực tốt thu hút khách hàng => thu hút lợi nhuận cơng ty ***** Trình bày phương pháp thu thập thông tin cho trình phân tích KNPM? - Có phương pháp thu thập thơng tin là: Nghiên cứu tài liệu, quan sát, vấn điều tra bảng hỏi (1) Nghiên cứu tài liệu hệ thống - Đây phương pháp quan trọng để tiến hành thu thập thông tin hệ thống nghiên cứu Bản chất phương pháp nghiên cứu đầy đủ tài liệu mô tả hoạt động; tài nguyên phần cứng, phần mềm; đặc điểm trước q trình xử lý thơng tin hệ thống - Các nội dung nghiên cứu : tổng quan lịch sử phát triển hệ thống, cấu tổ chức hệ thống, đặc điểm kinh tế - kỹ thuật, HTTT hệ thống, vấn đề cần hồn thiện để quản lý hệ thống cơng cụ phầnmềm - Ưu điểm bật: Trong thời gian ngắn, nắm chế hoạt động tổng quát vấn đề quan trọng hệ thống cần giải - Kết việc thu thập tóm lại bảng tổng hợp nghiên cứu tài liệu hệ thống: chủ đề, mục đích, ng thực hiện, thời gian thực hiện, ND cụ thể (cơ cấu tổ chức, hiệu hoạt động, điểm mạnh, điểm yếu ) (2)Quan sát hệ thống - Trong trường hợp tài liệu hệ thống không mơ tả đầy đủ chi tiết hoạt động khơng đề cập đến người ta phải tiến hành quan sát hệ thống (tức dùng phương pháp quan sát thực tế trực tiếp thực địa để phát chế hoạt động đặc thù hệ thống) Việc quan sát quy trình mấu chốt chi tiết cho ta thông tin bổ sung có giá trị - Phương pháp sử dụng nhiều hoạt động kỹ thuật công nghệ không loại trừ cho hệ thống kinh tế, thương mại 10 24 Trình bày mục đích, dấu hiệu, lưu đồ hoạt động quy trình triển khai phần mềm? a Mục đích - Nội dung giai đoạn cài đặt phầnmềm cho khách hàng, vận hàng hệ thống đào tạo sử dụng cho khách hàng Bao gồm việc chính: + Cài đặt máy chủ + Cài đặt máy mạng + Vận hành phầnmềm + Đào tạo sử dụng cho khách hàng: gồm nhiều việc nhỏ lập chương trình đào tạo, phân bổ thành lớp để đào tạo, lên lịch thời gian quy trình đào tạo, xác định số lượng buổi để đào tạo b Dấu hiệu − Cài đặt máy chủ − Cài đặt máy mạng − Vận hành hệ thống − Hướng dẫn đào tạo sử dụng c Lưu đồ 38 d Hoạt động − Các hoạt động quy trình triển khai STT Hoạt Động Bắt Đầu Kết Thúc Lập kế hoạch triển khai Sau quy trình test QTVDA phê duyệt Cài đặt máy chủ Kết thúc bước Cán triển khai duyệt Cài dặt máy mạng Kết thúc bước Cán triển khai duyệt Vận hành hệ thống Kết thúc bước Cán triển khai khách hàng duyệt Đào tạo sử dụng Kết thúc bước Khách hàng duyệt Lập biên triển khai Kết thúc bước Cán triển khai khách hàng duyệt e Đánh giá chất lượng Tiêu thức Nội dung Yêu cầu Chức danh Cán triển khai Theo yêu cầu công ty Input - Bộ phầnmềm - Bộ công cụ cài đặt - Hợp đồng phầnmềm QTVDA duyệt Output Biên triển khai phầnmềm QTVDA duyệt Chất lượng - Tỷ lệ dự án hoàn thành hạn >=90% - Chênh lệch thực tế dự kiến +-20% QTVDA duyệt Quá trình liên quan Hợp đồng phần mềm, lập trình 25 Trình bày mục đích, dấu hiệu, lưu đồ hoạt động quy trình quản lý dự án phần mềm? a Mục đích Quản lý dự án quy trình có tính chất bao trùm, thực dự án phầnmềm bao gồm từ công đoạn lập hợp đồng công đoạn cuối triển khai cho khách hàng Trong công ty phần mềm, dự án công việc hồn chỉnh thành lập nhóm người gọi nhóm thực dự án tự giải thể dự án kết thúc, xét góc độ quản lý quản trị viên dự án có vai trò quan trọng đặc biệt b Dấu hiệu - Thành lập nhóm dự án - Lập kế hoạch cho dự án - Thẩm định dự án - Thực dự án - Tổng kết dự án c Lưu đồ 39 d Nội dung bước quy trình quản lý dự án phần mềm: - Trong quy trình sản xuất phầnmềm quy mơ cơng nghiệp quy trình quản lý dự án phầnmềm có vai trò bao qt quy trình lại Một dự án pm quy mơ cơng nghiệp hồn tồn tương tự dự án kd hay dự án khoa học kỹ thuật Vì mặt phương pháp luận có điển tương đồng với mơn học quản lý dự án, có lĩnh vực đặc thù riêng lĩnh vực sản xuất phầnmềm thương mại người quản trị dự án có vai trò đặc biệt quan trọng có tác động trực tiếp đến quy trình lại đến chất lượng cuối phầnmềm - Các bước quy trình quản lý dự án phần mềm: 40 STT Tên hoạt động Bắt đầu Kết thúc Lập kế hoạch dự án Có đề xuất làm phầnmềm Cty Duyệt Thẩm định dự án Sau bước Cty Duyệt Thực dự án (thực Sau bước đồng thời trình: quản lý tiến trình dự án, quản lý nguồn lực dự án, quản lý sản phẩm dự án, xử lý tình huống) Cty Duyệt - Nội dung Tổng kết dự án Sau bước Cty Duyệt cơng đoạn quản lý dự án phầnmềm (Vở ghi) - Quản lý tiến trình dự án: • Tổng thời gian thực dự án • Phân chia thời gian theo công việc Khi quản lý tiến trình dự án, người ta thường dùng pp đồ thị biểu diễn độ dài công việc điểm mút thời gian để thực công việc Điểm nối tiếp công việc với công việc thường gọi khớp có khoảng thời gian dự trữ định Sơ đồ PERT - Quản lý nguồn lực dự án: • Nguồn nhân lực • Nguồn lực cơng nghệ • Nguồn lực tài 41 - Quản lý sp dự án: • Phầnmềm • Dịch vụ thơng tin - Xử lý tình huống: nét đặc thù quản lý dự án (1) Lập kế hoạch dự án phầnmềm STT Hoạt động Sản phẩm Xem xét hợp đồng: mục tiêu, phạm vi, yêu Xác định yêu cầu cầu yếu tố dự án điều kiện dự án phầnmềm thực dự án Chuẩn bị nguồn lực, môi trường điều kiện Môi trường làm việc dự án làm việc dự án Phương thức thực hiện: tổ chức dự án, cách Phương thức thực dự thức làm việc, cách thức chuyển giao kết quả, án tiêu chuẩn áp dụng dự án Lập kế hoạch: công việc, kết quả, yêu cầu dự Kế hoạch dự án án, thời hạn, người thực Xem xét phương thức thực kế hoạch dự Kế hoạch phê duyệt án (2)Quản lý tiến trình dự án STT Hoạt động Sản phẩm Giao việc cho nhóm: cử ng phụ trách Bảng phân công công việc q trình, cơng việc, thành lập nhóm cho nhóm dự án làm việc, xác định cơng việc, thời gian, khối lượng, kết quả, yêu cầu cho nhóm Lập kế hoạch chi tiết nhóm: phác thảo Kế hoạch chi tiết cơng việc, giai đoạn, kết Đối nhóm thực dự án phần chiếu kế hoạch chi tiết với kế hoạch dự án mềm thực điều chỉnh cần thiết Kiểm soát thực kế hoạch: Ks thời Biên báo cáo tiến trình điểm, kết nhóm thực dự án dự án Tổng hợp kết nhóm: tổng hợp kết Các kết quả, sản phẩm nhóm theo giai đoạn thực bàn giao nghiệm thu hiện, kiểm tra thủ tục, biên bản, hồ sơ cần thiết, tổ chức bàn giao nghiệm thu giai đoạn (3)Quản lý nguồn lực dự án 42 STT Hoạt động Sản phẩm Chuẩn bị nguồn lực: lên kế hoạch nguồn lực dự Kế hoạch nguồn lực dự án án, xem xét nguồn lực thực tế, tìm kiếm theo giai đoạn khả thay thế, chuẩn bị phương án dự phòng Kiểm sốt sử dụng nguồn lực: tính tốn nguồn Báo cáo sử dụng nguồn lực lực cho công việc, giai đoạn kiểm dự án soát việc sử dụng nguồn lực dự án Thực điều chỉnh, cân đối nguồn lực nhóm việc, q trình (4)Quản lý sản phẩm dự án STT Hoạt động Sản phẩm Kế hoạch bàn giao kết quả: lập danh mục sản Kế hoạch bàn giao kết phẩm dự án: tên, loại, yêu cầu, thời hạn, … dự án Xem xét trình thực hiện, test, xem xét Kết xem xét bàn giao sản phẩm dự án Kiểm soát lưu trữ sản phẩm Kết quản kiểm sốt (5)Xử lý tình bất thường STT Hoạt động Sản phẩm Nghiên cứu tình Báo cáo nghiên cứu Đề xuất giải pháp xử lý tình Giải pháp xử lý tình Tổ chức thực giải pháp Biên nghiệm thu Báo cáo kết thực Báo cáo kết STT Hoạt động Sản phẩm Tổng hợp kết dự án Báo cáo kết dự án Lập báo cáo tổng kết dự án Báo cáo tổng kết Tổ chức bàn giao, nghiệm thu: tập hợp biên Biên nghiệm thu dự án bàn giao, hệ thống hóa sản phẩm, bàn giao phầnmềm & nghiệm thu tổng thể Lưu trữ hồ sơ dự án (6)Báo cáo Hồ sơ dự án 43 26 Trình bày phương pháp KLOC xác định quy mô phần mềm? a Phương pháp KLOC − Là phương pháp giúp xác định quy mô phầnmềm cách trực tiếp cách vào độ lớn phầnmềm có nghĩa vào số lượng dòng lệnh (LOC) hay nghìn dòng lệnh (KLOC) − tiêu: + Hiệu = KLOC/(Người/Tháng) + Chất lượng = [100 – (Sai sót/KLOC)]/100 (%) + Chi phí = Tổng tiền/KLOC − Người ta thực q trình quy đổi cơng sức thực phầnmềm thành đơn vị người/tháng − Chẳng hạn có dự án mã số PN01 đó: STT Quy trình Số người Thời gian thực tham gia (tháng) Quy đổi công sức Khảo sát 5 người/tháng Phân tích thiết 10 kế 20 người/tháng Lập trình 15 người/tháng Test 10 ngườitháng Triển khai 5 người/tháng Tổng 55 người/tháng b Ví dụ sử dụng KLOC để xác định quy mô phầnmềm theo tiêu: D/án Cơng sức Tiền Sai sót Hiệu Ch/lượng Chi phí A1 24 300000000 12.4 23 0.5166 98.14% 21193548 A2 35 700000000 21.5 45 0.6142 97.90% 32559139 A3 45 900000000 34.7 35 0.7711 98.99% 25936599 KLOC Tại phải thực quy trình tính tốn KLOC quản lý dự án phần mềm? − Thực tính tốn KLOC vì: + Do sử dụng phương pháp trực tiếp, tính tốn theo độ dài ngắn phầnmềm nên dễ tính tốn, sở cần thiết q trình tính tốn quy mơ phầnmềm + Tính tốn KLOC mang lại kết tương đối xác (không phải kết gần phương FP) 44 + Do sử dụng phương pháp trực tiếp, tính toán theo độ dài ngắn phầnmềm nên dễ tính tốn, sở cần thiết q trình tính tốn quy mơ phầnmềm + Tính tốn KLOC mang lại kết tương đối xác (khơng phải kết gần phương FP) ***** 27 Trình bày phương pháp FP xác định quy mô phần mềm? a Phương pháp tích điểm chức FP (Function Point) vào chức năng, tiện ích chương trình, cách đo gián tiếp sản phẩm phầnmềm Vì khơng cân đo đong đếm cụ thể nên pp định tính người ta phải dùng pp vấn chuyên gia để đưa thước đo Người ta đưa tiêu để đánh giá chất lượng Tham số đo Số lượng Mức độ Đơn giản Trung bình Phức tạp Số input *3 *4 *6 Số output *4 *5 *7 Số yêu cầu *3 *4 *6 Số tệp *7 *10 *15 Số giao diện *5 *7 *10 Tổng cộng Tổng cộng: Cơng thức tính điểm chức sau: +Trong hàm Fi gọi hàm điều chỉnh giá trị độ phức tạp nhận giá trị i từ đến 14: Hệ thống có đòi hỏi khơi phục độ tin cậy ko? Có đòi hỏi trao đổi liệu ko? Có chức xử lý phân tán ko? Có đòi hỏi cao chế độ làm việc? Hệ thống sử dụng chương trình tiện ích cao? Đòi hỏi vào liệu trực tuyến? Vào liệu thông qua giao diện hay trực tiếp? Tệp có phải cập nhật trực tuyến ko? Độ phức tạp đầu vào, đầu ra? 10 Q trình xử lý có phức tạp ko? 11 Mã chương trình có đc thiết kế dùng lại ko? 12 Việc chuyển đổi cài đặt có đc đưa vào thiết kế ko? 13 Hệ thống đc thiết kế cho nhiều tổ chức khác ko? 45 14 Có tạo dễ dàng cho người sử dụng ko? - Tỉ lệ nhân tố nhân theo trọng số từ đến theo bảng điểm chức sau: Không ảnh Ảnh hưởng Ảnh hưởng Ảnh hưởng Ảnh hưởng Ảnh hưởng hưởng ngẫu nhiên đơn giản trung bình đáng kể hồn tồn Các tiêu đánh giá theo phương pháp điểm chức FP: Chỉ tiêu 1: Hiệu = FP/người – tháng Chỉ tiêu 2: Chất lượng = (100 – Khiếm khuyết/FP) / 100 Chỉ tiêu 3: Chi phí = Tổng số tiền / FP b Ví dụ minh họa: xem xét trường hợp FP trung bình cho dự án: Tham số đo Số lượng Trung bình Tổng cộng Số input 15 *4 60 Số output 15 *5 75 Số yêu cầu 10 *4 40 Số tệp 10 *10 100 Số giao diện 20 *7 140 Tổng cộng: 415 Từ ta tính được: Giả sử tính tiêu cho dự án: Chỉ tiêu 1: Hiệu = 444.05/24 = 18.502 Chỉ tiêu 2: Chất lượng = (100 – Khiếm khuyết/FP) / 100 = 80.69% (chả hiểu sách tính kiểu 80.69%) Chỉ tiêu 3: Chi phí = Tổng số tiền / FP = 675 599.594 => Như vậy, phương pháp KLOC đánh giá cách hình thức phầnmềm lại có độ xác cao vấn đề cấu trúc hố Còn phương pháp FP đánh giá dựa vào chức phầnmềm có độ xác khơng cao tất dựa vào phương pháp thực nghiệm để chuyển từ vấn đề phi cấu trúc thành vấn đề cấu trúc hố 46 28 Trình bày phương pháp lập lịch thực dự án phần mềm? − Hai kỹ thuật PERT CPM cung cấp công cụ định lượng cho phép lập lịch thực dự án phầnmềm với công việc sau: + Xác định nhiệm vụ cụ thể dự án (các đường găng) + Xác định thời gian thực nhiệm vụ + Tính tốn thời gian cận biên cho số nhiệm vụ đặc biệt − Xem xét lịch dự án phần mềm: 10/1 - 30/1/08 5/2 - 30/3/08 5/4 - 30/6/08 Hợp đồng phầnmềmPhân tích Thiết kế 5/7 - 30/10/08 5/11 -10/12/08 15/12 - 30/2/08 Lập trình Testing Triển khai Sơ đồ PERT Đây phác thảo thứ quy trình lập lịch Trên sở này, người ta chi tiết hóa khối phác thảo thứ thành bước thời gian ngắn hạn để phác thảo thứ hai Chẳng hạn lịch thực quy trình thiết kế quy trình triển khai biểu diễn hình sau: 47 − Lịch thực quy trình thiết kế STT Các hoạt động Lập kế hoạch thiết kế Thiết kế kiến trúc Thiết kế liệu Thiết kế GT & giao diện 5/4 – 10/4 11/4 – 20/4 21/4 – 30/4 1/5 – 30/6/08 11/4 – 20/4 21/4 – 30/4 1/5 – 30/6/08 − Lịch thực quy trình triển khai STT Các hoạt động Lập kế hoạch Cài đặt máy chủ Cài đặt máy mạng Đào tạo sử dụng 5/4 – 10/4 ***** 29 Vấn đề quản lý rủi ro KNPM? Phân tích rủi ro điều chủ chốt cho việc quản lý dự án phầnmềm tốt Bản chất việc phân tích rủi ro loạt quản lý rủi ro bao gồm: - Xác định rủi ro - Đánh giá rủi ro - Phân loại rủi ro - Chiến lược quản lý rủi ro - Giải rủi ro - Điều khiển rủi ro Các bước áp dụng suốt trình kỹnghệphầnmềm a Phân tích rủi ro Trong thực tế quản lý dự án, gặp phải rủi ro Rủi ro bao hàm thay đổi tâm lý ý kiến, hành động, nơi chốn Nó bao hàm việc chọn lựa không chắn mà thân chọn lựa đưa đến Phân tích rủi ro chiếm vị trí quan trọng KNPM phầnmềm dù hồn hảo đến đâu ln ln có miền chưa thể xác định cách tường minh b Phân loại rủi ro Có nhiều cách phân loại rủi ro, thơng thường phân thành: rủi ro dự án, rủi ro kỹ thuật, rủi ro nghiệp vụ - Rủi ro dự án bao gồm rủi ro yêu cầu, KH, thời gian, lịch biểu, tài nguyên, chi phí 48 - Rủi ro kỹ thuật liên quan tới vấn đề thiết kế, cài đặt giao diện, kiếm chứng, bảo trì - Rủi ro nghiệp vụ như: rủi ro tiếp thị, xây dựng sản phẩm không phù hợp với chiến lược công ty, xây dựng dản phẩm mà lực lượng bán hàng không hiểu bán được, rủi ro quản lý rủi ro ngân sách c Xác định rủi ro Để xác định rủi ro hầu hết ta dùng tập câu hỏi, có câu trả lời cho câu hỏi ta xác định rủi ro xảy tương lai xây dựng sản phẩm phầnmềm Ví dụ như: - Khách hàng xác định yêu cầu chưa? - Họ có thay đổi yêu cầu hay khơng? - Cơ cấu tổ chức họ có thay đổi? - Trình độ quản lý trình độ tin học họ sao? - … d Ước lượng rủi ro Thực bước: B1: Lập thang phản ánh khả xảy cảm nhận rủi ro B2: Phác họa hậu rủi ro xảy B3: Ước lượng ảnh hưởng rủi ro lên dự án sản phẩm phầnmềm B4: Xác định độ xác để ước lượng rui ro cho khơng có hiểu lầm e Đánh giá rủi ro Đánh giá rủi ro điều chủ cốt q trình phần tích rủi ro Để đánh giá rủi ro người ta thường thực bước: B1: Xác định mức tham khảo cho rủi ro dự án B2: Xây dựng mối quan hệ nhân tố rủi ro, xác suất rủi ro mức tham khảo B3: Dự đoán tập hợp điểm tham khảo để giới hạn miền kết thúc B4: Dự đoán việc tổ hợp rủi ro ảnh hưởng tới miền tham khảo f Quản lý điều phối rủi ro - Họp nhóm nhân viên để xác định nguyên nhân - Hành động để giảm nhẹ nguyên nhân quyền kiểm soát trước dự án bắt đầu - Khi dự án bắt đầu có người phải đảm bảo kỹ thuật luân chuyển - Tổ chức nhóm dự án cho thông tin phổ biến rộng rãi - Thiết lập chuẩn tài liệu bảo đam tài liệu xây dựng hạn - Tiến hành duyệt xét ngang cấp tồn cơng việc - Xác định nhân viên dự phòng cho khâu kỹ thuật chủ chốt - Điều quan trọng cần lưu ý việc quản lý rủi ro phải chịu thêm chi phí cho dự án 49 30 Trình bày mơ hình tổng qt quy trình sản xuất phầnmềm quy mơ cơng nghiệp? Phân tích mối liên hệ quy trình? a Mơ hình tổng qt quy trình sản xuất PM quy mơ công nghiệp FPT: - Ở quy mô công nghiệp, quy trình sản xuất phầnmềm chuẩn hóa thành quy trình, quy trình có mục đích bước cụ thể - Tồn quy trình sản xuất phầnmềm chia thành cơng đoạn Ngồi cơng đoạn quản trị dự án, bao qt chung công đoạn khác Mỗi công đoạn thực nhiệm vụ cụ thể phải giao nộp sản phẩm cụ thể • Quy trình 1: Quy trình quản lý dự án • Quy trình 2: Quy trình xây dựng quản lý HĐPM • Quy trình 3: Quy trình xác định u cầu phầnmềm • Quy trình 4: Quy trình thiết kế • Quy trình 5: Quy trình lập trình • Quy trình 6: Quy trình Test • Quy trình 7: Quy trình triển khai (có số quy trình gộp với nhay tách riêng thùy thuộc quy mơ doanh nghiệp) - Biểu diễn mơ hình tổng qt tồn quy trình sản xuất phần mềm: - Sơ đồ cho thấy: • Với quy trình, cơng nghệ FPT xác định rõ mục đích quy trình gì, để thực quy trình cung cấp nguyên liệu đầu vào nào, sp cần giao nộp tiêu chí đánh giá sp ntn • Nhìn vào sơ đồ ta thấy tồn quy trình sản xuất pm thể thống nhất, sản phẩm đầu quy trình sản phẩm đầu vào quy trình Do đó, cần quy trình khơng đảm bảo chất lượng dẫn đến 50 khơng hiệu tồn quy trình Vì quy trình sản xuất pm phải đảm bảo chất lượng cơng việc kinh doanh đạt kết cao - Để tạo thống chuẩn hóa, FPT đưa nội dung ngắn gọn quy trình bao gồm điểm: • Mục địch quy trình • Dấu hiệu quy trình • Lưu đồ quy trình • Các hoạt động quy trình • Đánh giá chất lượng quy trình b Mối liên hệ quy trình: Quy trình Input Hợp đồng - Yêu cầu khách phầnmềm hàng - Kế hoạch HĐ công ty Xác yêu PM định - HĐ PM cầu Activiy Output - Gặp gỡ KH - HĐ PM - Thương thảo HĐ PM - Xây dựng HĐ PM - Thanh tốn- lý HĐ PM - Theo dõi q trình thực HĐ - Mơ hình hóa hệ thống (CD, - Hồ sơ xác DFD, IFD, MI…) định yêu cầu - Phân tích nghiệp vụ chuyên PM sâu Design - Yêu cầu PM - HĐ PM - Thiết kế tổng thể kiến trúc Thiết kế liệu Thiết kế giải thuật Thiết kế giao diện Thiết kế công cụ cài đặt - Hồ sơ Design Coding - Hồ sơ Design - Lập trình chức Lập trình module Tích hợp Lập trình cơng cụ cài đặt - PM đóng gói Test - HĐ PM - Bộ chương trình - Xây dựng kịch Test hệ thống Test module Lập ngân hàng lỗi Biên test - Biên test ngân hàng lỗi Triển khai - HĐ PM - Bộ PM - Bộ công cụ cài đặt - Cài đặt máy chủ - Cài đặt máy mạng - Vận hành hệ thống - Biên bàn giao KH 51 - Hướng dẫn sử dụng Quản trị - Toàn hồ sơ liên - Lập nhóm thực dự án PM DA PM quan PM - Đưa giải pháp kỹ thuật cho dự án - Quản lý sản phẩm dự án, nguồn lực dự án, xử lý tình xảy - Tổng kết dự án PM - Toàn hồ sơ dự án PM, biên tổng kết dự án 52 ... trò định đến doanh thu sản phẩm công ty phần mềm b Khái niệm kỹ nghệ phần mềm - Kỹ nghệ phần mềm lĩnh vực nghiên cứu tin học nhằm đề xuất nguyên lý, phương pháp, công cụ, cách tiếp cận phương tiện... triển dự án phần mềm giúp cho kỹ sư lập trình có tảng để triển khai định hướng phần mềm Cấu trúc kỹ nghệ phần mềm - KNPM ĐN rõ giai đoạn phần mềm trở thành ngành CN giai đoạn trình sx phần mềm chun... công ty phần mềm FPT: 16 12 Tiến trình thiết kế phần mềm Mối liên hệ khía cạnh quản lý khía cạnh kỹ thuật thiết kế phần mềm? a Tiến trình thiết kế phần mềm Tiến trình thiết kế cơng nghệ phần mềm