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.

pdf32 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1980 | Lượt tải: 1download
Tóm tắt nội dung Giáo trình Công nghệ phần mềm - Chương 5: Cài đặt phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 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:

  • pdfGiáo trình Công nghệ phần mềm - Chương 5 Cài đặt phần mềm.pdf
Tài liệu liên quan