Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 32 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
32
Dung lượng
489,64 KB
Nội dung
Môhìnhphântích – Phântíchyêu cầup y Môhình nghiệpvụ biểudiễncácchứcnăng phần mềm cần xây dựng dưới dạng các usephần mềm cần xây dựng dưới dạng các use- case Môhìnhphântích sẽ tìm kiếmcácđối tượng “sống” trong ngữ cảnh của phần mềm Đối tượng/lớp - quan hệ tượng sống trong ngữ cảnh của phần mềm Các đốitượng sẽ tương tác với nhau để tạo nên các chứcnăng mô tả bởiuse-case L đồ Cl hâ tí h diễ tả ấ tú ối Lược đồ Class phântích diễn tả cấu trúc, mối quan hệ giữacácđồitượng/lớp trong hệ thống Ch tâ đế hà h i thể à hiệ Chưa quan tâm đến hành vi cụ thể và nhiệm vụ chi tiếtcủa chúng trong ngữ cảnh củahệ thống Nêtắ ô hì h hâ tí h hải độ lậ Trường ĐạiHọc Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 6363 Nguyên tắc: môhìnhphântích phải độc lập với o/s, ngôn ngữ lập trình, công cụ phát triển Xây dựng môhìnhphân tíchy ự gp Môhìnhphântích đượcdiễn đạt trong UML bằng lược đồ lớp phântích (Class diagram)phân tích (Class diagram) Các công việcxâydựng lược đồ phântích bao gồm Tìm kiếm các đốitượng / lớp trong hệ thống Đối tượng / lớp thực thể Đối tượng / lớp thực thể Đốitượng / lớpbiên Đốitượng / lớp control Xác định các thuộc tính của đốitượng /lớpg p Xác định các tác vụ của đốitượng / lớp N hậndiện các lớptrừutượng qua mối quan hệ tổng quát hóa Xác lập các mối quan hệ giữa các lớp: ổ Tổng quát hoá (generalization) Liên kết (association) Bao gộp (aggregation) Biể diễ thà h l đồ lớ hâ tí h Trường ĐạiHọc Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 6464 Biểu diễn thành lược đồ lớpphân tích Nhập diện đối tượng / lớpập ệ ợ g/ p Dựavàođặctả củatừng use-case để tìm kiếmcácđối tượng Các đốitượng thường xuấthiện trong các danh từ hay nhóm danh từnhóm danh từ Mộtsố lưuý Không nên dùng đốitượng để biểudiễnmộtdữ liệu đơn(nênxemlà ốthuộc tính của đốitượng khác) Đốitượng/lớpphảithựcsự cầnthiếtchosự hoạt động củahệ thống Đốitượn g/lớp >< bảng cơ sở dữ liệug p g Đốitượng/lớp >< actor Trường ĐạiHọc Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 6565 Nhận diện và biểu diễn đối tượng / lớlớp Phân loại đốitượng/lớp ố ể ể ễ ế ế Đốitượng thựcthể (entity): biểudiễn các thông tin thiếtyếucủahệ thống, có thểđượclưu trong cơ sở dữ liệu Đốitượng biên (boundary): thựchiệnchứcnăng giao tiếpvới actor Đối t điề khiể (tl)điề khiể á đối t khá Đối tượng điều khiển (control): điều khiểncác đối tượng khác Trong UML, lớp đượcbiểudiễnbằng mộthìnhchữ nhậtgồm3phần: tên, các thuộc tính và các tác vụ Có thể áp dụng stereotype cho lớp: <<entity>>, <<boundary>>, <<control>> . Đối tượng cũng được biểu diễn bằng hình chữ nhật Đối tượng cũng được biểu diễn bằng hình chữ nhật, thông thường gồm2phần: tên đốitượng + tên lớp (đượcgạch chân), giá trị các thuộctính(trạng thái của đối tượng) Trường ĐạiHọc Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 6666 đối tượng) Biểu diễn lớp / đối tượngp/ ợ g HTMLObjectj # alignment: int + GetAlignment( ): int GetAlignment( ): int + toHTML( ): String HTMLDocument doc : HTMLDocument - title: String alignment = MIDDLE title = “A document” + GetTitle( ): String + toHTML( ): String Trường ĐạiHọc Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 6767 Đối tượng / lớp thực thểợ g/ p ự Biểudiễnchocácthựcthể xuấthiệnmộtcáchtự nhiên trong hệ thốnghệ thống Thông tin về các đốitượng thựcthể có thể phải đượclưutrữ lâu dài (database, file .) T UML đ á i Trong UML, đượcgán stereotype <<entity>> Dễ nhậndiệncácthuộc tính của chúng VíVí dụdụ:: Message ụụ • Đốivớihệ thống đăng ký môn họchệ tín chỉ qua WEB, nhậndiệncácđốitượng thực thể như: thông tin SV, thông tin GV, nhóm lớp học đăng ký nhóm sổ tay sinh viên # subject: String # sent: Date g <<entity>> lớp học, đăng ký nhóm, sổ tay sinh viên … • Đốivớihệ thống mail, nhậndiệncácđối tượng thựcthể như:hộpthư, thông điệp mail… + GetSubject( ): String + toStrin g( ): String # content: String Trường ĐạiHọc Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 6868 g( ) g Đối tượng / lớp biênợ g/ p Thựchiệnchứcnăng giao tiếpvớiactor Thường chứa các phần tử hoặc điều khiển giao diện người dùng Thường chứa các phần tử hoặc điều khiển giao diện người dùng (nút nhấn, hộp danh sách, tuỳ chọn, menu .) Trong UML, được gán stereotype <<boundary>> Khó hậ biết á th ộ tí h à tá t ô hì h hâ tí h Khó nhận biết các thuộc tính và tácvụ trong môhìnhphântích VíVí dụdụ:: Đối với hệ thống đăng ký môn học hệ MailView •Đối với hệ thống đăng ký môn học hệ tín chỉ qua WEB, nhậndiệncácđối tượng biên như: RegisterForm, StudentForm… <<boundary>> • Đốivớihệ thống mail, nhậndiệncác đốitượng biên như: MailView, MailCompose Trường ĐạiHọc Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 6969 MailCompose . Đối tượng / lớp điều khiểnợ g/ p Có nhiệmvụđiềukhiểncáclớp khác hoặc Command khác hoặc Những lớp không phảilàlớp thựcthể và lớpbiên Trong UML được gán Command <<control>> + Execute( ) + Reexecute( ) Trong UML, được gán stereotype <<control>> Lớpbiênthường có quan hệ liên kết hoặc phụ thuộc với các + Reexecute( ) + Unexecute( ) # Do( ) liên kết hoặc phụ thuộc với các lớp khác Ví dụ: Đối tượng biểu diễn một số lệnh PasteCommand <<control>> + Execute ( ) BgCommand <<control>> + Execute ( ) Đối tượng biểu diễn một số lệnh thông thường như cắt, dán, thay đổi thông số nhìn trong hiểnthịđồhoạ … () + Reexecute( ) + Unexecute( ) # Do( ) () + Reexecute( ) + Unexecute( ) # Do( ) Trường ĐạiHọc Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 7070 Nhận diện các thuộc tínhậ ệ ộ Dựavàođặctả củatừng use-case, tìm kiếm các danh từ h ặ hó dhtừ liê đế đối t đ éthoặcnhóm danh từ liên quan đến đối tượng đang xét Trả lờicâuhỏi: những thành phần nào cấu thành đốitượng đang xét ? Lưu ý: cùng một đốitượng trong các ngữ cảnh khác nhau chúng ta có thể tìm được các thuộc tính khác nhau Nên xác định (tuy nhiên không bắt buộc) trong mô hình Nên xác định (tuy nhiên không bắt buộc) trong môhìnhphântích Kiểucủathuộc tính: mộtsố kiểucơ bản Bậc của thuộc tính: số ít hoặc số nhiều Bậc của thuộc tính: số ít hoặc số nhiều Visibility củathuộc tính: mức độ cho phép truy xuấtthuộc tính từ bên ngoài UML: thuộc tính đượcmiêutả tường minh hoặc thông qua quan hệ với các lớp khác Trường ĐạiHọc Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 7171 quan hệ với các lớp khác Xác định mức độ truy cập của thuộc tí htính Mức độ truy cậpvàphạmvimàthuộc tính đócóthểđược th khả đế t tiếtham khảo đến trực tiếp UML định nghĩa3mức độ truy xuấtthuộc tính (visibility) public (+): có thể truy xuấtthuộc tính từ tấtcả các vị trí khác nhaup () y ộ ị protected (#): bảnthânlớp đang xét và các lớpconcủanócóthể truy xuấtthuộc tính private (-): chỉ có lớp đang xét có thể truy xuất thuộc tính private ( ): chỉ có lớp đang xét có thể truy xuất thuộc tính Thông thường nên đặtmức độ truy xuấtthuộc tính là private hoặc protected (cho các lớpcơ sở), không nên là publicpublic. Thuộc tính nên đượctruyxuất thông qua tác vụ get/set Trường ĐạiHọc Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 7272 [...]... Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn LecturerInfo - name: String - code: String - dateOfBirth: String - addr: String - degree - title: String - division - health - experience: Date + GetN ame( ): String + GetCode( ): String 73 Ví dụ về nhận diện các thuộc tính ụ ậ ệ ộ CourseOfferring - courseN ame: String - courseCode:... department - home: String - socialAid Trường Đại Học Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 91 Ví dụ về PACKAGE ụ Trường Đại Học Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 92 Tổng kết g Phântích hệ thống cho OOP theo UML chia làm 2 bước: Thu thập yêucầu bằng môhình nghiệp vụ Phântích và... cách tự nhiên trong mô hìnhphântíchmôhình thiết kế sẽ nghiên cứu kỹ trách nhiệm và hành vi của từng đối tượng Trường Đại Học Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 75 Nhận diện lớp cơ sở ậ ệ p Lớp cơ sở (base class) được nhận diện sau khi đã nhận diện các lớp cụ thể ể Sự xuất hiện của lớp cơ sở làm cho mô hìnhphântích có tính dùng lại... Phântích và xác định tính năng hệ thống bằng mô ị g ệ g g hình phântíchMôhìnhphântích nhận diện các đối tượng/lớp: thực thể biên điều khiển thể, biên, Nhận diện các thuộc tính và một số tác y vụ, tuy nhiên chưa làm rõ hành vi của chúng ( môhình thiết kế) UML hỗ trợ một số phần tử: lớp, đối tượng, tượng lược đồ lớp package lớp, Trường Đại Học Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004... Trường Đại Học Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn LecturerInfo - degree - title: String - division - health - experience: Date 79 Nhận diện các mối quan hệ ậ ệ q ệ Sau khi xác định các lớp/đối tương kể cả các đối tượng t ợng cơ sở các q an hệ giữa các lớp cần đ ợc xác sở, quan được ác lập Trong mô hìnhphântích các đối tượng/lớp... Trí – caotri@hcmut.edu.vn 88 Ví dụ một lược đồ lớp phântích ụ ộ ợ pp một lược đồ lớp của chương trình hiển thị bề mặt địa hình Isoquant entity isoquants * FieldMap - name: String - altitude: double + wrap( ): Region Point2D P i 2D - x: double - y: double * p points * MapCurve - ID: int - open: boolean Trường Đại Học Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N... courseCode: String - offering: int - session i - credit: int - prerequisite Catalog - acaYear: Date - semester Trường Đại Học Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn Hệ thống đăng ký môn học hệ tín chỉ qua WEB Nhận diện các thuộc tính cho các đối tượng: CourseOffering, Catalog 74 Nhận diện các tác vụ ậ ệ ụ Dựa vào đặc tả của từng use-case, tìm... ậ ệ ộ Hệ thống đăng ký môn học hệ tín chỉ qua WEB Nhận diện các thuộc tính cho các đối tượng: StudentInfo, StudentInfo LecturerInfo Chú ý các mức độ truy cập của các thuộc tính Các tác vụ phát sinh trong khi nhận diện các thuộc tính như Get/Set StudentInfo - name: String - code: Long - dateOfBirth: Date - addr: String - acaYear: D Y Date - department - home: String - socialAid + GetN ame(... Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 90 Ví dụ về một PACKAGE ụ ộ package UniPeople chứa các lớp liên quan đến thông tin con người UniPeople PeopleInfo # name: String S i # code: String # dateOfBirth: Date # addr: String add : St g StudentInfo LecturerInfo - degree - title: String - di i i division - health - experience: Date - acaYear: D Y Date -. .. kết Dựa vào môhình nhgiệp vụ xác định các mối quan hệ liên kết Trường Đại Học Bách Khoa - Khoa Công N ghệ Thông Tin Copyright 2004 – Th.S N guyễn Cao Trí – caotri@hcmut.edu.vn 81 Ví dụ - mối quan hệ liên kết ụ q ệ StudentInfo St d tI f students d has h 40 80 Registration - acaYear: Date - semester 0 1 reg lecturer LecturerInfo 0 1 Trường Đại Học Bách Khoa - Khoa Công . phát triển Xây dựng mô hình phân tíchy ự gp Mô hình phân tích đượcdiễn đạt trong UML bằng lược đồ lớp phân tích (Class diagram )phân tích (Class diagram). Mô hình phân tích – Phân tích yêu cầup y Mô hình nghiệpvụ biểudiễncácchứcnăng phần mềm cần xây dựng