Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 151 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
151
Dung lượng
14,43 MB
Nội dung
LÊ VĂN P H Ù N G - N G U Y Ê N V ẢN T Ả O GIÁO TRÌNH CỎNG NGHỆ PHẢN MÈM NÂNG CAO N1IÀ XUÁT I3ẢN DẠI IIỌ C THÁI NGUYÊN NĂM 2018 MÃ só: - -1 - Đ H T N -2018 THUẬT NGỦ VÀ T Ừ V IÉ T TẮT I Tiếng 4GT A l l li forth generation Kỹ thuật hệ technique CASE CBSE Computer Aided Kỹ nghệ phần mềm dược hỗ trợ máy Software Engineering tính Com ponent-Based Kỹ nghệ phần mềm dựa trẽn thành phẩn Software Engineering CMM Capability Maturity Mơ hình trưởng thành Model CMMI Capability Maturity Mơ hình trường thành tích hợp Model lntergration COM Component Object Mơ hình đối tượng thành phần Model CORBA Common Object Một kiến trúc huớng đối tượng Request Broker Architecture DC OM Distributed Component Mơ hình đối tượng phân tán Object Model DSQ1 Design Structure Chi số chất lượng cấu trúc thiết kế Quality Index E R Entity-Relationship Mơ hình thực thể - mối quan hệ EJB Enterprise JavaBeans Một mô hình thành phần phần mềm dành cho việc phát triển triển khai ứng dụng nghiệp vụ mức doanh nghiệp HCI Human - Computer Giao diện người - máy Interface HỈPOC Hierarch Input Process Sơ đồ phân cấp vào - Output Chart HTML Hyper Text Markup Ngôn ngữ đánh dấu siêu văn Language HW Hardware Phần cứng I-CASE Integrated CASE CASE tích hợp IDL Interface Description Ngôn ngữ mô tả giao diện Language IEEE Institute Electrical and Viện kỹ nghệ điện điện tử Electronic Engineers ISO International Standards Tổ chức quốc tế chuẩn hóa Organization IT Information Technology Công nghệ thông tin LAN Local Arear Network Mạng cục NF Normal form Dạng chuẩn OMG Object Management Nhóm quản lý đối tượng Group OOA Object - Oriented Cách tiếp cận hướng đối tượng Approach OOP Object - Oriented Phương thức lập trình hướng đối tuợng Programming ORB Object Request Broker Bộ phận trừu tượng trung gian PC Personal Computer Máy tính cá nhân IAD Rapid Application Phát triển ứng dụng nhanh Development Í.UP Rational Unified Tien trình thống Iihat Process ỈC Software configuration cấu hình phần mềm SCI Software Configuration Khoản mục cấu hình phần mềm Item 5CM Software Configuration Quán lý cấu hình phần mềm Management SEI Software Engineering Viện công nghệ phần mềm Mỹ Institute SMI Software Maturity Index Chi so trưởng thành phần mem SOA Service Oriented Kiến trúc hướng dịch vụ Architecture SOAP Simple Object Access Giao thức truy xuất đối tượng đơn giản Protocol SQA Software Quality Bảo đảm chất lượng phần mềm Assurance sw Software Phần mềm UDDI Universal Description, Một thành phần đăng ký dịch vụ Discovery and Integration UIDS / UML User interface Hệ thống phát triển giao diện người dùng development system Unified Modeling Ngôn ngữ mơ hình hợp Language VORD Viewpoint-Oriented Xác định yêu cầu hướng theo cách nhìn Requirements Definition w s Web Service Djch WSDL Web Services Ngôn ngữ đặc tả dịch vụ web V ỊI web Description Language XML Extensible Makup Language Tiếng Việt CNTT Công nghệ Thông tin CSDL Cơ sờ liệu HTTT Hệ thống thông tin NSD Người sử dụng Ngôn ngữ đánh dấu mờ rộng MỤC LỤC Trang THUẬT NGỮ VA TỪ VIẾT TẢ T LỜI NÓI ĐÂU 15 Chương TỐNG QUAN VÊ CÔNG NGHỆ PHÀN MẺM 18 1.1 Định nghĩa phần mềm 18 1.2 Định nghĩa công nghệ phần m ềm 19 1.3 Sự khác biệt công nghệ phần mềm với kỹ nghệphần m ềm 20 1.4 Sự khác biệt kỹ nghệ phần mềm kỹ nghệ hệ th ố n g 20 1.5 Các phương pháp kỹ nghệ phần m ềm 22 1.6 Bàn thợ C A S E 24 1.6.1 Khái niệm CASE .25 1.6.2 Các loại công cụ CASE 26 1.6.3 Mơi trường CASE tích h(_rp 28 1.7 Tiêu chuẩn cùa phần mềm tốt 31 1.8 Những thách thức cơng nghệ phần m ềm 32 1.9 Tổng quan số hưóng kỹ nghệ phần mềm điển h ìn h 33 l 9.1 Kỹ nghệ hướng cấu trúc 33 1.9.2 Kỹ nghệ hướng đói turrnịỉ 35 1.9.3 Kỹ nghệ hướng thành phần 37 ¡.9.4 Kỹ nghệ hướng dịch vt! 4! r / 9.5 Điện loàn đám m â y 43 TÓM TẮT CHƯƠNG 46 CẢU HỎI CHƯƠNG 48 BÀI TẬP CHƯƠNG I 48 Chương TIẾN TRÌNH PHÁT TRIÊN PHẦN M Ẻ M 50 2.1 Tiến trinh phần m ềm 50 2.1.1 Khái niệm liến trình phần m ề m 50 2.1.2 Khái niệm mơ hình tiến trình 51 2.2.Mơ hình thác nư ớc 51 2.3 Mơ hình tiến h ó a 52 2.3.1 M hình làm bàn m ẫ u 53 2.3.2 M hình xoan ố c 54 2.3.3 M ô hình RU P 56 2.3.4 M hình phát triển tăng d ầ n 56 2.3.5 M hình phái triển ứng dụng nhanh ÌIAD 57 2.3.6 M hình phái triền hệ thống hình thức hóa 57 2.3.7 M ỏ hình pháI triển phần mềm theo hướng sứ dụng lại 58 2.3.8 M hình phá/ trien phần mềm theo kỹ thuật hệ thứ lư 59 2.4 Các hoạt động tiến trình phát triển phần m ềm 60 TÓM TẤT CH Ư Ơ N G 63 CÂU HỎI CHƯƠNG 64 Chương ĐẶC TẢ YÊU CẢU PHẢN MỀM VÀ YÊU CẢU HỆ THỐNG 65 3.1 Các yêu cầu hệ th ố n g 65 3.1.1 Khái niệm vể yêu cầu hệ ihong 65 3.1.2 Phân loại yêu cần hệ thống 66 3.1.3 Các cách tiếp cận kỹ thuật phân tích yêu cầu hệ thắng 68 3.2 Các yêu cầu phần m ề m 72 3.3 Tài liệu đặc tả yêu c ầ u .75 3.4 Tiến trình xác định yêu cầu phát triển m ẫ u 81 3.4.1 Tiến ình xác định đặc tả yêu cầu phần mềm 81 3.4.2 Tiến trình phái triển mẫu hệ thong 83 3.4.3 Tiến trình phát triển hàn mau phần m ềm 85 TÓM TÀT CHƯƠNG .87 CẢU MOI CHƯƠNG 89 BÀI TẬP CHƯƠNG 89 Chương ĐẬC TÀ TH1ÉT K Ế 91 Thiết kế thiết kế phần m ềm 91 Thiết ke liệu 94 4.2.1 Thiết ké cư sở liệu mức logic 94 4.2.2 Thict ké cư sớ Hậu mức vật l ý 95 4.3 Thiết kế cấu trúc chương trìn h 96 4 Thiết kế giao d iệ n 97 4.4.1 Ỷ nghĩa bàn chất cùa thiết kế giao diện HỊỊUỪi- m áy 97 4.4.2 Sơ đo tuưng tác hệ thống giao diện 98 4.4.3 Cấu trúc lumig tác h ìn h 100 4.4.4 Những nguyên lắc thiết kè 101 4.4.5 Những yêu cầu chung thiếl kẻ giao d iện 102 4.4.6 Tiến trinh íhièt kế giao iliện 104 4.5 Thiết kế mô-đun xử lý 105 4.5.1 Cách tiếp cận top-down 105 4.5.2 Phương pháp linh chình bước 106 4.5.3.Đặc tả mô-đun 107 TÓM TẢT CHƯƠNG 109 CÂU HỎI CHƯƠNG 111 BÀI TẬP CHƯƠNG .112 Chương ĐẬC TẢ THIẾT KÉ KIÉN TRÚ C 113 5.1 Kiến trúc phần mềm đặc tả thiết kế kiến trú c 113 5.1.1 Định nghĩa kiến trúc phần mềm 113 5.1.2 Vai trò tầm quan trọng cùa kiến trúc phần m ềm 116 5.1.3 Đặc ta thiết kè kiến trúc 116 liệu khác theo nhiều đường dẫn Khi luồng liệu lấy dạng chì hình 5.20, luồng giao dịch (Transaction Flow) xác định Hình 5.20 Ví dụ minh họa luồng giao dịch Luồng giao dịch đặc trưng liệu chuyển theo đường vào (cũng gọi đường nhận) đổi thơng tin giới ngồi thành giao dịch Giao dịch tính tốn dựa giá trị cùa nó, luồng khởi đầu theo nhiều đường hành động Đầu chia luồng thơng tin mà từ nhiều đường hành động di gọi trung tâm giao dịch Một HTTT hay phần thường hệ thống tập trung giao dịch (transaction centered system) hệ thống lập tnmỊỉ chuyển đồi (transform centered system) Một hệ thống tập trung chuyển đổi có chức tạo liệu từ liệu có Ví dụ hệ thống tính điểm trung bình học kỳ cho sinh viên (điểm trung bình học kỳ tính sờ có điểm mơn học kỳ đó) Cịn hệ thống giao dịch tập trung, chức gửi liệu nhận dạng tới vị tri cụ thể hệ thống để xử lý Các liệu vào mô-đun trung tâm giao dịch cùa hệ thống chúng gửi tới vị trí cụ thể tùy theo loại liệu Một ví dụ hệ thống tập trung giao dịch hệ thống ngân hàng dược thiết kế để xử lý giao dịch (xử lý tiền gửi, xử lý toán, xử lý rút vốn) ngân hàng, Trong hệ thống lớn, hai luồng chuyển đổi giao djch hữu biểu đồ luồng liệu Chẳng hạn, luồng giao dịch, luồng thông tin theo đường hành động có đặc trưng luồng chuyển đổi 136 5.5.2 Phân tích chuyến đổi thành kiến trúc phần niềm Phán lích chuyển đơi (ĩransỊorm Analysis) tập bước thiết kế cho phép luồng liệu với đặc trưng luồng chuyển đổi ánh xạ vào tiêu đặt sẵn cho cấu trúc chương trình [23], Đây khơng phải thuật tốn mà q trình cấu trúc chưa hồn tồn xác định Mỗi lần chọn biểu đồ luồng liệu mức đế chuyển sang biểu đồ cấu trúc có the dẫn đen kết khơng giống Quá trinh thiết kế kiến trúc phân tích thành nhiều bước: Bước I -Duvêt xét lại mơ hinh hệ thống tàng: mỏ hình hệ thong tảng bao gồm luồng liệu mức ngữ cành mức đinh, thông tin hỗ trợ Trong thực tế, bước thiết kế bẳt đầu với việc đánh già bàn đặc tả hệ thống đặc tả yêu cầu phần mềm Cả hai tài liệu mô tả luồng cáu trúc thông tin giao diện phần mềm Bưóc 2-Xét duyệt làm mịn biểu đồ luồng liệu cho phần mềm: thông tin thu từ mơ hình phân tích có đặc tả yêu cầu phần mềm làm mịn để tạo chi tiết nhiều Chúng ta cần chi tiết hóa đễn mức mà biến đổi biểu đồ luồng liệu có kết dính tương đối cao Tức là, tiến trình bao hàm bời phép biến đổi thực chức riêng biệt mà cài đặt mơ-đun phần mềm Bước 3- Xác định xem liệu luồng liệu có đặc trung chuyển đổi hay đặc trưng giao dịch việc nhận diện có trung tâm chuyển đổi hay có trung tâm giao dịch khơng Nếu cho trung tâm chuyển đổi tiếp sang bước sau Bước 4- Cô lập trung tâm chuyển đổi cách xác định đuờng biên xác định luồng vào luồng Bước 5- Xây dựng mơ hình kiến trúc mức khái quát Cấu trúc chương trình biểu diễn phân bố điều khiển từ xuống Việc lấy mô-đun điều khiển chung chương trinh náy sinh cấu trúc chương trinh, mơ-đun mức đỉnh thực việc định cịn mơ-đun mức thấp thi thực hầu het công tác vào, xử lý 137 đưa Các mô-đun mức trung thực số điều khiển tiến hành khối lượng vừa phải công việc Bộ điều khiển chỉnh (thường gọi Main Program) nằm đinh cùa cấu trúc chương trình điều phối chức điều khiển thuộc cấp Bộ điều khiển xử lý thông tin vào, phối hợp việc nhận liệu tới Bộ điều khiển luồng chuyển đổi, giám sát thao tác liệu dạng trung gian (như mô-đun gọi đến nhiều thù tục biến đổi liệu) Bộ điều khiển xử lý thông tin ra, phối hợp việc tạo thơng tin Hình 5.21 Minh h(>a mơ hình kiến trúc mitc khái qt Chú ý rằng, mơ-đun điều khiển mơ hình kiến trúc cho tên bao hàm chức mơ-đun thuộc cấp mà kiểm sốt Bc 6- Phát triển mơ hình kiến trúc mức chi tiết Ở mức chi tiết, ánh xạ phép biến đổi riêng (hình trịn) cùa luồng liệu vào mơ-đun thích hợp bên cấu trúc chương trình Bắt đầu từ luồng chuyển đổi, sau đến luồng vào luồng Các phép biến đổi ánh xạ vào mức thuộc cấp cùa cấu trúc chương trình 138 Vi du 5.4: Hình 5.22 Phát Irién mỏ hình cấu trúc mức chi liél Chú ý rằng, tổ hợp nhiều tiến trình thành mơ-đun ngược lại, ticn trình phân rã thành vài mơ-đun tùy thuộc vào tốn thực tế miễn đảm bảo yếu tố chất lượng (tính kết dính, tinh ghép nối tinh hình thái) Các mô-đun ánh xạ theo cách thức mô tả tạo mô hinh kiến trúc biểu thị cho thiết kế ban đầu cùa cấu trúc chương trinh 139 Buớc 7- Làm mịn cấu trúc chương trình cách dùng trực cảm thiết kế để cải thiện chất lượng phần mềm: Việc làm mịn cấu trúc chương trình tiến hành cách áp dụng khái niệm độc lập mơ-đun xem xét hồn cảnh thực tế Đối với nhóm mơ-đun khơng q phức tạp khơng cần đến mơ-đun điều khiển cấp trung gian Xem xét lại mơ-đun lồng vào để gảm bớt độ ghép nối Không để mô-đun to, phức tạp, mô-đun nhỏ đơn giản Mục tiêu cùa bẩy bước nói để phát triển biểu diễn toàn cục cho phần mềm Túc cấu trúc xác định đánh giá làm mịn kiến trúc phần mềm bàng cách coi tổng thể Những sửa đổi vào lúc it địi hịi thêm cơng việc có tác động sâu sắc lên chất lượng việc bảo trì phần mềm 5.5.3 Phăn tích giao dịch thành kiến trúc phần mềm Trong nhiều ứng dụng phần mềm, khoản mục liệu phát động hay số luồng thông tin ảnh hương tới chức ngụ ý khoản mục liệu gây Khoản mục liệu gọi giao dịch (hay giao tác), đạc trưng luồng tương ứng cùa xét đến phần trước Các bước thiết kế cho phân tích giao dịch tương tự số trường hợp đồng với bước cho phân tích chuyển đổi Điều khác biệt nằm chỗ ánh xạ luồng liệu vào cấu trúc chương trình Bước 1- Xét duyệt mơ hình hệ thống tảng: Các hoạt động bước giống phân tích chuyển đồi Bước 2- Xét duyệt làm mịn biểu đồ luồng liệu cho phần mềm Bước 3- Xác định xem liệu luồng liệu có đặc trưng luồng chuyển dịch hay giao dịch khơng Nếu có trung tâm giao dịch chuyển sang bước sau Bước 4- Xác định trung tâm giao djch đặc trưng luồng theo đường hành động: Vị trí trung tâm giao dịch nhận từ sơ đồ luồng liệu Trung tâm giao dịch nằm gốc số đường hành động 140 Dường vào (tức đường theo dó giao dịch nhận) đường hành Cộng phải cô lập Các biên giới xác định đường nhận đường hành động cần rõ Mỗi đường hành động phải ước lượng cho đậ; trưng luồng riêng Bước 5- Ánh xạ luồng liệu vào cấu trúc chương trinh theo xử lý giao dịch (nức khái quát): Luồng giao tác ánh xạ vào cấu trúc chương trinh có chứa nhánh vào nhánh gửi c ấ u trúc cho nhánh vào phân tich theo cách phân tích chuyển đổi Bắt đầu từ trung tâm giao dịch, hình trịn đường vào (đuờng nhận) ánh xạ vào mô-đun c ấ u trúc cùa nhánh gửi có chứa mơ-đun gửi kiểm soát điều khiển đường hành dộng thuộc cấp Tiến trình minh họa hình 5.24 Hình 5.24 Ả nh xạ giao dịch Bước 6- Ánh xạ đường hành động vào sơ đồ cấu trúc (mức chi tiết): Mỗi đường hành động sơ đồ luồng liệu ánh xạ vào cấu trúc tuơng ứng với đặc trưng luồng riêng 141 Hình 5.25 c ẩ u trúc chmrnỊỊ trình phác thào Bước 7- Làm mịn cấu trúc chương trình trực cảm thiết kế để nâng cao chất lượng phần mềm: Bước phân tích giao dịch đồng với bước tương ứng cho phân tích chuyển đổi Main DK1 DK2 DK3 I i j Hình 5.26 c ấ u trítc chinmg trình làm mịn Trong hai cách tiếp cận thiết kế trên, tiêu chuẩn độc lập mơđun, tính thực tế (hiệu cài đặt kiểm thử) tính bảo trì phải xem xét cẩn thận thay đồi cấu trúc đề nghị 5.6 Chất lượng thiết kế kiến trúc phần mềm 5.6.1 Một sổ tiêu chuẩn thiểí k ế kiển trúc phần mềm Mục tiêu thiết kế tốt nói chung thiết kế kiến trúc nói riêng tạo hệ thống “thân thiện với người dùng” Đó hệ thống dễ đọc, dễ 142 chuyển thành chương trinh dễ báo tri Muốn thế, kiến trúc hệ thống cần rõ ràng, hệ phải độc lập lương nhau, lức gắn kết với lỏng lẻo Các hệ kết nối với qua giao diện Nhờ phát triển hệ độc lập với Các mơ-đun cần phân đù nhị thành dơn vị chức riêng biệt gan kết với chặt chẽ theo chức Các thành phần phần mềm cần độc lập tương đối liên kết lỏng lẻo để dễ thích nghi; việc sửa đồi thành phần ánh hưởng đến thành phần khác Diều dẫn đén hai đặc trung quan trọng mà thiết kế cần có “sự kết dính” phận mô-đun chức phải chặt chẽ “sự ghcp nối” thành phần hệ thống phải lỏng lẻo 5.6.1.1 S ự két tlíiih Sự kết dính (Cohésion) cùa thành phần độ đo tinh gắn kết chặt chẽ với phận Nói khác đi, kết dính nói lèn gằn bó phần bẽn mô-đun Muốn vậy, thành phần (mô-đun) phải thực chức logic thực thể logic, tất cà phận cùa phải tham gia vào việc thực Nếu phần không trực tiếp tham gia vào việc thục chức logic thi mức độ kết dính cùa thấp Page-Jones (1980) đưa bảy mức kết dính theo thứ tự kết dính tăng dần sau đây: 1- Kết dính gom góp: Các phần cùa thành phần khơng liên quan với nhau, song lại bị bó vào thành phần 2- Kết dính hội hợp logic: Các thành phần thực chức tương tự (xử lý lỗi, cập nhật, ) đặt vào thành phần 3- Kết dính theo thời điểm: Tất cà thành phần hoạt hóa lúc (cùng bằt đầu, kết thúc, ) ghép lại với 4- Kết dính thú lục: Các phần tử thành phần ghép lại dãy điều khiển 5- Kết dinh truyền thông Tất phần tử thành phần thao tác liệu vào đưa liệu 143 6- Kết dính Trong thành phần, phần tử vào cùa phần tử khác 7- Ket dính chĩrc Mỗi phần cùa thành phần cần thiết để thực chức Các lớp kết dính khơng định nghĩa chặt chẽ dễ xác định Một đối tượng kết dính thể thực thể đơn, tức phép tốn mà thực nằm Vậy có lớp kết dính là: 8- Kết dính đối tượng: Mỗi phép tốn thực chức Các chức tác động chì lên thuộc tính cùa đối tượng để cải biên, tra sử dụng chúng làm sở cho việc cung cấp dịch vụ đối tượng 5.6.1.2 Sự ghép nối Ghép noi (coupling) ch i mức độ độc lập đơn vị thành phần cùa mội chương trình Hệ thống có ghép nối cao có độ liên kết mạnh thành phần, làm chúng phụ thuộc lẫn nhiều Hệ thống ghép nối lỏng lẻo làm cho thành phần trở nên độc lập tương đối độc lập với Sự ghép nối thành phần với thành phần khác thể số lượng mối liên kết phụ thuộc với thành phần khác, nhu chất mối quan hệ Chẳng hạn, mối quan hệ đồng (gọi chờ đáp lại) chặt mối quan hệ không đồng (gửi thông báo đi) Thùa kế hệ thống hướng đối tượng dẫn tới dạng ghép nối chặt lớp có quan hệ kế thừa Việc tối thiểu hố ghép nối khơng phải ln ln thực Page-Jones (1980) giới thiệu năm loại ghép nối trinh bày theo thứ tự từ tốt đến xấu: 1- Ghép nối liệu: Các mô-đun truyền thông với phần tử liệu hay thơng tin điều khiển (cờ) Khơng mơ-đun biết diễn mơ-đun khác 144 2- Ghép nhũn Các liệu gứi di nhũng cấu trúc liệu hay toàn ghi Sự thay đổi cấu trúc liệu tác động lên mơđun sử dụng nó, chúng phụ thuộc nhiều 3- Ghép diều khiến: Việc điều khiển xẩy mô-đun gừi Ihôiiịỉ Un điều khiển đến mô-đun khác Thông tin thề cờ sơ đồ cấu trúc, thơng báo cho mơ-đun nhận cần phái làm 4- Ghép nối chung Khi hai mơ-đun tham chiếu đến liệu tổng thể, chúng xem ghép nối chung Trong số ngôn ngữ cho phép có vùng liệu tổng thể lỗi từ vùng liệu tống thể có nguy lan toàn hệ thống 5- Ghép nồi nội dung Loại xẩy mô-đun trục tiếp tham chiếu đến hoạt động cùa mô-đun khác Đây loại ghép nối xấu Các lớp kết dính ghép nối không định nghĩa chặt chẽ dễ xác định Việc nhận diện chúng vận dụng chúng thiết kế kiến trúc cần có kinh nghiệm thực tiễn 5.6.1.3 Hình thái Hình thái (morphology) cùa lược đồ mội biếu cùa chai lượng [1] Khi từ mức xuống mức dưới, nhành cùa lược đồ chương trinh xòe (rẽ thành nhiều nhánh) hay chụm vào (chập vào mơ-đun) Nhìn cách tồn thể, lược đồ chương trình nên xịe ưên chụm lại Thông thường thi lược đồ chương trình, mơ-đun phía chức chúng nặng điều khiển nhẹ xử lý Trái lại, mô-đun thấp phía tính điều khiển nặng xù lý hay dịch vụ Bởi xuất nhiều điểm chụm phía nghĩa có nhiều dịch vụ sử dụng sử dụng lại nhiều lần, nhiều chỗ Sừ dụng lại mục tiêu thiết kế mô-đun, thể lược đồ chương trinh chụm lại Chúng ta gọi phạm vi điều khiển cùa mơ-đun phần lược đồ chương trình bao gồm mơ-đun mơ-đun phụ thuộc (được gọi) trực 145 tiếp hay gián tiếp từ Ta gọi phạm vi ảnh hường định phần lược đồ chương trinh bao gồm mô-đun chịu ảnh hường định Vi du 5.5: Trong hình 5.27, phạm vi điều khiển cùa A A, B, điều khiển D D, c c, E, F, G Nếu D có định qdl định dùng c, E, F phạm vi kết phạm vi ảnh hưởng cùa qdl c, E, F Hình 5.27 Minh h(X! lược đồ chutrng trình Một thiết kế tốt phải tạo lược đồ chương trình, đó: - Các định phải có miền ảnh hưởng hẹp tốt; - Mỗi phạm vi ảnh hưởng phải nằm phạm vi điều khiển tương úng 5.6.2 Các hưthtỊỊ dẫn thiết ké kiến trúc Để có thiết kế tốt cần tuân thủ nguyên tẳc sau [17]: - Hệ thống cần mơ-đun hóa, tức cần tổ chức thành hệ phân cấp với số đơn vị nhỏ hơn; - Mỗi mơ-đun cần kiểm sốt chức cú số hợp lý mô-đun mức thấp hơn; - Các mô-đun cần độc lập tương nhau, cho không chức mơ-đun ảnh hưởng đến việc bên mô-đun khác, tức tổng số truyền thông mô-đun cần phải đạt tối thiểu; 146 -Mỗi mơ-đun cần có kích thước hợp lý; -Cần làm mịn cho moi mô-đun thực chi chức năng; -Mã hóa mơ-đun cần khái qt tới mức cho mơ-đun sừ dụng lại nhiều lần hệ thống Từ nguyên tắc trên, người ta cụ thể hóa số hướng dẫn thiết kế kiến trúc [17]: ì- Phản chia hệ íhống ihùnh phàn nho hơn: chia nhó hệ thong ihành Ihùnh phần nhị đen /nút•can thiết; 2- M rộHỊỊ kiêm tra: khơng mơ-đun kiêm sối q mơ-đun con; 3- Ghép noi: lối thiêu hóa việc m rộng mô-đun độc lập với mơ-đun khác Làm đè tối thiếu hóa Iruyền thông mô-đun Trong Iruừrtg hợp lốt nhai, s ự giao tiếp chi phần tứ d ữ liệu gùi vả cờ dieu khiển; 4- Chọn kích cữ hợp lý: mơ-đun hạn ché từ 50 đến 100 dịng lệnh; 5- Bào đảm két dính: m rộng thảnh phần đến mức củ thể cho lệnh mô-đun thuộc chức Ta mơ tá xác chức mà mơ-đun thực với số lừ nhất, với (ối íhiéu số Imrtìg từ “và", “h oặc”; 6- Tạo mô-đun sử dụng chung: Ihiết kế mơ-đun mức íhấp cho dược nhiều mô-đun khác gọi đèn Ý lường phục vu u cầu kích ihước hợp lý nhằm làm cho mơ-đun đù nhó đề nhà lập trình hiếu nó, d ễ sửa đỏi đù nhó đé trở thành thao lác bàn mà nhiều thành phần khác củ thể s dụng lại đuợc S ự ghép đưực ghi biểu đỏ cấu trúc thông qua việc tli chuyển ghép nối liệu hay cờ mơ-đun TĨM TẢT CHƯƠNG Kiến trúc phần mềm hiểu cấu trúc tổng thể cùa phần mềm qua cung cấp tích hợp mặt khái niệm cùa hệ thống Ở 147 dạng đơn giản nhất, kiến trúc phần mềm cấu trúc phân cấp thành phần chương trình qua thể tương tác chúng với cấu trúc liệu mà chúng sử dụng Kiến trúc có vai trị quan trọng phát triển phần mềm Nó lả cơng cụ giao tiếp người có liên quan đến phát triển hệ thống; dùng để phân tích hệ thống giúp sử dụng lại quy mô lớn Mục tiêu chủ yếu cùa thiết kế kiến trúc phát triển cấu trúc chương trinh mô-đun biểu diễn mối quan hệ điều khiển mô-đun Thiết kế kiến trúc giai đoạn đầu cùa q trình thiết kế Nó biểu diễn kết nối đặc tả yêu cầu tiến trinh thiết kế Nó thường tiến hành song song với hoạt động đặc tả phần mềm bao gồm việc xác định thành phần hệ thống giao tiếp chúng Thiết kế kiến trúc tập trung vào việc biểu diễn cấu trúc thành phần phần mềm, thuộc tính cùa chúng tương tác chúng Kiến trúc phần mềm mô tả dạng mơ hình khác Các mơ hình kiến trúc phát triển thường nhìn nhận số mặt kiến trúc tĩnh, tiến trình động, giao diện đưa dịch vụ mà hệ cung cấp, mối liên kết hệ hay thành phần Có hai phương pháp để tạo kiến trúc phân hoạch kiến trúc theo kiểu ngang hay kiểu dọc tạo kiến trúc từ sơ đồ luồng liệu Chú ý rằng, hai kiểu phân hoạch dễ kiểm thử, bảo trì, dễ mờ rộng có hạn chế có hiệu ứng phụ sửa đồi Ba hoạt động chung cho tiến trình thiết kế kiến trúc là: 1-Cấu trúc hệ thống thành số hệ thống con; 2-Thiết lập mơ hình chung mơ tả mối quan hệ điều khiển phần hệ thống; 3-Phân rã mơ-đun Có nhiều cách phân tích đặc tả yêu cầu phần mềm thành đặc tả kiến trúc Mặc dầu cách cố cách tiếp cận khác để suy kiến trúc, tất thừa nhận tầm quan trọng cùa nhìn chung phần mềm Phương 148 pháp phồ cập để tạo kiến trúc phương pháp tạo kiến trúc dựa vào sơ đồ luồng liệu Thiết kế hướng luồng liệu thường gọi “thiết kế có cấu trúc” có nguồn gốc từ khái niệm ban đầu nhấn mạnh vào tính mơ-đun, với cách tiếp cận topdovvn lập trình có cấu trúc Phương pháp thiết kế áp dụng cho phạm vi rộng miền ứng dụng Muốn bảo đảm chất lượng thiết kế kiến trúc phần mềm, cần phải tuân theo số tiêu chuẩn nguyên tắc thiết kế định CÂU HỎI CHƯƠNG /- Kiến Irúc có phai thành phần hoạt động hệ thong? Tại sau iiịỊUxri la phai quan lâm đèn đặc tá thiết ké kiến trúc phàn mềm ? Kiến trúc phần mềm thể qua hai đặc trung quan trọng cùa chương trình máy tính? 3.Ý nghĩa cùa cấu trúc liệu? Mục tiêu chủ yếu cùa thiết kế kiến trúc gi? Thiết kế kiến trúc tập trung vào cơng việc gì? Trong cơng nghệ xây dựng kiến trúc hệ thống, B ướcl- Phân rã hệ thống thành tập hệ thống con, hệ thống lớn người ta thường dùng cách tiếp cận theo hướng đối tuợng hay hướng cấu trúc?, sao? Trong quy trinh thiết kế kiến trúc chương trình, buớc chi cần xây dựng mơ hỉnh luồng liệu nghiệp vụ có khơng?, sao? Biểu đồ chung để biểu diễn mô hình kiến trúc cùa hệ thống gỉ? mơ tả sơ luợc nó? Có phương pháp để tạo kiến trúc phần mềm, nêu rõ điều kiện để sù dụng phương pháp đó? 10 Nêu số tiêu chuẩn cho thiết kế kiến trúc phần mềm? Dựa vào Anh/chị đưa số hướng dẫn thiết kế kiến trúc riêng mình? 149 BÀI TẬP CHƯƠNG Bài tập 5.1 Đặc tả kiến trúc phần từ sơ đồ luồng d ữ liệu sau: Bài tập 5.2 Đặc tà kiến trúc phần mềm từ sơ đồ luồng d ữ liệu sau: 150 ... VÊ CÔNG NGHỆ PHÀN MẺM 18 1. 1 Định nghĩa phần mềm 18 1. 2 Định nghĩa công nghệ phần m ềm 19 1. 3 Sự khác biệt công nghệ phần mềm với kỹ ngh? ?phần m ềm 20 1. 4 Sự khác biệt kỹ nghệ. .. niệm phần mềm, công nghệ phần mềm, phuưng pháp kỹ nghệ phần mềm, bàn thợ C.ASE, tiêu chuẩn cùa phần mềm lốt, thách thức công nghệ phần mềm, khái quát số hướng kỹ nghệ phần mềm điển hình 1. 1 Định... làm phần mềm ứng dụng cơng nghệ thơng tin vào thực tiễn Giáo trình Cồng nghệ phần mềm nâng cao gồm 10 chương: Chương I - Tổng quan cơng nghệ phần mềm: trình bày nét chung công nghệ phẩn mềm Chiirmg