Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
166,94 KB
Nội dung
Công cụ trợ giúp phân loại Công cụ trợ giúp phân loại Bởi: Khoa CNTT ĐHSP KT Hưng Yên Mọi người biết đắt đỏ khó khăn việc phát triển phần mềm Việc cung cấp cho kỹ sư phần mềm công cụ trợ giúp, cung cấp khả tự động phát triển chương trình hiệu mặt chi phí Trong thời đại nhiều máy móc nay, trợ giúp phát triển thường có sẵn: môi trường CASE, sinh mã trợ giúp kiểm tra gỡ rối, chương trình biên dịch tăng, môi trường thực theo kiểu cửa sổ tốc độ phát triển mã hoạt động Bất kỳ ngôn ngữ có trợ giúp tự động, Như thế, môi trường phát triển phần mềm công cụ phần cứng phần mềm chúng kết lại để trợ giúp cho việc sản sinh hệ thống phần mềm miền ứng dụng chuyên biệt Công cụ CASE CASE có loại ICASE, Upper CASE Lower CASE ICASE nghĩa "Intergrated" CASE CASE tích hợp, "Upper" nghĩa công cụ ý tưởng thiết kế logic, "Lower" nghĩa công cụ hỗ trợ lập trình Trong công cụ trên, tài liệu tập trung vào công cụ CASE hỗ trợ tối thiểu giai đoạn phân tích hỗ trợ giai đoạn khác; chúng gọi chung "CASE" Chúng ta xác định giai đoạn hỗ trợ (dĩ nhiên giai đoạn thay đổi phát hành) Môi trường CASE chuẩn bao gồm kho chứa, công cụ đồ hoạ, phần mềm soạn thảo văn bản, phần mềm giao diện kho chứa, phần mềm đánh giá, giao diện người sử dụng 1/11 Công cụ trợ giúp phân loại Một kho chứa từ điển liệu hỗ trợ định nghĩa kiểu đối tượng khác quan hệ đối tượng Các công cụ đồ hoạ hỗ trợ cho việc phát triển dạng sơ đồ đánh giá hoàn chỉnh sơ đồ dựa vào luật xác định trước Phần mềm văn cho phép định dạng tên, nội dung, chi tiết phần tử kho chứa Phần mềm giao diện biên dịch xác định dạng liệu dùng (đồ hoạ văn bản) Phần mềm đánh giá trí tuệ CASE Phần mềm phân tích đầu vào sơ đồ kho chứa xác định xem chúng có cú pháp hoàn chỉnh hay không (ví dụ có thoả mãn định nghĩa kiểu liệu thành phần không), chúng có tương thích với đối tượng tồn khác ứng dụng hay không Giao diện người dùng cung cấp hình báo cáo để xử lý tương tác gián tiếp CASE lý tưởng phải cung cấp đầy đủ hỗ trợ tự động cho toàn chu kỳ tồn dự án, bắt đầu việc phân tích mức xí nghiệp, trì công việc kết thúc CASE lý tưởng trở thành tiêu điểm cho công việc nằm công nghệ phần mềm, công việc kỹ sư hệ thống tập trung vào khía cạnh logic thiết kế Công cụ CASE lý tưởng cung cấp mặt kỹ thuật, liệu thực thiết kế tổ chức, lập dự án kiểm tra nhóm làm việc ứng dụng, chuẩn hoá liệu, sơ đồ xây dựng sở liệu, xây dựng mã đơn giản ngôn ngữ người sử dụng lựa chọn, tự động kiểm tra mã sinh đề phòng lỗi logic đánh giá hoàn chỉnh đắn trình làm việc cách thông minh Công cụ CASE thực tiên tiến phải nhận thành phần có kho chứa sử dụng lại việc phân tích, thiết kế mã nguồn Kho chứa CASE xác định đồng thời hỗ trợ phạm vi đó, hỗ trợ Kho chứa siêu từ điển nhập lưu trữ siêu liệu Chẳng hạn, phần tử liệu ứng dụng liệu, thuộc tính 2/11 Công cụ trợ giúp phân loại tạo thành liệu trao đổi lưu trữ từ điển Các thuộc tính phần tử bao gồm kiểu liệu, kích thước, dung lượng, tần suất thay đổi tiêu chuẩn soạn thảo Một kho chứa CASE hoạt động hệ quản trị sở liệu phục vụ cho hoạt động kỹ sư, cung cấp khả mở rộng lưu giữ liệu trao đổi, trì tất thành phần mối liên hệ qua lại chúng Sự thông minh CASE thể hai dạng chính: thông minh giao diện thông minh thân sản phẩm CASE Giao diện phải cung cấp kiểu thao tác cho người tập cho người có kinh nghiệm Nó phải cho phép khả công việc lưu giữ tiếp tục lại Công cụ thay đổi theo yêu cầu cá nhân người sử dụng Ví dụ, muốn in màu vàng xanh, gọi lược đồ dòng liệu, phải phép thay đổi giá trị ngầm định để dùng thuật ngữ dạng Các dạng biến đổi giá trị đưa vào phải phản ánh thông qua tập sơ đồ Điều có nghĩa người dùng đưa thực thể thuộc tính vào kho chứa, di chuyển để triển khai lược đồ đồ hoạ quan hệ thực thể, thông tin kho chứa phải phản ánh lược đồ Trí tuệ sản phẩm CASE bao gồm việc phân tích bên kiểu lược đồ đầu vào kho chứa Trong trường hợp lý tưởng, yêu cầu ứng dụng A xung đột với mục tiêu xí nghiệp Z, phải bật cờ báo để xem ý kiến người quản lý CASE lý tưởng phải cho phép người sử dụng phân tách tích hợp ứng dụng khác cách dễ dàng Ví dụ, công ty muốn tư liệu hoá tất ứng dụng sử dụng bắt đầu quản lý điện tử chúng Khi người sử dụng xác định ứng dụng muốn tích hợp với ứng dụng cũ, họ phải phép để tạo định nghĩa thứ ba để làm sáng tỏ chồng chéo, dư thừa, không chắn vấn đề khác mà cặp tích hợp gặp phải Theo quy luật 40-20-40 việc triển khai hệ thống, 40% thời gian dự án dùng để phân tích thiết kế, 20% dành cho lập trình 40% lại để chạy thử Hướng nhà bán sản phẩm giảm bớt mã, giảm 20% thời gian phát triển Nhưng CASE lý tưởng giảm 40% thời gian chạy thử Các công cụ kiểm tra CASE không cần thiết vấn đề khác (chẳng hạn cho sản phẩm làm việc tự lỗi) Trong số sản phẩm thập kỷ 90, nhà sản xuất cung cấp hỗ trợ kiểm tra môi trường CASE họ Một cách lý tưởng, hỗ trợ bao gồm thử nghiệm hộp đen hộp trắng với can thiệp người, không bắt buộc Thử nghiệm hộp đen dùng cho kiểm tra kiểm tra xác đầu dựa 3/11 Công cụ trợ giúp phân loại đầu vào; thử nghiệm hộp trắng dùng cho sơ đồ logic chương trình Phần mềm thông minh phân tích kiểu thực xác định chiến lược thử nghiệm thích hợp Thêm vào đó, phát triển liệu thử nghiệm dựa yêu cầu logic, dẫn dắt thử nghiệm trì kết thử nghiệm Các kết thử nghiệm tổng hợp thông qua chạy thử, giai đoạn thử nghiệm, phiên phần mềm, môi trường phần cứng Khi lỗi tìm ra, phần mềm quay lại chỉnh tìm nguồn gốc lỗi - có khả thông qua module Khi phần mềm tạo nên lỗi phải có khả sửa chúng; gây lỗi người lỗi logic, phần mềm phải thông báo cho kỹ sư hệ thống yêu cầu sửa lỗi Các sản phẩm tương lai thực khắc phục 40% thời gian dự án chúng đủ thông minh để xác định thành phần sử dụng lại ứng dụng Việc sử dụng lại thiết kế tiết kiệm nhiều việc khó khăn Đầu tiên, module mã sử dụng lại, sau đến lượt thiết kế, cuối phân tích logic dùng lại Việc tìm mã sử dụng lại công cụ CASE cung cấp vào năm 90, phần khác cung cấp vào kỷ Việc miêu tả tính chất CASE lý tưởng tập trung vào việc xem CASE làm tốt Với vấn đề này, nghiên cứu CASE hỗ trợ phương pháp luận phát triển chương sau Mặc dù CASE trí tuệ nhân tạo non trẻ, phát triển mô tả thực với trạng kỹ thuật công nghệ giới Kho chứa CASE trở thành trung tâm cho công việc hoạt động tổ chức hệ thống thông tin Trí tuệ CASE trí tuệ người Các cấp độ tổ hợp CASE phân loại Tại mức thấp phổ tích hợp công cụ đơn Khi công cụ riêng lẻ cung cấp tiện ích truyền liệu mức độ tích hợp có đôi chút cải thiện Các công cụ sản xuất đầu theo dạng chuẩn tương thích với công cụ khác đọc format Trong số trường hợp, người xây dựng công cụ CASE hoàn chỉnh làm việc với thông qua "cầu nối" tools Single- source intergration xuất nhà sản xuất công cụ CASE đơn lẻ tích hợp số lượng công cụ khác bán chúng gói phần mềm Mức độ tích hợp cao có (IPSE) Intergrated Project Support Environment Các chuẩn cho khối cấu thành mô tả tạo Các nhà sản xuất công cụ CASE sử dụng chuẩn IPSE để xây dựng công cụ tương thích với nhà sản xuất khác theo chuẩn 4/11 Công cụ trợ giúp phân loại Phân loại công cụ CASE Các công cụ lập kế hoạch hệ thống tác nghiệp Bằng cách mô hình hoá yêu cầu thông tin chiến lược tổ chức, công cụ lập kế hoạch hệ thống tác nghiệp (Business System Planning Tools) cung cấp siêu mô hình mà từ hệ thống thông tin đặc trưng suy Các thông tin tác nghiệp mô hình hoá chuyển từ thực thể tổ chức khác công ty Mục đích công cụ phân loại giúp hiểu biết thông tin di chuyển đơn vị tổ chức Các công cụ cung cấp nội dung quan trọng chiến lược hệ thống thông tin cấu trúc hệ thống phương pháp không hợp với yêu cầu tổ chức Các công cụ quản lý dự án Nhiều nhà quản lý dự án phần mềm tiếp tục đánh giá, điều khiển theo dõi dự án phần mềm theo cách trước làm từ 1950 Mỉa mai thay, có dãy rộng công cụ quản lý dự án CASE có tác động sâu sắc lên chất lượng quản lý dự án cho cố gắng phát triển phần mềm cỡ lớn nhỏ Hiện nay, phần lớn công cụ quản lý dự án CASE định hướng vào phần đặc trưng quản lý dự án cung cấp hỗ trợ toàn cho hoạt động quản lý Bằng cách sử dụng tập hợp công cụ CASE có chọn lọc, quản trị dự án tạo đánh giá hiệu giá thành, nguồn lực, thời gian dự án phần mềm, xác định cấu trúc công việc thời biểu làm việc đồng thời theo dõi dự án Hơn người quản lý sử dụng công cụ để thu thập metrics mà cuối cung cấp định chất lượng hiệu phát triển phần mềm Công cụ lập kế hoạch dự án: Các công cụ lớp tập trung vào hai mảng chính: định lượng giá, nguồn lực dự án lập biểu dự án Các công cụ định lượng giá thành cho phép quản trị dự án ước lượng cỡ dự án cách dùng độ đo gián tiếp (số dòng mã số chức năng) mô tả toàn đặc tính dự án (ví dụ độ phức tạp, kinh nghiệm đội ngũ) Các công cụ ước lượng nguồn lực, thời gian dự án gợi ý số lượng người Nhiều công cụ số cho phép mô tình để quản trị định thời gian hoàn thành kiểm tra giá thành khả thực Các công cụ lập biểu dự án cho phép nhà quản lý xác định nhiệm vụ, tạo mạng công việc, biểu diễn phụ thuộc công việc Phần lớn công cụ sử dụng phương pháp lập đoạn gắng để xác định thời lượng hoàn thành dự án 5/11 Công cụ trợ giúp phân loại Cáccôngcụtheodõicácyêucầu:Khi hệ thống phát triển lớn dần có nguy rơi vào tình trạng đổ vỡ, hệ thống hoàn thiện không đáp ứng hoàn toàn yêu cầu khách hàng Mục đích công cụ theo dõi yêu cầu cung cấp cách tiếp cận hệ thống để phân tách yêu cầu, bắt đầu với quy trình gội thầu -RFP (Request For Proposal)- khách hàng đặc tả Công cụ theo dõi yêu cầu đặc trưng bao gồm định lượng text giao tác người-máy, với hệ thống quản lý sở liệu lưu trữ phân loại yêu cầu hệ thống mà chuyển đến từ RFP đặc tả Phân tích viên phân loại yêu cầu biểu diễn câu đưa chúng vào sở liệu Các công cụ quản lý độ đo: Các độ đo phần mềm cải thiện khả nhà quản lý để điều khiển phối hợp trình xử lý sản xuất phần mềm khả cộng tác viên để cải thiện chất lượng phần mềm Các công cụ đánh giá độ đo tập trung vào đặc trưng xử lý chế tạo Các công cụ định hướng quản lý thu thập độ đo đặc trưng dự án Các công cụ định lượng kỹ thuật xác định độ đo kỹ thuật Cung cấp điểm quan trọng chất lượng thiết kế mã Các công cụ quản lý hỗ trợ cho nhà quản lý hệ thống thông tin cho phép ưu tiên dự án có cạnh tranh nguồn tài nguyên hữu hạn Do sử dụng yêu cầu, độ ưu tiên, ràng buộc đặt tổ chức lỗi, rũi ro kỹ thuật nghiệp vụ, công cụ sử dụng kiến thức chuyên gia để đưa gợi ý định cho nhà quản lý Các công cụ hỗ trợ Các công cụ tư liệu hoá cho phép cán phát triển ứng dụng tự động hoá cập nhật tài liệu in báo cáo ứng dụng Các công cụ phân tích thiết kế Các công cụ phân tích thiết kế cho phép kỹ sư phần mềm tạo mô hình hệ thống Nó bao gồm biểu diễn cho liệu, luồng điều khiển, nội dung liệu (thông qua đinh nghĩa từ điển yêu cầu), trình xử lý, đặc tả điều khiển, biểu diễn mô hình hoá khác Các công cụ phân tích thiết kế hỗ trợ việc tạo mô đánh giá chất lượng Bằng trình kiểm tra tính chắn giá trị mô hình, công cụ phân tích thiết kế cung cấp cho công nghệ phần mềm khả giảm tối thiểu lỗi có khả lan truyền tới chương trình ứng dụng 6/11 Công cụ trợ giúp phân loại CôngcụSA/SD:Phần lớn công cụ phân tích thiết kế sử dụng phương pháp phân tích thiết kế cấu trúc Nó cho phép tạo mô hình hệ thống phức tạp dần, mức độ yêu cầu kết thúc với sơ đồ kiến trúc Công cụ PRO/SIM: Các công ty tạo mẫu mô (Prototyping and simulation) cho khả dự đoán trước dáng điệu hệ thống Mặt khác, cho phép khách hàng thời gian ngắn quan sát mô hình Nhiều công cụ dạng cho phép sản sinh mã Cáccôngcụpháttriểnvàthiếtkếgiaodiện:Các nghiên cứu công nghiệp cho thấy 50-80% mã ứng dụng tương tác dành cho quản lý giao diện Các công cụ phát triển thiết kế giao diện thực tập hợp công cụ tạo đơn vị chương trình menu, button, windows, Tuy nhiên, công cụ thay công cụ tạo mẫu giao diện cho phép tạo hình theo chuẩn cách nhanh chóng Các công cụ lập trình Các công cụ lập trình bao gồm dịch, soạn thảo, gỡ lỗi cho phép dùng phần lớn ngôn ngữ lập trình truyền thống Các công cụ có liên quan nhiều tới môi trường lập trình hướng đối tượng, ngôn ngữ hệ bốn, sản sinh chương trình Cáccôngcụmãhoátruyềnthống:Đã có thời công cụ mã hoá quy ước là: Complier, Editor, Debugger Pressman nói vấn đề sau: "Khi tay bạn có búa, vấn đề giống đinh" Hầu suốt 30 năm, lập trình viên có công cụ tay nên vấn đề công nghệ phần mềm quy vấn đề mã hoá Cáccôngcụmãhoáthếhệ4:Hệ thống hỏi đáp sở liệu, sinh mã ngôn ngữ hệ làm thay đổi cách lập trình 7/11 Công cụ trợ giúp phân loại Các công cụ lập trình hướng đối tượng: Lập trình hướng đối tượng công nghệ "nóng nhất" công nghệ phần mềm Vì lý này, nhà chế tạo CASE cung cấp ạt công cụ phát triển phần mềm hướng đối tượng tới thị trường Các ngôn ngữ phổ biến C++, Eiffel, Smalltalk, Objective-C Môi trường hướng đối tượng đặc trưng thường kết hợp với cung cấp giao diện hệ (menu, mouse, multitasking, ) với chức đặc biệt "browser" - chức cho phép kỹ sư phần mềm kiểm tra tất đối tượng chứa thư viện Các công cụ tích hợp kiểm tra Có ba hạng công cụ kiểm tra sử dụng nhiều Nhiều công cụ phải trải hết phân loại nói Các công cụ phân tích tĩnh:Các công cụ kiểm tra tĩnh giúp kỹ sư phần mềm việc rút trường hợp kiểm tra Ba kiểu khác công cụ kiểm tra tĩnh dùng công nghiệp: công cụ kiểm tra dựa mã, ngôn ngữ kiểm tra đặc tả công cụ kiểm tra dựa yêu cầu Code-Based testing tools nhận mã nguồn đầu vào tiến hành số phân tích Căn vào mô tả đầu vào chương trình thiết kế thủ tục dẫn công cụ kiểm tra tĩnh suy trường hợp kiểm tra sử dụng đường dẫn, kiểm tra điều kiện tiêu chuẩn luồng liệu 8/11 Công cụ trợ giúp phân loại Requirements-based testing tools phân tách yêu cầu người dùng khuyên số trường hợp kiểm tra (hoặc lớp kiểm tra) mà thử yêu cầu Để thực tốt công cụ phân hạng phải truy nhập tới đặc tả hình thức phần mềm Specialized testing languages cho phép kỹ sư phần mềm viết đặc tả kiểm tra chi tiết mà mô tả trường hợp kiểm tra logic cho thực Trong phần lớn trường hợp, công cụ kiểm tra tĩnh tư liệu hoá phân loại phép kiểm tra Và so sánh kết thực với kết dự tính Các công cụ phân tích động: Các công cụ kiểm tra động tương tác với trình thực chương trình, kiểm tra đường thử, kiểm tra xác nhận giá trị biến, công cụ động loại can thiệp không can thiệp Công cụ can thiệp (intrusive) thay đổi phần mềm để kiểm tra Công cụ không can thiệp (nointrusive) sử dụng xử lý phần cứng tách rời chạy song song với xử lý chưa có chương trình kiểm tra Phần lớn công cụ thuộc phân loại phân tích động tạo báo cáo rõ số lượng khối, câu lệnh thực thời gian thực trung bình cho khối lệnh Công cụ kiểm tra động dùng để nối tiếp với công cụ kiểm tra tĩnh Các kiểm tra tĩnh tạo trường hợp test sau quản lý công cụ động Côngcụquảnlýtest:Công cụ quản lý test dùng để điều khiển phối hợp kiểm tra phần mềm cho bước kiểm tra Các công cụ phân loại quản lý phối hợp kiểm tra regression Tiến hành so sánh output thực biểu kiến Nhiều công cụ quản lý test phục vụ điều khiển test Một điều khiển test đọc nhiều trường hợp test từ file test, định dạng liệu test để phù hợp nhu cầu phần mềm, sau gọi phần mềm để test Cuối cùng, nhà quản lý test làm việc với công cụ theo dõi yêu cầu để cung cấp phân tích coverage yêu cầu cho kiểm tra Các công cụ tạo mẫu Tạo mẫu dùng rộng rãi tiến hoá công nghệ phần mềm Mức thấp nhất, công cụ tạo "mẫu giấy" Công cụ chạy máy tạo hình ảnh thực dùng để minh hoạ chức năng, dáng điệu hệ thống Các hình ảnh thực Trong số trường hợp, vẽ hình sinh mã để tạo hình Các công cụ CASE phức tạp cho phép tạo thiết kế liệu, hình hiển thị báo biểu 9/11 Công cụ trợ giúp phân loại Các công cụ bảo trì Các công cụ bảo trì phân lại theo chức sau: + Thiết kế ngược với công cụ đặc trưng + Các công cụ phân tích cấu trúc lại mã + Các công cụ kiến tạo lại hệ thống trực tuyến Cáccôngcụthiếtkếngược:Các công cụ thiết kế ngược tiến hành tạo lại phân tích ban đầu sở chương trình tồn Các công cụ phân loại tĩnh động Một công cụ thiết kế ngược dùng mã nguồn đầu vào phân tích lấy kiến trúc chương trình, cấu trúc điều khiển, luồng logic, cấu trúc liệu, luồng liệu Các công cụ thiết kế phụ thuộc (Dependency analysis tools) tiến hành phần lớn chức trên, xây dựng sơ đồ graphic biểu diễn phụ thuộc liên kết cấu trúc liệu, khối chương trình, đặc tính khác chương trình Các công cụ thiết kế ngược quan sát phần mềm chạy sử dụng thông tin nhận để xây dựng mô hình dáng điệu chương trình Mặc dù chúng dùng cần thiết cho việc bảo trì chương trình thời gian thực nhúng hệ thống khác Cáccôngcụthiếtkế:Các công cụ thiết kế lại chia làm hai nhóm: công cụ cấu trúc lại mã, công cụ thiết kế lại liệu Các công cụ cấu trúc mã lại nhận mã nguồn phi cấu trúc đầu vào, tạo thiết kế ngược, sau cấu trúc lại mã Mặc dù công cụ hữu ích, chúng tập trung việc thiết kế thủ tục chương trình Các công cụ thiết kế lại liệu làm việc cực thiết kế Các công cụ truy nhập định nghĩa liệu sở liệu mô tả ngôn ngữ lập trình ngôn ngữ mô tả sở liệu Sau chuyển sang dạng biểu diễn graphic phân tích kỹ sư phần mềm Tương tác với công cụ thiết kế lại, kỹ sư phần mềm thay đổi cấu trúc sở liệu, chuẩn hoá liệu, sau tự động sinh mã Các công cụ sử dụng hệ chuyên gia 10/11 Công cụ trợ giúp phân loại Một số công cụ cung cấp tự động cho việc sinh mã Các tiện ích CASE xây dựng việc sinh mã hay giao diện phục vụ cho sinh mã, cho phép trộn lẫn mã khác để phù hợp với môi trường phát triển ngôn ngữ sinh Những tiện ích cung cấp cách tự động bao gồm tiện ích sinh mã, chương trình biên dịch lớn dần môi trường tạo chương trình Toàn chúng tiện ích Lower CASE hay Back-End CASE 11/11 [...].. .Công cụ trợ giúp và phân loại Một số công cụ được cung cấp tự động cho việc sinh mã Các tiện ích CASE được xây dựng trên việc sinh mã hay các giao diện phục vụ cho sinh mã, cho phép trộn lẫn các mã khác nhau để phù hợp với môi trường phát triển và ngôn ngữ sinh ra Những tiện ích trên cung cấp một cách tự động bao gồm các tiện ích sinh mã, chương trình biên dịch lớn dần và môi trường tạo ... cụ CASE sử dụng chuẩn IPSE để xây dựng công cụ tương thích với nhà sản xuất khác theo chuẩn 4/11 Công cụ trợ giúp phân loại Phân loại công cụ CASE Các công cụ lập kế hoạch hệ thống tác nghiệp Bằng... chứa thư viện Các công cụ tích hợp kiểm tra Có ba hạng công cụ kiểm tra sử dụng nhiều Nhiều công cụ phải trải hết phân loại nói Các công cụ phân tích tĩnh:Các công cụ kiểm tra tĩnh giúp kỹ sư phần... công cụ CASE phức tạp cho phép tạo thiết kế liệu, hình hiển thị báo biểu 9/11 Công cụ trợ giúp phân loại Các công cụ bảo trì Các công cụ bảo trì phân lại theo chức sau: + Thiết kế ngược với công