Tài liệu hướng dẫn thực tập tốt nghiệp Tin học xây dựng - Chương 2
lượt xem 20
download
Thiết kế phần mềm II.1. II.1.1. Khái quát về UML Giới thiệu UML UML là ngôn ngữ mô hình hóa, bao gồm một hệ thống chuẩn các ký pháp (tương tự như các tiêu chuẩn về bản vẽ: quy định kích th ước chữ, độ dày c ủa nét, các ký hi ệu quy ước trong bản vẽ kỹ thuật) và tập các luật để sử dụng các ký pháp đó. Xây nhà, có thể bạn không cần bản vẽ thiết kế. Tuy nhiên, nếu quy mô công trình càng l ớn, số lượng người tham gia càng đông thì nhu...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Tài liệu hướng dẫn thực tập tốt nghiệp Tin học xây dựng - Chương 2
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp CHƯƠNG II. Thiết kế phần mềm II.1. Khái quát về UML II.1.1. Giới thiệu UML UML là ngôn ngữ mô hình hóa, bao gồm một hệ thống chuẩn các ký pháp (tương tự như các tiêu chu ẩn v ề b ản v ẽ: quy định kích th ước ch ữ, độ dày c ủa nét, các ký hi ệu quy ước trong bản vẽ k ỹ thu ật) và tập các luật để sử dụng các ký pháp đó. Xây nhà, có th ể b ạn không c ần b ản v ẽ thiết kế. Tuy nhiên, n ếu quy mô công trình càng l ớn, số lượng người tham gia càng đông thì nhu c ầu có b ản vẽ thiết kế càng cao. B ản vẽ chính là ngôn ng ữ chung giữa chủ nhà, ng ười thiết k ế, người chỉ đạo thi công và ng ười thợ. Về m ột khía c ạnh nào đó, có th ể coi UML là bản v ẽ thi ết k ế c ủa ph ần m ềm, UML là ngôn ng ữ chung giữa khách hàng, người thiết kế và người phát triển phần mềm. Để sử dụng được UML, cần hiểu các vấn đề chính sau: Các phần tử cơ bản trong mô hình UML - Các quy định để liên kết các phần tử thành mô hình - II.1.2. Các khái niệm của UML Để hình thành mô hình UML, chúng ta c ần 3 kh ối: Phần t ử, quan hệ, biểu đồ. Ph ần t ử là yếu tố căn b ản nhất trong mô hình, các quan hệ gắn các ph ần tử này với nhau, bi ểu đồ nhóm tập hợp các phần tử. II.1.2.1. Phần tử mô hình Phần tử gồm 4 loại: cấu trúc, hành vi, nhóm và chú thích Phần tử cấu trúc Là thành phần tĩnh, biểu diễn các khái niệm hay thành phần vật lý Lớp (class): Mô tả tập các đố i tượng (object) cùng chung thuộc tính và thao tác. Biểu - diễn bằng hình chữ nhật gồm 3 phần: Tên lớp, các thuộc tính, các thao tác Trường h ợp s ử d ụng (UseCase – UC): T ập trình t ự các hành động mà h ệ th ống - thực hiện để đạt một kết quả cho tác nhân nào đó. Theo ngh ĩa hẹp, UC th ường tương ứng với một chức năng của phần mềm. Thành ph ần (Component) : Bi ểu di ễn các file mã ngu ồn, các t ệp d ữ li ệu trong quá - trình phát triển hệ thống 73
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp Phần tử hành vi Là thành phần động của hệ thống, biểu diễn hành vi theo thời gian và không gian Tương tác : là hành vi bao g ồm t ập các thông điệp trao đổi giữa các đối tượng trong - ngữ cảnh cụ th ể để thực hiện mục đích cụ hể. Máy trạng thái : Là hành vi ch ỉ ra tr ật t ự các tr ạng thái mà đối t ượng hay t ương tác - sẽ đi qua để đáp ứng s ự ki ện. Hành vi c ủa l ớp hay c ộng tác c ủa l ớp có th ể được xác định b ằn máy trạng thái. Máy tr ạng thái kích ho ạt nhiều ph ần tử, bao g ồm tr ạng thái, chuyển ti ếp (t ừ tr ạng thái này sang tr ạng thái khác), s ự ki ện và các ho ạt động ( đáp ứng sự kiện) Phần tử nhóm Là cơ chế tổ chức các phần tử vào cùng một gói (package). Gói ch ỉ mang tính logic (ch ỉ tổn tại trong th ời gian phát tri ển h ệ th ống, không t ồn t ại vào th ời gian ho ạt động c ủa ch ương trình). Phần tử chú thích Sử dụng để chú giải cho các lược đồ của UML, bổ sung thêm các thông tin cho các lược đồ. II.1.2.2. Quan hệ Phụ thuộc (dependency) (A) phụ thuộc (B) có nghĩa là (B) phải tồn tại trước (A), phải có (B) thì mới có (A) Kết hợp (association) Quan h ệ k ết h ợp là quan h ệ mà đối t ượng này ch ứa đối t ượng kia. Quan h ệ k ết h ợp đặc trưng bởi tính nhiều (multiplicity), thể hiện đối tượng này chứa bao nhiêu đối tượng kia. Khái quát hóa (generalization) Quan h ệ khái quát hóa là quan h ệ mà đối t ượng này th ừa k ế các đặc tính c ủa đối tượng kia (kế thừa trong lập trình hướng đối tượng) Hiện thực hóa (realization) Quan hệ giữa giao diện (interface) và lớp thực thi (hiện thực hóa) của interface đó. II.1.2.3. Biểu đồ Bi ểu đồ Use Case (UC diagram) 74
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp Biểu đồ Use Case chỉ ra tương tác giữa tác nhân và hệ thống, thực chất là biểu diễn các chức năng của hệ thống. Biểu đồ Use Case là bi ểu đồ d ễ hi ểu, cho cái nhìn t ổng quát v ề h ệ th ống, dùng để giao ti ếp giữa khách hành, quản lý dự án, người phân tích thiết kế, lập trình viên. Biểu đồ trình t ự (Sequence diagram) Biểu đồ trình tự chỉ ra các thao tác nh ằm thực hiện các ch ức năng (Use Case). Bi ểu đồ trình tự mô tả tương tác giữa các đối tượng. Thực chất là trình tự các lời gọi hàm (phương th ức) từ đối tượng này sang đối tượng khác. Biểu đồ cộng tác (Collaboration diagram) Biểu đồ cộng tác th ực chất cũng cung c ấp các thông tin gi ống v ới bi ểu đồ trình t ự, nhưng ở một cách nhìn khác. Nếu biểu đồ trình tự chỉ ra các tương tác theo thời gian thì biểu đồ cộng tác cho phép nhìn các t ương tác đó theo s ố lượng (sự phân b ố) các t ương tác gi ữa từng c ặp đối tượng. Biểu đồ lớp (Class diagram) Biểu đồ l ớp ch ỉ ra c ấu trúc chi ti ết c ủa t ừng l ớp (class) và quan h ệ gi ữa các l ớp trong h ệ thống. Biểu đồ lớp rất quan trọng trong quá trình lập trình. Biểu đồ chuyển tr ạng thái (State transition diagram) Biểu đồ chuyển tr ạng thái mô t ả vòng đời của đối t ượng, t ừ khi sinh ra đến khi b ị phá h ủ y. Biểu đồ lớp là b ức tranh tĩnh v ề đối tượng, biểu đồ trạng thái cho cái nhìn động về các trạng thái của đối tượng. Biểu đồ thành ph ầ n (Component diagram) Biểu đồ thành ph ần cho cái nhìn v ật lý v ề mô hình: H ệ th ống g ồm nh ững thành ph ần (các file Exe, mã nguồn, dữ liệu) gì? Quan hệ của chúng ra sao? Bi ểu đồ tri ển khai (Deployment diagram) Biểu đồ triển khai chỉ ra địa chỉ vật lý của các thành phần hệ thống sau khi đã cài đặt. II.1.3. Kiến trúc hệ thống Mỗi h ệ th ống được quan sát và hi ểu m ột cách khác nhau t ừ phía nh ững ng ười khác nhau. Khách hàng, ng ười thiết kế, người qu ản lý và ng ười phát tri ển luôn có nh ững cái nhìn khác nhau về hệ thống. 75
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp Kiến trúc h ệ thống được chia thành 5 khung nhìn khác nhau t ương ứng v ới những cách nhìn khác nhau. Tuy nhiên, tùy thuộc vào quy mô và tính chất, không phải hệ thống nào cũng cần đầ y đủ 5 khung nhìn này. Logical View Development View Class diagrams, Component diagrams Sequence diagrams Use Cases/ Scenarios Use Case diagrams, Sequence diagrams Physical View Process View Deployment diagrams Deployment diagrams II.1.3.1. Khung nhìn UC (Use case view) Khung nhìn đầu tiên, được hình thành từ giai đoạn phân tích yêu c ầu. Mô tả các hành vi c ủa hệ thống theo cách nhìn của khách hàng, người phân tích và tester. Khung nhìn UC gồm Phần t ĩnh: các tác nhân, UC, biểu đồ UC - Phần động: một vài biểu đồ trình tự, cộng tác - II.1.3.2. Khung nhìn thiết kế (Design view) Khung nhìn thi ết k ế (hay khung nhìn logic – logical view), bi ểu di ễn t ổ ch ức c ủa các l ớp quan trọng nhất, quan hệ giữa các lớp này với nhau. Khung nhìn thiết kế bao gồm: Phần t ĩnh: Các lớp, biểu đồ lớp, biểu đồ đối tượng - Phần động: Các biểu đồ tương tác, biểu đồ biến đổi trạng thái - II.1.3.3. Khung nhìn cài đặt (Implementation view) Khung nhìn cài đặt (khung nhìn thành ph ần – component view). Thành ph ần là module v ật lý (thư viện, file exe, th ư viện động dll), hay tệp mã nguồn để lắp ráp thành h ệ thống vật lý. Khung nhìn thành phần bao gồm thành phần, biểu đồ thành phần và gói. Người quan tâm nh ất đến khung nhìn thành ph ần là ng ười qu ản lý mã ngu ồn, d ịch ch ương trình và triển khai ứng dụng. 76
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp II.1.3.4. Khung nhìn triển khai (Deployment view) Khung nhìn tri ển khai ch ỉ ra các ti ến trình và thi ết b ị trên m ạng, các k ết n ối v ật lý gi ữa chúng. Biểu đồ triển khai cũng hiển thị tiến trình và chỉ ra tiến trình nào chạy trên máy nào. II.1.3.5. Khung nhìn tiến trình (Process view) Biểu di ễn phân tách gi ữa các ti ến trình, đồng bộ hóa các ti ến trình. Khung nhìn này ít được sử dụng (không có trong Rational Rose). II.2. Rational Rose II.2.1. Rational Rose là gì Rational Rose là công c ụ h ỗ tr ợ phân tích, thi ết k ế h ướng đối t ượng b ằng UML. Mô hình Rose gồm toàn bộ các biểu đồ UML: tác nhân, Use Case, đối tượng, lớp, thành phần... Hơn n ữa, Rational Rose còn h ỗ tr ợ phát sinh (generate) mã khung ch ương trình cho nhi ều ngôn ng ữ khác nhau: C++, Java, Visual Basic. N ếu t ận d ụng t ốt điều này, b ạn có th ể v ừa thiết k ế v ừa sinh code để l ập trình, sau đó l ại s ử d ụng tính n ăng c ập nh ật t ừ code ch ương trình thành biểu đồ. 77
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp II.2.2. Giao diện của Rational Rose II.3. Use case diagram II.3.1. Phân tích UC II.3.1.1. UC là gì? UC mô t ả ai s ử d ụng h ệ th ống nh ư th ế nào? Mô t ả tương tác gi ữa ng ười s ử d ụng và h ệ thống phần mềm (các thao tác để giải quyết một công việc cụ thể). UC là n ền t ảng c ủa phân tích h ệ th ống, tìm đầy đủ các UC s ẽ đảm b ảo h ệ th ống được xây dựng sẽ đáp ứng đầ y đủ các yêu cầu của người dùng. UC được sử dụng trong toàn bộ quá trình phân tích thiết kế: Mô t ả yêu c ầu ch ức n ăng c ủa h ệ th ống (th ỏa thu ận gi ữa khác hàng và ng ười phân - tích) Cung cấp cơ sở để kiểm tra, test hệ thống - 78
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp II.3.1.2. Tìm kiếm Actor Tác nhân (Actor) có th ể là ng ười s ử d ụng ho ặc các h ệ th ống bên ngoài có t ương tác v ới h ệ thống. Để xác định tác nhân, người ta thường đặt và trả lời các câu hỏi sau: Ai sẽ sử dụng chức năng chính của hệ thống? - Ai quản tr ị, bảo dưỡng hệ thống? - Hệ thống đang xây dựng tương tác với hệ thống khác nào? - Actor II.3.1.3. Tìm kiếm UC Việc tìm ki ếm UC không th ể thi ếu được s ự tham gia c ủa khách hàng, th ường là s ử d ụng phương pháp phỏng vấn. Người phân tích đặt một số câu hỏi để khách hàng trả lời Tác nhân yêu cầu hệ thống thực hiện chức năng nào? - Tác nhân cần đọc, tạo, xóa, sửa, lưu trữ các thông tin nào trong hệ thống? - II.3.2. UC Diagram Biểu đồ UC (Use Case Diagram) là bi ểu đồ chỉ ra s ự tương tác gi ữa actor và UC . Bi ểu đồ UC chính là ngôn ngữ chung giữa khách hàng, người phân tích, người quản lý và người phát triển hệ thống. Mỗi h ệ thống tùy theo độ phức tạp có th ể có 1 ho ặc vài UC. Với h ệ thống có nhiều biểu đồ: Biểu đồ UC mức chính chỉ ra gói hay nhóm UC - Các biểu đồ UC khác là tương tác giữa tác nhân và UC - Chú ý: Biểu đồ UC không mô tả tương tác giữa actor với actor (vì nằm ngoài hệ thống) - Không hình thành quan hệ trực tiếp giữa 2 UC, luồng thông tin giữa 2 UC - Mỗi UC phải được khởi động bởi tác nhân - 79
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp Conduct Bank Transactions Customer Bank Run Reports ATM Maintenance Maintain ATM Machine II.3.2.1. Tài liệu mô tả UC Biểu đồ UC cho cái nhìn toàn cảnh về hệ thống nhưng lại quá súc tích, để cụ thể hóa (khách hàng có th ể hi ểu được), ng ười ta ph ải l ập các tài li ệu mô t ả cho t ừng UC. Tài li ệu mô t ả của mỗi UC gồm có: Mô tả vắn tắt và các dòng sự kiện Thành ph ần Mô tả Mô tả vắn t ắt (brief UC làm gì? Ai sử dụng UC? Kết qu ả cuối cùng của UC? (một vài dòng) description) Dòng s ự ki ện là m ột chu ỗi các hành vi, mô t ả ng ười s ử d ụng làm gì, h ệ Dòng sự kiện (flow of events) thống làm gì. Mỗi UC gồm - Một dòng sự kiện chính (basic flow), là dòng đơn giản nh ất (khi dữ liệu, trạng thái... không có gì đặc bi ệt, các hành vi được thực hiện tuần tự, cho ra đúng kết qu ả mong muốn) - Các dòng s ự ki ện r ẽ nhánh (alternative flow): khi có nh ững d ữ liệu, tr ạng thái không bình th ường. H ệ th ống ph ải có nh ữ ng ứng xử thích hợp trong những trường hợp này II.3.3. Tổng kết Các bước phải làm Tìm kiếm tác nhân (actor) - Tìm kiếm UC - 80
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp Lập biểu đồ UC - Lập tài liệu mô tả cho từng UC - o Mô tả vắn tắt o Các luồng sự kiện (luồng sự kiến chính, luồng sự kiện r ẽ nhánh) II.4. Biểu đồ tương tác (Interaction diagram) Biểu đồ UC mô t ả khía c ạnh t ĩnh c ủa hệ thống, còn bi ểu đồ tương tác (Interaction diagram) chỉ ra khía cạnh động của hệ thống. Biểu đồ tương tác bao gồm các tác nhân, đối tượng, và thông điệp trao đổi gi ữa chúng . Bi ểu đồ t ương tác là c ụ th ể hóa c ủa các lu ồng s ự ki ện trong các tài liệu mô tả UC. Biểu đồ t ương tác xu ất hi ện trong c ả khung nhìn UC và khung nhìn thi ết k ế (khung nhìn logic trong Rose). Các bước thực hiện như sau Phân tích mô tả UC, tìm các đối tượng - Dựa vào luồng các sự kiện, xây dựng biểu đồ tương tác của khung nhìn UC - Xây dựng bi ểu đồ lớp - Chỉnh s ửa l ại bi ểu đồ t ương tác c ủa khung nhìn UC để có bi ểu đồ t ương tác c ủa - khung nhìn thiết kế (khung nhìn logic) Biểu đồ tương tác gồm có: Biểu đồ trình tự (Sequence diagram) - Biểu đồ cộng tác (Collaboration diagram) - II.4.1. Đối tượng là gì? Đối tượng là các th ực th ể v ật lý ho ặc các h ệ th ống ph ần m ềm, giao di ện... Đối tượng là t ập hợp các dữ liệu (property) và thao tác (operator). II.4.2. Tìm đối tượng Để tìm đối t ượng, kh ảo sát các danh t ừ trong lu ồng s ự ki ện (c ủa tài li ệu mô t ả UC). Tuy nhiên, không phải tất cả các danh từ đều là đối tượng, danh từ có thể là: Đối tượng - Mô tả trạng thái của đối tượng - Actor hoặc các hệ thống bên ngoài - 81
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp II.4.3. Biểu đồ trình tự (Sequence Diagram) Biểu đồ trình t ự là các giao ti ếp b ằng thông điệp gi ữa actor v ới đối tượng, đối tượng v ới đối tượng được s ắp x ếp theo trình t ự th ời gian. Mỗi biểu đồ trình t ự bi ểu diễn một luồng sự kiện của một UC. registration schedule available form form course John : Student 1: enter 2: validate id 3: enter current semester 4: create new schedule 5: display 6: get courses II.4.4. Biểu đồ cộng tác (Collaboration Diagram) Là góc nhìn khác c ủa biểu đồ trình tự. Trong khi biểu đồ trình tự có trật tự theo thời gian thì biểu đồ c ộng tác t ập trung nhi ều h ơn vào quan h ệ gi ữa các đối t ượng, th ể hi ệu t ổ ch ức và cấu trúc của các đối tượng gửi hay nhận thông điệp. 82
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp 2: validate id 1: enter id 3: enter current semester registration form 4: create new schedule 5: display John : Student available classes schedule form 6: get courses II.5. Class diagram II.5.1. Class là gì? Đối tượng tồn tại trong thế giới thực (máy móc, tổ chức,...). Lớp là mô t ả về thuộc tính, thao tác c ủa m ột ki ểu (m ột t ập) các đối t ượng. Nh ư v ậy, l ớp là trừu t ượng c ủa đối t ượng, đối tượng là hiện thực (instance) của lớp. Khái ni ệm l ớp trong Tin h ọc r ất g ần v ới khái ni ệm l ớp trong thuy ết ti ến hóa c ủa Darwin: Các l ớp t ập h ợp các loài có chung nhi ều đặc điểm, l ớp sau có th ể k ế th ừa các đặc tính c ủa lớp trước và có những đặc tính riêng của mình. II.5.2. Tìm kiếm class Lớp được tìm ki ếm đầu tiên trong bi ểu đồ t ương tác. Tìm các đối t ượng (trong bi ểu đồ tương tác) có chung các đặc điểm (thuộc tính, thao tác...), gộp chúng lại chúng ta có các lớp. Ngoài ra, có nh ững l ớp không th ể tìm được trong bi ểu đồ t ương tác, đó là các l ớp n ằm ngoài, ch ịu trách nhi ệm điều khi ển ho ạt động c ủa bi ểu đồ t ương tác này, ta g ọi đó là l ớp điều khiển (control class). Một số câu hỏi hữu ích có thể đặt ra để tìm lớp: Có thông tin nào cần lưu trữ hay phân tích? - Có hệ thống ngoài không? - Có thư viện, thành phần không? - 83
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp II.5.3. Phân loại class (stereotype) Mô tả Stereotype Lớp biên là l ớp nằm trên biên c ủ a hệ thống (form, report, giao di ện với các Boundary class (lớp biên) hệ thống khác...) Entity class (lớp thự c thể) Lớp thực thể lư u trữ thông tin mà nó sẽ được ghi vào b ộ nhớ ngoài. Control class (lớp điều khi ển) Lớp điều khiển là lớp có trách nhiệm điều phối ho ạt động củ a các lớp khác. II.5.4. Class Diagram Biểu đồ l ớp th ể hi ện các lớp và quan h ệ gi ữa chúng, ho ặc các gói các l ớp và quan h ệ gi ữa các gói này. Bi ểu đồ l ớp giúp ng ười phát tri ển quan sát và l ập k ế ho ạch c ấu trúc h ệ th ống trước khi lập trình. Nó đảm bảo hệ thống được thiết kế tốt ngay từ đầu. Trong bi ểu đồ l ớp, m ỗi l ớp được bi ểu di ễn b ằng m ột hình ch ữ nh ật v ới tên l ớp, các thu ộc tính (attribute) và các thao tác (operator): Thuộc tính (attribute) : Thu ộc tính là các thông tin c ủa l ớp (ví d ụ l ớp Công ty có - các thuộc tính: Tên, Địa chỉ, Số nhân viên...) Thao thác (operator) : Thao tác là các hành vi c ủa lớp. M ỗi thao tác g ồm có 3 ph ần - sau: Tên thao tác, tham số của thao tác và kiểu giá trị của thao tác. II.5.4.1. Quan hệ giữa các class (relationship) Trong h ệ thống, các l ớp không đứng riêng l ẻ mà làm vi ệc ph ối hợp v ới nhau. Quan h ệ giữa các lớp cho phép m ột l ớp bi ết v ề thuộc tính, thao tác và quan h ệ của lớp khác. Các quan h ệ được bi ểu di ễn trên bi ểu đồ l ớp. Gi ữa các l ớp có 4 ki ểu quan h ệ chính: kết h ợp (association), phụ thu ộc (dependencies) , tập h ợp (aggregation) và khái quát hóa (generalization). Quan h ệ kết h ợp (assiciation) Quan hệ kết hợp ch ỉ ra r ằng có m ột đường liên kết giữa 2 l ớp. Khi có quan h ệ kết hợp, mỗi lớp có th ể g ửi thông điệp đến l ớp khác trong bi ểu đồ t ương tác. K ết h ợp có th ể m ột chi ều hay hai chiều. Quan h ệ k ết h ợp có th ể đệ quy. K ết h ợp đệ quy ch ỉ ra r ằng m ột đối t ượng có quan h ệ v ới một đối tượng khác thuộc cùng một lớp. 84
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp Quan h ệ ph ụ thuộc (dependency) Quan hệ phụ thuộc cũng sử dụng để kết nối 2 lớp. Nhưng khác với quan hệ kết hợp, quan hệ phụ thu ộc ch ỉ có 1 chi ều. Quan h ệ ph ụ thuộc ch ỉ ra l ớp (A) ph ụ thuộc l ớp (B). Có ngh ĩa là các thao tác c ủa lớp (A) hiểu được ngữ nghĩa của lớp (B). Trong VB, khi thi ết kế không cần phải xây d ựng quan h ệ ph ụ thu ộc vì b ất c ứ l ớp (form, module, class module...) nào trong VB đều có thể hiểu các lớp khác. Quan hệ tụ hợp (aggregation) Tụ h ợp (aggregation) là hình th ức m ạnh c ủa quan h ệ k ết h ợp. Quan h ệ k ết h ợp ch ỉ ra r ằng một đối t ượng thu ộc l ớp này ch ứa đối t ượng thu ộc l ớp kia. Quan h ệ k ết h ợp cài đặt trong VB thực chất là việc khai báo một thuộc tính của một lớp là một đối tượng thuộc lớp khác. RegistrationForm ScheduleForm 1 1 Quan h ệ khái quát hoá (generalization) Khái quát hóa (hay tr ừu t ượng hóa) là ti ến trình nh ằm l ược b ỏ nh ững thu ộc tính, thao tác không th ực s ự c ần thi ết c ủa đối t ượng để có được cái nhìn t ổng quát h ơn. Khái ni ệm khái quát hóa g ắn liền v ới khái ni ệm kế th ừa (inherite) trong l ập trình h ướng đối tượng. N ếu l ớp (A) kế th ừa lớp (B) có ngh ĩa là lớp (A) là con c ủa lớp (B), l ớp (A) có đầ y đủ các thuộc tính, thao tác của lớp (B), đồng thời có những thuộc tính và thao tác riêng của mình. Trong UML, ta gọi (B) là khái quát hóa của (A). 85
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp GroundVehicle weight licenseNumber Truck Car tonnage II.5.4.2. Tính nhiều (multiplicity) của quan hệ Tính nhi ều c ủa quan h ệ gi ữa hai l ớp (A) và (B) là s ự bi ểu di ễn M ỘT đối t ượng thu ộc l ớp (A) có quan hệ với bao nhiêu đối tượng của lớp (B) trong cùng 1 thời điểm? Với mỗi quan hệ, phải xác định tính nhiều ở 2 đầu của đường quan hệ. Tính nhi ều Ý nghĩ a * Nhi ều 0 Không 1 Một 0..* Từ không đến nhiều 1..* Từ một đến nhiều 0..1 Không hay một 1..1 Chỉ một Teacher Person Course 1..* 1 Một giáo viên có thể dạy nhiều cua học, mỗi cua học chỉ có một giáo viên. Student Course 3..10 0..* Mỗi cua h ọc có t ừ 3 đến 10 sinh viên. M ột sinh viên có th ể tham gia nhi ều cua h ọc ho ặc chẳng tham gia cua học nào. 86
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp II.5.5. Cập nhật sequence diagram Biểu đồ tu ần t ự được xây d ựng ở b ước tr ước là bi ểu đồ tu ần t ự c ủa khung nhìn UC (khi chúng ta ch ưa có các l ớp). Trong khung nhìn thi ết k ế (khung nhìn logic), sau khi đã xác định các l ớp, các thu ộc tính và thao tác c ủa l ớp, chúng ta ph ải ti ến hành xây d ựng bi ểu đồ tuần tự của khung nhìn logic. Biểu đồ tuần tự này thực chất là s ự cập nh ật của biểu đồ tuần t ự của khung nhìn UC, nh ưng được cập nhật tên lớp, thao tác của lớp. Quá trình này n ếu k ết h ợp v ới công vi ệc lập trình có th ể tạo được khung ch ương trình đồng bộ với các biểu đồ UML. Việc lập trình theo khung này giúp người thiết kế có thể hình dung độ phức tạp c ủa dự án, kh ối l ượng công vi ệc c ần th ực hi ện, giúp phát tri ển d ự án m ột cách có kế hoạch. Rational Rose hỗ trợ tích hợp với Java, VC, VB theo cả 2 chiều: Từ mô hình UML phát sinh mã ngu ồn và t ừ mã ngu ồn chuy ển đổi thành mô hình UML để giúp xây d ựng ph ần m ềm một cách đồng bộ. II.6. Biểu đồ thành phần (Component diagram) Biểu đồ thành ph ần là bi ểu đồ mức ki ến trúc v ật lý (liên quan đến cài đặt), g ồm các modul vật lý (mã nguồn chương trình, các tệp ch ạy được - exe, dll...). Các dạng biểu đồ thành phần Thành ph ần mã ngu ồn: Có ý ngh ĩa vào th ời điểm d ịch chương trình, là các file mã - nguồn của chương trình (*.frm, *.frx, *.bas, *.cls) Thành ph ần nh ị phân : Được d ịch ra t ử các file mã ngu ồn (các file *.obj, *.lib, - *.dll...). Có ý nghĩa vào thời điểm liên kết hoặc thời điểm chạy chương trình Thành ph ần kh ả thi : là các t ệp ch ương trình th ực hi ện được (*.exe...), là k ết qu ả - của các thành phần nhị phân (liên kết tĩnh hay động). II.6.1. Tổng kết Các việc phải làm: Phân tích các bi ểu đồ t ương tác (tu ần t ự và c ộng tác), tìm ki ếm các đối t ượng trong - biểu đồ này Gộp các đối t ượng cùng lo ại thành các l ớp. B ổ sung các l ớp điều khi ển và l ớp biên - chưa có trong biểu đồ tương tác. Tìm các thuộc tính và thao tác của biểu đồ tương tác - Tìm quan hệ - Lập biểu đồ lớp - 87
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp Chỉnh s ửa l ại bi ểu đồ t ương tác c ủa khung nhìn UC thành bi ểu đồ t ương tác c ủa - khung nhìn thiết kế (khung nhìn logic) II.7. Ví dụ áp dụng II.7.1. Mô tả bài toán Phần mô t ả bài toán r ất quan tr ọng để b ạn có th ể có được m ột b ản thi ết k ế ph ần m ềm t ốt, hãy đặt mình ở v ị trí của khách hàng để yêu cầu ng ười thiết k ế, mô t ả càng chi ti ết càng t ốt. Sau đây là phần mô tả bài toán ví dụ: Xây d ựng ph ần m ềm nh ập s ơ đồ k ết cấu ph ẳng, nh ập t ải trọng, k ết xu ất dữ li ệu ra file S2K (SAP2000 v8.0). Các chức năng Tạo l ưới: ng ười dùng ch ọn các b ước theo chi ều d ọc (ví d ụ 3:6:6:3m), và theo chi ều - ngang (ví d ụ 3:3:3m), ch ương trình t ạo ra l ưới vuông góc theo các kho ảng chia đã chọn. Chương trình ở 1 trong 3 chế độ - o Chọn: Người dùng sử dụng chuột để chọn đối tượng o Vẽ nút: Người dùng vẽ các nút tại các mắt lưới o Vẽ thanh: Người dùng vẽ các thanh bằng cách nối 2 nút o Khi click trái chu ột vào các bi ểu t ượng trên toolbar thì chuy ển v ề các ch ế độ tương ứng. Khi click ph ải chu ột thì ch ương trình chuy ển ngay sang ch ế độ chọn. Vẽ nút trên các đỉnh l ưới: Ở ch ế độ v ẽ nút, m ỗi khi ng ười dùng di chuy ển chu ột, v ị - trí nút l ưới g ần con tr ỏ chuột nh ất được sáng lên (gi ống ch ế độ snap c ủa AutoCAD). Khi người dùng click trái chuột thì chương trình sẽ tạo ra nút tại vị trí đó. Vẽ thanh n ối các nút: Ở chế độ vẽ thanh, chương trình chia làm 2 chế độ nhỏ - o Chọn nút đầu: Khi ng ười dùng di chuy ển chu ột, nút g ần con tr ỏ chu ột nh ất được sáng lên. Khi click trái chuột thì chương trình đánh dấu nút tương ứng và chuyển sang ch ế độ Chọn nút cuối. o Chọn nút cu ối: Khi ng ười dùng di chuy ển chu ột, nút g ần con tr ỏ chu ột nh ất được sáng lên, m ột đường n ối gi ả định được vẽ gi ữa nút đầu và nút cu ối. Khi click trái chu ột, chương trình t ạo thêm 1 thanh n ối giữa 2 nút và l ại chuyển v ề chế độ Chọn nút đầu Chọn nút, thanh bằng chuột (click hoặc chọn theo window) - 88
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp o Chọn nút, thanh b ằng chuột: Khi ng ười dùng click chuột ở g ần nút ho ặc thanh (khoảng cách kho ảng 6 pixel), đánh dấu nút hoặc thanh đang được chọn o Chọn nút, thanh b ằng window: Khi ng ười dùng click vào 1 vùng tr ống trên màn hình, t ạo ra m ột hình ch ữ nh ật di chuy ển theo con chu ột. Click chu ột l ần nữa để xác định vùng chọn hình chữ nhật, tất cả các đối tượng nằm trong vùng chọn được đánh dấu là đang chọn. Xóa thanh, nút: Khi ng ười dùng b ấm phím Delete ho ặc click vào bi ểu t ượng trên - Toolbar, xóa t ất cả các nút và thanh đang được ch ọn. N ếu một nút b ị xóa, t ất c ả các thanh nối với nút đó cũng bị xóa theo. Nhập t ải t ập trung cho nút: Khi ng ười dùng ch ọn menu ho ặc click vào Toolbar, hi ển - thị hộp tho ại cho phép nhập t ải tập trung cho tất cả các nút đang được chọn. Nhập t ải phân bố đều cho thanh: Khi ng ười dùng chọn menu ho ặc click vào Toolbar, - hiển th ị h ộp tho ại cho phép nh ập t ải phân b ố đều cho t ất c ả các thanh đang được chọn. Lưu dữ liệu ra file S2K - II.7.2. Biểu đồ UseCase II.7.2.1. Tìm kiếm Actor Hệ thống chỉ có 1 Actor là người dùng chương trình. II.7.2.2. Tìm UseCase Dựa vào các ch ức n ăng được li ệt kê trong yêu c ầu ng ười dùng, có th ể phân chia các ch ức năng đó thành các UseCase sau Tạo lưới - Vẽ nút - Vẽ thanh - Chọn đối tượng - Xóa đối tượng - Nhập liên k ết - Nhập t ải tập trung - Nhập t ải phân bố đều - Lưu dữ liệu ra file S2K - 89
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp II.7.2.3. Biểu đồ UseCase II.7.2.4. Mô tả UseCase UseCase T ạo lưới Tạo lưới Name Brief Description Tạo lưới chia vuông góc theo các kho ảng cách ngang và d ọc do người dùng lự a chọn Preconditions Main Flow Actor Input System Response 0 Chọn chứ c năng T ạo mới Hiển th ị hộp tho ại (danh sách các kho ảng 1 cách theo phương x và y) 2 Thêm khoảng cách (phương x, y) 3 Bổ sung kho ảng cách theo phương x, y 4 Xóa khoảng cách (phương x, y) Xóa kho ảng cách t ại v ị trí được ch ọn 5 trong danh sách các kho ảng cách ph ương x, y 6 Nhấn OK để tạo lưới Tạo l ướ i vuông góc v ới các kho ảng các 7 theo ph ương x, y đã ch ọn. Đ óng h ộp thoại Alternative Flow 0 Nhấn OK để tạo lưới Nếu s ố kho ảng cách theo ph ương x (ho ặc 1 y) là 0, thông báo lỗi Post-conditions UseCase V ẽ nút 90
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp Vẽ nút Name Brief Description Vẽ nút trên mắt lưới Preconditions Đã tạo lưới. Main Flow Actor Input System Response 0 Chọn chứ c năng vẽ nút 1 Chuyển sang chế độ vẽ nút 2 Di chuyển con trỏ chuột Tìm m ắt l ưới g ần con tr ỏ chu ột nh ất, 3 đánh dấu mắt lưới đó 4 Click trái chuột Tạo nút tại vị trí m ắt lưới đang được đánh 5 dấu Click ph ải chu ột ho ặc nh ấn phím Alternative Flow 0 ESC hoặc chọn 1 chứ c năng khác Chuyển ch ương trình sang ch ế độ ch ọn đối tượ ng 1 Post-conditions UseCase V ẽ thanh Vẽ thanh Name Brief Description Vẽ thanh nối 2 nút Preconditions Có ít nhất 2 nút đã được vẽ Main Flow Actor Input System Response 0 Chọn chứ c năng vẽ thanh 1 Chuyển sang chế độ vẽ thanh – nút đầu 2 Di chuyển con trỏ chuột Tìm nút g ần con tr ỏ chu ột nh ất, đánh dấu 3 nút đó 4 Click trái chuột Ghi nh ận nút đang được đánh d ấu, 5 chuyể n sang chế độ vẽ thanh – nút cu ối 6 Di chuyển con trỏ chuột Tìm nút g ần con tr ỏ chu ột nh ất, đánh dấu 7 nút đó, vẽ đường kết nối giữ a 2 nút 8 Click trái chuột Tạo thanh n ối gi ữ a nút đầu và nút cu ối, 9 chuyể n sang chế độ vẽ thanh – nút đầu Click ph ải chu ột ho ặc nh ấn phím Alternative Flow 0 91
- Bộ môn Tin h ọc Xây dựng – ĐHXD Tài li ệu hướng dẫn thực tập tốt nghiệp ESC hoặc chọn 1 chứ c năng khác Chuyển ch ương trình sang ch ế độ ch ọn đối tượ ng Thông báo l ỗi, chuy ển sang ch ế độ v ẽ 1 Chọn nút cu ối trùng nút đầu thanh – nút đầu Post-conditions UseCase Ch ọn đối tượng Chọn đối tượng Name Brief Description Chọn đối tượng bằng chuột Preconditions Main Flow Actor Input System Response 0 Chọn chế độ chọn đối tượ ng Chuyển sang ch ế độ ch ọn đối t ượng – 1 bình thường 2 Di chuyển chuột Nếu đang ở ch ế động ch ọn đối t ượng – 3 cử a s ổ, v ẽ c ử a s ổ t ừ điểm đã l ưu đến v ị trí của con trỏ chuột 4 Click chuột trên màn hình chính Nếu con tr ỏ chu ột g ần nút ho ặc thanh, 5 đánh dấu đối tượng được chọn Nếu con tr ỏ chu ột không g ần đối t ượng 6 nào, l ưu l ại điểm v ừ a click, chuy ển sang chế độ chọn đối tượng – cử a sổ Nếu đang ở ch ế độ ch ọn đối t ượng – c ửa 7 sổ, đánh d ấu t ất c ả các đối n ằm trong cử a sổ Click ph ải chu ột ho ặc nh ấn phím Alternative Flow 0 ESC hoặc chọn 1 chứ c năng khác Chuyển ch ương trình sang ch ế độ ch ọn 1 đối tượ ng 2 Chọn nút cu ối trùng nút đầu Thông báo l ỗi, chuy ển sang ch ế độ v ẽ thanh – nút đầu Post-conditions UseCase Xóa đối tượng Xóa đối tượng Name Brief Description Xóa các đối tượng đang đánh dấu được chọn 92
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Hướng dẫn thực hành MS-Excel 2003
38 p | 13847 | 3317
-
Tài liệu Hướng dẫn thực hành lập trình cho thiết bị di động (Androi OS) - ĐH Công nghệ Đồng Nai
78 p | 271 | 58
-
Hướng dẫn luyện tập thực hành Adobe Dreamweaver CS5 - Chỉ dẫn cho người mới sử dụng: Phần 1
225 p | 256 | 56
-
Hướng dẫn luyện tập thực hành Adobe Dreamweaver CS5 - Chỉ dẫn cho người mới sử dụng: Phần 2
201 p | 170 | 49
-
Tài liệu Hướng dẫn thực hành Công nghệ lập trình tiên tiến - ĐH Công nghệ Đồng Nai
66 p | 202 | 49
-
Hướng dẫn thực hành: Lập trình hướng đối tượng (Java 1)
73 p | 192 | 38
-
Tài liệu hướng dẫn thực hành Thiết kế và lập trình web: Phần 1 - Trường ĐH Thủ Dầu Một
39 p | 48 | 24
-
Tài liệu hướng dẫn thực hành LAB MCSA 2008: Home Folder - User Profile
7 p | 141 | 23
-
Tài liệu hướng dẫn thực hành LAB MCSA 2008: NAT
7 p | 95 | 20
-
Tài liệu hướng dẫn học tập Sử dụng trình chiếu nâng cao: Phần 1 - Trường ĐH Thủ Dầu Một
77 p | 42 | 13
-
Tài liệu hướng dẫn thực hành CCNA: Bài 13 - Rip (Routing Information Protocol)
0 p | 117 | 12
-
Hướng dẫn thực hành tin học ứng dụng
48 p | 210 | 12
-
Tài liệu hướng dẫn học tập Sử dụng trình chiếu nâng cao: Phần 2 - Trường ĐH Thủ Dầu Một
58 p | 40 | 11
-
Tài liệu hướng dẫn học tập Xử lý văn bản nâng cao Microsoft office 2013: Phần 2 - Trường ĐH Thủ Dầu Một
57 p | 32 | 10
-
Tài liệu Hướng dẫn thực hành: Nhập môn lập trình - Nguyễn Hải Minh
8 p | 91 | 9
-
Tài liệu hướng dẫn học tập Xử lý văn bản nâng cao Microsoft office 2013: Phần 1 - Trường ĐH Thủ Dầu Một
106 p | 38 | 9
-
Tài liệu hướng dẫn thực hành Tin học đại cương - ĐH Bách Khoa Hà Nội
40 p | 38 | 8
-
tài liệu hướng dẫn sử dụng web elearning trường cao đẳng lương thực thực phẩm
17 p | 86 | 7
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn