ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Minh Quý TÍCH HỢP ATAM-CBAM TRONG ĐÁNH GIÁ KIẾN TRÚC PHẦN MỀM VÀ ÁP DỤNG CHO DỰ ÁN VANCO-NETDIRECT TẠI CÔNG TY PHẦN MỀM FSOFT LU
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Minh Quý
TÍCH HỢP ATAM-CBAM TRONG ĐÁNH GIÁ KIẾN TRÚC PHẦN MỀM VÀ ÁP DỤNG CHO DỰ ÁN VANCO-NETDIRECT TẠI CÔNG TY PHẦN MỀM FSOFT
LUẬN VĂN THẠC SỸ
HƯNG YÊN 2/2008
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Minh Quý
TÍCH HỢP ATAM-CBAM TRONG ĐÁNH GIÁ KIẾN TRÚC PHẦN MỀM VÀ ÁP DỤNG CHO DỰ ÁN VANCO-NETDIRECT TẠI CÔNG TY PHẦN MỀM FSOFT
Ngành : Công nghệ thông tin Chuyên ngành: Công nghệ phần mềm
Mã số:………
LUẬN VĂN THẠC SỸ
Người hướng dẫn Khoa học PGS.TS HUỲNH QUYẾT THẮNG
Hưng Yên - 2008
Trang 3LỜI CẢM ƠN
Em xin được gửi lời cảm ơn chân thành và sâu sắc nhất tới thầy giáo PGS-TS.Huỳnh Quyết Thắng, Phó Trưởng Khoa Công nghệ thông tin - Trường Đại học Bách Khoa Hà nội, là người đã tận tình dìu dắt và hướng dẫn em hoàn thành luận văn tốt nghiệp này – một người mà em luôn ngưỡng mộ, là tấm gương mẫu mực về nghiên cứu khoa học, về nhân cách sống để em học hỏi Trong suốt thời gian đó, Thầy đã dành nhiều tâm huyết và thời gian quí báu để động viên, giúp đỡ và thôi thúc em đạt được kết quả như ngày hôm nay
Em xin chân thành cảm ơn các thầy cô giáo trong khoa Công nghệ thông tin và các thầy cô giảng dạy trong trường Đại học Công nghệ - Đại học Quốc gia Hà Nội, đặc biệt
là các thầy cô PGS.TS Nguyễn Ngọc Bình, PGS.TS Trịnh Nhật Tiến, T.S Nguyễn Việt
Hà, PGS.TS Nguyễn Văn Vỵ, PGS.TS Nguyễn Đình Hóa, PGS-T.S Nguyễn Đình Việt, T.S Bùi Thế Duy, T.S Nguyễn Đại Thọ, T.S Trương Ninh Thuận,… đã truyền đạt kiến thức và giúp đỡ em trong suốt thời gian là học viên của Trường Đại học Công nghệ
Em cũng xin được cảm ơn TS Võ Thanh Bình, nguyên Hiệu trưởng Trường Đại học Sư phạm Kỹ thuật Hưng Yên, Th.S Ngô Hữu Tình – Trưởng Khoa CNTT, Th.S Lê Tiến Đăng – Trưởng Phòng TCCB và lãnh đạo các phòng ban chức năng của trường ĐHSPKT Hưng yên đã tạo mọi điều kiện tốt nhất để em hoàn thành khóa học này
Luận văn sẽ không thể hoàn thành nếu không có sự chia sẻ và gánh vác công việc giảng dạy giúp tôi của các thầy cô giáo trong khoa Công nghệ thông tin – ĐHSPKT Hưng Yên đặc biệt là Bộ môn Công nghệ phần mềm Tôi xin mãi ghi nhận những tình cảm của các thầy cô Ngô Hữu Tình, Võ Thanh Mai, Ngô Thanh Huyền, Nguyễn Văn Hậu, Phạm Minh Chuẩn, Trịnh Thị Nhị, Nguyễn Hữu Đông, Hoàng Trọng Thế,… và nhiều thầy cô giáo khác
Nhân đây cũng xin chân thành cảm ơn những đồng nghiệp đang làm việc tại G8-D1, Công ty cổ phần phần mềm FSOFT, đã giúp đỡ tôi có điều kiện khảo sát và áp dụng
phương pháp phân tích kiến trúc ATAM-CBAM vào dự án thực tế Vanco-NetDirect
trong suốt thời gian tôi công tác tại đây
Cuối cùng, tôi xin bày tỏ lòng biết ơn đến gia đình và bạn bè đã động viên và giúp
đỡ rất nhiều trong suốt quá trình tôi học tập và làm luận văn này
Mặc dù có nhiều cố gắng nhưng do thời gian và trình độ có hạn nên luận văn không thể tránh khỏi những thiếu sót Em rất mong nhận được những ý kiến đóng góp quý báu từ các thầy cô và các bạn
Hưng Yên ngày 20/1/2008
Học viên: Nguyễn Minh Quý
Lớp cao học : K12-T2-CNPM
Trang 4MỤC LỤC
LỜI CẢM ƠN 3
MỤC LỤC 4
DANH MỤC CÁC HÌNH 7
DANH MỤC CÁC BẢNG 8
MỞ ĐẦU 9
1 Giới thiệu 9
2 Mục tiêu của luận văn 10
3 Cấu trúc và nội dung của luận văn 10 CHƯƠNG 1: TỔNG QUAN VỀ PHƯƠNG PHÁP ĐÁNH GIÁ KIẾN TRÚC PHẦN MỀM – SOFTWARE EVALUATION Error! Bookmark not defined 1.1 Tổng quan Error! Bookmark not defined.
1.1.1 Một số định nghĩa về kiến trúc phần mềm Error! Bookmark not defined 1.1.2 Tầm quan trọng của kiến trúc phần mềm Error! Bookmark not defined 1.1.3 Kiến trúc và khung nhìn kiến trúc Error! Bookmark not defined 1.1.4 Lý do cần phải đánh giá một kiến trúc Error! Bookmark not defined 1.1.5 Khi nào thì đánh giá kiến trúc Error! Bookmark not defined 1.1.6 Những thành phần tham gia đánh giá kiến trúc Error! Bookmark not defined 1.1.7 Kết quả của phiên đánh giá kiến trúc Error! Bookmark not defined 1.1.8 Thuộc tính chất lượng nào trong kiến trúc cần phải đánh giá Error! Bookmark not defined 1.1.9 Lợi ích và chi phí của việc đánh giá kiến trúc Error! Bookmark not defined 1.1.10 Phong cách kiến trúc & Mẫu kiến trúc (Architecture Styles & Pattern)Error! Bookmark not defined 1.1.11 Các quyết định kiến trúc – Architecture Decisions Error! Bookmark not defined.
1.2 Thuộc tính chất lượng Error! Bookmark not defined 1.3 Một số thuật ngữ thông dụng Error! Bookmark not defined.
1.3.1 Senario Error! Bookmark not defined 1.3.2 Stakeholder Error! Bookmark not defined 1.3.3 Business Driver Error! Bookmark not defined 1.3.4 Architecture Driver Error! Bookmark not defined.
CHƯƠNG 2: MỘT SỐ PHƯƠNG PHÁP ĐÁNH GIÁ KIẾN TRÚC PHẦN MỀM DỰA TRÊN SCENARIO Error! Bookmark not defined 2.1 Phương pháp phân tích kiến trúc phần mềm – SAAM (Software Architecture Analysis Method) Error! Bookmark not defined.
2.1.1 Ngữ cảnh sử dụng SAAM Error! Bookmark not defined 2.1.2 Mục tiêu của SAAM Error! Bookmark not defined 2.1.3 Các yếu tố dẫn đến sự hình thành của SAAM Error! Bookmark not defined 2.1.4 Các yêu cầu và đầu vào của SAAM Error! Bookmark not defined 2.1.5 Các bước thực hiện trong phiên đánh giá SAAM Error! Bookmark not defined 2.1.6 Các đối tượng tham gia phiên đánh giá SAAM Error! Bookmark not defined 2.1.7 Ước lượng chi phí áp dụng SAAM Error! Bookmark not defined 2.1.8 Công cụ hỗ trợ SAAM Error! Bookmark not defined 2.1.9 Các phương pháp thay thế SAAM Error! Bookmark not defined 2.1.10 Điểm mạnh và đầu ra của SAAM Error! Bookmark not defined 2.11 Một số lưu ý về SAAM Error! Bookmark not defined.
2.2 Phương pháp ALMA – Architecture Level Modifiability Analysis Error! Bookmark not defined.
2.2.1 Ngữ cảnh sử dụng ALMA Error! Bookmark not defined 2.2.2 Mục tiêu của ALMA Error! Bookmark not defined 2.2.3 Các yếu tố dẫn đến sự hình thành của ALMA Error! Bookmark not defined 2.2.4 Các yêu cầu và đầu vào của ALMA Error! Bookmark not defined.
Trang 52.2.5 Các bước thực hiện phiên đánh giá ALMA Error! Bookmark not defined.
2.2.6 Các đối tượng/ vai trò tham gia trong ALMA Error! Bookmark not defined.
2.2.7 Ước lượng chi phí khi áp dụng ALMA Error! Bookmark not defined.
2.2.8 Công cụ hỗ trợ ALMA Error! Bookmark not defined.
2.2.9 Các phương pháp thay thế cho ALMA Error! Bookmark not defined.
2.2.10 Những ưu điểm và đầu ra của ALMA Error! Bookmark not defined.
2.2.11 Một số lưu ý về ALMA Error! Bookmark not defined.
2.3 Phương pháp đánh giá kiến trúc FAAM (Family-Architecture Assessment Method)Error! Bookmark
not defined.
2.3.1 Ngữ cảnh sử dụng FAAM Error! Bookmark not defined.
2.3.2 Mục tiêu của FAAM Error! Bookmark not defined.
2.3.3 Những yếu tố dẫn đến sự hình thành của FAAM Error! Bookmark not defined.
2.3.4 Các yêu cầu và đầu vào của FAAM Error! Bookmark not defined.
2.3.5 Các bước trong một phiên đánh giá FAAM Error! Bookmark not defined.
2.3.6 Các đối tượng tham gia phiên đánh giá FAAM Error! Bookmark not defined.
2.3.7 Ước lượng chi phí khi áp dụng FAAM Error! Bookmark not defined.
2.3.8 Công cụ hỗ trợ FAAM Error! Bookmark not defined.
2.3.9 Các thay thế cho FAAM Error! Bookmark not defined.
2.3.10 Các ưu điểm và đầu ra của FAAM Error! Bookmark not defined.
2.4 Phương pháp phân tích cân bằng kiến trúc-ATAM (Architecture Tradeoff Analysis Method)Error!
Bookmark not defined.
2.4.1 Giới thiệu phương pháp Error! Bookmark not defined.
2.4.2 Mô tả thuộc tính chất lượng Error! Bookmark not defined.
2.4.3 Scenario Error! Bookmark not defined.
2.4.4 Đầu ra của ATAM Error! Bookmark not defined.
2.4.5 Chi tiết các bước thực hiện phiên đánh giá ATAM Error! Bookmark not defined.
2.4.6 Đối tượng tham gia phiên đánh giá ATAM Error! Bookmark not defined.
2.4.7 Ước lượng chi phí khi áp dụng phương pháp ATAM Error! Bookmark not defined.
2.4.8 Công cụ hỗ trợ ATAM Error! Bookmark not defined.
2.4.9 Các phương pháp thay thế cho ATAM Error! Bookmark not defined.
2.4.10 Đầu ra và điểm mạnh của ATAM Error! Bookmark not defined.
2.4.11 Lịch biểu thực hiện một phiên đánh giá ATAM điển hình Error! Bookmark not defined.
2.5 Phương pháp đánh giá kiến trúc phần mềm CBAM (Cost-Benefit Analysis Method)Error! Bookmark
not defined.
2.5.1 Bối cảnh hình thành phương pháp CBAM Error! Bookmark not defined.
2.5.2.Mục tiêu của CBAM Error! Bookmark not defined.
2.5.3 Các yếu tố dẫn đến sự phát triển CBAM Error! Bookmark not defined.
2.5.4 Yêu cầu và đầu vào của CBAM Error! Bookmark not defined.
2.5.5 Các bước thực hiện phiên đánh giá CBAM Error! Bookmark not defined.
2.5.6 Các đối tượng tham gia trong CABM Error! Bookmark not defined.
2.5.7 Ước lượng chi phí khi áp dụng CBAM Error! Bookmark not defined.
2.5.8 Công cụ hỗ trợ CBAM Error! Bookmark not defined.
2.5.9 Các phương pháp thay thế CBAM Error! Bookmark not defined.
2.5.10 Mục tiêu và ưu điểm của CBAM Error! Bookmark not defined.
2.6 So sánh một số đặc điểm của các phương pháp đánh giá kiến trúc Error! Bookmark not defined.
Chương 3: TÍCH HỢP ATAM-CBAM VÀ ĐỀ XUẤT QUI TRÌNH ĐÁNH GIÁ.Error! Bookmark not defined 3.1 Hướng tiếp cận tích hợp ATAM và CBAM Error! Bookmark not defined.
3.2 Cải tiến ATAM Error! Bookmark not defined.
3.3 Cải tiến CBAM Error! Bookmark not defined.
3.4 Đề xuất qui trình Error! Bookmark not defined.
Chương 4: ÁP DỤNG QUI TRÌNH TÍCH HỢP ATAM-CBAM PHÂN TÍCH KIẾN TRÚC CHO DỰ ÁN VANCO-NETDIRECT Error! Bookmark not defined.
4.1 Mô tả dự án Vanco-NetDirect Error! Bookmark not defined.
4.1.1 Thông tin sơ bộ Error! Bookmark not defined.
Trang 64.2 Mô tả các Business drivers Error! Bookmark not defined.
4.2.1 Mục tiêu doanh nghiệp (Business goals) Error! Bookmark not defined 4.2.2 Các yêu cầu chính (Yêu cầu về chất lượng) Error! Bookmark not defined 4.2.3 Bối cảnh doanh nghiệp Error! Bookmark not defined.
4.3 Vận dụng ATAM-CBAM đánh giá kiến trúc Error! Bookmark not defined.
4.3.1 Phát triển các scenario Error! Bookmark not defined 4.2 Gán mức ưu tiên cho các scenario Error! Bookmark not defined 4.3 Xác định các tiếp cận kiến trúc Error! Bookmark not defined.
4.5 Đánh giá kết quả Error! Bookmark not defined KẾT LUẬN Error! Bookmark not defined PHỤ LỤC 1 Error! Bookmark not defined Vanco-NetDirect Software Requirement Specification Error! Bookmark not defined.
1 Functional requirements Overview Error! Bookmark not defined.
2 Core modules Error! Bookmark not defined.
3 Non-Functional core requirements Error! Bookmark not defined.
3.1 Performance Error! Bookmark not defined 3.2 Scalability Error! Bookmark not defined 3.3 Reliability Error! Bookmark not defined 3.6 Supportability Error! Bookmark not defined.
PHỤ LỤC 2 DANH MỤC CÁC TỪ VIẾT TẮT Error! Bookmark not defined TÀI LIỆU THAM KHẢO 11
Trang 7DANH MỤC CÁC HÌNH
Hình 1 - Ví dụ mô tả kiến trúc điển hình nhưng không đem lại thông tinError! Bookmark not
defined
Hình 2 - Sáu thuộc tính chất lượng phần mềm theo ISO-9126Error! Bookmark not defined Hình 3 - Mô hình tiến trình của SAAM Error! Bookmark not defined
Hình 4 - Mô hình phân tích ATAM Error! Bookmark not defined
Hình 5 - Mô hình tiến trình của ATAM Error! Bookmark not defined
Hình 6 – Mô tả thuộc tính chất lượng – Performance StimuliError! Bookmark not defined Hình 7 – Mô tả thuộc tính chất lượng – Performance ResponseError! Bookmark not defined Hình 8 - Mô tả thuộc tính chất lượng – Performance ParametersError! Bookmark not defined Hình 9 - Mô tả thuộc tính chất lượng – Modifiability ParamError! Bookmark not defined Hình 10 - Mô tả thuộc tính chất lượng – Modifiability AvailabilityError! Bookmark not defined Hình 11 – Ví dụ về cây tiện ích (Utility Tree) Error! Bookmark not defined
Hình 12 – Đầu vào, đầu ra của ATAM Error! Bookmark not defined
Hình 13 - Các khung nhìn khác nhau về hệ thống Error! Bookmark not defined
Hình 14 - Đầu vào và đầu ra của CBAM Error! Bookmark not defined
Hình 15 - Đầu vào và đầu ra của ATAM-CBAM sau khi tích hợpError! Bookmark not defined Hình 16 - Đầu vào, đầu ra và thành phần tham gia ATAM Error! Bookmark not defined
Bảng 17 - Sự lặp lại một số hoạt động của ATAM trong phiên CBAM.Error! Bookmark not
defined
Hình 18 - Vai trò của Vanco trong cung cấp dịch vụ Error! Bookmark not defined
Hình 19 - Sản phẩm của dự án Vanco-Netdirect phase 2 trên websiteError! Bookmark not
defined
Trang 8DANH MỤC CÁC BẢNG
Bảng 1 – Các thuộc tính chất lượng theo chuẩn ISO 9126 Error! Bookmark not defined
Bảng 2 – Stakeholder và các mối quan tâm của họ Error! Bookmark not defined
Bảng 3 - Bảng mẫu mô tả Business drivers Error! Bookmark not defined
Bảng 4 - Mẫu trình diễn kiến trúc Error! Bookmark not defined
Bảng 5 - Mẫu ghi nhận các tiếp cận kiến trúc (Architectural approach)Error! Bookmark not
defined
Bảng 6 - Ví dụ về mô tả một tiếp cận kiến trúc Error! Bookmark not defined
Bảng 7 - Ví dụ về kết quả Vote các scenario Error! Bookmark not defined
Bảng 8 - Mối liên quan giữa scenario và thuộc tính chất lượngError! Bookmark not defined Bảng 9 – Bảng so sánh một số phương pháp phân tích kiến trúc phần mềmError! Bookmark not
defined
Bảng 10 - Cải tiến ATAM Error! Bookmark not defined
Bảng 11 - Cải tiến CBAM Error! Bookmark not defined
Bảng 12 - Danh sách những người tham gia dự án Error! Bookmark not defined
Trang 9MỞ ĐẦU
1 Giới thiệu
Kiến trúc là một trong các hoạt động chính của tiến trình phát triển hệ thống Kết quả của hoạt động này cho ta bản thiết kế ở mức cao của hệ thống đó - hay còn được gọi là kiến
trúc hệ thống (System Architecture) Kiến trúc cũng có thể được định nghĩa như là Tổ chức cơ bản của hệ thống, được thể hiện bởi các thành phần, các mối quan hệ và môi trường, cũng như các nguyên tắc để quản lý tiến trình và sự phát triển (IEEE standard Page 1471) [1]
Tương tự như vậy, trong qui trình phát triển phần mềm (SLC) thì kiến trúc phần mềm (Software Architecture) đóng một vai trò vô cùng quan trọng, bởi nó ảnh hưởng trực tiếp đến tất cả các công đoạn còn lại của cả chu trình Việc lựa chọn kiến trúc phù hợp có ý nghĩa rất lớn tới chất lượng của dự án (thể hiện qua các thuộc tính chất lượng phần mềm, như: tính bảo mật, hiệu năng, khả năng sửa đổi,…) Tuy nhiên vấn đề đặt ra là liệu có thể đánh giá sớm được một kiến trúc nào đó là ―Tốt‖ hơn hay không ? để từ đó giúp những nhà quản lý đạt được hiệu quả cao nhất trong quá trình phát triển phần mềm đồng thời giảm thiểu tối đa các rủi ro có thể xảy ra
Câu trả lời ở đây là ―Các kiến trúc hoàn toàn có thể được phân tích‖, vì vậy chúng ta đều
có thể đánh giá một kiến trúc là tốt hay tồi theo một khía cạnh hay ngữ cảnh nào đó trước khi tiến hành quá trình thiết kế dự án
Chính vì tầm quan trọng đó mà trong những năm gần đây việc nghiên cứu về đánh giá kiến trúc phần mềm (Software Architecture Evaluation – SWA) đã nhận được rất nhiều
sự quan tâm của những nhà nghiên cứu trong lĩnh vực kỹ nghệ phần mềm (Software Engineering)
Ở nước ta hiện nay, lĩnh vực nghiên cứu về Kiến trúc phần mềm chưa thực sự được quan tâm nhiều, hơn nữa việc áp dụng các kết quả có liên quan đến kiến trúc phần mềm trong các dự án còn gặp nhiều hạn chế Cụ thể là, đối với các dự án phát triển phục vụ Outsourcing thì kiến trúc cho hệ thống đều được phía đối tác nước ngoài phân tích và xây dựng sẵn, còn đối với những dự án trong nước hay những dự án mà chúng ta xây dựng từ A-Z thì kiến trúc phần mềm được lựa chọn chủ yếu dựa theo kinh nghiệm mà ít có sự phân tích một cách bài bản, khoa học
Thực tế ở một số công ty phát triển phần mềm cho thấy rằng, việc xem nhẹ hoặc hiểu biết không sâu sắc về kiến trúc có thể gây ra những hậu quả nghiêm trọng Chi phí về tiền bạc, thời gian và nhân lực có thể tăng lên rất cao nếu lựa chọn kiến trúc sai hoặc không phù hợp [2] Nhiều trường hợp, toàn bộ hệ thống có thể phải bỏ đi để xây dựng lại từ đầu hoặc tồi tệ hơn đó là dự án bị thất bại hoàn toàn
Chính nhờ nhận thức về tầm quan trọng đặc biệt của kiến trúc phần mềm, đồng thời trải nghiệm qua những dự án phần mềm thực tế, em thấy rằng việc đầu tư nghiên cứu về lĩnh vực này là vô cùng cần thiết
Trang 102 Mục tiêu của luận văn
Mục tiêu chủ yếu của luận văn này là đi tìm hiểu, phân tích 2 phương pháp phân tích kiến trúc phần mềm dựa trên Senario là ATAM (Architecture Trade-off Analysis method) và CBAM (Cost Benefit Analysis Method), sau đó tìm ra qui trình kết hợp giữa 2 phương pháp này và thực hành áp dụng chúng vào dự án thực tế - Dự án Vaco-NetDirect - tại công ty cổ phần phần mềm FSoft
3 Cấu trúc và nội dung của luận văn
Cấu trúc của luận văn bao gồm 4 chương (Không kể mục lục, phụ lục,…), thể hiện từ khái niệm, phương pháp luận cho đến thực hành áp dụng
Dưới đây là mô tả nội dung cơ bản của từng chương:
Chương 1: Tổng quan về phương pháp đánh giá kiến trúc phần mềm Chương này
chủ yếu giới thiệu về các định nghĩa, khái niệm cơ bản liên quan đến kiến trúc phần mềm, đồng thời cũng cho biết vị trí, vai trò và tầm quan trọng của kiến trúc phần mềm trong thiết kế phần mềm – đặc biệt là các phần mềm đòi hỏi chất lượng cao
Chương 2: Một số phương pháp đánh giá kiến trúc phần mềm dựa trên scenario
Chương này giới thiệu và phân tích 5 phương pháp đánh giá kiến trúc phần mềm dựa trên
scenario đang được sử dụng rộng rãi hiện nay là: SAAM (Software Architecture Analysis Method), ALMA (Architecture Level Modifiability Analysis), FAAM (Family Architecture Analysis Method), ATAM (Architecture Tradeoff Analysis Method) và
CBAM (Cost-Benefit Analysis Method) Trong đó hai phương pháp ATAM và CBAM
được mô tả chi tiết hơn
Ngoài ra, chương này cũng thực hiện việc so sánh 5 phương pháp này ở một số khía cạnh, cho biết rõ hơn về những điểm mạnh, yếu và phạm vi áp dụng của từng phương pháp
Chương 3: Tích hợp ATAM –CBAM và đề xuất qui trình đánh giá Chương này phân
tích một số đặc điểm của phương pháp ATAM và CBAM, cải tiến và bổ sung một số hoạt động bên trong để có một phương pháp phân tích mới, tốt hơn và tối ưu hơn (nhưng vẫn trên nền 2 phương pháp đó) Trên cơ sở tích hợp này, đề xuất ra một qui trình đánh giá tương ứng Qui trình này sẽ được dùng để đánh giá kiến trúc cho một dự án phần mềm thực tế tại FSoft, đó là : Vanco-NetDirect
Chương 4: Áp dụng ATAM – CBAM vào đánh giá kiến trúc cho hệ thống phần
mềm Vanco-NetDirect tại công ty cổ phần phần mềm FSoft Nội dung của chương
này tập trung chủ yếu vào việc đánh giá kiến trúc phần mềm cho dự án thực tế (Vanco-NetDirect) của công ty phần mềm FSoft bằng chính hai phương pháp ATAM và CBAM
và qui trình đã xây dựng được ở chương 3