Giáo trình Công nghệ phần mềm - Chương 5: Cài đặt phần mềm
Sau khi sinh ra chương trình đích, chức năng của mỗi module phải rõ ràng,
không cần tham khảo tới đặc tả thiết kế - nói cách khác, chương trình phải dễ hiểu.
Phong cách lập trình bao hàm một triết lý về lập trình nhấn mạnh tới tính đơn giản và
rõ ràng. Viết một chương trình máy tính là viết một dãy các câu lệnh trong ngôn ngữ
hiện có. Cách thức mỗi mệnh đề này diễn tả trong chừng mực nào đó sẽ xác định ra
tính dễ hiểu của toàn bộ chương trình.
Các yếu tố của phong cách bao gồm tài liệu bên trong, phương pháp khai báo
dữ liệu, cách tiếp cận đến việc xâydựng câu lệnh, các kỹ thuật vào/ra.
và thiết kế cung cấp cho công nghệ phần mềm khả năng giảm tối thiểu các lỗi có khả năng lan truyền tới chương trình ứng dụng. 113 Chương 5: Cài đặt phần mềm Công cụ SA/SD: Phần lớn các công cụ phân tích và thiết kế sử dụng phương pháp phân tích và thiết kế cấu trúc. Nó cho phép tạo các mô hình của hệ thống phức tạp dần, bắt đầu từ mức độ yêu cầu và 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 và mô phỏng (Prototyping and simulation) cho khả năng dự đoán trước dáng điệu của hệ thống. Mặt khác, nó cho phép khách hàng trong thời gian ngắn nhất có thể quan sát được mô hình. Nhiều công cụ dạng này cho phép sản sinh mã. Các công cụ phát triển và thiết kế giao diện: Các nghiên cứu công nghiệp cho thấy rằng 50-80% mã của các ứng dụng tương tác là dành cho quản lý giao diện. Các công cụ phát triển và thiết kế giao diện thực sự là tập hợp các công cụ tạo các đơn vị chương trình như menu, button, windows,...Tuy nhiên, các công cụ trên đang được thay thế bởi các công cụ tạo mẫu giao diện cho phép tạo các màn hình theo chuẩn một cách nhanh chóng. 5.7.2.5.Các công cụ lập trình Các công cụ lập trình bao gồm bộ dịch, soạn thảo, gỡ lỗi cho phép dùng phần lớn các ngôn ngữ lập trình truyền thống. Các công cụ này có liên quan nhiều tới môi trường lập trình hướng đối tượng, ngôn ngữ thế hệ bốn, sản sinh chương trình. Các công cụ mã hoá truyền thống: Đã có thời các công cụ mã hoá quy ước là: Complier, Editor, Debugger. Pressman đã nói về vấn đề này như sau: "Khi trong tay bạn chỉ có cái búa, thì mọi vấn đề sẽ giống như cái đinh". Hầu như suốt 30 năm, lập trình viên chỉ có các công cụ trên trong tay nên mọi vấn đề về công nghệ phần mềm đều quy về vấn đề mã hoá. Các công cụ mã hoá thế hệ 4: Hệ thống hỏi đáp cơ sở dữ liệu, sinh mã và ngôn ngữ thế hệ 4 đã làm thay đổi cách lập trình. Các công cụ lúc này được phân làm một số loại, ví dụ như: o Bộ sinh ứng dụng 114 Ngôn ngữ thế hệ thứ 4 Biên dịch 4GL Mã chương trình thực hiện Module sinh mã Thư viện mã COBOL Soạn thảo màn hình Soạn thảo báo cáo Soạn thảo menu Từ điển dữ liệu Chương 5: Cài đặt phần mềm o Bộ sinh mã Các công cụ lập trình hướng đối tượng: Lập trình hướng đối tượng là một trong các công nghệ "nóng nhất" trong công nghệ phần mềm. Vì lý do này, các nhà chế tạo CASE đang cung cấp ồ ạt các 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 hiện nay là 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 các cung cấp giao diện thế hệ 3 (menu, mouse, multitasking,...) cùng với các chức năng đặc biệt như "browser" - một chức năng cho phép kỹ sư phần mềm kiểm tra tất cả các đối tượng được chứa trong thư viện. 5.7.2.6. Các công cụ tích hợp và kiểm tra Có ba hạng công cụ kiểm tra được sử dụng nhiều nhất. Nhiều công cụ phải trải hết 2 hoặc 3 phân loại nói trên. Các công cụ phân tích tĩnh: Các công cụ kiểm tra tĩnh giúp các kỹ sư phần mềm trong việc rút ra các trường hợp kiểm tra. Ba kiểu khác nhau của các công cụ kiểm tra tĩnh được dùng trong công nghiệp: các công cụ kiểm tra dựa trên mã, các ngôn ngữ kiểm tra đặc tả và các công cụ kiểm tra dựa trên yêu cầu. Code-Based testing tools nhận mã nguồn như là đầu vào và tiến hành một số phân tích. Căn cứ vào mô tả của đầu vào chương trình và thiết kế thủ tục như là chỉ dẫn các công cụ kiểm tra tĩnh suy ra các trường hợp kiểm tra sử dụng đường dẫn, các kiểm tra điều kiện và các tiêu chuẩn luồng dữ liệu. Requirements-based testing tools phân tách các yêu cầu người dùng và khuyên một số trường hợp kiểm tra (hoặc lớp kiểm tra) mà sẽ thử các yêu cầu. Để thực hiện tốt thì các công cụ trong phân hạng này phải truy nhập tới các đặc tả hình thức của phần mềm. Specialized testing languages cho phép các kỹ sư phần mềm viết các đặc tả kiểm tra chi tiết mà mô tả mỗi trường hợp kiểm tra và logic cho sự thực hiện nó. Trong 115 Ngôn ngữ đặc tả thủ tục Module sinh mã Module sinh mã Module sinh mã Module sinh mã COBOL PL/1 C Mã được thực hiện Chương 5: Cài đặt phần mềm phần lớn các trường hợp, các công cụ kiểm tra tĩnh sẽ tư liệu hoá và phân loại các phép kiểm tra. Và nó sẽ so sánh kết quả thực với kết quả 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 quá trình thực hiện chương trình, kiểm tra đường thử, kiểm tra xác nhận về giá trị các biến, các công cụ động có thể là loại can thiệp hoặc 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 một 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 đang kiểm tra. Phần lớn các công cụ thuộc phân loại phân tích động tạo các báo cáo chỉ rõ số lượng các khối, câu lệnh đã được thực hiện và các thời gian thực hiện trung bình cho các khối lệnh. Công cụ kiểm tra động có thể được 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 ra các trường hợp test sau đó được quản lý bởi các công cụ động. Công cụ quản lý test: Công cụ quản lý test dùng để điều khiển và phối hợp các kiểm tra phần mềm cho mỗi bước kiểm tra chính. Các công cụ trong phân loại này quản lý và phối hợp các kiểm tra regression. Tiến hành các so sánh output thực và biểu kiến. Nhiều công cụ quản lý test cũng phục vụ như là các bộ điều khiển test. Một bộ điều khiển test đọc một hoặc nhiều trường hợp test từ file test, định dạng các dữ 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 đôi khi làm việc với công cụ theo dõi yêu cầu để cung cấp các phân tích coverage yêu cầu cho kiểm tra. 5.7.2.7. Các công cụ tạo mẫu Tạo mẫu được dùng rộng rãi như là sự tiến hoá của công nghệ phần mềm. Các công cụ tạo mẫu được phân bổ theo hình sau: Mức thấp nhất, các công cụ tạo "mẫu trên giấy". Công cụ chạy trên máy có thể tạo các hình ảnh thực dùng để minh hoạ các chức năng, dáng điệu hệ thống. Các hình ảnh này không thể thực hiện được. Trong một số trường hợp, bộ vẽ màn hình có thể sinh ra các mã để tạo màn hình. Các công cụ CASE phức tạp hơn cho phép tạo các thiết kế dữ liệu, cả màn hình hiển thị và báo biểu. 5.7.2.8. Các công cụ bảo trì Các công cụ bảo trì có thể được phân lại theo các chức năng sau: 116 100% Mẫu trên giấy Soạn thảo màn hình PRO/SIM tools CASE có công cụ tạo mẫu CASE có khả năng sinh mã Mức độ áp dụng mẫu trong quá trình phát triển phần mềm ứng dụng 0% Chương 5: Cài đặt phần mềm + Thiết kế ngược với các công cụ đặc trưng. + Các công cụ phân tích và 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ác công cụ thiết kế ngược: Các công cụ thiết kế ngược tiến hành tạo lại các phân tích ban đầu trên cơ sở các chương trình đã tồn tại. Các công cụ này cũng có thể phân ra loại tĩnh và động. Một công cụ thiết kế ngược dùng mã nguồn như đầu vào và phân tích lấy ra kiến trúc chương trình, cấu trúc điều khiển, luồng logic, cấu trúc dữ liệu, luồng dữ liệu. Các công cụ thiết kế phụ thuộc (Dependency analysis tools) tiến hành phần lớn các chức năng trên, ngoài ra nó còn xây dựng sơ đồ graphic biểu diễn sự phụ thuộc chỉ sự liên kết giữa các cấu trúc dữ liệu, khối chương trình, và các đặc tính khác của chương trình. Các công cụ thiết kế ngược quan sát phần mềm khi nó chạy và sử dụng các thông tin nhận được để xây dựng mô hình dáng điệu của chương trình. Mặc dù chúng ít được dùng nhưng cần thiết cho việc bảo trì các chương trình thời gian thực hoặc được nhúng trong hệ thống khác. Các công cụ thiết kế: Các công cụ thiết kế lại có thể chia làm hai nhóm: công cụ cấu trúc lại mã, công cụ thiết kế lại dữ liệu. Các công cụ cấu trúc mã lại nhận mã nguồn phi cấu trúc như là đầu vào, tạo thiết kế ngược, sau đó cấu trúc lại mã mới. Mặc dù các công cụ như vậy có thể hữu ích, chúng chỉ tập trung trong việc thiết kế thủ tục của chương trình. Các công cụ thiết kế lại dữ liệu làm việc tại cực kia của thiết kế. Các công cụ như vậy truy nhập định nghĩa dữ liệu hoặc cơ sở dữ liệu được mô tả trong ngôn ngữ lập trình hoặc ngôn ngữ mô tả cơ sở dữ liệu. Sau đó nó chuyển sang dạng biểu diễn graphic có thể phân tích được bởi kỹ sư phần mềm. Tương tác với các công cụ thiết kế lại, kỹ sư phần mềm có thể thay đổi cấu trúc của cơ sở dữ liệu, chuẩn hoá dữ liệu, sau đó tự động sinh mã mới. Các công cụ có thể sử dụng hệ chuyên gia. 5.7.3. 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. Một số CASE thông dụng hiện nay như: Sản phẩm Kỹ thuật ADW-Construction Workbench của Knowledgeware Inc., Atlanta, CA Xây dựng các mã giả bằng các modul, nó dùng cho việc sinh mã cho MsDOS, MVS Cdevelopment Environment, OOSD/C++ của S/Cubed Inc. Stamford, CT Sinh mã Cobol cho các Mainframe, AS/400, OS/2. Sinh mã C cho MsDOS, OS/2 117 Chương 5: Cài đặt phần mềm IEW của Texas Instruments Dallas, TX Sinh mã Cobol gắn với SQL, sinh mã C Cho MVS, MsDOS, OS/2. Giao diện cho Telon và sinh ra các mã khác. Sản phẩm Kỹ thuật NeXTStep 3.0 của NeXT Computer Redwood City, CA Môi trường cơ sở dữ liệu hướng đối tượng ObjectMaker của Mark V Systems Sinh mã C hay C++ cho MsDOS, VMS, Unix, AIX Software Through Pictures của Intergrated Development Sinh mã C hay C++ cho Unix, AIX Systems Architect của Popkin Software & System Inc. New York, NY Sinh mã C cho MsDOS, OS/2 Teamwork,Ensemble của Cadre Technologies Providence, RI. Sinh mã C hay C++ cho Unix, OS/2, AIX Visible Analyst Workbench của Visible Systems Corp. Newton, MA. Sinh mã C cho MsDOS 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 ra chương trình. Toàn bộ chúng chính là tiện ích Lower CASE hay Back-End CASE. 118
File đính kèm:
- Giáo trình Công nghệ phần mềm - Chương 5 Cài đặt phần mềm.pdf