Tải bản đầy đủ (.pdf) (472 trang)

Bài giảng Ứng dụng uml trong phân tích và thiết kế it44 Đại học mở hà nội

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (14.97 MB, 472 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b><small>Giảng viên chuyên môn: THS. MAI THỊ THÚY HÀ</small></b>

<b>Tổng quan về phân tích thiết kế Hướng đối tượng</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>Nội dung</b>

◼Phân tích thiết kế hướng đối tượng

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>1. Công nghệ phần mềm</b>

Khái niệm:

Công nghệ phần mềm là ngành khoa học nghiên cứu vềviệc xây dựng các phần mềm có chất lượng với chi phí hợplý trong khoảng thời gian hợp lý.

Đối tượng nghiên cứu

<sub>Quy trình cơng nghệ</sub>

Phương pháp xây dựng phần mềm

Công cụ hỗ trợ phát triển phần mềm

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<small></small>

Mục tiêu, kết quả nhận được từ giai đoạn trước đó

<small></small>

Kết quả chuyển giao cho giai đoạn tiếp theo.

Phương pháp phát triển phần mềm

<small>◼</small>

là các hướng dẫn cho phép từng bước thực hiện một giaiđoạn trong quy trình phát triển phần mềm

Công cụ và môi trường phát triển phần mềm

<small>◼</small>

Các phần mềm được sử dụng trong quá trình phát triểnphần mềm

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>3. Quy trình phát triển phần mềm</b>

<small>◼</small>

Quy trình phát triển phần mềm:

<small></small>

là một tập hợp các hoạt động được tổ chức màmục đích của nó là xây dựng và phát triên phầnmềm

<small></small>

Quy trình xác định ai làm gì, khi nào và bằngcách nào để đạt được một mục tiêu nào đó

<small></small>

Quy trình phần mềm xác định một bộ khung vàtiêu chuẩn để triển khai công nghệ phần mềm.

<small></small>

khi phát triển và xây dựng một phần mềm,

thường cần làm việc theo đội, nhóm.

<small>◼</small>

Một số câu hỏi thường đặt ra trong quy trình pháttriển phần mềm như

<small></small>

Xây dựng phần mềm cần thực hiện theo trình tựnào?

<small></small>

Cần bao nhiêu người tham gia? Vai trò của từngthành viên? Tổ chức quản lý các thành viên?

<small></small>

Giao tiếp giữa các thành viên trong hệ thống?

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>3. Quy trình phát triển phần mềm</b>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>3. Quy trình phát triển phần mềm</b>

Làm thế nào để tiếp nhận chính xác cácyêu cầu của khách hàng?

Làm thế nào để đặc tả đúng yêu cầu củakhách hàng?

Làm thế nào để giao tiếp, tương tác với bộphần phát triển hệ thống?

Làm thế nào để kiểm tra hệ thống pháttriển đúng theo yêu cầu trước khi thựchiện triển khai đến khách hàng?

<b>Bộ phận tiếp nhận yêu cầu của khách hàng Business Analyst</b>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>3. Quy trình phát triển phần mềm</b>

Làm thế nào để thiết kế hệ thốngđúng với yêu cầu của người dùng?

Làm thế nào để giao tiếp, tương tác

với các thành viên trong bộ phận pháttriển phần mềm?

Làm thế nào để quản lý, theo dõi tiếntrình thực hiện phần mềm?

<b>Bộ phận phát triển phần mềmDeveloper</b>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>3. Quy trình phát triển phần mềm</b>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>3. Quy trình phát triển phần mềm</b>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>Mơ hình thác nước – Waterfall Model</b>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<b>Mơ hình thác nước – Waterfall Model</b>

Mơ hình thác nước là phương pháp quản lý dự án dựa trên tiếntrình, kế hoạch được tổ chức tuần tự và liên tiếp.

Mơ hình thác nước được tạo với mục đích quản lý vịng đờiphát triển phần mềm.

Các giai đoạn trong mơ hình thác nước

Xác định yêu cầu

Phân tích, lên kế hoạch thực hiện hệ thống

Thực hiện theo kế hoạch

Kiểm thử sản phẩm

Triển khai ứng dụng

Bảo trì hệ thống

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>Mơ hình Mẫu – Prototype Model</b>

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<small>◼</small>

Prototype là một mơ hình phát triển phần mềm được phát triển dựa trên cácyêu cầu hệ thống. Dựa vào bản prototype mà khách hàng có cái nhìn tổngquan về hệ thống thực tế.

<small>◼</small>

Prototype là một ý tưởng hay cho các hệ thống phức tạp và lớn mà khơngcó quy trình thủ cơng để giúp xác định các yêu cầu.

<small>◼</small>

Prototype thường không phải là hệ thống hồn chỉnh và nhiều chi tiếtkhơng được xây dựng trong bản prototype. Mục tiêu là cung cấp một hệthống với chức năng tổng thể.

<small>◼</small>

Mơ hình prototype nên được sử dụng khi hệ thống cần có nhiều tương tácvới người dùng cuối

<small>◼</small>

Thông thường, các hệ thống trực tuyến, giao diện web có lượng tương tácrất cao với người dùng cuối, phù hợp nhất với mơ hình Prototype.

<small>◼</small>

Bản prototype phải đảm bảo rằng người dùng cuối liên tục tương tác với hệthống và cung cấp phản hồi cần cải tiến về bản prototype đó để tạo ra một

<b>Mơ hình Mẫu – Prototype Model</b>

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b>Quy trình phát triển RUP (IBM Rational Unified Process)</b>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<small>◼</small>

Tiến trình này yêu cầu việc phát triển ứng dụng một cách chặt chẽ và nghiêm ngặt với việc đưa ra các mẫu được thực hiện nhanh

chóng qua các cuộc làm việc vớI khách hàng và nhóm dự án, việc lập kế hoạch và đưa ra các chức năng hệ thống một cách tích cực.

<small>◼</small>

Kết quả sẽ đưa ra một ứng dụng đáp ứng các yêu cầu của người sử dụng và giúp cho quá trình lên kế hoạch và thực thi nhanh chóng.

<small>◼</small>

Tiến trình hợp nhất là:

Là một quá trình phát triển phần mềm hướng đối tượng.

Một tập hợp các hoạt động để chuyển yêu cầu người sử dụng thành một hệ thống phần mềm

Một khung làm việc chung với nhiều người tham gia.

Dựa trên các thành phần và kết nối thơng qua giao diện

Sử dụng cơng cụ UML.

<b>Quy trình phát triển RUP (IBM Rational Unified Process)</b>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<b>Quy trình xoắn ốc - Spiral Model</b>

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<small>◼</small>

Là mơ hình kết hợp giữa các tính năng của mơ hình prototyping và mơ hìnhthác nước.

<small>◼</small>

Mơ hình xoắn ốc được ưa chuộng cho các dự án lớn, đắt tiền và phức tạp.

<small>◼</small>

Mơ hình này sử dụng nhiều những giai đoạn tương tự như mơ hình thác nước,về thứ tự, plan, đánh giá rủi ro, …

<small>◼</small>

Thường được sử dụng cho các ứng dụng lớn và các hệ thống được xây dựngtheo các giai đoạn nhỏ hoặc theo các phân đoạn

<small>◼</small>

Ưu điểm:

<small></small>

Estimates (i.e. budget, schedule, etc.) trở nên thực tế hơn như là một quytrình làm việc, bởi vì những vấn đề quan trọng đã được phát hiện sớm hơn.

<small></small>

Có sự tham gia sớm của deverlopers

<small></small>

Quản lý rủi ro và phát triển hệ thống theo phase

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b>Agile Model</b>

<small>◼</small>

<b>Agile là một phương pháp phát triển phần mềm linh hoạt, là một</b>

hướng tiếp cận cụ thể cho việc quản lý dự án phần mềm.

<small>◼</small>

Nó gồm một q trình làm việc tương tác và tích hợp để có thể đưasản phẩm đến tay người dùng càng nhanh càng tốt.

<small>◼</small>

Tuyên ngôn Agile

<b>Individuals and interactions over processes and tools: Cá</b>

nhân và sự tương tác hơn là quy trình và cơng cụ

<b>Working software over comprehensive documentation: Phần</b>

mềm chạy tốt hơn là tài liệu đầy đủ

<b>Customer collaboration over contract negotiation: Cộng tác</b>

với khách hàng hơn là đàm phán hợp đồng

<b>Responding to change over following a plan: Phản hồi với sự</b>

thay đổi hơn là bám theo kế hoạch

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<b>Agile Model</b>

<small>◼</small> Các phương pháp Agile Model

<small></small> Scrum: là một khung làm việc (framework) để phát triển bền vững các sản phẩm phứctạp. Có thể nói Scrum là một trong những phương pháp Agile quan trọng nhất sửdụng cơ chế lặp (iterative) và tăng trưởng (Incremental) để tối ưu hóa hiệu quả cũngnhư kiểm soát rủi ro.

<small></small> Kaban: là một phương pháp Agile dựa trên Phương thức Sản xuất Toyota với bốnngun lý: Trực quan hóa cơng việc, giới hạn công việc đang làm, tập trung vào luồnglàm việc, cải tiến liên tục. Mơ hình Kanban phù hợp cho việc hỗ trợ sản xuất trongquá trình làm việc.

<small></small> Scrumban: kết hợp được những ưu điểm của Scrum và Kanban để cho phép nhóm liêntục cải tiến quy trình và khả năng xử lý công việc.

<small></small> Lean Software Development (LSD):bao gồm: Loại bỏ lãng phí, Khuếch trương việchọc, Quyết định càng muộn càng tốt, Chuyển giao càng nhanh càng tốt, Trao quyềncho nhóm, Tạo ra tính tồn vẹn tự thân, Thấy tồn cảnh là linh hồn cho q trình pháttriển phần mềm tinh gọn

<small></small> XP (Extreme Programming): chủ trương đưa ra các bản phát hành thường xunthơng qua các chu trình phát triển ngắn như: Lập trình cặp (Pair programming), Táicấu trúc mã nguồn (Refactoring), Kiểm thử đơn vị (Unit Testing), Tích hợp liên tục

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<small></small> Tính tăng trưởng (Incremental)

<small>◼</small> Cuối mỗi phân đoạn (Sprint), nhóm phát triển thường cho ra các phần nhỏ củasản phẩm cuối cùng.

<small>◼</small> Các phần nhỏ này thường đáp ứng được các yêu cầu, có khả năng chạy tốt do đãđược kiểm thử cẩn thận và có thể sử dụng được ngay.

<small>◼</small> Theo thời gian, các phân đoạn sẽ tiếp nối nhau và tích lũy dần tới khi tồn bộu cầu của khách hàng được thỏa mãn.

<small></small> Vịng phản hồi ngắn và thích ứng thường xuyên

<small>◼</small> Do các phân đoạn chỉ kéo dài trong một khoảng thời gian ngắn, việc lập kếhoạch hay có những điều chỉnh, thay đổi trong q trình phát triển đều có thểđáp ứng nhanh để phù hợp.

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

nguồn, v.v..

<small></small> Phát triển dựa trên giá trị

<small>◼</small> Theo cách tiếp cận của các phương pháp Agile, thời gian và chi phí sẽ là những phần cố định, khi đó các nhóm Agile ln cộng tác trực tiếp và thường xuyên

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

<b>4. Phân tích thiết kế chức năng</b>

<small>◼</small>

Đến giữa năm 1990: Phần lớn các kỹ sư phần mềm sử dụng phương pháp thiết kế chức năng Top-Down

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<b>4. Phân tích thiết kế chức năng</b>

Phương pháp này cịn gọi là phương pháp cổ điển

Được nhìn nhận dưới sự phức tạp của chức năng hệ thống máytính

Chức năng được phân rã theo một hệ thống cấu trúc nhất địnhdo người phân tích hệ thống đưa ra (cấu trúc phân nhánh, lặp...)

Bao gồm mơ hình q trình chức năng cũng như mơ hình dữliệu. Sự liên kết giữa hai mơ hình này con đơn giản qua cácmối liên kết và luồng thơng tin từ q trình chức năng nàysang chức năng khác.

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<b>4. Phân tích thiết kế chức năng</b>

Ưu điểm:

Phân rã được chức năng, quá trình hoạt động phần mềmđược thực hiện từng bước như thế nào, khá đơn giản và dễhiểu.

Nhược điểm:

Việc dựa vào cấu trúc của quá trình chức năng dẫ đến khichức năng hệ thống thay đổi, cấu trúc ấy có thể bị thay đổirất nhiều, thậm chí phải thay đổi tồn bộ.

Sự tách biệt giữa mơ hình chức năng và mơ hình dữ liệudẫn đến những chức năng hoàn toàn giống nhau nhưng xửlý những dữ liệu khác nhau phải được viết lại liên tục

Thiếu linh động, phí phạm mã, khó mở rộng, khó thíchnghi của phần mềm xây dựng dựa vào phương pháp này.

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

Chiến lược phát triển phần mềm hướng đối tượng là quan sátthế giới như tập các đối tượng

Các tính chất của đối tượng

Đối tượng có thể là

<small>◼</small>

các thực thể nhìn thấy được trong thế giới thực (tronggiai đoạn phân tích yêu cầu)

<small>◼</small>

biểu diễn các thực thể hệ thống (trong giai đoạn thiết kế)

Các đối tượng được gom nhóm thành các lớp đối tượng –class

<small>◼</small>

Những đối tượng thuộc cùng một lớp đều có đặc tính(thuộc tính và hành vi) chung

<b>5. Phân tích thiết kế hướng đối tượng</b>

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

Tiếp cận hướng đối tượng tập trung vào cả thông tin và hànhvi của đối tượng

Cho khả năng xây dựng hệ thống mềm dẻo, linh hoạt

Phương pháp này được xây dựng dựa trên các nguyên tắc sau

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

Thành phần cơ bản của đối tượng gồm hai thành phần cơ bản:trạng thái (state) và hành vi (behavior)

Trạng thái (State):

Giúp phân biệt giữa đối tượng này với đối tượng khác

Mô tả đặc điểm cơ bản của đối tượng

Bao gồm những thuộc tính (attribute) và những giá trị củacác thuộc tính đó

Hành vi (behavior)

Cho biết đối tượng có thể làm được những việc gì

Bao gồm những phương thức (method) để chúng ta có thểđiều khiển đối tượng đó.

<b>5. Phân tích thiết kế hướng đối tượng</b>

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

Sự trừu tượng hoá

Xem xét các vấn đề cụ thể thơng qua q trình tư duy trừutượng để rút ra các khái niệm, nguyên tắc quy luật

Là công cụ chủ yếu để con người nhận thức và mơ hình hốthế giới

Trừu tượng hố bao gồm hai q trình chính: Khái qt hốvà cụ thể hố

<b>5. Phân tích thiết kế hướng đối tượng</b>

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

Khái quát hố (Generalization)

Khái qt hố là q trình tập trung vào những đặc điểm cơbản của các đối tượng, sự kiện công việc cụ thể, loại bỏnhững đặc điểm riêng có tính vụn vặt khơng quan trọng đểtạo một khái niệm mới mang đặc tính chung liên quan đếntất cả những cái cụ thể ấy

<sub>Khái quát hoá là quá trình đồng hố những đặc điểm chung</sub>

của các sự việc cụ thể mà con người quan sát được.

<sub>Khái quát hố có thể được phân thành nhiều cấp độ khác</sub>

nhau tuỳ vào mức độ khi thực hiện phép khái quát cũngnhư những đặc điểm chung cơ bản được rút ra từ các đốitượng cụ thể.

<b>5. Phân tích thiết kế hướng đối tượng</b>

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

Cụ thể hoá (Refinement)

Ngược lại với khái qt hố là tính cụ thể hố

Q trình cụ thể hố là q trình đi từ những khái niệm sựviệc trừu trượng khái quát để mô tả chi tiết, cụ thể các đốitượng sự việc cụ thể hay các khái niệm sự việc trừu tượngở mức thấp hơn.

Do cụ thể hố là q trình ngược của khái qt hố, nó baogồm nhiều mức độ khác nhau tuỳ theo mức độ mô tả cụ thểvấn đề khái qt cũng như hướng mơ tả.

<b>5. Phân tích thiết kế hướng đối tượng</b>

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

Những bước phân rã đó được gọi là phân rã kiến trúc. Mỗiphần của phần mềm được phân rã và tích hợp khác nhautuỳ theo phương pháp luận khác nhau.

<b>5. Phân tích thiết kế hướng đối tượng</b>

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

Che dấu thông tin

Từ hai phương pháp cơ bản là trừu tượng hoá và phân rã độphức tạp dẫn đến câu hỏi: "Làm thế nào để xây dựng được phầnmềm với mức độ phức tạp và trừu tượng khác nhau?"

<sub>Nguyên tắc che dấu thông tin – thong tin của hai phần được che</sub>

dấu nếu thực sự không cần thiết – được đưa ra nhằm đảm bảocác phần khác nhau của bài tốn có thể tồn tại độc lập và bỏ quanhững chi tiết không cần thiết trong mối quan hệ giữa chúngvới nhau.

Che dấu thơng tin vì vậy đảm bảo được sự độc lập của từngphần của bài toán, chia bài toán thành từng phần trừu tượngkhác nhau và giải quyết bài toán trên từng mức trừu tượng đó.

<b>5. Phân tích thiết kế hướng đối tượng</b>

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

Chia sẻ và tái sử dụng

Tính độc lập của từng bài tốn có thể giúp cho bài toán đượcsử dụng lại trong nhiều hệ thống khác nhau mà khơng cầnthiết phải giải lại.

<sub>Tính kế thừa (inheritance)</sub>

<small>◼</small>

Kế thừa cho phép định nghĩa một lớp mới tương tự nhữnglớp đã có, ngồi ra bổ sung thêm những thuộc tính và cácphương pháp mơ tả chi tiết hơn về một nhóm các đốitượng cụ thể

<small>◼</small>

Những lớp kế thừa gọi là lớp con (subclass) hoặc lớp dẫnxuất (derived)

<small>◼</small>

Những lớp được kế thừa còn gọi là lớp cha (supperclass)

<b>5. Phân tích thiết kế hướng đối tượng</b>

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

<b>Chúc Anh/chị học tập tốt</b>

</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">

<b>u cầu của mơ hình hố</b>

Khơng một mơ hình đơn nào là đầy đủ, cần thiết phải có cáckhung nhìn khác nhau

<sub>Cách tốt nhất để tiếp cận mỗi hệ thống phức tạp là đi từ tập</sub>

</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">

<small>◼</small>

1994- các phương thức đã gần như hoàn chỉnh và tương tự nhau

Cùng khái niệm (concepts): objects, classes, relationships,attributes, etc.

Cùng khái niệm nhưng lại dùng kí hiệu (notation) khác nhauMỗi phương thức đều có các mặt mạnh và yếu

</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">

1994 – James Rumbaugh liên kết với Grady Booch thành lậpRational Software Corporation

Vào thời gian đầu, là sự hợp nhất của 2 phương pháp

Booch và OMT (Object Modelling Technique)

Phương pháp này được gọi là Unified Method

1995 – Rational thông báo kết hợp với Jacobson tích hợpphương pháp này với OOSE.

Những tài liệu đầu tiên về UML được ra đời vào năm 1996

Phiên bản 1.0 của UML được công bố vào năm 1997

Phiên bản 1.5 được tạo ra vào tháng 3 năm 2003

Phiên bản 2.0 được tạo ra vào năm 2004

<b>Lịch sử phát triển</b>

</div><span class="text_page_counter">Trang 41</span><div class="page_container" data-page="41">

<b>UML và các khái niệm</b>

UML là một ngôn ngữ mơ hình sử dụng các kí hiệu cho việcviết tài liệu, phân tích, thiết kế và thực hiện tiến trình phát triểnhệ thống hướng đối tương

</div><span class="text_page_counter">Trang 43</span><div class="page_container" data-page="43">

<b>Đặc điểm của UML</b>

<small>◼</small>

<b>UML – Ngơn ngữ mơ hình hướng đối tượng</b>

UML được tạo ra phục vụ cho việc mơ hình hố hướng đối tượng

Hướng đối tượng sản sinh ra các mơ hình thể hiện một lĩnh vực

<small>◼</small>

Một lĩnh vực kinh doanh, ví dụ: banking

<small>◼</small>

Các thuật ngữ và đối tượng của lĩnh vực (ví dụ: tiền, séc)

UML có thể được sử dụng để mơ hình nhiều kiểu hệ thống khácnhau

<small>◼</small>

UML – Ngơn ngữ mơ hình hố trực quan

Ngơn ngữ mơ hình hố trực quan là một phát minh lớn của nhữngnăm 1990s trong việc thiết kế phần mềm

Thể hiện trực quan là cách tốt nhất để giao tiếp và quản lý độ phứctạp

Làm cho mơ hình hố ngày càng gần hơn so với việc cài đặt

</div><span class="text_page_counter">Trang 44</span><div class="page_container" data-page="44">

<b>Mục tiêu của UML</b>

Cung cấp một ngơn ngữ mơ hình hố trực quan có sẵn và gợitả, từ đó có thể phát triển và thay đổi các mơ hình một cáchhiệu quả

Cung cấp các kĩ thuật chuyên môn để mở rộng các khái niệmcốt lõi

Độc lập với các ngơn ngữ lập trình riêng biệt và các tiến trìnhphát triển

Cung cấp kiến thức cơ bản để hiểu ngôn ngữ mơ hình hố

Ủng hộ/ khuyến khích sự phát triển của môi trường sử dụngcông cụ hướng đối tượng

Hỗ trợ các khái niệm cho sự phát triển ở mức độ cao như là sựcộng tác (collaborations), khung (frameworks), mẫu (patterns),thành phần (components)...

</div><span class="text_page_counter">Trang 45</span><div class="page_container" data-page="45">

<b>UML và sự phát triển phần mềm</b>

Giai đoạn nghiên cứu sơ bộ

Giai đoạn phân tích

Giai đoạn thiết kế

Giai đoạn xây dựng thử nghiệm

</div>

×