Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 100 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
100
Dung lượng
887,48 KB
Nội dung
Phân tíchthiếtkếhệthốngUML Gv: Nguyễn Ngọc Tú Email: nntu@hoasen.edu.vn SSAD - UML NNTu Công Nghệ Phần Mềm - W2007 2 UML là gì? Unified Modeling Language (UML) là ngôn ngữ giúp đặc tả trực quan hóa xây dựng làm sưu liệu các artifact của một hệthốngphần mềm NNTu Công Nghệ Phần Mềm - W2007 3 Lịch sử của UML NNTu Công Nghệ Phần Mềm - W2007 4 Đầu vào củaUML Fusion Operation descriptions, Message numbering Meyer Before and after conditions Harel State charts Wirfs-Brock Responsibilities Embley Singleton classes, High-level view Odell Classification Shlaer - Mellor Object Lifecycles Gamma, et.al Frameworks, patterns, notes Booch Jacobson Rumbaugh NNTu Công Nghệ Phần Mềm - W2007 5 UML cung cấp các lược đồ chuẩn Deployment Diagrams Deployment Diagrams Use-Case Diagrams Use-Case Diagrams Use-Case Diagrams Use-Case Diagrams Use-Case Diagrams Use-Case Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Sequence Diagrams Sequence Diagrams State Diagrams State Diagrams State Diagrams State Diagrams State Diagrams State Diagrams Component Diagrams Component Diagrams Component Diagrams Component Diagrams Component Diagrams Component Diagrams Models State Diagrams State Diagrams State Diagrams State Diagrams Object Diagrams Object Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Collaboration Diagrams Collaboration Diagrams Use-Case Diagrams Use-Case Diagrams Use-Case Diagrams Use-Case Diagrams Activity Diagrams Activity Diagrams State Diagrams State Diagrams State Diagrams State Diagrams Class Diagrams Class Diagrams NNTu Công Nghệ Phần Mềm - W2007 6 Ví dụ : Use-Case Hệthống Đăng Ký học phần ở một Trường ĐH Professor Select Courses to Teach Student Course Catalog Register for Courses Maintain Student Information Maintain Professor Information Registrar Billing System Close Registration NNTu Công Nghệ Phần Mềm - W2007 7 Ví dụ lược đồ Class Hệthống Đăng Ký học phần ở một Trường ĐH MainForm // select maintain schedule() <<boundary>> MaintainScheduleForm + // open() + // select 4 primary and 2 alternate offerings() <<boundary>> 1 0 1 1 CourseCatalogSystem // get course offerings() <<boundary>> 1 0 * RegistrationController // add courses to schedule() // get course offerings () <<control>> 1 1 Schedule // create with offerings() <<entity>> 1 0 1 NNTu Công Nghệ Phần Mềm - W2007 8 Dùng biểu đồ trình tự hệ thống: HĐKM Thầy giáo đăng nhập mật khẩu y/c chọn học kỳ chọn một học kỳ y/c chọn việc IF ‘thêm’ được chọn IF ‘bỏ’ được chọn IF ‘xem’ được chọn IF ‘in’ được chọn IF ‘ra’ được chọn C-1:Thêm một lớp giảng C-2:Bỏ một lớp giảng C-3:Xem một lịch biểu C-4:In một lịch biểu Kết thúc Kiểm tra mật khẩu Ví dụ: lược đồ tuần tự NNTu Cụng Ngh Phn Mm - W2007 9 Cỏc Artifact then cht Actor A Use-Case 1 Use-Case 2 Actor B user : ằỗở mainWnd : MainWnd fileMgr : FileMgr repository : Repository document : Document gFile : GrpFile 9: sortByName ( ) L 1: Doc view request ( ) 2: fetchDoc( ) 5: readDoc ( ) 7: readFile ( ) 3: create ( ) 6: fillDocument ( ) 4: create ( ) 8: fillFile ( ) GrpFile read( ) open( ) create( ) fillFile( ) rep Repository name : char * = 0 readDoc( ) readFile( ) (from Persistence) FileMgr fetchDoc( ) sortByName( ) DocumentList add( ) delete( ) Document name : int docid : int numField : int get( ) open( ) close( ) read( ) sortFileList( ) create( ) fillDocument( ) fList 1 FileList add( ) delete( ) 1 File read( ) read() fill the code UI MFC RogueWave global DocumentApp Persistence Window95 ạđẳ-ỹáđ ơảúèắặđ.EXE Windows NT ạđẳ-ỹáđ Êứ.EXE Windows NT Windows95 Solaris ởẳ-ạử.EXE Alpha UNIX IBM Mainframe àƠèáÊèẵẳ-ạử Windows95 ạđẳ-ỹáđ ắệầá éằờ ẩổầ ầẽàồỵắợạì ìặđữáãẻầ Ôá ẵẵ ơỏ áàă - âààỡ 95 : ơảúèắặđ - âààỡ NT: ởẳ-ạử - éẵ áểẵ: ở ẳ-ạử ạì àƠèá ẳ-ạử, ởẵ ẳ-ạử - IBM áịẻầãạể: àƠèá ẳ-ạử, ởẵ ẳ-ạử Document FileManager GraphicFile File Repository DocumentList FileList user mainWnd fileMgr : FileMgr repositorydocument : Document gFile 1: Doc view request ( ) 2: fetchDoc( ) 3: create ( ) 4: create ( ) 5: readDoc ( ) 6: fillDocument ( ) 7: readFile ( ) 8: fillFile ( ) 9: sortByName ( ) ặÔạđẳ-Ă ởầẹ áõáƯ ằỗởĂ ọằầẹ. ẩ-ẽỹáđ éắợ ạđẳ-ầ ÔááƯ ầỉỗ ạđẳ- ẳĂ ẳÔằ ọằầẹ. ẩ-áộ ẳ éắợàộẻ ẳàộĂ ởầỉ èáĐãẻ Ôãằ ẵẹ ẩ-áộĂ áâỉ. Customer name addr withdraw() fetch() send() receive() <<entity>> Forward Engineering(Code Generation) and Reverse Engineering Executable System User Interface Definition Domain Expert Openning Writing Reading Closing add file [ numberOffile==MAX ] / flag OFF add file close file close file Use-Case 3 Source Code edit, compile, debug, link Use-Case Diagram Class Diagram Collaboration Diagram Sequence Diagram Component Diagram State Diagram Package Diagram Deployment Diagram Class NNTu Công Nghệ Phần Mềm - W2007 10 Các yêu cầu mới/thay đổi Hệthống mới/thay đổi Software Engineering Process Qui trình là gì? Một qui trình xác định Ai làm Gì, Khi nào và Như thế nào để đạt được mục đích cuối cùng. Trong Công nghệ phần mềm đích là xây dựng một sản phẩm phần mềmhoặc nâng cấp mộtsản phẩm có sẵn [...]... bên ngoài hệthống tương tác với hệthống Một Use-Case là một chuỗi các hành động mà hệthống thực hiện mang lại một kết quả quan sát được đối với một actor Công Nghệ Phần Mềm - W2007 13 Use-Case chứa luồng các sự kiện Luồng các sự kiện (Flow of events) của Use-Case rút tiền (Withdraw Money): 1 Use-Case bắt đầu khi khách hàng đưa thẻ tín dụng vào Hệthống đọc và thẩm tra thông tin của thẻ 2 Hệ thông... đọc và thẩm tra thông tin của thẻ 2 Hệthông nhắc nhập số PIN Hệthống kiểm tra số PIN 3 Hệthống hỏi tác vụ nào khách hàng muốn thực hiện Khách hàng chọn “Rút tiền.” 4 Hệthống hỏi số lượng Khách hàng nhập số lượng 5 Hệthống yêu cầu nhập kiểu tài khoản Khách hàng chọn checking hoặc savings 6 Hệthống liên lạc với ATM network NNTu Công Nghệ Phần Mềm - W2007 14 Lợi ích của Use-Case Use-Case ngắn gọn,... developers, … hiểu các yêu cầu chức năng của hệ thống Use-Case định hướng nhiều hoạt động trong qui trình: Tạo và thẩm định mô hình thiết kế (design model) Định nghĩa các test case và các thủ tục của test model Qui hoạch các vòng lặp Tạo sưu liệu cho người dùng Triển khai hệthống Use-Case giúp đồng bộ hóa nội dung các mô hình (model) khác nhau NNTu Công Nghệ Phần Mềm - W2007 15 RUP là qui trình Architecture-Centric... Prioritize Use Cases Công Nghệ Phần Mềm - W2007 27 Workflow phân tích và thiếtkế Architectural Analysis Architectural Describe Describe Design Concurrency Distribution Architect Use-Case Analysis Review theArchitecture Architecture Reviewer SubsystemDesign Use-Case Design Designer Review the Design Design Reviewer Class Design Database Designer NNTu Database Design Công Nghệ Phần Mềm - W2007 28 Workflow... Throughput NNTu Use-Case View Programmers Software management Deployment View Công Nghệ Phần Mềm - W2007 System Engineering System topology Delivery, installation communication 17 Lợi ích qui trình Architecture-Centric Giúp đạt và giữ vững sự kiểm soát tốt dự án, quản lý độ phức tạp của nó, và duy trì sự tích hợp của hệ thống Cung cấp khả năng tái sử dụng hiệu quả ở nhiều mức độ khác nhau Cung cấp nền... tin trực tuyến, chỉ dẫn chi tiết NNTu Công Nghệ Phần Mềm - W2007 11 RUP chuyển tải các kinh nghiệm RUP mô tả cách ứng dụng hiệu quả 6 kinh nghiệm quí dành cho quá trình phát triển phần mềm Phát triển theo vòng lặp Quản trị các yêu cầu Sử dụng kiến trúc Component Mô hình hóa trực quan Kiểm định chất lượng Kiểm soát các thay đổi trong hệthống NNTu Công Nghệ Phần Mềm - W2007 12 RUP định hướng bởi các... Milestone Công Nghệ Phần Mềm - W2007 Product Release 20 Các Iteration và Phase Inception Elaboration Construction Preliminary Architect Architect Devel Iteration Iteration Iteration Iteration Devel Iteration Devel Iteration Transition Transition Transition Iteration Iteration Minor Milestones: Releases Một iteration là một chuỗi các hoạt động với một kế hoạch lập sẵn và một tiêu chuẩn lượng giá, có kết quả... release (internal hay external) NNTu Công Nghệ Phần Mềm - W2007 21 Các Workflow chính Business Modeling Business Use-Case Model Business Object Model automated by Requirements Use-Case realized by Model Analysis & Design Design implemented by Model Implementation Implementation verified by Model Test Test Model NNTu Công Nghệ Phần Mềm - W2007 22 Mô hình tích hợp Trong một iteration, thực hiện tất cả... Công Nghệ Phần Mềm - W2007 23 Các ký hiệu dùng trong qui trình Một vai trò (role) do một người hay một nhóm đảm trách trong tổ chức Activity Một đơn vị công việc mà worker được y/c thực hiện Worker Use-Case Specifier responsible for Use-Case NNTu Describe a Use-Case Artifact Use-Case Package Công Nghệ Phần Mềm - W2007 Một phầnthông tin được sản sinh ra, hiệu chỉnh, hoặc dùng bởi một process 24 Phân. .. với một kiến trúc cụ thể NNTu Công Nghệ Phần Mềm - W2007 18 Các Phase trong chu kỳ sống Inception Elaboration Construction Transition time RUP có 4 phase: Inception - Định nghĩa phạm vi của dự án Elaboration - Lập kế hoạch dự án, mô tả các đặc tính, định ranh giới kiến trúc Construction – Xây dựng sản phẩm Transition - Chuyển giao sản phẩm cho người dùng NNTu Công Nghệ Phần Mềm - W2007 19 Các mốc chính . Phân tích thiết kế hệ thống UML Gv: Nguyễn Ngọc Tú Email: nntu@hoasen.edu.vn SSAD - UML NNTu Công Nghệ Phần Mềm - W2007 2 UML là gì? Unified. đưa thẻ tín dụng vào. Hệ thống đọc và thẩm tra thông tin của thẻ. 2. Hệ thông nhắc nhập số PIN. Hệ thống kiểm tra số PIN. 3. Hệ thống hỏi tác vụ nào khách