Đề tài Tìm hiểu quy trình phát triển phần mềm hướng đối tượng

Phần mềm hiện nay có mặt ở mọi lĩnh vực, trong mọi hoạt động của cuộc sống như công nghiệp, viện nghiên cứu, trường học, bệnh viện, tài chính ngân hàng, chính phủ. Hầu hết các thiết bị điện tử hiện nay và trong tương lai đều được cài đặt các phần mềm điều khiển. Việc đặc tả các yêu cầu, phát triển, quản lí, bảo trì phần mềm tạo nên các nguyên tắc của công nghệ phần mềm (software engineering). Trong các loại phần mềm hiện nay thì phần mềm hướng đối tượng đang phát triển vô cùng mạnh mẽ. Do nó đáp ứng được hầu hết các yêu cầu người dùng, và do sự phát triển mạnh mẽ của các ngôn ngữ hướng đối tượng như C++, Java, C#. Phương pháp phát triển phần mềm hướng đối tượng tuy là một phương pháp mới trong những năm gần đây nhưng đã chứng tỏ được ưu thế khi lập trình các hệ thống phức tạp, đem lại những thành quả to lớn. Các nhà phát triển phần mềm nhận thấy rằng phát triển phần mềm hướng đối tượng mang lại một phần mềm thương mại có chất lượng cao với độ tin cậy cao, dễ mở rộng và dễ sử dụng lại, chạy trơn tru, phù hợp với yêu cầu của người dùng và đặc biệt là khả năng phát triển cao. Trong bài báo cáo này chúng em sẽ trình bầy đến các vấn đề liên quan đến phát triển phần mềm hướng đối tượng như: phần mềm hướng đối tượng là gì, quy trình phát triển một phần mềm, các quy trình để phát triển một phần mềm hướng đối tượng,. Trong báo cáo bày còn nhiều thiếu sót mong được thầy cô và các bạn góp ý, đánh giá giúp chúng em hoàn thành đề tài này.

docx25 trang | Chia sẻ: lvbuiluyen | Lượt xem: 2794 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Tìm hiểu quy trình phát triển phần mềm hướng đối tượng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Luận văn báo cáo Đề tài: Tìm hiểu quy trình phát triển phần mềm hướng đối tượng Mở đầu Phần mềm hiện nay có mặt ở mọi lĩnh vực, trong mọi hoạt động của cuộc sống như công nghiệp, viện nghiên cứu, trường học, bệnh viện, tài chính ngân hàng, chính phủ... Hầu hết các thiết bị điện tử hiện nay và trong tương lai đều được cài đặt các phần mềm điều khiển. Việc đặc tả các yêu cầu, phát triển, quản lí, bảo trì phần mềm tạo nên các nguyên tắc của công nghệ phần mềm (software engineering). Trong các loại phần mềm hiện nay thì phần mềm hướng đối tượng đang phát triển vô cùng mạnh mẽ. Do nó đáp ứng được hầu hết các yêu cầu người dùng, và do sự phát triển mạnh mẽ của các ngôn ngữ hướng đối tượng như C++, Java, C#... Phương pháp phát triển phần mềm hướng đối tượng tuy là một phương pháp mới trong những năm gần đây nhưng đã chứng tỏ được ưu thế khi lập trình các hệ thống phức tạp, đem lại những thành quả to lớn. Các nhà phát triển phần mềm nhận thấy rằng phát triển phần mềm hướng đối tượng mang lại một phần mềm thương mại có chất lượng cao với độ tin cậy cao, dễ mở rộng và dễ sử dụng lại, chạy trơn tru, phù hợp với yêu cầu của người dùng và đặc biệt là khả năng phát triển cao. Trong bài báo cáo này chúng em sẽ trình bầy đến các vấn đề liên quan đến phát triển phần mềm hướng đối tượng như: phần mềm hướng đối tượng là gì, quy trình phát triển một phần mềm, các quy trình để phát triển một phần mềm hướng đối tượng,... Trong báo cáo bày còn nhiều thiếu sót mong được thầy cô và các bạn góp ý, đánh giá giúp chúng em hoàn thành đề tài này. Chúng em cũng xin được cảm ơn sự giúp đỡ tận tình của TS: LƯƠNG MẠNH BÁ trong quá trình chúng em hoàn thành báo cáo này. Nhóm sinh viên thực hiện Hà nội ngày 7 tháng 10 năm 2012 Mục lục Chương I: Giới thiệu chung về công nghệ phần mềm và phần mềm hướng đối tượng I.1: Phần mềm là gì ? ........................................................................................ I.2: Công nghệ phần mềm là gì?........................................................................ I.3: Vòng đời của phần mềm.............................................................................. I.4: Phần mềm hướng đối tượng........................................................................ Chương II: Quy trình phát triển phần mềm I: Khung quy trình phát triển phần mềm chung................................................. II: Một số mô hình phát triển phần mềm........................................................... III: Các giai đoạn trong quy trình phát triển phần mềm..................................... Chương III: Quy trình phát triển phần mềm hướng đối tượng...................................... III.1: Xác định yêu cầu....................................................................................... III.2: Phân tích yêu cầu hướng đối tượng (OOA).............................................. III.3: Thiết kế hướng đối tượng.......................................................................... III.4: Cài đặt....................................................................................................... III.5: Kiểm thử................................................................................................... 3 3 3 3 4 5 5 5 6 7 7 9 14 16 18 Chương I: Giới thiệu chung về công nghệ phần mềm và phần mềm hướng đối tượng I.1: Phần mềm là gì? Là các lệnh ( chương trình máy tính ) khi được thực hiện thì cung cấp những chức năng và kết quả mong muốn Các cấu trúc dữ liệu làm cho chương trình thao tác thông tin thích hợp Các tư liệu mô tả thao tác và cách sử dụng chương trình Nhóm các chương trình Nhóm các tư liệu Phần mềm bao gồm: Nhóm các kĩ thuật, phương pháp luận I.2: Công nghệ phần mềm là gì? Công nghệ học phần mềm là lĩnh vực khoa học về các phương pháp luận, kĩ thuật và công cụ tích hợp trong quy trình sản xuất và vận hành phần mềm nhằm tạo ra phần mềm với chất lượng mong muốn. Lịch sử phát triển của công nghệ phần mềm Giai đoạn 1 (1950 – giữa 1960): - Xử lý theo lô, xử lý tập trung, ít xử lý phân tán, ít sửa đổi phần mềm. Giai đoạn 2 (từ giữa 1960 đến giữa 1970) : - Hệ thống đa chương trình và đa nguời dùng. - Bắt đầu cuộc “khủng hoảng” phần mềm. Giai đoạn 3 (từ giữa 1970 đến giữa 1980) - Sự phát triển và sử dụng rộng rãi máy tính cá nhân - Sự phát triển của các công ty phần mềm Giai đoạn 4 (từ giữa 1980 đến nay) - Phần cứng ngày càng phát triển - Hệ thống phần mềm ngày càng đa dạng, phong phú, xử lý ngày càng phức tạp, công nghệ ngày càng phát triển… I.3: Vòng đời của phần mềm Vòng đời phần mềm là thời kỳ tính từ khi phần mềm được sinh ra cho đến khi chết đi ( từ lúc hình thành đáp ứng yêu cầu, vận hành, bảo dưỡng cho đến khi loại bỏ không dùng nữa ) Quy trình phầnmềm(vòng đờiphầnmềm) được phân chia thành các pha chính:phân tích, thiết kế, chế tạo, kiểm thử, bảo trì. Biểudiễn các pha có khác nhau theo từng người Mô hình vòng đời phần mền của Boehm Insert picture I.4: Phần mềm hướng đối tượng Là phần mềm được viết trên các ngôn ngữ hướng đối tượng như C#, Java, C++... Ngày càng phát triển mạnh mẽ do sự phát triển của xã hội đặc biệt là sự phát triển của công nghệ thông tin. Lớp và đối tượng Lớp là một kiểu dữ liệu mà người ( do người dùng định nghĩa ) dùng để tạo ra các đối tượng. Lớp là một khuân mẫu, định nghĩa các đặc điểm tính chất, hành vi, trạng thái chung của một số đối tượng. Lớp là khái niệm mang tính chất trừu tượng hóa. Đối tượng là một thực thể cụ thể của lớp. Lớp là “ảo”, đối tượng là “thật”. Đối tượng là đối tượng trong thế giới thực, thực thể cụ thể mà ta có thể sờ, nhìn thấy và cảm nhận được. VD: ô tô, cái bàn,.... Đối tượng phần mềm: Dùng để biểu diễn các đối tượng trong thế giới thực. Chương II: Quy trình phát triển phần mềm I: Khung quy trình phát triển phần mềm chung Một khung quy trình chung được thiết lập bằng cách xác định một số hoạt động khung có khả năng áp dụng cho mọi dự án phần mềm. Tập nhiệm vụ công việc cho phép các hoạt động khung thích ứng với các đặc tính và yêu cầu của dự án. Các hoạt động bao trùm (umbrella activities) đảm bảo chất lượng của phần mềm, và độc lập với bất cứ hoạt động khung nào diễn ra trong suốt quy trình. II: Một số mô hình phát triển phần mềm Mô hình tuyến tính Đây là mô hình lâu đời nhất và được ứng dụng rộng rãi nhất trong công nghệ phần mềm nhưng mô hình này vẫn còn bộc lộ nhiều nhược điểm Mô hình thuần thục khả năng Mô hình này do Soft Engineering Institute (SEI) phát triển bao gồm 5 mức: Khởi đầu, lặp lại, xác định, quản trị, tối ưu. Mô hình chế thử Là một tiến trình giúp người phát triển phần mềm có khả năng tạo ra một mô hình cho phần mềm cần phải xây dựng. Nó gồm 3 dạng: Bản vẽ trên giấy hay mô hình trên PC, bản mẫu làm việc và cài đặt một tập con các chức năng phần mềm mong muốn, một chương chình đã có cần cải tiến. Mô hình phát triển ứng dụng nhanh (RAD) Là quy trình phát triển phầm mềm gia tăng từng bước với chu chình phát triển ngắn. Mô hình này xây dựng dựa trên hướng thành phần với khả năng tái sử dụng cao. Mô hình xoắn ốc Được phát triển bao gồm các tính năng tốt nhất của mô hình tuyến tính lẫn mô hình chế thử trong khi vẫn bổ sung thêm các yếu tố mới – phân tích rủi ro. Mô hình theo thành phần Gắn với những công nghệ hướng đối tượng thông qua việc tạo các lớp có chứa dữ liệu và các giải thuật xử lí dữ liệu Mô hình hình thức Còn được gọi là mô hình phòng sạch, tập hợp các công cụ đặc tả toán học phần mềm máy tính từ khâu định nghĩa phát triển đến kiểm soát. Các công nghệ thứ 4 Bao gồm một phạm vi rộng các công nghệ phần mềm có một điểm chung: mỗi công việc đều cho phép người phát triển phần mềm xác định một số đặc trưng phần mềm ở mức cao. Sau đó chương trình tự động sinh ra mã chương trình gốc theo nhu cầu của người phát triển. Mô hình chữ V Mô tả dãy các hoạt động phát triển và kiểm thử cơ bản. Nó nêu bật sự tồn tại của các mức kiểm thử và mô tả cách mỗi mức kiểm thử này liên quan đến một pha phát triển khác nhau. III: Các giai đoạn trong quy trình phát triển phần mềm Giai đoạn khảo sát hiện trạng. Đây là giai đoạn đầu tiên trong quá trình phát triển phần mềm, nó cho biết hiện trạng bài toán như thế nào. Ví như hiện trạng về mô hình tổ chức, hiện trạng về các nghiệp vụ, hiện trạng về quá trình tin học của khách hàng mà phần mềm chúng ta nhắm tới. Trong đó hiện trạng về nghiệp vụ là quan trọng nhất mục tiêu của giai đoạn này là phải hiểu rõ được quy trình nghiệp vụ của khách hàng như là có bao nhiêu quá trình nghiệp vụ, những nghiệp vụ đó họ làm như thế nào?…. Giai đoạn xác định yêu cầu.  Có 2 loại yêu cầu là yêu cầu chức năng và yêu cầu phi chức năng. Yêu cầu chức năng: Đây là yêu cầu bất khả kháng mà khách hàng đưa ra cho bạn. Yêu cầu phi chức năng là yêu cầu của hệ thống mà mình đưa ra,ví dụ như chức năng bảo mật thông tin, chức năng phân quyền người dùng, chức năng có thể đáp ứng yêu cầu của dữ liệu trong khoảng thời gian bao nhiêu…. Giai đoạn phân tích. Trong giai đoạn này chúng ta sẽ phân tích các yêu cầu, và mô hình hóa chúng kết quả của quá trình này là cho ra một sơ đồ lớp đối tượng trong chương trình chúng ta. Thiết kế Giai đoạn này chúng ta sẽ thiết kế các thuật toán, và thiết kế mô hình dữ liệu nó cho ra một mô hình lớp và dữ liệu ở mức chi tiết. Cài đặt Phần này chúng ta sẽ chính thức bắt tay vào “code” chương trình. Kiểm chứng Phần này có nhiệm vụ kiểm tra chương trình có lỗi hay không, có đáp ứng được nhu cầu người dùng hay không?,.... Triển khai Bạn sẽ mang chương trình của mình đi triển khai. Chương III: Quy trình phát triển phần mềm hướng đối tượng Để phát triển được một phần mềm hướng đối tượng ta cần qua các bước: Xác định yêu cầu người sử dụng, mô hình hóa yêu cầu, phân tích, thiết kế dữ liệu, kiến trúc chương trình, kiểm thử đánh giá. III.1: Xác định yêu cầu Yêu cầu người dùng là gì? Yêu cầu phần mềm là tất cả các yêu cầu về phần mềm do khách hàng, người sử dụng phần mềm – nêu ra, bao gồm: các chứ năng của phần mềm, hiệu năng của phần mềm, các yêu cầu về thiết kế và giao diện, các yêu cầu đặc biệt khác. Yêu cầu phần mềm được phân loại theo 4 thành phần của phần mềm: Các yêu cầu về phần mềm (Software). Các yêu cầu về phần cứng (Hardware). Các yêu cầu về dữ liệu (Data). Các yêu cầu về con người (People, Users). Tại sao phải xác định yêu cầu ? Mục đích cơ bản của nắm bắt yêu cầu là hướng sự phát triển đến một hệ thống đúng. Trả lời các câu hỏi sau: Cái người dùng yêu cầu mình làm là cái gì? Các yêu cầu đó ra sao? Các yêu cầu đó như thế nào? Các nghiệp vụ của người đó ra sao? Trong họ trình độ tin học hóa tới đâu?(về trình độ sử dụng máy tính và phần cứng của họ). Các thói quen nghiệp vụ của họ ra sao? …  Một thách thức lớn là khách hàng là người không có kinh nghiệm về máy tính nhưng lại có khả năng đọc và hiểu các kết quả của nắm bắt yêu cầu. Do đó ta phải sử dụng ngôn ngữ của khách hàng để nắm bắt yêu cầu này. Kết quả của nắm bắt yêu cầu đồng thời cũng giúp người quản lí dự án lập kế hoạch các bước lặp và các xuất phẩm cho khách hàng. Phân loại yêu cầu Yêu cầu chức năng Lưu trữ Tra cứu Tính toán Kết xuất Yêu cầu phi chức năng Quy trình xác định yêu cầu phần mềm Phát hiện các yêu cầu phần mềm. Xác định các phương pháp sử dụng phát hiện các yêu cầu phần mềm như phỏng vấn, làm việc nhóm,... Tìm kiếm nhân sự (chuyên gia, người sử dụng) có hiểu biết sâu sắc nhất, chi tiết nhất về hệ thống giúp chúng ta xác định yêu cầu phần mềm. Xác định môi trường kĩ thuật. Xác định các ràng buộc lĩnh vực. Thu hút sự tham gia của nhiều chuyên gia, khách hàng để có các quan điểm xem xét phần mềm từ nhiều phía khác nhau Phân tích các yêu cầu phần mềm và thương lượng với khách hàng. Phân loại yêu cầu phần mềm và sắp xếp chúng theo các nhóm liên quan Khảo sát tỉ mỉ từng yêu cầu phần mềm. Thẩm định từng yêu cầu phần mềm theo các tính chất: phù hợp, đầy đủ rõ ràng, không trùng lặp. Phân tích yêu cầu dựa trên nhu cầu và đòi hỏi của khách hàng Thẩm định từng yêu cầu của phần mềm. Thẩm định rủi ro có thể xảy ra với từng yêu cầu phần mềm. Đánh giá thô về giá thành và thời gian thực hiện của từng yêu cầu phần mềm trong giá thành sản phẩm phần mềm và thời gian thực hiện phần mềm. Giải quyết bất đồng với yêu cầu phần mềm với khách hàng trên cơ sở thảo luận và thương lượng với yêu cầu đặt ra. Đặc tả yêu cầu phần mềm Đây là công việc xây dựng các tài liệu trong đó có thể sử dụng các công cụ như: mô hình hóa, mô hình toán học hình thức, tập hợp các kịch bản sử dụng, các nguyên mẫu. Yêu cầu của đặc tả tốt Dễ hiểu với người dùng, ít rắc rối Có ít quy ước khi mô tả Theo phong cách từ trên xuống Dễ triển khai Các kĩ thuật thu thập yêu cầu Phỏng vấn cá nhân/phỏng vấn nhóm? Phỏng vấn cá nhân Phỏng vấn nhóm Phỏng vấn tự do/phỏng vấn có định hướng? Phỏng vấn tự do + Người được hỏi có cảm giác thoải mái, cung cấp nhiều thông tin sâu sắc. + Nguy cơ: không có được những thông tin cần thiết, thông tin khó hệ thống được. Phỏng vấn có định hướng + Người được hỏi có thể cảm thấy không thoải mái, ít có khả năng ghi nhận được nhận xét, ý kiến, suy nghĩ riêng của người được phỏng vấn, ít cảm nhận được thái độ của họ đối với hiện trạng. + Có thể định hướng nội dung cần tìm hiểu, có thể hệ thống hóa các vấn đề ghi nhận được Làm việc với cấp lãnh đạo để nắm mục tiêu của hệ thống phần mềm cần xây dựng, những đối tượng cần phỏng vấn. Yêu cầu cấp lãnh đạo thông báo xuống các phòng ban, đơn vị để hợp tác. Phân tích để xác định đúng và đủ những đối tượng cần phỏng vấn. Hẹn lịch làm việc. Xác định trước vị trí, trách nhiệm của người sắp phỏng vấn. III.2: Phân tích yêu cầu hướng đối tượng (OOA) Phân tích được xem như là cây cầu giữa kĩ nghệ hệ thống với thiết kế phần mềm. Kĩ nghệ hệ thống máy tính Phân tích yêu cầu phần mềm Thiết kế phần mềm Mục đích của OOA: Định nghĩa các lớp (và các mối quan hệ hành vi liên kết với chúng) phù hợp với vấn đề cần giải quyết. Phát triển một tập các mô hình mô tả hệ thống phần mềm máy tính như nó hoạt động để thỏa mãn các yêu cầu của người dùng đã được xác định. Các phương pháp phân tích hướng đối tượng 1: Phương pháp Booch: Gồm 2 quy trình phát triển vi mô và vĩ mô. Quy trình phân tích vi mô bằng phương pháp Booch được mô tả như sau: Xác định các lớp đối tượng Xác định ngữ nghĩa của các lớp và đối tượng Xác định mối quan hệ giữa các lớp và đối tượng Quản lí các hoạt động điểu chỉnh thích hợp Thực thi các lớp và đối tượng (hoàn thành mô hình phân tích) 2: Phương pháp Coad và Yourdon: Phác thảo của quy trình phân tích do Coad và Yourdon đề nghị như sau: Xác định đối tượng sử dụng tiêu chuẩn “tìm kiếm cái gì”. Xác định cấu trúc tổng quát – đặc tả. Xác định cấu trúc toàn thê – bộ phận. Xác định chủ đề ( mô tả các thành phần hệ thống con). Xác định các thuộc tính. Xác định các dịch vụ. 3: Phương pháp Jacobson: Nhấn mạnh vào các trường hợp sử dụng – mô tả cách người dùng tương tác với sản phẩm hay hệ thống. Phác thảo của quy trình phân tích như sau: Xác định người sử dụng hệ thống và toàn bộ nhiệm vụ của họ. Xây dựng mô hình yêu cầu. Xây dựng mô hình phân tích. 4: Phương pháp Rambaugh: Các hoạt động phân tích tạo ra 3 mô hình: mô hình đối tượng, mô hình động, mô hình chức năng. Phác thảo của quy trình phân tích: Phát triển một bản kê phạm vi vấn đề Xây dựng một mô hình hướng đối tượng Phát triển mô hình động Xây dựng một mô hình chức năng cho hệ thống 5: Phương pháp Wirfs – Brock: Không tạo sự khác biệt rõ ràng giữa phân tích và thiết kế. Thay vào đó một quá trình bắt đầu khi xác định đặc tả khách hàng và kết thúc khi thiết kế được đề xuất. Phác thảo của quy trình phân tích do Wirfs – Brock phát triển như sau: Ước lượng đặc tả khách hàng. Sử dụng phân tích ngữ pháp để rút ra các lớp ứng viên từ đặc tả. Nhóm các lớp để xác định các lớp Cha. Định nghĩa trách nhiệm cho mỗi lớp. Phân công trách nhiệm cho mỗi lớp. Xác định cộng tác giữa các lớp dựa trên trách nhiệm. Xây dựng mô tả cây của lớp để chỉ ra mối quan hệ kế thừa. Xây dựng biểu đồ cộng tác cho hệ thống Thu nhận các yêu cầu của khách hàng cho hệ thống hướng đối tượng (Object Oriented – OO ). Chọn các lớp các đối tượng sử dụng các yêu cầu cơ bản như là hướng dẫn. Xác định các thuộc tính và các phương thức cho mỗi đối tượng hệ thống Xác định cấu trúc và cây cho mỗi lớp tổ chức Xây dựng mô hình quan hệ đối tượng Xây dựng mô hình hành vi đối tượng Xem lại phân tích OO. Quy trình OOA Quy trình bắt đầu với việc hiểu cách thức hệ thống mà con người sử dụng. Khi các kịch bản sử dụng được xác định, ta bắt đầu mô hình hóa hệ thống. Trường hợp sử dụng Dựa trên yêu cầu người dùng, người kĩ sư phần mềm tạo ra một tập các kịch bản xác định một luồng sử dụng cho hệ thống. Đầu tiên xác định các kiểu đối tượng (thiết bị) khác nhau sử dụng hệ thống. Các tác nhân mô tả vai trò mà con người hay thiết bị đảm nhận trong hệ thống Khi xác định xong các tác nhân, ta phát triển trường hợp sử dụng mô tả các tác nhân tương tác với hệ thống. Mô hình class – responsibility – collaborator (CRC) Mô hình CRC (mô hình cộng tác ) cung cấp một phương tiện đơn giản để xác định và tổ chức các lớp thích hợp với yêu cầu hệ thống hay sản phẩm. Lớp Các đối tượng được biểu diễn thông qua rất nhiều hình thức trong đó có một cách biểu diễn đối tượng thông qua lớp. Firesmith đã mở rộng sự phân loại các kiểu lớp bằng cách gợi ý ra các loại sau Lớp thiết bị: Mô hình các thực thể ngoài như cảm biến, moto, bàn phím. Lớp thuộc tính: Mô tả một số thuộc tính quan trọng của môi trường Lớp tương tác: Mô hình các tương tác xảy ra giữa các đối tượng. Thêm vào đó, lớp và đối tượng có thể được phân loại bằng tập các đặc tính sau: Tính hiện thực, tính bao gồm, tính tuần tự, sự tồn tại, tính toàn vẹn. Responsibility Bao gồm thuộc tính và phương thức. Thuộc tính mô tả đặc tính của lớp, thông tin mà lớp cần phải có để hoàn thành mục tiêu của phần mềm mà khách hàng yêu cầu. Phương thức được rút ra từ việc thực hiện các phân tích ngữ pháp dựa trên các xử lí của hệ thống. 5 nguyên tắc để phân phối responsibility cho các lớp Sự thông minh của hệ thống được phân phối công bằng Mỗi responsibility phải bắt đầu từ tổng quan Thông tin và hành vi liên quan đến responsibility phải được đặt trong cùng một lớp Mỗi thông tin cụ thể phải nằm trong một lớp đơn, không phân bố nhiều lớp Chia sẻ các responsibility giữa các lớp liên quan khi thích hợp Cộng tác (collaborator) Là hoàn thành responsibility theo 2 cách: Một lớp có thể sử dụng các phương pháp của lớp để thao tác trên các thuộc tính của nó, do đó hoàn thành responsibility cụ thể Một lớp có thể cộng tác với các lớp khác. Xác định cấu trúc và cây Khi lớp và đối tượng được xác định sử dụng mô hình CRC, người phân tích bắt đầu tập trung vào cấu trúc của mô hình lớp và cây tổng hợp. Cấu trúc toàn thể - bộ phận mô tả các đối tượng liên kết: Xác định chủ đề và các lớp con Một mô hình phân tích hệ thống phức tạp thường có hàng trăm lớp và hàng chục các cấu trúc. Do đó cần phải mô tả ngắn gọn cho các cấu trúc. Khi các lớp con cộng tác với nhau để hoàn thành một nhiệm vụ, yêu cầu nào đó của người sử dụng nào đó ta gộp chúng lại thành các chủ đề (subject) hay hệ thống con. Một chương chình sẽ bao gồm nhiều các hệ thống con. Mô hình hóa phân tích hướng đối tượng Mô hình hóa là gì? Giúp đơn giản hóa thế giới thực bằng các mô hình. Giúp hiểu rõ hơn về hệ thống dưới một góc nhìn nào đó. Tại sao phải mô hình hóa đối tượng Các mô tả về yêu cầu trong giai đoạn xác định yêu cầu: Chỉ mô tả chủ yếu các thông tin liên quan đến việc thực hiện các nghiệp vụ trong thế giới thực, chưa thể hiện rõ nét việc thực hiện các nghiệp vụ trên máy tính. Mô tả thông quá các văn bản dễ gây ra nhầm lẫn và không trực quan. è Cần phải mô hình hóa yêu cầu. Mô hình đối tượng – quan hệ Mô tả các thành phần tĩnh của một mô hình phân tích yêu cầu khách hàng. Thực hiện qua 3 bước: Một mạng đối tượng cộng tác được mô tả mà không có các đường có nhãn miêu tả mối quan hệ giữa các đối tượng. Đặt tên cho các nhãn, để tránh mơ hồ dùng một mũi tên chỉ ra hướng của q